On behalf of the Rakudo development team, I'm pleased to announce the May 2009 development release of Rakudo Perl #17 "Stockholm". Rakudo is an implementation of Perl 6 on the Parrot Virtual Machine [1]. The tarball for the May 2009 release is available from http://github.com/rakudo/rakudo/downloads .
Due to the continued rapid pace of Rakudo development and the frequent addition of new Perl 6 features and bugfixes, we continue to recommend that people wanting to use or work with Rakudo obtain the latest source directly from the main repository at github. More details are available at http://rakudo.org/how-to-get-rakudo .
Rakudo Perl follows a monthly release cycle, with each release code named after a Perl Mongers group. This release is named "Stockholm"; Stockholm Perl Mongers will be holding a Perl 6 hackathon on May 29 [3]. Perl 6 developer Carl Mäsak is a member of Stockholm Perl Mongers and a main author of November [4], Druid [5], proto [6], and other Perl 6-based packages. Carl also contributes patches to Rakudo, and has been stress-testing Rakudo over the past year, submitting nearly 400 bug reports.
In this release of Rakudo Perl, we've made the following major changes and improvements:
The development team thanks all of our contributors and sponsors for making Rakudo Perl possible. If you would like to contribute, see http://rakudo.org/how-to-help , ask on the perl6-compiler@perl.org mailing list, or ask on IRC #perl6 on freenode.
The next release of Rakudo (#18) is scheduled for June 18, 2009. A list of the other planned release dates and codenames for 2009 is available in the "docs/release_guide.pod" file. In general, Rakudo development releases are scheduled to occur two days after each Parrot monthly release. Parrot releases the third Tuesday of each month.
Have fun!
References:
[1] Parrot, http://parrot.org/
[2] Stockholm.pm, http://sthlm.pm.org/
[3] Stockholm Perl 6 hackathon, http://vic20.blipp.com/pipermail/kameler/2009-May/000318.html
[4] November wiki engine, http://github.com/viklund/november/
[5] Druid, http://github.com/masak/druid/
[6] Proto, http://github.com/masak/proto/
range by step doesn't work?
the 'status' page says that ranges work but i see this:
$ ./perl6 t/spec/S03-operators/range-by.t
Statement not terminated properly at line 8, near ":by(-1)), "
in Main (src/gen_setting.pm:0)
$
same error in the interactive command line:
> for 1..2:by(2) { say $^x }
Statement not terminated properly at line 1, near ":by(2) { s"
in Main (src/gen_setting.pm:0)
>
am i missing something?
Nice
Compilation worked fine ( 10 min on my old computer, faster than the Oslo release ), debian lenny 2.6.26-2.
Safe from speed, I'm having a lot of fun with rakudo :)
Hope P6 will get the "buzz" it deserves ...
Meanwhile, keep on good work !
Best Regards.
able to build on osx 10.4
i was able to build rakudo and parrot on osx 10.4 by following the simple instructions on rakudo.org page. however, the build took a long time, more than an hour and ate up almost all available physical memory (1Gb) causing the system to swap and other apps unresponsive. i had to close all apps to give most of the ram to cc1 during the build.
it's very encouraging to see nice progress on both rakudo and parrot after such a long wait! hope that the projects will gain more interests as they are getting more mature. thanks for bringing perl6 and parrot closer to reality!
Still cannot compile on OS X, any idea so I can help debug this?
Would like to get involved in Perl 6 / Parrot, but not being able to compile it is a pretty big hurdle to get past for your first project (I've tried twice and failed so far).. Any pointers are appreciated..
/code/rakudo/parrot/parrot -o perl6_s1.pbc perl6.pir
src/string/api.c:762: failed assertion 'encoding'
Backtrace - Obtained 14 stack frames (max trace depth is 32).
Parrot_do_check_events
Parrot_confess
Parrot_str_new_init
Parrot_str_new_constant
Parrot_lib_perl6_group_load
Parrot_init_lib
Parrot_init_lib
Parrot_load_lib
Parrot_Undef_ro_get_vtable
yyparse
imcc_initialize
imcc_run
start
start
make: *** [perl6_s1.pbc] Abort trap
I ran this under "gdb" (Thanks skids!) and ran "bt"
(gdb) bt
0 0x95981e42 in __kill ()
1 0x95981e34 in kill$UNIX2003 ()
2 0x959f423a in raise ()
3 0x95a00679 in abort ()
4 0x009724ec in Parrot_confess (cond=0xbea654 "encoding", file=0xbe1812 "src/string/api.c", line=762) at src/exceptions.c:590
5 0x00901b4b in Parrot_str_new_init (interp=0x801790, buffer=0x734acc "MutableVAR", len=10, encoding=0x0, charset=0x0, flags=12288) at src/string/api.c:762
6 0x00901e71 in Parrot_str_new_constant (interp=0x801790, buffer=0x734acc "MutableVAR") at src/string/api.c:680
7 0x00722d98 in Parrot_lib_perl6_group_load (interp=0x801790) at perl6_group.c:52
8 0x003ff813 in Parrot_init_lib (interp=0x801790, load_func=0x722d60 <Parrot_lib_perl6_group_load>, init_func=0) at src/dynext.c:386
9 0x003ff9e3 in run_init_lib (interp=0x801790, handle=0x818b30, lib_name=0x289228, wo_ext=0x289228) at src/dynext.c:452
10 0x00400119 in Parrot_load_lib (interp=0x801790, lib=0x263dd0, initializer_unused=0x0) at src/dynext.c:656
11 0x005dafd7 in do_loadlib (interp=0x801790, lib=0x818940 "'perl6_group'") at imcc.y:1021
12 0x005dc52a in yyparse (yyscanner=0x8181b0, interp=0x801790) at imcc.y:1159
13 0x005e9d75 in compile_to_bytecode (interp=0x801790, sourcefile=0xbffffa47 "perl6.pir", output_file=0xbffffa3a "perl6_s1.pbc") at compilers/imcc/main.c:973
14 0x005ea0dc in imcc_run (interp=0x801790, sourcefile=0xbffffa47 "perl6.pir", argc=1, argv=0xbffff994) at compilers/imcc/main.c:1072
15 0x000025f9 in main (argc=1, argv=0xbffff994) at src/main.c:61
skids advised me to find out Parrot's encoding.. I typed the below:
(gdb) print Parrot_fixed_8_encoding_ptr
$1 = (ENCODING *) 0x801d60
compile_to_bytecode
1 0x95981e34 in kill$UNIX2003 ()
2 0x959f423a in raise ()
3 0x95a00679 in abort ()
4 0x009724ec in Parrot_confess (cond=0xbea654 "encoding", file=0xbe1812 "src/string/api.c", line=762) at src/exceptions.c:590
5 0x00901b4b in Parrot_str_new_init (interp=0x801790, buffer=0x734acc "MutableVAR", len=10, encoding=0x0, charset=0x0, flags=12288) at src/string/api.c:762
6 0x00901e71 in Parrot_str_new_constant (interp=0x801790, buffer=0x734acc "MutableVAR") at src/string/api.c:680
7 0x00722d98 in Parrot_lib_perl6_group_load (interp=0x801790) at perl6_group.c:52
8 0x003ff813 in Parrot_init_lib (interp=0x801790, load_func=0x722d60 <Parrot_lib_perl6_group_load>, init_func=0) at src/dynext.c:386
9 0x003ff9e3 in run_init_lib (interp=0x801790, handle=0x818b30, lib_name=0x289228, wo_ext=0x289228) at src/dynext.c:452
10 0x00400119 in Parrot_load_lib (interp=0x801790, lib=0x263dd0, initializer_unused=0x0) at src/dynext.c:656
11 0x005dafd7 in do_loadlib (interp=0x801790, lib=0x818940 "'perl6_group'") at imcc.y:1021
12 0x005dc52a in yyparse (yyscanner=0x8181b0, interp=0x801790) at imcc.y:1159
13 0x005e9d75 in compile_to_bytecode (interp=0x801790, sourcefile=0xbffffa47 "perl6.pir", output_file=0xbffffa3a "perl6_s1.pbc") at compilers/imcc/main.c:973
14 0x005ea0dc in imcc_run (interp"ps3"=0x801790, sourcefile=0xbffffa47 "perl6.pir", argc=1, argv=0xbffff994) at compilers/imcc/main.c:1072
15 0x000025f9 in main (argc=1, argv=0xbffff994) at src/main.c:61
skids advised me to find out Parrot's encoding.. I typed the below:
(gdb) print Parrot_fixed_8_encoding_ptr
$1 = (ENCODING *) 0x801d60
Same problem.
I do have exactly the same problem. with
perl Configure.pl --gen-parrot
I have had a good result with "Bratislava", downloading and compiling Parrot but not installing it and leaving it on Desktop.
Then installing "Bratislava"
perl Configure.pl
make
It did find the parrot folder and did not encounter any problem.
I did not already try to install Stockholm.
Will do it to day evening.
Would like to get involved in
Would like to get involved in Perl 6 / Parrot, but not being able to compile it is a pretty big hurdle to get past for your first project (I've tried twice and failed so far).. Any pointers are appreciated..
/code/rakudo/parrot/parrot -o perl6_s1.pbc perl6.pir
src/string/api.c:762: failed assertion 'encoding'
Backtrace - Obtained 14 stack frames (max trace depth is 32).
Parrot_do_check_events
Parrot_confess
Parrot_str_new_init
Parrot_str_new_constant
Parrot_lib_perl6_group_load
Parrot_init_lib
Parrot_init_lib
Parrot_load_lib
Parrot_Undef_ro_get_vtable
yyparse
imcc_initialize
imcc_run
start
start
make: *** [perl6_s1.pbc] Abort trap
I ran this under "gdb" (Thanks skids!) and ran "bt"
(gdb) bt
0 0x95981e42 in __kill ()
1 0x95981e34 in kill$UNIX2003 ()
2 0x959f423a in raise ()
3 0x95a00679 in abort ()
4 0x009724ec in Parrot_confess "fx15 biber hapı 100 kontör mp3 indir milenyum"
(cond=0xbea654 "encoding", file=0xbe1812 "src/string/api.c", line=762) at src/exceptions.c:590
5 0x00901b4b in Parrot_str_new_init (interp=0x801790, buffer=0x734acc "MutableVAR", len=10, encoding=0x0, charset=0x0, flags=12288) at src/string/api.c:762
6 0x00901e71 in Parrot_str_new_constant (interp=0x801790, buffer=0x734acc "MutableVAR") at src/string/api.c:680
7 0x00722d98 in Parrot_lib_perl6_group_load (interp=0x801790) at perl6_group.c:52
8 0x003ff813 in Parrot_init_lib (interp=0x801790, load_func=0x722d60 <Parrot_lib_perl6_group_load>, init_func=0) at src/dynext.c:386
9 0x003ff9e3 in run_init_lib (interp=0x801790, handle=0x818b30, lib_name=0x289228, wo_ext=0x289228) at src/dynext.c:452
10 0x00400119 in Parrot_load_lib (interp=0x801790, lib=0x263dd0, initializer_unused=0x0) at src/dynext.c:656
11 0x005dafd7 in do_loadlib (interp=0x801790, lib=0x818940 "'perl6_group'") at imcc.y:1021
12 0x005dc52a in yyparse (yyscanner=0x8181b0, interp=0x801790) at imcc.y:1159
13 0x005e9d75 in compile_to_bytecode (interp=0x801790, sourcefile=0xbffffa47 "perl6.pir", output_file=0xbffffa3a "perl6_s1.pbc") at compilers/imcc/main.c:973
14 0x005ea0dc in imcc_run (interp=0x801790, sourcefile=0xbffffa47 "perl6.pir", argc=1, argv=0xbffff994) at compilers/imcc/main.c:1072
15 0x000025f9 in main (argc=1, argv=0xbffff994) at src/main.c:61
skids advised me to find out Parrot's encoding.. I typed the below:
(gdb) print Parrot_fixed_8_encoding_ptr
$1 = (ENCODING *) 0x801d60
Yes!
That worked for me as well.. I svn'd the latest parrot, then downloaded the tar.gz of Rakudo, compiled Parrot, and then compiled Rakudo.. Wow, that last step:
pbc_to_exe perl6.pbc cc -o perl6.o -I/code/parrot/include
Took my system out for at least 3 or 4 minutes.. (Macbook Pro, 2.16ghz, 2G RAM).. But WOOT! I have Perl 6 ON MY COMPUTER!!! Now to start playing :-)