perl6 compiler

2010-03-16 Thread dell

Hello,

I had just began looking at the perl6 raduko compiler and 
have a question. Is perl6 actually compiled then ran similar to java or 
is the script ran and then compiled at run time?



-Wendell


Parrot 2.0 Released!

2010-03-16 Thread Christoph Otto
"I can't understand why people are frightened of new ideas. I'm frightened of 
the old ones.”

 - John Cage


On behalf of the Parrot team, I'm proud to announce Parrot 2.2.0
"Like Clockwork." Parrot (http://parrot.org/) is a virtual machine aimed
at running all dynamic languages.

Parrot 2.2.0 is available on Parrot's FTP site, or follow 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 
Subversion on the source code repository to get the latest and best Parrot code.


Parrot 2.2.0 News:
- Core changes
  + Most internal allocations now use the GC
  + RNG non-randomness fixes
  + Elimination of much dead code
- API changes
  + PMCs can now be initialized from an int
  + Many legacy ops are removed
- Platforms
  + Sun cc and Intel icc support have been restored
  + Compiler invocation no longer goes through a Perl script
- Tools
  + NCI thunks are now generated by self-hosted PIR code


Many thanks to all our contributors for making this possible, and our sponsors
for supporting this project.  Our next scheduled release is 20 April 2010.

Enjoy!


Re: perl6 compiler

2010-03-16 Thread Bruce Gray


On Mar 14, 2010, at 11:09 AM, dell wrote:


Is perl6 actually compiled then ran similar to java
or is the script ran and then compiled at run time?


It supports either, but defaults to single-step compile-run (like Perl  
5).


I think that a transparent cache is envisioned for the future,
so that a compiled version is silently saved during the first compile- 
run,
and future runs check the timestamps of the source and compiled  
versions,

skipping the compile if the source has not been updated.

--
Hope this helps,
Bruce Gray



Re: perl6 compiler

2010-03-16 Thread Matthew Walton
Rakudo in its normal operation will compile the program, then run it
immediately. You can, however, get it to save the compiled code for
later use i fyou wish.

On Sun, Mar 14, 2010 at 4:09 PM, dell  wrote:
> Hello,
>
>            I had just began looking at the perl6 raduko compiler and have a
> question. Is perl6 actually compiled then ran similar to java or is the
> script ran and then compiled at run time?
>
>
> -Wendell
>


Re: numerics, roles, and naming

2010-03-16 Thread Martin D Kealey
On Sun, 14 Mar 2010, Jon Lang wrote:
> Ruud H.G. van Tol wrote:
> > Did you consider "discrete"?
>
> I think that "Discrete" could work quite well as the role that
> encapsulates the ways in which Integer and Gauss are alike.  It may
> even be genralizable beyond that, although there might be some discord
> between theory and practice.

Discrete sounds good to me.

Carl Friedrich Gauß was a very significant figure in the development of
number theory and many other areas of mathematics; to use his name to label
one of his a relatively minor developments doesn't really do him justice.
Not that I have a better label in mind though.

> (In theory, Boolean is every bit as discrete as Integer is; but in
> practice, it has no use for most if not all of the methods in Integer that
> pertain to discreteness (factors, remainders, primes, etc.)

George Boole also worked in several areas of mathematics. One of those was
what he termed "algebra of logic", hence "Boolean algebra" as mathematicians
know it now.

But what we (programmers) call "Boolean", although in line with his original
concept, is a pale shadow of where Boolean Algebra has developed since. In
particular there are things call power sets, and a field using set
intersection and union over those has the same algebraic properties as the
original "algebra of logic", but not with just two "true" and "false"
values.

So mathematically a "Boolean" value doesn't necessarily behave the same way
as a bit, rather it behaves like a structured collection of bits. Treating
an integer value as a vector of bits is certainly one such structure.

Things like primes over Z(2) are not very interesting, but a field or ring
over Z(2)^n does have interesting behaviour that depends on n.

So I'm in favour of a "Boolean" role including things such as a vector of
bits.

I suggest "Predicate" as the name of the role which implements a single
true-or-false value (as distinct from a bit, which implements a 0-or-1
value).

-Martin


Re: numerics, roles, and naming

2010-03-16 Thread Martin D Kealey
On Mon, 15 Mar 2010, Mark J. Reed wrote:
> > Anything that can be made into a list is discrete.
>
> Not quite, since you can create lists whose members belong to
> continuous sets, e.g. real numbers.   Anything that naturally forms a
> list, maybe.

A discrete non-finite set is isomorphic to the set of integers.

This implies that you can pick an ordering, although perhaps not one that is
computational useful. E.g. rational numbers can be mapped onto integers by
laying them out in a 2D array, much like Gauß's complex integers, and then
walking diagonally in one quadrant. If you have more than one quadrant, take
them in turns. Extends to 3D and higher in a logic fashion.

But totally useless as a "greater than/equal to/less than" comparison test.

-Martin


Re: numerics, roles, and naming

2010-03-16 Thread Doug McNutt
At 10:25 +1300 3/17/10, Martin D Kealey wrote:
>On Mon, 15 Mar 2010, Mark J. Reed wrote:
>> > Anything that can be made into a list is discrete.
>>
>> Not quite, since you can create lists whose members belong to
>> continuous sets, e.g. real numbers.   Anything that naturally forms a
>> list, maybe.
>
>A discrete non-finite set is isomorphic to the set of integers.
>
>This implies that you can pick an ordering, although perhaps not one that is
>computational useful. E.g. rational numbers can be mapped onto integers by
>laying them out in a 2D array, much like Gauß's complex integers, and then
>walking diagonally in one quadrant. If you have more than one quadrant, take
>them in turns. Extends to 3D and higher in a logic fashion.
>
aleph 0.

In the world of real (pun intended) computers there is no continuous set of 
real numbers. Microsoft Excel users are regularly reminded of that when they 
report bugs that are nothing more than the impossibility of representing 0.1 
(10) as an IEEE float.

Perhaps everything is discrete in the set of things that perl is expected to 
deal with.

--
--> If you are presented a number as a percentage, and you do not clearly 
understand the numerator and the denominator involved, you are surely being 
lied to. <--


Re: numerics, roles, and naming

2010-03-16 Thread Darren Duncan

Martin D Kealey wrote:

George Boole also worked in several areas of mathematics. One of those was
what he termed "algebra of logic", hence "Boolean algebra" as mathematicians
know it now.

But what we (programmers) call "Boolean", although in line with his original
concept, is a pale shadow of where Boolean Algebra has developed since. In
particular there are things call power sets, and a field using set
intersection and union over those has the same algebraic properties as the
original "algebra of logic", but not with just two "true" and "false"
values.

So mathematically a "Boolean" value doesn't necessarily behave the same way
as a bit, rather it behaves like a structured collection of bits. Treating
an integer value as a vector of bits is certainly one such structure.

Things like primes over Z(2) are not very interesting, but a field or ring
over Z(2)^n does have interesting behaviour that depends on n.

So I'm in favour of a "Boolean" role including things such as a vector of
bits.

I suggest "Predicate" as the name of the role which implements a single
true-or-false value (as distinct from a bit, which implements a 0-or-1
value).


What you're talking about now reminds me of the relational model of data, which 
may be (I'm not sure) derived from that "algebra of logic" you mention (it is at 
least based on predicate logic and set theory), where a relation value's heading 
represents a predicate and the relation's body represents a set of true 
propositions that can be formed from that predicate.  So it may be worth 
considering, when deciding on Boolean-related role names that are meant be as 
feature-rich as you say, as to whether any choices would be appropriate for a 
relation type to compose.  Of course, we also come back to the question as to 
whether what boolean algebra has evolved into is something that would be fitting 
in the Perl core or be best left to modules. -- Darren Duncan