Camelia, the Perl 6 bug

IRC log for #perl6, 2013-10-11

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 Mouq lizmat: I found a ticket you can proudly close: #117935
00:00 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=117935
00:01 Mouq std: close $fh: :proudly
00:01 camelia std a0bcfb1: OUTPUT«[31m===[0mSORRY![31m===[0m�Variable $fh is not predeclared at /tmp/gniuSM7jBq line 1:�------> [32mclose [33m�[31m$fh: :proudly[0m�Check failed�FAILED 00:01 124m�»
00:02 Mouq rnp: join <a b c d>:, '--'
00:02 camelia pugs: ( no output )
00:02 camelia ..niecza v24-98-g473bd20: OUTPUT«[31m===[0mSORRY![31m===[0m��Confused at /tmp/1uW81hBjWC line 1:�------> [32mjoin <a b c d>[33m�[31m:, '--'[0m��Parse failed��»
00:02 camelia ..rakudo 50cecf: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/mjw6tZxJUKâ�¤Two terms in a rowâ�¤at /tmp/mjw6tZxJUK:1â�¤------> [32mjoin <a b c d>[33mâ��[31m:, '--'[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-infi…»
00:02 Mouq np: say join <a b c d>: '--'
00:04 TimToady it's not np complete...
00:05 Mouq n: say join <a b c d>: '--'
00:05 camelia niecza v24-98-g473bd20: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Invocant handling is NYI at /tmp/4nZ0hqqqqh line 1 (EOF):â�¤------> [32msay join <a b c d>: '--'[33mâ��[31m<EOL>[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line …»
00:10 diakopter r: close nqp::null
00:10 camelia rakudo 50cecf: OUTPUT«Cannot call 'close'; none of these signatures match:␤:($fh)␤  in sub close at src/gen/CORE.setting:13323␤  in block  at /tmp/i1ywQJDlXv:1␤␤»
00:10 diakopter r: close nqp::callerctx
00:10 camelia rakudo 50cecf: OUTPUT«===SORRY!===␤Error while compiling block  (source text: "close nqp::callerctx"): Error while compiling op call: Error while compiling block : Error while compiling op call (source text: "close nqp::callerctx"): Error while compiling op callerctx: No registere…»
00:10 diakopter r: close nqp::caller
00:10 camelia rakudo 50cecf: OUTPUT«===SORRY!===␤Error while compiling block  (source text: "close nqp::caller"): Error while compiling op call: Error while compiling block : Error while compiling op call (source text: "close nqp::caller"): Error while compiling op caller: No registered operati…»
00:13 Psyche^_ joined #perl6
00:28 ivanshmakov joined #perl6
00:37 Mouq So, S03:1527 : is that "proposed internal testing syntax" still a thing? (I know we have S24, which says otherwise)
00:37 synopsebot Link: http://perlcabal.org/syn/S03.html#line_1527
00:44 stevan_ joined #perl6
00:53 clkao joined #perl6
01:00 pdurbin joined #perl6
01:00 ivanshmakov joined #perl6
01:23 ivanshmakov joined #perl6
01:56 ivanshmakov joined #perl6
01:57 dayangkun joined #perl6
02:00 Mouq rn: sub infix:<@ {'@'}@> ($a, $b) { "$a @ $b!!" }; say "me"@ {'@'}@"server"
02:00 camelia rakudo 50cecf, niecza v24-98-g473bd20: OUTPUT«me @ server!!␤»
02:01 Mouq (^^^ re: #119919)
02:01 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=119919
02:01 pdurbin left #perl6
02:01 Mouq infix:* is LTA
02:02 Mouq well, &*:*. Well, *[:*]+
02:20 ivanshmakov joined #perl6
02:26 zakharyas joined #perl6
02:44 Gothmog_ joined #perl6
02:44 zamolxes joined #perl6
02:44 nwc10 joined #perl6
02:44 moritz joined #perl6
02:44 BinGOs joined #perl6
02:44 c1sung joined #perl6
02:44 BinGOs joined #perl6
02:44 ivanshmakov joined #perl6
02:45 denysonique joined #perl6
02:49 Maddingue joined #perl6
02:50 PZt joined #perl6
02:51 wrp6 left #perl6
02:56 Mouq joined #perl6
02:57 prevost joined #perl6
03:03 denysonique joined #perl6
03:07 ivanshmakov joined #perl6
03:12 stevan_ joined #perl6
03:14 stevan_ joined #perl6
03:18 raiph joined #perl6
03:34 moritz joined #perl6
03:34 ivanshmakov joined #perl6
03:34 broquaint joined #perl6
03:34 BinGOs joined #perl6
03:34 awwaiid joined #perl6
03:34 Pleiades` joined #perl6
03:34 sciurius joined #perl6
03:34 pjcj joined #perl6
03:34 BinGOs joined #perl6
03:34 Pleiades` joined #perl6
03:34 xorp joined #perl6
03:34 risou_awy joined #perl6
03:34 prevost joined #perl6
03:34 wsri joined #perl6
03:35 [particle] joined #perl6
03:39 diakopter joined #perl6
03:52 preflex_ joined #perl6
03:52 ivanshmakov joined #perl6
04:16 ivanshmakov joined #perl6
05:00 fgomez joined #perl6
05:04 darutoko joined #perl6
05:07 xinming joined #perl6
05:23 xenoterracide__ joined #perl6
05:32 SamuraiJack__ joined #perl6
05:49 moritz good morning, *
06:25 masak morning, all()
06:26 masak I declare my intention to make today a Perl 6 Day.
06:28 masak (by the grace of $employer -- we're hiring)
06:28 masak my focus will be on t4 reviews.
06:28 masak though if I get distracted from that, I will try to pull together all the macro and macro-ish wishes into a gist.
06:30 JimmyZ macroing, masak
06:31 JimmyZ :P
06:31 masak :)
06:40 ssutch joined #perl6
06:43 arnsholt masak++ # Perl 6 day
06:54 dansamo joined #perl6
06:55 moritz .oO( and call the gist Marco.txt )
06:55 arnsholt I think the default macro name should be polo =p
06:57 tadzik hah
06:58 kaleem joined #perl6
07:01 masak seriously, you guys need to come up with a better macro joke than "marco polo" :P
07:02 * masak .oO( desired feature: when someone names their macro "polo", a boxing glove materializes out of the screen at high velocity )
07:02 tadzik macro soft?
07:03 JimmyZ marco marco
07:03 JimmyZ marco hard
07:06 FROGGS joined #perl6
07:19 nwc10 masak: as far as I'm concerned, you're hiring in the wrong place :-/
07:19 nwc10 althougn, actually, I'm not sure I'd be that good at the sort of jobs you need doing
07:22 dayangkun_ joined #perl6
07:22 masak nwc10: by "wrong place", do you mean .se or #perl6? :P
07:22 nwc10 .se
07:22 masak thought so.
07:22 nwc10 even if it's within sight of Denmark
07:22 moritz yes, edument should totally conquer the rest of Europe too
07:22 masak working on it.
07:23 masak bleh, lines() is still not lazy...
07:23 masak wonder if there's something I could do about that.
07:24 masak (on Rakudo/Parrot)
07:24 moritz is it really lines() that's not lazy? (as opposed to for() loops?)
07:24 RangerMauve joined #perl6
07:25 RangerMauve Any ideas for a first-time project? I was thinking of doing a command-line arcade game
07:26 masak moritz: oh! trying a `while` loop, then.
07:26 sqirrel joined #perl6
07:26 masak RangerMauve: sounds nice. there's an NCurses module on http://modules.perl6.org/
07:26 masak so that should work just fine.
07:27 moritz though for a first-time project it might be easier to do something without ncurses
07:27 moritz depends on how much of a challenge RangerMauve wants :-)
07:27 RangerMauve masak: Oh cool, that's perfect
07:27 RangerMauve I think
07:28 RangerMauve I think my first concern would be "how do I get the dimensions of the terminal"
07:29 RangerMauve Oh, ncurses might not be optimal since I'm on windoze
07:29 RangerMauve I was also planning to make it somehow multiplayer so I'm going to use that JSON::RFC library
07:30 RangerMauve s/RFC/RPC
07:32 masak well, moritz++ has a point. start small.
07:32 masak if it's possible to make a single-player version first, and maybe expand it to multiplayer later, you'll increase your chances of initial success.
07:33 RangerMauve I guess. I've made multiplayer games in other languages before so I'm not too worried about that. But that's a good consideration.
07:33 RangerMauve Right now I guess I'd just want to see how I'd get information on the terminal
07:36 RangerMauve Oh, nevermind. I've got that figured out. :D
07:36 masak :)
07:36 masak RangerMauve: I don't doubt your skills. it's my personal experience, however, that with Perl 6 projects one needs to move slow. there are still lots of bumps on the ground to trip over.
07:37 Rotwang joined #perl6
07:37 RangerMauve masak: I'm also learning perl for the first time as I go. My goal at the end of this is to make totally illegible code golf solutions.
07:41 dmol joined #perl6
07:42 masak :)
07:43 moritz a high goal
07:43 masak since you said 'perl', not "Perl 6", I feel obliged to point out the difference to you.
07:43 masak though you are probably aware of it.
07:43 moritz writing totally illegible code isn't hard, but doing it towards a well-defined golf goal is quite a challenge
07:43 masak aye.
07:44 rindolf joined #perl6
07:44 RangerMauve Oh, yeah. I looked at learning perl 5 at first. But a tutorial showed me that I could use "say" as output, but then I had to apparently specify to use 5.10 in my source file to enable it
07:44 RangerMauve So I said "fudge that poop, I'll just learn perl 6 instead"
07:45 RangerMauve I'm very logical, eh. :P
07:46 moritz RangerMauve: while it's not strictly necessary, we recommend to start Perl 6 code with 'use v6;' too; just because it gives you much, much better error messages when you accidentally run the code with the perl 5 compiler
07:46 hoelzro morning #perl6
07:46 masak y0 hoelzro
07:46 RangerMauve moritz: I'll keep that in mind for anything that I distribute.
07:48 RangerMauve Can Rakudo produce executables?
07:48 moritz RangerMauve: it's mostly helpful to me during development
07:48 moritz not at the moment
07:48 moritz it worked for a while, kindof, and then regressed
07:48 RangerMauve Hmm
07:49 moritz (but since the executable still needed the perl 6 compiler installed, it's not really an advantage)
07:49 RangerMauve I'm just thinking about how I could get a friend to try out whatever I make. I guess I'll just package everything together somehow.
07:50 FROGGS RangerMauve: btw, if you (at some point) really want to know the current console size, you could port parts of http://cpansearch.perl.org/src/J​DB/Win32-Console-0.09/Console.xs using NativeCall and/or Inline::C
07:50 FROGGS RangerMauve: but for a start I'd just work with the defaults (80 by 25)
07:51 moritz now I wanted to suggest creating a Docker container, but I don't think that works on windows
07:51 RangerMauve FROGGS: At the moment I guess I'll either start out with using the default, or I'll stick to parsing output from windows' "mode" command then seeing the Linux equivelant when I get around to it.
07:53 arnsholt moritz: Since Docker uses Linux-specific stuff, I really don't think so =)
07:53 RangerMauve Hmm, maybe I could try this Niecza compiler so that it could potentially be used with Mono if a linux user every saw my game.
07:53 moritz arnsholt: though I've heard rumors that ports to some BSDs are considered
07:54 arnsholt Oooh, that'd be pretty neat!
07:57 moritz (since openbsd jails and solaris zones etc. offer comparable separation)
08:02 masak walk &
08:03 RangerMauve Is there a perl bot in here or something?
08:04 moritz r: say 'Hi to RangerMauve'
08:04 camelia rakudo 50cecf: OUTPUT«Hi to RangerMauve␤»
08:05 RangerMauve Aha!
08:05 JimmyZ nqp-m: say('hi')
08:05 camelia nqp-moarvm: OUTPUT«hi␤»
08:06 RangerMauve JimmyZ: What's the differenece?
08:07 arnsholt NQP is the language used to implement the core parts of Rakudo
08:07 arnsholt It's a simpler version of Perl 6, specifically geared towards compiler construction
08:08 RangerMauve Interesting
08:09 RangerMauve So what does parrot do exactly? Is it kinda like the JVM and has a custom instruction set?
08:10 moritz yes
08:10 moritz not only custom instruction set, but a very different design
08:11 RangerMauve And then it interprets it?
08:12 RangerMauve HMMMMM
08:28 dayangkun_ joined #perl6
08:31 zakharyas joined #perl6
08:41 RangerMauve joined #perl6
09:03 kaleem joined #perl6
09:03 dalek Perlito: 20388dc | (Flavio S. Glock)++ | / (2 files):
09:03 dalek Perlito: Perlito5 - perl6 - "loop"
09:03 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/20388dc576
09:12 dalek Perlito: c52bd96 | (Flavio S. Glock)++ | / (2 files):
09:12 dalek Perlito: Perlito5 - perl6 - :P5 modifier
09:12 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/c52bd96775
09:25 RangerMauve Err, is there support for using TCP sockets for a client/server?
09:26 fhelmberger joined #perl6
09:41 RangerMauve Err, nevermind, I think I've got it
09:43 moritz yes, IO::Socket::INET
09:43 moritz (not sure if / how well niecza supports that)
09:43 RangerMauve Yeah, I was trying use IO::Socket::INET; but it was bugging out for some reason
09:43 RangerMauve using my $socket = IO::Socket::INET.new; worked though.
09:44 fglock joined #perl6
09:45 fglock hi #perl6
09:46 fglock I'd like to have some feedback on the perl5-to-perl6 compiler - if you see something obviously wrong
09:47 fglock it doesn't do any complex refactoring yet - suggestions welcome too
09:51 RangerMauve Bleh, is there an asynchronous command for perl or something
09:51 RangerMauve Or at least threads
09:52 moritz rakudo on JVM has threads, and basic async IO
09:53 RangerMauve So, that's not the one that uses parrot?
09:54 moritz rakudo supports multiple backends
09:54 RangerMauve Aha
09:54 moritz the README tells you how to compile rakudo for the JVM backend
09:54 RangerMauve HMMMM!
09:56 jnthn good day, #perl6
09:56 yoleaux 01:59Z <JimmyZ> jnthn: I got a different error: Routine declaration requires a signature at line 1047, near "(MAST::Ins"
09:56 yoleaux 03:31Z <JimmyZ> jnthn: I got a backstrace : https://gist.github.com/zhuomingliang/6929185
09:56 yoleaux 08:11Z <nwc10> jnthn: http://act.useperl.at/apw2013/newtalk :-)
10:06 RangerMauve left #perl6
10:08 denisboyun joined #perl6
10:08 daxim joined #perl6
10:37 zakharyas joined #perl6
10:40 iSlug joined #perl6
10:45 dalek nqp/moarboot: 949bdf1 | jnthn++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:
10:45 dalek nqp/moarboot: Fix negated literal/end of string handling.
10:45 dalek nqp/moarboot:
10:45 dalek nqp/moarboot: Fixes another of the t/p5regex failures on the MoarVM backend.
10:45 dalek nqp/moarboot: review: https://github.com/perl6/nqp/commit/949bdf1368
10:47 jnthn nqp-m: say(?('zzzabcdefzzz' ~~ /$<x>=[<?>]ef/))
10:47 camelia nqp-moarvm: OUTPUT«0␤»
10:48 jnthn That golves our last t/p5regex bug...
10:48 jnthn *gloves
10:48 jnthn uh..
10:48 jnthn golfs!
10:53 jnthn nqp-m: say(?('efzzz' ~~ /$<x>=[<?>]ef/))
10:53 camelia nqp-moarvm: OUTPUT«1␤»
10:53 jnthn nqp-m: say(?('defzzz' ~~ /$<x>=[<?>]ef/))
10:54 camelia nqp-moarvm: OUTPUT«0␤»
10:55 * moritz notices that the nqp-moarvm target doesn't come with a version/revision number
10:55 jnthn nqp-m: say(?('def' ~~ /$<x>=[<?>]ef/))
10:55 camelia nqp-moarvm: OUTPUT«0␤»
10:55 moritz it might be totally out of date
10:56 jnthn moritz: Probably is
10:56 jnthn I get same locally though
10:56 jnthn just got my build done... :)
10:56 jnthn hmm
10:57 moritz looks like moar itself isn't out of date, "just" nqp-m
10:58 fglock how about an irc bot that replies to sentences like /p5-to-p6: $#a /
10:59 moritz fglock: +1
11:00 moritz fglock: that'll make the review easier, I think
11:00 fglock do you know how to set this up?
11:00 jnthn ah...
11:01 moritz fglock: if you have some instructions on how to get the translator running, it could be integrated into the evalbot
11:02 fglock it can be called with -e:  $ perl perlito5.pl -I./src5/lib -Cperl6 -e ' $#a '
11:03 fglock it doesn't require 'make' - perlito5.pl is in git
11:07 dalek nqp/moarboot: afce05a | jnthn++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:
11:07 dalek nqp/moarboot: Add missing $!pos update in subcapture compilation
11:07 dalek nqp/moarboot:
11:07 dalek nqp/moarboot: With this, t/p5regex fully passes on the MoarVM backend.
11:07 dalek nqp/moarboot: review: https://github.com/perl6/nqp/commit/afce05afd8
11:07 moritz fglock: is there a way to remove all the boilerplate? that's very annoying for bot output
11:07 xinming joined #perl6
11:09 fglock moritz: I'll try to cleanup
11:10 cognominal joined #perl6
11:11 dalek evalbot/host07: d3fdf31 | moritz++ | evalbot.pl:
11:11 dalek evalbot/host07: add p5-to-p6 target, fglock++
11:11 dalek evalbot/host07: review: https://github.com/perl6/evalbot/commit/d3fdf31d2c
11:12 camelia joined #perl6
11:12 moritz p56: $#a
11:12 camelia p5-to-p6 : OUTPUT«# Do not edit this file - Generated by Perlito5 9.0␤use v6;␤{␤    package main {␤        @a.end␤    }␤}␤␤»
11:13 moritz now it should be apparent to everybody what boilerplate I meant :-)
11:13 jnthn moritz++, fglock++
11:13 jnthn And ++fglock to clear up the boilerplate... :)
11:13 fglock working on it - thanks moritz++ !
11:15 itz joined #perl6
11:16 dalek Perlito: b7a81b6 | (Flavio S. Glock)++ | / (2 files):
11:16 dalek Perlito: Perlito5 - command line - option "--noboilerplate"
11:16 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/b7a81b6099
11:16 fglock moritz: can you add --noboilerplate to the command line?
11:18 masak wow, p56.
11:19 moritz fglock: sure. Or you can, if you want :-)
11:20 dalek evalbot/host07: 3c163c0 | moritz++ | evalbot.pl:
11:20 dalek evalbot/host07: run p5-to-p6 with --noboilerplate
11:20 dalek evalbot/host07: review: https://github.com/perl6/evalbot/commit/3c163c0cf2
11:20 moritz evalbot control restart
11:21 camelia joined #perl6
11:21 masak evalbot make me a ham sandwich
11:22 moritz p56: $#a
11:22 camelia p5-to-p6 : OUTPUT«{␤    package main {␤        @a.end␤    }␤}␤␤»
11:22 fglock I'll cleanup some more
11:22 masak nice...r.
11:22 moritz masak: I was about to say :-)
11:22 masak :)
11:23 dalek evalbot/host07: 7dcdc0e | moritz++ | build-scripts/rebuild-perlito.sh:
11:23 dalek evalbot/host07: rebuild script for perlito
11:23 dalek evalbot/host07: review: https://github.com/perl6/evalbot/commit/7dcdc0e3f5
11:25 dalek Perlito: 8e4746a | (Flavio S. Glock)++ | / (2 files):
11:25 dalek Perlito: Perlito5 - perl6 - cleanup an extra block level
11:25 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/8e4746ab56
11:27 moritz p56: $#a
11:27 camelia p5-to-p6 : OUTPUT«package main {␤    @a.end␤}␤␤»
11:28 moritz not awesome, but much better
11:28 moritz p56: $/
11:28 camelia p5-to-p6 : OUTPUT«package main {␤    ${'/'}␤}␤␤»
11:28 moritz p56: $1
11:28 camelia p5-to-p6 : OUTPUT«package main {␤    ${'1'}␤}␤␤»
11:28 * moritz objects
11:28 moritz p56: /a b/
11:28 camelia p5-to-p6 : OUTPUT«package main {␤    m:P5!a b!␤}␤␤»
11:28 moritz clearly $1 should translate to $0
11:28 moritz p56: $0
11:28 camelia p5-to-p6 : OUTPUT«package main {␤    ${'0'}␤}␤␤»
11:29 moritz and that to $*PROGRAM_NAME
11:29 moritz p56: if($x==42) { say $x }
11:29 camelia p5-to-p6 : OUTPUT«package main {␤    if $x == 42 {␤        say($x)␤    }␤}␤␤»
11:29 moritz p56: given (42) { say }
11:29 camelia p5-to-p6 : OUTPUT«Can't locate object method "emit_perl6" via package "Perlito5::AST::Given" at perlito5.pl line 12212.␤»
11:29 moritz NYI, I guess
11:29 fglock not implemented
11:29 moritz p56: say
11:29 camelia p5-to-p6 : OUTPUT«package main {␤    say␤}␤␤»
11:30 moritz no, .say or say($_)
11:30 moritz probably the latter is closer
11:30 masak yeah.
11:31 fglock what are the expected values for $/ and $1 ?
11:31 jnthn What is $/ in Perl 5?
11:31 moritz $1 maps to $0
11:31 jnthn $1 should become $0, though
11:31 moritz jnthn: input record separator
11:31 fglock $1 would be $0 even in :P5 regexes?
11:32 moritz r: say $*IN.nput-line-separator
11:32 camelia rakudo 50cecf: OUTPUT«No such method 'nput-line-separator' for invocant of type 'IO::Handle'␤  in block  at /tmp/lwo9KLHwU1:1␤␤»
11:32 moritz r: say $*IN.input-line-separator
11:32 camelia rakudo 50cecf: OUTPUT«No such method 'input-line-separator' for invocant of type 'IO::Handle'␤  in block  at /tmp/WS0DGqiua2:1␤␤»
11:32 moritz seems we only support that on sockets for now :/
11:34 cognominal joined #perl6
11:46 dalek Perlito: a822e48 | (Flavio S. Glock)++ | / (2 files):
11:46 dalek Perlito: Perlito5 - perl6 - special vars
11:46 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/a822e4879f
11:46 fglock p56: $0, $1, $2, $3
11:46 camelia p5-to-p6 : OUTPUT«package main {␤    ${'0'}, ${'1'}, ${'2'}, ${'3'}␤}␤␤»
11:47 fglock evalbot control restart
11:47 fglock p56: $0, $1, $2, $3
11:47 camelia joined #perl6
11:48 fglock p56: $0, $1, $2, $3, "now!"
11:48 camelia p5-to-p6 : OUTPUT«package main {␤    $*PROGRAM_NAME, $0, $1, $2, 'now!'␤}␤␤»
11:48 FROGGS nice
12:00 moritz fglock: fwiw no need to restart evalbot, except when the call syntax changed
12:01 moritz fglock: perlito is spawned as a separate process
12:01 moritz (and is git pull'ed every 30 minutes)
12:01 mtk joined #perl6
12:02 mtk joined #perl6
12:15 dalek Perlito: 63a2d9b | (Flavio S. Glock)++ | / (2 files):
12:15 dalek Perlito: Perlito5 - perl6 - remove more boilerplate
12:15 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/63a2d9bbb7
12:17 fglock p56: for my $x (1..10) { say $x }
12:17 camelia p5-to-p6 : OUTPUT«package main {␤    for 1 .. 10 -> $x {␤        say($x)␤    }␤}␤␤»
12:17 fglock the 'package main' should go away on next update
12:18 diakopter I wish git pull wouldn't complain about overwriting local changes when those changes are duplicated by an incoming commit
12:19 diakopter [just in the simple case where they're identical and haven't changed since that commit]
12:23 dalek Perlito: 9fb6075 | (Flavio S. Glock)++ | / (2 files):
12:23 dalek Perlito: Perlito5 - perl6 - package name
12:23 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/9fb607527a
12:24 fglock p56: package X; sub new {} new X 123 # indirect-object
12:24 camelia p5-to-p6 : OUTPUT«package X {␤    sub X::new {}␤    X::.new(123)␤}␤␤»
12:25 moritz fglock: I think X::.new is wrong, it must X.new
12:25 moritz fglock: X:: is the same as X.WHO, iirc
12:25 fglock it's fixed in the last commit
12:25 diakopter moritz: maybe make p56r feed output of p56 to rakudo?
12:25 moritz p56: package X; sub new {} new X 123
12:25 camelia p5-to-p6 : OUTPUT«package X;␤sub X::new {}␤X.new(123)␤␤»
12:25 dalek perl6-roast-data: 4adc103 | coke++ | cull:
12:25 dalek perl6-roast-data: Find correct summary line.
12:25 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/4adc1039e4
12:25 dalek perl6-roast-data: ce0b7fe | coke++ | / (4 files):
12:25 dalek perl6-roast-data: today (automated commit)
12:25 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/ce0b7fe85a
12:26 fglock diakopter++ :)
12:26 moritz r: package X;␤sub X::new {}␤X.new(123)
12:26 camelia rakudo 50cecf: OUTPUT«Error while constructing error object:Could not locate compile-time value for symbol Comp::AdHoc␤===SORRY!===␤Error while compiling, type X::Comp::AdHoc␤  payload: This appears to be Perl 5 code. If you intended it to be Perl 6 code, please use a Perl 6 s…»
12:26 diakopter p56: package X; sub new {} new X 123; package Y;
12:26 camelia p5-to-p6 : OUTPUT«package X;␤sub X::new {}␤X.new(123);␤package Y␤␤»
12:26 fglock fixing
12:26 diakopter p6 doesn't like that
12:27 fglock "package X;" is a bug, should be package X {...}
12:27 moritz fglock: I think it would make sense to emit p5's package X; as p6's, class X { }
12:27 diakopter std: package X;␤sub X::new {}␤X.new(123);␤package Y␤
12:27 camelia std a0bcfb1: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Semicolon form of package definition indicates a Perl 5 module; unfortunately,â�¤  STD doesn't know how to parse Perl 5 code yet at /tmp/lLkPDgiH_n line 1:â�¤------> [32mpackage X[33mâ��[31m;[0mâ�¤    expecting any of:â�¤      name…»
12:27 moritz fglock: 'cause you can't call methods on a package
12:27 diakopter can you? o_O
12:27 moritz and class has a superset of the package functionality
12:27 fglock ok
12:28 moritz fglock++ # nice toy to play with :-)
12:28 woolfy joined #perl6
12:29 dalek Perlito: 107ff94 | (Flavio S. Glock)++ | / (2 files):
12:29 dalek Perlito: Perlito5 - perl6 - "class" instead of "package"
12:29 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/107ff94ec0
12:29 diakopter rn: package foo { my method bar { say 'hi' } }; foo.bar
12:30 camelia rakudo 50cecf: OUTPUT«No such method 'bar' for invocant of type 'foo'␤  in block  at /tmp/MyZIAUqcc5:1␤␤»
12:30 camelia ..niecza v24-98-g473bd20: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤A package cannot have methods added at /tmp/47809xkfO6 line 1:â�¤------> [32mpackage foo { my method bar [33mâ��[31m{ say 'hi' } }; foo.bar[0mâ�¤â�¤Potential difficulties:â�¤  &bar is declared but not used at /tm…»
12:30 diakopter daxim: hi
12:30 daxim hello
12:31 diakopter daxim: did you take a look at the moarboot branch? should be merged within today or a couple days
12:31 diakopter any ideas how to merge or unify or otherwise distinguish the three Configure.pl ?
12:32 daxim just merge them into one configure file
12:32 timotimo i have the sneaking suspicion that RangerMauve figured out what the performance characteristics of rakudo are and gave up on his project to make an arcade game
12:33 diakopter daxim: how to tell the Configure.pl to build all three? most will want to build only one
12:34 diakopter daxim: or do you mean the .spec will invoke the Configure.pl in three different ways?
12:35 daxim that's not true, didn't we have that discussion already?  all three should be built:  Configure.pl --prefix=…  # implies --with-parrot --with-jvm --with-moar
12:35 diakopter when I said "most", I meant most people, not packagers
12:35 daxim if a user does not want a certain one, he should disable it:  --without-jvm
12:35 [Coke] yes, and very few people want that
12:35 [Coke] I think you are the only one who wants it.
12:35 diakopter daxim: almost nobody would want all three
12:35 diakopter that should not be the deafult
12:35 daxim how do you arrive at that?
12:36 diakopter because almost nobody would want all three
12:36 daxim why?
12:36 [Coke] daxim: because they're only going to use one of them.
12:37 daxim why?  that's orthogonal to the issues what is going to be built and installed, anyway
12:37 diakopter eh?
12:37 * daxim is very frustrated now
12:37 diakopter please explain more
12:37 [Coke] why would I build and install something I'm not going to use?
12:37 diakopter it would help
12:38 diakopter daxim: I don't want you to be frustrated; I'm trying to understand your position
12:38 [Coke] I have to run to dayjob, sorry. will try to follow up after.
12:39 diakopter daxim: why would someone want to spend an extra several minutes building two nqp implementations that they're not going to use
12:39 diakopter (especially building and installing the dependencies, namely the VMs)
12:40 diakopter (I'm just talking about the normal usage of someone downloading the source tarball)
12:40 diakopter (or checking out from git)
12:40 dalek Perlito: 2669862 | (Flavio S. Glock)++ | / (2 files):
12:40 dalek Perlito: Perlito5 - perl6 - class definition in a block
12:40 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/26698622fd
12:40 JimmyZ well, I don't want to use the parrot and jvm one
12:41 JimmyZ so don't build it by deafult
12:41 diakopter don't worry; we won't do that.. but I'm trying to understand why daxim thinks it should be that way
12:42 JimmyZ I'm saying it because I'm one of the uses  :-)
12:42 JimmyZ (users
12:46 jnthn daxim: I think we have made it sufficiently clear that "try to build all" as the default won't work for any use case besides your one. Stop asking for it. If you want an easy way to say "please build them all", e.g. a --all-backends flag, that seems reasonable.
12:46 daxim because that's how all other software packages work, I lament that the whole lot of you is so inexperienced with build systems.  when the build requirements are met, the features are enabled.  I'll explain why that turned out the better default.
12:46 daxim see wireshark as a comparable example.  so what if you never want to use tls decryption?  it just takes some disk space and is easy to ignore.  what if some day you need the feature?  then you can just start using it, not recompile required.  on the other hand, if you are positive you never need jvm, disable it at configure time, the burden is then on the extraordinary user.
12:46 JimmyZ I'm fine Configure.pl conplains if I'm not with '--with-xxx' though
12:47 daxim don't rush over my mouth, okay?  I'm talking technical stuff here, you should hear me out to the end
12:48 jnthn daxim: No, you should try doing some listening also.
12:48 moritz daxim: there's a lot of difference between "extra options" and "different backends"
12:48 mathw o/
12:48 moritz so the wireshark example isn't a good comparison to nqp on several VMs
12:48 JimmyZ I'm saying again: I'm fine Configure.pl conplains if I'm not with one of '--with-xxx' though
12:48 moritz it's more like saying 'apt-get install ruby' giving you the default implementation PLUS ironruby and the JVM
12:48 jnthn daxim: Are you saying it should *detect* which backends it could build because the dependencies are already available, and build those?
12:49 jnthn daxim: Or are you saying it should presume/demand all dependencies for all backends (which is what I'm understanding this as)?
12:49 daxim that, too.  it's best to give a summary at the end of the configure stage
12:51 diakopter I assume that last reply was to "Are you saying ..."
12:51 diakopter (and not the following message)
12:53 diakopter daxim: it is positively absurd to require someone to have the jvm and parrot installed just to use nqp/rakudo with moarvm
12:53 diakopter that's just laughable and insane and silly and lots of other name-calling
12:53 diakopter (the default behavior, I mean)
12:54 daxim okay, I give up with English
12:54 diakopter the default needs to be easy and simple and not require a long onerous installation/build
12:54 daxim I'm going to write code now, and then we discuss this
12:54 diakopter ... in Latin?
12:54 arnsholt I have a proposal:
12:55 arnsholt We have a single makefile, which contains build logic for all backends, building them as nqp.$backend (or nqp-$backend or something like that)
12:55 dalek Perlito: d7afc0e | (Flavio S. Glock)++ | / (2 files):
12:55 dalek Perlito: Perlito5 - perl6 - class definition in a block (fix)
12:55 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/d7afc0e19b
12:55 daxim that's what I have been saying all along
12:55 diakopter that's fine, but that's not what we're discussing
12:56 moritz arnsholt: the question is regarding the interface to Configure.pl
12:56 diakopter we're discussing the default behavior of Configure.pl (which things to build and which dependencies to ask for and install)
12:56 arnsholt The configure script gets told which backend the user wants, and sets the default target to depend on that backend, and copies nqp.$theoneIwant to nqp
12:56 arnsholt Yeah, that's the second part of my suggestion
12:57 diakopter right, that way would be how I'd do it, and how I'm sure most everyone here would imagine
12:57 Woodi joined #perl6
12:57 arnsholt And like most of the others, I agree that we should not build all possible backends just because we can
12:57 diakopter (except symlink where it can instead of copying)
12:58 diakopter daxim: we weren't discussing anything about the Makefile
12:58 arnsholt This way those who want to can build the backends they need simply by saying "make nqp.{parrot,jvm}" instead of unadorned make
12:58 diakopter so I don't see how you can say that's what you've been saying all along
12:59 diakopter right, but the Makefile is not what daxim is arguing about
12:59 diakopter none of us disputed his suggestions there
12:59 daxim dude, the title of my bug is literally "merge configure/Makefile files"
12:59 diakopter again, no one is arguing those points
12:59 diakopter we're not talking about that
13:00 diakopter we're talking about the default behavior of the Configure.pl
13:00 diakopter do you understand?
13:00 Bzek joined #perl6
13:01 diakopter if I get no feedback from most things I write to you, I have no idea whether you understand what I said, let alone agree
13:01 JimmyZ or the the default behavior of 'make' ?
13:01 diakopter JimmyZ: that would just flow from the default behavior of the configure
13:03 diakopter daxim: do you see that we acceded those points (about merging the Configure/Makefiles)?
13:04 diakopter that's a perfectly reasonable accomodation/improvement for packagers.
13:05 diakopter daxim: so, we were discussing what the new default behavior of the Configure.pl should be...
13:06 JimmyZ moar :P
13:07 diakopter daxim: are you complaining because you don't want your .spec file to have to call it with the flags --parrot --moar --jvm or --all-backends or whatever?
13:07 diakopter because I really can't come up with another reason for the complaint
13:08 daxim I mentioned already that inclusive by default is better than exclusive by default
13:08 diakopter better for whom?
13:08 diakopter and why
13:08 diakopter you still haven't answered jnthn's question
13:08 daxim I cannot talk with 5 people at once
13:09 daxim cut me some slack here, you two are native English speakers
13:09 diakopter okay; I'll ask more specific questions:
13:09 daxim make a 2×2 decision matrix with the advantages and disadvantages for inclusive and exclusive, then it's obvious
13:09 diakopter what should the configure script do when it finds none of the VMs present on the system?
13:10 daxim it must abort with an error because not a single build dep can be satisfied, it does not make sense to continue
13:11 diakopter okay; that's reasonable so far, depending on future answers
13:11 diakopter what should it do if the person asks for the moar backend but moar is not installed?
13:11 dalek Perlito: 718914f | (Flavio S. Glock)++ | / (2 files):
13:11 dalek Perlito: Perlito5 - perl6 - shift, pop
13:11 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/718914fce5
13:12 daxim it must abort with an error because the specific build dep cannot be satisfied, the error message should state in plain words the remedy: install moarvm devel files
13:12 diakopter our current Configure scripts have an option to build it for the person; do you want to keep that option?
13:13 diakopter (at least for parrot and moar, anyway)
13:13 daxim "to build it" means the convenience download like gen-parrot?
13:13 diakopter yes
13:14 daxim yes, that's fine naturally
13:14 PacoAir joined #perl6
13:15 diakopter if the person has the jdk installed but they want the moar backend, what option should they pass to Configure?
13:16 daxim --with-moarvm    or possibly   --with-moarvm=/my/local/path
13:16 diakopter I think your suggestion of having it configure for the jvm by default, but then clearly state a message at the end "we only configured for the jvm because that's what we found; pass --with-moarvm or --gen-moarvm to configure for that instead"
13:17 diakopter is a good suggestion
13:17 daxim that's what good software build systems with lots of complicated options already do
13:17 diakopter ok; understood
13:18 diakopter so now, default behavior of the system packages: how would you suggest structuring the dependencies and automatic installation of backends
13:18 diakopter if someone wants to install rakudo, and they type yum install rakudo, which backend should it choose and which alternative should it set?
13:18 diakopter (can we set a default?)
13:19 diakopter does it display a list of the three packages that provide rakudo?
13:19 daxim I don't know offhand, let me look this up
13:19 diakopter (like it does with apt-get)
13:20 diakopter does=would
13:20 daxim yes, it's similar/equivalent
13:21 daxim still looking how a default is handled…
13:21 Woodi it would be nice to introduce some magic environment detection (read ufo) ;)
13:21 Woodi hallo :)
13:22 diakopter Woodi: well, presumably we'd have some kind of rakudo-config script that spits stuff out
13:22 bluescreen10 joined #perl6
13:22 diakopter which seems to be the way stuff works nowadays
13:23 diakopter nowadays=my whole lifetime? :P
13:23 arnsholt Well, there's always pkg-config as well =)
13:23 diakopter er, right, that
13:24 daxim short research:  it seems in rpm land where schemas take the place of debian's virtual packages, you the developers need to state in the documentation what the default backend should be when an end user installs the schema rakudo, but does not specify a backend
13:24 dalek Perlito: b343920 | (Flavio S. Glock)++ | / (2 files):
13:24 dalek Perlito: Perlito5 - perl6 - regex modifier, $/
13:24 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/b343920fe1
13:24 diakopter daxim: on systems/distributions without an alternatives/provides system (macports, fink, bsd?)... what should it do?
13:25 diakopter cygwin also
13:25 ajr joined #perl6
13:26 Woodi do rakudo choose backend or nqp ?
13:27 diakopter both/either, but rakudo's determines nqp's
13:27 daxim that's their packaging problem, I'll only cover the big two.  you shouldn't worry too much, improvements for one packaging system make all better automatically.  also, update-alternatives is very portable and likely already is use on the other platforms you named, it just switches around symlinks
13:27 denis_boyun joined #perl6
13:28 diakopter one other question
13:29 diakopter let's say we'd like to recommend [I'm not saying we necessarily want to do this, just in case we do though] installing oracle-jdk7-installer for the provider of java/javac instead of the openjdk, since it's so much faster... how do we communicate that to the user in the system packages
13:30 diakopter [debian/ubuntu]
13:31 Woodi nqp-jvm.(deb|rpm) ? you can't do this in ONE PASS and cover all possibilities
13:31 daxim put that in the documentation.  if you want to make it very conspicuous, make a PACKAGING file in the tarball root.  you can be assured though that any packager worth the salt will read the README in the tarball root
13:32 diakopter well, the packager wouldn't set that dependency, since oracle-jdk7-installer is in a ppa
13:32 diakopter but a highly regarded one! :)
13:33 SamuraiJack__ joined #perl6
13:34 daxim that's a detail that shouldn't concern the developers
13:34 diakopter what's a detail that shouldn't concern us?
13:34 daxim for the other point before: I would recommend that you declare the parrot backend as the default when a user picks the schema/virtual package, just for continuity - it was the first one and won't give rise to surprise to the existing installed userbase
13:34 daxim that oracle jdk is in a ppa
13:35 diakopter parrot won't be the default; no one's supporting or working on it really
13:35 diakopter continuity is not worth anything there
13:36 daxim okay, then pick what you want :)
13:40 fglock p56:  $_=chr 123*rand,/[\da-z]/i?$a.=$_:redo for 1..pop;print$a,$/   # some random perl5 golf
13:40 camelia p5-to-p6 : OUTPUT«$_ = chr(123 * rand), m:P5:i![\da-z]! ?? ($a ~= $_) !! redo␤    for 1 .. pop(@_);␤print($a, "\n")␤␤»
13:41 Woodi actually "install rakudo" is a fiction... you check for available backend and choose appropriate rakudo. if no backends then chose $DEFAULT or package manager chooses
13:42 diakopter Woodi: who is "you" there in "you check for"
13:42 diakopter the user or the system package installer?
13:42 kay__ joined #perl6
13:42 Woodi "you" is installer script :)
13:42 TimToady fglock: of course, it should pop @*ARGS there instead of @_ if that's top level
13:43 daxim do I still need to complete the configure mock-up I started here?  I think at least you (diakopter) now knows exactly how a unified configure should behave
13:43 fglock TimToady: yes, it is in my TODO list
13:43 diakopter daxim: well, I understand your perspective, yes..
13:44 fglock however, in this "snippet" mode maybe it should be @_
13:44 TimToady fglock: nodnod
13:44 diakopter daxim: it seems you're proposing something close to the alternative jnthn was implying was acceptable..
13:45 dalek Perlito: eba6b20 | (Flavio S. Glock)++ | / (2 files):
13:45 dalek Perlito: Perlito5 - perl6 - even less boilerplate
13:45 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/eba6b20793
13:46 grondilu joined #perl6
13:56 dalek Perlito: 94824b8 | (Flavio S. Glock)++ | / (2 files):
13:56 dalek Perlito: Perlito5 - perl6 - special vars - @ARGV
13:56 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/94824b8997
14:01 kaare_ joined #perl6
14:03 jnap joined #perl6
14:06 colomon joined #perl6
14:08 dalek nqp/moarboot: 787c6cc | (Tobias Leich)++ | src/QAST/Var.nqp:
14:08 dalek nqp/moarboot: check for NULL-strings in dump_extra_node_info()
14:08 dalek nqp/moarboot:
14:08 dalek nqp/moarboot: ... as for parrot it prints nothing for the null string, for jvm it prints "null" and moar segfaults.
14:08 dalek nqp/moarboot: review: https://github.com/perl6/nqp/commit/787c6cc879
14:15 kaleem joined #perl6
14:17 ajr_ A poster on LinkedIn's Perl group wants to know if anybody's using P6 in production? Anybody want to supply success stories? (There, not here.)
14:18 * TimToady is LinkedOut
14:20 Woodi I thinked a bit and concluded, that I have some brain noise acording to Perl6 compilers... niecza is traditional, one-binary-one-language interpreter/compiler. but rakudo is not. actually rakudo want could be vm like erlang. but from the start of Perl6 project it is planned as two separate projects, what is kind of complicated in comparision to actually living languages. I am stating obvious but such distinction makes some ...
14:20 Woodi ... troubles|possibilities...
14:21 Woodi sorry for my terrible English tries!
14:21 masak Woodi: neither Niecza nor Rakudo were "planned" from the start of the Perl 6 project.
14:22 masak there have been many implementations along the way, large and small.
14:22 Woodi masak: distinction was planned
14:22 masak Rakudo used to be known as "Perl 6 [on Parrot]"
14:22 masak for a short while, it was meant to be called "Onion".
14:26 TimToady lovely use of passive to avoid assigning responsibility :)
14:27 Woodi TimToady: ?
14:27 masak heh, not my intent. just don't know the agent in question ;)
14:28 TimToady well, it was never meant by me, is all...  :)
14:28 masak but seriously, naming it "Rakudo" (or *something*) was a really good move. because it had bugger-all visibility before that.
14:28 TimToady or by the universe, apparently
14:29 dalek Perlito: 83ff358 | (Flavio S. Glock)++ | / (3 files):
14:29 dalek Perlito: Perlito5 - grammar - resolve ambiguous sigil
14:29 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/83ff3581ce
14:29 masak I was fairly involved with Perl 6 since about 2004, but I knew nothing of Perl 6 on Parrot.
14:30 ggoebel6 joined #perl6
14:31 TimToady well, irc was largely Pugsland back then
14:32 TimToady well, #perl6 was
14:33 TimToady and most of the cross communication happened in our weekly telephone calls, where I was the main apologist for non-parrot-development
14:33 masak yeah, Pugs was why I got on #perl6 (or IRC, for that matter).
14:34 masak au++
14:46 rindolf joined #perl6
14:48 dalek nqp/moarboot: 7a2851c | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
14:48 dalek nqp/moarboot: Map encode/decode ops, in prep for work on them.
14:48 dalek nqp/moarboot: review: https://github.com/perl6/nqp/commit/7a2851cf06
14:48 xinming joined #perl6
14:48 jnthn They're actually in Moar now, so we pass
14:49 tadzik so MQP is complete now? :)
14:49 jnthn For some definition... :)
14:49 tadzik spectests-complete :P
14:50 jnthn "make test"-complete :)
14:50 tadzik now only "nyan cat complete" remains before world domination
14:52 dalek Perlito: 83389b4 | (Flavio S. Glock)++ | / (2 files):
14:52 dalek Perlito: Perlito5 - perl6 - x/xx, reverse=>flip
14:52 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/83389b4f8f
14:52 TimToady our only requirement is that moarakudo fall into the category of: Good, Fast, Cheap, pick three this time.
14:53 FROGGS exactly
14:54 Woodi it's interesting that Java was developed since 1991 and was planned as "write once, run anywhere" via "binary". scripting languages have this feature built-in :) I wonder how VM concept evolved... acording to wikipedia Erlang has "runtime", Java had vm's from the start, later jit was added and now we have common OS virtual machines. what features should be in perfect Perl6 vm ? :) runtime + ?
14:54 araujo joined #perl6
14:54 fglock p56: ($$, $0, $1) x 2and "a" x 2 // //   # just some nonsense
14:54 camelia p5-to-p6 : OUTPUT«($*PID, $*PROGRAM_NAME, $0) x 2 and 'a' x 2 // m:P5!!␤»
14:55 TimToady Woodi: that is precisely what the moar project is trying to figure out :)
14:55 fglock xx is not updated yet
14:55 masak fglock++ ++fglock
14:56 timotimo TTIAR, masak
14:56 timotimo r: my $foo = 1; $foo++ ++$foo;
14:56 camelia rakudo 50cecf: ( no output )
14:56 timotimo interesting, it interprets the second ++ as + +?
14:56 masak timotimo: :P
14:56 japhb__ fglock++ # That's starting to look really good
14:56 FROGGS r: my $foo = 1; $foo++$foo;
14:57 camelia rakudo 50cecf: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/jWrhEY9ppNâ�¤Two terms in a rowâ�¤at /tmp/jWrhEY9ppN:1â�¤------> [32mmy $foo = 1; $foo++[33mâ��[31m$foo;[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-i…»
14:57 FROGGS ahh, sure
14:58 * japhb__ realizes he just used the #perl6 backlogs as *a way to wake up*
14:58 japhb__ More enjoyable than coffee.  ;-)
14:58 masak :)
14:59 japhb__ Sign next to me reminds bus passengers not to gobble bandwidth by streaming videos.  Person right in front of me is streaming a full screen video.
15:00 timotimo wifi on a ... bus?
15:00 timotimo what kind of future is it you're coming from?
15:00 japhb__ The future where I enjoy my commute.  :-)
15:00 TimToady std: my $foo = 1; $foo++ ++$foo;
15:00 camelia std a0bcfb1: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Postfix found where infix expected (change whitespace?) at /tmp/nXcQYiWfl4 line 1:â�¤------> [32mmy $foo = 1; $foo++ [33mâ��[31m++$foo;[0mâ�¤    expecting any of:â�¤    infixâ�¤  infix or meta-infixâ�¤    infixed functionâ�¤Parse fai…»
15:04 fglock nice to have some perl6 code again, I was hacking only perl5 for quite a while
15:06 jnthn timotimo: I've seen wifi on a bus here too :)
15:08 Woodi I think that representations are implementation of https://en.wikipedia.org/wiki/Bridge_pattern And it worked nice. DBI/DBish is too. I wonder where other bridges can be placed...
15:08 dalek nqp/moarboot: ee32b61 | jnthn++ | src/NQP/Grammar.nqp:
15:08 dalek nqp/moarboot: Fix 05-comments.t when there are \r in there.
15:08 dalek nqp/moarboot: review: https://github.com/perl6/nqp/commit/ee32b615c0
15:09 timotimo we don't even have wifi on our trams or almost all trains in germany
15:09 * grondilu has seen wifi in Eurolines' couches
15:10 diakopter timotimo: japhb__ is a google singularity cog
15:10 grondilu s/couches/bus/
15:11 diakopter TimToady recogs soon...
15:12 japhb__ diakopter: oh?
15:12 * grondilu looks in the dictionary and find out the correct spelling for the word he was looking for is 'coach'
15:14 moritz or simply "bus"
15:14 diakopter well, that's the technical term for the biggest class of bus (40-42')
15:14 diakopter (motorcoach, that is)
15:14 diakopter aside from the ones that pivot in the middle....
15:17 tadzik japhb__: ping flood him :>
15:17 tadzik (or her)
15:17 * grondilu tends to use the world 'coach' because that's the word english he kept hearing when I was travelling with Eurolines in UK
15:18 grondilu s/english/English people/
15:18 jnthn We call it a coach when we want to believe it sucks less than a bus...
15:21 FROGGS jnthn: I think for this the stage0 of nqp-cc is to blame:
15:21 japhb__ tadzik: Thankfully, IRC packets fit between the streaming ones nicely.  ;-)
15:21 FROGGS Stage start: 0.000013Stage start      :   0.000
15:21 FROGGS Stage parse: 20.303458Stage parse      :  20.303
15:21 FROGGS ohh, ww
15:22 xenoterracide__ joined #perl6
15:23 japhb__ tadzik: Though I finally started using irssi after all these years so that I wouldn't have my session interrupted by the start and end of the commute.  :-)
15:24 jnthn Being able to make test NQP is 14s is kinda nice though :)
15:24 jnthn oops, ww
15:25 japhb__ Seems like the rw to me.
15:25 japhb__
15:26 jnthn I can get it down to 13s with -j6...diminishing returns...
15:26 diakopter dun duhn duhhhn
15:32 perigrin jnthn: I bet with rm you could get it down into single digits ... but your tests would start failing
15:36 masak "Category Theory is the linguistics of pure mathematics" -- https://twitter.com/AlgebraFa​ct/status/388663113996062720
15:36 masak I watched that video and thought, "hm, Category Theory is like the Lisp of math!"
15:37 benabik masak: It's really pure and interesting, but nobody actually wants to use it?  ;-P
15:37 masak (the bit where you start from a problem or a family of problems, and derive a language/API for it)
15:37 masak benabik: that, too :P
15:38 masak except that that's an outsider's "nobody".
15:41 tadzik in both cases :)
15:44 masak yes.
15:49 skids joined #perl6
16:06 * TimToady is more of a Dogegory Theory person
16:06 iSlug joined #perl6
16:06 TimToady tails are for wagging, not recursing
16:08 * masak .oO( put your dogma in your catamaran )
16:09 diakopter and get a liger?
16:12 ajr joined #perl6
16:13 nwc10 dear perl 6 backlog, I believe in technical UK English (at least at the appropriate geekery level) the difference between a bus and a coach is things like the gearbox (and I guess more generally drivetrain specs)
16:14 MrMeek joined #perl6
16:15 nwc10 so the RM and RML are busses, but the RMC and RCL are coaches: http://en.wikipedia.org/wiki/Routemaster
16:17 moritz http://en.wikipedia.org/wiki/Coach_%28bus%29 # according to this, the difference is that coaches are meant for long distance travel, busses for short distance
16:19 ajr_ "Bus" is short for "Omnibus" - Latin for "for all", i.e. a publicly accessible vehicle. "Coaches" were the preserve of the rich, who did not wish to associate with hoi polloi.
16:21 colomon joined #perl6
16:21 jnthn .oO( but the both cause hoi polloition... )
16:23 TimToady .oO( it's a good thing he didn't say that out loud... )
16:29 kaleem joined #perl6
16:32 dalek Heuristic branch merge: pushed 37 commits to nqp by jnthn
16:32 jnthn MoarVM support is now in NQP master
16:32 TimToady \o/
16:32 japhb__ \o/ indeed!
16:33 colomon \o/
16:33 yoleaux 10 Oct 2013 19:59Z <[Coke]> colomon: big things just fudged: :delete, :!exists, SetHash, BagHash
16:34 dalek nqp: da931e2 | jnthn++ | README.pod:
16:34 dalek nqp: Mention MoarVM in the README.
16:34 dalek nqp:
16:34 dalek nqp: Needs build instructions, but then so does JVM. Contributions welcome.
16:34 dalek nqp: review: https://github.com/perl6/nqp/commit/da931e2737
16:35 kbenson1 joined #perl6
16:38 japhb__ OK, so this is nqp bootstrapped properly on moar.  How much more stuff is needed *in NQP* for Rakudo to at least build and run Hello World on MoarVM?
16:38 diakopter well it took jnthn a few weeks to cross that for the jvm
16:39 diakopter with help from sorear and donaldh and others
16:40 jnthn Took longer than that.
16:40 jnthn But we had to do a lot more stuff. :)
16:40 japhb__ Should be less now though, neh?  A matter of porting things you already designed during the JVM port?
16:42 jnthn Yeah
16:42 jnthn Plus not having to port some things
16:42 jnthn Like, the multi-dispatcher is now written in NQP, not C.
16:43 jnthn So that needn't be ported at all these days
16:43 jnthn Just the cache, which is already ported 'cus NQP relies on it.
16:45 ssutch joined #perl6
16:49 kaleem joined #perl6
16:49 iSlug joined #perl6
16:52 SmokeMachine joined #perl6
16:55 dansamo joined #perl6
16:57 Celelibi joined #perl6
16:59 denis_boyun joined #perl6
17:01 araujo joined #perl6
17:05 FROGGS joined #perl6
17:10 kurahaupo joined #perl6
17:13 [Coke] jnthn++
17:15 dalek nqp: 4c4549a | coke++ | t/docs/opcodes.t:
17:15 dalek nqp: handle moar opcodes same as jvm/parrot
17:15 dalek nqp: review: https://github.com/perl6/nqp/commit/4c4549abec
17:19 kaleem joined #perl6
17:20 kurahaupo_ joined #perl6
17:20 [Coke] https://gist.github.com/coke/6799633 if people are looking for LHF on docs or impl.
17:21 [Coke] I suspect some of the missing MOAR ops will be needed for rakudo.
17:21 jnthn [Coke]: fwiw, I think a couple of those are bogus due to programatic things
17:21 jnthn not ok 1839 - documented op 'until' exists in MOAR
17:21 jnthn not ok 1867 - documented op 'repeat_while' exists in MOAR
17:21 jnthn But yeah, on the rest, agree
17:21 jnthn [Coke]++
17:21 [Coke] same as on parrot/jvm, no doubt.
17:21 jnthn That's useful
17:21 [Coke] checking...
17:24 jnthn Gonna make some noms...will be back later, and probably blog...
17:24 dalek nqp: eb9ac3b | coke++ | t/docs/opcodes.t:
17:24 dalek nqp: grab hard to parse moar ops too
17:24 dalek nqp: review: https://github.com/perl6/nqp/commit/eb9ac3b1b0
17:24 [Coke] updated gist also.
17:26 kurahaupo joined #perl6
17:27 dmol joined #perl6
17:47 kurahaupo joined #perl6
17:55 kurahaupo_ joined #perl6
17:57 colomon TimToady: I just tried running a STEP file in the p5 interpreter and it didn't work.  Perhaps you need to add some more DWIM?  ;)
18:02 kurahaupo joined #perl6
18:03 kurahaupo joined #perl6
18:04 TimToady colomon: I'll have a look at that just as soon as I finish p6.
18:05 colomon TimToady++ # good plan.
18:09 btyler joined #perl6
18:42 kbenson1 joined #perl6
18:43 araujo joined #perl6
18:57 kurahaupo joined #perl6
18:59 dalek nqp: d24a375 | jnthn++ | tools/build/ (2 files):
18:59 dalek nqp: Generate a runner for MoarVM.
18:59 dalek nqp:
18:59 dalek nqp: So after the build, ./nqp works. Needs testing on non-Windows.
18:59 dalek nqp: review: https://github.com/perl6/nqp/commit/d24a375fd2
19:01 kurahaupo_ joined #perl6
19:03 japhb__ Can we have the new build system produce a single bin/ that has {nqp,rakudo}-{parrot,jvm,moar} binaries, and have the main "nqp" and "perl6" just be a link/alias to one of them?  As long as there are things you can do in one and not another (loading a perl5 interpreter or talking to Java classes), I would like to be able to A) set stable shebangs in my backend-specific scripts, and B) have only one bin dir in my path, but still have access to any variant from t
19:04 jnthn japhb__: That sounds in line with earlier discussions.
19:04 jnthn japhb__: I think...you got cut off at "variant from th"
19:04 japhb__ "variant from the command line."
19:04 jnthn ah
19:04 jnthn yeah
19:04 jnthn makes sense
19:05 diakopter what's the filename of the nqp that comes with parrot
19:05 jnthn I think that's what was discussed, anyway. A way to have all of them and then a "frontend" that delegates
19:05 japhb__ OK, good.  My "too much heat" alarm went off while skimming the configure discussion, and I didn't read it in depth.
19:05 jnthn nqp-parrot...
19:05 diakopter eww
19:05 jnthn japhb__: Yes, I went off to do other stuff too ;)
19:05 diakopter jnthn: I mean the old nqp-rx
19:05 benabik diakopter: parrot-nqp
19:06 diakopter *whew*
19:06 jnthn diakopter: oh, it's parrot-nqp
19:06 diakopter ok, so no overlap
19:06 jnthn So yeah, we can nab nqp-parrot :)
19:06 jnthn That won't be confusing at all! :D
19:06 diakopter "what's this nqp-parrot-nqp-parrot-nqp thing"
19:07 lue hello world! o/
19:07 bloonix joined #perl6
19:08 diakopter hello lue-minus-everything-plus-the-world
19:12 japhb__ .oO( What is the sound of two Venn diagrams intersecting? )
19:12 broquaint joined #perl6
19:16 nwc10 jnthn: in tools/build/Makefile-Moar.in @runner@ needs to be ./nqp not plain nqp, but I can't see how to do that
19:17 vael joined #perl6
19:18 jnthn ah
19:18 jnthn yeah, I think I know what I did wrong
19:22 dalek nqp: 7aee95c | jnthn++ | tools/build/Makefile-Moar.in:
19:22 dalek nqp: Runner path related tweaks; nwc10++.
19:22 dalek nqp: review: https://github.com/perl6/nqp/commit/7aee95ccf0
19:23 SamuraiJack__ joined #perl6
19:25 dalek nqp: 4290125 | jnthn++ | tools/build/ (2 files):
19:25 dalek nqp: First pass at a 'make install' for NQP on MoarVM.
19:25 dalek nqp: review: https://github.com/perl6/nqp/commit/42901257f6
19:27 nwc10 jnthn: 3All tests successful.
19:27 jnthn \o/
19:29 nwc10 moritz: the IRC logger setup doesn't like 7colour
19:29 nwc10 ("doctor, it hurts if I do this" "well, don't do that then")
19:29 kurahaupo joined #perl6
19:32 nwc10 $ ~/Sandpit/moar/bin/nqp -e 'say("Hello from installed")'
19:32 nwc10 Hello from installed
19:32 nwc10 yes, that works on "my" machine at least for the very simple test shown
19:33 jnthn \o/
19:35 jnthn I'm guessing if you copy the files over to the Pi and preserve the paths (or hack the installed runner with the updated paths) it should work also
19:35 jnthn (building the VM itself on the Pi, then copying the NQP, I mean)
19:35 nwc10 I guess so. But I'm not in a position to do that right now, as the "console" has been abducted to watch Sex in the City
19:36 jnthn ;)
19:36 nwc10 and it doesn't seem to be totally happy currently, so I'd like the console to be available
19:48 kurahaupo joined #perl6
19:49 kurahaupo joined #perl6
19:53 kurahaupo_ joined #perl6
19:56 denis_boyun joined #perl6
20:06 dalek Perlito: 66c192b | (Flavio S. Glock)++ | html/perlito5to6.html:
20:06 dalek Perlito: Perlito5 - perl6 - example
20:06 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/66c192b46e
20:14 kurahaupo joined #perl6
20:17 kurahaupo joined #perl6
20:33 kurahaupo_ joined #perl6
20:44 iSlug joined #perl6
20:44 yannickberthoud joined #perl6
21:03 * lizmat thinks she has finished backlogging
21:09 Mouq joined #perl6
21:26 cxreg highly relevant to nqpjs: http://www.youtube.com/watch?v=VhpdsjBUS3g
21:31 jnthn http://6guts.wordpress.com/2013/10/11/nqp-gets-​moarvm-support-cursor-reduction-and-other-news/
21:37 sciurius joined #perl6
21:39 [Coke] jnthn++
21:44 BenGoldberg joined #perl6
21:51 Mouq »'2' is not a valid number at line 685, near ",\n    2,\n "«
21:53 jnthn Ugh, somebody else got that...
21:53 lee_ i did get that as well
21:53 jnthn OK. Platform(s)?
21:53 Mouq darwin
21:54 jnthn 64-bit?
21:54 Mouq yes
21:54 lee_ yes and yes
21:54 lee_ https://gist.github.com/leedo/fdc2f3338a26d812f249
21:54 lee_ from my latest attempt
21:56 Mouq Also, can anyone build NQP after using --optimize on Moar's Configure.pl?
21:56 jnthn Yes
21:56 jnthn Build and full test pass
21:57 jnthn (Windows, 64-bit)
21:58 jnthn I assume you both already have latest, including d0e69a5 which I hoped may fix this number parsing issue?
21:58 Mouq Yes
21:58 jnthn OK
21:59 lee_ yep
22:00 Mouq Just verified; with --optimize, the build dies even sooner with `make: *** [src/stage1/NQPCORE.setting.moarvm] Segmentation fault: 11`
22:01 BenGoldberg S999999999999999999999:9999999999999999999999
22:01 synopsebot Link: http://perlcabal.org/syn/S99999999999999​9999999.html#line_9999999999999999999999
22:01 BenGoldberg re: #1234567890
22:01 synopsebot Link: https://rt.perl.org/rt3//Public​/Bug/Display.html?id=1234567890
22:02 lee_ just tried again with a clean moarvm install, and same '57' is not a valid number
22:02 jnthn Mouq, lee_: gcc or clang?
22:03 lee_ clang, though I did just upgrade the OS. so maybe it is related to that
22:03 Mouq …whichever's default?
22:03 jnthn If clang, building MoarVM with --instrument may yield some useful debugging output...
22:04 jnthn lee_: Nah, it'll be a MoarVM bug. Building NQP is the first chance we've had to run real, non-trivial stuff on it, so it's shaking out various things.
22:04 lee_ jnthn: https://gist.github.com/leedo/5bbe044150bdd2554a77
22:04 lee_ doesn't like the --instrument option
22:05 jnthn lee_: Aww, too bad
22:05 jnthn lee_: Yeah, it depends on a new enough clang, I think
22:05 jnthn (One with address sanitizer)
22:05 diakopter clang 3.3
22:05 lee_ ah ok, i am due for an XCode upgrade, but I'm not sure that will do it
22:05 diakopter should
22:06 lee_ ok, give me a few hours :P
22:06 diakopter :D
22:06 diakopter lee_: thanks for trying it out, when in it's in such a pre-ready state :)
22:06 lee_ it's a fun distraction from $work
22:09 Mouq Using --compiler gcc *seems* to be working for me
22:14 Mouq Awesome! Built and make test passes!
22:14 lee_ it doesn't seem to work here, but my gcc appears to actually be llvm
22:15 diakopter it installs real gcc somewhere too
22:15 * diakopter downloads http://llvm.org/releases/3.3/clang+l​lvm-3.3-x86_64-apple-darwin12.tar.gz
22:18 Mouq Okay, one more :) is "Failed to seek in filehandle: 9␤frame_name_603" a known product of trying to run the repl/pipe input to nqp-m? If it's just me, don't sweat it, I clearly need to update stuff
22:19 diakopter I doubt anyone's testing piping to the repl
22:19 diakopter *tested
22:19 jnthn The repl is still le busted
22:19 diakopter oh, also, it's just a shell script, right?
22:19 jnthn diakopter: Don't think that's an issue
22:19 Mouq ok
22:19 jnthn diakopter: It fails even if you just "./nqp" and type something
22:20 diakopter oopsie dyld: Library not loaded: /Users/macs/Developer/llvm/final/Phase3/Release​-64/llvmCore-3.3-final.obj/Release/lib/clang/3.​3/lib/darwin/libclang_rt.asan_osx_dynamic.dylib Referenced from: /Users/mwilson/src/install/bin/moar
22:21 diakopter not sure why it's looking there
22:21 diakopter ... since it's not installed at all
22:21 rurban This is only for -fsanitize=address
22:21 diakopter who is user macs
22:21 diakopter right, but how do I tell the Makefile where to find the library
22:22 rurban I've compiled my own clang and there it works okay. binary build forgot about asan I think
22:23 diakopter actually the file is there
22:23 diakopter just need to give it the right path
22:24 diakopter er, or symlink it to this dir?
22:25 diakopter er hm, it seems to really want to look in that dir....
22:25 * diakopter creates it :)
22:27 rurban yeah
22:28 diakopter heh, that worked
22:28 rurban I like clang-3.4 most
22:28 rurban but gcc asan is the worst
22:28 diakopter me2.. it has asan_symbolize or whatever it's called
22:28 * diakopter sends jnthn a mac
22:28 rurban this needs an env var
22:29 diakopter jnthn: watch, it won't be reproducible with clang 3.3 :)
22:29 rurban also try out -sanitize=threads for the really tricky errors
22:29 diakopter oh; I thought we had that already
22:29 rurban I caught a few in parrot threads
22:30 diakopter maybe not_gerd forgot it when porting
22:30 rurban BTW: my remaining potion errors are all make-3.81 related, make-4.0 fixes all. Just in case
22:33 diakopter ouch; building nqp with --instrument takes.... a very long time :O
22:33 diakopter "I'll be checking every memory access one by one..."
22:34 dmol joined #perl6
22:36 diakopter rurban: do you know how to tell asan about your own allocator so it can track those too?
22:37 lee_ darn, updated XCode and same clang error
22:38 diakopter I'm trying to repro
22:41 rurban hmm, asan intercepts a few libc functions, like malloc, new and string handling funcs. Will be hard. But it tracks my GC correctly
22:42 rurban I'm just omitting stack tricks
22:42 rurban like ucontext calls and setting %esp directly
22:43 diakopter how does it know when your gc is allocating?
22:44 rurban I call mmap
22:44 diakopter why?
22:46 colomon jnthn++ # blog post
22:47 dmol1 joined #perl6
22:48 [Coke] colomon: I've taken the path of fudging niecza when things break. I figure we can use blame to see when things were fudged, but that having a clean slate is more important if you or sorear find tuits.
22:48 lee_ diakopter: i need to head out, but my clang version is: Apple LLVM version 5.0 (clang-500.2.75) (based on LLVM 3.3svn)
22:48 [Coke] 'sokay?
22:48 rurban because I like to use HW page protection in my GC, it's semi-space, copying.
22:49 lizmat sleep&
22:49 rurban lee_: the apple clang has no asan yet.
22:49 lee_ ah, i see
22:49 [Coke] lizmat: ~~ nite
22:50 jnthn 'night, lizmat
22:50 rurban me too. movies
22:50 diakopter jnthn: https://gist.github.com/dia​kopter/87c9d177184c1cc1ff02
22:50 * diakopter goes to look for the python script to symbolize
22:52 rurban I also have a perl symbolizer for asan somewhere in my githib home/bin
22:52 diakopter share? :)
22:52 jnthn diakopter: Can you symbolize it?
22:52 [Coke] diakopter: moar has a tc op that it doesn't use, and neither other backend has.
22:52 [Coke] er, nqp-moar
22:53 diakopter k... :)
22:53 rurban xx
22:53 jnthn [Coke]: The others shuffle that into Rakudo...
22:53 jnthn [Coke]: They should probably all do it at NQP level
22:53 rurban I'm just calling objdump or so
23:02 BenGoldberg nqp: say( NQPMatch )
23:02 camelia nqp: OUTPUT«Cannot look up attributes in a type object␤current instr.: 'Str' pc 18620 (src/stage2/QRegex.pir:7461) (src/stage2/QRegex.nqp:1113)␤»
23:02 BenGoldberg nqp-jvm: say( NQPMatch )
23:02 camelia nqp-jvm: OUTPUT«Cannot look up attributes in a type object␤  in Str (src/stage2/gen/QRegex.nqp:1113)␤  in  (src/stage2/gen/NQPCORE.setting:672)␤  in print (src/stage2/gen/NQPCORE.setting:671)␤  in say (src/stage2/gen/NQPCORE.setting:678)␤  in  (/tmp/NzKo3JURiP:1)␤  in  (…»
23:02 BenGoldberg nqp-m: say( NQPMatch )
23:02 camelia nqp-moarvm: OUTPUT«Bytecode validation error at offset 22, instruction 4:␤register operand index 50 out of range 0..9␤»
23:04 diakopter jnthn: same gist
23:07 diakopter jnthn: :S maybe my interp.c is different :S
23:08 sftp joined #perl6
23:09 itz_ joined #perl6
23:10 diakopter nope.. it's dying on trying to find the exitcode from a local register
23:10 diakopter so somehow the frame is being freed just before exiting..
23:10 jnthn yeah, wtf...
23:11 diakopter what in the world calls the exit op
23:11 jnthn Or it's the wrong frame...
23:11 jnthn oh, I think I know that
23:11 jnthn src/HLL/Compiler.nqp:268
23:12 diakopter ok, so it's hiding some other error
23:13 diakopter oh.... it wrote the stacktrace to the output file :S
23:14 diakopter er, it tried to
23:16 diakopter jnthn: er, disregard my last 3 messages :)
23:19 dmol joined #perl6
23:21 diakopter jnthn: at least it wasn't a gc thing ;)  .oO( oh wait... )
23:22 dalek nqp: 6fd943d | coke++ | docs/ops.markdown:
23:22 dalek nqp: document tc opcode
23:22 dalek nqp: review: https://github.com/perl6/nqp/commit/6fd943d6c6
23:23 * [Coke] thanks moarvm for helping him on his "at least one opcode a day" quest.
23:25 cognominal joined #perl6
23:32 pecastro_ joined #perl6
23:33 dalek perl6-roast-data: 35a9b2e | coke++ | / (4 files):
23:33 dalek perl6-roast-data: today (automated commit)
23:33 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/35a9b2edba
23:39 jnthn diakopter: The corruption that causes the excepeijpt will be a Gc thing
23:39 diakopter right, hence the wink
23:44 colomon [Coke]++
23:45 * colomon feels bad about his lack of tuits, but it's yet another evening of $working for him.
23:46 colomon BTW, folks, Druid, Text::Markov, Text::Abbrev, CSS::Language, Farabi6, GD, and Lingua::Number have all started failing in the last two weeks.
23:50 * TimToady wonders how many of those depend on *.[]
23:50 colomon The only thing I noticed (I think) was that Text::Markov depended on KeyBag
23:50 TimToady or KeyBags
23:58 TimToady well, at least we're a long way from the day when "It's a good thing there's more than one way to do it, because most of them don't work."
23:58 * diakopter refrains from mock-snark for once

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs