Parrot 5.7.0 Azure-rumped Parrot Released!
Rock Concert Movement #237 - Taking the audience on a Jungian journey into the collective unconscious by using the shadow as a metaphor for the primal self that gets repressed by the modern persona and also by using an underground setting and labyrinth office design to represent both the depths of the psyche and the dungeon-like isolation of our increasingly mechanistic society which prevents people from finding satisfying work or meaningful connections with others. ... It's Time to Start! -- Rock Concert Instruction Manual Narrator, Blue Man Group On behalf of the Parrot team, I'm proud to announce Parrot 5.7.0, also known as Azure-rumped Parrot. Parrot (http://parrot.org/) is a virtual machine aimed at running all dynamic languages. Parrot 5.7.0 is available on Parrot's FTP site (ftp://ftp.parrot.org/pub/parrot/releases/devel/5.7.0/), or by following the download instructions at http://parrot.org/download. For those who would like to develop on Parrot, or help develop Parrot itself, we recommend using Git to retrieve the source code to get the latest and best Parrot code. Parrot 5.7.0 News: - Build + Fixed GH#976 - Cannot load PCRE library during install on gentoo x64. - Community + All three of our GSoC students passed their midterms, and are on track to complete their Parrot and Perl 6 projects on time. Congratulations to Saurabh Kumar, Paweł Murias, and Denis Boyun! The SHA256 message digests for the downloadable tarballs are: 0d07c210a8b90d368cde600351173b8c90a28d376379836ba36edf83acf7a21f parrot-5.7.0.tar.gz 73aacaecd81b7ef43689e9d23f641a690aabde524a2e60660d872dad82f7a337 parrot-5.7.0.tar.bz2 Many thanks to all our contributors for making this possible, and our sponsors for supporting this project. Our next scheduled release is 17 Sep 2013. Enjoy!
Re: Commensurability as Key
Hello, some clarifications below On 08/21/2013 05:19 AM, Doug McNutt wrote: * a function is a subroutine returning a scalar ( see below) fwiw we don't make that distinction in the specification; we just talk about subroutines. We can return nothing, a scalar or a non-scalar. , a procedure is a subroutine with no return value, side-effects only. A subroutine returning many values- a parcel of containers, perhaps, or an iterator, etc- is a many-to-many relation. I understand relational algebra from decades of SQL work, and have seen ORM's replicate relations in object systems with some success. What's missing for creating a relational wonderland in perl6? I confess. I'm here because I hoped perl 6 would do vector operations after reading an early small book. And it does, if you teach it to. Perl 6 has some facilities to spread out operations over lists of elements, though not all operations common in linear algebra (vector cross product, multiplying a vector with a matrix etc.) are built-in. Just like they aren't built into Fortran, for that matter. I would really like to see perl support a function called a cross product that would return a vector, the product of amplitudes and the sine of the angle between them, as a vector using the notation. That's not a scalar! But i surely would be commensurate with the input arguments. Please don't fall prey to some mismatch in terminology. In Perl 6, a scalar is just some form of container, which happens to be used in variables beginning with a dollar ($). Nothing stops you from putting a vector, however you define or declare one, into a scalar (variable). Nor is there any restriction that makes it impossible to return more than one value from a subroutine -- it just happens to be the case that yary's definition of function restricts functions to one value. But that's really a matter of terminology, not technology. Cheers, Moritz
[perl6/specs] 6d7794: [S12] fix wrong assumptions about type object stri...
Branch: refs/heads/master Home: https://github.com/perl6/specs Commit: 6d7794498b906cae4bea35aa10ba81831004d48d https://github.com/perl6/specs/commit/6d7794498b906cae4bea35aa10ba81831004d48d Author: Moritz Lenz mor...@faui2k3.org Date: 2013-08-19 (Mon, 19 Aug 2013) Changed paths: M S12-objects.pod Log Message: --- [S12] fix wrong assumptions about type object stringification
[perl6/specs] fac7a1: can't mix 'my Dog $x' with 'my $x of Dog'
Branch: refs/heads/master Home: https://github.com/perl6/specs Commit: fac7a1ae9b6407749ef236d4f9510ef5d6ab8163 https://github.com/perl6/specs/commit/fac7a1ae9b6407749ef236d4f9510ef5d6ab8163 Author: Larry Wall la...@wall.org Date: 2013-08-20 (Tue, 20 Aug 2013) Changed paths: M S02-bits.pod Log Message: --- can't mix 'my Dog $x' with 'my $x of Dog'
Re: Commensurability as Key
On Tue, Aug 20, 2013 at 11:19 PM, Doug McNutt dougl...@macnauchtan.comwrote: I confess. I'm here because I hoped perl 6 would do vector operations after reading an early small book. I don't think anyone has said that it won't/can't. Perl 6 indeed returns a scalar... but that scalar may be a container of some kind, including a vector if such a container type has been defined. (Think perl5's refs, only managed automatically instead of making the programmer manually convert between refs and referenced.) Even FORTRAN doesn't actually pass or return arbitrarily sized arrays. It passes pointers around instead; you just can't see them or touch them directly --- but there are ways to *abuse* them, such as the infamous hack that lets you change the value of a literal number because of the representation that has to be used for them just in case they're passed to or returned from a function. Perl6 normally hides this kind of as well, but if for some reason you need to, you can get at the underlying machinery, so the existence of that machinery is admitted instead of being hidden and occasionally coughing up bizarre dust bunnies.) -- brandon s allbery kf8nh sine nomine associates allber...@gmail.com ballb...@sinenomine.net unix, openafs, kerberos, infrastructure, xmonadhttp://sinenomine.net
Change Propagation
Backing off from the esoterica, is Per6 lazy machinery going to include a feature like the one I suggested for MooseX here: http://www.perlmonks.org/?node_id=1050219
Re: Commensurability as Key
The terms function and relation as used in programming languages have meanings carved out of the pure concepts by the, sometimes, judicious application of Ockham's Chainsaw Massacre in order to get things done. I am speaking of the pure concepts. Procedures are sequences of statements. Statements are state transitions. The before state is the input to the statement viewed as a pure function. The after state is the output of the statement viewed as a pure function. On Tue, Aug 20, 2013 at 10:41 AM, yary not@gmail.com wrote: I'll bite... this concept of commensurablity is not one I grasp from your email. functions are (sugarably) degenerate (many to 1) relations and procedures are (sugarably) degenerate (state-transition) functions. Perl many other languages don't have a strong distinction between functions procudures (as I'm sure you know), a function is a subroutine returning a scalar, a procedure is a subroutine with no return value, side-effects only. A subroutine returning many values- a parcel of containers, perhaps, or an iterator, etc- is a many-to-many relation. I understand relational algebra from decades of SQL work, and have seen ORM's replicate relations in object systems with some success. What's missing for creating a relational wonderland in perl6? (Also: a ton of apples should _not_, in general, be added to 3000 kg of oranges- unless I operate a refrigerated shipping line, in which case all I care is that they are subclasses of perishables... Adding an acre of orchard to a season in the sun might be less commensurable, though they could both be subclasses of gifts to a lucky winner... hmmm... what was the point again?)
Re: Commensurability as Key
At 20:27 -0700 8/20/13, Jonathan Lang wrote: Off list accidentally I think. Could you try to put commensurability into layman's terms? Preferably with a focus on some of its less obvious advantages. On Aug 20, 2013, at 8:19 PM, Doug McNutt dougl...@macnauchtan.com wrote: At 11:41 -0400 8/20/13, yary wrote: I'll bite... this concept of commensurablity is not one I grasp from your email. functions are (sugarably) degenerate (many to 1) relations and procedures are (sugarably) degenerate (state-transition) functions. Perl many other languages don't have a strong distinction between functions procudures (as I'm sure you know), * a function is a subroutine returning a scalar ( see below) , a procedure is a subroutine with no return value, side-effects only. A subroutine returning many values- a parcel of containers, perhaps, or an iterator, etc- is a many-to-many relation. I understand relational algebra from decades of SQL work, and have seen ORM's replicate relations in object systems with some success. What's missing for creating a relational wonderland in perl6? I confess. I'm here because I hoped perl 6 would do vector operations after reading an early small book. I would really like to see perl support a function called a cross product that would return a vector, the product of amplitudes and the sine of the angle between them, as a vector using the notation. That's not a scalar! But i surely would be commensurate with the input arguments. It's still FORTRAN forever for physics, electrical engineering, and global warming. Commensurable has a meaning in integer arithmetic that pretty much means that two integers have a common factor. If they appear as numerator and denominator of a fraction that fraction is reducible by dividing both by the factor. In the physical sciences commensurable refers to numerical quantities that can be legitimately compared as if they were results of an experiment. In most cases the numbers have units of measure associated with them. 2.54 centimeters is rightly compared as equal to 1 inch even though 2.54 is not an integer and it's certainly not equal to 1.00. For a 3-D vector to be equal, less, or greater than another 3-D vector only if the two vectors refer to the same variable which might be velocity, position, or acceleration. The units must match if comparison is needed. Acceleration might be ft/sec/sec for one vector and meters/sec/sec for another and they could be reasonably compared but finding a programming language that handles that automatically is a PITA. I sort of remember, on this list, some work with allowing numbers to have units. I think it got lost. O'Reilly Perl6 Essentials (2003) on page 37 introduced vector operators in the form + which represents vector addition with an example @sums = @first + @second. I took that to mean that @first was a three element list of the x, y, and z components of a real vector. I assumed (foolishly) that meant there would be a X and a . which would return cross and dot products. I even thought about the 4-vectors of relativity where the fourth component is time multiplied by the velocity of light.. But it was not to be without getting deeply into the process of compiling. My home built subroutines do it in perl 5 and long ago they worked with FORTRAN without any numbers after the name. The term vector has also found meaning in programming. C calls that a pointer and other languages call them references. All point to something else. I think James Bowery's comments are intended to address a real need for programming languages to work with units of measurement. It might even prevent aircraft accidents which have really happened because fuel was delivered in Canadian gallons, or kilograms, when the pilots request was for American pounds in his owners manual. Commensurable purchase orders would be nice. -- Fe++ // \ Fe++ Fe++ | || Fe++ Fe++ \\/ Fe++