»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:03 frettled joined 00:13 whiteknight joined, fgomez left, whiteknight is now known as Guest47613 00:20 raiph joined, cognominal___ joined 00:21 cognominal_ left 00:28 libertyprime left 00:31 lichtkind_ joined 00:33 lichtkind left, lichtkind_ is now known as lichtkind 00:42 pat_js joined 00:53 mtk joined 00:56 fgomez joined 01:12 replore_ joined 01:13 scott_ joined, scott_ is now known as Guest7594 01:19 domidumont left, diakopter left, ashleydev left, Exodist left, tokuhiro4 left, kst left, jlaire left 01:21 domidumont joined, diakopter joined, ashleydev joined, Exodist joined, tokuhiro4 joined, kst joined, jlaire joined, renormalist joined, Maddingue joined, tokuhirom joined 01:22 Facefox left 01:25 domidumont left, diakopter left, ashleydev left, Exodist left, tokuhiro4 left, kst left, jlaire left, renormalist left, Maddingue left 01:26 Facefox joined 01:30 domidumont joined, diakopter joined, ashleydev joined, Exodist joined, tokuhiro4 joined, kst joined, jlaire joined, renormalist joined, Maddingue joined 01:34 Facefox left 01:36 Facefox joined 01:46 ggoebel joined
dalek blets: 30e9777 | (Herbert Breunung)++ | docs/tablet-3-variables.txt:
codeblocks cant have links
01:55
01:55 lichtkind left 01:57 libertyprime joined 02:01 Guest47613 left 02:08 lestrrat left 02:09 tokuhirom left, tokuhirom joined, lestrrat joined 02:10 leprevost joined 02:13 replore_ left 02:14 tokuhirom left 02:16 lestrrat left 02:17 lestrrat joined 02:18 araujo left 02:20 orafu left, orafu joined 02:24 araujo joined, araujo left, araujo joined 02:29 fgomez left 02:30 benabik joined 02:32 sudokode is now known as sudotest, sudotest is now known as sudokode 02:33 fgomez joined 02:36 fgomez left 02:37 fgomez joined 02:39 baest left 02:44 baest joined 02:45 leprevost left 02:46 ponbiki left
cognominal___ r: multi sub a(Int $i) { say "Int $i" }; multi sub a(Str $i) { say "Str $i" }; sub doit(&f) { f(1) }; doit(&a) 02:48
p6eval rakudo dca0fa: OUTPUT«Int 1␤»
cognominal___ now suppose I want to pass to doit only the sub with the Int signature, what is the syntax to do that? 02:49
02:49 cognominal___ is now known as cognominal, domidumont left, diakopter left, ashleydev left, Exodist left, tokuhiro4 left, kst left, jlaire left, renormalist left, Maddingue left 02:52 Facefox left 02:55 domidumont joined, diakopter joined, ashleydev joined, Exodist joined, tokuhiro4 joined, kst joined, jlaire joined, renormalist joined, Maddingue joined, Facefox joined 02:57 leprevost joined 02:58 fgomez left 02:59 fgomez joined, fgomez left, fgomez_ joined
sorear cognominal: the syntax is &a:(Int). However, the full syntax is impossible to implement (by reduction to Rice's theorem), and i don't think any implementation has even a partial version yet 03:03
r: multi sub a(Int $i) { say "Int $i" }; multi sub a(Str $i) { say "Str $i" }; sub doit(&f) { f(1) }; say &a.candidates
p6eval rakudo dca0fa: OUTPUT«sub a(Int $i) { ... } sub a(Str $i) { ... }␤»
sorear r: multi sub a(Int $i) { say "Int $i" }; multi sub a(Str $i) { say "Str $i" }; sub doit(&f) { f(1) }; say &a.candidates.first(/Int/) 03:04
p6eval rakudo dca0fa: OUTPUT«No values matched␤ in method gist at src/gen/CORE.setting:9059␤ in sub say at src/gen/CORE.setting:6802␤ in block <anon> at /tmp/oi7j5kxZbd:1␤␤»
sorear r: multi sub a(Int $i) { say "Int $i" }; multi sub a(Str $i) { say "Str $i" }; sub doit(&f) { f(1) }; say &a.candidates.first(rx/Int/)
p6eval rakudo dca0fa: OUTPUT«No values matched␤ in method gist at src/gen/CORE.setting:9059␤ in sub say at src/gen/CORE.setting:6802␤ in block <anon> at /tmp/UbRpZyidam:1␤␤»
sorear r: multi sub a(Int $i) { say "Int $i" }; multi sub a(Str $i) { say "Str $i" }; sub doit(&f) { f(1) }; say &a.candidates.first({ .signature.gist ~~ /Int/ })
p6eval rakudo dca0fa: OUTPUT«sub a(Int $i) { ... }␤»
sorear r: multi sub a(Int $i) { say "Int $i" }; multi sub a(Str $i) { say "Str $i" }; sub doit(&f) { f(1) }; doit(&a.candidates.first({ .signature.gist ~~ /Int/ }))
p6eval rakudo dca0fa: OUTPUT«Int 1␤»
sorear cognominal: is that a viable workaround? 03:05
03:06 adu joined 03:09 lestrrat left, xinming_ left, lestrrat joined 03:21 fgomez_ left, xinming joined, fgomez joined 03:23 derrazo joined, derrazo left
cognominal that's ok. I did not know about Rice theorem. 03:27
sorear++
03:34 pat_js left 03:51 adu left 03:58 cognominal left, cognominal joined 04:04 fgomez left, fgomez joined 04:07 adu joined 04:09 flussence left 04:10 flussence joined 04:14 sisar joined
sisar o/ 04:15
phenny sisar: 22 May 22:45Z <diakopter> tell sisar < benabik> Parrot builds with debugging by default and nqp/Rakudo use the same options as Parrot.
sisar twitter.com/chromatic_x/status/205...6118962178 :| 04:20
04:26 spaceships joined 04:28 slavik1 left 04:34 spaceships left 04:42 adu left
moritz \o 04:52
sorear o/ moritz 04:54
05:05 cognominal_ joined 05:07 birdwindupbird joined 05:09 cognominal left 05:13 adu joined 05:18 wolfman2000 left 05:22 adu left 05:34 REPLeffect left 05:35 flussence left 05:38 flussence joined 05:39 wtw joined 05:58 cognominal_ left, kaleem joined 05:59 DreamingInCode left 06:01 cognominal joined 06:04 brrt joined 06:19 adu joined
dalek ar: 7d37beb | moritz++ | skel/docs/announce/2012.05:
[announce] whoops, spin back two years
06:21
moritz star released, announcements sent 06:27
adu cool 06:36
06:37 brrt left 06:38 mucker joined 06:50 NamelessTee joined
tadzik \o/ moritz++ 06:59
07:06 brrt joined
frettled moritz++ - goodie! 07:06
07:12 adu left 07:31 stol_ joined 07:53 fhelmberger joined 08:20 stol_ left
sisar mortz++ 08:26
08:26 dakkar joined
sisar who controls this account: twitter.com/#!/perl6 ? It needs to be revived. 08:26
moritz has no idea 08:28
tadzik great. Perl is now self-conscious, and it wants to be Perl 6
08:31 mucker left 08:32 raiph left, mucker joined
frettled tadzik: what? :) 08:33
tadzik ;)
masak PerlJam: forethought isn't some alternative side-story in the coffee-mug incident. it's right there in canon. "This was the most perfectly planned tantrum you have ever seen. If any of you know Jon, he likes control. This was a perfectly controlled tantrum." strangelyconsistent.org/blog/happy-...ary-perl-6 08:42
moritz eeks, it seems we have regressed on -M and nobody noticed :/ 08:43
frettled So there's a test missing? 08:46
moritz aye
frettled quick, group hug!
moritz and it was me who broke it. Of course.
hugme: hug me
hugme hugs moritz
moritz hugme: hug everybody
hugme hugs everybody
08:48 stol_ joined
dalek kudo/nom: a90efc7 | moritz++ | src/Perl6/Grammar.pm:
unbreak -M command line option
08:52
08:52 mucker left
moritz ... and Test::Util doesn't support passing command line arguments before the script file name 08:55
frettled oops 08:56
moritz I'm currently coding a bit in matlab 09:03
and overall it seems to be a quite nice language for its domain 09:04
but what I hate is that it uses the same bracketing for calling a function and for indexing into arrays/vectors/matrices
m(1, 2) # could call a function with two arguments, or index into an at-least-2D matrix
that's surprising, especially if you consider that matlab is mostly used for math stuff, and in math you have quite different notation for functions and for indexing 09:06
09:09 lestrrat left 09:11 lestrrat joined 09:17 lestrrat left 09:18 lestrrat joined
sisar too remembers being surprised by that 09:20
masak VB is famous for overloading its () syntax, too. 09:24
moritz r: module A { constant b is export(:const) = 5 }; import A :const; say b 09:25
p6eval rakudo a90efc: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&b' called (line 1)␤»
masak but in a way it makes a lot of sense. any of these container types could be seen as a function of sorts.
I agree it's a crappy unification, but it's a unification :P
moritz r: module A { my $b is export(:const) = 5 }; import A :const; say $b 09:26
p6eval rakudo a90efc: OUTPUT«===SORRY!===␤Variable $b is not declared␤at /tmp/jsFBz0PuU8:1␤»
masak yay! it is a good backlog when Rice's theorem gets mentioned :) 09:27
moritz but I didn't quite understand its relevance there
if you declare sub f(Int &foo) { } then the signature doesn't restrain &foo to functions that return ints, but to functions that declare that they return an Int 09:28
which is easy to check; no need to invoke Rice's theorem
masak troo
moritz or did I misunderstand the context?
masak I just assoomed it had something to do with the intractability of where clauses.
but maybe that's entirely beside the point. 09:29
moritz ah, I'm missing the point too 09:30
it's about selecting one specific multi
which is very possible, if you stick to nominal types
masak aye.
moritz which is the example that cognominal++ wanted
masak right, and sorear only said that a generalized version is impossible.
which shouldn't stop us from doing the nominal-type cases. 09:31
moritz maybe we can give multis with where-clauses explicit names, and use those
09:32 jqb joined
moritz multi a(Int $x where * > 0 ) is named('positive ints') { }; my &cand := &a:named('positive ints'); cand(3) 09:32
and the compiler can enforce uniqueness of names at compile time 09:33
frettled Is that syntax there specced?
moritz no, I'm speculating
frettled I think it could use a little bit more sugar. 09:34
moritz I'm not sure. It's not a feature you're supposed to use often
frettled But if you already know which candidate multi to use, then it seems to me that it would be better if it wasn't a multi.
moritz it falls in the category "hairy things that should be possible" 09:35
frettled I'm not sure it should.
moritz frettled: but there are good use cases
frettled: for example if you implement a subclass of a numeric type
09:36 bbkr joined
moritz something like class MyInt is Int { } 09:36
and then you want a multi sub infix:<+>(MyInt, MyInt) that reuses the parent classes' infix:<+>, but then casts the result into a MyInt
then you explicitly want to call infix:<+>(Int, Int) 09:37
frettled Why would you want to do that if the Int in question satisfies MyInt? 09:38
moritz and you can't just use callsame(), because you'll also specify an infix:<+>(MyInt, Int) and a (Int, MyInt) candidate
frettled: so that you can fiddle the return type into a MyInt
frettled: the parent's infix:<+> returns an Int, not a MyInt
frettled: and because rakudo doesn't allow that, Instant isn't a subclass of Rat in Rakudo, but has-a Rat 09:39
09:39 kresike joined
kresike morning all 09:39
moritz though inheritance would have made other stuff much less effort
\o kresike 09:40
kresike moritz, o/
frettled morning, kresike :)
kresike .oO(these o/ signs are so nice) 09:41
morning frettled
frettled moritz: but knowing that, why wouldn't you just recast as Int?
moritz frettled: because that's not the return type I want
moritz confused 09:42
frettled Wait, you just said that you wanted an Int as a return type instead of the MyInt
moritz no, the other way round
I want MyInt + MyInt to return a MyInt
sorry if that didn't come out clear
frettled So you want an infix:<+>(MyInt, MyInt) that returns Int?
s/want/ don't want/
moritz so, I need to re-dispatch to the Int + Int -> Int operator, and then change Int -> MyInt 09:43
and this re-dispatching is an IMHO valid use case for dispatching to a specific multi candidate
frettled I see your point, but why wouldn't infix:<+>(MyInt, MyInt) return a MyInt in the first place? 09:44
I guess that's my barrier for the example.
moritz frettled: how would you write infix:<+>(MyInt, MyInt) ?
frettled moritz: I wouldn't :D
moritz well, I'd write it as 09:45
sub infix:<+>(MyInt $a, MyInt $b) { MyInt( infix:<+>:(Int, Int).($a, $b) ) } 09:46
and for that I need to select a candidate
I wouldn't know how else to write it, except by re-inventing addition
09:47 daxim_ joined 09:49 nebuchadnezzar left, nebuchadnezzar joined
frettled I think I can come up with a better contrived example. 09:51
moritz that's nice. I don't have a claim on the best contrieved example :-) 09:52
frettled You have a custom type called Nat (for natural numbers), and one called NegNat, which are defined by: Int $x where * > 0 and Int $x where * < 0
NOW you get a selection problem.
Before, you hadn't, because your "where" candidate was the only one using "where", therefore being more specific than the one that didn't.
09:53 sisar left
moritz right, my example didn't cover that case 09:53
I was just arguing for the need to select multis at all
09:53 sisar joined
frettled Still, it would be feasible to automatically select a candidate with a little bit of effort. You just can't do so generally for bazillions of candidates. 09:53
moritz one could always pass concrete values along with the types to do the selection 09:54
&foo:(Int):val(-1) # gets the NegNat candidates 09:55
modulo confusion, of course :-)
frettled It still looks like there is something wrong with the problem itself, though. 09:57
I'll go grab some lunch, and if I can come up with anything clever, I'll say it in a bit more than an hour or so. :) 09:59
moritz: thanks for the challenge :)
moritz frettled: :-) 10:00
fwiw in the setting, I'd solve this problem with nqp::box_i(nqp::add_i(nqp::unbox_i($a), nqp::unbox_i($b)), MyInt)
but that's not portable 10:01
10:07 am0c joined
moritz wow, matlab has closures and anonymous functions 10:10
I'm starting to like it even more :-)
10:14 Guest7594 left 10:18 dakkar left
sisar phenny, tell jnthn, i did obtain a backtrace (gist.github.com/2774389). Also see my comments on the gist for how I obtained it. Most importantly, I have no idea how the process works, I just worked on my intuition . So if you want me to rerun in some other way, do let me know. 10:21
phenny sisar: I'll pass that on when jnthn is around.
10:23 nebuchadnezzar left, nebuchadnezzar joined
moritz maybe perl6 --ll-exception /home/siddhant/.perl6/bin/panda install LWP::Simple is also interesting (though gives a backtrace on a quite different level) 10:24
moritz has no idea about the context
10:24 donaldh joined
sisar I was trying to investigate the non-deterministic module build failures we've been seeing lately with Panda 10:25
moritz sisar++
sisar I had no idea about --ll-exception ! 10:26
oh it is mentioned in `man perl6` !
10:26 dakkar joined 10:27 nebuchadnezzar left, nebuchad` joined 10:28 [hds] joined
sisar phenny, tell jnthn, moritz++ gave me the idea for --ll-exception, so here is the gist for `perl6 --ll-exception /home/siddhant/.perl6/bin/panda install LWP::Simple` : gist.github.com/2774471. 10:30
phenny sisar: I'll pass that on when jnthn is around.
moritz sisar: I'm afraid that's not too useful 10:31
sisar oh
moritz sisar: because it gives the backtrace from inside panda, not from inside the perl6 process that tries to build the module
my fault
so the correct approach is to see what shell commands build() launches 10:32
sisar maybe the backtrace will help then...
moritz and add the --ll-exception option to that buid step
so probably something like perl6 --ll-exception --target=pir --output=blib/lib/LWP/Simple.pir lib/LWP/Simple.pm 10:33
sisar moritz: maybe, before we load jnthn with so much information, I'd like to wait for his opinion on the backtrace :) 10:34
moritz maybe :-) 10:35
10:36 donaldh left
sisar afk 10:36
10:37 mucker joined 10:40 nebuchad` is now known as nebuchadnezzar 11:00 JimmyZ_ joined
frettled moritz: maybe NQP should be made portable ;) 11:02
masak frettled: portable!? why do you hate Parrot so much? :P 11:11
tadzik :>
11:11 NamelessTee left
frettled masak: :D 11:14
Maybe we should just skip Perl 6 and go for NQP instead, everything seems much simpler there. ;)
masak I think NQP will grow up to be quite a mature little language. 11:15
11:15 jaldhar left
frettled yup 11:15
masak maybe a course could be focused around teaching NQP, and then adding on the Perl 6-specific parts in the second "half". 11:16
frettled That would be pretty cool. 11:22
Or, if someone hasn't done so already: give a introductory talk about NQP, then publish the talk. 11:23
11:27 dakkar left 11:30 dakkar joined 11:32 adu joined 11:36 stol_ left 11:37 jerome_ left
moritz Woodi: a blog post for you: perlgeek.de/blog-en/perl-6/2012-new....writeback 11:39
masak moritz++ 11:40
11:41 mikemol joined 11:44 mucker left 11:53 jaldhar joined
tadzik moritz: nice one :) 11:55
I, for one, adore -MGrammar::Tracer
moritz except that it's broken in the release :(
tadzik aw 11:56
11:58 skids left
bbkr moritz++ # nice blog post about lib.pm 12:03
moritz thanks everybody 12:11
12:16 jaldhar left 12:18 donaldh joined 12:28 stol_ joined, donaldh left
daxim_ moritz, 2012-news-in-rakudo-2012-05-release.html =~ s/epxort/export/ 12:37
moritz daxim_: thanks, fixed 12:38
daxim_++
12:39 daxim left 12:43 bluescreen10 joined 12:47 pat_js joined 12:50 leprevost left 12:52 PacoAir joined 12:53 thou joined 12:55 bluescreen10 left
PerlJam masak: Sure ... *now* it's canon. But it wasn't at the time it happened. The "true story" for those of us who weren't there didn't come out until later. 13:00
masak: my point was that all of my memories will be tainted by what I learned, thought or felt afterwards. 13:01
13:06 Util joined, fglock joined 13:07 Psyche^ joined, jerome_ joined 13:10 Patterner left, Psyche^ is now known as Patterner, bluescreen10 joined 13:12 am0c left 13:18 ggoebel left 13:21 lichtkind joined 13:24 mikemol_ joined 13:28 skids joined
masak PerlJam: consented. 13:34
I wasn't there, so my memory of that day is 100% what I learned, thought or felt afterwards ;) 13:35
13:35 am0c joined
moritz vividly remembers not being there 13:35
masak .oO( "I was facing north at the time." ) 13:36
13:36 ggoebel joined 13:38 Facefox left 13:40 shinobicl joined, Facefox joined, Facefox left 13:43 Facefox joined 13:47 pat_js left
masak implements loops in QAST 13:50
tadzik yay!
colomon go masak! 13:52
tadzik go masak! go masak! go masak! go masak! ... 13:53
frettled ooh
JimmyZ_ push! push! push! 13:56
13:56 adu left
masak heh. 13:58
kresike masak, commit first, then push :) 14:00
masak nqp occupies that sweet spot in that it's clearly a high-level language and flexible and expressive, but it's also close enough to the "metal" of the VM that it's suitable for implementing a compiler.
I mean, I could just imagine swearing over code like this in PIR. here, it's wonderful. 14:01
in some regards, nqp feels like Python, actually. 14:02
Only One Way, regularly. fairly strict typing. looks more Serious and Official than Perl. 14:03
daxim_ serious business 14:04
masak maybe it's the feel of "we gave you a reduced set of things to work with For Your Own Good" that's underlying all those things. 14:05
maybe I should say "manual type conversion" rather than "strict typing". 14:06
14:11 lichtkind left
masak specifically, having this OO API for emitting backend code... lovely. 14:12
I wish *I* had thought of that! :) 14:13
pmichaud++ jnthn++
moritz now, is that OO API for emitting backend code copyrightable? :-) 14:14
masak I believe a book could easily be written on top of that idea. 14:15
moritz looks forward to masak++'s commit 14:17
masak www.chris-granger.com/2012/05/21/th...-specific/ -- makes some interesting points.
colomon and it seems Perl 6 is well-positioned to take advantage of the trends he sees. :)
masak coincidentally :) 14:18
but actually taking advantage of those trends requires us to actively move into those domains, of course.
14:19 kaleem left 14:20 Timbus|Away joined, Timbus left, Timbus|Away is now known as Timbus 14:23 kaare_ joined 14:26 PacoAir left 14:29 stol_ left, adu joined 14:32 mtk left 14:34 am0c left
masak has now managed to make a while loop that loops at most once :) 14:35
just need to make it a little more powerful :P
14:35 wtw left
Woodi moritz: thanx, looks I should at least have candidate what 'lib.pm' can be :) 14:36
14:36 HarryS left 14:38 geekosaur left, HarryS joined 14:39 sudokode left 14:40 geekosaur joined, sudokode joined 14:41 mtk joined 14:42 kaleem joined 14:44 replsos joined 14:45 replsos left, replsos joined
masak warning: nqp suffers from the "variables can be used before they're declared in a lexical scope" problem. 14:46
nqp: say $a; my $a
p6eval nqp: OUTPUT«Confused at line 1, near "say $a; my"␤current instr.: 'nqp;HLL;Grammar;panic' pc 22008 (src/stage2/gen/NQPHLL.pir:7047) (src/stage2/gen/NQPHLL.pm:329)␤»
masak nqp: say($a); my $a
p6eval nqp: OUTPUT«␤»
masak it just bit me, and I was wondering why the thing I expected to be filled with a nice object was Undef. 14:47
moritz right, it keeps track of them per-scope
masak nqp: say($a.WHAT); my $a
p6eval nqp: OUTPUT«Can only use get_what on a SixModelObject␤current instr.: '_block1000' pc 39 ((file unknown):43) (/tmp/Aw6bNQw9xb:1)␤»
masak meh.
moritz and only complains on codegen
nqp: say($a.WHAT); my $a := 5;
p6eval nqp: OUTPUT«Can only use get_what on a SixModelObject␤current instr.: '_block1000' pc 39 ((file unknown):43) (/tmp/wMoaIusvKH:1)␤»
replsos basic pdf 14:49
masak replsos: intermediate word document 14:50
advanced LaTeX 14:51
moritz an IRC channel is not a search box :-)
dalek p/toqast: 694648e | masak++ | / (2 files):
[qast] implement while/until
14:51 cognominal_ joined
masak well, that was fun. 14:52
what's the next thing on the list? :)
14:55 cognominal left 14:56 benabik left, rgrau left 14:58 NamelessTee joined 14:59 sirrobert joined
sirrobert are there any web frameworks in development for perl6? 15:00
I've searched around a bit, but didn't see anything. 15:01
PerlJam sirrobert: Bailador
felher sirrobert: github.com/tadzik/Bailador/
sisar sirrobert: look for "Bailador"
felher *lol* :)
sirrobert heh thanks; looking now
tadzik :)
that PoC has got some reputation 15:02
felher tadzik++ is to blame for Bailador :) There was also an AdventPost about it, i think.
sirrobert heh
tadzik I think it was just tadzikpost
sirrobert quick related question...
tadzik ttjjss.wordpress.com/2012/01/06/sta...on-perl-6/
sirrobert I love perl5 (though I haven't been able to use it for a little over a year). I've followed perl6 for a few years.
Now I've started my own tech startup... I *think* I want to use perl6. Help me convince myself? =) 15:03
tadzik huh, a brave one
sirrobert (my business partner really LOVES ruby and rails, but I ... don't =)
tadzik what do you need to use Perl 6 for?
PerlJam sirrobert: Use Perl 6 for what exactly? What does the startup do?
tadzik I'm afraid it may not be ready for your usage, especially as a Ruby on Fails replacement 15:04
* Rails
sirrobert Well, the heavy lifting that's speed dependent would be in C libs
sisar .oO ( intentional typo ? )
sirrobert I would have us write the front-end (which is an internal-network web-based tool) in whatever.
I'm not especially daunted by the lack of a major web front-end... we could contribute to a project like that.
in a nutshell, we do "big-data" style performance monitoring on applications in arbitrarily large networks. 15:06
PerlJam sirrobert: and you'd want to use Perl 6 for the web front-end?
masak sirrobert: if you go with Perl 6 in your startup, you have to prepare for various potholes in the road.
sirrobert initially, anyway.
PerlJam sirrobert: and you wouldn't care if requests were serviced slightly slowly? 15:07
sirrobert Yeah, I'm not too worried about potholes.
Well, depends on what "slowly" means =)
masak sirrobert: I would advise you to use Perl 6 for minor scripts first, and then migrate slowly to things like web frontends.
sirrobert: you're not worried about potholes? welcome to #perl6! :D
sirrobert heh
hmm. 15:08
So, I've written some small stuff in perl6 (a year ago, using Rakudo*). Why start there?
tadzik decommutees
masak sirrobert: I would just suggest not taking too large a first bite. that's a common way to get nowhere.
better to start with small things that work and migrate up/out to larger things that work. 15:09
you will hit various scaling issues.
PerlJam is dubious but hopeful
sirrobert masak: sure... I get that. hmm.
My thought is something like, "Until someone uses it for serious stuff it won't get used for serious stuff." 15:10
PerlJam sirrobert: you'd certainly get lots of help from #perl6 I'll warrant.
sirrobert++
colomon sirrobert: well said
sirrobert (reading Bailador stuff now) 15:11
Thanks all, btw.
I really loved Catalyst chaining (once I understood it). 15:12
masak sirrobert: it will be an "interesting" journey, in that you will have to write a lot of framework infrastructure yourself. 15:13
but that's really the main obstacle I see.
sirrobert Yeah, I actually see that as a positive.
masak sirrobert: if you do this, I personally guarantee to help you as much as I can.
sirrobert masak: thanks =)
TimToady where's your startup located, btw? 15:14
sirrobert My CTO is on vacation for a month with his wife, so now is the time ;)
15:14 birdwindupbird left
PerlJam sirrobert: heh! 15:14
masak sirrobert: we need early adopters just like you, who are willing to roll with it and use Perl 6 in production environment.
sirrobert We're in NC, USA
masak environments*
brrt sirrobert: what server will you use?
sirrobert The good news is our product is targeted (initially) at high tech startups and larger enterprise companies.
It's internally facing, not publicly consumable. Might be a really good candidate. 15:15
15:15 benabik joined
TimToady indeed 15:15
sirrobert Is there some kind of design doc for Bailador (besides the repo itself)?
brrt because i'm in the process of building mod_parrot, which will run parrot - and by extension, rakudo - in the apache web server
PerlJam sirrobert: Dancer :)
sirrobert PerlJam: heh
15:16 driador joined
TimToady might be better to go the fastcgi route if you don't want to fight possible memory leaks so much 15:16
though that's a lot more stable these days 15:17
sirrobert TimToady: mem leaks in Bailador, you mean? 15:18
TimToady I mean, as code gets tweaked in rakudo/parrot, write barriers could go missing temporarily
sirrobert Ah, fair enough
TimToady and long-running processes with multiple tasks will tend toward fratricide in those cases 15:19
but independent processes can be individually restarted more easily
15:23 DreamingInCode joined
TimToady DreamingInCode: o/ 15:23
DreamingInCode Morning TimToady 15:25
diakopter anyone around who uses parrot/nqp/rakudo on mac os x? 15:27
estrai I'm but currently I'm not on os x
TimToady my church in Cupertino is the wrong religion for that... :) 15:28
adu diakopter: me
TimToady well, not exactly wrong, just orthogonal 15:29
diakopter I'm trying to follow the recommended procedure. It's a fresh mac os x. I've just installed xcode (that took a while), now I've gone to Preferences..Downloads..Install Command Line Tools (gcc? clang?)
benabik uses OS X. 15:30
Yes, you have to install the command line tools, either from XCode or from the dev center. 15:31
15:32 vlixes joined
diakopter what's the recommended git (package/dmg?) 15:33
benabik I tend to install things via homebrew.
diakopter is that like macports or fink (both of which I fought years ago) 15:34
benabik It's vaguely similar to macports, but I've found it somewhat better behaved.
15:35 kaleem left 15:36 kaleem joined 15:37 fglock left
benabik But fink/ports/brew is the typical way to grab libraries and tools. 15:37
diakopter I'm trying out brew. macports and fink made me cry when I used a mbp 3 years ago
benabik Yeah. I loved fink for a while, but it's starting to both lag and try to duplicate piles of system libraries and tools. 15:38
diakopter seems I don't need to be root to install packages
benabik brew's preference is to install somewhere owned by the user. I just chowned /usr/local to myself. 15:39
15:39 cognominal_ left 15:40 cognominal joined
sirrobert Are perl6 modules installed globally (as with Perl5/Ruby) or locally to a project (as with node.js)? 15:42
moritz sirrobert: we currently default to installing per-user
sirrobert moritz: per-*user*? where can I read about that? 15:43
I'm looking at the ecosystem repo, but I don't see info about that...
15:44 am0c^ joined
colomon sirrobert: it installs to ~/.perl6 15:44
moritz sirrobert: the module installer is called panda, and that's what responsible for chosing the installation location
sirrobert colomon: Ah, I see what you mean.
moritz sirrobert: we just have Rakudo pick up modules in ~/.perl6/lib/ by default (as well as in its own installation location), so it is a kind of obvious installation target 15:45
sirrobert moritz: Thanks
moritz sirrobert: it was more evolution than design :-)
sirrobert moritz: Yeah, that makes sense. I like how node.js installs to .node_modules in the project directory. 15:46
heh nod
moritz the design approaches we tried suffered from over-design and under-working :-)
sirrobert heh
TimToady and nobody has quite implemented what S11 specs for officially installed modules yet
moritz TimToady: you mean the immutability thingy?
TimToady for one 15:47
but maybe the increasing git mindfluence will move people toward that notion of identity
basically, official modules are values, not containers :) 15:48
moritz for that to work, our compilers need to become values too 15:49
brrt that is true for parrot
15:50 stol_ joined 15:51 tokuhirom joined
sirrobert gotta go. thanks all =) 15:52
15:52 sirrobert left, JimmyZ_ left
TimToady we need to encourage startups to take more risks :) 15:53
btw, is this "Catalyst chaining" something like what our .* does/did?
TimToady is still thinking about how to hang declarative traits on a vertical slice of methods of the same name 15:56
at least we generally know the parentage at compile time, which is something
PerlJam TimToady: catalyst chaining is hooking together subroutines to be executed based on the URL matching that happens. So a URL with /foo/5/bar/baz/27 might actually execute some setup sub for the "/foo/5" portion, then another sub for the "/bar" and another for "/baz/27" (the subs are "chained" together)
s/with/of/
TimToady okay, so might turn into .* with constraints, if it didn't fail non-bindings 15:57
which was discussed here some days ago 15:58
well, perhaps not done with inheritance, but with .*@methodrefs or some such
PerlJam that sounds about right 16:00
16:03 dakkar left
diakopter hm 16:04
trying to build rakudo from git checkout
I give it a --with-nqp and it ignores it and starts building its own nqp. then fails to find parrot even though I provide a --with-parrot= 16:05
TimToady can't help, always uses --gen-parrot
diakopter I did use --gen-parrot for nqp; that worked 16:06
tadzik diakopter: I use neither --with-nqp nor --with-parrot, I just have both installed
16:07 replsos left, brrt left
diakopter hm, there we go. I needed to make install nqp (which installs it to nqp/install/bin) 16:08
colomon grammar experts: Right now the ABC grammar is entirely regexes. That works fine as long as the ABC file is correct. But when there is an error in the file, it seems to effectively go into an infinite loop. I'm assuming that is all backtracking and trying other options. How do I work around that? 16:11
masak use tokens instead of regexes. 16:12
to a first approximation.
TimToady is the ABC grammar ambiguous enough to require backtracking?
colomon TimToady: I don't think so. Not in the large, for sure.
PerlJam colomon: put in calls to panic as one of the alternatives?
TimToady that's the other thing 16:13
see STD for prior art
colomon what exactly does using token do? 16:14
masak enables :ratchet
colomon ...which means? :)
masak that is, makes all backtracking constructs non-backtracking by default.
TimToady S05 is your (big) friend :)
colomon did try reading up on this in S05, honest
masak there are three backtracking modes: greedy (which starts long and shrinks), frugal (which starts short and grows), and ratchet (which starts long and stays that way). 16:15
16:16 am0c joined
TimToady you might find it runs faster if it doesn't have to remember all the choice points too 16:16
16:18 [hds] left
colomon I guess, at a first approximation, what I'm hoping to have it do is say, "I've recognized that's a bar of music. I'm never going to backtrack and try to interpret it as something else. 16:19
masak right.
colomon Is it enough to just change "regex bar" to be "token bar"?
TimToady probably
masak as long as your tests still pass, yes.
PerlJam colomon: that's exactly what ratchet is for
masak most large languages have this trait, that they're one-pass or mostly one-pass. 16:20
garden paths are confusing to human readers as well, so language designers tend to avoid them.
colomon all my tests still pass. But that doesn't seem to have helped my problem. 16:21
TimToady somewhere you might want: <bar> || <.panic: "An A, B, and C unwalk into a bar">
try changing all your regex to token
16:22 kaleem left
TimToady course, it could just be an normal garden-variety infinite loop too 16:22
colomon Hmm... that at least gets me an error!
masak \o/
PerlJam could he say :ratchet on the grammar to make all regex act as token decls? 16:23
TimToady now to get the right error, add more ||
why? "token" is just as short as "regex"
colomon ...but now two of the test files fail. :(
TimToady so maybe you're depending on backtracking for one or two items, like Perl 6 does :) 16:24
PerlJam TimToady: just curiously exploring the option space.
colomon TimToady: sounds right. :)
TimToady PerlJam: seems like multiplying entities to me
PerlJam probably. I just never know when that's bad or good ;) 16:25
TimToady and likely to confuse anyone who sees "regex" and doesn't realize it means "token"
that's kinda like the feature in COBOL that could rename labels
diakopter hm, nieza startup/nop time is 1.2s; rakudo is .28s 16:26
arnsholt moritz: Thanks for merging the cstr branch. My brane has been elsewhere lately
PerlJam You've just invoked a Godwinesque law by mentioning COBOL
colomon first thing that's failing is a test of this: token inline_field { '[' <alpha> ':' $<value>=[.*?] ']' }
TimToady unlike Hitler, COBOL didn't kill COBOL.
arnsholt Renaming labels? Nifty. Almost as cool as changing the value of literals =) 16:27
colomon the token conflicts with the .*? somehow (he guessed?)
TimToady or maybe it did...
diakopter think of all those poor Hitlers who had to change their name
sorear good * #perl6
colomon sorear! \o/
hmmm, changing just that one token back to a regex fixed all the test errors. 16:28
PerlJam colomon: Is the grammar at github.com/colomon/ABC/blob/master...Grammar.pm up-to-date except for the token changes?
colomon that actually kind of makes me worried...
PerlJam: give me a moment, looks like it may be a day or two old 16:29
TimToady think of all those poor COBOLs who had to change their name...
colomon nope, that's the latest (minus the token changes)
TimToady I think most of 'em changed their name to Java 16:30
diakopter COBOL->Oak->Java 16:31
PerlJam colomon: at a guess I'd say it's because of ambiguous prefixes that start with '['
colomon PerlJam: that's what I was thinking originally myself, but I got the fails when directly testing the inline_field regex/token 16:32
PerlJam completely by itself?
colomon turns out the error message I was getting was because I was just assuming the alleged ABC file would match the grammar.
PerlJam: yes
16:33 NamelessTee left
colomon TimToady: tried your panic code, got the message Unhandled exception: Unable to resolve method panic in class Grammar 16:34
:(
16:36 daxim_ left 16:40 fridim_ joined 16:43 REPLeffect joined
moritz panic isn't built-in 16:49
colomon moritz: ah 16:59
btw, TimToady++ masak++ PerlJam++ # not going into a near infinite backtracking loop whenever an error is hit is a HUGE improvement in the ABC parser.
16:59 am0c_ joined 17:00 PacoAir joined 17:03 cognominal_ joined
dalek ok: 7ca6798 | (Przemysław Wesołek)++ | src/ (2 files):
Removed underscores from A<>'s and Z<>'s. Closes #68.
17:06
17:06 cognominal left
kresike bye all 17:14
17:14 kresike left 17:15 wolfman2000 joined 17:19 estrabd joined
colomon ooo, I think switching from regex to token has made the ABC code about 5% faster! 17:19
felher What does the 'Q' in QAST stand for? 17:21
17:21 NamelessTee joined
PerlJam P++ 17:21
felher Okay, what did the P stand for? :D 17:22
tadzik Parrot, Perl/ 17:23
felher okay, thnx u2
tadzik yw
17:25 alester left 17:39 stol_ left 17:45 uniejo joined, uniejo left 17:47 cognominal___ joined 17:48 fridim_ left 17:51 cognominal_ left
masak <TimToady> unlike Hitler, COBOL didn't kill COBOL. 17:52
masak pictures Hitler killing COBOL
sorear o/ masak
masak sorear! \o/ 17:53
felher: the "P" always stands for "Patrick Michaud" :P
felher: the gradual spread of the letter "Q" in the entire toolchain is a reflection on the fact that Patrick Michaud is upgrading from his ordinary, impressive self to a superhuman cyborg with capabilities that defy physics as we know it. 17:55
or so I've heard.
felher Of course! I should have known that! :) 17:56
TimToady masak: hearing voices now, are we?
masak TimToady: it would be quite awesome to be hearing voices, if the voices were really into strong AI and a hard Singularity takeoff. 18:00
TimToady you mean like Kurzweil hears voices? :) 18:01
typical pianist, thinks the piano's voice is a substitute for all other voices... 18:03
ショッピング & 18:04
18:04 fhelmberger left
masak kana read that without augmented tooling :) 18:05
phenny: jp en "ショッピング"? 18:06
phenny masak: "Shopping" (ja to en, translate.google.com)
18:06 am0c left
masak shuo2 ping4 :) 18:06
adu TimToady: I would have said kaitoki 18:07
18:07 cognominal___ left 18:08 adu left, cognominal joined, am0c_ left 18:22 tokuhirom left, tokuhirom joined
[Coke] backscrolls, and suggests: Quantum Michuad. 18:24
18:25 snearch joined
masak that does sound like a superhero. a bit like Dr Manhattan. 18:26
PerlJam Coke++
18:27 tokuhirom left
masak Quantum Abstract Syntax Tree works quite well, too. practically a necessity if your language supports junctions :P 18:29
18:29 stol_ joined 18:31 REPLeffect left, REPLeffect joined
colomon But Quantum Abstract Syntax Tree does *not* sound like a superhero. :( 18:32
PerlJam As long as we don't start having files with a .qm suffix ...
masak no, only Quantum Michaud is allowed to have those. 18:33
colomon: maybe we should start referring to them as Awesome Syntax Trees instead. I never quite got what's so abstract about them -- I think the "abstract" was put in to make it a TLA. 18:34
colomon Quantum Awesome is a Good Combination. :) 18:35
PerlJam masak: well, they are a little more abstract than the definite syntax you used to write the code in the first place.
(just maybe not abstract in the right direction for you?)
masak probably not.
ASTs feel quite concrete to me. 18:36
colomon diakopter++ 18:39
diakopter for #perl6 perusal: host02.appflux.net/p6/Perl_6_S05_Sy..._Sheet.pdf with fixes from TimToady++ & sorear++ 18:40
18:40 snearch left
colomon cause and effect reversed! ;) 18:41
I'm tempted to print that out and hang it on my wall
sorear cause and effect reversed? 18:42
masak colomon upping diakopter's karma before diakopter's announcement on-channel.
colomon what masak says. 18:43
PerlJam diakopter++ nice
masak I think there's a simple explanation, such as colomon-diakopter privmsg.
colomon indeed. :)
masak no reason to bring in heavier hypotheses than that... oh, nice ;)
PerlJam diakopter: the goal-matcher description confuses me. 18:44
masak in related news, I think Bell's theorem is rather nice. :)
18:44 Chillance joined, REPLeffect left
dalek mentaler: 2411e04 | tadzik++ | / (2 files):
Sort modules by workingness
18:44
18:45 am0c^ left, REPLeffect joined
colomon wait, actually lue's presence for so long disrupted #perl6's causality. yeah, that's the ticket... 18:45
diakopter PerlJam: any suggestions? maybe specify "ternary"?
sorear masak: I think it's amazing how many people have problems with Bell's ...
PerlJam diakopter: maybe 18:46
masak sorear: Aaronson had a *really* nice, short explanation in a blog post comment of his. I'll see if I can find it. 18:47
PerlJam diakopter: what works in my head is a template A ~ B C and then talk about A B and C
masak it boils Bell's down to a level where it's hard to see any alternative to it.
sorear masak: yes, I am in part referring to Aaronson's last couple of comments 18:48
diakopter oh, oops, I got the Nth thing wrong. fixing.
masak ah, here: www.scottaaronson.com/blog/?p=993#comment-43869
sorear: I find those two threads fascinating. not because it's hard to take sides, but because the topics are intriguing. 18:49
sorear you actually read that comment thread?
18:49 snearch joined
masak about half of it. 18:50
I am quite interested in QM and QC.
PerlJam quantum mechanics and quality control? :) 18:53
masak Quantum Computing ;)
and I'm reluctantly fascinated with debates in which scientists deconstruct kooks.
one nice realization of those threads was "if there's no way to express your physical theory as a computer simulation, then that probably means that it's not a physical theory". 18:55
diakopter PerlJam: see if you like the next version 18:56
kubrat jnthn: masak: kudos for the amazing p6 tutorial at the IT meetup last week 18:58
you've won yourself a new recruit ;) 18:59
masak kubrat: \o/
kubrat: it was our pleasure. so nice to make a tutorial outside of the Perl bubble for once. 19:00
we do feel that we have something amazing with Perl 6. the general sense of the audience at the IT meetup was such that it confirmed that feeling. that makes us come back with renewed energy, ready to redouble our efforts. 19:01
PerlJam diakopter: better I think. 19:04
diakopter: your original version of the nth() forms would also have worked btw. :1st or :st(1) or :st(5) or :nth(2) or :5th or any of the original forms or the new forms. 19:07
diakopter: (though, you have "N:st" rather than ":Nst")
19:10 stephenlb joined
diakopter oops 19:10
19:14 Facefox left 19:16 Facefox joined, Facefox left 19:17 Facefox joined 19:25 lexu joined 19:26 brrt joined 19:28 pernatiy_ joined, benabik left 19:29 pernatiy left
masak TimToady: S05 refers to "eager" but not "frugal". (discovered by diakopter++) mind if I make "frugal" the primary term in S05, while also referring to "eager"? 19:30
further digging reveals that "minimal" is actually the predominant term in S05 for that kind of backtracking. 19:31
PerlJam masak: ask forgiveness. :) I like the term "frugal" too 19:32
masak makes it so
19:33 birdwindupbird joined
diakopter I prefer "minimal" 19:34
PerlJam diakopter: you like the dichotomy between "maximal" and "minimal" ?
masak if greedy matching were ever referred to as "maximal", I might prefer "minimal" too. 19:35
19:35 lexu left
diakopter yeah.. I can't actually make the greedy/frugal dichotomy work as a metaphor in my head. 19:35
I can see how greedy means taking as much as possible
19:36 brrt left
dalek ecs: cac7e30 | masak++ | S05-regex.pod:
[S05] prefer term "frugal" to "eager"/"minimal"
19:36
diakopter but I don't see how frugal can mean take as little as possible
19:36 REPLeffect left
masak diakopter: maybe the resource being spent is $/ allocation memory :) 19:36
diakopter eager is in there 3 other times
masak yes, but for other things. 19:37
as in, eager list context.
19:37 REPLeffect joined
diakopter oh. 19:38
what is eager list context
PerlJam diametric opposite of lazy list context ;) 19:39
masak nah, it's more of a sliding scale... :)
diakopter I don't see how eager meant frugal, then, in what masak replaced
masak lazy -- egaer -- hyper -- race
eager* 19:40
PerlJam diakopter: it didn't.
masak diakopter: sorry, I was unclear. I replaced those where "eager" meant "frugal". I kept those where it meant "non-lazy".
diakopter masak: maximal is used in S05, right before one of the minimals you replaced
masak oh dang. 19:41
shoulda checked that.
5 uses of "greedy", 2 uses of "maximal" (but only one of them in context)
diakopter PerlJam: why did masak replace eager with frugal, then? 19:42
was eager previously misused there? 19:43
dalek ecs: 68718e6 | masak++ | S05-regex.pod:
[S05] ss/<(maximal)> matching/greedy/

