Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-10-27

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:00 Mouq joined #perl6
00:04 Mouq nqp: 1+"abcd"
00:04 camelia nqp-moarvm, nqp-jvm, nqp-parrot: ( no output )
00:09 aindilis joined #perl6
00:17 Psyche^ joined #perl6
00:19 Mouq nqp: nqp::croak("wait a minute")
00:19 camelia nqp-moarvm: OUTPUT«No registered operation handler for 'croak'␤compile_op␤»
00:19 camelia ..nqp-parrot: OUTPUT«Error while compiling block : Error while compiling op croak (source text: "nqp::croak(\"wait a minute\")"): No registered operation handler for 'croak'␤current instr.: '' pc 55111 (gen/parrot/stage2/QAST.pir:20131) (gen/parrot/stage2/QAST.nqp:3320)␤»
00:19 camelia ..nqp-jvm: OUTPUT«No registered operation handler for 'croak'␤  in compile_op (gen/jvm/stage2/QAST.nqp:231)␤  in as_jast (gen/jvm/stage2/QAST.nqp:3696)␤  in as_jast (gen/jvm/stage2/QAST.nqp:2968)␤  in  (gen/jvm/stage2/QAST.nqp:3665)␤  in compile_all_the_stmts (gen/jvm/stage2…»
00:22 BenGoldberg npq: say(1+"abcd")
00:28 Mouq nqp: say(1+"abcd")
00:28 wbill joined #perl6
00:28 camelia nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«1␤»
00:28 Mouq .oO( Not Perl? — Quite. )
00:28 diakopter Not Quit Perl
00:29 diakopter Not Quiet Perl
00:29 diakopter No Quip Perl
00:29 colomon No Quip Perl will never happen.
00:35 Mouq Never Queenside-castle, Pierre!
00:49 Mouq r: sub infix:<\x227c>(\a, \b) { 1 + 2 }; say 1 ≼ 2; # backclogged problem
00:49 camelia rakudo-parrot ec29c0, rakudo-jvm 882e33: OUTPUT«False␤»
00:52 colomon r: say 1 ≼ 2
00:52 camelia rakudo-parrot ec29c0, rakudo-jvm 882e33: OUTPUT«False␤»
00:53 colomon r: sub infix:<+>(\a, \b) { 42; }; say 1 + 2
00:53 camelia rakudo-parrot ec29c0, rakudo-jvm 882e33: OUTPUT«42␤»
00:53 colomon interesting
00:54 colomon r: sub infix:<≼>(\a, \b) { 1 + 2 }; say 1 ≼ 2; # backclogged problem
00:54 camelia rakudo-parrot ec29c0, rakudo-jvm 882e33: OUTPUT«3␤»
00:54 colomon .x227c
00:54 BenGoldberg r: sub infix:<\x227>(\a, \b) { 1 + 2 }; say 1 [\x227] 2;
00:54 camelia rakudo-parrot ec29c0, rakudo-jvm 882e33: OUTPUT«3␤»
00:55 BenGoldberg preflex: seen yoleaux
00:55 preflex yoleaux was last seen on #perl6 1 day, 5 hours, 33 minutes and 17 seconds ago, saying: 18:23Z <diakopter> Mouq: awesome work on stdsigspace Mouq++
00:56 lue r: say 1 ≤ 2; say 3 ≠ 3;
00:56 camelia rakudo-parrot ec29c0: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/O8vbPCHmvcâ�¤Two terms in a rowâ�¤at /tmp/O8vbPCHmvc:1â�¤------> [32msay 1 [33mâ��[31m≤ 2; say 3 ≠ 3;[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix o…»
00:56 camelia ..rakudo-jvm 882e33: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/5P2n_iD4fAâ�¤Two terms in a rowâ�¤at /tmp/5P2n_iD4fA:1â�¤------> [32msay 1 [33mâ��[31m≤ 2; say 3 ≠ 3;[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or m…»
00:56 lue ._.
00:56 BenGoldberg r: say '≼'.ord
00:56 camelia rakudo-parrot ec29c0, rakudo-jvm 882e33: OUTPUT«8828␤»
00:56 BenGoldberg r: say '≤'.ord
00:56 camelia rakudo-parrot ec29c0, rakudo-jvm 882e33: OUTPUT«8804␤»
00:59 BenGoldberg r: say "\x2654" ... "\x265f"
00:59 camelia rakudo-parrot ec29c0, rakudo-jvm 882e33: OUTPUT«♔ ♕ ♖ ♗ ♘ ♙ ♚ ♛ ♜ ♝ ♞ ♟␤»
01:04 betterwo1ld joined #perl6
01:04 gabriel__ joined #perl6
01:04 huf_ joined #perl6
01:16 vael joined #perl6
01:41 dalek nqp: 19690d0 | (Timo Paulssen)++ | Configure.pl:
01:41 dalek nqp: mention --gen-moar in Configure.pl's help
01:41 dalek nqp: review: https://github.com/perl6/nqp/commit/19690d06fe
01:49 Mouq joined #perl6
02:00 dalek nqp: aeb9458 | (Timo Paulssen)++ | Configure.pl:
02:00 dalek nqp: enable and document --moar-option option
02:00 dalek nqp: review: https://github.com/perl6/nqp/commit/aeb94584a5
02:09 dalek nqp: 27dcb8c | Mouq++ | src/vm/ (3 files):
02:09 dalek nqp: Use better error message for unregeistered nqp ops
02:09 dalek nqp:
02:09 dalek nqp: Or at least, a consistent one. And in Parrot's case, stop adding to error
02:09 dalek nqp: messages recursively.
02:09 dalek nqp: review: https://github.com/perl6/nqp/commit/27dcb8c4cd
02:15 ingy query drbrain
02:15 ingy [D[D[D[D[D[D[D[D[D[D[D[D[D[D[D/query drbrain
02:16 ilogger2 joined #perl6
02:19 raiph joined #perl6
02:19 raiph rurban: did you see this (and following exchange with jnthn)? http://irclog.perlgeek.de/​perl6/2013-10-16#i_7722276
02:28 lue O.o ilogger2 was gone for hour ‽‽
02:28 lue *an hour
02:46 _ilbot joined #perl6
02:46 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:,  niecza:, std:, or /msg camelia perl6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
03:00 Mouq joined #perl6
03:04 raiph joined #perl6
03:08 raiph p5eval: say 1
03:08 p5eval raiph: 11
03:08 * BenGoldberg blinks
03:08 BenGoldberg p5eval: print 1
03:08 p5eval BenGoldberg: 11
03:09 BenGoldberg p5eval: print 2
03:09 p5eval BenGoldberg: 21
03:09 BenGoldberg p5eval: print "\r"
03:09 p5eval BenGoldberg: 1
03:09 BenGoldberg p5eval: print "\b" x 3
03:09 p5eval BenGoldberg: 1
03:09 raiph is it possible to use p5eval with /msg?
03:10 BenGoldberg p5eval: help
03:10 p5eval BenGoldberg: help
03:10 raiph (i get no response in a privmsg session with camelia)
03:10 raiph (to "p5eval: say 1"; whereas I do to "r: say 1")
03:11 BenGoldberg p5eval is a seperate bot from camelia
03:11 BenGoldberg If you type p5eval: foo while privmsg-ing with camelia, the p5eval bot doesn't see it.
03:12 raiph k
03:13 BenGoldberg The only reason it responds *here* on #perl6, is because it has /join-ed the channel, and sees what we are (publicly) typing
03:14 raiph heh. i've used dozens of irc lines to try avoiding spamming the channel :)
03:15 raiph p5eval: say $?BINGO
03:15 p5eval raiph: No output
03:15 raiph p5eval: say $?%(BINGO
03:15 p5eval raiph: ERROR: syntax error at (eval 7) line 2, at EOF
03:18 lue BenGoldberg: who authorized that kind of sentience for p5eval? :)
03:32 cognominal joined #perl6
03:46 raiph in p5 code, $?FOO is the "special variable" $? followed without a space by the "bareword" FOO. what does a variable followed by a bareword *mean* in p5? if $? and FOO are defined, how is "say $?FOO" interpreted?
03:47 raiph p5eval: $? = "boo"; FOO = "bar"; say $?FOO
03:47 p5eval raiph: ERROR: Can't modify constant item in scalar assignment at (eval 7) line 1, at EOF
03:48 raiph p5eval: FOO = "bar"; say $?FOO
03:48 p5eval raiph: ERROR: Can't modify constant item in scalar assignment at (eval 7) line 1, at EOF
03:48 raiph p5eval: $? = "boo"; say $?FOO
03:48 p5eval raiph: No output
03:48 raiph p5eval: $? = "boo"; sub FOO { say "bar" }; say $?FOO
03:48 p5eval raiph: bar
03:51 lue raiph: I assume this is why Perl 6 doesn't follow that behavior :)
04:05 raiph lue: i was surprised to see p5eval interpret it. i thought it would reject it as ttiar
04:33 dansamo joined #perl6
04:41 preflex_ joined #perl6
05:12 moritz lue: for release R* you just need commit access to rakudo/star, not rakudo/rakudo
05:12 moritz lue: and for rakudo/star you don't need a CLA
05:13 moritz lue: in fact I've just given you a commit bit
05:13 lue moritz: ooh.
05:13 moritz lue: in that repo, tools/star/release-guide.pod contains instructinos
05:15 lue moritz: does it need to happen RIGHT NOW or could it wait for a few hours? It's getting late here (not that I couldn't stay up a while longer :P).
05:27 moritz lue: no hurry; should just happen this month
05:27 moritz r: say Date.new(2013, 10, 31) - Date.today
05:27 camelia rakudo-parrot ec29c0, rakudo-jvm 882e33: OUTPUT«4␤»
05:28 lue One more question: For Step 2, how do I pick the right revisions? Is there a rule of thumb?
05:28 SmokeMachine joined #perl6
05:28 moritz lue: 2013.10 for rakudo and nqp
05:28 moritz always the released versions
05:29 moritz and for parrot, the version that's in nqp's tools/buil/PARROT_REVISION
05:29 lue I had a feeling it was something like that :) .
05:34 lue ♘, #perl6 o/ [I just decided arbitrarily that the white horse is for when I say bye to this channel]
05:35 TimToady looks black to me
05:36 SmokeMac_ joined #perl6
05:37 lue r: say "\c[WHITE CHESS KNIGHT]    \c[BLACK CHESS KNIGHT]"
05:37 camelia rakudo-parrot ec29c0, rakudo-jvm 882e33: OUTPUT«♘    ♞␤»
05:40 TimToady they should be labelled FOREGROUND and BACKGROUND instead of BLACK and WHITE
05:41 SmokeMachine joined #perl6
05:47 SmokeMachine joined #perl6
05:54 aindilis joined #perl6
05:59 isBEKaml joined #perl6
06:41 dalek star: a4b16fa | moritz++ | tools/star/release-guide.pod:
06:42 dalek star: [release guide] clarify which versions to use, lue++
06:42 dalek star: review: https://github.com/rakudo/star/commit/a4b16fa861
06:46 darutoko joined #perl6
06:50 kaare_ joined #perl6
07:02 SamuraiJack_ joined #perl6
07:30 Woodi hi all :)
07:30 Woodi about: < jnthn> And a $!x in a base class will not conflict with a $!x in a subclass.
07:31 Woodi this is what looks natural for me: http://www.angelfire.com/tx4/cus/shapes/java.html
07:32 Woodi what are use cases making "conflicts" important ? anyone is realy redefine priv attributes ? for me, it is bad huffmanization of features...
07:33 Woodi becouse after instantiation there is no super class - it is just definition sugar
07:40 woolfy left #perl6
07:44 _sri joined #perl6
07:54 japhb__ I'm about to trundle off to bed, but if anyone is looking for a task before I get back, making Buf actually writable would be excellent; it's the next thing blocking me on the protobuf work.
07:55 japhb__ That is, if anyone's looking for LHF.  Otherwise, I'll attack it myself.  :-)
07:55 japhb__ Dream well, *
07:55 japhb__ &
08:01 SamuraiJack_ joined #perl6
08:03 dmol joined #perl6
08:30 darutoko joined #perl6
08:33 hoelzro morning #perl6
08:33 masak morning, #perl6
08:34 masak Woodi: the underlying principle here is that the name of a private attribute is scoped to the class block.
08:34 dalek nqp: 1b64b46 | (Tobias Leich)++ | tools/build/MOAR_REVISION:
08:34 dalek nqp: bump moar revision
08:34 dalek nqp: review: https://github.com/perl6/nqp/commit/1b64b4613c
08:35 FOAD joined #perl6
08:37 dalek nqp: f76801b | (Tobias Leich)++ | Configure.pl:
08:37 dalek nqp: fix copy&pasto
08:37 dalek nqp: review: https://github.com/perl6/nqp/commit/f76801b47e
08:48 lizmat joined #perl6
08:49 lizmat good *, #perl6, again from the T-Dose
08:50 FROGGS o/
08:53 lizmat FROGGS: /o
08:56 [Sno]_ joined #perl6
08:59 dalek nqp: f077bf9 | (Tobias Leich)++ | tools/build/MOAR_REVISION:
08:59 dalek nqp: bump moar rev (unbust dynamic lib loading)
08:59 dalek nqp: review: https://github.com/perl6/nqp/commit/f077bf9e8c
09:04 xenoterracide joined #perl6
09:07 spider-mario joined #perl6
09:11 [Sno] joined #perl6
09:12 ssutch joined #perl6
09:30 lizmat r: augment class Cool { method fnirble { say "fnirble" } }; say 42.fnirble # this should work according to S02:1893, no ?
09:30 synopsebot Link: http://perlcabal.org/syn/S02.html#line_1893
09:30 camelia rakudo-parrot ec29c0: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/HvzV2mXzmBâ�¤augment not allowed without 'use MONKEY_TYPING'â�¤at /tmp/HvzV2mXzmB:1â�¤------> [32maugment class Cool [33mâ��[31m{ method fnirble { say "fnirble" } }; sa[0mâ�¤    expecting any …»
09:30 camelia ..rakudo-jvm 882e33: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/CS9XAE_Oiwâ�¤augment not allowed without 'use MONKEY_TYPING'â�¤at /tmp/CS9XAE_Oiw:1â�¤------> [32maugment class Cool [33mâ��[31m{ method fnirble { say "fnirble" } }; sa[0mâ�¤    expecting any of:…»
09:35 woolfy joined #perl6
09:37 jnthn Woodi: The point is that you can inherit from something and name your attributes what you like without caring if the base class has one with the same name. In some languages, the attribute storage is like a dictionary/hash, which means they would conflict. I think Java's private has the Perl 6 behavior.
09:40 masak yeah. what jnthn said.
09:40 masak with roles, however...
10:09 denis_boyun joined #perl6
10:14 Woodi ok, understood something more now. but my problem is with internal methods of subclasses: http://pastebin.com/xXhu1zLw
10:26 kaare_ joined #perl6
10:33 moritz \o
10:34 FROGGS hi moritz
10:35 lizmat moritz o/
10:35 sqirrel joined #perl6
10:37 masak Woodi: that is a problem in your expectations, not in Perl 6.
10:38 dalek rakudo/nom: 0026bfb | (Elizabeth Mattijsen)++ | src/Perl6/Grammar.nqp:
10:38 dalek rakudo/nom: Make Cool mutable, as per S02:1893
10:38 dalek rakudo/nom:
10:38 dalek rakudo/nom: This just removes the error, this does not fix the subclasses not seeing any
10:38 dalek rakudo/nom: augmentation.
10:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0026bfb277
10:38 synopsebot Link: http://perlcabal.org/syn/S02.html#line_1893
10:38 dmol joined #perl6
10:38 masak Woodi: most of the OOP realizations get that one wrong, and give subclasses special access to the private storage locations of the attributes of the superclass.
10:38 masak Woodi: if you want that kind of access, provide accessors.
10:45 xinming joined #perl6
10:46 wbill joined #perl6
10:48 masak Woodi: for more on this, see https://duckduckgo.com/?q=inh​eritance+breaks+encapsulation
10:51 dmol joined #perl6
10:55 moritz .oO( lmddgtfy )
11:00 * masak is happy-go-ducky
11:02 dalek specs: 5c0b6dd | (Elizabeth Mattijsen)++ | S99-glossary.pod:
11:02 dalek specs: Add lmddgtfy lemma
11:02 dalek specs: review: https://github.com/perl6/specs/commit/5c0b6ddbba
11:03 dmol joined #perl6
11:03 masak heh.
11:03 masak it's not a gloss just by *one* use! :P
11:04 masak more like a frivolous productive infix.
11:05 * masak .oO( lmbtfy, lmytfy, lmatfy, lmdbtfy )
11:05 masak that's <Bing Yahoo/Yandex, Altavista, Baidu>
11:06 masak s/,//g
11:06 * masak .oO( lm[lmgtfy]fy )
11:07 masak this reminds me of category theory...
11:07 masak :)
11:10 lizmat "[12:07:29] <masak> this reminds me of category theory..." reminds me of category theory as well  :-)
11:13 moritz «12:10 < lizmat> "[12:07:29] <masak>I this reminds me of category theory..."  reminds me of category theory as well  :-)»  this reminds me of recursion :-)
11:13 lizmat .oO( finally someone took the bait :-)
11:18 masak :P
11:19 masak you could say that what category theory does is take induction and turn it into a data structure (a category).
11:19 moritz GlitchMr: in your last "Perl 6 changes" blog, you missed the :sigspace change in rakudo, which IMHO is pretty significant (pun intended)
11:21 * masak .oO( it's significant, so it should take up some space in the blog post )
11:22 lizmat .oO( maybe it's hidden in the whitespace )
11:23 moritz ok, I should have said "pun indented" :-)
11:24 masak there's that recursion again.
11:24 moritz lizmat: fwiw I understand the specs that Cool is indeed mutable, but you still need 'use MONKEY_PATCHING;'
11:24 moritz (all classes are mutable by default)
11:26 moritz GlitchMr: also, the "
11:26 moritz Null regular expressions now throw compile time exceptions.
11:26 moritz "
11:26 moritz links seems to have nothing to do with the link text
11:28 * lizmat reads up on S12
11:30 masak GlitchMr++ # doing the "changes" posts week after week
11:38 moritz GlitchMr++ indeed
11:38 * moritz needs to check if JSON::Tiny still works after the sigspace changes
11:41 Woodi masak: it is me or there is no "special access to the private storage locations of the attributes of the superclass
11:42 moritz there is no special access
11:42 moritz since the parent class doesn't control who its child classes can be, it doesn't make sense to give them special permissions
11:42 Woodi ..." becouse it subclass instance use OWN storage, just declared via "is also..."
11:43 moritz it's like saying "you can access this attribute ONLY if you wear that funny, yellow hat"
11:43 Woodi for me inheriting is just inlining parrent definition and using private storage
11:43 moritz but that's not what it's meant to be
11:44 moritz Woodi: storage and types are orthogonal
11:44 moritz (mostly)
11:44 moritz don't argue with storage when you talk about types
11:44 moritz and inheritance is a type feature
11:44 Woodi so instance of subclass include instance of superclass ??
11:45 moritz what do you mean by "include"?
11:45 Woodi for now I see that instantiating subclass makes creates private instance of cuperclass and delegates or calls method on it...
11:46 moritz Woodi: whatever it does, it's an implementation detail you shouldn't care about when discussion semantics
11:46 Woodi for me instantiating superclass is like making struct { } with superclass struct definition inilined
11:47 moritz Woodi: you are again conflating the storage and the type/semantics level
11:47 moritz don't do that.
11:48 Woodi yes, I thinking about what it is under cover. just wanting to avoid method calls
11:49 masak Woodi: I just came back from the backlog. you are not yet healed from the damage most other OO languages has done to your thinking about privacy and subclassing. keep trying. :)
11:49 masak s/from the/to the/
11:49 Woodi masak: very pleas, use argument :)
11:50 moritz Woodi: Rakudo's implementation of the P6Opaque representation inlines the parent classes' storage
11:50 moritz Woodi: but that's totally irrelevant for any discussion of semantics; it's an implementation detail
11:50 masak Woodi: like moritz points out, subclassing is not a structural thing. if you're arguing "they should be visible because it's just a struct", then you're not doing OO and encapsulation.
11:50 masak you're doing C and structs.
11:50 Woodi thats just words to visualize...
11:51 moritz no
11:51 moritz structs is talking about representation
11:51 moritz and representation != type/behavior
11:51 masak Woodi: subclasses can't see the private attributes of super classes. that has nothing to do with the way things are laid out in memory.
11:52 masak Woodi: the limitation is in the *language*, not in memory.
11:54 moritz TODO: teach ufo about perl6-j
11:54 masak oh!
11:55 masak mind if I file a github issue about that?
11:55 moritz I compiled my rakudo with --backends=jvm,parrot, so the 'perl6' executable is actually perl6-j
11:55 moritz masak: it's your project; the correct question is if *you* mind :-)
11:55 masak why don't we just call the executable 'perl6'?
11:55 moritz and perl6-j doesn't understand --target=pir
11:56 moritz masak: which one?
11:56 masak I see the problem. they both get generated, so they can't have the same name :/
11:56 moritz aye
11:56 masak is it only when you build with several backends that it gets the horrible names?
11:56 moritz so they are called perl6-j and perl6-p, and there's a convenience script called 'perl6'
11:57 masak wut's the convenience script do?
11:57 moritz masak: it launches one of the explicitly named binaries
11:57 masak moritz: my original question was "could you please file a github issue about that?", but I changed my mind at the last minute :)
11:57 moritz or more precisely, it's a copy of one of the others
11:57 masak moritz: what needs to be done for the issue to be closed?
11:57 iSlug joined #perl6
11:57 masak moritz: which one?
11:58 moritz masak: 'ufo && make test' should succeed even when the default 'perl6' is a perl6-j
11:58 Woodi hmm, still, with just behavior part, and without implementation details, obj.x = z is quite nice, short syntax :)
11:58 moritz masak: if there is only one, than that. If there is more than one, corresponding to the first backend passed to the --backends option
11:59 moritz and if the backends are autodetected, the first one that was detected
12:00 moritz (so from a user's perspective, essentially "undefined"
12:04 Ulti joined #perl6
12:04 masak https://github.com/masak/ufo/issues/8
12:05 moritz p: say ' a s b ' ~~ m:s/^ a* % s $/
12:05 camelia rakudo-parrot 0026bf: OUTPUT«False␤»
12:05 masak p: say 'a s b ' ~~ m:s/^ a* % s $/
12:05 camelia rakudo-parrot 0026bf: OUTPUT«False␤»
12:06 masak p: say 'a s a ' ~~ m:s/^ a* % s $/
12:06 camelia rakudo-parrot 0026bf: OUTPUT«False␤»
12:07 moritz p: say ' a s b ' ~~ m:s/^ a* % [ s ] $/
12:07 camelia rakudo-parrot 0026bf: OUTPUT«False␤»
12:07 moritz p: say ' a s b' ~~ m:s/^ a* % [ s ] $/
12:07 camelia rakudo-parrot 0026bf: OUTPUT«False␤»
12:07 moritz p: say 'a s b' ~~ m:s/^ a* % [ s ] $/
12:07 camelia rakudo-parrot 0026bf: OUTPUT«False␤»
12:07 moritz p: say 'a sb' ~~ m:s/^ a* % [ s ] $/
12:07 camelia rakudo-parrot 0026bf: OUTPUT«False␤»
12:07 diakopter moritz: I kindof like lue's suggestion that the perl6 convenience script could take a flag to attempt to use a backend other than the default it calls without the flag
12:08 moritz p: say 'asb' ~~ m:s/^ a* % [ s ] $/
12:08 camelia rakudo-parrot 0026bf: OUTPUT«False␤»
12:08 moritz n: say 'a s b' ~~ m:s/^ a* % [ s ] $/
12:08 camelia niecza v24-98-g473bd20: OUTPUT«False␤»
12:08 moritz diakopter: but then why not use that particular executable righ away?
12:09 moritz if you know you want to compile to PIR, use perl6-p
12:09 tadzik and what if there are 3 of them :)
12:10 tadzik perhaps rakudo now wants something equivalent to 'rakudobrew current', as in "what impl am I running anyway"
12:10 moritz n: say 'a s a' ~~ m:s/^ a* % [ s ] $/
12:10 camelia niecza v24-98-g473bd20: OUTPUT«「a s a」␤␤»
12:10 tadzik maybe setting an env variable or so
12:10 moritz p: say 'a s a' ~~ m:s/^ a* % [ s ] $/
12:10 camelia rakudo-parrot 0026bf: OUTPUT«False␤»
12:10 diakopter moritz: well, actually that makes me think it should call the default executable always, but the other executable should recognize another backend was requested..
12:11 diakopter (.. and exec it instead)
12:11 lizmat r: $ perl6 -e 'module A is Int {}   # this is a LTA error, right ?
12:11 moritz diakopter: let's step back, and ask: what is the use case?
12:11 camelia rakudo-jvm 882e33: OUTPUT«(timeout)»
12:11 camelia ..rakudo-parrot 0026bf: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/OBPuIegmjWâ�¤Unsupported use of $  variableâ�¤at /tmp/OBPuIegmjW:1â�¤------> [32m<BOL>[33mâ��[31m$ perl6 -e 'module A is Int {}   # this [0mâ�¤    expecting any of:â�¤        statement listâ�¤â€¦Â»
12:12 moritz r: modula A is Int { }
12:12 camelia rakudo-jvm 882e33: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/N7AjgpNg6lâ�¤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?)â�¤at /tmp/N7AjgpNg6l:1â�¤------> [32mmodula A is Int [33mâ��[31m{ }[0mâ�¤    expecti…»
12:12 camelia ..rakudo-parrot 0026bf: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/28wKF3QgBnâ�¤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?)â�¤at /tmp/28wKF3QgBn:1â�¤------> [32mmodula A is Int [33mâ��[31m{ }[0mâ�¤    expe…»
12:12 moritz r: module A is Int { }
12:12 camelia rakudo-parrot 0026bf: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/AxHoxFt70A�Method 'add_parent' not found for invocant of class 'Perl6::Metamodel::ModuleHOW'�at /tmp/AxHoxFt70A:1�------> �»
12:12 camelia ..rakudo-jvm 882e33: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/4Nht8C6cnJ�Method 'add_parent' not found for invocant of class 'Perl6::Metamodel::ModuleHOW'�at /tmp/4Nht8C6cnJ:1�------> �»
12:12 lizmat moritz++ for fixing pasto
12:12 moritz lizmat: would be much nicer if it said "modules do not support subclassing; maybe you want to write a class instead?"
12:12 lizmat indeed
12:12 diakopter definitely not a hot path, so worth adding a check for a better error, imho
12:13 lizmat so, how can I find out the "type" of the type object easily?
12:13 diakopter moritz: I'll try to nail down what I'm imagining, and get back to you sometime :)
12:13 moritz lizmat: at compile time you can look into $*DECL or so
12:13 lizmat the only way I figured was to take the HOW.perl and then match on (\w+)HOW ?
12:13 lizmat aha, ok
12:15 moritz lizmat: another approach is to write a role Perl6::HOW::NoInheritance[$kind] { method add_parent(|) { die $kind ~ "s do not support inheritance" }
12:15 moritz and apply that to ModuleHOW
12:15 moritz no idea if that's sane design or not :-)
12:16 lizmat seems to depend on an implementation detail of "add_parent"
12:16 * diakopter hopes it is
12:16 moritz lizmat: well, that's how inheritance is done on the MOP level
12:16 lizmat I guess that's true
12:16 moritz lizmat: and while it is an implementation detail now, it's something we have to spec eventually
12:17 moritz otherwise the MOP won't be very usefl
12:17 lizmat ok, so why not simply add "add_parent" to ModuleHow ?
12:17 lizmat *ModuleHOW
12:18 moritz lizmat: that's what I'm saying, basically, except that PackageHOW and EnumHOW also want the same
12:18 lizmat gotcha
12:18 moritz lizmat: so I proprosed to factor it into a role
12:20 masak +1 on Perl6::HOW::NoInheritance
12:20 diakopter Perl6::HOW::Infertile
12:20 lizmat Perl6::Metamodel::NoInheritance ?
12:20 diakopter Perl6::HOW::Scrooge
12:20 moritz lizmat: aye
12:21 moritz the REPL without readline is no fun :(
12:22 masak moritz: isn't there a way we can include readline semantics, always?
12:24 moritz masak: there sure is, but I have no idea how much or little effort that would be
12:24 moritz like, re-implementing readline in NQP
12:24 * moritz wants a mobile phone that runs on NQP-OS
12:25 diakopter o_O
12:29 lizmat hmmm.... do I need to add a "use" for the new file somewhere?  in BOOTSTRAP.nqp ?
12:31 moritz lizmat: doesn't look like it
12:31 moritz lizmat: they are all mushed together into one file in the build process
12:31 lizmat ah, hmm...
12:31 moritz lizmat: you just have to add it to the list of metamodel sources in tools/build/Makefile-{Parrot,JVM}.in before it is used
12:31 lizmat ack
12:35 lizmat oops, I shouldn't say that  :-)
12:37 _sri joined #perl6
12:45 lizmat moritz: argh: $parent.HOW.archetypes.inheritable()
12:45 dansamo joined #perl6
12:45 lizmat checks whether it has an "add_parent', and assumes that's ok hen
12:46 lizmat actually  $parent.HOW.archetypes.inheritalizable()
12:46 sizz joined #perl6
12:46 kaare__ joined #perl6
12:48 moritz lizmat: then maybe the code that calls add_parent should check that :-)
12:50 lizmat well, indeed, but then I wonder about the usefullness of creating a role for this
12:51 moritz agreed
12:51 moritz oh wait
12:52 moritz maybe you need to check the same thing on $package and not on $parent
12:52 moritz not sure if the relation is symmetric though
12:52 moritz (ie anything that you can inherit from can inherit itself)
12:54 jaffa4 joined #perl6
12:54 jaffa4 hi all
12:55 jaffa4 I get a bug Default constructor for 'Path::Util' only takes named arguments
12:55 jaffa4 and submethod BUILD($filename) {
12:55 jaffa4 That does not look named to me... What can you see?
12:56 * moritz can see a confused jaffa4
12:56 jaffa4 rather stuck.
12:56 moritz jaffa4: http://perlgeek.de/blog-en/perl-6/objec​t-construction-and-initialization.html
12:56 moritz jaffa4: http://doc.perl6.org/language/objects
12:57 moritz more specifically, http://doc.perl6.org/language​/objects#Object+Construction
13:03 dalek panda: 08e09b0 | moritz++ | ext/JSON__Tiny:
13:03 dalek panda: update JSON::Tiny (whitespace parsing fix)
13:03 dalek panda: review: https://github.com/tadzik/panda/commit/08e09b0f52
13:05 sqirrel joined #perl6
13:11 jaffa4 ok.. Passing an object candidate to Mu.bless is deprecated?
13:12 lizmat there were some spec changes in that area recently
13:12 moritz jaffa4: yes; sadly I haven't updated all the docs yet
13:13 moritz jaffa4: but usually that just means to write self.bles(things) instead of self.bless(*, things)
13:14 lizmat de909c2d578b75871a14e59b260c446cd9a691fe to be precise
13:14 jaffa4 yes
13:14 moritz lizmat++ # citing your sources
13:23 * masak .oO( [SHA-1 needed] )
13:24 diakopter masak: :)
13:24 jaffa4 Is there way of matching and regex and puttign captured groups into a variable?
13:24 jaffa4 In one step?
13:26 lizmat $/<groupname> ?
13:27 jaffa4 $f     = ( $filename =~ /[.]([^\\\/.]+?)$/ );?
13:28 jaffa4 That was in Perl
13:30 moritz and what happens when you do that in Perl 6?
13:30 moritz (with a Perl 6 regex, of course)
13:30 FROGGS r: my $b = @("abc".match(/.(.)./)); say $b
13:30 camelia rakudo-parrot 0026bf, rakudo-jvm 882e33: OUTPUT«「b」␤␤»
13:30 moritz or simply use $/ as an array
13:30 moritz or $/.list
13:31 moritz or whatever you want to have in the end
13:31 FROGGS r: my ($a, $b, $c) = @("abc".match(/(.)(.)(.)/)); say "$c-$b-$a"
13:31 camelia rakudo-parrot 0026bf, rakudo-jvm 882e33: OUTPUT«c-b-a␤»
13:31 FROGGS r: my ($a, $b, $c) = "abc".match(/(.)(.)(.)/).list; say "$c-$b-$a"
13:31 camelia rakudo-parrot 0026bf, rakudo-jvm 882e33: OUTPUT«c-b-a␤»
13:32 moritz r: my ($extension) = 'foo.txt' ~~ /\. <( <-[.]>+ $ /
13:32 camelia rakudo-parrot 0026bf, rakudo-jvm 882e33: ( no output )
13:32 moritz r: my ($extension) = 'foo.txt' ~~ /\. <( <-[.]>+ $ /; say ~$extension
13:32 camelia rakudo-parrot 0026bf, rakudo-jvm 882e33: OUTPUT«txt␤»
13:34 raiph joined #perl6
13:39 masak r: my $extension = .Str given 'foo.txt' ~~ /\. <( <-[.]>+ $ /; say $extension
13:39 camelia rakudo-parrot 0026bf, rakudo-jvm 882e33: OUTPUT«txt␤»
13:39 pippo joined #perl6
13:41 moritz masak: that's quite clever
13:42 masak it felt a bit original, yes.
13:42 masak and you can probably use that to pluck out results, too.
13:42 masak r: my ($a, $b, $c) = @($_) given "abc".match(/(.)(.)(.)/); say "$c-$b-$a"
13:42 camelia rakudo-parrot 0026bf, rakudo-jvm 882e33: OUTPUT«c-b-a␤»
13:43 masak r: my ($a, $b, $c) = .[^3] given "abc".match(/(.)(.)(.)/); say "$c-$b-$a"
13:43 camelia rakudo-parrot 0026bf, rakudo-jvm 882e33: OUTPUT«c-b-a␤»
13:44 FROGGS r: my ($a, $b, $c) = "abc".match(/(.)(.)(.)/).list.[^3]; say "$c-$b-$a"
13:44 camelia rakudo-parrot 0026bf, rakudo-jvm 882e33: OUTPUT«c-b-a␤»
13:44 FROGGS r: my ($a, $b, $c) = "abc".match(/(.)(.)(.)/).list.[2;0;1]; say "$c-$b-$a"
13:45 camelia rakudo-parrot 0026bf: OUTPUT«WARNINGS:␤Useless use of constant integer 2 in sink context (line 1)␤Useless use of constant integer 0 in sink context (line 1)␤use of uninitialized value of type Any in string context  in sub warn at gen/parrot/CORE.setting:674␤␤use of uniniti…»
13:45 camelia ..rakudo-jvm 882e33: OUTPUT«WARNINGS:␤Useless use of constant integer 0 in sink context (line 1)␤Useless use of constant integer 2 in sink context (line 1)␤use of uninitialized value of type Any in string context␤use of uninitialized value of type Any in string context␤--b␤»
13:45 FROGGS r: my ($a, $b, $c) = "abc".match(/(.)(.)(.)/).list.[2,0,1]; say "$c-$b-$a"
13:45 camelia rakudo-parrot 0026bf, rakudo-jvm 882e33: OUTPUT«b-a-c␤»
13:46 jaffa4 ok
13:46 nebuchadnezzar joined #perl6
13:46 jaffa4 How do you format perl6?
13:46 FROGGS format?
13:47 jaffa4 the source code
13:47 jaffa4 clean up, tidy, beautify, indent
13:47 FROGGS manually, like I do with all what I write :o)
13:48 masak a perl6 indenter could definitely be written, and might be very useful.
13:48 pippo Hello. Does anybody tried this on rakudo-jvm? my $file = ""; for ^20000 {$file ~= "$_;"}; say $file ~~ /(\d+) +% ';'/;
13:49 masak pippo: ...probably not?
13:49 pippo It takes too much long to execute!
13:49 FROGGS no, not exactly this line... why?
13:49 FROGGS pippo: how too muh long?
13:50 pippo Really I do not know. It blows me out before it finishes. Niecza does it in few seconds.
13:50 masak jaffa4, FROGGS: like p5's https://metacpan.org/pod/release/SHANCO​CK/Perl-Tidy-20130922/lib/Perl/Tidy.pod
13:51 jaffa4 no, that spoils the code, I just tried
13:51 masak pippo: that sounds like a bug, then.
13:51 masak jaffa4: "spoils"?
13:51 ajr joined #perl6
13:51 jaffa4 the result does not look nice.
13:52 pippo I do not know. I arrived at this trying to nderstand why slurping a long file about 20'000 lines takes so long (lines slurp "myfile").
13:53 masak pippo: it would be interesting to see timings of this for <p5 niecza r-p r-j>
13:53 masak on your machine.
13:54 pippo I'll do...
13:56 jaffa4 what is the meaning of having a sub in a class?
13:56 lizmat to call it from more than one method/sub in that class ?
13:57 jaffa4 defining a sub as sub name in a class....
13:57 lizmat example ?
13:58 jaffa4 http://pastebin.com/1YBkjN4p
13:59 jaffa4 see sub getbasename
14:00 lizmat feels like a typo to me
14:00 lizmat or a thinko
14:00 FROGGS nqp-p: nqp::bitand_s("a", "b") # does somebody understand that?
14:00 camelia nqp-parrot: OUTPUT«error:imcc:syntax error, unexpected SREG, expecting '(' ('$S5001')␤  in file '(file unknown)' line 48194631␤␤␤»
14:00 lizmat like trying to make an alternate accessor for "basename"
14:01 jaffa4 I would iike to have static method, is that possible?
14:01 jaffa4 in a class
14:01 pippo masak: Niecza: real0m7.866s user0m13.510s sys0m0.135s (but changed 20'000 to 10'000 in the for loop)
14:02 masak pippo: nice.
14:02 pippo masak: rakudo-jvm I am still waiting after 4 minutes
14:03 lizmat jaffa4: without using multi methods:
14:03 lizmat r: class A { method a { self ?? "instance" !! "static" } }; say A.new.a; say A.a
14:03 camelia rakudo-parrot 0026bf, rakudo-jvm 882e33: OUTPUT«instance␤static␤»
14:03 guy40 joined #perl6
14:03 masak pippo: ok, submitting rakudobug.
14:05 [Sno] joined #perl6
14:06 masak jaffa4: subs can be quite useful inside of class blocks. they're not methods; they just do utility things for other routines, like methods usually do.
14:06 lizmat jaffa4: using multi methods:
14:06 lizmat r: class A { multi method a (A:D:) { "instance" }; multi method a (A:U:) { "static" } }; say A.new.a; say A.a
14:06 camelia rakudo-parrot 0026bf, rakudo-jvm 882e33: OUTPUT«instance␤static␤»
14:07 dalek rakudo/nom: aab740c | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/ (3 files):
14:07 dalek rakudo/nom: Fix prentending_to_be typo before it proliferates
14:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/aab740cfd3
14:07 jaffa4 is smiling face intentional>
14:09 masak depends what you mean by "intentional"...
14:09 lizmat jaffa4: that's probably your IRC client interpreting : )
14:09 lizmat r: class A { multi method a (A:D: ) { "instance" }; multi method a (A:U: ) { "static" } }; say A.new.a; say A.a
14:09 camelia rakudo-parrot 0026bf, rakudo-jvm 882e33: OUTPUT«instance␤static␤»
14:09 lizmat that better ?
14:10 jaffa4 yes
14:10 masak whatever client you're using... consider switching
14:10 masak :) :) :) :) :) :)
14:12 jaffa4 because?
14:12 FROGGS jaffa4: if you see smilies in perl code... how will you know what is really there?
14:12 jaffa4 Is this a feature or a bug?
14:13 lizmat the makers of your IRC client probably consider it a feature
14:14 guy40 left #perl6
14:14 geekosaur there's usually some way to turn it off
14:14 ajr_ joined #perl6
14:16 geekosaur http://www.kvirc.ru/forum/?topic=674.0
14:19 jaffa4 yes
14:19 masak jaffa4: my personal preference for IRC clients tends towards those that don't destroy the text, smilies or otherwise.
14:21 ajr_ joined #perl6
14:22 colomon joined #perl6
14:29 jaffa4 Using an accessor give me different result than printing out a class variable
14:31 masak code?
14:33 jaffa4 http://pastebin.com/tkMYGim9
14:34 jaffa4 if you run it, the last line willl be strange
14:35 jaffa4 say "getbasename2"~Path::Util.g​etbasename("c:\\g\\c.mp4");  looks ok
14:35 jaffa4 but say Path::Util.getbasename("c:\\g\\c.mp4");
14:35 jaffa4 does not
14:36 masak r: class A { method x { if self { say "self" } else { say "not self" } }; A.x; A.new.x
14:36 camelia rakudo-jvm 882e33: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Rr4mnqE4nCâ�¤Unable to parse expression in block; couldn't find final '}' â�¤at /tmp/Rr4mnqE4nC:1â�¤------> [32m else { say "not self" } }; A.x; A.new.x[33mâ��[31m<EOL>[0mâ�¤    expecting any of:…»
14:36 camelia ..rakudo-parrot aab740: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/36S6UXwFYzâ�¤Unable to parse expression in block; couldn't find final '}' â�¤at /tmp/36S6UXwFYz:1â�¤------> [32m else { say "not self" } }; A.x; A.new.x[33mâ��[31m<EOL>[0mâ�¤    expecting any …»
14:36 masak r: class A { method x { if self { say "self" } else { say "not self" } } }; A.x; A.new.x
14:37 camelia rakudo-parrot aab740, rakudo-jvm 882e33: OUTPUT«not self␤self␤»
14:37 masak r: my $filename = "c:\\g\\c.mp4"; ($filename ~~ /<[\\\/]>?(<-[\\\/]>+)$/ )[0]
14:37 camelia rakudo-parrot aab740, rakudo-jvm 882e33: ( no output )
14:37 masak r: my $filename = "c:\\g\\c.mp4"; say ($filename ~~ /<[\\\/]>?(<-[\\\/]>+)$/ )[0]
14:37 camelia rakudo-parrot aab740, rakudo-jvm 882e33: OUTPUT«「c.mp4」␤␤»
14:39 masak jaffa4: ah. I just ran it locally.
14:39 masak jaffa4: it returns the Match object, so what you see is "「c.mp4」". correct?
14:40 masak jaffa4: if you want just the string "c.mp4", you have to stringify the match object at some point.
14:40 masak for example `return ~($filename ~~ /<[\\\/]>?(<-[\\\/]>+)$/ )[0]`
14:40 jaffa4 would not [0] return the first capture group?
14:40 masak yes.
14:40 masak ...which is a match object, not a string.
14:40 masak it's match objects all the way down.
14:40 FROGGS hehe
14:41 jaffa4 So I need to use ~
14:41 masak or .Str
14:42 jaffa4 ok
14:43 Mouq joined #perl6
14:44 Mouq r: my $file = ""; for ^20000 {$file ~= "$_;"}; $file ~~ /(\d+) +% ';'/; say now - BEGIN now
14:44 camelia rakudo-parrot aab740: OUTPUT«4.33376393␤»
14:44 camelia ..rakudo-jvm 882e33: OUTPUT«5.668␤»
14:44 Mouq r: my $file = ""; for ^20000 {$file ~= "$_;"}; $file ~~ /(\d+) +% ';'/; say $/[0]; say now - BEGIN now
14:45 camelia rakudo-parrot aab740, rakudo-jvm 882e33: OUTPUT«(timeout)»
14:45 Mouq ^^^ We're doing something wrong accessing $/, me thinks
14:45 dalek nqp: 94eaca0 | (Tobias Leich)++ | / (2 files):
14:45 dalek nqp: mapped bitand_s, bitor_s and bitxor_s
14:45 dalek nqp: review: https://github.com/perl6/nqp/commit/94eaca0ed7
14:47 jaffa4 How to get OS type from a variable?
14:47 FROGGS r: say $*OS
14:47 camelia rakudo-parrot aab740: OUTPUT«linux␤»
14:47 camelia ..rakudo-jvm 882e33: OUTPUT«Linux␤»
14:47 lizmat hehe
14:47 Mouq nqp: my $file := ""; my $i := 0; while $i < 20000 {$file ~= "$_;"; $i := $i + 1}; $file ~~ /(\d+) +% ';'/;
14:47 camelia nqp-parrot: OUTPUT«Unable to parse expression in blockoid; couldn't find final '}'  at line 2, near "$file ~= \""␤current instr.: 'panic' pc 16306 (gen/parrot/stage2/NQPHLL.pir:6018) (gen/parrot/stage2/NQPHLL.nqp:426)␤»
14:47 camelia ..nqp-jvm: OUTPUT«Unable to parse expression in blockoid; couldn't find final '}'  at line 2, near "$file ~= \""␤  in panic (gen/jvm/stage2/NQPHLL.nqp:377)␤  in FAILGOAL (gen/jvm/stage2/NQPHLL.nqp:384)␤  in blockoid (gen/jvm/stage2/NQP.nqp:983)␤  in pblock (gen/jvm/stage2/NQP.…»
14:47 camelia ..nqp-moarvm: OUTPUT«Unable to parse expression in blockoid; couldn't find final '}'  at line 2, near "$file ~= \""␤panic␤»
14:47 Mouq nqp: my $file := ""; my $i := 0; while $i < 20000 {$file := "$file$_;"; $i := $i + 1}; $file ~~ /(\d+) +% ';'/;
14:48 camelia nqp-jvm: OUTPUT«java.lang.NullPointerException␤  in  (/tmp/1NI8y7kZ_e:1)␤  in  (gen/jvm/stage2/NQPHLL.nqp:1098)␤  in eval (gen/jvm/stage2/NQPHLL.nqp:1084)␤  in evalfiles (gen/jvm/stage2/NQPHLL.nqp:1290)␤  in command_eval (gen/jvm/stage2/NQPHLL.nqp:1194)␤  in command_line…»
14:48 camelia ..nqp-moarvm: OUTPUT«No lexical found with name '$_'␤frame_name_0␤»
14:48 camelia ..nqp-parrot: OUTPUT«Null PMC access in get_string()␤current instr.: '' pc 96 ((file unknown):62) (/tmp/FwXFcPyLul:1)␤»
14:48 Mouq nqp: my $file := ""; my $i := 0; while $i < 20000 {$file := "$file$i;"; $i := $i + 1}; $file ~~ /(\d+) +% ';'/;
14:48 camelia nqp-jvm, nqp-parrot: ( no output )
14:48 camelia ..nqp-moarvm: OUTPUT«(timeout)»
14:50 Mouq nqp: my $file := ""; my $i := 0; while $i < 20000 {$file := "$file$i;"; $i := $i + 1}; say($file ~~ /(\d+) +% \;/)
14:50 pippo Mouq: how is it possible that Camelia does it in 5 seconds? In my machine camelia it took more that 9minutes and I had java.lang.OutOfMemoryError: Java heap space
14:50 pippo Mouq: how is it possible that Camelia does it in 5 seconds? In my machine it took more that 9minutes and I had java.lang.OutOfMemoryError: Java heap space
14:50 camelia nqp-moarvm: OUTPUT«(timeout)»
14:50 camelia ..nqp-jvm, nqp-parrot: OUTPUT«0;1;2;3;4;5;6;7;8;9;10;11;12;13;14;15​;16;17;18;19;20;21;22;23;24;25;26;27;28;29;3​0;31;32;33;34;35;36;37;38;39;40;41;42;43;44;​45;46;47;48;49;50;51;52;53;54;55;56;57;58;59​;60;61;62;63;64;65;66;67;68;69;70;71;72;73;7​4;75;76;77;78;79;80;81;82;83;84;85;86;87;8…»
14:51 Mouq pippo: I'm not `say`ing $/
14:51 Mouq That's what I golfed the problem to. And it seems not to be nqp's fault either
14:51 pippo Understand
14:52 * Mouq goes to get breakfast
14:53 pippo Mouq: I arrived at this because I had a problems loading a file of 20'000 or so line with "lines slurp "myfile""
14:54 pippo I thought it was a problem of the "lines" method. I then tried .split("\n") but did not improve either.
14:55 pippo Mouq: I finally tried with /(\d+) +% \;/ but neither this helped.
14:56 moritz pippo: how about reading line by line in the first place?
14:57 moritz open('myfile').lines
14:57 pippo I'll check...
14:57 Mouq (well, just doing that by itself should be pretty fast; .lines is a lazy list ^_^)
14:59 Mouq r: say [~] "{(state$)++};" xx 20000
14:59 camelia rakudo-jvm 882e33: OUTPUT«(timeout)»
14:59 camelia ..rakudo-parrot aab740: OUTPUT«0;1;2;3;4;5;6;7;8;9;10;11;12;13;14;15​;16;17;18;19;20;21;22;23;24;25;26;27;28;29;3​0;31;32;33;34;35;36;37;38;39;40;41;42;43;44;​45;46;47;48;49;50;51;52;53;54;55;56;57;58;59​;60;61;62;63;64;65;66;67;68;69;70;71;72;73;7​4;75;76;77;78;79;80;81;82;83;84;85;86;87;…»
15:00 Mouq r: say "{(state$)++};" x 20000 # duh
15:00 camelia rakudo-parrot aab740, rakudo-jvm 882e33: OUTPUT«0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;​0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0​;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;​0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0​;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0…»
15:00 zakharyas joined #perl6
15:07 denis_boyun joined #perl6
15:15 rurban joined #perl6
15:18 raiph joined #perl6
15:24 pippo moritz: I have to assign the result of  open('myfile').lines to an array to make later comparisons with another one. So I cannot take advantage of the "lines" laziness.
15:26 colomon pippo: why can't you lazily bind it to the array?
15:27 lizmat my @a := $handle.lines ?
15:27 Mouq r: my @ℕ = 0..Inf; say @ℕ[5]
15:27 Mouq r: my @ℕ := 0..Inf; say @ℕ[5]
15:27 moritz pippo: but you can take advantage of $fh.lines being more efficient (hopefully) than lines($string)
15:27 camelia rakudo-jvm 882e33: OUTPUT«(timeout)»
15:27 camelia ..rakudo-parrot aab740: OUTPUT«5␤»
15:27 camelia rakudo-jvm 882e33: OUTPUT«(timeout)»
15:27 camelia ..rakudo-parrot aab740: OUTPUT«5␤»
15:28 moritz .u ℕ
15:28 moritz so, rakudo-jvm doesn't like laziness?
15:29 lizmat looks like :-(
15:33 moritz nah, it's just too slow for camelia
15:34 moritz works fine for me on the command line
15:35 Mouq r: $*EXECUTIONTIME-- for $*TUITS
15:35 camelia rakudo-jvm 882e33: OUTPUT«(timeout)»
15:35 camelia ..rakudo-parrot aab740: OUTPUT«Dynamic variable $*EXECUTIONTIME not found␤  in method <anon> at gen/parrot/CORE.setting:11921␤  in any  at gen/parrot/Metamodel.nqp:2682␤  in any find_method_fallback at gen/parrot/Metamodel.nqp:2670␤  in any find_method at gen/parrot/Metamodel.…»
15:36 Mouq r: $*COMPILATIONTIME-- for $*TUITS # Rather
15:36 camelia rakudo-jvm 882e33: OUTPUT«(timeout)»
15:36 camelia ..rakudo-parrot aab740: OUTPUT«Dynamic variable $*COMPILATIONTIME not found␤  in method <anon> at gen/parrot/CORE.setting:11921␤  in any  at gen/parrot/Metamodel.nqp:2682␤  in any find_method_fallback at gen/parrot/Metamodel.nqp:2670␤  in any find_method at gen/parrot/Metamode…»
15:40 pippo moritz: I have to do some other works in my program i.e. many .slit and and .join on strings. Is is too much slow and memory hungry.
15:40 moritz pippo: I can imagine that :(
15:41 pippo I think Mouq found where the bug lies i.e. accessing $/
15:42 pippo doing this on rakudo jvm will take only few seconds: my $file = ""; for ^20000 {$file ~= "$_;"}; $file ~~ /(\d+) +% ';'/;
15:42 pippo which is good.
15:43 pippo But this will take immense more time (at least on my machine): my $file = ""; for ^20000 {$file ~= "$_;"}; $file ~~ /(\d+) +% ';'/; say $/;
15:43 moritz yes, that has to compile 20k regexes
15:44 moritz which is quite costly
15:44 moritz if you just want to search for a string literal, use index instead
15:45 ajr joined #perl6
15:48 iSlug joined #perl6
15:48 pippo moritz: you say quite costly. But Niecza does it at speed of light compared to rakudo jvm (if it did not complain about memory exhaust which mostly the case after minutes of mumbling and computer fan throttling)
15:48 moritz pippo: I'm not saying it should be slow, just that it is
15:49 pippo ok :-(
15:49 pippo :-( <= for jvm to be slow
15:50 pippo :-( <= for rakudo-jvm to be slow
15:53 Mouq r: my $file = [~] "{(state$)++};" xx 2000; $file ~~ /[\d+] +% \;/; say $/
15:53 * lizmat gives up on getting smarter "is foo" detection
15:53 camelia rakudo-parrot aab740, rakudo-jvm 882e33: OUTPUT«「0;1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;​17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;3​3;34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49​;50;51;52;53;54;55;56;57;58;59;60;61;62;63;64;65;​66;67;68;69;70;71;72;73;74;75;76;77;78;79;80…»
15:53 Mouq r: my $file = [~] "{(state$)++};" xx 20000; $file ~~ /[\d+] +% \;/; say $/
15:54 camelia rakudo-jvm 882e33: OUTPUT«(timeout)»
15:54 camelia ..rakudo-parrot aab740: OUTPUT«「0;1;2;3;4;5;6;7;8;9;10;11;12;13;14;1​5;16;17;18;19;20;21;22;23;24;25;26;27;28;29;​30;31;32;33;34;35;36;37;38;39;40;41;42;43;44​;45;46;47;48;49;50;51;52;53;54;55;56;57;58;5​9;60;61;62;63;64;65;66;67;68;69;70;71;72;73;​74;75;76;77;78;79;80;81;82;83;84;85;86;…»
15:54 lizmat just too many strange errors in bootstrap / settings building
15:54 pippo moritz: you said  "if you just want to search for a string literal, use index instead"
15:55 pippo moritz: could you provide an example?
15:56 moritz r: if defined 'foobar'.index('bar') -> $offset { say "'foobar' contains 'foo' at offset $offset" }
15:56 camelia rakudo-parrot aab740, rakudo-jvm 882e33: OUTPUT«'foobar' contains 'foo' at offset True␤»
15:56 moritz erm
15:57 moritz r: my $offset = 'foobar'.index('bar'); if defined $offset { say "'foobar' contains 'foo' at offset $offset" }
15:57 camelia rakudo-parrot aab740, rakudo-jvm 882e33: OUTPUT«'foobar' contains 'foo' at offset 3␤»
15:58 jaffa4 inside a mehtod I should be able to call another method in the same class?
15:58 jaffa4 I get getbasename($filename)
15:58 jaffa4 no, I get no ICU lib loaded
15:59 pippo moritz: Thank you very much.
15:59 moritz pippo: you're welcome
15:59 moritz jaffa4: of course getbasename($filename) isn't a method call
16:00 jaffa4 Is self needed?
16:01 PacoAir joined #perl6
16:04 fridim_ joined #perl6
16:06 telex joined #perl6
16:06 moritz either self.getbasename($filename), or $.getbasename($filename)
16:06 denis_boyun joined #perl6
16:07 moritz (if it returns a scalar)
16:20 jaffa4 any idea why this ($filenamelocal  ~~ m:g/<[\\\/]><before .>/); returns one mathce for $filenamelocal = "c:\\g\\c.mp4"
16:20 xinming joined #perl6
16:21 jaffa4 r: my $filenamelocal = "c:\\g\\c.mp4"' ;($filenamelocal  ~~ m:g/<[\\\/]><before .>/); say +lol();
16:21 camelia rakudo-jvm 882e33: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/XW6RgEEVSkâ�¤Two terms in a rowâ�¤at /tmp/XW6RgEEVSk:1â�¤------> [32mmy $filenamelocal = "c:\\g\\c.mp4"[33mâ��[31m' ;($filenamelocal  ~~ m:g/<[\\\/]><befo[0mâ�¤    expecting any of:â�¤        pos…»
16:21 camelia ..rakudo-parrot aab740: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/27ZbizQNk8â�¤Two terms in a rowâ�¤at /tmp/27ZbizQNk8:1â�¤------> [32mmy $filenamelocal = "c:\\g\\c.mp4"[33mâ��[31m' ;($filenamelocal  ~~ m:g/<[\\\/]><befo[0mâ�¤    expecting any of:â�¤        â€¦Â»
16:22 woolfy left #perl6
16:22 lizmat decommute from T-Dose &
16:38 pippo Mouq: the following takes "only" 11s on my machine: my $file = ""; for ^20000 {$file ~= "$_;"}; $file ~~ /[\d+] +% \;/; say $/;
16:39 jaffa4 lizmat:?
16:39 pippo Mouq: if I change the noncapturing brackets to capturing parens then it blows out
16:42 pippo r: my $file = ""; for ^20000 {$file ~= "$_;"}; $file ~~ /[\d+] +% \;/; say $/;
16:42 camelia rakudo-parrot aab740, rakudo-jvm 882e33: OUTPUT«「0;1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;​17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;3​3;34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49​;50;51;52;53;54;55;56;57;58;59;60;61;62;63;64;65;​66;67;68;69;70;71;72;73;74;75;76;77;78;79;80…»
16:43 pippo r: my $file = ""; for ^20000 {$file ~= "$_;"}; $file ~~ /(\d+) +% \;/; say $/;
16:43 camelia rakudo-parrot aab740, rakudo-jvm 882e33: OUTPUT«(timeout)»
16:43 timotimo i wonder if it's the stringification that takes so long
16:45 pippo timotimo: I do not think so. Otherwise the first (with non capturing brackets) shoud also have failed
16:46 timotimo no
16:46 timotimo if you have a capturing bracket, it will print 20000 times "  0 => some-number\n"
16:46 timotimo in addition to the first line
16:46 timotimo r: my $file = ""; for ^5 {$file ~= "$_;"}; $file ~~ /(\d+) +% \;/; say $/;
16:46 camelia rakudo-jvm 882e33: OUTPUT«(timeout)»
16:46 camelia ..rakudo-parrot aab740: OUTPUT«「0;1;2;3;4」␤ 0 => 「0」␤ 0 => 「1」␤ 0 => 「2」␤ 0 => 「3」␤ 0 => 「4」␤␤»
16:47 timotimo that timeouts on jvm?!
16:47 timotimo weird.
16:47 timotimo but you see what i mean?
16:48 pippo r: say "hello"
16:48 camelia rakudo-parrot aab740, rakudo-jvm 882e33: OUTPUT«hello␤»
16:48 pippo r: my $file = ""; for ^5 {$file ~= "$_;"}; $file ~~ /(\d+) +% \;/; say $/;
16:48 camelia rakudo-parrot aab740, rakudo-jvm 882e33: OUTPUT«「0;1;2;3;4」␤ 0 => 「0」␤ 0 => 「1」␤ 0 => 「2」␤ 0 => 「3」␤ 0 => 「4」␤␤»
16:55 pippo timotimo: I think youare right.
16:55 pippo r: my $file = ""; for ^20000 {$file ~= "$_;"}; $file ~~ /(\d+) +% \;/; say $/[0][20000-1];
16:56 camelia rakudo-parrot aab740, rakudo-jvm 882e33: OUTPUT«「19999」␤␤»
16:56 timotimo you can do [*-1]
16:56 pippo timotimo: OK :-)
16:56 pmurias joined #perl6
16:56 pippo r: my $file = ""; for ^20000 {$file ~= "$_;"}; $file ~~ /(\d+) +% \;/; say $/[0][*-1];
16:56 camelia rakudo-parrot aab740, rakudo-jvm 882e33: OUTPUT«「19999」␤␤»
16:57 jaffa4 r : my $str = "aaaaa"; $str ~~ m:g/a/;  say $/.perl;
16:57 jaffa4 r: my $str = "aaaaa"; $str ~~ m:g/a/;  say $/.perl;
16:57 camelia rakudo-jvm 882e33: OUTPUT«Match.new(to => 5, hash => EnumMap.new(), ast => Any, list => ().list, orig => "aaaaa", from => 4)␤»
16:57 camelia ..rakudo-parrot aab740: OUTPUT«Match.new(orig => "aaaaa", from => 4, to => 5, ast => Any, list => ().list, hash => EnumMap.new())␤»
16:57 jaffa4 Is this correct?
16:57 timotimo indeed, the gist method uses ~= instead of pushing into a list and joining
16:57 timotimo that's going to be painfully slow for big matches
17:01 pippo timotimo: there is aslo a problem of heap space. I do not why but trying to print  the $/ after the above 20'000 cycles for loop gives me out of heap space...
17:02 dalek nqp: 8b48712 | (Tobias Leich)++ | / (2 files):
17:02 dalek nqp: mapped inf, neginf, nan and isnanorinf
17:02 dalek nqp: review: https://github.com/perl6/nqp/commit/8b48712d45
17:02 timotimo is this for rakudo-jvm?
17:03 timotimo because afaict the jvm is started with a limit on the heap space it can allocate
17:03 timotimo as a commandline option
17:04 pippo timotimo: yes  jvm. I have put -Xms500m but exhausted also that
17:04 timotimo oh yeah, 500m is nothing to rakudo ;)
17:05 pippo I can try 1g and see if it bails out...
17:05 timotimo rakudo guzzles ram like a ... very thirsty person would a tasty drink
17:06 sqirrel joined #perl6
17:09 dalek Heuristic branch merge: pushed 29 commits to rakudo-star-daily by coke
17:10 Rotwang joined #perl6
17:11 rindolf joined #perl6
17:15 Vlavv` joined #perl6
17:18 xenoterracide joined #perl6
17:33 dalek rakudo/nom: bec62b4 | moritz++ | tools/lib/NQP/Configure.pm:
17:33 dalek rakudo/nom: import NQP::Configure from NQP
17:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bec62b49e3
17:36 jaffa4 Are there alises in Perl 6?
17:37 moritz which aliases?
17:41 timotimo like references?
17:42 jaffa4 variables referred under different names
17:43 moritz r: constant &sinus = &sin; say sinus(pi)
17:43 camelia rakudo-parrot aab740: OUTPUT«1.22464679914735e-16␤»
17:43 camelia ..rakudo-jvm 882e33: OUTPUT«1.2246467991473532E-16␤»
17:43 moritz jaffa4: binding does that (unill you rebind one of them)
17:43 ssutch joined #perl6
17:43 timotimo r: my $x = 10; my $y := $x; $y = "hello"; say $x;
17:43 camelia rakudo-parrot aab740, rakudo-jvm 882e33: OUTPUT«hello␤»
17:43 jaffa4 I would like to have duplicate property names
17:44 moritz why?
17:44 jaffa4 usibilitiy
17:44 jaffa4 some people can remember one name better than other
17:44 timotimo well, properties are just methods
17:44 moritz just write another accessor for the same attribute
17:44 jaffa4 I have has $.filedir;
17:44 timotimo they work like method name-of-thing is rw { $!private-name } i believe
17:45 moritz if they are rw, yes
17:45 jaffa4 it would like to have $.dir
17:45 jaffa4 $.directory
17:45 moritz has $.dir; method directory { $!dir };
17:45 moritz and maybe use the aliasing trick in submethod BUILD that the docs that I gave you earlier uses
17:45 felipe joined #perl6
17:46 moritz so that initialization works for both too
17:46 jaffa4 I am thinking about upload Path::Util
17:47 denis_boyun joined #perl6
17:47 jaffa4 moritz: I see
17:47 dalek rakudo/moar-support: 4799ab9 | jonathan++ | src/vm/moar/Perl6/Ops.nqp:
17:47 dalek rakudo/moar-support: Stub in p6bindsig.
17:47 dalek rakudo/moar-support:
17:47 dalek rakudo/moar-support: Due to the many calls the binder makes back into the interpreter, we
17:47 dalek rakudo/moar-support: will just write it in NQP code on Moar. This will be a little slower
17:47 dalek rakudo/moar-support: at first but (a) we expect Moar to get faster, and (b) we expect to
17:47 dalek rakudo/moar-support: start "lowering" simple signatures down to QAST::Var usage, which is
17:47 dalek rakudo/moar-support: also going to be useful for making better use of invokedynamic on the
17:47 dalek rakudo/moar-support: JVM backend.
17:47 dalek rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/4799ab99d7
17:48 jnthn dinner &
17:48 preflex joined #perl6
17:50 Rotwang joined #perl6
17:50 raiph joined #perl6
17:53 timotimo huh, var usage?
17:56 lue hello world o/
17:58 denis_boyun__ joined #perl6
17:59 moritz \o lue
18:00 timotimo not sure how that var usage thing is going to work, but it sounds good already
18:00 timotimo the sub will just give the inner lexicals (parameters) to the caller directly? or something?
18:01 risou_awy joined #perl6
18:15 diakopter jnthn: hooking compiled code into the compiler directly? WATFACE. QAST::WVal.new( :value(nqp::getcodeobj(&bind_sig)) )
18:15 SamuraiJack_ joined #perl6
18:16 diakopter jnthn: that's, like, an impressive trick... and not un-revolutionary, in fact.
18:16 denisboyun joined #perl6
18:20 masak diakopter: sounds interesting -- what's happening, step by step?
18:21 labster joined #perl6
18:23 logie joined #perl6
18:30 diakopter masak: in the trick I find impressive?
18:32 kurahaupo joined #perl6
18:33 jaffa4 How do I add a module to panda?
18:33 diakopter he's typing code into the compiler source that gets invoked at runtime, injected with that wval hook, which is a code reference that gets resolved at deserialization time... so basically, it's like "hmm, I want the compiler to convert this 'opcode' or construction into something that runs this code I'm typing right here in the compiler source.."
18:34 tadzik jaffa4: send a pull request for perl6/ecosystym on github
18:34 tadzik also, http://wiki.perl6.org/Create%​20and%20Distribute%20Modules
18:35 diakopter masak: if you squint a certain way (by swapping your eyeball sockets or something), you can imagine the entire runtime library being written in the source of the compiler in that manner...
18:35 masak I see.
18:35 masak interesting.
18:39 dalek ecosystem: c3ae1d7 | jaffa4++ | META.list:
18:39 dalek ecosystem: Update META.list
18:39 dalek ecosystem:
18:39 dalek ecosystem: added Path::Util
18:39 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/c3ae1d718d
18:43 denisboyun joined #perl6
18:44 benabik Why is there an install-moar-runner and a gen-moar-runner?
18:44 benabik Why not just gen and then cp?
18:51 colomon jaffa4++
18:53 timotimo seems like someone didn't play the "shake hands with meta" workplace safety video to jnthn
18:56 pippo left #perl6
18:58 pippo joined #perl6
18:59 pippo timotimo: java.lang.OutOfMemoryError: Java heap space after real46m28.040s user110m46.425s sys0m28.380s
19:00 pippo timotimo: -Xmx2g
19:00 pippo timotimo: "java.lang.OutOfMemoryError: Java heap space" after real46m28.040s user110m46.425s sys0m28.380s
19:01 pippo left #perl6
19:01 timotimo holy fuck.
19:05 jnthn diakopter: I discovered the trick, or tricks of that nature, when I was doing the Rakudo Debugger, fwiw :)
19:09 jaffa4 timotimo: what are you surprised at?
19:09 sqirrel joined #perl6
19:10 denisboyun joined #perl6
19:17 lue For step 13 of the release guide, 1) must I subscribe to the appropriate mailing lists before posting an announcement (I assume yes), 2) what's with the parrot mailing list? (just curious)
19:18 moritz benabik: iirc the 'gen-moar-runner' sets up paths from the build directory, and the 'install-' with the $(PREFIX)
19:19 benabik moritz: Couldn't that be done by passing different options to one script?
19:19 benabik I guess that's secondary to getting DESTDIR to work properly.
19:20 moritz benabik: presumably, yes
19:20 moritz benabik: much of the build system falls into the category "it works", not "it's optimal" :-)
19:21 benabik Hm.  I wonder if running java in a parallel build actually helps.
19:21 timotimo jaffa4: that thing ran for 46 minutes
19:23 moritz lue: iirc you don't need to be subscribed to the mailing lists, but the mails will be manually moderated
19:23 moritz lue: and the parrot mailing lists are parrot-{dev,users}@lists.parrot.org
19:23 lue it'd be worth signing up to the P6 lists at least.
19:23 lue Oh, so both -dev and -users, or just -users (which the RG says)?
19:24 moritz trust the release guide, not me :-)
19:24 lue Alright then, that's the last thing I was wondering about, so...
19:24 lue ==> STAR RELEASE MODE ACTIVATED (non-release-related messages from luebot will be limited)
19:24 timotimo oh cool :)
19:24 lue ✔ ① Clone/update star repo
19:25 moritz wow, somebody actually reads the WHOLE release guide first
19:25 tadzik :D
19:25 jnthn .u tick in a box
19:25 jnthn Aww
19:25 moritz .u check mark
19:25 benabik ENOYOLEAUX
19:25 moritz ENOUNICODEBOT
19:26 moritz WHERE IS THAT LAZY BOT?
19:26 geekosaur it only lived once
19:26 moritz 2705 ✅ WHITE HEAVY CHECK MARK
19:26 moritz 2713 ✓ CHECK MARK
19:26 moritz 2714 ✔ HEAVY CHECK MARK
19:26 moritz App::Uni++
19:26 lue this is where r: say "☃".unicharname would come in handy ;)
19:26 moritz au++ # App::Uni
19:27 lue ✔ ② Update Makefile
19:29 benabik \o/
19:30 dalek nqp: a8d0acb | benabik++ | tools/build/Makefile-Moar.in:
19:30 dalek nqp: [Configure] Fix building nqp-m with DESTDIR
19:30 dalek nqp: review: https://github.com/perl6/nqp/commit/a8d0acbce2
19:31 moritz benabik++
19:32 benabik That took a while, but that's also because I was updating my build scripts to handle multiple nqps.
19:33 * timotimo is going to tackle http://questhub.io/realm/perl/​quest/526d50077feb4a583500002d
19:34 lue File::Find cloning randomly asked for my SSH. Is this normal?
19:34 timotimo if it uses a git@github.com url, yeah
19:36 [Coke] looks like you can open a ticket in rt vi the web now.
19:37 lue \o/
19:37 FROGGS cool!
19:37 [Coke] yup.
19:37 [Coke] (verified)
19:37 FROGGS [Coke]: btw, is it hard to rerun the tests an update this? https://gist.github.com/coke/6799633
19:38 [Coke] FROGGS: not really.
19:38 benabik How much heap do people generally need to give Java in order to build NQP?  1g seems to work, but I can't tell if its slow because its slow or if its slow because too much GC.
19:38 tadzik I just use defaults
19:39 benabik Defaults gives me OOM.  :-P
19:39 lue ✔ ③ Utilize updated Makefile
19:39 lue I'm going to take a wild guess here and say that there are no new modules to be added to star this time 'round, correct?
19:40 benabik Huh.  Although -XshowSettings:vm says the max heap is 1.78G
19:41 dmol joined #perl6
19:42 [Coke] FROGGS: done: slight change, I put all the moar related fails in a single gist subfile
19:43 [Coke] lue: that is the safe answer, typically. should be fine.
19:43 FROGGS ahh, thank you!
19:43 FROGGS [Coke]++
19:43 lue ✔ ④ Add new modules to repo. (0 modules were added)
19:44 [Coke] if you want your own live copy, It's "prove -v -e ./nqp t/docs/opcodes.t | ack "^not ok" | ack moar
19:44 Rotwang joined #perl6
19:45 FROGGS cool, I wondered if it was in the repo somewhere :o)
19:45 benabik not a valid number again?  I thought that went away.  :-(
19:46 diakopter masak: you could use that compiler trick to... simplify the implementation of macros tremendously. and probably make them a lot righter
19:47 [Coke] r: my $foo="+";&infix:($foo)(3,4).say
19:47 camelia rakudo-jvm 882e33: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/MjZaok_nJY�You can't adverb that�at /tmp/MjZaok_nJY:1�------> [32mmy $foo="+";&infix:($foo)[33m�[31m(3,4).say[0m�»
19:47 camelia ..rakudo-parrot bec62b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/s_Jn4qX1Co�You can't adverb that�at /tmp/s_Jn4qX1Co:1�------> [32mmy $foo="+";&infix:($foo)[33m�[31m(3,4).say[0m�»
19:48 [Coke] Anyone have opensolaris? we have several old RTs for you to verify.
19:50 diakopter masak: by setting up the injected macro as something that saves the ASTs from compile time directly like that, then simply defers something that compiles the resulting AST (with the args directly passed as ast args to the call), and then once compiled once at runtime, updates itself with the newly compiled code.
19:50 lue ✔ ⑤ Update modules
19:50 diakopter masak: OR
19:51 diakopter evaluate it right then, actually. duh.
19:56 lue moritz: is there anything in the current ChangeLog that I should not include in the announcement? I notice you omitted a couple lines and even added one last month.
20:01 timotimo Unable to parse expression in object; couldn't find final '}'  -  why did parse errors lose their file/line output?
20:01 timotimo oh, this is not a perl6 source code parse failure
20:01 timotimo never mind
20:04 masak diakopter: now I feel like I need to understand this technique deeply.
20:06 [Coke] I'm also getting OOME building rakudo now. (with backends=parrot,jvm)
20:06 lue r: say "hello".ucfirst
20:06 camelia rakudo-jvm 882e33: OUTPUT«No such method 'package' for invocant of type 'Scalar'␤  in sub DEPRECATED at gen/jvm/CORE.setting:16642␤  in block  at /tmp/Zranh1FpeM:1␤  in any eval at gen/jvm/stage2/NQPHLL.nqp:1084␤  in any evalfiles at gen/jvm/stage2/NQPHLL.nqp:1290␤  in any…»
20:06 camelia ..rakudo-parrot bec62b: OUTPUT«Hello␤Saw 1 call to deprecated code during execution.␤======================================​==========================================␤Method ucfirst (from Cool) called at:␤  /tmp/zy2G8Ldnb9, line 1␤Please use 'tc' instead.␤------------------…»
20:06 [Coke] oh, not even on make, on config.
20:06 * timotimo is staring at a json file that doesn't work and can't tell what's wrong
20:07 tadzik jsonlint.com?
20:07 masak I have a regression to report.
20:07 lue questions based on 2013.09's "deprecated list":
20:07 lue 1. Is that unary hyper ops change in effect, slated for 2013.11, or indeterminately in the future
20:07 wbill joined #perl6
20:07 masak std: my @a = 0..4; @a.=[1, 2]; say @a
20:07 camelia std 8adbc60: OUTPUT«ok 00:01 127m␤»
20:08 masak rn: my @a = 0..4; @a.=[1, 2]; say @a
20:08 camelia niecza v24-98-g473bd20: OUTPUT«1 2␤»
20:08 camelia ..rakudo-jvm 882e33: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/UuTtIcx5t8�Cannot use .= on a non-identifier method call�at /tmp/UuTtIcx5t8:1�------> [32mmy @a = 0..4; @a.=[1, 2][33m�[31m; say @a[0m�»
20:08 camelia ..rakudo-parrot bec62b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Ayfc4RauXB�Cannot use .= on a non-identifier method call�at /tmp/Ayfc4RauXB:1�------> [32mmy @a = 0..4; @a.=[1, 2][33m�[31m; say @a[0m�»
20:08 timotimo i made it \o/
20:08 * masak submits rakudobug
20:08 lue 2. Is the :sigspace !~~ <.ws> rule in effect, slated for 2013.11, or indeterminately in the future?
20:08 timotimo lue: that change with unary hyper ops is not yet there
20:08 timotimo i've a bit of code waiting to be finished for that
20:08 lue would "next release" be a fair statement on 1. then?
20:09 zakharyas joined #perl6
20:09 masak lue: only the one who is about to implement it could answer that...
20:09 moritz lue: the ":sigspace not for leading whitespace" will be in 2013.11
20:09 lue timotimo indicated he's about to implement it :)
20:10 lue (1. that is)
20:10 timotimo haha
20:10 timotimo about to
20:10 timotimo you're so sweet
20:10 timotimo blergh, still running into that segfault with "but"
20:10 moritz lue: re changelog lines, I usually copy those from the rakudo release announcement
20:11 masak I'm pretty sure @a.=[1, 2]; used to work, because I have recent code that uses it, and just broke when I upgraded Rakudo.
20:11 * lue initially misread the :sigspace item as ":sigspace never means <.ws> anymore, but something different". He didn't quite parse "Leading whitespace" in the item :)
20:11 lue moritz: I had a feeling, I was just wondering about the differences from the ChangeLog. (I didn't see any irrelevant lines in this month's fwiw)
20:12 timotimo r: for ^50 { 10 but True };
20:12 camelia rakudo-parrot bec62b, rakudo-jvm 882e33: ( no output )
20:12 timotimo r: for ^50 { 10 but True; 1 };
20:12 camelia rakudo-jvm 882e33: ( no output )
20:12 camelia ..rakudo-parrot bec62b: OUTPUT«(signal ABRT)»
20:12 timotimo can this please please please just be fixed ;_;
20:13 moritz r: class A { has $!x is rw }
20:13 camelia rakudo-jvm 882e33: OUTPUT«useless use of 'is rw' on $!x␤»
20:13 camelia ..rakudo-parrot bec62b: OUTPUT«useless use of 'is rw' on $!x  in sub warn at gen/parrot/CORE.setting:674␤␤»
20:16 dalek rakudo/nom: a33b165 | moritz++ | docs/ChangeLog:
20:16 dalek rakudo/nom: [ChangeLog] add some items for 2013.11
20:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a33b1656a8
20:19 dalek nqp: 5aee41a | dwarring++ | examples/rubyish/ (2 files):
20:19 dalek nqp: rubyish - added 1.9 '->' lambda syntax
20:19 dalek nqp: review: https://github.com/perl6/nqp/commit/5aee41ad7e
20:19 lue ✔ ⑥ Create 2013.10 announcement. (Review at: https://gist.github.com/lue/5339bde633d86129998c)
20:20 moritz lue: why don't you commit and push it?
20:20 lue ...because I read the whole guide and I'm being a bit too literal-minded. :) (commited, but no push 'til step 8)
20:21 moritz push, push, push!
20:21 moritz +1 to the draft
20:21 moritz (but I only skimmed it)
20:21 dalek star: 528fe30 | lue++ | modules/ (7 files):
20:21 dalek star: Update to all modules [RG Step 5]
20:21 dalek star: review: https://github.com/rakudo/star/commit/528fe30f07
20:21 dalek star: 76b69c9 | lue++ | docs/announce/2013.10.md:
20:21 dalek star: Create 2013.10 announcment [RG Step 6]
20:21 dalek star: review: https://github.com/rakudo/star/commit/76b69c9f26
20:21 dalek star: 01db706 | lue++ | .gitignore:
20:21 dalek star: Tell .gitignore to ignore emacs temporary files.
20:21 dalek star: review: https://github.com/rakudo/star/commit/01db706c28
20:22 timotimo the next release for nodality? oh my
20:22 FOAD joined #perl6
20:23 dalek star: 67ffe19 | lue++ | docs/announce/2013.10.md:
20:23 dalek star: [2013.10.md] Fix left-in mistake.
20:23 dalek star: review: https://github.com/rakudo/star/commit/67ffe1944e
20:23 lue timotimo: ^^^
20:24 woolfy joined #perl6
20:24 fhelmberger joined #perl6
20:26 timotimo postcircumfix:<{ }> not defined for type Failure ...
20:26 pdurbin joined #perl6
20:27 dmol joined #perl6
20:27 timotimo r: my @l = {(:foo<bar>).hash, (:foo<baz>).hash}; say @l.first(*.<foo><bar> eq "quux");
20:27 camelia rakudo-parrot bec62b: OUTPUT«postcircumfix:<{ }> not defined for type Failure␤  in method Str at gen/parrot/CORE.setting:11915␤  in method Str at gen/parrot/CORE.setting:956␤  in method Stringy at gen/parrot/CORE.setting:966␤  in method Stringy at gen/parrot/CORE.setting:965…»
20:27 camelia ..rakudo-jvm 882e33: OUTPUT«postcircumfix:<{ }> not defined for type Failure␤  in sub infix:<eq> at gen/jvm/CORE.setting:1362␤  in block  at /tmp/lIHDiphY1L:1␤  in any eval at gen/jvm/stage2/NQPHLL.nqp:1084␤  in any evalfiles at gen/jvm/stage2/NQPHLL.nqp:1290␤  in any comman…»
20:27 timotimo star: my @l = {(:foo<bar>).hash, (:foo<baz>).hash}; say @l.first(*.<foo><bar> eq "quux");
20:27 camelia star 2013-09: OUTPUT«postcircumfix:<{ }> not defined for type Block␤  in method postcircumfix:<{ }> at src/gen/CORE.setting:12032␤  in block  at /tmp/CERKmK5KVW:1␤␤»
20:28 timotimo ...block?
20:29 dalek nqp: c5aa3c2 | (Tobias Leich)++ | / (2 files):
20:29 dalek nqp: mapped getlexrel
20:29 dalek nqp: review: https://github.com/perl6/nqp/commit/c5aa3c231f
20:30 timotimo well, this is problematic.
20:31 timotimo r: ().hash.<foo>
20:31 camelia rakudo-parrot bec62b, rakudo-jvm 882e33: ( no output )
20:31 timotimo r: ().hash.<foo><bar>
20:31 camelia rakudo-parrot bec62b, rakudo-jvm 882e33: ( no output )
20:31 timotimo r: ().hash.<foo>.<bar>
20:31 camelia rakudo-parrot bec62b, rakudo-jvm 882e33: ( no output )
20:31 timotimo r: ().hash.map: *.<foo>.<bar>
20:31 camelia rakudo-jvm 882e33: OUTPUT«Unhandled exception: postcircumfix:<{ }> not defined for type Failure␤  in throw (gen/jvm/CORE.setting)␤  in <anon> (gen/jvm/CORE.setting)␤  in  (gen/jvm/Metamodel.nqp:2599)␤  in find_method_fallback (gen/jvm/Metamodel.nqp:2598)␤  in find_method (…»
20:31 camelia ..rakudo-parrot bec62b: OUTPUT«postcircumfix:<{ }> not defined for type Failure␤current instr.: 'throw' pc 402850 (src/gen/p-CORE.setting.pir:169223) (gen/parrot/CORE.setting:10534)␤called from Sub '<anon>' pc 438826 (src/gen/p-CORE.setting.pir:182410) (gen/parrot/CORE.setting:119…»
20:31 timotimo r: *.<foo>.<bar>
20:31 camelia rakudo-jvm 882e33: OUTPUT«Unhandled exception: postcircumfix:<{ }> not defined for type Failure␤  in throw (gen/jvm/CORE.setting)␤  in sink (gen/jvm/CORE.setting)␤  in MAIN (gen/jvm/main.nqp:47)␤  in  (gen/jvm/main.nqp:41)␤  in  (gen/jvm/main.nqp)␤␤»
20:31 camelia ..rakudo-parrot bec62b: OUTPUT«postcircumfix:<{ }> not defined for type Failure␤current instr.: 'throw' pc 402850 (src/gen/p-CORE.setting.pir:169223) (gen/parrot/CORE.setting:10534)␤called from Sub 'sink' pc 438903 (src/gen/p-CORE.setting.pir:182447) (gen/parrot/CORE.setting:11924…»
20:32 timotimo so it just doesn't autocurry any more
20:32 timotimo r: try *.<foo>.<bar>
20:32 camelia rakudo-jvm 882e33: OUTPUT«Unhandled exception: postcircumfix:<{ }> not defined for type Failure␤  in throw (gen/jvm/CORE.setting)␤  in sink (gen/jvm/CORE.setting)␤  in MAIN (gen/jvm/main.nqp:47)␤  in  (gen/jvm/main.nqp:41)␤  in  (gen/jvm/main.nqp)␤␤»
20:32 camelia ..rakudo-parrot bec62b: OUTPUT«postcircumfix:<{ }> not defined for type Failure␤current instr.: 'throw' pc 402850 (src/gen/p-CORE.setting.pir:169223) (gen/parrot/CORE.setting:10534)␤called from Sub 'sink' pc 438903 (src/gen/p-CORE.setting.pir:182447) (gen/parrot/CORE.setting:11924…»
20:32 moritz probably relted to .{ } now being a sub instead of a method
20:32 moritz *related
20:32 timotimo yes, probably
20:32 * timotimo creates spectests
20:32 timotimo r: *.(1).(2)
20:32 camelia rakudo-jvm 882e33: OUTPUT«No such method 'postcircumfix:<( )>' for invocant of type 'Whatever'␤  in any  at gen/jvm/BOOTSTRAP.nqp:1658␤  in block  at /tmp/agOHxZ1QUh:1␤  in any eval at gen/jvm/stage2/NQPHLL.nqp:1084␤  in any evalfiles at gen/jvm/stage2/NQPHLL.nqp:1290␤  in…»
20:32 camelia ..rakudo-parrot bec62b: OUTPUT«No such method 'postcircumfix:<( )>' for invocant of type 'Whatever'␤  in any  at gen/parrot/BOOTSTRAP.nqp:1687␤  in any  at gen/parrot/BOOTSTRAP.nqp:1669␤  in block  at /tmp/N7IX4BbqXk:1␤  in any  at /tmp/N7IX4BbqXk:1␤  in any  at gen/parrot/s…»
20:33 dalek star: 4375f28 | lue++ | tools/star/ (2 files):
20:33 dalek star: Update to Makefile and Release Guide
20:33 dalek star:
20:33 dalek star: Release Guide now a bit more detailed for literal-minded dolts such as
20:33 dalek star: myself, and the Makefile wasn't commited earlier thanks to that
20:33 dalek star: literal-minded idiocy :) .
20:33 dalek star: review: https://github.com/rakudo/star/commit/4375f28ce0
20:33 timotimo er, of course that doesn't work
20:33 timotimo ... wait, shouldn't that work?
20:34 timotimo r: say (* + *).WHAT
20:34 camelia rakudo-parrot bec62b, rakudo-jvm 882e33: OUTPUT«(WhateverCode)␤»
20:34 timotimo r: say (*(1)).WHAT
20:34 camelia rakudo-parrot bec62b: OUTPUT«No such method 'postcircumfix:<( )>' for invocant of type 'Whatever'␤  in any  at gen/parrot/BOOTSTRAP.nqp:1687␤  in any  at gen/parrot/BOOTSTRAP.nqp:1669␤  in block  at /tmp/k0zWdb4PNh:1␤  in any  at /tmp/k0zWdb4PNh:1␤  in any  at gen/parrot/s…»
20:34 camelia ..rakudo-jvm 882e33: OUTPUT«No such method 'postcircumfix:<( )>' for invocant of type 'Whatever'␤  in any  at gen/jvm/BOOTSTRAP.nqp:1658␤  in block  at /tmp/WBKz43ljGG:1␤  in any eval at gen/jvm/stage2/NQPHLL.nqp:1084␤  in any evalfiles at gen/jvm/stage2/NQPHLL.nqp:1290␤  in…»
20:34 timotimo hm, actually not sure if that was ever supposed to work
20:34 timotimo r: say (*.foo(1)).WHAT
20:34 camelia rakudo-parrot bec62b, rakudo-jvm 882e33: OUTPUT«(WhateverCode)␤»
20:34 timotimo r: say (*.[1]).WHAT
20:34 camelia rakudo-parrot bec62b, rakudo-jvm 882e33: OUTPUT«(Failure)␤»
20:35 timotimo is there a known bugs section to the release document or something?
20:37 moritz only if you add one
20:37 lue ✔ ⑦ Update README, Makefile.in
20:37 dalek star: 6af4334 | lue++ | / (2 files):
20:38 dalek star: Update README and Makefile.in [RG Step 7]
20:38 dalek star: review: https://github.com/rakudo/star/commit/6af433427d
20:38 lue ✔ ⑧ Push un-pushed local changes
20:38 lue I'm assuming the VERSION= in step 9 is still necessary, despite modifying Makefile.in?
20:41 lue ✔ ⑨ Generate tarball
20:42 timotimo posting this into a known bugs section seems a bit too dramatic, i guess
20:44 dalek roast: ce4fdbf | (Timo Paulssen)++ | S02-types/whatever.t:
20:44 dalek roast: tests for RT #120385
20:44 dalek roast: review: https://github.com/perl6/roast/commit/ce4fdbfbda
20:44 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=120385
20:48 * lue hopes this wraps in three hours' time
20:51 masak lue++ # star performance
20:51 lue :)
20:51 dalek nqp: 661eeb6 | (Tobias Leich)++ | / (2 files):
20:51 dalek nqp: mapped getlexreldyn
20:51 dalek nqp: review: https://github.com/perl6/nqp/commit/661eeb63e6
20:52 lue And I really, really hope Step 10 doesn't fail.
20:52 * masak .oO( given an arbitrary base, everyone really hopes Step 10 doesn't fail )
20:54 timotimo r: say ([1, 2, 3].[*]).WHAT
20:54 camelia rakudo-parrot bec62b, rakudo-jvm 882e33: OUTPUT«(Parcel)␤»
20:56 benabik Arg.  Rakudo-j doesn't understand DESTDIR.
21:02 moritz benabik: would it be enough to add it to the j-install rule?
21:02 benabik moritz: Also have to modify create-jvm-runner.  Working on it.
21:05 * timotimo notices he doesn't quite know how whatever-currying works internally
21:06 timotimo hm, so EXPR is responsible for that
21:09 diakopter lue: if you need a linux machine with lots of ram on which to build/test, moritz can help (07) [and I'm sure tons of others could too]; afk&
21:10 lue diakopter: thankfully, not anymore. It just takes time.
21:10 lue If I was still on my 384MiB RAM computer, this would all be happening on feather :)
21:11 benabik Arg.  Working on Configure is so painful.  Change something wait forever for things to build, repeat.
21:12 lue During module precomp, I got a couple ===SORRY!=== When pre-compiling a module, its dependencies must be pre-compiled first. I shouldn't worry about that I suspect.
21:13 rafl joined #perl6
21:15 benabik Huh.  nqp-j and rakudo-j give me a /usr/local/languages
21:15 benabik I suspect that should be something like share/nqp/languages
21:16 masak 'night, #perl6
21:16 timotimo 'night masak
21:16 timotimo still looking forward to t4 reviews :)
21:16 timotimo but don't let that keep you from sleeping tonight
21:17 lue ♞ masak o/ There'll be a Star release at your doorstep in the morning :)
21:17 * lue is now in the whirlpool of the spectest.
21:17 timotimo ok 81 - *.[1] is some kind of code# TODO whatevercode with postcircumfix [] and {}
21:17 timotimo \o/
21:18 benabik Huh.  rakudo is the 1 repo I don't have access to.  :-D
21:20 benabik PR opened.
21:20 benabik errands &
21:20 * lue will likely do the whole CLA business tonight, after * and the DW special.
21:21 timotimo https://github.com/rakudo/rakudo/pull/223 - would appreciate a quick review and spectest run
21:21 timotimo i'm running the spectests myself, but just in case ...
21:24 timotimo i'm not 100% sure it should be = 2 in these cases, i don't understand what the difference is exactly. i have a suspicion this could break (1, 2 ,3).[*]
21:24 dalek nqp: 9ac6475 | jonathan++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
21:24 dalek nqp: Implement nqp::takedispatcher on MoarVM backend.
21:24 dalek nqp: review: https://github.com/perl6/nqp/commit/9ac6475f86
21:24 timotimo nope, seems to bestill right
21:26 timotimo not ok 11 - warning reports correct line number and subroutine
21:26 timotimo this is the only failure i get. this is not my fault, though, right?
21:26 timotimo in t/spec/integration/error-reporting.t
21:30 denis_boyun joined #perl6
21:33 dalek nqp: 1eed27d | (Tobias Leich)++ | / (2 files):
21:33 dalek nqp: mapped getlexrelcaller
21:33 dalek nqp: review: https://github.com/perl6/nqp/commit/1eed27da61
21:36 dalek rakudo/nom: 3a6b388 | (Timo Paulssen)++ | src/Perl6/Actions.nqp:
21:36 dalek rakudo/nom: curry *.[] and *.{} again
21:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3a6b388b4b
21:36 dalek rakudo/nom: 3cef562 | (Tobias Leich)++ | src/Perl6/Actions.nqp:
21:36 dalek rakudo/nom: Merge pull request #223 from timo/postcircumfix_whatevercode
21:36 dalek rakudo/nom:
21:36 dalek rakudo/nom: curry *.[] and *.{} again
21:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3cef56203c
21:36 timotimo \o/
21:42 timotimo perl6-bench is failing to see the revisions it's supposed to extract, something with run may be going wrong
21:47 djanatyn joined #perl6
21:48 timotimo my local changes to run have probably caused this
21:51 dalek rakudo/moar-support: 6838abf | jonathan++ | src/vm/moar/ (2 files):
21:51 dalek rakudo/moar-support: Stub a couple more nqp::p6 ops on Moar.
21:51 dalek rakudo/moar-support: review: https://github.com/rakudo/rakudo/commit/6838abf47e
21:59 [Coke] http://stackoverflow.com/questions/19​618287/perl6-grammars-error-reporting
22:12 dalek nqp: 64007fd | (Tobias Leich)++ | src/vm/moar/QAST/QASTCompilerMAST.nqp:
22:12 dalek nqp: added method as_mast(QAST::Want, ...)
22:12 dalek nqp: review: https://github.com/perl6/nqp/commit/64007fd3c3
22:16 konundra joined #perl6
22:20 timotimo how do i properly test %*ENV?
22:21 tadzik launch an external process and make it print %*ENV, maybe
22:21 timotimo say run( 'sh', '-c', 'echo $GIT_DIR' )
22:21 timotimo like that?
22:22 FROGGS I think the sh -c is implicit
22:22 timotimo thatd oesn't seem to work
22:22 timotimo run 'echo' '$GIT_DIR' doesn't output anything helpful
22:24 FROGGS ~/dev/nqp$ GIT_DIR=abc perl6
22:24 FROGGS > say run( 'sh', '-c', 'echo $GIT_DIR' )
22:24 FROGGS abc
22:24 FROGGS worx
22:25 FROGGS timotimo: if you run it as a one-liner, the $GIT_DIR might get swallowed
22:25 timotimo this is in my repl
22:26 timotimo how about changing %*ENV
22:27 timotimo because that doesn't seem to work
22:28 FROGGS perl6 -e '%*ENV<GIT_DIR> = "xyz"; say shell q{echo $GIT_DIR}' # works
22:28 FROGGS run does not seem to get env
22:28 timotimo well, shit.
22:28 FROGGS I think this is the one I made a branch (nqp_spawn) for
22:28 timotimo everything b0rks all the time :/
22:29 FROGGS run() works on windows in my branch I think, the linux version needs a bit love (aka implementation)
22:29 timotimo didn't this use to work?!
22:30 FROGGS not when it comes to ENV afaik
22:30 * ingy just ran a sync for https://github.com/acmeism/RosettaCodeData
22:30 ingy first time since YAPC :\
22:31 timotimo that surprises me; perl6-bench relied on %*ENV + run working
22:31 lue https://gist.github.com/lue/7188705 Spectest results.
22:31 lue Should I continue step 10 (modules-test), or proceed to fix/report these errors?
22:32 timotimo that's strange
22:35 lue (gist updated with specific failures)
22:37 timotimo filestat is probably noatime mount?
22:37 timotimo the other one might be missing icu or something like that?
22:38 lue $ eix -e icu␤[I] dev-libs/icu (so I have icu, v. 51.1)
22:39 timotimo hm.
22:39 cognominal__ joined #perl6
22:39 lue My drives are mounted as noatime according to /etc/fstab, so that's proably it :)
22:39 * timotimo is going to try running perl6-bench with rakudo-jvm instead of rakudo-parrot
22:41 lue r: my $s = [~] (0x20..0xFF)».chr; say $s ~~ /[(<[:Punctuation]>)? .*]+/
22:42 camelia rakudo-parrot 3cef56, rakudo-jvm 882e33: OUTPUT«(timeout)»
22:42 timotimo r: say "\x20"..."\xff";
22:42 camelia rakudo-parrot 3cef56, rakudo-jvm 882e33: OUTPUT«  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  €  ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ  …»
22:43 timotimo r: say ([~] "\x20"..."\xff")  ~~ /[(<[:Punctuation]>)? .*]+/
22:43 lue r: my $s = "\x20".."\xFF"; say $s.comb(/<:Punctuation>/);
22:43 xinming joined #perl6
22:44 camelia rakudo-parrot 3cef56, rakudo-jvm 882e33: OUTPUT«(timeout)»
22:44 camelia rakudo-jvm 882e33: OUTPUT«(timeout)»
22:44 camelia ..rakudo-parrot 3cef56: OUTPUT«! " # % & ' ( ) * , - . / : ; ? @ [ \ ] _ { } ¡ « · » ¿␤»
22:44 timotimo ... huh weird
22:44 lue I think it may be rakudo's problem.
22:44 lue n: my $s = "\x20".."\xFF"; say $s.comb(/<:Punctuation>/);
22:44 timotimo that regex you're using is ... weird
22:44 camelia niecza v24-98-g473bd20: OUTPUT«(timeout)»
22:44 timotimo why does it do punctuation? and then .* +?
22:44 lue timotimo: I misunderstood how :Punctuation was supposed to work.
22:44 timotimo that seems like it could have pretty terrible backtracking behavior
22:45 lue (I didn't initially actually look at the test :P)
22:45 lue star: my $s = "\x20".."\xFF"; say $s.comb(/<:Punctuation>/);
22:45 camelia star 2013-09: OUTPUT«ICU not loaded␤  in regex  at /tmp/yHWwkFSEIf:1␤  in method match at src/gen/CORE.setting:6127␤  in method comb at src/gen/CORE.setting:6115␤  in method comb at src/gen/CORE.setting:3624␤  in method comb at src/gen/CORE.setting:3626␤  in method comb …»
22:45 lue o.o
22:46 timotimo huh
22:46 lue So the filetest failure is due to my system (note to self: later improve that spectest to somehow know about noatime?), but the regex thing feels like rakudo's bad.
22:47 lue (I remember tadzik(?) working on this a few days ago.)
22:48 timotimo a few days ago would probably be after the rakudo release, so it's just a matter of too new tests
22:49 lue 2013.10-72-g71041aa is my non-star version and it fails exactly the same, fwiw.
22:49 FROGGS but... dont you take the testsuite from the compiler release tarball?
22:49 timotimo oh, yeah, that should be the case, sorry
22:51 xinming joined #perl6
22:51 timotimo make all install  603,02s user 6,12s system 129% cpu 7:51,23 total - for a parrot + jvm build, not bad (not including the Configure.pl step that runs gen-nqp)
22:52 lue Mouq was working with it on the 24th: http://irclog.perlgeek.de/​perl6/2013-10-24#i_7760385
22:53 lue should this be considered a blocking bug? I fear it is.
22:56 lue Hang on, I just noticed the problem was *extra* characters, not *missing* ones!
22:56 timotimo "Unhandled file open mode 'rp'" on jvm :(
22:57 timotimo i thought somebody was hacking on that recently?
22:57 dmol joined #perl6
22:57 lue http://www.fileformat.info/inf​o/unicode/category/Po/list.htm
22:57 lue *Thank Goodnes*, the "expected" portion is incorrect. I can fix this! :D
22:58 lue *Goodness
23:00 BenGoldberg joined #perl6
23:02 timotimo hm, i can't use -j2 to build parrot and jvm stuff in parallel?
23:03 timotimo it seems like i can actually do a parallel build
23:04 dalek roast: 97db6ff | lue++ | S05-mass/charsets.t:
23:04 dalek roast: [S05-mass] Fix punctuation tests.
23:04 dalek roast:
23:04 dalek roast: Section sign and Pilcrow are part of the Po (Punctuation, Other)
23:04 dalek roast: category, and also within the 0x00..0xFF range.
23:04 dalek roast: review: https://github.com/perl6/roast/commit/97db6ff7c3
23:07 lue ✘ ⑩ (recoverable; return to ⑧)
23:08 lue ✔ ⑧ Push un-pushed local changes (no changes need to be pushed)
23:09 timotimo r: class foo { has int $.foo; }; foo.new(:foo(123));
23:09 lue ✔ ⑨ Generate tarball
23:09 camelia rakudo-jvm 882e33: OUTPUT«(timeout)»
23:09 camelia ..rakudo-parrot 3cef56: OUTPUT«Cannot modify an immutable value␤  in block  at gen/parrot/CORE.setting:849␤  in method BUILDALL at gen/parrot/CORE.setting:832␤  in method bless at gen/parrot/CORE.setting:821␤  in method new at gen/parrot/CORE.setting:806␤  in method new at g…»
23:10 timotimo so, in my nativeattr_buildplan branch i get "This representation can not unbox to a native int" and a success respectively for that code
23:10 timotimo that's an overall improvement, right?
23:10 * lue wouldn't know :(
23:10 timotimo r: class foo { has int $.foo; }; foo.new(:foo(123));
23:11 timotimo i have no idea why this would timeout
23:11 camelia rakudo-jvm 882e33: OUTPUT«(timeout)»
23:11 camelia ..rakudo-parrot 3cef56: OUTPUT«Cannot modify an immutable value␤  in block  at gen/parrot/CORE.setting:849␤  in method BUILDALL at gen/parrot/CORE.setting:832␤  in method bless at gen/parrot/CORE.setting:821␤  in method new at gen/parrot/CORE.setting:806␤  in method new at g…»
23:12 BenGoldberg r: say 1
23:12 timotimo could someone run that code on rakudo-jvm locally?
23:12 camelia rakudo-jvm 882e33: OUTPUT«(timeout)»
23:12 camelia ..rakudo-parrot 3cef56: OUTPUT«1␤»
23:12 timotimo ah, that's good
23:13 BenGoldberg For some definition of good
23:13 timotimo that's right
23:13 BenGoldberg r-p: say 1
23:13 camelia rakudo-parrot 3cef56: OUTPUT«1␤»
23:14 BenGoldberg r-p: my $c = class { has int $foo }; $class.new(:foo(42);
23:14 camelia rakudo-parrot 3cef56: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/0k88nEP1zmâ�¤Unable to parse expression in argument list; couldn't find final ')' â�¤at /tmp/0k88nEP1zm:1â�¤------> [32ms { has int $foo }; $class.new(:foo(42);[33mâ��[31m<EOL>[0mâ�¤    expect…»
23:14 BenGoldberg r-p: my $c = class { has int $foo }; $class.new(:foo(42));
23:14 camelia rakudo-parrot 3cef56: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/kUM7eJAH09â�¤Variable '$class' is not declaredâ�¤at /tmp/kUM7eJAH09:1â�¤------> [32ms { has int $foo }; $class.new(:foo(42))[33mâ��[31m;[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
23:14 BenGoldberg r-p: my $c = class { has int $foo }; $c.new(:foo(42));
23:14 camelia rakudo-parrot 3cef56: ( no output )
23:14 BenGoldberg r-p: my $c = class { has int $foo }; say $c.new(:foo(42));
23:14 camelia rakudo-parrot 3cef56: OUTPUT«<anon>.new()␤»
23:15 BenGoldberg n: my $c = class { has int $foo }; say $c.new(:foo(42));
23:15 camelia niecza v24-98-g473bd20: OUTPUT«[31m===[0mSORRY![31m===[0m��Malformed has at /tmp/UL7GEbVNnb line 1:�------> [32mmy $c = class { has[33m�[31m int $foo }; say $c.new(:foo(42));[0m��Parse failed��»
23:15 lue r-p: my $c = class { has int $.foo }; say $c.new(:foo(42));
23:15 camelia rakudo-parrot 3cef56: OUTPUT«Cannot modify an immutable value␤  in block  at gen/parrot/CORE.setting:849␤  in method BUILDALL at gen/parrot/CORE.setting:832␤  in method bless at gen/parrot/CORE.setting:821␤  in method new at gen/parrot/CORE.setting:806␤  in method new at g…»
23:15 lue r-p: my $c = class { has Int $.foo }; say $c.new(:foo(42));
23:15 camelia rakudo-parrot 3cef56: OUTPUT«<anon>.new(foo => 42)␤»
23:17 timotimo why can you even write "has $foo"?
23:17 timotimo std: class foo { has int $bar }
23:17 camelia std 8adbc60: OUTPUT«ok 00:01 123m␤»
23:17 lue r: has $.a;
23:17 timotimo huh.
23:17 lue r-p: has $.a
23:17 camelia rakudo-jvm 882e33: OUTPUT«(timeout)»
23:17 camelia ..rakudo-parrot 3cef56: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/2p2hpfnegWâ�¤You cannot declare attribute '$.a' here; maybe you'd like a class or a role?â�¤at /tmp/2p2hpfnegW:1â�¤------> [32mhas $.a[33mâ��[31m;[0mâ�¤    expecting any of:â�¤        scoped d…»
23:17 camelia rakudo-parrot 3cef56: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/9fTXYnTd_4â�¤You cannot declare attribute '$.a' here; maybe you'd like a class or a role?â�¤at /tmp/9fTXYnTd_4:1â�¤------> [32mhas $.a[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        scop…»
23:17 lue r-p: has $a
23:17 camelia rakudo-parrot 3cef56: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/gsyHtOvQKiâ�¤You cannot declare attribute '$a' here; maybe you'd like a class or a role?â�¤at /tmp/gsyHtOvQKi:1â�¤------> [32mhas $a[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        scoped…»
23:17 lue r-p: my $a
23:17 camelia rakudo-parrot 3cef56: ( no output )
23:17 lue r-p: my $.a
23:17 camelia rakudo-parrot 3cef56: OUTPUT«Useless declaration of a has-scoped method in mainline␤»
23:18 lue r-p: my $!a
23:18 camelia rakudo-parrot 3cef56: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/kf0iF9iNcnâ�¤Cannot use ! twigil on my variableâ�¤at /tmp/kf0iF9iNcn:1â�¤------> [32mmy $!a[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤        constraintâ�¤Â»
23:18 lue ...
23:18 BenGoldberg n: my $c = class { has int $.foo = 42 }; say $c.new();
23:18 camelia niecza v24-98-g473bd20: OUTPUT«[31m===[0mSORRY![31m===[0m��Malformed has at /tmp/_50eUJwElY line 1:�------> [32mmy $c = class { has[33m�[31m int $.foo = 42 }; say $c.new();[0m��Parse failed��»
23:18 BenGoldberg n: my $c = class { has int $.foo is default(42) }; say $c.new();
23:18 camelia niecza v24-98-g473bd20: OUTPUT«[31m===[0mSORRY![31m===[0m��Malformed has at /tmp/nyVF7Mr5RQ line 1:�------> [32mmy $c = class { has[33m�[31m int $.foo is default(42) }; say $c.new([0m��Parse failed��»
23:20 xenoterracide joined #perl6
23:24 timotimo so, nobody has a rakudo-jvm locally? let me build another one :)
23:29 lue timotimo: if I weren't busy with something else, I'd proably go ahead and build a rakudo JVM (already got the VM part anyways) :)
23:29 lue (as it stands I'm current building rakudo-p)
23:30 dmol joined #perl6
23:30 timotimo i'm almost done, but thanks!
23:30 timotimo i wasn't expecting you to add even more work to your load right now
23:33 lue I'll probably build one tonight or tomorrow, at least to play with the JVM again for a bit.
23:34 benabik joined #perl6
23:34 timotimo OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f5520315000, 421888, 0) failed; error='Cannot allocate memory' (errno=12)
23:35 timotimo :(
23:39 pippo joined #perl6
23:39 pippo timotimo: class foo { has int $.foo; }; foo.new(:foo(123)); on my local jmv gives me...
23:39 pippo java.lang.RuntimeException: Cannot access a native attribute as a reference attribute foo.new(foo => 0)
23:40 timotimo great
23:40 xenoterracide joined #perl6
23:40 timotimo now all i have to find out is how to make the unbox thing not happen and it should be working on both backends
23:42 dmol joined #perl6
23:43 timotimo r: for ^100 { 10 but True; 1 };
23:43 camelia rakudo-jvm 882e33: ( no output )
23:43 camelia ..rakudo-parrot 3cef56: OUTPUT«(signal ABRT)»
23:43 timotimo r: my @dirty-hack; for ^100 { @dirty-hack.push(10 but True); 1 };
23:43 camelia rakudo-parrot 3cef56, rakudo-jvm 882e33: ( no output )
23:44 lue .oO(  if $variable.isn't-in-a-box { $variable } else { $variable.de-box }  )
23:44 jnthn .oO( "It's my $var in a box..." )
23:44 timotimo r: my @dirty-hack; for ^100 { @dirty-hack.push(10 but True); 1 }; for ^1000 { 1 + 1 }; # will hopefully give me some GC pressure or something
23:44 camelia rakudo-parrot 3cef56, rakudo-jvm 882e33: ( no output )
23:44 timotimo hmm
23:45 timotimo r: my @dirty-hack; for ^100 { @dirty-hack.push(10 but True); 1 }; @dirty-hack = [] ;for ^1000 { 1 + 1 }; # will hopefully give me some GC pressure or something
23:45 camelia rakudo-parrot 3cef56, rakudo-jvm 882e33: ( no output )
23:45 jnthn I wonder if it's about freeing of the mp_int
23:46 jnthn r: for ^100000 { nqp::clone(42) }
23:46 camelia rakudo-parrot 3cef56, rakudo-jvm 882e33: ( no output )
23:46 jnthn r: for ^10000000 { nqp::clone(42) }
23:47 camelia rakudo-parrot 3cef56, rakudo-jvm 882e33: OUTPUT«(timeout)»
23:47 timotimo r: for ^100000 { nqp::clone(42); "sink" }
23:47 camelia rakudo-jvm 882e33: OUTPUT«(timeout)»
23:47 camelia ..rakudo-parrot 3cef56: ( no output )
23:47 jnthn r: for ^100000 { 42.clone }
23:48 camelia rakudo-parrot 3cef56, rakudo-jvm 882e33: OUTPUT«(timeout)»
23:48 diakopter heh
23:54 timotimo jnthn: https://github.com/timo/rakudo/commit/28​9da93bd9e31135f0fcf300d203c69517fc6922#d​iff-30f95cc8dccf6a570b2217ce234bf978R187 - can you see immediately where this may be causing "this representation cannot unbox to a native int"? not even sure where exactly the error occurs, all i know is it's in BUILDALL
23:55 diakopter timotimo: prob you need nqp::atpos_i
23:56 diakopter (in some place or another)
23:56 jnthn Where?
23:56 jnthn I don't see anywhere that'd help right off, fwiw
23:56 jnthn I don't see where the problem is either :(
23:57 diakopter line 190?
23:57 jnthn Wait, why is the 5/6/7 case handled all together with bindattr in one place and not in the others?
23:58 timotimo parrot vs !parrot
23:58 jnthn diakopter: No, it's using atpos to get stuff out of an object array there
23:58 raiph joined #perl6
23:58 diakopter which arg to bindattr_i is the i?
23:58 jnthn Last one
23:59 timotimo so the decont is hitting it?

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

Perl 6 | Reference Documentation | Rakudo