Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-04-19

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:01 [particle]1 joined #perl6
00:02 [particle] left #perl6
00:03 Limbic_Region joined #perl6
00:10 TimToady starcoder: googletown
00:10 starcoder lol
00:10 starcoder TimToady: NEIN
00:18 dayangkun left #perl6
00:32 cognominal left #perl6
00:33 cognominal joined #perl6
00:41 lichtkind joined #perl6
00:42 colomon joined #perl6
00:42 risou joined #perl6
00:46 Tene I didn't feel it, but I think I was napping at the time.
00:49 wooden joined #perl6
01:08 woosley joined #perl6
01:08 Moukeddar left #perl6
01:09 cdarroch left #perl6
01:20 [particle]1 left #perl6
01:25 whiteknight left #perl6
01:44 risou_ joined #perl6
01:47 risou left #perl6
01:49 rdesfo joined #perl6
02:01 ymasory_ joined #perl6
02:03 Lorn left #perl6
02:07 Lorn joined #perl6
02:10 starcoder perl6: nein;
02:10 starcoder lol
02:10 starcoder p6eval: nein;
02:10 p6eval pugs: OUTPUT«*** No such subroutine: "&nein"␤    at /tmp/ZxTXVypWbz line 1, column 1-5␤»
02:10 p6eval ..rakudo 887bb5: OUTPUT«Could not find sub &nein␤  in main program body at line 22:/tmp/i4ytm9Prur␤»
02:10 p6eval ..niecza v4-66-g11b04b4: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Undeclared routine:␤      'nein' used at line Any()1␤␤Unhandled exception: Check failed␤␤  at /home/p6eval/niecza/boot/lib/CORE.setting line 388 (CORE die @ 2)␤  at /home/p6eval/niecza/src/STD.pm6 line 1141 (STD P6.comp_unit @ 75)␤  at
02:10 p6eval ../home/p6eval/niecza…
02:10 starcoder :|
02:11 starcoder p6eval: rakudo: nein;
02:11 p6eval starcoder: rakudo 887bb5: OUTPUT«Could not find sub &nein␤  in main program body at line 22:/tmp/yLUvwv5sic␤»
02:11 starcoder lol
02:12 Tedd1 left #perl6
02:12 Tedd1 joined #perl6
02:15 cognominal left #perl6
02:18 rdesfo left #perl6
02:21 starcoder p6eval: say foo;
02:21 starcoder p6eval: rakudo: say 'foo;
02:21 starcoder p6eval: rakudo: say 'foo';
02:21 p6eval starcoder: rakudo 887bb5: OUTPUT«===SORRY!===␤Confused at line 22, near "say 'foo;"␤»
02:21 p6eval starcoder: rakudo 887bb5: OUTPUT«foo␤»
02:22 starcoder p6eval: rakudo: for (1..3) { say 'foo' }
02:23 p6eval starcoder: rakudo 887bb5: OUTPUT«foo␤foo␤foo␤»
02:23 starcoder heh
02:24 cognominal joined #perl6
02:27 nymacro joined #perl6
02:35 mtk left #perl6
02:39 Alias_ joined #perl6
02:41 mtk joined #perl6
02:42 Alias left #perl6
02:48 mfollett joined #perl6
02:49 mfollett moritz:  Are you around?
02:51 tyatpi joined #perl6
02:57 [particle] joined #perl6
03:03 ymasory_ left #perl6
03:07 hudnix left #perl6
03:26 lichtkind left #perl6
03:27 Limbic_Region left #perl6
03:34 tyatpi left #perl6
03:36 shachaf left #perl6
03:37 shachaf joined #perl6
03:45 cheenomatic joined #perl6
03:47 molaf joined #perl6
03:55 satyavvd joined #perl6
04:02 ymasory left #perl6
04:17 araujo left #perl6
04:18 orafu left #perl6
04:18 orafu joined #perl6
04:21 araujo joined #perl6
04:32 molaf left #perl6
04:43 Alias joined #perl6
04:43 araujo left #perl6
04:45 Alias_ left #perl6
04:48 donri joined #perl6
04:50 birdwindupbird joined #perl6
04:56 Alias left #perl6
04:57 cheenomatic left #perl6
04:59 agentzh joined #perl6
05:01 risou_ left #perl6
05:01 araujo joined #perl6
05:19 yves_ left #perl6
05:20 sivoais joined #perl6
05:29 yves_ joined #perl6
05:37 Zapelius_ left #perl6
05:40 yves_ left #perl6
05:42 yves_ joined #perl6
05:47 mberends left #perl6
05:48 wtw joined #perl6
05:49 mfollett left #perl6
05:56 birdwindupbird left #perl6
05:57 birdwindupbird joined #perl6
05:59 moritz good morning
06:06 stkowski left #perl6
06:09 birdwindupbird moritz: good morning!
06:10 wooden left #perl6
06:13 kjeldahl joined #perl6
06:19 woosley \o, good afternoon^^
06:32 miso2217_ morning o/
06:42 tadzik good morning
06:58 justatheory left #perl6
06:58 woosley std: {sub f(){}} f();
06:58 p6eval std 3468e14: OUTPUT«[31m===[0mSORRY![31m===[0m␤Strange text after block (missing comma, semicolon, comment marker?) at /tmp/sCiXIMzUQl line 1:␤------> [32m{sub f(){}}[33m⏏[31m f();[0m␤    expecting any of:␤  bracketed infix␤        infix or meta-infix␤    statement modifier loop␤Other
06:58 p6eval ..potential difficult…
06:59 woosley std: {sub f(){}}; f();
06:59 p6eval std 3468e14: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared routine:␤ 'f' used at line 1␤Potential difficulties:␤  &f is declared but not used at /tmp/SsbR54oiqK line 1:␤------> [32m{sub f[33m⏏[31m(){}}; f();[0m␤Check failed␤FAILED 00:01 120m␤»
06:59 cosimo joined #perl6
07:00 woosley perl6: {sub x{say "x"}}; x();
07:00 p6eval pugs: OUTPUT«x␤»
07:00 p6eval ..rakudo 887bb5: OUTPUT«Could not find sub &x␤  in main program body at line 22:/tmp/JhKnxG_zqa␤»
07:00 p6eval ..niecza v4-66-g11b04b4: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Undeclared routine:␤      'x' used at line Any()1␤␤Potential difficulties:␤  &x is declared but not used at /tmp/xC72mFSDs1 line 1:␤------> [32m{sub x[33m⏏[31m{say "x"}}; x();[0m␤␤Unhandled exception: Check failed␤␤  at
07:00 p6eval ../home/p6eval/niecza/boot/lib/CO…
07:01 woosley std: {sub x{say "x"}}; x();
07:01 p6eval std 3468e14: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared routine:␤ 'x' used at line 1␤Potential difficulties:␤  &x is declared but not used at /tmp/HcINxqh5tH line 1:␤------> [32m{sub x[33m⏏[31m{say "x"}}; x();[0m␤Check failed␤FAILED 00:01 119m␤»
07:01 sorear woosley: subs are lexically scoped
07:02 woosley it is different from perl5
07:09 wtw left #perl6
07:13 bacek joined #perl6
07:19 moritz you can get the old behavior with 'our sub x { ... }'
07:21 kst left #perl6
07:21 jnthn morning o/
07:22 moritz \o
07:22 * moritz just found a cool open source project he might be able to use for $work
07:22 moritz http://optilux.sourceforge.net/
07:23 mj41 joined #perl6
07:23 moritz ever wanted to simulate a coherent optical communication system? :-)
07:23 jnthn Oddly, I've never felt a need to do that.
07:24 jnthn Maybe I'm just uncultured. :)
07:29 cognominal left #perl6
07:30 moritz jnthn: it's the beard :-)
07:31 cognominal joined #perl6
07:32 jnthn :P
07:35 Mowah joined #perl6
07:39 __rnddim__ joined #perl6
07:43 wtw joined #perl6
07:44 colomon_ joined #perl6
07:45 cosimo left #perl6
07:45 colomon left #perl6
07:45 s1n left #perl6
07:45 lue left #perl6
07:45 colomon_ is now known as colomon
07:52 s1n joined #perl6
08:01 kjeldahl left #perl6
08:01 kjeldahl joined #perl6
08:05 Axius joined #perl6
08:05 domidumont left #perl6
08:05 domidumont joined #perl6
08:07 JimmyZ joined #perl6
08:24 dakkar joined #perl6
08:30 miso2217 hello, is there some documentation on error reporting for perl6 grammars? I found only the paragraph on the ~ in S05 but there must be more options available. Any pointers?
08:31 moritz miso2217: STD.pm6 has lots of examples
08:34 miso2217 git clonned sdt, thx
08:44 JimmyZ left #perl6
08:50 s1n left #perl6
09:03 s1n joined #perl6
09:04 dalek modules.perl6.org: 3d9c018 | tadzik++ | web/build-project-list.pl:
09:04 dalek modules.perl6.org: Add README.mkd to a readme detection (fixes Text-Tabs-Wrap and possibly some others
09:04 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/3d9c018f96
09:05 fhelmberger joined #perl6
09:05 flussence :D
09:19 Rotwang joined #perl6
09:19 woosley perl6: sub f{ return sub {say @_}}; my $a = f(1);  $a.(1);
09:19 p6eval pugs, niecza v4-66-g11b04b4: OUTPUT«1␤»
09:19 p6eval ..rakudo 887bb5: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤  in 'f' at line 1:/tmp/m410tbtu0Z␤  in main program body at line 22:/tmp/m410tbtu0Z␤»
09:20 woosley rakudo: sub f{ return sub {say @_}}; my $a = f();  $a.(1);
09:20 p6eval rakudo 887bb5: OUTPUT«1␤»
09:21 moritz woosley: you should really start to use whitespaces before parens/brackets
09:21 * jnthn agrees with Rakudo here - the @_ that gives an inner sub a *@_ signature shouldn't really be giving the outer sub one also.
09:21 moritz woosley: otherwise there'll be cases where it's misparsed as a postcircumfix, and you'll spend hours searching for it
09:22 Axius left #perl6
09:32 woosley perl6: sub f { say @_; return sub { say 1 }}; my $a = f(1); say $a.(1);
09:32 p6eval niecza v4-66-g11b04b4: OUTPUT«1␤1␤Bool::True␤»
09:32 p6eval ..pugs: OUTPUT«1␤1␤1␤»
09:32 p6eval ..rakudo 887bb5: OUTPUT«1␤Too many positional parameters passed; got 1 but expected 0␤  in <anon> at line 22:/tmp/5vNTyYQlQr␤  in main program body at line 22:/tmp/5vNTyYQlQr␤»
09:33 jnthn niecza: sub f { }; sub g() { }; f(1,2,3); g(1,2,3);
09:33 p6eval niecza v4-66-g11b04b4: OUTPUT«Unhandled exception: Excess arguments to MAIN f, used 1 of 3 positionals␤  at /tmp/l8s0sR2At9 line 0 (MAIN f @ 0)␤  at /tmp/l8s0sR2At9 line 1 (MAIN mainline @ 1)␤  at /home/p6eval/niecza/lib/CORE.setting line 1311 (CORE C552_ANON @ 2)␤  at
09:33 p6eval ../home/p6eval/niecza/lib/CORE.setting line …
09:33 jnthn pugs: sub f { }; sub g() { }; f(1,2,3); g(1,2,3);
09:33 p6eval pugs: OUTPUT«*** No compatible multi variant found: "&g"␤    at /tmp/6zLz6w4d2o line 1, column 35-43␤»
09:34 jnthn Ah, so Pugs dates back to when no signature != empty signature.
09:34 moritz niecza: sub f { say @_; return sub () { say 1 }}; my $a = f(1); say $a.(1);
09:34 p6eval niecza v4-66-g11b04b4: OUTPUT«1␤Unhandled exception: Excess arguments to MAIN C2_ANON, used 0 of 1 positionals␤  at /tmp/8Fo0WuOIfM line 0 (MAIN C2_ANON @ 0)␤  at /tmp/8Fo0WuOIfM line 1 (MAIN mainline @ 3)␤  at /home/p6eval/niecza/lib/CORE.setting line 1311 (CORE C552_ANON @ 2)␤  at
09:34 p6eval ../home/p6eval/niecza/lib/CORE…
09:34 moritz jnthn: back then, empty signature was (*@_, *%_)
09:34 jnthn moritz: *nod*
09:35 moritz now it only includes @_ or %_ if it's mentioned in the routine body
09:35 jnthn aye
09:35 woosley moritz:  I think rakudo should be smart enough,  requiring a space before brace dosen't sound reasonable to me
09:36 * moritz agress with rakudo and jnthn too btw
09:36 moritz woosley: it doesn't require it in that case, but there are a lot of other cases where there might be an ambiguty
09:36 moritz woosley: which is why it's a good habit to put spaces between identifiers and punctuation whenever that is allowed
09:37 moritz rakudo: say 1 < 2
09:37 p6eval rakudo 887bb5: OUTPUT«Bool::True␤»
09:37 moritz rakudo: say 1<2
09:37 p6eval rakudo 887bb5: OUTPUT«Bool::True␤»
09:37 moritz huh?
09:37 moritz std: say 1<2
09:37 p6eval std 3468e14: OUTPUT«[31m===[0mSORRY![31m===[0m␤Whitespace required before < operator at /tmp/OVg08EZicz line 1:␤------> [32msay 1<[33m⏏[31m2[0m␤    expecting escape␤Parse failed␤FAILED 00:01 119m␤»
09:37 moritz rakudo is even too permissive :-)
09:37 jnthn Think Rakudo is less strict than STD still.
09:37 woosley \o
09:37 moritz 1<2 should be parsed as the beginning of 1<2>, which is a valid subscript
09:38 PZt left #perl6
09:42 woosley so, basically, in perl6, no signature means empty sigature?
09:43 moritz no
09:43 moritz 11:35 < moritz> now it only includes @_ or %_ if it's mentioned in the routine body
09:43 moritz see S06 for details
09:48 woosley rakudo: sub f { say @_, return sub { say @_ }}; my $a = f(1); say $a.(1);
09:48 p6eval rakudo 887bb5: OUTPUT«1␤Bool::True␤»
09:48 woosley :-D
09:56 woosley oh, no, it dosen't print the @_ in sub f{}
09:57 woosley rakudo: sub f { say @_, return sub { say 5, @_}}; my $a = f(1); $a.(1,2,4);
09:57 p6eval rakudo 887bb5: OUTPUT«5124␤»
09:57 woosley rakudo: sub f { say 5, @_; return sub { say @_}}; my $a = f(1); $a.(1,2,3);
09:57 p6eval rakudo 887bb5: OUTPUT«51␤123␤»
09:58 woosley O:-)
10:02 woosley left #perl6
10:17 tadzik flussence: btw, why isn't that Text::Tabs::Wrap?
10:20 mtk left #perl6
10:22 flussence historical reasons, I think.
10:22 flussence and I didn't want to change it because they're 2 separate modules and it doesn't quite look right
10:25 Rotwang left #perl6
10:25 MayDaniel joined #perl6
10:26 pmurias joined #perl6
10:27 kjeldahl left #perl6
10:27 pmurias what's the state of editor/ide support for writting Perl6?
10:28 mtk joined #perl6
10:29 moritz perl6.vim is decent
10:29 flussence vim-perl supports perl6 about as well as rakudo itself, I'd say
10:29 moritz padre is supposed to work too
10:29 flussence (it works, but it's glacially slow sometimes :)
10:30 flussence (to be fair vimscript isn't exactly optimised for speed... or readability)
10:32 arnsholt It's when I contemplate vimscript I really want to get my CL-vimlike project off the ground
10:33 pmurias CL-vimlike being vim in commmon lisp?
10:33 arnsholt Something like that, yeah
10:33 MayDaniel left #perl6
10:34 arnsholt It's not exactly a fully thought-out idea, but a vim (or similar) programmable in a less insane language would be cool
10:34 pmurias moritz: perl6.vim only provides syntax highlighting
10:34 pmurias arnsholt: vim can be compiled to embed perl
10:35 arnsholt Yeah, I should probably look into that first =)
10:41 kjeldahl joined #perl6
10:47 miso2217 pmurias: I have pre-alfa perl6 highlighting definition file for kate
10:55 coldhead left #perl6
11:05 tadzik oh, Text::Tabs and Text::Wrap, I see
11:15 agentzh left #perl6
11:19 kjeldahl left #perl6
11:23 dalek niecza: 1f44650 | pmurias++ | hoopl/ (4 files):
11:23 dalek niecza: [hoopl] added a dead register store elimination pass
11:23 dalek niecza: review: https://github.com/sorear/niecza/commit/1f44650016
11:36 pernatiy left #perl6
11:54 barika left #perl6
11:54 hatseflats left #perl6
11:54 revdiablo left #perl6
11:54 eternaleye left #perl6
11:54 szbalint left #perl6
11:54 colomon o/
11:54 phenny colomon: 17 Apr 19:09Z <tadzik> tell colomon IO::Prompter's META.info has a missing dep (Testing), mind adding it?
11:54 Patterner left #perl6
11:56 Psyche^ joined #perl6
11:56 Psyche^ is now known as Patterner
11:57 colomon tadzik: done
11:57 tadzik thanks
11:58 szbalint joined #perl6
11:59 jnthn o/ colomon
11:59 colomon jnthn!  \o/
12:00 moritz ~~o/\o~~
12:00 kjeldahl joined #perl6
12:00 shi joined #perl6
12:01 barika joined #perl6
12:01 hatseflats joined #perl6
12:01 revdiablo joined #perl6
12:01 eternaleye joined #perl6
12:01 colomon how are things going?  I spent the last five days at Ambercon, and while I had #perl6 open, I almost completely ignored it.  :)
12:01 kjeldahl left #perl6
12:01 kjeldahl joined #perl6
12:01 jnthn colomon: I've been busy but my tuit supply is recovering.
12:01 jnthn Curerntly I have all Thursday just for Perl 6. :) And some time over Easter break. :)
12:01 colomon \o/
12:01 hudnix joined #perl6
12:02 jnthn Was in Taiwan, then rescuing a project that got messed up, then teaching... :)
12:03 satyavvd left #perl6
12:05 meswami joined #perl6
12:11 meswami left #perl6
12:25 PZt joined #perl6
12:26 meswami joined #perl6
12:28 shi left #perl6
12:32 pernatiy joined #perl6
12:37 shi joined #perl6
12:47 pmichaud good morning, #perl6
12:47 moritz \o pmichaud
12:48 tadzik hello pmichaud
12:49 jnthn o/ pmichaud
12:50 Holy_Cow joined #perl6
13:03 kaare_ left #perl6
13:05 Axius joined #perl6
13:06 meswami left #perl6
13:07 colomon pmichaud!  \o/
13:19 am0c joined #perl6
13:33 PerlJam greetings #perl6
13:34 tadzik greetings
13:35 colomon \o
13:36 moritz wow, we're ultra polite, spent the last 3/4 hour just with greetings :-)
13:36 pmichaud buzz off.
13:36 pmichaud (is that better?)
13:36 BinGOs Like the Waltons on Acid.
13:37 moritz now we're at least meta-discussing. That's better :-)
13:37 Moukeddar joined #perl6
13:38 * mathw is a Walton :)
13:38 moritz :-)
13:38 nadim left #perl6
13:38 jnthn mathw: But are you on acid?
13:38 mathw No
13:38 kaare__ joined #perl6
13:38 mathw I'm on Java today, but it's not like acid
13:38 mathw I don't hallucinate, I get angry instead
13:39 Moukeddar lol
13:39 Moukeddar and you pull your hair
13:39 mathw Although I may have had a minor hallucination earlier when I thought my code actually worked
13:39 pmichaud I'm frequently on carbonic acid -- does that count?
13:39 moritz mathw: sulphuric asid would have the same effect - like acid :-)
13:39 moritz *acid
13:39 Moukeddar hate the java JAR thingy
13:39 mathw Moukeddar: I can't pull my hair at the moment, I had it neatened up for a wedding and there's not enough of it to grip :(
13:39 JimmyZ_ joined #perl6
13:40 mathw Moukeddar: I hate a lot of things about Java. I'm well-known among my colleagues for it. Still have to do the occasional bit of Java coding though.
13:40 Moukeddar hehe
13:40 Moukeddar occasional
13:40 Moukeddar i delivered my java homework in C#
13:41 Moukeddar and the teacher laughed his ars out
13:41 mathw That's a strange kind of Java homework
13:41 mathw C# is preferable to Java though
13:41 Moukeddar i love C#
13:41 mathw I can tolerate it
13:41 mathw It's got some nice bits
13:41 Moukeddar exactly
13:41 Moukeddar you code with style
13:41 jnthn I much prefer C# to Java. You can actually do higher order programming... :)
13:41 Moukeddar especially with LINQ :)
13:41 mathw yeah that's what I like about it
13:41 mathw anonymous delegates
13:42 Moukeddar anonymous types
13:42 mathw wonderful, wonderful things to have around
13:42 jnthn Well, and actual syntax for lambdas.
13:42 mathw especially in a multithreaded program
13:42 Moukeddar i'm in love
13:42 mathw heh I've never used lambda syntax
13:42 mathw last time I used C# it was 2.0
13:42 Moukeddar it's sweet
13:42 Moukeddar for fast functions :)
13:42 mathw but it's just sugar for anonymous delegates as I understand it
13:42 Moukeddar C# 2.0 didn't have lambda
13:42 mathw so functionality-wise I had the same stuff
13:43 Moukeddar i'm thinking about learning F# i  heard good things about it
13:43 Moukeddar it's like a Perl for .NET
13:43 Moukeddar :)
13:43 hanekomu joined #perl6
13:44 * pmichaud remembers when PerlJam++ turned in his COBOL assignments written in Perl  :-)
13:45 Moukeddar lol
13:45 Moukeddar so you do it too ?
13:46 PerlJam They still teach COBOL too.
13:46 Moukeddar holy moly
13:46 Moukeddar really ?
13:46 pmichaud I didn't realize that.  :-)
13:46 Moukeddar here they still do pascal :)
13:47 PerlJam pmichaud: Had a talk with one of my student workers about it just the other day.  Binkerd is still teaching it even!
13:47 pmichaud well, I would expect it to be Binkerd or Busch, yes.  :-)
13:48 PerlJam I don't think it's part of the core curriculum anymore though
13:48 Moukeddar dinosaurs :)
13:48 pmichaud they probably offer it for the CIS majors
13:49 moritz is that like C minor or something? :-)
13:50 colomon More like B major.  :p
13:50 Moukeddar lol
13:50 pmichaud colomon++
13:51 Moukeddar damn it i'll have an exam in 16 subject in 8 weeks :p
13:53 mtk left #perl6
13:57 sorear good * #perl6
13:57 mathw well people still need to maintain COBOL code
13:57 mathw so I suppose we need at least a trickle of new COBOL programmers
13:58 mathw F# does look quite interesting, since it's a possible sign of functional paradigms getting more mainstream
13:58 mtk joined #perl6
13:58 mathw it's still not Haskell though
13:58 sorear well we need new programmers
13:59 sorear any programmer who can't learn a new language on the job isn't worthy of the name
13:59 Moukeddar mathw, hipsters won't be happy about it :p
14:00 Moukeddar sorear, what if he was a student :p
14:00 Moukeddar ?
14:01 mathw students should be learning new languages on a regular basis anyway
14:01 mathw I always thought it was wrong that my uni had Prolog and C++ modules but they weren't compulsory
14:02 Moukeddar i find it easy to learn new stuff
14:02 Moukeddar programmer have different mind workflow :)
14:02 Moukeddar for example when i see a game or a science fiction UI
14:02 moritz mathw: making thing compulsory isn't a solution most of the time
14:02 Moukeddar all i think of is : how did they achieve that :)
14:03 PerlJam learning a language isn't so important as learning the "big concepts" that a language makes use of.
14:03 mathw moritz: I suppose not, you have to teach people why it's important too or you just get a repetition of my Functional Programming module
14:03 moritz mathw: aye. Some comparison of the strengths and weaknesses of the different paradigms might be good teaching material
14:04 Moukeddar PerlJam, that's it :)
14:04 mathw moritz: Oh, that was included, they just didn't pay attention
14:04 moritz mathw: but that would require that the teachers be well-versed in all major paradigms :-)
14:04 moritz mathw: IME that's not always the case
14:04 mathw I think someone must've already fed most of them the Java propaganda at that point
14:04 mfollett joined #perl6
14:04 mfollett left #perl6
14:05 mathw the FP lecturer was of course well-versed in what strengths and weaknesses functional has over broken OOP
14:05 Moukeddar broken oop ?
14:05 mathw yes, the kind Java does :)
14:05 Moukeddar lol
14:05 Moukeddar how about C#'s
14:05 Moukeddar ?
14:05 mathw that's also kind of broken IMO
14:06 moritz much less horrible though
14:06 pmichaud PerlJam: I disagree somewhat.  I think it's important to learn at least one language very well, and _then_ look a bit more at the bigger concepts.
14:06 moritz Eiffel has quite a nice object model
14:06 moritz pity it makes it hard to do easy things
14:06 PerlJam pmichaud: Aye, I really meant to say "learning a _new_ language" with the presumption that you know at least one
14:06 Moukeddar i'll stick with C#
14:07 Moukeddar and mess with perl :)
14:07 mathw There are definite advantages to knowing one language really really well
14:08 Moukeddar gtg
14:08 mathw in that you can actually be very productive in it and be very useful
14:08 Moukeddar later guys
14:08 PerlJam mathw: especially if that language is Perl  ;)
14:08 Moukeddar left #perl6
14:08 mathw PerlJam: not around here unfortunately - you have to be a C++ or Java expert
14:09 moritz mathw: it's also a trap. It makes it easy to say "he, I know $lang so well that it will take me far too long to learn $other_lang to the same level", and stop learning other language
14:10 mathw yes, one should ideally also be reasonably capable of using other languages
14:10 mathw although I wouldn't expect anybody to know the libraries of more than one or two languages inside-out
14:11 sji joined #perl6
14:11 eternaleye_ joined #perl6
14:14 hatsefla1s joined #perl6
14:14 orevdiabl joined #perl6
14:14 barika_ joined #perl6
14:15 Arcus joined #perl6
14:15 justatheory joined #perl6
14:15 Moukeddar joined #perl6
14:16 shi left #perl6
14:16 eternaleye left #perl6
14:16 hatseflats left #perl6
14:16 revdiablo left #perl6
14:16 Axius left #perl6
14:16 barika left #perl6
14:16 Moukeddar left #perl6
14:18 wtw left #perl6
14:21 Arcus left #perl6
14:22 wooden joined #perl6
14:23 hillu_ is now known as hillu
14:23 am0c left #perl6
14:24 hanekomu left #perl6
14:26 pmurias left #perl6
14:36 am0c joined #perl6
14:43 icwiener joined #perl6
14:43 JimmyZ_ left #perl6
14:45 am0c left #perl6
14:54 barika_ is now known as barika
14:54 domidumont left #perl6
15:05 kjeldahl left #perl6
15:10 kjeldahl joined #perl6
15:11 pyrimidine joined #perl6
15:12 domidumont joined #perl6
15:14 ymasory joined #perl6
15:16 hercynium joined #perl6
15:24 alester joined #perl6
15:30 spq joined #perl6
15:31 donri left #perl6
15:33 eternaleye_ is now known as eternaleye
15:33 Khisanth left #perl6
15:51 Khisanth joined #perl6
16:00 Moukeddar joined #perl6
16:04 sji left #perl6
16:06 takadonet left #perl6
16:06 Moukeddar left #perl6
16:07 isBEKaml joined #perl6
16:10 mberends joined #perl6
16:12 * mberends begins trying all the 2010 Perl 6 Coding Contest entries on Niecza
16:18 cdarroch joined #perl6
16:18 cdarroch left #perl6
16:18 cdarroch joined #perl6
16:23 risou joined #perl6
16:24 MayDaniel_ joined #perl6
16:24 isBEKaml (backlogging) heh, there was someone here complaining about long compilation times on a PIII? I'm on one too and I compile only once in about 6 months! :P
16:24 * isBEKaml ducks
16:26 mberends isBEKaml: is that because the it takes you 5 months to compile Rakudo?
16:27 isBEKaml mberends: Possibly. Never checked! :D
16:28 Khisanth left #perl6
16:29 colomon mberends++
16:30 isBEKaml mberends: how goes you? and, your java bytes? :)
16:30 tadzik I suppose it's just an infinite loop compiling it, and it turns out to iterate every 6 months :)
16:31 isBEKaml whoa, tadzik.. I think you're talking about core.. :)
16:32 mberends isBEKaml: low on tuits because of $work, so Java has not bytten me in the  last month :(
16:32 isBEKaml mberends: Oh.. :( so, is 6model on hold?
16:33 isBEKaml (the jvm port)
16:34 mberends 6model/jvm is on a quantum hold, but may in fact be moving invisibly slowly ;-)
16:34 isBEKaml multistrate quantum hold! mberends++
16:35 * jnthn guesses the current 6model transition to jasmin is trickyish
16:35 isBEKaml jnthn: if you're using jasmin, why not use asm?
16:35 jnthn er, 6model on jvm
16:35 mberends this may be Niecza LHF: Unable to find lexical &infix:<xor> (in p6cc2010-p2-fox.pl6)
16:35 [Coke] left #perl6
16:36 jnthn isBEKaml: Jasmin is an assembler to Java bytecode
16:36 isBEKaml jnthn: IIRC, asm has a smaller overhead than jasmin.
16:36 jnthn isBEKaml: Oh...where does one find that?
16:36 isBEKaml jnthn: I understood that.
16:36 jnthn OK, I'd never heard of this "asm" thing you speak of :)
16:36 isBEKaml jnthn: http://asm.ow2.org/
16:37 jnthn Ah, good to know there's another way to do it :)
16:37 isBEKaml jnthn: hmmm, I could use this as a learning exercise (beware, my code might then be sphagetti soup) :)
16:37 jnthn ooh ;)
16:37 MayDaniel_ left #perl6
16:38 [Coke] joined #perl6
16:38 isBEKaml ah, you're making me want to do it...
16:38 jnthn Commit bit? :)
16:38 isBEKaml jnthn: I have a fork of your repo lying around, I think (though I never pushed anything onto it)
16:39 isBEKaml I think I'll use that and see what I can come up with.
16:39 mberends isBEKaml++
16:41 donri joined #perl6
16:41 tadzik #phasers is in 2:20 hours?
16:42 * moritz won't be able to attend
16:42 sorear jnthn: asm is what I'm planning to use for JNiecza
16:43 Chillance joined #perl6
16:43 sorear mberends: LHF, but less than it sounds - <xor> shortcircuits, so it has to be a macro, which means modifying the compiler since BEGIN isn't available for real macros
16:44 mberends sorear: does shortcircuit definitely imply macro?
16:45 mikemol I do not.
16:46 tadzik seen shortcircuit
16:46 aloha shortcircuit was last seen in #perl6 15 days 13 hours ago joining the channel.
16:46 sorear mberends: for loose definitions of "macro", yes.  It definitely can't be a function.
16:46 * mikemol is shortcircuit
16:46 mikemol Changed my nick.
16:48 pernatiy left #perl6
16:48 mberends mikemol: sorry for stomping on your ex-nick like that, in theory it could happen to anyone ;)
16:48 mikemol mberends: np. I play it for laughs.
16:49 mikemol I changed my FN nick to correspond to the username I use more widely than 'shortcircuit' or 'Short Circuit' on the Internet in general.
16:49 birdwindupbird left #perl6
16:49 isBEKaml does anybody know how I can colourise my git log?
16:49 jnthn isBEKaml: Nice :)
16:49 isBEKaml core.pager?
16:49 sorear git config --global ui.color true
16:49 sorear er, color.ui
16:49 [Coke] left #perl6
16:50 isBEKaml sorear: heh. doesn't work on xterm. :/
16:51 isBEKaml jnthn, mberends: thanks! I'm currently updating my fork to your HEAD. :)
16:51 [Coke] joined #perl6
16:54 tadzik oh, the pun
16:54 tadzik please don't commit your fork to jnthn's HEAD
16:55 mberends and don't push the fork into my HEAD
16:55 isBEKaml p6punners, EVAR! :D
16:57 mj41 left #perl6
17:03 isBEKaml mberends: You still use a makefile for compiling java classes? Ant? :O
17:05 mberends isBEKaml: I chose make because on average, it requires newbies to install fewer external dependencies.  I'm quite keen to reduce toolchain requirements to the absolute minimum, because I have often felt the pain of barriers to entry.
17:05 isBEKaml mberends: I vaguely remember discussing this with you when 6model was nascent.
17:06 mberends If I could replace make with a cute bash script I would be even happier.
17:06 jnthn oh no, not a bash script...
17:07 jnthn At least I can build with the makefile. :)
17:07 isBEKaml mberends: not a problem at all, we can simply add ant.jar and wrap this into a shell script. :)
17:07 isBEKaml or a batch file.
17:07 mberends jnthn: oops, lol, I forgot about Our Leader's choice of OS.
17:07 Hyper-Core joined #perl6
17:07 jnthn :P
17:07 jnthn At least I keep us cross-platform. :P
17:08 isBEKaml I think I'll add that too and send a pull-request. :D
17:09 isBEKaml ant is under ASF license. So, I think there should be no problem distributing the binary along with the project(though I'd prefer keeping the binary jars out of the codebase, using dependency management tools instead)
17:09 mberends sounds ok
17:15 Hyper-Core left #perl6
17:16 jnthn So long as building doesn't become a pain in the jars... :)
17:21 diakopter or ass[embly]
17:21 mberends groan. groan.
17:27 kjeldahl left #perl6
17:36 isBEKaml mberends,jnthn: Do I have to get the latest parrot built to use parrot-nqp?
17:37 mj41 joined #perl6
17:37 mberends isBEKaml: not 100% sure, but it sounds dangerous not to.
17:37 dakkar left #perl6
17:38 jnthn isBEKaml: parrot-nqp ships with Parrot, and 6model's clr and jvm backends use it.
17:38 jnthn They won't work with new nqp yet.
17:38 isBEKaml ok. I'll just use what I have then.
17:38 isBEKaml It seems to be going through fine...
17:39 isBEKaml ouch. Method 'blocktype' not found for invocant of class 'Undef'
17:40 masak joined #perl6
17:40 masak ahojte, zebras.
17:40 jnthn ahoj, masak
17:40 jnthn isBEKaml: ...ouch.
17:40 isBEKaml jnthn: http://pastebin.com/Mvs44Lpk
17:41 sorear hello masak
17:41 isBEKaml masak!
17:41 jnthn isBEKaml: That sounds familiar-ish...it happened to me I think when a build failed, then I fixed whatever the problem was but there was a file left around.
17:41 sorear #phasers in 20?
17:41 masak ooh. sorear++ for reminding.
17:41 jnthn 80, no?
17:41 sorear Probably
17:41 * jnthn has it as 80
17:41 sorear yes, 80
17:41 jnthn It woulda been 20 if daylight hadn't been saved.
17:41 sorear stupid timechange
17:41 isBEKaml jnthn++ # vague as usual. :)
17:42 jnthn isBEKaml: Are there any 0-byte files in your build directory?
17:42 masak I think daylight savings is an antiquated concept.
17:42 jnthn .oO( why do we have to save daylight every year? hasn't it learned to save itself yet? )
17:42 isBEKaml jnthn: classes dir is empty.
17:43 * sorear wonders if the European #perl6-ers just live on UTC and forget about these stupid time zones
17:43 masak anyone else using private gists as a sort of Google Docs? :)
17:43 jnthn masak: ;)
17:43 jnthn isBEKaml: iirc, you need to do make in the runtime directory, and then make afterwards in the compiler one.
17:44 masak sorear: no... here in CET, we're one hour removed in the winters, and two in the summers. :(
17:44 isBEKaml jnthn: there are no empty files in runtime but classes dir in compiler is empty.
17:44 jnthn OK
17:44 isBEKaml jnthn: find runtime -type f -empty turned nothing.
17:44 jnthn No empty .pir files in the compiler directory?
17:45 isBEKaml gen_actions.pir is empty
17:45 jnthn isBEKaml: rm it, and try make again.
17:45 isBEKaml and NQPSetting.java (but that's intentional, I guess)
17:46 isBEKaml jnthn: trying now..
17:48 nymacro left #perl6
17:49 isBEKaml jnthn: I think it went through, though it wound up complaining about p6source. :D
17:49 isBEKaml jnthn: didn't realise this was nqp.
17:49 jnthn isBEKaml: It uses Parrot's NQP to cross-compile code to the CLR or JVM.
17:50 jnthn isBEKaml: That way, one day it'll be able to compile itself and them WORLD DOMINATION!
17:50 jnthn Er, I mean, bootstrapping...
17:50 tadzik sorear: close; I just never know what time it is, and assume it's "something around 20"
17:51 isBEKaml jnthn: http://pastebin.com/y73YXDFG
17:52 isBEKaml jnthn: nice. 6model-wtop? :)
17:52 jnthn isBEKaml: That's valid Perl 6 but not valid NQP, which is a Perl 6 subset. :)
17:52 isBEKaml jnthn: yessir. that's what I figured when I said it complained. :)
17:53 jnthn oh, now I see that :)
17:53 jnthn Sorry :)
17:53 jnthn I don't know that a great deal works on the JVM version of NQP just yet. make test probably gives some indication.
17:54 isBEKaml Oh, I'm just poking around. :)
17:54 isBEKaml Do you know where I can find nqp examples in the parrot dir?
17:55 jnthn t :)
17:55 isBEKaml found it. though not sure if they are runnable.
17:57 isBEKaml jnthn: ah!
17:57 jnthn Note that the NQP tests ain't really in Parrot's repo :)
17:57 jnthn Parrot just ships PIR files that are built from stuff in the NQP repo.
17:58 isBEKaml nqp: say('1...8')
17:58 p6eval nqp: OUTPUT«1...8␤»
17:59 isBEKaml nqp: say('1..8')
17:59 p6eval nqp: OUTPUT«1..8␤»
17:59 isBEKaml er, no range expansion?
17:59 jnthn Not in NQP
17:59 tadzik nqp: say(1..8)
17:59 p6eval nqp: OUTPUT«Confused at line 1, near "say(1..8)"␤current instr.: 'nqp;HLL;Grammar;panic' pc 17577 (gen/hllgrammar-grammar.pir:5028)␤»
17:59 jnthn It's a *small* subset
17:59 tadzik perl6: say('1..8')
17:59 isBEKaml jnthn: I found that in the first test file.
17:59 p6eval pugs, rakudo 887bb5, niecza v4-67-g1f44650: OUTPUT«1..8␤»
17:59 tadzik isBEKaml: that's for TAP
17:59 isBEKaml tadzik: 6model/t
18:00 tadzik *, that's the disired TAP out put
18:00 tadzik bleh, this cast
18:00 isBEKaml hugme: hug tadzik
18:00 * hugme hugs tadzik
18:01 tadzik isBEKaml: thanks :)
18:02 takadonet joined #perl6
18:05 isBEKaml tadzik: how's your arm coming along?
18:08 mtk left #perl6
18:08 mtk joined #perl6
18:08 tadzik isBEKaml: not bad, I stopped taking painkillers like yesterday
18:09 isBEKaml tadzik: then, I suppose recovery should be fast? take good rest. :)
18:10 tadzik isBEKaml: I hope so :) I hope they'll take the cast off on friday and I'll be fully functional again :)
18:11 jnthn .oO( healed = (better)broken; /* how casts work... ;-) */ )
18:12 mathw you might not be quite fully functional after the cast comes off
18:12 mathw but it's a good step in that direction :D
18:12 thp left #perl6
18:12 isBEKaml punners all. fie on you! :P
18:13 isBEKaml .oO(first time I actually understood an FP pun)
18:16 masak punners all, φ on you!
18:17 isBEKaml punners all, * on you!
18:17 masak meh. whatever.
18:17 isBEKaml exactly!
18:18 isBEKaml jnthn: I'm looking over the generated java file from the compilation. I reckon you want to remove this step from the compilation and directly generate bytecodes?
18:19 isBEKaml mathw: I suppose Epigram is decidedly functional enough to catch you napping! :)
18:23 mathw isBEKaml: Epigram makes my head hurt, but it was quite entertaining at the time
18:23 plobsing left #perl6
18:24 jnthn isBEKaml: Yes, that's the end goal.
18:24 jnthn isBEKaml: The Java (and C#) was just a stepping stone. Java not having goto made it a...less than awesome...stepping stone.
18:25 lichtkind joined #perl6
18:25 kjeldahl joined #perl6
18:25 isBEKaml jnthn: goto ? err...
18:26 isBEKaml jnthn: if you're talking about the infamous goto - yes, java doesn't have it. but the jvm has a form of goto.
18:27 isBEKaml jnthn: goto, invoke* kind of instructions are part of the jvm bytecode instruction set.
18:27 masak after lerning the switch trick, I don't see any language's lack of goto as a limitation any more.
18:27 isBEKaml masak: you've just started. :)
18:28 sorear lack of goto is a major annoyance
18:28 cggoebel left #perl6
18:28 jnthn isBEKaml: Yes, I know the JVM has it. But generating Java means it's not available.
18:28 jnthn masak: Patches welcome ;)
18:28 sorear it of course doesn't actually limit power
18:28 masak right.
18:28 masak I agree it makes some easy things harder than they could be.
18:29 isBEKaml masak: switch + some form of typechecking leads to delegates. :)
18:29 masak but, case in point. PGE used lots of gotos in the code it generated. GGE generates goto-less Perl 6 with the same semantics.
18:29 masak isBEKaml: yes, I realized that the other day. you're fast!
18:29 masak (in the context of replacing gotos, I mean.)
18:29 isBEKaml masak: nah, I just have been at it for longer than I should. :)
18:30 masak if I had to do it again (and I just might do that), I'd use method dispatch rather than given/when.
18:30 fhelmberger left #perl6
18:31 isBEKaml method dispatch in java? visitors, i guess.
18:31 justatheory left #perl6
18:32 cggoebel joined #perl6
18:33 isBEKaml jnthn: in the context of gotos in the jvm, they are not actual goto instructions. The instructions are just jumping about in the sand castle.
18:33 tadzik http://twitter.com/mcmire/statuses/60179396560039936 --well, yeah
18:34 saaki left #perl6
18:35 tadzik I know about 4 :)
18:35 masak isBEKaml: "jumping about in the sand castle"? apart from the sand castle, that sounds like what a goto is.
18:35 risou left #perl6
18:36 saaki joined #perl6
18:36 isBEKaml masak: I was referring to the sandboxed portion. They are not actual code as far as the jvm stack is concerned.
18:37 isBEKaml more specifically, goto in other languages != goto in the jvm.
18:38 isBEKaml tadzik: lemme guess, you ran 3! :)
18:38 tadzik isBEKaml: 2 :)
18:38 tadzik masak: ran the other 2
18:38 tadzik s/://
18:39 isBEKaml ufo ? :)
18:39 tadzik that's not a manager
18:39 tadzik if we count the build systems, then I know about 7, and then 3 are mine :)
18:40 masak Perl 6 "getting a new package manager every month" is good PR in my book :)
18:40 masak that means we have packages.
18:41 tadzik 96 of them actually
18:41 tadzik those known :)
18:41 pmichaud (from phasers):  there's a good chance I'll have some perl6 tuits in the new couple of days... if there's a specific area ripe for me to hack (especially in nqp) let me know
18:41 pmichaud afk
18:41 pmichaud s/new/next/
18:43 isBEKaml tadzik: I counted neutro as a build manager.
18:43 tadzik that's a package manager
18:44 tadzik it used ufo, and later Module::Build, which was a part of Module::tools, which included mbuild, which was basically a pure-perl6 ufo :)
18:47 isBEKaml ah, java world clubs both into one. :)
18:47 pyrimidine wow, that was a short #phasers
18:48 isBEKaml build manager would be tools/frontends like continuous integration systems, while there's essentially no concept of a package manager. though we do have archives [wje]ars.
18:49 * isBEKaml thinks he should stop yapping javagese.
18:49 tadzik pyrimidine: it hasn't started yet
18:49 pyrimidine ah
18:49 * pyrimidine forgot
18:51 isBEKaml how much until phasers?
18:51 isBEKaml *time
18:51 tadzik 9 mins
18:53 [Coke] left #perl6
18:53 isBEKaml ooh
18:54 [Coke] joined #perl6
18:55 icwiener left #perl6
19:01 [Coke] left #perl6
19:02 yegor left #perl6
19:03 donri left #perl6
19:03 [Coke] joined #perl6
19:11 yegor joined #perl6
19:11 nadim joined #perl6
19:15 Khisanth joined #perl6
19:16 masak Khisanth! \o/
19:16 masak std: my $tadzik; ++$tadzik++
19:16 p6eval std 3468e14: OUTPUT«[31m===[0mSORRY![31m===[0m␤"++" and "++" are not associative at /tmp/vuDIVkY9rt line 1:␤------> [32mmy $tadzik; ++$tadzik++[33m⏏[31m<EOL>[0m␤"++" and "++" are not associative at /tmp/vuDIVkY9rt line 1:␤------> [32mmy $tadzik; ++$tadzik++[33m⏏[31m<EOL>[0m␤FAILED 00:01
19:16 p6eval ..11…
19:16 Khisanth ?
19:17 justatheory joined #perl6
19:17 tadzik I'd go for "our $tadzik" :)
19:17 masak Khisanth: just saying hi :)
19:17 masak tadzik: ;) wouldn't help, though.
19:17 tadzik aye, probably not
19:18 noganex joined #perl6
19:18 isBEKaml jnthn: I'd need some help around compiler build steps.I've just done getting the ant build config file done for runtime and am in the middle of doing it for compiler. Take this over PM?
19:20 noganex_ left #perl6
19:26 birdwindupbird joined #perl6
19:28 birdwindupbird left #perl6
19:28 donri joined #perl6
19:29 birdwindupbird joined #perl6
19:33 birdwindupbird left #perl6
19:34 pernatiy joined #perl6
19:36 justatheory left #perl6
19:36 justatheory joined #perl6
19:36 birdwindupbird joined #perl6
19:41 justatheory left #perl6
19:42 jnthn isBEKaml: sorry, was afk for a moment
19:43 jnthn isBEKaml: The compiler build is just calling Parrot to produce some PIR files at the moment.
19:44 jnthn isBEKaml: Then it uses that compiler to compile a setting
19:44 jnthn That's about it. :)
19:44 isBEKaml jnthn: Sure. I was wondering about make specifically. It uses parrot-nqp --target=pir foo.pm > gen_foo.pir. Does IO redirection (>) work on windows?
19:45 moritz it does
19:45 jnthn Yes
19:45 jnthn That makefile works fine on Windows, fwiw
19:45 isBEKaml Oh, ok. :)
19:45 jnthn So if you see something in there it's probably fine to assume it's OK on Windows :)
19:46 isBEKaml Then, I think I have a way of making the build config file for compiler steps too.
19:46 isBEKaml I'm just doing the easy bits first. :)
19:47 justatheory joined #perl6
19:49 isBEKaml jnthn: One more question. Why do you have to create two jar files in compiler phase? NQPSettings.jar and P6Objects.jar?
19:50 ymasory left #perl6
19:50 isBEKaml why not package them into a single jar? the JRE knows only classes at runtime. It doesn't matter which classes are present in specific jars, but package names and classpath has to be correct.
19:50 jnthn isBEKaml: mberends++ probably knows that better
19:50 jnthn isBEKaml: Part of it is almost certainly dynamic loading though
19:50 jnthn We may want one and not the other.
19:51 isBEKaml mberends: ?
19:52 jnthn Oh, it may well de a dependency thing
19:52 jnthn We need the setting in order to build the library
19:52 isBEKaml mberends,jnthn: Just a bit of info. I pushed the build config file for runtime to my forked repo. You can have a look. :)
19:52 moritz hugme: list projects
19:52 hugme moritz: I know about Math-Model, Math-RungeKutta, MiniDBI, bench-scripts, book, gge, hugme, ilbot, java2perl6, json, modules.perl6.org, november, nqp-rx, nqpbook, perl6, perl6-examples, perl6-wtop, proto, pugs, rakudo, star, svg-matchdumper, svg-plot, tardis, try.rakudo.org, tufte, ufo, web, yapsi
19:52 isBEKaml jnthn: Even if that were a dependency, you can always have those classes available for compiling P6Objects.
19:53 masak isn't hugme a "project manager" as well? :P
19:53 moritz it's self aware
19:53 isBEKaml jnthn: anyway, I'll get the compiler build config too, in a bit and let you know.
19:54 tadzik :)
19:55 mberends isBEKaml: there is no reason to have two jar files when one will do, as jnthn said it is probably only for bootstrapping reasons.
19:56 isBEKaml mberends: Ok. I'll take that into build.xml. :)
20:04 TiMBuS left #perl6
20:12 miso2217_ hi all
20:12 birdwindupbird left #perl6
20:12 lichtkind hai miso2217
20:13 miso2217_ I need some help with the error context in grammars:
20:13 miso2217_ rakudo: grammar test_g_1 { token a { a }; rule TOP { <a>* | <.sorry('Only matching aaaaa s')> }; method sorry(Str $s) { say $s; self; }; }; if test_g_1.parse('aaaaab') { say 'match ', $/.perl; } else { say 'no match'; };
20:13 p6eval rakudo 887bb5: OUTPUT«Only matching aaaaa s␤no match␤»
20:13 miso2217_ how do I find the substring where the parse failed?
20:14 flussence miso2217_: have you tried <?DEBUG(1)> ?
20:14 miso2217_ I looked on STD.pm6 for some time but still didn't understand enough the mechanism to be anle to reusi it
20:14 lichtkind i dont know the details of the match object
20:15 masak miso2217_: the only thing that comes to mind is assigning $/.CURSOR.pos to a variable near the <.sorry>, and then using that.
20:15 miso2217_ flussence where? in palce of the <.sorry('Only matching aaaaa s')> ?
20:15 moritz isBEKaml: in methos sorry, self.CURSOR.pos
20:15 moritz sorry, meant miso2217_
20:15 flussence put it at the start of a rule, it'll print out what the grammar engine is doing
20:16 kst joined #perl6
20:16 moritz rakudo: grammar test_g_1 { token a { a }; rule TOP { <a>* | <.sorry('Only matching aaaaa s')> }; method sorry(Str $s) { say $s; say self.CURSOR.pos; self } }; test_g_1.parse('ab')
20:16 p6eval rakudo 887bb5: OUTPUT«Only matching aaaaa s␤Method 'CURSOR' not found for invocant of class 'test_g_1'␤  in 'test_g_1::sorry' at line 22:/tmp/k517PnCpXw␤  in 'test_g_1::TOP' at line 22:/tmp/k517PnCpXw␤  in 'Grammar::parse' at line 6402:CORE.setting␤  in main program body at line
20:16 p6eval ..22:/tmp/k517PnCpXw␤»
20:16 miso2217_ moritz: ah! I wasn't too far wos trying trough the $¢
20:17 moritz rakudo: grammar test_g_1 { token a { a }; rule TOP { <a>* | <.sorry('Only matching aaaaa s')> }; method sorry(Str $s) { say $s; say self..pos; self } }; test_g_1.parse('ab')
20:17 p6eval rakudo 887bb5: OUTPUT«Only matching aaaaa s␤Could not find sub &pos␤  in 'test_g_1::sorry' at line 22:/tmp/fgkvlA0Mw4␤  in 'test_g_1::TOP' at line 22:/tmp/fgkvlA0Mw4␤  in 'Grammar::parse' at line 6402:CORE.setting␤  in main program body at line 22:/tmp/fgkvlA0Mw4␤»
20:17 moritz rakudo: grammar test_g_1 { token a { a }; rule TOP { <a>* | <.sorry('Only matching aaaaa s')> }; method sorry(Str $s) { say $s; say self.pos; self } }; test_g_1.parse('ab')
20:17 p6eval rakudo 887bb5: OUTPUT«Only matching aaaaa s␤0␤»
20:17 masak I sometimes get 'stat failed: No such file or directory' when running tote.
20:18 masak I presume this is when things coincide exactly with vim doing some switching-around with files during saving.
20:18 stkowski joined #perl6
20:18 masak anyway, it's not nice.
20:18 moritz rakudo: grammar test_g_1 { token a { a }; rule TOP { ^ <a>* [ $ || <.sorry('Only matching aaaaa s')> ] }; method sorry(Str $s) { say $s; say self.pos; self } }; test_g_1.parse('ab')
20:18 p6eval rakudo 887bb5:  ( no output )
20:19 moritz miso2217_: I think it's self.pos... experiment with it :-)
20:19 masak moritz: I'm guessing the sorry method goes on the Cursor.
20:19 isBEKaml mberends: I don't understand one thing about the makefile, actually. I'm in the process of wiring up the build script and was stuck here at this step.
20:19 moritz rakudo: say Grammar ~~Regex::Cursor
20:19 p6eval rakudo 887bb5: OUTPUT«Bool::True␤»
20:19 moritz masak: the grammar *is* a cursor :-)
20:19 miso2217_ moritz: ok, I'll try it
20:20 isBEKaml mberends: P6Objects.java lists that NQPSettings.jar must have been generated. Am I right in thinking that this is redundant since we are not using it, unless some magic occurs in --no-core-libs switch. :)
20:20 isBEKaml ?
20:20 moritz miso2217_: remember to use || instead of |, otherwise your code will horribly break in the future when rakudo does LTM
20:20 miso2217_ moritz: I dinn't quite get tthe difference between | and ||
20:21 mberends isBEKaml: give me a few minutes to take a look
20:21 masak moritz: oh, right.
20:21 moritz miso2217_: in rakudo, but do the same. In good perl 6, || tries the left side first, then the right side. | matches the longer alternative
20:21 isBEKaml mberends: it's in compiler/Makefile
20:21 moritz s/but/both/
20:21 * jnthn suspects those get loaded dynamically rather than statically linked in
20:21 moritz miso2217_: niecza implements that correctly
20:22 isBEKaml jnthn: --no-core-libs ?
20:22 jnthn --no-core-libs means "don't make us load P6Objects.jar"
20:22 isBEKaml jnthn: AFAICT, java has no concept of dynamic libraries.
20:22 jnthn isBEKaml: Class loader :)
20:22 isBEKaml jnthn: unless they are already provided.
20:22 isBEKaml jnthn: yeah, <provided>
20:23 jnthn mberends++ has done the actual work there, so I don't know quite how it looks :)
20:24 MayDaniel joined #perl6
20:26 mberends isBEKaml: I'm just flushing the p6cc/niecza info from my mental buffers, before coming over to the 6model/jvm side
20:27 isBEKaml mberends: :)
20:34 masak today's mini-challenge: write a sub that (1) takes any number of parameters, (2) knows the difference between getting '1, 2, 3' and getting '1..3'.
20:34 masak I've made one attempt already, and I *almost* got it to work.
20:34 ymasory joined #perl6
20:35 masak the difficulty is getting at the parameters without flattening them on the way. flattening destroys the Range.
20:35 moritz rakudo: multi a ($x) { $x.WHAT }; multi a (*@x) { @x[0].WHAT }; say a(1..3);
20:35 p6eval rakudo 887bb5: OUTPUT«Range()␤»
20:35 moritz rakudo: multi a ($x) { $x.WHAT }; multi a (*@x) { @x[0].WHAT }; say a();
20:35 p6eval rakudo 887bb5: OUTPUT«Any()␤»
20:35 moritz rakudo: multi a ($x) { $x.WHAT }; multi a (*@x) { @x[0].WHAT }; say a(0);
20:35 p6eval rakudo 887bb5: OUTPUT«Int()␤»
20:35 moritz rakudo: multi a ($x) { $x.WHAT }; multi a (*@x) { @x[0].WHAT }; say a(0, 1, 2);
20:35 p6eval rakudo 887bb5: OUTPUT«Int()␤»
20:36 moritz masak: I thikn I've succeeded
20:36 tadzik have a cookie
20:36 moritz rakudo: sub a (\|$x) { say $x[0].WHAT }; a 1..3; a 1, 2, 3
20:36 p6eval rakudo 887bb5: OUTPUT«===SORRY!===␤Malformed parameter at line 22, near "\\|$x) { sa"␤»
20:36 moritz rakudo: sub a (|$x) { say $x[0].WHAT }; a 1..3; a 1, 2, 3
20:36 p6eval rakudo 887bb5: OUTPUT«Range()␤Int()␤»
20:37 moritz even in a single routine
20:37 * moritz pads himself on his back
20:37 jnthn rakudo: sub foo(|$_) { when :(Range) { say "range!" }; default { say "other" } }; foo(1..2); foo(1,2);
20:37 masak :)
20:37 p6eval rakudo 887bb5: OUTPUT«range!␤other␤»
20:37 masak moritz++
20:37 * masak tries
20:37 jnthn masak: ^^ ;)
20:38 jnthn Anyway, yes, playing with the capture is the way to do such trixy things :)
20:39 masak hm. looking closer at those, I see it might not be what I want.
20:40 masak see, my Range might be anywhere among the parameters. it need not be just a solitary Range.
20:40 masak it could be 1, 2, 3..7, 8, 9.
20:40 moritz so iterate the capture
20:40 masak right.
20:40 moritz see if any is a Range
20:40 masak rakudo: sub foo(|$_) { for .list { .say } }
20:40 p6eval rakudo 887bb5:  ( no output )
20:40 masak rakudo: sub foo(|$_) { for .list { .say } }; foo(1, 2, 3..7, 8, 9)
20:40 p6eval rakudo 887bb5: OUTPUT«1 2 3 4 5 6 7 8 9␤»
20:41 masak er. how do I iterate the capture? :P
20:41 moritz sub foo(|$_) { for .list { say .WHAT } }; foo(1, 2, 3..7, 8, 9)
20:41 masak rakudo: sub foo(|$_) { say .elems }; foo(1, 2, 3..7, 8, 9)
20:41 tadzik rakudo: sub foo(|$_) { for .list { .perl.say } }; foo(1, 2, 3..7, 8, 9)
20:41 p6eval rakudo 887bb5: OUTPUT«5␤»
20:41 p6eval rakudo 887bb5: OUTPUT«[1, 2, 3, 4, 5, 6, 7, 8, 9]␤»
20:42 masak rakudo: sub foo(|$_) { say .[$_] for .keys }; foo(1, 2, 3..7, 8, 9)
20:42 p6eval rakudo 887bb5: OUTPUT«0␤»
20:42 masak rakudo: sub foo(|$a) { say $a.[$_] for $a.keys }; foo(1, 2, 3..7, 8, 9)
20:42 moritz rakudo: sub f(|$_) { say $_.perl }; foo(1, 2, 3..5, 6)
20:42 p6eval rakudo 887bb5: OUTPUT«1␤»
20:42 p6eval rakudo 887bb5: OUTPUT«Could not find sub &foo␤  in main program body at line 22:/tmp/fQWR3lB6Mj␤»
20:42 moritz rakudo: sub f(|$_) { say $_.perl }; f(1, 2, 3..5, 6)
20:42 p6eval rakudo 887bb5: OUTPUT«\(1, 2, 3, 4, 5, 6)␤»
20:42 masak see? it's hard :)
20:43 * masak .oO( yeah, yeah, twss... )
20:43 tadzik hmm
20:43 masak I'm sure I can get a rakudobug out of this somehow...
20:43 tadzik oh come on!
20:46 jnthn masak: Seems it is hard to get it out the way it went it... :P
20:47 masak jnthn: shouldn't you be busy with your slides? :P
20:47 tylercurtis rakudo: sub f(|$cap) { loop (my $i = 0; $i < $cap.elems; $i++) { .WHAT.say; } } # excessively ugly
20:47 jnthn masak: If you *iterate* over the capture, you're going to put it into (flattening) list context
20:47 p6eval rakudo 887bb5:  ( no output )
20:47 jnthn masak: And we don't have lol context yet to do the other thing
20:47 tylercurtis rakudo: sub f(|$cap) { loop (my $i = 0; $i < $cap.elems; $i++) { .WHAT.say; } } f 1, 2, 3..7, 8, 9 # excessively ugly
20:47 jnthn masak: So you probably need to loop
20:47 p6eval rakudo 887bb5: OUTPUT«===SORRY!===␤Confused at line 22, near "sub f(|$ca"␤»
20:47 tylercurtis rakudo: sub f(|$cap) { loop (my $i = 0; $i < $cap.elems; $i++) { .WHAT.say; } }; f 1, 2, 3..7, 8, 9 # excessively ugly
20:47 p6eval rakudo 887bb5: OUTPUT«Any()␤Any()␤Any()␤Any()␤Any()␤»
20:48 masak tylercurtis++!
20:48 jnthn Like that
20:48 tylercurtis oops
20:48 masak that's what I need. :)
20:48 jnthn But $cap[$i].WHAT.say :)
20:48 tylercurtis rakudo: sub f(|$cap) { loop (my $i = 0; $i < $cap.elems; $i++) { $cap[$i].WHAT.say; } }; f 1, 2, 3..7, 8, 9 # excessively ugly
20:48 p6eval rakudo 887bb5: OUTPUT«Int()␤Int()␤Range()␤Int()␤Int()␤»
20:48 masak \o/ \o/
20:48 * masak celebrates
20:48 ymasory left #perl6
20:57 dorlamm joined #perl6
20:57 masak thanks, tylercurtis, jnthn, tadzik, moritz. the advice helped, eventually. :)
20:58 Holy_Cow left #perl6
20:58 jdhore left #perl6
21:00 masak the real issue was me being bitten by the lack of real distinction between a list of element and an item. in my test, the range kept flattening because that was the thing I was iterating on. X-/
21:01 Tene masak: I've been repeatedly uncomfortable with the conflation between an item and a list of one item in Perl 6.
21:02 jdhore joined #perl6
21:06 masak Tene: yes, I know.
21:06 jcrigby joined #perl6
21:06 masak I'm also not convinced it entirely pulls its weight anymore.
21:07 masak it's starting to look like an odd beast amongst all the type checking and lack of parameter flattening.
21:08 franek joined #perl6
21:11 dorlamm left #perl6
21:11 y3llow_ joined #perl6
21:11 franek left #perl6
21:11 pothos_ joined #perl6
21:12 dorlamm joined #perl6
21:13 pothos left #perl6
21:13 pothos_ is now known as pothos
21:13 y3llow left #perl6
21:14 y3llow_ is now known as y3llow
21:17 masak can I return a capture from a subroutine?
21:18 donaldh joined #perl6
21:18 masak rakudo: sub foo { \(1, 2, 3) }; say foo.WHAT
21:18 p6eval rakudo 887bb5: OUTPUT«Capture()␤»
21:18 masak \o/
21:19 jnthn Sure
21:20 jnthn The default return data structure is a parcel.
21:24 masak I'm definitely onto something now. getting Null PMC accesses :P
21:25 mberends loliblogged: http://blogs.perl.org/users/martin_berends/2011/04/niecza-almost-took-part-in-the-perl-6-coding-contest.html
21:25 jaldhar_ is now known as jaldhar
21:25 masak \o/
21:30 masak mberends++ # a very good read. and encouraging, despite the results.
21:30 masak oh, I can't help going through the first few errors :)
21:31 mberends .oO( the plan worked! )
21:31 mj41 left #perl6
21:31 masak p1-colomon: line 5: the export isn't needed. line 22: 'is rw' is kinda fundamental. lines 35/32. errors related. STD (or Niecza?) at fault.
21:31 justatheory left #perl6
21:31 masak p1-fox: someone needs to implement 'max'. LHF.
21:31 sorear what is 'is rw' being applied to?
21:32 sorear niecza makes attributes and functions implicitly rw :<
21:32 justatheory joined #perl6
21:32 masak it's being applied to a public array attribute.
21:33 masak p1-matthias: exception seemingly unrelated. my guess it's the *-1 in the second indexing. still, not good.
21:33 MayDaniel left #perl6
21:33 masak sorear: Niecza doesn't have Int?
21:33 sorear correct
21:34 masak ah. that explains it.
21:34 masak so, the p1-colomon errors at lines 32/35 are actually quite understandable.
21:34 masak Niecza parsed 'Int' as a sub call.
21:35 masak p1-util: exception probably caused by the » on line 47. definitely workaroundable.
21:36 masak I'll stop there for now.
21:36 masak I'd say that these errors look fairly benign, most of them. and often easy to analyze.
21:36 masak someone with tuits and enthusiasm is very welcome to catalogue them somewhere :)
21:37 masak lets make Niecza start running the p6cc entries! \o/
21:37 masak let's*
21:38 miso2217_ rakudo: say Cursor.^methods();
21:38 p6eval rakudo 887bb5: OUTPUT«Method 'methods' not found for invocant of class 'P6metaclass'␤  in main program body at line 22:/tmp/VWWhwcoF6F␤»
21:38 kjeldahl left #perl6
21:38 miso2217_ rakudo: say Str.^methods();
21:38 p6eval rakudo 887bb5:
21:38 p6eval ..OUTPUT«ACCEPTSperlpredsuccWHICHBoolStrencodeindentNumericRealIntRatNumabsconjugateexploglog10sqrtrootsto-radiansfrom-radiansfloorceilingroundtruncatesigncisunpolarchrchrsrandsincostanseccoseccotansinhcoshtanhsechcosechcotanhasinacosatanatan2asecacosecacotanasinhacoshatanhasechacosechacota…
21:38 masak 'night, #perl6.
21:38 masak left #perl6
21:39 miso2217_ o/
21:39 miso2217_ does the introspection work for the Cursor type? say Cursor.^methods();
21:39 jnthn nqp: for Regex::Cursor.HOW.methods(Regex::Cursor) { say(~$_) }
21:39 p6eval nqp: OUTPUT«too few named arguments: no argument for required parameter 'local'␤current instr.: 'nqp;NQPClassHOW;methods' pc 5951 (gen/nqp-how.pir:2264)␤»
21:40 jnthn nqp: for Regex::Cursor.HOW.methods(Regex::Cursor, :local(1)) { say(~$_) }
21:40 p6eval nqp: OUTPUT«new_match␤new_array␤MATCH␤parse␤next␤pos␤from␤!cursor_init␤!cursor_start␤!cursor_fail␤!cursor_pass␤!cursor_backtrack␤!cursor_next␤!cursor_caparray␤!cursor_names␤!cursor_pos␤!cursor_debug␤!mark_push␤!mark_peek␤!mark_fail␤!mark_commit␤!reduce␤!BACKREF␤!INTERPOLATE␤!INTERPOLATE_REGEX␤…
21:40 jnthn miso2217_: Will be fixed in 6model.
21:40 jnthn miso2217_: Well, kinda already is :)
21:40 jnthn miso2217_: But Rakudo isn't updated to use that yet.
21:40 jnthn Anyway, yes, it certainly should work.
21:41 jnthn And it'll work in the not too distant future.
21:42 miso2217_ jnthn: ok thx, for now I need more the result than have it working :)
21:52 isBEKaml jnthn: do you recognise this error?
21:52 isBEKaml http://pastebin.com/qUdqecKT
21:54 Rotwang joined #perl6
22:00 jnthn isBEKaml: no :(
22:00 jnthn Did you edit the Grammar.pm?
22:01 isBEKaml jnthn: No.
22:01 isBEKaml jnthn: I was pretty surprised when I saw errors in gen_grammar.pir. :(
22:01 jnthn huh :/
22:02 isBEKaml jnthn: and compile.pir just disappears off. :/
22:02 jnthn Does gen_grammar.pir look OK?
22:02 isBEKaml make: *** No rule to make target `compile.pir', needed by `NQPSetting.java'.  Stop.
22:02 jnthn Yeah, we leave that as is
22:02 isBEKaml jnthn: that's what. It doesn't look ok. :(
22:02 jnthn And invoke it with parrot
22:02 jnthn huh, compile.pir shoudl just exist
22:02 isBEKaml jnthn: I just git checkout compile.pir.
22:02 jnthn It's not generated
22:02 jnthn it's checked in.
22:02 isBEKaml it just disappears.
22:02 jnthn huh.
22:03 isBEKaml huh.. what task does that?
22:03 jnthn .gitignore oddness?
22:03 jnthn I'm surprised you'd just be seeing that though.
22:03 isBEKaml I don't think it's .gitignore.
22:03 isBEKaml one of the tasks wipes it.
22:06 isBEKaml more strangeness. make generates gen_grammar.pir fine. ant exec doesn't. What's strange is ant's exec invokes RuntimeExec equivalent to shell's backticks.
22:07 coldhead joined #perl6
22:10 donaldh left #perl6
22:14 isBEKaml jnthn: ah, make clean shouldn't be deleting all thos jars.
22:14 isBEKaml especially not jasmin.jar. :)
22:16 stkowski left #perl6
22:24 whiteknight joined #perl6
22:24 jnthn phew, finished the talk I have to deliver at 9am tomorrow JIT!
22:24 jnthn oh my...9am *today*
22:26 isBEKaml Oh, today. :)
22:27 isBEKaml I have to rush back to work in 2 hours-ish.
22:27 isBEKaml and ant's exec is driving me nuts. Familiar? :)
22:29 isBEKaml and I had vim segfault twice. Poor editor, how many swap files will it see in its own lifetime?
22:29 jnthn No, I've never used ant :)
22:29 jnthn So far, you've not sold it to me ;)
22:30 isBEKaml \o/ build ran fine! :)
22:30 jnthn \o/
22:30 isBEKaml now, all i have to do is compile those class files and push!
22:31 isBEKaml one more thing, when running try.sh/try.bat, do you need all those .pir files? Mind if I clean them up?
22:31 isBEKaml :)
22:33 jnthn All what .pir files?
22:33 jnthn compile.pir just .include's a bunch of them so you can't clear those up
22:33 jnthn The whole thing is pretty makeshift because it's meant to go away in the end.
22:33 kaare__ left #perl6
22:34 jnthn e.g. I've generally built it to be "just enough" for us to make it to the point when we can get NQP to compile itself on JVM / CLR.
22:34 jnthn And thus it's bootstrapped and we eliminate the parrot-nqp dependency.
22:34 isBEKaml gen*.pir
22:35 Rotwang left #perl6
22:35 jnthn See compile.pir. If it's mentioned on a .include line in there, it has to stay
22:35 jnthn Unless you compile compile.pir to a PBC
22:35 jnthn Which you may do if you wish.
22:35 lichtkind good night
22:35 jnthn o/ lichtkind
22:35 isBEKaml Oh...
22:35 isBEKaml o/ lichtkind
22:36 lichtkind your great
22:36 lichtkind left #perl6
22:36 isBEKaml I'll look into PBC tonight..
22:37 isBEKaml jnthn: I noticed a copy of NQPSetting.pm in common/NQP/. Intentional?
22:37 isBEKaml and another in java/compiler.
22:38 jnthn isBEKaml: That's meant to be the canonical one.
22:38 jnthn But java/compiler can't handle it yet
22:38 jnthn So the copy in java/compiler is a trimmed down version.
22:38 isBEKaml I see.
22:38 jnthn So the one in common/NQP/ is the "target", as it were
22:39 isBEKaml but not for now, I suppose.
22:39 jnthn Yeah, not yet.
22:39 jnthn nqpclr runs the one in common already
22:41 jnthn OK, sleep
22:41 jnthn night o/
22:41 TimToady o/
22:41 isBEKaml jnthn: g'night.
22:41 jnthn isBEKaml++ # 6model/jvm hacking :)
22:43 isBEKaml phenny: tell jnthn, if you've got time later - please look into this and let me know. Thanks. http://pastebin.com/zpXKTMGd
22:43 phenny isBEKaml: I'll pass that on when jnthn is around.
22:43 Chillance left #perl6
22:44 isBEKaml jnthn: Oh, I'm not hacking anything yet. It's nothing anyway. :)
22:45 grai joined #perl6
22:46 mtk left #perl6
22:47 donri left #perl6
22:50 alester left #perl6
23:02 isBEKaml phenny: tell jnthn, you can have a look at the changes so far here: https://github.com/svatsan/6model. Let me know what you see in P6Objects issue that I pointed earlier.
23:02 phenny isBEKaml: I'll pass that on when jnthn is around.
23:03 hercynium left #perl6
23:03 isBEKaml phenny: tell mberends: You can have a look at 6model/jvm build changes so far here: https://github.com/svatsan/6model.
23:03 phenny isBEKaml: I'll pass that on when mberends is around.
23:03 isBEKaml anyway, I'm off to bed.
23:03 isBEKaml g'night #perl6! :)
23:04 isBEKaml left #perl6
23:05 dorlamm left #perl6
23:07 sftp left #perl6
23:13 colomon tadzik: ping?
23:16 plobsing joined #perl6
23:20 leprevost joined #perl6
23:25 plobsing left #perl6
23:29 cdarroch left #perl6
23:42 justatheory left #perl6
23:42 tylercurtis sorear: ping
23:46 sorear tylercurtis: pong
23:50 tylercurtis sorear: Do you have some time in which you'd be willing to discuss ways of avoiding creating Captures in Bennu (in the hypothetical situation in which I eventually start working on it again)?
23:52 sorear tylercurtis: remember that Capture is an immutable value type
23:52 sorear you logically have "has Capture $.args", but because two Captures with the same content are indistinguishable, it can just be the unboxed contents
23:53 sorear you don't need to create the actual P6opaque capture unless |$foo or my $foo = callframe.args is used
23:55 tylercurtis sorear: I thought so. My main reason for wanting to discuss it was to find out if there's some reason why not creating actual Captures is a bad idea.
23:56 jcrigby left #perl6
23:56 sorear tylercurtis: the spec is insane in a lot of places, the only way it will become less insane is by implementers making decisions and cutting the corners that need to be cut
23:58 ponbiki left #perl6
23:58 tylercurtis rakudo: sub foo(\|$parcel) { say $parcel.perl; }; foo 5, :a<6>, 7
23:58 p6eval rakudo 887bb5: OUTPUT«===SORRY!===␤Malformed parameter at line 22, near "\\|$parcel)"␤»
23:59 tylercurtis niecza: sub foo(\|$parcel) { say $parcel.perl; }; foo 5, :a<6>, 7
23:59 p6eval niecza v4-67-g1f44650: OUTPUT«Unhandled exception: Excess arguments to MAIN foo, unused named a␤  at /tmp/tvUX8GYM_R line 0 (MAIN foo @ 0)␤  at /tmp/tvUX8GYM_R line 1 (MAIN mainline @ 1)␤  at /home/p6eval/niecza/lib/CORE.setting line 1311 (CORE C552_ANON @ 2)␤  at
23:59 p6eval ../home/p6eval/niecza/lib/CORE.setting line 1312 …
23:59 ponbiki joined #perl6
23:59 tylercurtis niecza: sub foo(\|$parcel) { say $parcel.perl; }; foo 5, 7
23:59 sorear \| in Niecza means something possibly closer to **
23:59 p6eval niecza v4-67-g1f44650: OUTPUT«5 7␤»

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

Perl 6 | Reference Documentation | Rakudo