Now in a new, even more consistent flavor!
PerlJam diakopter: I think so. It doesn't make enough sense to me in that paragraph.
masak which line are you referring to? 19:44
diakopter the one where you replaced eager with frugal
cognominal I have written a nice routine to debug a match but it fails when I replace the block 'for' with a postfix one : gist.github.com/2777326
diakopter To force the preceding atom..
cognominal do I miss something or is this a bug? 19:45
s/fails/does not behave as the pristine version/
masak cognominal: sounds like you're onto something. 19:46
PerlJam diakopter: it's "eager" in terms of success. As soon as the first match is found, it eagerly stops. That's partly why like talking in terms of greedy/frugal since those terms are about consumption
masak cognominal: would appreciate a golfed version, svp.
cognominal also, the routine could make it into Match.pm with a more appropriate name 19:47
diakopter PerlJam: I suppose I can see that. 19:48
but it's confusing because eager can also be taken to mean eagerly take as much it can
someone would have to know about eager list context to get the reference, in other words. like I didn't. 19:49
I mean, I'd heard of eager list context, I've just never really learned it.
masak that's yet another reason not to refer to both the list context and the quantifier backtracking mode as "eager". 19:52
one means "take as little as you can at first", the other mean "take it all".
diakopter so you're saying you're reversing your commit? 19:53
I'm cornfused :/
PerlJam no, no, I think his commit makes the confusing less so
masak I removed one of the senses of "eager" from S05, so the current state should be less confusing. 19:54
PerlJam Though, I suppose we could remove the part of the sentence where it mentions "eager matching"
masak well, the reason I put that in is that some parts of the industry use the term "eager". 19:55
and we're in a minority to call it "frugal".
20:00 benabik joined
cognominal what is the rakudo flag to disable optimization? 20:00
tadzik -O 0 maybe 20:01
it's not in --help thoug 20:02
cognominal --optimize=0 according to src/Perl6/Optimizer.pm 20:03
masak should probably be in --help 20:04
masak looks into it
cognominal too bad, my code work the same unoptimized. I can't blame jonthn :) 20:05
masak heh :) 20:06
PerlJam Hrm. does --target=PAST not work anymore? 20:09
masak you might get different results for --target=PAST and --target=past 20:10
but I almost never get anything sensible out of those.
20:15 birdwindupbird left 20:20 mikemol_ left, jqb left 20:21 mikemol left 20:25 sporous left
PerlJam cognominal: what's the difference in behaviors between the regular for loop and the statement modifier version? 20:25
20:25 sporous joined
cognominal apparently it exits the loop after the first element. 20:27
timotimo how can i yadayadayada a method of a class and implement it later? i tried this:
dalek kudo/nom: 3aba24b | masak++ | src/Perl6/Compiler.nqp:
[Perl6::Compiler] add --help line about --optimize

  tadzik++, cognominal++, for discovering that it was missing, and
