Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-10-17

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 aborazmeh joined #perl6
00:07 pdcawley joined #perl6
00:21 Alula joined #perl6
00:36 grettis_ joined #perl6
01:09 yeahnoob joined #perl6
01:09 Mso150_x joined #perl6
01:15 camelia joined #perl6
01:22 dayangkun joined #perl6
01:25 Hor|zon joined #perl6
01:56 camelia joined #perl6
02:19 japhb_ .botsnack
02:19 yoleaux :D
02:19 japhb .botsnack
02:19 yoleaux 16 Oct 2014 14:26Z <[Coke]> japhb: < moritz> [Coke]: I'm slowly preparing a replacement for feather that should be beefy enough to also replace host08 :-)
02:19 yoleaux :D
02:19 japhb moritz++ # feather/host08 replacement
02:28 kurahaupo joined #perl6
02:41 chenryn joined #perl6
02:46 xenoterracide_ joined #perl6
02:48 Akagi201 joined #perl6
02:52 noganex joined #perl6
03:04 helloPerl joined #perl6
03:17 mauke_ joined #perl6
03:26 Hor|zon joined #perl6
03:40 chenryn joined #perl6
03:47 SamuraiJack joined #perl6
04:01 raydiak m: (grammar{ token foo{.*}; token TOP{<@( token{<foo>} )>}; }).parse: ''
04:01 immortal joined #perl6
04:01 immortal joined #perl6
04:03 camelia joined #perl6
04:03 raydiak m: (grammar{ token foo{.*}; token TOP{<@( token{<foo>} )>}; }).parse: ''
04:04 raydiak p: say 1
04:05 camelia rakudo-moar 0dcd0d: OUTPUT«(timeout)»
04:05 camelia rakudo-parrot 0dcd0d: OUTPUT«(timeout)»
04:05 * raydiak bops camelia on the head like in Tron Legacy
04:05 raydiak p: say 1
04:06 camelia rakudo-parrot 0dcd0d: OUTPUT«(timeout)»
04:06 raydiak eh, I give up for now
04:06 raydiak anyway, that grammar thing above gives me a weird error (at least under moar, haven't tested others) and I was wondering if it should be expected to work
04:09 raydiak m: (grammar{ token foo{.*}; token TOP{<@( token{<foo>} )>}; }).parse: ''
04:09 camelia rakudo-moar 0dcd0d: OUTPUT«(timeout)»
04:09 slavik joined #perl6
04:13 Woodi joined #perl6
04:16 adu joined #perl6
04:31 kaare_ joined #perl6
04:45 ggoebel11111112 joined #perl6
04:50 Sqirrel joined #perl6
04:57 pdcawley joined #perl6
05:11 TimToady in general, putting no whitespace before blocks is asking for trouble
05:16 TimToady you can get away with it in some declarations, but the habit will come back and bite you
05:26 TimToady anyway, I wouldn't expect that to work, since @() has no idea how to interpret anything that isn't a string or a regex, and token is a method, not a regex
05:26 raydiak oh
05:27 Hor|zon joined #perl6
05:27 raydiak the spaces were just in the shortened example, it's the result of a couple hours of golfing
05:28 raydiak but clearly I need to learn more about precisely what these things are before I can go throwing them around like I'm trying to
05:30 raydiak ^^the *lack of* spaces, that is
05:32 [Sno] joined #perl6
05:33 raydiak S05 says token and rule are just special variants of regex
05:34 raydiak "The token declarator is really just short for regex :ratchet { ... }"
05:35 TimToady regex is also a method
05:35 TimToady they are variants insofar as the inside of the {} is regex language, but the outsides are really methods in Cursor space
05:36 TimToady admittedly, it's a bit strange that regex declares something that isn't one :)
05:36 raydiak aye :)
05:37 raydiak don't know what a Cursor is either, but that's me trying to use grammars w/o understanding how they work, I suspect
05:38 TimToady m: grammar G {}; say G.^mro
05:38 camelia rakudo-moar 0dcd0d: OUTPUT«(G) (Grammar) (Cursor) (Any) (Mu)␤»
05:39 TimToady Cursor is the part of the invocant that knows about match states (where you are in the match), while Grammar is the bit that knows about, er, grammars...
05:41 raydiak the error I was getting was "No such method '...' for invocant of type 'Cursor'" where ... is whatever I named the one rule in my example
05:41 TimToady so Cursor provides all the little regex goodies that perform different bits of matching, while Grammar provides things like the parse method
05:41 raydiak ah, I see
05:42 TimToady I don't know exactly how it came up with that message, but it indicates that it knew the inner token was supposed to have a Cursor object of some kind, but couldn't find 'foo' in it, because it wasn't hooked up with the outer grammar such that it could see it
05:42 TimToady the expression inside @() is just regular P6 code, and probably doesn't care that it's embedded somewhere down in a grammar
05:42 raydiak ah ha...b/c it's a method, not a regex, so no Cursor
05:44 TimToady it might be possible to make that work, but it's not the normal way to do things, so it's not something that has been hooked up to work
05:44 raydiak m: (regex { . }).WHAT.say
05:44 camelia rakudo-moar 0dcd0d: OUTPUT«(Regex)␤»
05:44 raydiak m: (token { . }).WHAT.say
05:44 camelia rakudo-moar 0dcd0d: OUTPUT«(Regex)␤»
05:45 raydiak ?
05:45 TimToady m: regex foo { . }
05:45 camelia rakudo-moar 0dcd0d: OUTPUT«Useless declaration of a has-scoped method in mainline (did you mean 'my regex foo'?)␤»
05:45 TimToady the fact that it's anonymous probably prevented this error
05:45 TimToady but it doesn't know how to pass the outer cursor in as the invocate to the inner token
05:46 TimToady it's like @() has a bare method reference with no way to invoke it
05:46 TimToady m: (regex { . }).^signature
05:46 camelia rakudo-moar 0dcd0d: OUTPUT«No such method 'signature' for invocant of type 'Perl6::Metamodel::ClassHOW'␤  in block <unit> at /tmp/cLT8o7L83E:1␤␤»
05:46 TimToady m: (regex { . }).^sig
05:46 camelia rakudo-moar 0dcd0d: OUTPUT«No such method 'sig' for invocant of type 'Perl6::Metamodel::ClassHOW'␤  in block <unit> at /tmp/r3B6qf4fuG:1␤␤»
05:47 TimToady m: (regex { . }).^methods
05:47 camelia rakudo-moar 0dcd0d: ( no output )
05:47 TimToady m: (regex { . }).^methods.say
05:47 camelia rakudo-moar 0dcd0d: OUTPUT«<anon> <anon> <anon> <anon> <anon> <anon> ACCEPTS Bool gist <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> of returns onlystar assuming candidates cando multi soft wrap unwrap yada package WHY set_w…»
05:48 TimToady but that's really the same plight as any anonymous function or method before you put it someplace that knows how to invoke it
05:48 TimToady you'd have to add_method it somewhere before it would be called as a method
05:49 raydiak that makes sense
05:49 TimToady in your code it might even do that, but doesn't know how to invoke it
05:50 TimToady hmm, actually, probably doesn't install it, since it doesn't have a name
05:50 TimToady but as an anonymous method, something would have to call it and supply an invocant explicitly
05:50 TimToady and @() just ain't that smart
05:53 TimToady m: (regex { . }).signature.say
05:53 camelia rakudo-moar 0dcd0d: OUTPUT«:(Mu: *%_)␤»
05:54 raydiak can't blame it, I was (still am) really just learning as I go and throwing things at it chaotically in an attempt to make it DWIM
05:54 TimToady m: (regex { . })()
05:54 camelia rakudo-moar 0dcd0d: OUTPUT«Too few positionals passed; expected 1 argument but got 0␤  in regex  at /tmp/U74I3ol04E:1␤  in block <unit> at /tmp/U74I3ol04E:1␤␤»
05:55 raydiak and thanks TimToady++, I do understand now why it wouldn't work even if the error were more helpful
05:55 raydiak here's what the actual thing looks like: https://gist.github.com/raydiak/c78031087fc24a155107
05:57 raydiak I'm sure after some more reading and toying with it, I'll find a much cleaner way to accomplish that
06:05 bjz joined #perl6
06:07 gfldex joined #perl6
06:07 * TimToady -> zzz &
06:08 bjz joined #perl6
06:08 raydiak good idea...g'night #perl6
06:14 baest joined #perl6
06:18 kaleem joined #perl6
06:23 kurahaupo joined #perl6
06:27 baest joined #perl6
06:29 rindolf joined #perl6
06:32 avuserow joined #perl6
06:44 pepl joined #perl6
06:48 FROGGS joined #perl6
06:51 darutoko joined #perl6
06:56 avuserow joined #perl6
07:02 bartolin joined #perl6
07:06 masak g'morning, #perl6
07:10 rurban joined #perl6
07:11 moritz \o masak, *
07:12 rurban \o is for morning?
07:13 moritz it's the picture of raising a hand/arm in greeting
07:13 rurban Oh, I'll tweet about it
07:14 zakharyas joined #perl6
07:14 kurahaupo so o/ is a return wave
07:14 masak there's not that much structure to it
07:15 masak people wave in different directions, is all
07:15 masak of course, if you wave back at someone, then it's a bit significant
07:15 masak it's also a challenge to produce this line on IRC:
07:15 masak /p
07:15 masak er
07:15 FROGGS o\
07:15 moritz some people also use ~ or ~~ for a wave
07:15 masak /o
07:16 masak moritz: in Asia, strings of ~ seem to indicate excited/shaky voice: "wow, how exciting~~~~~"
07:19 Alina-malina joined #perl6
07:21 Ven joined #perl6
07:21 Ven helo, #perl6
07:22 FROGGS hi Ven
07:23 ghostlines joined #perl6
07:26 anaeem1 joined #perl6
07:28 Alina-malina joined #perl6
07:28 Hor|zon joined #perl6
07:34 ghostlines joined #perl6
07:34 Mso150_x joined #perl6
07:36 masak ehlo, Ven
07:38 lizmat #perl6! o/
07:40 rindolf joined #perl6
07:41 masak \o/
07:46 slavik joined #perl6
07:50 Ven Should we get language parsers under a specific namespace?
07:50 Ven Probably better to have them with some tag, at least...
07:51 moritz is JSON::Tiny a language parser?
07:51 Ven very good question.
07:51 FROGGS I'd say so
07:51 Ven OTTOMH, I'd go with yes.
07:52 FROGGS but it would feel weird to put it under some other namespace
07:53 Hor|zon joined #perl6
07:53 moritz well, it could go under DataFormat::JSON or so
07:53 moritz or Serializer::JSON
07:53 Ven no, not serialization
07:54 Ven I'm just (or "mostly") talking about getting AST from stuff, here.
07:54 peteretep I think there's a real difference betweeen a programming language and serialization language
07:54 peteretep Languages tend to need several parsing steps
07:54 peteretep Tokenization, AST, etc, where serializaton languages much less so
07:54 peteretep I guess XML being a weird inbetweener
07:55 masak it's quite possible that in Perl 6 application, "language parsing" defies categorization.
07:55 peteretep CPAN tends to lead with the language
07:55 peteretep And then the thing to apply to that language
07:55 masak I mean, all of a sudden -- *whoops* -- my problem turns into a parsing problem.
07:55 peteretep I thnk that's most useful
07:56 peteretep JSON::Tiny is a /document/ parser
07:56 moritz Ven: well, the AST of a JSON document is the deserialized JSON data structure, no?
07:56 peteretep rather than a language parser
07:56 moritz peteretep: is latex a document or a language?
07:56 Ven moritz: yes. Not the serialized one
07:56 peteretep moritz: Latex is a language, but a file with Latex in is a document :-) Like RTF
07:56 Ven peteretep: alright, then of lisp – is that a document parser or a language parser?
07:57 moritz peteretep: I'm not sure that distinction can hold all the way up and down the document/language food chain
07:57 peteretep I think people are capable of making the decisions at naming time
07:57 peteretep I don't see CPAN struggling with this
07:58 peteretep RTF::*; Inline::*; JSON::*;
07:58 masak the parser that's implied bŭ the code in http://strangelyconsistent.org/blog/speed-up-by-a-factor-of-6-million -- is it parsing a *language* or a *document*?
07:58 masak by*
08:03 cognome joined #perl6
08:03 cognome joined #perl6
08:04 rindolf joined #perl6
08:09 ghostlines joined #perl6
08:10 ghostlines joined #perl6
08:12 Ven dilemna, dilemna: <<~>> + <<~>> or (X~) + Z~ ?
08:13 masak hm. neither? :)
08:15 avuserow joined #perl6
08:18 moritz those don't look equivalent to me
08:19 abraxxa joined #perl6
08:19 masak to me, in either case, it looks like an expression that better have a good reason for being so complicated.
08:19 masak maybe factoring out into subexpressions would solve your woes?
08:20 kjs_ joined #perl6
08:23 Ven masak: @files <<~>> '.' <<~>> @exts; vs (@files X~ '.') Z~ @exts
08:25 Ven moritz: ^ they're equivalent
08:25 fhelmberger joined #perl6
08:27 baest joined #perl6
08:30 slavik joined #perl6
08:31 masak I think the difference comes down to hyper vs lazy semantics.
08:31 masak Ven: will you be benefiting from either of these?
08:31 Ven masak: no. I don't care about the order, and I don't care about laziness
08:32 ivanshmakov joined #perl6
08:35 masak m: my @files = <file1 file2 file3>; my @exts = <pdf mp3 md>; .say for map {"$^file.$^xt}, (@files Z @exts)
08:35 camelia rakudo-moar 0dcd0d: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/aM8hlGQheXâ�¤Unable to parse expression in double quotes; couldn't find final '"' â�¤at /tmp/aM8hlGQheX:1â�¤------> [32mfor map {"$^file.$^xt}, (@files Z @exts)[33mâ��[31m<EOL>[0mâ�¤    expectin…»
08:35 masak m: my @files = <file1 file2 file3>; my @exts = <pdf mp3 md>; .say for map {"$^file.$^xt"}, (@files Z @exts)
08:35 camelia rakudo-moar 0dcd0d: OUTPUT«file1.pdf␤file2.mp3␤file3.md␤»
08:36 masak when I look at the problem, I don't see two <<~>>, or one X~ and one Z~
08:36 masak I just see a Z and a string concat from parts
08:38 Ven .say for map {"$^file.$^xt"}, (@files Z @exts)
08:38 Ven say @files <<~>> '.' <<~>> @exts
08:38 zakharyas joined #perl6
08:39 Ven I don't have a taste for obfuscation, but mine is still smaller
08:40 Ven I also don't really want to map.. and having it parallelized can still be kind of cool, I gues
08:41 Ven m: my @files = <foo bar baz>; my @exts = <o r z>; say "{any(@files)}.{any(@exts)}" # cute
08:41 camelia rakudo-moar 0dcd0d: OUTPUT«any("foo", "bar", "baz").any("o", "r", "z")␤»
08:41 Ven oh :(
08:44 masak you're thinking of the mythical `each` junction.
08:44 timotimo ... i kind of like the each junction ...
08:44 timotimo at least it's a nice syntactical construct
08:44 masak at least under one possible semantics of it, where several `each`es in a statement run in parallel.
08:45 masak m: my @files = <file1 file2 file3>; my @exts = <pdf mp3 md>; say "$^file.$^xt" for @files Z @exts
08:45 camelia rakudo-moar 0dcd0d: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/cQOCWPzX4u�Cannot use placeholder parameter $^file in the mainline�at /tmp/cQOCWPzX4u:1�------> [32m3>; my @exts = <pdf mp3 md>; say "$^file[33m�[31m.$^xt" for @files Z @exts[0m�»
08:45 Ven masak: yes. each is a gift I can't wait to unwrap :P
08:46 masak m: my @files = <file1 file2 file3>; my @exts = <pdf mp3 md>; say "$_[0].$_[1]" for @files Z @exts
08:46 camelia rakudo-moar 0dcd0d: OUTPUT«Index out of range. Is: 1, should be in 0..0␤  in method Str at src/gen/m-CORE.setting:13626␤  in method Stringy at src/gen/m-CORE.setting:1132␤  in block <unit> at /tmp/bAJ7fMK7y_:1␤␤»
08:46 masak hrm.
08:48 masak m: my @files = <file1 file2 file3>; my @exts = <pdf mp3 md>; { say "$^file.$^xt" } for @files Z @exts
08:48 camelia rakudo-moar 0dcd0d: OUTPUT«file1.pdf␤file2.mp3␤file3.md␤»
08:48 masak \o/
08:48 masak Ven: look, no map :)
08:49 Ven yer a cheater, harry :)
08:49 masak no, it's spec.
08:49 Ven That was a compliment :)
08:50 masak \o/
08:50 masak &
08:53 anaeem1_ joined #perl6
08:56 anaeem1_ joined #perl6
09:18 rmgk_ joined #perl6
09:23 pat_js joined #perl6
09:24 FROGGS Ven++ # "yer a cheater, harry"
09:25 pecastro joined #perl6
09:37 dalek roast: 5265f7d | usev6++ | S32-exceptions/misc.t:
09:37 dalek roast: Add test for RT #120831
09:37 dalek roast: review: https://github.com/perl6/roast/commit/5265f7d69e
09:37 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=120831
09:38 moritz "cheating is technique"
09:43 Ven not getting caught is :P
09:50 dalek roast: 46ef5bf | usev6++ | S32-str/sprintf.t:
09:50 dalek roast: Add test for RT #120232
09:50 dalek roast: review: https://github.com/perl6/roast/commit/46ef5bf0e9
09:50 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=120232
09:55 Alina-malina joined #perl6
09:58 rurban joined #perl6
09:59 yakudza joined #perl6
09:59 camelia joined #perl6
10:03 Hor|zon joined #perl6
10:14 rurban joined #perl6
10:31 flaviusb joined #perl6
10:35 chenryn joined #perl6
10:47 sivoais joined #perl6
10:53 TuxCM joined #perl6
10:54 chenryn joined #perl6
11:13 Akagi201_ joined #perl6
11:24 dalek roast: a3b0edc | usev6++ | S02-literals/quoting.t:
11:24 dalek roast: Add test for RT #120529
11:24 dalek roast: (fudged for Parrot)
11:24 dalek roast: review: https://github.com/perl6/roast/commit/a3b0edce25
11:24 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=120529
11:36 dalek Perlito: 1f529de | (Flavio S. Glock)++ | / (2 files):
11:36 dalek Perlito: Perlito5 - fixed assignment of special variable in list context: ($^W) = 3
11:36 dalek Perlito: review: https://github.com/fglock/Perlito/commit/1f529de06a
11:37 ghostlines joined #perl6
11:37 colomon OO::Actors failed the smoke test overnight?
11:39 bjz joined #perl6
11:41 jnthn Hm, did it pass the smoke test since I added it?
11:41 jnthn I know the tests passed on my box...
11:47 bjz_ joined #perl6
11:47 pepl joined #perl6
12:16 Grrrr joined #perl6
12:28 pepl joined #perl6
12:29 chenryn joined #perl6
12:29 chenryn joined #perl6
12:30 chenryn joined #perl6
12:31 chenryn joined #perl6
12:31 PZt joined #perl6
12:31 chenryn joined #perl6
12:32 chenryn joined #perl6
12:32 chenryn joined #perl6
12:33 camelia joined #perl6
12:34 chenryn joined #perl6
12:36 colomon jnthn: yes, this is the first time the smoke test has failed for it.
12:36 * colomon tests locally...
12:39 colomon hmmm, rakudobrew just automatically reinstalled it without issue
12:40 colomon transient error, maybe?  it doesn't look like it was a downloading error or anything.
12:42 kaare_ joined #perl6
12:43 dalek roast: 8942c27 | usev6++ | S14-roles/basic.t:
12:43 dalek roast: Add test for RT #120919
12:43 dalek roast: (fudged for Parrot and JVM)
12:43 dalek roast: review: https://github.com/perl6/roast/commit/8942c27ab2
12:43 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=120919
12:47 guru joined #perl6
12:47 ponbiki joined #perl6
12:49 pepl joined #perl6
12:54 pepl joined #perl6
13:15 Ulti m: say "doh" if "True" == True
13:15 camelia rakudo-moar 0dcd0d: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏True' (indicated by ⏏)␤  in method Numeric at src/gen/m-CORE.setting:13625␤  in sub infix:<==> at src/gen/m-CORE.setting:4509␤  in sub infix:<==> at src/gen/…»
13:16 Ulti m: say "doh" if "True"
13:16 camelia rakudo-moar 0dcd0d: OUTPUT«doh␤»
13:16 Ulti :/
13:17 Ulti the above doesn't feel quite right to me
13:17 mauke m: say "True" eq True
13:17 camelia rakudo-moar 0dcd0d: OUTPUT«True␤»
13:17 Ulti hmm
13:17 Ulti what does if "True" do though
13:17 Hor|zon joined #perl6
13:17 mauke converts "True" to bool, presumably
13:17 Ulti m: say "doh" if "True".Bool == True
13:17 camelia rakudo-moar 0dcd0d: OUTPUT«doh␤»
13:18 Ulti so == is doing True.Int ?
13:18 moritz not quite
13:18 moritz Bool is an enum based on Int
13:19 moritz so it already natively has a number interpretation
13:19 moritz m: say Bool.^parents(:all)
13:19 camelia rakudo-moar 0dcd0d: OUTPUT«(Cool) (Any) (Mu)␤»
13:19 moritz erm
13:19 moritz at least that's how it's supposed to be :-)
13:19 timotimo say so True
13:19 timotimo m: say so "True"
13:19 camelia rakudo-moar 0dcd0d: OUTPUT«True␤»
13:19 timotimo m: say so "False"
13:19 camelia rakudo-moar 0dcd0d: OUTPUT«True␤»
13:19 mauke what's cool?
13:19 timotimo m: say so "0"
13:19 camelia rakudo-moar 0dcd0d: OUTPUT«False␤»
13:19 timotimo m: say so "1"
13:19 camelia rakudo-moar 0dcd0d: OUTPUT«True␤»
13:19 timotimo m: say so "0.0"
13:19 camelia rakudo-moar 0dcd0d: OUTPUT«True␤»
13:19 timotimo m: say so "0e0"
13:19 camelia rakudo-moar 0dcd0d: OUTPUT«True␤»
13:19 timotimo m: say so "0  "
13:19 camelia rakudo-moar 0dcd0d: OUTPUT«True␤»
13:19 timotimo m: say so "0 "
13:19 camelia rakudo-moar 0dcd0d: OUTPUT«True␤»
13:20 timotimo m: say so "0"
13:20 camelia rakudo-moar 0dcd0d: OUTPUT«False␤»
13:20 moritz mauke: http://doc.perl6.org/type/Cool
13:20 Ulti m: say "doh" if "False" eq True
13:20 camelia rakudo-moar 0dcd0d: ( no output )
13:20 Ulti m: say "doh" if "False"
13:20 camelia rakudo-moar 0dcd0d: OUTPUT«doh␤»
13:20 Ulti yeah so the olde smart alec use 'eq' is a straw man
13:20 timotimo well, eq is string equality
13:20 timotimo == is number equality
13:20 Ulti so what is boolean equality?
13:20 moritz and === is identity comparison
13:20 timotimo Ulti: the olde what?
13:20 moritz m: say True !xor False
13:21 camelia rakudo-moar 0dcd0d: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/ib8Ovl9tPi�Cannot negate xor because it is not iffy enough�at /tmp/ib8Ovl9tPi:1�------> [32msay True !xor[33m�[31m False[0m�»
13:21 mauke moritz: "imgage"
13:21 moritz m: say not True xor False
13:21 camelia rakudo-moar 0dcd0d: OUTPUT«False␤»
13:21 dalek doc: 5475aad | moritz++ | htmlify.p6:
13:21 dalek doc: typo, mauke++
13:21 dalek doc: review: https://github.com/perl6/doc/commit/5475aad337
13:21 Ulti so an explicit .Bool ===  is the way to go?
13:22 kaleem joined #perl6
13:22 mauke go where?
13:22 moritz or you can use prefix ? for boolification
13:22 Ulti if I want to actuall do boolean comparisson between two things
13:22 moritz m: my $x = 42; say ?$x === True
13:22 camelia rakudo-moar 0dcd0d: OUTPUT«True␤»
13:22 Ulti moritz: ahh ok
13:22 mauke &&
13:22 Ulti thats a little less horrible
13:22 darutoko- joined #perl6
13:22 mauke hmm, no
13:22 moritz m: my $x = 42; say $x.so === True
13:22 camelia rakudo-moar 0dcd0d: OUTPUT«True␤»
13:23 felher joined #perl6
13:23 mauke Ulti: when do you need that?
13:23 Ulti well I just showed something I would expect to be a boolean comparisson but it wasn't
13:23 Ulti why have Boolean literals if they are super weird to use
13:23 mauke no, why are you trying to use a "boolean comparison"?
13:24 timotimo wait, you're saying "say 'doh' if "True"' doesn't feel right to you?
13:24 moritz Ulti: mostly because they make it much clearer what's going on when you print the result
13:24 moritz Ulti: compare  'say 1 == 2' in perl 5 and perl 6
13:24 Ulti no that "True" can be true but when compared to True it wasn't, I didnt consider that it was purely numeric comparisson
13:24 moritz perl 5 simply prints the empty string
13:24 timotimo m: say "True" == True
13:24 camelia rakudo-moar 0dcd0d: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏True' (indicated by ⏏)␤  in method Numeric at src/gen/m-CORE.setting:13625␤  in sub infix:<==> at src/gen/m-CORE.setting:4509␤  in sub infix:<==> at src/gen/…»
13:24 timotimo i don't understand %)
13:25 timotimo too many pastes in the near past
13:25 Ulti m: say "This was true" if ?"True" == True
13:25 camelia rakudo-moar 0dcd0d: OUTPUT«This was true␤»
13:25 Ulti m: say "This was true" if "True" == True
13:25 camelia rakudo-moar 0dcd0d: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏True' (indicated by ⏏)␤  in method Numeric at src/gen/m-CORE.setting:13625␤  in sub infix:<==> at src/gen/m-CORE.setting:4509␤  in sub infix:<==> at src/gen/…»
13:26 timotimo that seems totally sane to me
13:26 Ulti its sane sure
13:26 Ulti sane from a language designers point of view
13:27 Ulti m: say "This was true" if 1.0 == 1
13:27 camelia rakudo-moar 0dcd0d: OUTPUT«This was true␤»
13:27 Ulti ^ this
13:27 Ulti they are both numeric so its fine right
13:27 moritz correct
13:27 timotimo fair enough
13:27 Ulti but they arent the same numeric type
13:27 moritz yes
13:27 timotimo that's right
13:27 moritz m: say so 1.0 eqv 1
13:27 camelia rakudo-moar 0dcd0d: OUTPUT«False␤»
13:27 moritz m: say so 1.0 === 1
13:27 camelia rakudo-moar 0dcd0d: OUTPUT«False␤»
13:27 timotimo m: say so 1.0 eq 1
13:27 moritz eqv and === do the same on value objects
13:27 camelia rakudo-moar 0dcd0d: OUTPUT«True␤»
13:27 timotimo :P
13:27 timotimo oh, what.
13:28 moritz m: say ~1.0
13:28 camelia rakudo-moar 0dcd0d: OUTPUT«1␤»
13:28 timotimo interesting
13:28 Ulti why not just have strings coerce to numeric via .elems
13:28 timotimo m: say so 1e0 eq 1
13:28 Ulti then it would work
13:28 camelia rakudo-moar 0dcd0d: OUTPUT«True␤»
13:28 Ulti and empty string would be false
13:28 felher_ joined #perl6
13:28 Ulti numerically
13:28 timotimo okay, what's your replacement for +"1024"?
13:28 Ulti heh trye
13:29 moritz Ulti: because people find 'perl' == 5 confusing
13:29 moritz erm, 4
13:29 moritz near enough :-)
13:29 Ulti wait what does smart match do here...
13:29 huf so it should also know about etymology?
13:30 timotimo huf: yeah, we should train a neuronal net for this
13:30 Ulti well the simplest is just to have the single exception of boolean literals promote things to .Bool in any kind of operator
13:30 Ulti since the literal is adding the boolean semantics
13:31 timotimo can you explain that some more? i don't understand
13:31 Ulti if any expression involves False or True you promote the other operand to Bool
13:31 mauke I have a better idea
13:31 mauke DON'T WRITE == True
13:31 Ulti people will though
13:31 Ulti all the time
13:31 mauke and they need to be slapped
13:32 Ulti sure
13:32 mauke m: say 2 == True
13:32 camelia rakudo-moar 0dcd0d: OUTPUT«False␤»
13:32 mauke good
13:32 mauke well, it would be nice if that also threw an exception
13:32 Ulti m: say 1 == True
13:32 camelia rakudo-moar 0dcd0d: OUTPUT«True␤»
13:32 Ulti not so good
13:33 timotimo mauke: we only want that to throw an exception if it's written like that in the code, not if you == two variables and one of them happens to have True in it
13:33 Ulti also it might not be True explicitly like that it might just be a boolean expression right?
13:33 timotimo Ulti: i disagree. we just have to make sure people know that == is numeral comparison
13:33 FROGGS m: say +True
13:33 camelia rakudo-moar 0dcd0d: OUTPUT«1␤»
13:33 Ulti as in an expression that produces a Bool
13:33 FROGGS Ulti: it is an enum
13:33 Ulti yeah I get all of this
13:33 moritz people never write   2 == True
13:34 moritz they write $variable_that_might_be_2 == True
13:34 moritz even that seems very unlikely
13:34 Ulti no but they write if ($thing == True)
13:34 Ulti wrongly but they do
13:34 moritz well, we can't prevent people from writing buggy code :-)
13:34 Ulti and strongly typed land that isn't crazy because you are testing its boolean too usually
13:35 timotimo so we should warn "== True doesn't make sense" if we see that?
13:35 FROGGS m: say 2 ~~ True
13:35 timotimo like we do with ~~ True and ~~ False?
13:35 camelia rakudo-moar 0dcd0d: OUTPUT«Potential difficulties:â�¤    Smartmatch against True always matches; if you mean to test the topic for truthiness, use :so or *.so or ?* insteadâ�¤    at /tmp/xZolXeq17H:1â�¤    ------> [32msay 2 ~~[33mâ��[31m True[0mâ�¤2Trueâ�¤Â»
13:35 Ulti timotimo: I think that would be most wise
13:36 moritz as long as it's a syntactic warning, I can live with that
13:36 timotimo agreed
13:36 Ulti I mean given the language its an operation that really doesnt mean what it looks like and has no real use
13:37 Ulti and the fix is kind of simple with a warning like that smartmatch one
13:37 dalek rakudo/nom: 93fe76e | (Elizabeth Mattijsen)++ | src/core/Deprecations.pm:
13:37 dalek rakudo/nom: Properly check compiler version
13:37 dalek rakudo/nom:
13:37 dalek rakudo/nom: Should fix deprecation test errors on parrot and jvm
13:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/93fe76e23c
13:37 mauke != False
13:37 Ulti heh
13:37 Ulti say "such code" unless ?"True" != False
13:37 FROGGS say "such code" unless ?"True" != False orelse ...
13:37 dalek roast: 195e181 | usev6++ | S14-roles/basic.t:
13:37 dalek roast: Add test for RT #120931
13:37 dalek roast: review: https://github.com/perl6/roast/commit/195e181557
13:37 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=120931
13:38 * Ulti found this by reading an article about things people hate about PHP ;)
13:39 Util Just FYI: The #parrotsketch weekly meeting has moved to Fridays at 13:30 UTC; so, now.
13:39 Ulti though I agree part of what they hate about PHP is the morons who check for truth in an if statement explicitly :S
13:43 [Coke] on a related note, whenever I see someone using 1/0 as boolean values in a language with booleans, they fail the code review. Also when they explicitly say things like if ( x == False) instead of if ( !x ).
13:43 [Coke] (coldfusion is worse, because they have booleans but special case a lot of string handling, so you might see x == "False" or x EQ "NO" or...
13:44 timotimo m: say so 1/0
13:44 camelia rakudo-moar 0dcd0d: OUTPUT«True␤»
13:45 timotimo seems like kind of a sane truth value
13:45 timotimo m: say so 0/1 # this, OTOH ...
13:45 camelia rakudo-moar 0dcd0d: OUTPUT«False␤»
13:45 Ulti m: say so 1|0
13:45 camelia rakudo-moar 0dcd0d: OUTPUT«True␤»
13:45 timotimo %)
13:46 TimToady say so set()
13:46 TimToady m: say so set()
13:46 camelia rakudo-moar 0dcd0d: OUTPUT«False␤»
13:46 TimToady cool
13:46 adu joined #perl6
13:46 timotimo m: say set() ~~ Cool
13:46 camelia rakudo-moar 0dcd0d: OUTPUT«False␤»
13:46 Ulti empty set as False feels good
13:46 timotimo :(
13:47 timotimo Ulti: i think people will learn quickly enough that == isn't the "generic comparison operator" when they write their first lines of code and end up trying to == some strings together, FWIW.
13:47 timotimo it's not like they'll be coding perl6 for two months and then suddenly stumble over this
13:47 Ulti dont underestimate the person who monkey patches without knowing the language at all
13:47 Ulti and how often a check box from the web will have the value "True"
13:48 Ulti eq is more scary than what I was saying
13:48 timotimo m)
13:48 TimToady fuzzy thinkers will fuzz
13:48 timotimo you mean people will start eq'ing with "True" and "False"?
13:49 Ulti do stuff if $checkbox eq True
13:49 Ulti that will do exactly what they wanted it to do
13:49 Ulti until someone one day changes the HTML template to be 1 and 0 or true and false
13:49 TimToady course, the confusing thing there is that True starts out as a string you typed into your program
13:49 Ulti then BOOM
13:50 Mouq joined #perl6
13:53 Ulti but yeah bad code is bad, just felt like if you have warnings for ~~ might be worth mentioning elsewhere
13:54 Ulti I guess a linter might be a better idea so as not to slow down the compiler for the stupidest amongst us
13:54 adu joined #perl6
13:55 JimmyZ joined #perl6
13:59 TimToady Haters gonna hate, coders gonna code...
14:08 Hor|zon joined #perl6
14:09 psch joined #perl6
14:10 psch hi #perl6 \o
14:10 psch m: say "True" ~~ .Bool
14:10 camelia rakudo-moar 0dcd0d: OUTPUT«True␤»
14:12 TimToady m: say "False" ~~ .Bool
14:12 camelia rakudo-moar 0dcd0d: OUTPUT«True␤»
14:12 TimToady m: say "Felix The Cat" ~~ .Bool
14:12 camelia rakudo-moar 0dcd0d: OUTPUT«True␤»
14:13 psch TimToady: yes, it's functionally prefix:<so> or prefix:<?>.  the backlog got me the idea
14:13 TimToady m: say "Felix The Cat" ~~ .so
14:13 camelia rakudo-moar 0dcd0d: OUTPUT«True␤»
14:13 TimToady golfed it fer ya
14:13 timotimo m: say "Felix The Cat" ~~ :so
14:13 camelia rakudo-moar 0dcd0d: OUTPUT«True␤»
14:13 psch m: say "True" ~~ ?$_
14:13 camelia rakudo-moar 0dcd0d: OUTPUT«True␤»
14:14 psch line noise-ier
14:14 mauke m: say "/lib/libc.so.6" ~~ .so
14:14 camelia rakudo-moar 0dcd0d: OUTPUT«True␤»
14:14 TimToady m: say "Felix The Cat" ~~ ?*
14:14 camelia rakudo-moar 0dcd0d: OUTPUT«True␤»
14:14 psch ah right :)
14:15 TimToady course there's always "True".so as well
14:15 TimToady gotta be a pun in there somewhere
14:16 timotimo so true...
14:16 TimToady but I'm not married to the idea
14:17 treehug88 joined #perl6
14:17 masak m: say "" ~~ .so
14:18 camelia rakudo-moar 0dcd0d: OUTPUT«(timeout)»
14:18 Ulti o___O
14:19 mauke well, why don't you just say .so
14:19 TimToady m: say .so
14:19 Ulti masak that was False rather than timeout for me locally
14:20 camelia rakudo-moar 0dcd0d: OUTPUT«(timeout)»
14:20 masak m: say "(timeout)"
14:20 Ulti :)
14:20 TimToady wait for it...
14:20 camelia rakudo-moar 0dcd0d: OUTPUT«(timeout)»
14:20 masak /o\
14:20 timotimo wow, this perl6 thing is really ridiculously slow!
14:20 mauke m: print "(timeout)"
14:20 camelia rakudo-moar 0dcd0d: OUTPUT«(timeout)»
14:20 masak m: print "(TIMEOUT)".lc
14:21 camelia rakudo-moar 0dcd0d: OUTPUT«(timeout)»
14:21 TimToady lc = library case
14:21 * mauke is tempted to add a sleep
14:21 timotimo m: ("a".."z").pick(7).join("").print
14:21 timotimo er
14:21 timotimo m: ("a".."z").pick(7).join("").fmt("(%s)").print
14:22 camelia rakudo-moar 0dcd0d: OUTPUT«(timeout)»
14:22 camelia rakudo-moar 0dcd0d: OUTPUT«(timeout)»
14:22 Ulti m: say "(タイムアウ)".translate('English')
14:22 masak m: print "(", <out t me i>.sort(*.length).join, ")"
14:22 masak (relies on sorting being stable)
14:22 camelia rakudo-moar 0dcd0d: OUTPUT«(timeout)»
14:22 camelia rakudo-moar 0dcd0d: OUTPUT«No such method 'length' for invocant of type 'Str'␤Did you mean 'elems', 'chars', 'graphs' or 'codes'?␤  in block <unit> at /tmp/TT9mI71bZ4:1␤␤»
14:22 masak ahaha
14:22 Ulti hah
14:23 masak m: print "(", <out t me i>.sort(*.chars).join, ")"
14:23 Ulti translating Japanese is easier
14:23 psch hehe
14:23 camelia rakudo-moar 0dcd0d: OUTPUT«(timeout)»
14:23 TimToady はい!
14:30 TimToady .so desu ne...
14:40 timotimo how did the  nan desk KA joke work again? nan sounds like the word for bread in what lang?
14:40 tadzik naan is the indian bread
14:40 timotimo ah
14:41 timotimo hey tadzik
14:41 tadzik hey hey
14:42 timotimo are you going to bind box2d in the near future?
14:42 tadzik possibly :)
14:42 tadzik is it blocking some project of yours?
14:42 timotimo not really
14:42 tadzik that'd bump it on the priority list
14:43 timotimo seems like a 6.0.0 feature to me :P
14:43 tadzik :)
14:43 tadzik I'll keep that in mind
14:43 jnthn evening, #perl6
14:43 tadzik but.. but steroids isn't even 1.0.0 yet P
14:44 tadzik :P
14:44 timotimo hah
14:45 tadzik that reminds me of GCI
14:45 tadzik I'll start that wiki somewhere
14:45 timotimo hm?
14:45 tadzik I think we should join google code-in
14:45 tadzik as Perl 6
14:45 timotimo oh. when is that?
14:46 tadzik timotimo: http://goo.gl/lwCMDf
14:46 timotimo hah
14:47 smls joined #perl6
14:48 smls Hi
14:48 smls Congrats to everyone involved on getting the GLR started!
14:49 smls When first reading about it I thought the methods vs subs difference in flattening behavior was jarring, but after looking at what it would mean for some practical examples it seems okay.
14:50 smls A method's invocant and a function's argument list are *not* the same thing, so they don't need to behave the same, and in fact already don't.
14:50 TimToady it does upset the hobgoblins though
14:50 ajr joined #perl6
14:50 smls An invocant is something I tend to think of as a single object on which I want to perform an operation. So it makes perfect sense to treat it as an opaque thing whose internals should not be meddled with by something like auto-flattening.
14:50 smls An argument list (or signature/capture in general) OTOH is something with much more "magic" involved...
14:51 tadzik I started https://github.com/perl6/ecosystem/wiki/GCI-Project-Ideas
14:51 smls It feel more like passing a collection of individual pieces of data into a given template/structure, so IMO it makes sense that flattening treats an iterable in slurpy position as a way to specify such pieces of data (items) rather than "itself" as an object.
14:51 tadzik please contriboot
14:53 smls Btw, another thing the last p6weekly said would be discussed at APW2014 is the 6.0 release (and which feature milestones are planned for it).
14:53 smls Any update on that front?
14:55 TimToady most of the discussion was about the GLR, though there's no change in the consensus that we also want NFG and NSA before that, though perhaps native shaped arrays are two features hiding in one spot
14:55 * [Coke] wonders if t/spec/test_summary can handle TEST_JOBS. or -j. or...
14:55 TimToady obviously we also need a serious pass on the fudging in roast
14:56 * masak is surprised that not more of a consensus about 6.0.0 was reached during APW2014
14:56 TimToady that would take managers :)
14:56 lizmat well, *I* wanted to reach more consensus
14:57 lizmat but as a manager I already saw people getting overloaded
14:57 masak maybe the sense was "we need to do GLR, NFG and NSA before 6.0.0, so before that there's no sense in talking about a 6.0.0" ?
14:57 [Coke] NSA?
14:57 TimToady native shaped arrays
14:57 lizmat indeed... TimToady's talk already gave a good direction in that respect  :-)
14:57 * masak quietly puts [Coke] on a no-fly list
14:57 TimToady but as I said, that might be two things
14:57 [Coke] can we call it PDL to avoid confusion? ;)
14:57 jnthn TimToady: I'd say so
14:58 jnthn TimToady: I'm planning to have us native arrays before the end of the year.
14:58 masak [Coke]: or S09
14:58 colomon \o/
14:58 jnthn TimToady: Shaped probably come as a second thing after it.
14:58 masak I'm planning to have us a solid way forward with macros before the end of the year.
14:58 * jnthn had his last day or $dayjob today for a few weeks, and now has vacation :)
14:58 jnthn *of
14:58 lizmat jnthn++  # for taking a vacation
14:59 jnthn Planning to spend lots of time outdoors, and eat lots of nice noms :)
14:59 jnthn But I'll be about here now and then, and may do the odd patch as I feel :)
14:59 jnthn Mostly want to relax, recharge, and come back with good energy for lots of stuff after it :)
15:00 dalek perl6-roast-data: 801f183 | coke++ | bin/ (2 files):
15:00 dalek perl6-roast-data: Run rakudo.jvm again, now on a box that can.
15:00 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/801f183974
15:00 dalek perl6-roast-data: fe8d464 | coke++ | bin/ (2 files):
15:00 dalek perl6-roast-data: Don't use a hardcoded perl
15:00 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/fe8d4642d8
15:00 dalek perl6-roast-data: 2ec9a0d | coke++ | bin/rakudo.parrot.sh:
15:00 dalek perl6-roast-data: Use more cores
15:00 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/2ec9a0da6f
15:00 dalek perl6-roast-data: fc0af09 | coke++ | / (5 files):
15:00 dalek perl6-roast-data: today (automated commit)
15:00 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/fc0af09c6f
15:00 * TimToady usually comes back exhausted after a vacation :)
15:00 [Coke] TimToady: me too
15:00 TimToady but at least it's a different kind of exhaustion
15:01 jnthn Well, I tend to come back less exhausted mentally. Though physically is a different matter. :)
15:01 TimToady 'course, the fact that most of my vacations also contain a conference doesn't help there...
15:01 * jnthn has some nice hikes planned :)
15:01 masak I have a comment of my own on http://strangelyconsistent.org/blog/macros-nesting-macros
15:02 masak I just now ran into a use case where I wanted a macro to be usable in a certain environment.
15:02 masak however, the environment wasn't another macro, just a certain method call on a certain type.
15:02 [Coke] until recently, hikes seemed crazy to me. I've done a bunch of suburban ones lately, though, so doing them in actual outdoors doesn't seem as weird. :)
15:03 masak so, at least for the "validation" part, the parent element/environment sometimes doesn't want to be a macro.
15:03 * TimToady is suspicious of mixing language tweaks with the late binding system, which we've tried to keep very separate...
15:04 masak TimToady: I'm not sure that's what I'm doing here. please feel free to prove to me that that's what I'm doing. but I don't think so.
15:04 TimToady of course, macros are for cheating :)
15:04 masak right.
15:05 masak but I don't see it as "late binding" that we can ask the Qtree about what type it can prove statically that the invocant belongs to
15:05 TimToady for some definition of belongs to that might not achieve identity
15:05 TimToady in the presence of derivation
15:06 masak though now when I look at my own example, it is kind of tricky, because the example is @stuff.grep({ .theMethod({ ... }) })
15:06 masak so, yeah. maybe too clever.
15:06 bjz joined #perl6
15:07 masak a runtime check there may be all we can expect to get.
15:07 [Coke] is there an environment variable for any makes that will do what -j does?
15:07 * TimToady could see a class of macros that defer application till LINK time
15:09 TimToady sort of a set of deferred optimizations specified by the user
15:10 smls It would be cool to have a blog post to point people to, which lists the feature milestones (GLR, NFG, native/shaped arrays, better macros...) and timeframes/plans mentioned above
15:10 [Coke] has anyone started working on prove6?
15:10 pmichaud good morning, #perl6
15:10 [Coke] pmichaud: ho
15:10 * pmichaud reads backscroll
15:11 lizmat smls: have you seen http://pmthium.com/2014/10/apw2014/ ?
15:11 pepl joined #perl6
15:11 lizmat pmichaud o/
15:12 dalek specs: a6c0bb7 | (Elizabeth Mattijsen)++ | S16-io.pod:
15:12 dalek specs: Add mkpath()
15:12 dalek specs: review: https://github.com/perl6/specs/commit/a6c0bb79fb
15:13 smls btw another way to think about the flattening rules: The closest functional equivalent of a method's invocant, is a positional parameter (and in fact in P5 that's literally what it was). And those don't auto-flatten either.
15:13 pecastro joined #perl6
15:13 smls lizmat: yes, even commented in the comment section :)
15:14 lizmat ah, ok  :-)
15:14 [Coke] I feel like I'm the only one who doesn't ever want any flattening ever.
15:14 masak TimToady: I think a certain class of type checking and analysis should get deferred until LINK time.
15:14 masak TimToady: but some also just to CHECK time.
15:15 [Coke] it would be nice if the specs had a note about why we want this other than "c.f.: perl5"
15:15 TimToady [Coke]: what do you mean "started working"?  you were around for http://irclog.perlgeek.de/perl6/2014-09-16#i_9366780
15:15 [Coke] (maybe that's spelled "cf.")
15:15 Hor|zon joined #perl6
15:15 smls [Coke]: Without flattening, there's wouldn't be much justification left to have different sigils.
15:16 kjs_ joined #perl6
15:16 TimToady list interpolation is nearly as important as string interpolation
15:16 [Coke] you must use arrays differently than I do. :)
15:18 [Coke] TimToady: (prove6) thank you, external memory banks.
15:18 pmichaud [Coke]: I think that "c.f.: perl5" is shortcut for "all the reasons that Perl 5 has flattening", and not just "we flatten because that's what p5 does"
15:19 [Coke] pmichaud: that's still a shortcut explanation that explains nothing.
15:19 pmichaud [Coke]: agreed.  :)
15:19 pmichaud here's the example I've come up with:
15:20 pmichaud map &block, 1, $a, 6..10, @c;
15:20 pmichaud do we expect that 6..10 to flatten?
15:20 pmichaud I suspect most people would say "yes"
15:20 [Coke] ... why would you ever write that code?
15:20 pmichaud same with sequences
15:21 pmichaud oh, I mix ranges, sequences, and lists fairly frequently
15:21 pmichaud I might even be able to find an example.
15:21 masak pmichaud: but sequences are less of a problem because with their really loose prec they have to be parenthesized in most such map calls.
15:21 TimToady please read pages 1..5, 16, 24..27
15:21 masak otherwise they gobble the block into the sequence op
15:22 pmichaud masak: so you're saying that the parens should mean "don't flatten this sequence"?  I don't see how parens help
15:22 pmichaud may &block, 1, $a, (6,7 ... 10), @c;
15:22 masak oh, would a sequence not flatten under the new semantics? hm.
15:22 pmichaud "never flatten" would imply that.
15:22 masak that may take some getting used to, yes.
15:23 TimToady no, that would still flatten
15:23 pmichaud 15:14 <[Coke]> I feel like I'm the only one who doesn't ever want any flattening ever.
15:23 masak aha.
15:23 TimToady (in an argument list)
15:23 TimToady (in a slurpy argument list)
15:23 pmichaud If we say "doesn't ever want any flattening ever", then that's the end result.
15:23 masak oh, we're not discussing the result of GLR, we're discussing [Coke]'s world where nothing flattens
15:24 pmichaud well, it's not just Coke's world.  I've heard a number of people say that, including at APW2014
15:24 masak I'm pretty sure I enjoy the results of flattening at least sometimes.
15:24 masak what I would most clamor for would be consistency. and GLR seems to provide that, to some extent.
15:24 pmichaud ISTR that japhb++ was also somewhat in the "never flatten" camp
15:24 TimToady well, it's the ruby view where sigils no longer have anything to do with interpolation, so you have to have an escape for either list or string interpolation
15:25 pmichaud masak: well, the buzz I'm hearing now is that GLR currently isn't quite consistent enough, because it doesn't go as far as "never flatten"
15:25 TimToady but that's one of the main reasons for sigils in the first place, and we're not gonna change that
15:26 masak pmichaud: ok. I respectfully disagree with such a stance.
15:26 pmichaud what would help is if we had some concrete examples where flattening is clearly the more desirable behavior
15:26 pmichaud thus Coke's saying "why we want this other than c.f. perl 5"
15:26 pmichaud (which I agree with, we should have a better story there.)
15:27 TimToady my @sorted = @pre, $pivot, @post;
15:27 masak (yes, it's spelled "cf.") :)
15:27 masak short for "confer"
15:28 pmichaud m+
15:28 pmichaud short for "masak++"
15:28 masak I bet something with listop `push` could be a use case too
15:28 masak we're expecting things just to flatten into a `push`
15:29 pmichaud push @pages, 1..5, 16, 24..27;
15:29 masak right.
15:29 pmichaud except that if @pages is an array it would flatten anyway.
15:29 pmichaud oh, never mind -- not necessarily.
15:29 pmichaud so perhaps that's a good example.
15:30 pmichaud the counter-arg to it is that one can be more explicit with "flat"
15:30 [Coke] I might want those things to not flatten. and if @pages.push: is different from push @pages, that seems like a big confusion point.
15:30 pmichaud [Coke]: oh, that's not different at all.
15:30 pmichaud we're only talking about non-flattening on invocant, not on arguments.
15:30 kst` joined #perl6
15:30 TimToady hobgoblins
15:31 pmichaud @pages.push: 1..5, 16, 24..27      and push @pages, 1..5, 16, 24..27      would be the same post-GLR
15:31 [Coke] ok, that wasn't clear on my first read through
15:31 TimToady oh, not hobgoblines
15:31 TimToady *ns
15:31 timotimo hobbesgoblins?
15:31 pmichaud push @pages, flat 1..5, 16, 24..27     # in a world that never flattens implicitly
15:32 TimToady then you still have a flattening context
15:32 pmichaud when people say "never flattens"  I'm pretty sure they mean "never implicitly flattens"
15:32 TimToady push @pages, *1..5, 16, *24..27 in rubyesque
15:32 pmichaud not that we never flatten ever
15:32 timotimo i must admit, yesterday (or whenever that was) was the first time i understood the "rubyish" pun.
15:33 TimToady well, if you have a flattening context, then people are going to want to defined functions that can use it
15:33 [Coke] m: map {.say}, (1,(2,3,(4,5,(6,7))))
15:33 TimToady and we re-invent slurpies
15:33 camelia rakudo-moar 0dcd0d: OUTPUT«(timeout)»
15:33 pmichaud It's probably way too late/radical to do this, but part of me was thinking yesterday that   *@arg   should be a non-flattening slurpy and  **@arg should be the flattening one.
15:33 [Coke] ^^ that flattens all the way down. why not only the first level?
15:33 TimToady we should get that to say Mu instead
15:34 pmichaud [Coke]: because flattening all the way down is fairly common, especially in the case of lists-of-lists being built up by operators and returned list values
15:34 [Coke] so why have lists of lists?
15:35 [Coke] why not just have every list be one level?
15:35 TimToady because parens in that context are important for grouping for lots of other purposes than just sublisting
15:35 FROGGS timotimo: can you explain that pun to me?
15:35 pmichaud [Coke]: that sounds like "flatten everywhere"
15:35 masak [Coke]: are you sure you're not thinking of arrays? to me, it's a simple rule that () tends to flatten but [] tends not to.
15:35 timotimo FROGGS: try pronouncing the u more like an english "a"
15:35 [Coke] I'm taking your argument to the extreme. :)
15:35 timotimo and tighten the "yi" into a single "i"
15:35 FROGGS timotimo: ahh *g*
15:35 timotimo :D
15:36 FROGGS hehe
15:36 pmichaud [Coke]: Oh.  "Flatten everywhere" is bad because we lose important grouping information that often wants to be preserved.
15:36 masak timotimo: I've heard many Slavic-speakers pronounce "Ruby" that way
15:36 pmichaud but that doesn't mean that "flatten nowhere" is the only answer.
15:36 TimToady pmichaud: IT HAS TO BE ALL OR NOTHING!!!!
15:36 TimToady :)
15:37 [Coke] pmichaud: but you're saying that the default is to lose importanting grouping information that I want to preserve.
15:37 masak timotimo: which surprises me now that I think about it, because they can say "Ryobl" (name of currency) just fine
15:37 [Coke] masak: Trying to test that, but the default stringification vs. .gist is annoying me again. one moment.
15:37 masak [Coke]: if you want to preserve it, then don't use ()
15:37 TimToady [Coke]: only in the spots where that is unlikely to be the desired behavior, on average
15:38 TimToady people pushing onto a flat array are very likely to want the list flattened
15:38 [Coke] then please explain why it's desired. :)
15:38 * TimToady is tired of explaining that
15:38 timotimo masak: kind of like a german would pronounce "rabbi"?
15:38 [Coke] I will be happy with documentation.
15:38 TimToady no you won't!  :P
15:38 [Coke] TimToady: I was thinking pmichaud .
15:39 masak timotimo: right.
15:39 TimToady gotta go carry groeries...
15:39 timotimo masak: definitely curious
15:39 masak hm, "Ryubl" comes closer to the pronunciation.
15:39 pmichaud [Coke]: functions like "sort", "push", "grep", etc. seem to me to want to flatten.    Perhaps it's just my p5 background, but if I have     sort @left, @middle, @right      I kind of expect it to sort the elements of those arrays for me.
15:40 pmichaud same if I do     elems @a, @b    -- I expect @a + @b  and not "2".
15:41 pmichaud but that's also my unix background speaking, as well.
15:42 pmichaud sort  file1 file2 file3    flattens and sorts
15:42 [Coke] but depending on the type of thing in @a or @b, you might flatten all the way down, yes?
15:42 pmichaud if @a and @b aren't arrays, then yeah, it could flatten all the way down.
15:43 pmichaud the Array type only ever flattens one level down.
15:45 japhb I saw I got highlighted, but the backlog is even more huge than usual. Was my opinion sought or merely referenced?
15:45 pmichaud japhb: referenced
15:45 japhb OK
15:45 pmichaud japhb: /last japhb 5
15:45 timotimo yup. we said you were in the "never flatten implicitly" camp
15:45 pmichaud japhb: or /last japhb 10 by now :)
15:46 japhb pmichaud: Ah, nice command, thanks
15:47 pmichaud I use it often when I've been highlighted to quickly find the location of the highlight.  :)
15:47 erkan joined #perl6
15:50 japhb timotimo: To be clear, my view was a tad more nuanced than that.  But to a first approximation, I had voiced a desire for not-flatten to be the default in many cases, with flatten being a one-character request.  And in particular, for things that can be done as both a listop and a method (map ... versus (...).map), I prefered the listop to flatten more than the method call.
15:50 timotimo tbh i prefer weechat's ctrl-r backwards search, because it still gives you the ability to read as little or much of the context as you like
15:50 japhb (Or perhaps, for the method call to flatten less than the listop, depending on how you look at it.)
15:50 pmichaud japhb++   # apologies if I misrepresented your position
15:50 japhb No worries at all, pmichaud .
15:51 timotimo japhb: i intentionally almost-misrepresented your position so that you could give a much more exact description. so thanks! :)
15:51 timotimo you played right into my hands
15:51 japhb Heh.
15:52 * TimToady likes to play
15:53 * japhb fears the drink refered to as "Green Monster" on the breakfast menu, containing: Kale, Avocado, Spinach, Almond Milk, Apple Juice, Agave Nectar
15:53 [Coke] sounds nummy
15:54 japhb Sounds unnecessarily healthy.  ;-)
15:54 pmichaud japhb: It's evil.  My body is convulsing just thinking about it.
15:54 japhb heh
15:54 pmichaud I'm okay with the Apple Juice and Agave Nectar, though.
15:54 pmichaud almond milk is passable as well
15:54 japhb That much we can agree on.  :-)
15:55 camelia joined #perl6
15:55 pmichaud "avocado" and "drink" don't square with me.
15:55 japhb bus stop &  # To breakfast!
15:55 japhb Ditto
15:55 japhb afk for real
15:55 FROGGS well, Spinach + Drink is just odd
15:55 pecastro joined #perl6
15:55 colomon Kale + Drink is normal!?!
15:56 FROGGS what's Kale?
15:56 jnthn Spinach? Drink?!
15:56 pmichaud I often have physical reactions to spinach that mean I have to "tread carefully"
15:56 pmichaud (drink or otherwise)
15:56 * FROGGS now goes home and hopes to work more on line seps
15:56 colomon FROGGS: http://en.wikipedia.org/wiki/Kale
15:57 FROGGS ohh, I don't usually drink that :o)
15:57 pmichaud and Kale just means I'm going to feel quite icky a few hours later.
15:58 FROGGS[mobile] joined #perl6
16:00 TimToady so it's really Kale Juice, Avocado Juice, Spinach Juice, Almond Juice, Apple Juice, and Agave Juice
16:00 TimToady why can't things be more consistent?
16:00 masak :P
16:00 pmichaud perhaps it's really   juice <Kale Avocado Spinach Almond Apple Agave>
16:00 * masak .oO( this juice is strangely consistent... )
16:01 TimToady strange consistently...
16:01 pmichaud not sure if the "juice" operation was applied to ingredients as a whole or to each individual ingredient  :)
16:01 TimToady it's a slurpy
16:01 pmichaud 7-eleven is based here in the DFW, their lawyers may be contacting you shortly.
16:02 TimToady lol
16:02 pmichaud s/the//
16:03 TimToady .oO(ir lawyers?)
16:03 pmichaud I didn't :g  !
16:03 TimToady <g>
16:03 pmichaud (and for those missing the reference:  http://en.wikipedia.org/wiki/Slurpee )
16:04 TimToady and they'll also sue me for misspelling it :)
16:05 pmichaud "Manitoba was crowned the Slurpee Capital of the World for the fourteenth year in a row in 2013."
16:05 pmichaud That combines all sorts of SCARY thoughts.
16:06 TimToady thankfully, I only flew over Saskatchewan
16:06 TimToady well, and Alberta and BC
16:06 TimToady he said provincially...
16:06 pmichaud okay, lunchtime here.  bbl
16:06 isBEKaml joined #perl6
16:07 kaleem joined #perl6
16:08 [Coke] ... I forgot to lunch.
16:10 * colomon is running out to fetch noms for $wife
16:17 japhb Awww, this omelet isn't nearly as good without onions (they ran out)
16:23 FROGGS joined #perl6
16:25 TimToady m: my \l = (1,2,3).list; l.plan: 4..*; say l[^10];  # re http://irclog.perlgeek.de/perl6/2014-10-15#i_9513771 and following
16:25 TimToady (works locally)
16:25 camelia rakudo-moar 93fe76: OUTPUT«(timeout)»
16:25 [Coke] anyone else having trouble building the core setting on the jvm?
16:25 TimToady so we already have a lazy list concat
16:26 TimToady albeit in mutatating form
16:26 moritz \o
16:26 TimToady that word has a mutatation
16:27 japhb o/ moritz
16:31 geekosaur I thought amino acid repeats usually came in 3s :p
16:33 TimToady well, it's tata for now :)
16:45 [Coke] I am running out of memory building the core setting.
16:46 [Coke] (on jvm).
16:51 TimToady PerlJam: re http://irclog.perlgeek.de/perl6/2014-10-16#i_9518871 it's called "ins" because there's no guarantee that the input separator is actually separating lines
16:55 Hor|zon joined #perl6
16:56 FROGGS[mobile] joined #perl6
16:59 aindilis joined #perl6
17:05 timotimo should we turn a for ^(something) into a while loop like we do for ^constant_here?
17:06 timotimo with a constant in there we can already emit a native int if we know the range won't reach big integer territory
17:06 timotimo in the other case we can just assume "big int is necessary"
17:11 Mso150_x joined #perl6
17:11 masak makes sense, I think.
17:12 timotimo except of course that stuff is going to be much more performant post-GLR
17:13 timotimo i'd actually love something like @list.kv -> $a, $b and @foo Z @bar and @foo X @bar to be "unsugared" in the optimizer to give much more performant code without sacrificing proper behavior ...
17:13 Mouq joined #perl6
17:14 grettis joined #perl6
17:19 japhb I would assume you could only get a gain out of that if you could prove @foo and @bar where finite and reified (Array or a subclass, for example)
17:24 [Coke] tools/build/Makefile-JVM.in - needs to be updated; 1000m is apparently no longer big enough, at least for me.
17:24 [Coke] doubling it to -Xmx2000m worked for me.
17:24 [Coke] anyone object to me bumping it?
17:31 pmichaud please don't do a lot of for-like optimizations until *after* the GLR
17:31 pmichaud every optimization is just another hurdle to be overcome in the conversion.
17:31 pmichaud (and often the optimizations make or introduce assumptions that are no longer correct after the refactor)
17:31 Mso150_x_h joined #perl6
17:32 pmichaud [Coke]: +1 from me, although I don't know all of the ramifications of that.
17:33 timotimo pmichaud: understood
17:34 pmichaud TimToady:  (.plan and concat)  as implemented it makes the invocant eager.
17:34 dalek rakudo/nom: 6be4a4d | coke++ | tools/build/Makefile-JVM.in:
17:34 dalek rakudo/nom: Bump up memory required to build rakudo-j
17:34 dalek rakudo/nom:
17:34 dalek rakudo/nom: (2000 may be too high, but 1000 is definitely too low)
17:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6be4a4d580
17:34 TimToady nodnod
17:35 [Coke] lizmat: ^^ let me know if that impacts you.
17:35 TimToady but that's 'cause I couldn't easily figger out how to have a list of plans
17:35 pmichaud where I've needed the concat capability is for things like  Z,   that ought to be lazy  (and non-mutating of existing lists)
17:36 TimToady anyway, yeah, .plan was just an initial whack at it
17:37 pmichaud creating  a non-mutating .concat is itself fairly trivial, I can do that already.  I just want to know what the canonical syntax should be, not how to implement it.
17:38 TimToady I know, let's use infix comma for that :P
17:38 pmichaud how about a lazy comma?    infix:<,,>   :-P
17:38 TimToady druther have something that looks more like a list infix than a mistake :)
17:38 pmichaud I mean, we really ought to have a Texas comma.
17:39 pmichaud just because.
17:39 [Coke] => !
17:39 TimToady
17:41 [Sno] joined #perl6
17:41 * masak .oO( we used to have a Texas comma, until it ceded from the rest of the Perl 6 operators )
17:41 pmichaud .u ∾
17:41 yoleaux U+223E INVERTED LAZY S [Sm] (∾)
17:41 huf texas comma?
17:42 masak huf: an ASCIIish way to spell the normal Unicode comma.
17:42 * pmichaud thinks that "INVERTED LAZY S" would make a great name for a ranch.
17:42 huf masak: sorry, that explanation just confused me even more :(
17:42 masak huf: :P
17:42 * masak is evil
17:43 TimToady chaotic evil, even
17:43 * masak .oO( chaotic evil, odd! )
17:43 [Coke] TimToady: https://raw.githubusercontent.com/coke/famflags/master/png/gy.png
17:45 TimToady that's, like, the tiniest flag evar
17:46 [Coke] yes, but it looks like an arrow. :)
17:46 [Coke] (need the small country flags for lots of web apps I work on)
17:47 TimToady so it's your fault!
17:49 [Coke] sur..e?
17:49 [Coke] er, suuuuure?
17:59 * rjbs had the chance to register pig.gy and squandered it.
18:01 [Coke] rjbs: NOOOOO!
18:02 PerlJam TimToady: "ins" makes sense, but it seems like one of those things that will have to always be explained to people.  i.e. it's a little obscure.
18:03 masak PerlJam: it was the end point of a long sequence of worse suggestions.
18:03 masak PerlJam: doesn't mean there isn't a yet better one, though.
18:07 PerlJam I tend to think of "lines" as records and ins would be more like "record-number" or some such.
18:08 PerlJam But, if "ins" and "outs" fit within a larger conceptual framework for explaining Perl 6, then it'll just be one of those things people have to learn :)
18:09 FROGGS PerlJam: it is not yet too late to come up with something better, me thinks :o)
18:09 FROGGS PerlJam: note that this also has to apply to streams
18:10 timotimo o/
18:10 FROGGS m/
18:12 pmichaud and that monitoring an "outs" for record separators might be a little expensive.
18:13 timotimo you could declare that you want to track outs and then using anything but ".get" and ".lines" would die
18:14 * pmichaud confused.
18:14 FROGGS isnt .outs what you .print?
18:14 timotimo er
18:14 timotimo oops
18:14 timotimo derp.
18:14 pmichaud print "hello\nworld\n";   # how many .outs?
18:14 FROGGS depends on the separator :o)
18:15 pmichaud right, thus my comment "monitoring an 'outs' for record separat...."
18:15 timotimo if it's \n it's 2, if it's l it's 3 ...
18:15 PerlJam timotimo: 4 if it's "l"
18:15 pmichaud ...and we have to scan every output string for record separators.
18:15 timotimo oh, mhh
18:15 pmichaud which we currently don't do, or come even close to do.
18:15 timotimo pmichaud: that can be done in a separate thread! %)
18:15 jnthn I think we might want to do this with a decorator pattern, NOT as a think you get in a default file handle :P
18:16 FROGGS thing*
18:16 PerlJam unless we come up with a good name for a thing that keeps track of outs  (like "write") and it's the only thing that does.
18:16 jnthn class IO::CountStuff { has $.handle handles *; ...override stuffs... }
18:16 jnthn Or something :)
18:17 * jnthn should probably go buy some dinner :)
18:17 jnthn bbiab
18:18 pmichaud scanning output for record separators isn't completely out of the question... but it's definitely something you'd like happening automatically at a low level, like at the VM level.
18:18 pmichaud and a lot of VMs won't have it built-in
18:19 spider-mario joined #perl6
18:20 timotimo what, jvm doesn't have System.OutCount? :P
18:21 dalek perl6-roast-data: a63ca00 | coke++ | / (5 files):
18:21 dalek perl6-roast-data: today (automated commit)
18:21 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/a63ca0048e
18:24 spider-mario joined #perl6
18:31 pepl joined #perl6
18:41 jnthn pmichaud: Oh, curious, I had the opposite intuition: implement it once at high level, but make it something you opt in to. It should only be a case of some index operations and increments, then a delegation. Which I'd hope can be pretty fast. :)
18:49 nine_ Coke: Set the environment variable MAKEFLAGS to "-j 8"
18:49 Mouq joined #perl6
18:50 moritz jnthn: well, it gets a bit more complicated if you count multi-char separators over several print operations
18:50 timotimo i am pleased to report:
18:50 moritz separator = 'ab' print 'xa'; print 'bc'
18:50 timotimo my $foo = 0;for ^10_000_000 -> $a { $foo = $a // 5 }
18:50 timotimo my $foo = 0;for ^10_000_000 -> $a { $foo = $a.defined ?? $a !! 5 }
18:50 timotimo ^- almost exactly the same speed
18:50 timotimo like, minimal noise on the second digit after the comma
18:53 Hor|zon joined #perl6
18:55 jnthn moritz: Urgh, true :)
18:55 nine_ [Coke]: Set the environment variable MAKEFLAGS to "-j 8"
18:56 Mso150_x_h joined #perl6
18:59 moritz timotimo: is that due to an optimization you're implementing?
19:00 timotimo no
19:01 timotimo it's already that way, probably due to spesh and/or inlining
19:01 timotimo inlining as in: QAST-level inlining)
19:01 timotimo :)
19:02 jnthn Could be spesh-level inlining too :)
19:02 jnthn I suspect .defined gets inlined in both cases.
19:02 timotimo sometimes i get positively surprised by rakudo performance nowadays
19:02 timotimo makes me hopeful for the future
19:03 moritz yes, it's much less abysmal than it used to be :-)
19:05 Mso150 joined #perl6
19:08 dalek Perlito: 38cd1da | (Flavio S. Glock)++ | / (2 files):
19:08 dalek Perlito: Perlito5 - parser - add "=encoding" pod command
19:08 dalek Perlito: review: https://github.com/fglock/Perlito/commit/38cd1dab3d
19:09 Mouq joined #perl6
19:15 bartolin j: say "are you there?"
19:16 camelia rakudo-jvm 93fe76: OUTPUT«(timeout)»
19:16 bartolin I've found the following NullPointerException with perl6-j:
19:17 bartolin $ perl6-j -e "sub foo { EVAL 'role R { }' }; foo;"
19:17 bartolin ===SORRY!===
19:17 bartolin java.lang.NullPointerException
19:17 kurahaupo joined #perl6
19:17 psch bartolin: backtrace with jdb might be useful
19:18 bartolin that bites us when using "eval_lives_ok" with such code :(
19:18 slavik joined #perl6
19:18 bartolin psch: I'll take a look, mom
19:18 psch there should be a perl6-jdb-server, but you probably want to change -suspend=n to -suspend=y
19:18 psch inside perl6-jdb-server
19:18 psch and attach with jdb -attach $port
19:19 bartolin I haven't used that before, but I'm looking
19:21 xfix_ joined #perl6
19:21 Hor|zon joined #perl6
19:22 psch bartolin: i think -source wants to point towards nqp/src/vm/jvm/runtime
19:23 psch and then just catch NPE and see where it takes you
19:23 * bartolin is a bit lost
19:24 bartolin okay, it will take a bit longer ;-)
19:27 timotimo welp
19:27 timotimo with --ll-exception we wouldn't get far, aye?
19:28 psch ...right, that might have been the more sensible first step
19:28 timotimo well, if we have an NPE ...
19:29 bartolin okay, that gives some more lines. I'll pastebin it in a moment.
19:29 psch timotimo: it still might point towards something that could be related i think
19:29 psch although details are probably inside jdb somewhere
19:29 bartolin http://pastebin.com/CKCBpyJ8
19:31 psch maybe again broken outer chain?
19:31 psch similar to that one thing i had found a few months back which was gone a few weeks back
19:32 psch note, i don't know how it was fixed :)
19:32 pepl joined #perl6
19:35 timotimo psch: i'd be a bit surprised if we get a stack trace at all
19:35 timotimo from such a low-level exception
19:36 noganex joined #perl6
19:36 psch timotimo: bartolin++ pasted a trace? :)
19:36 bartolin Hmm, I got only the following. but it's very likely that I didn't do the right thing:
19:36 bartolin Exception occurred: java.lang.NullPointerException (to be caught at: 64411D3B4B0DBD5895A2F295CC3F75570C8D73C2.qb_54(), line=1,497 bci=2,686)"thread=main", org.perl6.nqp.runtime.Ops.getobjsc(), line=3,811 bci=1
19:38 bartolin I attached with jdb -sourcepath nqp/src/vm/jvm/runtime -attach $port and did "catch java.lang.NullPointerException" first and then "run"
19:39 bartolin Should I file a rakudobug?
19:39 * bartolin knows the answer to this question ...
19:41 psch bartolin: 'up' inside jdb should show you were this came from.  from the looks of it the obj we want the sc from is NULL
19:41 psch i have no idea how/why this happens, i'm just telling you what i found out about debugging perl6-j when i tried it...
19:42 psch but filing a rakudobug is definitely a good thing
19:43 bartolin "up" doesn't show anything :/ (only switched from "main[1]" to "main[2])
19:43 flussence joined #perl6
19:43 psch 'list' again
19:43 timotimo well, that's good :)
19:44 bartolin okay, I'll write the bug report. I found that after a test for perl6-j failed with eval_lives_okay but run fine with lives_okay.
19:45 bartolin psch: "list" only gives: Source file not found: src/Perl6/World.nqp
19:46 bartolin should I add more directories to -sourcepath?
19:46 psch bartolin: then what timotimo++ said seems to apply i think.  the NPE happens atomically for getobjsc for a role in EVAL
19:46 psch at least that's how i understand it
19:47 psch i don't think jdb understands .nqp files
19:47 psch i haven't tried though
19:47 bartolin okay, thanks for leading me through this ;-)
19:48 nine_ I implemented threading in Parrot, brought Perl 5 back into Perl 6, wrote Inline::Python just for fun and here I struggle...implementing an ordinary image upload in Javascript
19:49 psch $ ./perl6 -e'say @*ARGS' -e'say "nothing"'
19:49 psch -esay "nothing"
19:49 psch \o/
19:50 psch unfortunately, 'make spectest' still hangs indefinitely.  it even kills the shell it's run in
19:50 psch s/kills/somehow borks/
19:50 psch it doesn't respond in any way, only killing the process from the outside works
19:50 psch the shell, that is
19:52 timotimo nine_: heh :D
19:52 timotimo nine_: completely different levels in the layer cake, could that be it?
19:52 psch i'm pretty sure it's javascript
19:54 timotimo well ... yeah maybe
19:54 psch ;)
19:54 nine_ On the other hand, doing Javascript nowadays is very nice compared to the bad old times. Draging a couple images into your browser window and have them uploaded to a server with nice progress indication? No way to have that back then.
19:55 moritz nine_: "firebug". 'nough said.
19:56 timotimo aye :(
19:58 nine_ success :)
19:58 moritz maybe I was just unaware of better tooling back then, but I had trouble even getting an error message from javascript. much less a backtrace
19:59 Hor|zon joined #perl6
19:59 nine_ Backtraces are a rather recent addition to Javascript
20:00 nine_ Note to self: a 12150x6075 image might be a bit much for these tests...
20:00 flussence but... Konqueror *3* had file upload progress statusbars. Firefox just didn't bother implementing them for years :(
20:00 masak 'night, #perl6
20:01 PerlJam masak: Sleep well!
20:04 timotimo gnite masak!
20:12 [Coke] psch: what OS/backend are you running where teh spectest hangs?
20:13 [Coke] today's daily run will finally include java again.
20:13 psch [Coke]: i'm on 32bit moar, this is with my branch for better cli option parsing though
20:13 psch i'm fairly confident that my changes are somehow responsible... :)
20:15 bartolin bug report about NullPointerException submitted: RT #123002
20:15 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=123002
20:17 timotimo success, a letterbox!
20:18 [Coke] bartolin: how did you give it TWO bug tags?
20:20 bartolin [Coke]: errm, I wrote [BUG] in the subject _and_ marked "Bug" in the dropdown menu ;-) I'll try to get rid of one of them.
20:20 moritz Bug²
20:20 bartolin [Coke]: it's better now ;-)
20:25 timotimo someone want to tackle this bug?
20:25 timotimo m: my Num $foo = 1;
20:25 timotimo p: my Num $foo = 1;
20:26 timotimo breaks only on MoarVM, is the gist of it.
20:26 camelia rakudo-moar 93fe76: OUTPUT«(timeout)»
20:26 camelia rakudo-parrot 93fe76: OUTPUT«(timeout)»
20:28 PerlJam timotimo: maybe the bug is that it works on parrot  ;)
20:29 timotimo well, on moar we seem to be using "assign" to put the number into the variable
20:29 timotimo i don't have a rakudo-p handy to figure out what exact op it emits
20:30 baest joined #perl6
20:31 timotimo i haven't looked at the MAST Compiler in a long time ... but maybe the difference is somewhere in the actions instead?
20:35 rurban joined #perl6
20:56 cognome joined #perl6
20:57 psch aha! jakudo doesn't become catatonic when trying to run roast with my branch, instead it errors out on every file!
20:57 psch progress!
21:00 timotimo cool :)
21:02 dalek roast: 741b08e | usev6++ | integration/advent2012-day14.t:
21:02 dalek roast: Unfudge no passing tests for rakudo.jvm, RT #121802
21:02 dalek roast: review: https://github.com/perl6/roast/commit/741b08ee70
21:02 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=121802
21:13 gfldex joined #perl6
21:21 prevost joined #perl6
21:24 _slade_ joined #perl6
21:35 Mouq joined #perl6
21:57 cognome joined #perl6
22:00 Hor|zon joined #perl6
22:05 mahmoud joined #perl6
22:08 guru joined #perl6
22:16 * psch sleep &
22:23 Hor|zon joined #perl6
22:33 camelia joined #perl6
22:39 kjs_ joined #perl6
23:09 BenGoldberg joined #perl6
23:10 flussenc1 joined #perl6
23:25 xenoterracide_ joined #perl6
23:49 xenoterracide_ joined #perl6
23:52 Mso150 joined #perl6

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

Perl 6 | Reference Documentation | Rakudo