what it should be, respectively.
timotimo r: class A { method foo($a) { ... } }; method A::foo($a) { say "hello"; }; A().foo(1);
p6eval rakudo a90efc: OUTPUT«Useless declaration of a has-scoped method in mainline␤No such method 'A' for invocant of type 'Parcel'␤ in <anon> at src/gen/BOOTSTRAP.pm:804␤ in <anon> at src/gen/BOOTSTRAP.pm:801␤ in any <anon> at src/gen/BOOTSTRAP.pm:796␤ in block <anon> at /tmp/85FdivhewN:…
20:28 kaare_ left
cognominal Perljam, but I can't golf the conditions to trigger it 20:28
r: my $s; my $tits = '00' ~~ /(.)(.)/; $s ~= $_.key if $_.value ~~ Match for $tits.caps; say $s
p6eval rakudo a90efc: OUTPUT«01␤»
cognominal this one works correctly
tadzik might be worth to note what's the default level
dalek kudo/nom: 5e7559a | masak++ | src/core/Match.pm:
[src/core/Match.pm] changed <> to q[] in .gist

Suggested by pmichaud++. It may or may not be worth it to also escape all ']' in the matched text itself.
kudo/nom: 7f40758 | masak++ | src/core/Match.pm:
[src/core/Match.pm] removed root-level '=> '
20:29 bluescreen10 left
dalek kudo/nom: 038718f | masak++ | docs/ChangeLog:
[docs/ChangeLog] mention Match.gist
20:29
cognominal but I am proud, of the call $tits.caps 20:30
masak (that was the match-gist-fixup branch rebased/merged onto nom. we said we'd do that after release. feel free to test it a little if you like.)
diakopter cognominal: what
's the one that doens't work
20:31 stol_ left
cognominal diakopter, see gist.github.com/2777326 with a non trivial match 20:32
20:32 REPLeffect left
PerlJam cognominal: Try: do { $s ~= sprint $_.value, $_.key, $indent++ } if $_.value ~~ Match for $m.caps; 20:32
20:33 REPLeffect joined
PerlJam oh, that probably won't work. 20:34
cognominal Unsupported use of do...for; in Perl 6 please use repeat...for
PerlJam Hrm. 20:35
masak why are you programming by proxy? can't you just use p6eval?
diakopter r: my $s; my $tits = '00' ~~ /(.)(.)/; for $tits.caps { $s ~= $_.key if $_.value ~~ Match }; say $s 20:36
p6eval rakudo a90efc: OUTPUT«01␤»
20:38 Facefox left
diakopter cognominal: what's the error with a non-trivial Match 20:40
20:40 countley joined 20:41 tyatpi left
diakopter or wrong output 20:41
20:41 Facefox joined 20:42 bluescreen10 joined
[Coke] kubrat++ # welcome aboard. 20:45
jnthn morning 20:46
phenny jnthn: 10:21Z <sisar> tell jnthn i did obtain a backtrace (gist.github.com/2774389). Also see my comments on the gist for how I obtained it. Most importantly, I have no idea how the process works, I just worked on my intuition . So if you want me to rerun in some other way, do let me know.
jnthn er
phenny jnthn: 10:30Z <sisar> tell jnthn moritz++ gave me the idea for --ll-exception, so here is the gist for `perl6 --ll-exception /home/siddhant/.perl6/bin/panda install LWP::Simple` : gist.github.com/2774471.
jnthn evening
...
Yeah, I'm tired. :)
masak jnthn! \o/
20:46 stephenlb left 20:47 stephenlb joined
diakopter cognominal: example of a non-trivial match? 20:47
sprint ("FOO" ~~ /(F(O(O)))/) seems to do the right thing
20:48 stephenlb left, stephenlb joined
masak why are you discussing program input by proxy? :) 20:49
cognominal diakopter I pushed my code into github.com/cognominal/p6peg ; perl6 Grammar.pm works correctly except with the postifx 'for'
20:50 Facefox left
cognominal well correctly, meaning it print what is expected but my grammar is still wrong. I wrote sprint in the process of debugging it. 20:50
20:50 wolfman2000 left
diakopter haha; expletives 20:50
cognominal masak, don't blame diakopter but me for not providing all the context. 20:51
masak just pointing out that you're doing this the hard way. :)
golfing a bug should be a speed dive towards minimal program and minimal input. 20:52
PerlJam cognominal: gist.github.com/2777720
20:52 muixirt joined 20:53 Facefox joined, Facefox left
PerlJam If jnthn or someone who can explain what's going on will vet the patch, I'll commit it :) 20:53
20:53 REPLeffect left, Facefox joined, Facefox left
diakopter it's not supposed to indent like that 20:54
so another thing is not working as intended
cognominal Perljam: I added the expletives because when parsing a grammar with itself, I got confused between the parser and the parsee
PerlJam well, at least it doesn't just stop at the first one :) 20:55
20:55 Facefox joined, Facefox left
diakopter the $indent++ needs pulled out of the for loop to work as it seems to be intended 20:56
PerlJam oh, the identation is a bug in the original co
er, cod
eCODE!
blah
skids .o0(grammar YosemiteSam)
20:56 REPLeffect joined
cognominal perljam: sorry I pushed with the two loop one in another 20:56
jnthn PerlJam: The patch looks a lot less fishy than your typing.
muixirt hi, bug #108508 seems to be fixed in latest rakudo star 20:57
20:57 Facefox joined
diakopter cognominal: why regexes and not tokens and rules? ooc 20:59
cognominal diakopter. yes, the indent code is wrong.
PerlJam cognominal: reload gist.github.com/2777720 for the bug fixed output
cognominal that was a blind attempt at fixing code. This did not change anything.
jnthn muixirt: Thanks; I've tagged that ticket testneeded. 21:01
diakopter cognominal: typo classChaRange in regex class 21:03
cognominal I can I allow you tu push into my depot? 21:05
*How can I
21:06 skids left
cognominal jnthn, diakopter, perljam. you can push into the p6peg depot 21:07
21:08 REPLeffect left, REPLeffect joined
PerlJam jnthn: I really have no idea what to put for a commit message on that patch. "Wrap a lexical environment around the target statement of a for modifier" ??? something like that? 21:09
I only have mild guesses without much definite knowledge
jnthn PerlJam: You're just making it a closure to pass to map 21:10
PerlJam: We normally pass closures to map so that makes sense.
PerlJam so, if it wasn't a closure before, how did statement_mod_for even work? 21:11
jnthn PerlJam: Incorrectly in some cases :) 21:12
sjn o/
jnthn sjn! \o/
PerlJam: I think it didn't capture the lexical environment properly 21:13
sjn is looking for our Polish friends who haven't sent their reimbursement stuff after the hackathon
jnthn And cognominal's case exposed it
sjn tadzik: you're hereby reminded again :)
cognominal I don't think that's the first time I got bitten by that bug. So thx very much. 21:14
dalek kudo/nom: 558fd04 | duff++ | src/Perl6/Actions.pm:
Make statement into a closure for map
sjn how did the "leave a message to someone who's not here" bot work again?
PerlJam phenny: tell sjn to do as I do 21:16
phenny PerlJam: I'll pass that on when sjn is around.
sjn hi! 21:17
phenny sjn: 21:16Z <PerlJam> tell sjn to do as I do
sjn yay!
PerlJam afk
21:18 wolfman2000 joined
sjn phenny: tell sergot Send sjn the reimbursement receipts! :) 21:18
phenny sjn: I'll pass that on when sergot is around.
tadzik sjn: yeah, I know. WizzAir's still blind to emails, there are plans to just call them and lay stuff out 21:21
21:21 bluescreen10 left
sjn tadzik: ok, then send me what you have in Polish :) 21:21
and put some red circles around the important numbers 21:22
tadzik hehe
where do I find this now... 21:23
21:28 cognominal_ joined 21:32 cognominal left 21:38 alester joined 21:40 countley left 21:47 muixirt left, whiteknight joined 21:48 whiteknight is now known as Guest36290 21:49 stol_ joined
masak 'night, #perl6 21:50
tadzik g'night
cognominal_ 'nigh 21:51
'night!
21:53 lestrrat left, tyatpi joined 21:54 lestrrat joined 21:59 thou left 22:15 PacoAir left, replsos joined 22:16 shinobicl left 22:18 REPLeffect left 22:20 PZt left, PZt joined
jnthn sleep & 22:25
22:25 thou joined, thou left
sorear wanders back 22:26
22:27 thou joined 22:28 thou left 22:32 REPLeffect joined 22:33 benabik left 22:36 Facefox left 22:37 Facefox joined, Facefox left 22:39 Facefox joined, Chillance left, Chillance joined 22:40 stol__ joined, stol_ left, skids joined 22:43 replsos_ joined 22:45 replsos left, replsos_ is now known as replsos 22:51 NamelessTee left 22:52 Khisanth left 23:01 tokuhirom joined 23:04 stol__ left 23:06 sisar left, Khisanth joined 23:11 sisar joined 23:15 replsos_ joined 23:17 replsos left, replsos_ is now known as replsos 23:21 snearch left 23:22 Chillance left 23:36 replsos_ joined 23:38 DreamingInCode left 23:39 replsos_ left, replsos left, crazedpsyc left, jrockway left 23:42 ivan`` left 23:43 jtpalmer left 23:46 helloworld joined 23:52 DreamingInCode joined 23:53 preflex left 23:55 preflex joined 23:59 REPLeffect left