Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-01-30

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:20 japhb swarley, note that you can: /msg p6eval r: say "Hello!"
00:20 japhb That way you can have a private conversation with the bot,
00:20 japhb and only bring to the channel things you need to ask about or point out.
00:20 swarley right right, I forgot. That would be better than to do that in channel
00:21 japhb No worries.  It just gets hard to see the regular conversation between the evalbot exchanges.  :-/
00:37 timotimo r: my %h; %h<foo bar baz> = (1, 2, 3); say %h; # loving this
00:37 p6eval rakudo 92c30b: OUTPUT«("foo" => 1, "bar" => 2, "baz" => 3).hash␤»
00:39 timotimo not do terribly long until i can run the modified perl6 repl with ipythoni think
00:40 timotimo ported most of the protocol to perl6 today
00:40 timotimo but have not tested it one bit yet
00:43 timotimo currently commuting
00:43 timotimo will continue work in a few minutes:)
00:44 balders_dod joined #perl6
00:51 swarley What is the proto 'term' reserved for in the grammar? ie, that is it's intended purpose
00:53 sorear it's not reserved, you can define something named term if you want
00:53 sorear STD uses "term" for, well, terms
00:54 swarley Could you give an eample?
00:54 swarley example*
00:54 sorear https://en.wikipedia.org/wiki/Term_(logic)
00:54 sorear foo(1,2,3)
00:54 sorear 5
00:54 sorear "hello"
00:54 sorear $_
00:54 swarley Ah.
00:55 huf joined #perl6
01:05 swarley Can anyone tell me if NQP supports this regular expression, namely the `<~~>'
01:05 swarley token identifier:sym<constant> { ['::']? <+identifier_char - lower - digit> <identifier_char>* [<~~>]?}
01:06 swarley Since, <~~> is recursive match, correct?
01:06 swarley r: say "hi" ~~ /.<~~>/
01:07 jlaire joined #perl6
01:09 dalek joined #perl6
01:09 sergot joined #perl6
01:09 Util joined #perl6
01:09 timotimo swarley: you do know you can just REPL nqp?
01:09 PerlJam joined #perl6
01:09 masak joined #perl6
01:09 timotimo nqp: nqp::say(nqp::join(",", [1, 2, 3, 4]));
01:09 [Coke] joined #perl6
01:10 tadzik joined #perl6
01:10 Juerd joined #perl6
01:10 pmichaud joined #perl6
01:10 * timotimo waits for p6eval to rejoin
01:10 p6eval joined #perl6
01:10 swarley nqp: say "hi" ~~ /.<~~>/
01:10 anuby joined #perl6
01:10 timotimo nqp: nqp::say(nqp::join(",", [1, 2, 3, 4]));
01:11 p6eval nqp: OUTPUT«Confused at line 2, near "say \"hi\" ~"␤current instr.: 'panic' pc 13207 (src/stage2/gen/NQPHLL.pir:4680) (src/stage2/gen/NQPHLL.pm:328)␤»
01:11 p6eval nqp: OUTPUT«1,2,3,4␤»
01:11 swarley nqp: say "hello test" ~~ /.[<~~>]*/
01:11 p6eval nqp: OUTPUT«Confused at line 2, near "say \"hello"␤current instr.: 'panic' pc 13207 (src/stage2/gen/NQPHLL.pir:4680) (src/stage2/gen/NQPHLL.pm:328)␤»
01:11 swarley r: say "hello test" ~~ /.[<~~>]*/
01:11 p6eval rakudo 92c30b: OUTPUT«「hello test」␤␤»
01:11 timotimo swarley: nqp requires parenthesis for all function and method calls
01:11 swarley oh
01:12 hugme joined #perl6
01:12 swarley nqp: say("hello test" ~~ /.[<~~>]*/)
01:12 p6eval nqp: OUTPUT«Unrecognized regex metacharacter < (must be quoted to match literally) at line 2, near "<~~>]*/)"␤current instr.: 'panic' pc 13207 (src/stage2/gen/NQPHLL.pir:4680) (src/stage2/gen/NQPHLL.pm:328)␤»
01:12 timotimo there you go :)
01:12 timotimo what are you trying to do here?
01:12 swarley token identifier:sym<constant> { ['::']? <+identifier_char - lower - digit> <identifier_char>* [<~~>]?}
01:12 swarley ^ That
01:12 timotimo i don't even know what <~~> means
01:12 swarley it's recursive matching
01:12 swarley I believe
01:12 timotimo oh, matches the same thing again?
01:12 swarley Yes
01:13 swarley I was aiming for
01:13 swarley ::Identifier::Path::That::Repeats
01:13 swarley Plus or minus initial double colon
01:15 benabik joined #perl6
01:16 swarley nqp: say("This::Is::An::Identifier" ~~ /['::']? <+alnum - lower - digit> <alnum>* [ '::' <~~> ]*/)
01:16 p6eval nqp: OUTPUT«Unrecognized regex metacharacter < (must be quoted to match literally) at line 2, near " '::' <~~>"␤current instr.: 'panic' pc 13207 (src/stage2/gen/NQPHLL.pir:4680) (src/stage2/gen/NQPHLL.pm:328)␤»
01:16 swarley r: say("This::Is::An::Identifier" ~~ /['::']? <+alnum - lower - digit> <alnum>* [ '::' <~~> ]*/)
01:16 p6eval rakudo 92c30b: OUTPUT«「This::Is::An::Identifier」␤ alnum => 「h」␤ alnum => 「i」␤ alnum => 「s」␤␤»
01:17 swarley Blah. so it doesn't work where I need it to :/
01:19 timotimo i wouldn't do that with a recursion
01:19 timotimo look at how longname is defined in perl6's grammar
01:20 swarley I could do it a different way pretty easily
01:20 swarley I just wanted to try out a cool feature
01:20 timotimo ah d)
01:20 timotimo :)
01:44 xinming joined #perl6
01:54 skids Is there a jan star rc to test yet?
01:55 timotimo hasn't it been released already?
01:55 timotimo oh, it hasn't!
01:55 timotimo whoops.
01:56 japhb That feels like an oops, yes.
01:56 timotimo totally passed me by
01:57 timotimo well, we still have until tomorrow!
01:57 * timotimo goes to bed
01:57 skids good thing I said something I guess :-)
01:58 timotimo skids++
01:58 timotimo i suppose i'm too comfortable with the stability of nom
02:01 * skids wonders whether star will eventually bundle the jvm impl
02:03 Vlavv joined #perl6
02:04 timotimo don't see why not
02:18 Khisanth joined #perl6
03:05 Khisanth joined #perl6
03:09 kaleem joined #perl6
03:27 sevin joined #perl6
03:43 nnunley joined #perl6
04:12 preflex_ joined #perl6
04:35 mehwork joined #perl6
04:53 Targen joined #perl6
05:30 sevin joined #perl6
05:44 slavik1 joined #perl6
05:49 broquaint joined #perl6
06:36 ved joined #perl6
06:37 ved left #perl6
06:39 sevin joined #perl6
06:59 moritz \o
07:00 arnsholt o/
07:05 diakopter howdy
07:07 sorear o/
07:09 sevin_ joined #perl6
07:11 dalek rakudo/nom: b3fc32a | moritz++ | docs/ChangeLog:
07:11 dalek rakudo/nom: update ChangeLog
07:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b3fc32ad0c
07:14 tadzik good morning #perl6
07:14 sorear good morning moritz
07:27 PacoAir joined #perl6
07:53 jnthn morning o/
07:53 diakopter o/
07:53 nwc10 evidence points to it being so
07:53 quester joined #perl6
07:53 diakopter 7 more minutes until morning
07:54 nwc10 o/
07:54 nwc10 (should have done that for alignment)
07:58 jnthn Final day of teaching. Well, until Monday. :)
07:59 arnsholt Congrats =)
07:59 jnthn Yeah. Gotta worry about a few $dayjob bits tomorrow, but Friday is looking tuitful :)
07:59 arnsholt I've just fired off the testing run for a better sized P6int as well =)
08:00 jnthn arnsholt: The get_attribute_stable thing ain't quite what I had in mind...I was thinking more that we push the decision making entirely into the REPR and just give it a full sized slot to read from when binding and write into when getting.
08:00 arnsholt Thinking too much and too hard about pointers makes my brain all mushy, but your objection last night was a good one
08:01 jnthn In that sense, all the REPR functions dealing with native types are void.
08:01 jnthn And just deal with a discriminated union
08:01 jnthn That's what I have on the JVM except there's no union types...
08:02 arnsholt Ok, so get_attribute_ref and get_attribute_boxed become get_attribute, which returns a struct { union {}; INTVAL type }
08:02 jnthn That's what I was trying to get at with "do soemthing like I did on JVM" anyway. It puts the responsibility for doing the full-width / sized conversion inside the REPR
08:02 arnsholt ... kind of thing (premature CR)
08:02 jnthn arnsholt: You could have it return it I guess.
08:02 jnthn oops, gotta start the lecture
08:03 jnthn bbiab :)
08:03 arnsholt TTYL
08:03 arnsholt I should probably see how it's implemented for the JVM in the meantime
08:14 araujo joined #perl6
08:19 FROGGS joined #perl6
08:36 hoelzro I have messages!
08:36 phenny hoelzro: 29 Jan 20:23Z <timotimo> tell hoelzro if you had pushed the first work on perl6 for pygments to pygments-master, instacode would have perl6 support already :D
08:36 hoelzro (also, good morning)
08:52 quester left #perl6
08:59 GlitchMr I wonder when masak will make his blog post about first task...
08:59 erkan joined #perl6
08:59 erkan joined #perl6
09:01 GlitchMr I'm really impatient, I know.
09:03 moritz best not to wonder, but simply ask him
09:04 GlitchMr Perhaps...
09:19 GlitchMr .tell masak https://github.com/masak/zarah/blob/master/zarah.pl#L1069 - it should be m[\A/me\s+(.*)]
09:20 GlitchMr phenny: tell masak https://github.com/masak/zarah/blob/master/zarah.pl#L1069 - it should be m[\A/me\s+(.*)]
09:20 phenny GlitchMr: I'll pass that on when masak is around.
09:25 sqirrel joined #perl6
09:30 fhelmberger joined #perl6
09:34 dakkar joined #perl6
09:43 Psyche^ joined #perl6
09:46 arnsholt Teaching is hard, and teaching basic programming is extremely hard
09:53 moritz aye
09:53 moritz because you have to teach a whole different way of thinking along with teaching syntax and semantics
09:55 bonsaikitten and school rarely teaches thinking ;)
09:55 * jnthn just taught using a regex to tokenize and a stack to build up nested structure :)
09:55 SmokeMachine joined #perl6
09:55 jnthn Everybody survived! ;)
09:56 arnsholt Not bad!
09:56 moritz jnthn: RPN style?
09:57 arnsholt I tried to explain how when you have "def foo(n): ..." in Python, n will be whatever you put inside the parens when you did "foo(...)" =)
09:57 jnthn moritz: Actually just turning a wiki markup language into a simple tree
09:58 jnthn But I did point out that a grammar and something that compiles/runs it is much more manageable once you do something non-trivial.
09:58 jnthn Also that recursive descent is really tokenize + stack, it's just that you use the call stack as your structure stack :)
10:02 diakopter jnthn: do you ever tell your students you hang out here?
10:02 diakopter so they can heckle you? :D
10:02 jnthn diakopter: I mention that I work on an open source compiler project. Many ask me about it over lunch :)
10:02 jnthn I mention I'm a Perl guy, amongst many other things, in the obligatory "about the teacher" sldie.
10:03 jnthn So yeah, by the end the more curious folks tend to know I hack on a Perl 6 compiler :)
10:03 diakopter or five
10:04 jnthn To be honest, I've yet to get a negative reaction.
10:04 diakopter *five compilers
10:05 jnthn In reality, many .Net folks are fairly isolated in .Net land in their day to day work.
10:05 moritz fwiw, some folks I've talked to think that Perl 6 isn't a good idea, but none said anything negative about me working on it (nor on any of my open source projects)
10:06 diakopter s/.Net/{insert language or environment or platform here }/g
10:06 jnthn *nod*
10:07 jnthn In my experience of attending conferences so far, the most crap I get about Perl 6 is at Perl confs and the least is at those where most folks are doing .Net, Java, etc and general open source ones are somewhere int he middle.
10:08 moritz http://www.reddit.com/r/programming/comments/17j839/curiosity_the_gnu_foundation_does_not_consider/c8601tf # about JSON's "don't use for evil" clause in the license
10:09 jnthn My Perl 6 talk at We Actually Build Stuff, which had people doing all sorts of stuff in loads of languages many including .Net and Java, got a positive reaction and a lot of genuine curiosity and interest.
10:10 * jnthn pointed some of the .Net folks to Niecza and sadly didn't have anywhere to point the Java folks
10:10 jnthn But soon.... ;-)
10:10 arnsholt That's about to change though =D
10:11 arnsholt Yeah, what you said =)
10:20 jnthn lunch &
10:26 arnsholt jnthn: I've looked a bit at nqp-jvm, and I think I see what you're going for
10:26 arnsholt I'll see if I can't hack up something similar soonish
10:48 cog joined #perl6
11:05 Su-Shee_ joined #perl6
11:06 jnthn arnsholt: Yeah. It can be done in C on the stack (pass the address) and with a union rather than with a bunch of fields on some other persistent object.
11:07 nwc10 I get these errors when compiling NQP using gcc:
11:07 nwc10 KnowHOWREPR.c:87: warning: 'spec.bits' is used uninitialized in this function
11:07 nwc10 P6opaque.c:1067: warning: 'spec.bits' is used uninitialized in this function
11:07 nwc10 HashAttrStore.c:111: warning: 'spec.bits' is used uninitialized in this function
11:07 nwc10 Uninstantiable.c:67: warning: 'spec.bits' is used uninitialized in this function
11:07 nwc10 er, warnings.
11:07 clkao joined #perl6
11:07 diakopter I'll spec your bits
11:07 nwc10 (as well as the grumble about returning an aggregate, which I think is legacy, in that "You can't do that in K&R"
11:08 arnsholt nwc10: Are you on master, or on my in-progress branch?
11:08 nwc10 master
11:08 jnthn The returning an aggregate thing ain't going away, but the other warning sounds worth fixing :)
11:08 arnsholt In that case it's not really a problem
11:08 nwc10 I think it's a valid warning - the structure in question is in an auto variable
11:08 nwc10 so that part of the bitfield is (technically) not initialised
11:08 arnsholt The bits field isn't used in master yet, and it's fixed in my branch
11:08 nwc10 arnsholt: ah OK cool
11:09 nwc10 I'm glad to know that you're on top of it
11:13 arnsholt Hmm, or at least I think it's not a problem in master
11:14 masak good afternoon, #perl6
11:14 phenny masak: 09:20Z <GlitchMr> tell masak https://github.com/masak/zarah/blob/master/zarah.pl#L1069 - it should be m[\A/me\s+(.*)]
11:14 arnsholt Come to think of it, I'm not entirely sure how P6opaque does inlining of natives. It might do weird stuff there, actually
11:14 masak GlitchMr: yes, you are probably right. :)
11:14 masak rn: my $x = 42; my $y = 5 but role { method foo { say $x } }; $y.foo
11:14 p6eval niecza v24-18-gaf64300: OUTPUT«42␤»
11:14 p6eval ..rakudo b3fc32: OUTPUT«Any()␤»
11:15 * masak submits rakudobug
11:15 jnthn I don't think I can fix that. :/
11:15 GlitchMr masak, also, when you will make a blog article about first task?
11:15 jnthn Not in a sensible way.
11:15 jnthn If I fix it, it will only be more surprising when you try to do it as if you're getting a fresh role each time.
11:15 jnthn You aren't.
11:15 masak jnthn: I have a really short and nice solution to the Eratosthenes thing, but it fails on the above bit.
11:16 jnthn masak: And...how many times do you mix the role in?
11:16 masak jnthn: many.
11:16 jnthn And do you ever do it with different $x's?
11:16 diakopter r: role { } but role { }
11:16 p6eval rakudo b3fc32: OUTPUT«No such method 'mixin' for invocant of type 'Perl6::Metamodel::ParametricRoleHOW'␤  in sub infix:<but> at src/gen/CORE.setting:12486␤  in block  at /tmp/rJ30yjK3Q5:1␤␤»
11:16 masak always.
11:16 jnthn masak: Right, even if I make that say 42, it won't fix the other thing.
11:17 masak I'm not sure I understand but I'll take your word for it that there's a tradeoff in there.
11:17 jnthn masak: Your expectation is that we re-closure the methods every time
11:17 kaleem joined #perl6
11:17 masak yeah.
11:17 jnthn masak: If you reclosure the methods, you need a fresh meta-object and thus a fresh type.;
11:17 masak yeah.
11:17 masak in this particular case, that's my expectation.
11:17 jnthn To make it work, you're asking for a fresh type every time you do it.
11:17 masak yeah.
11:17 jnthn Do you knwo how much memory you're going to use?
11:17 masak that was the furthest from my mind with this particular task :)
11:18 masak it won't work unless there's a fresh type each time :)
11:18 jnthn Even *if* I can make it work, it will be (a) slow and (b) memory costly.
11:18 masak jnthn: do you know what task I am solving? :)
11:18 masak it's not a production thing.
11:19 masak I'd better gist the code for you.
11:19 jnthn masak: No, I'm just saying it's a bad idea in general.
11:19 masak sure.
11:19 diakopter r: 1 but role { die }
11:19 p6eval rakudo b3fc32: OUTPUT«Could not instantiate role '<anon>':␤␤  in any specialize at src/gen/Metamodel.pm:1913␤  in  at src/gen/Metamodel.pm:2330␤  in  at src/gen/Metamodel.pm:2324␤  in any compose at src/gen/Metamodel.pm:2323␤  in any mixin at src/gen/Metamodel.pm:1076␤  in sub infix:<bu…
11:19 masak I think we agree on that.
11:20 diakopter r: 1 but role { ... }
11:20 p6eval rakudo b3fc32: OUTPUT«Could not instantiate role '<anon>':␤invoke() not implemented in class 'NQPMu'␤  in any specialize at src/gen/Metamodel.pm:1913␤  in  at src/gen/Metamodel.pm:2330␤  in  at src/gen/Metamodel.pm:2324␤  in any compose at src/gen/Metamodel.pm:2323␤  in any mixin at src…
11:20 masak jnthn: https://gist.github.com/4672575
11:20 masak jnthn: look how nice and small it is :)
11:21 masak jnthn: I'm currently mulling over what I can do to get a new type each time.
11:21 masak suggestions appreciated.
11:21 diakopter eval?
11:21 masak ooh
11:21 jnthn masak: You can write a parametric role
11:21 masak yeah, was pondering that.
11:21 jnthn masak: and mix it in with different paramters each time.
11:22 * masak tries
11:22 jnthn I'm just wary of constructions that are convenient but very hard to do much about optimization wise.
11:23 jnthn We already have a lot of hard to optimize but cute things.
11:24 masak aye.
11:25 masak I'm getting it to run now, but unless "4" became a prime recently, there's a bug somewhere.
11:25 jnthn BREAKING NEWS
11:25 jnthn :P
11:26 moritz BREAKING BUG
11:28 masak jnthn: I just had hilarious mental image of you as a newscaster, reporting in a deadpan voice that 4, as of this morning, is prime.
11:28 tadzik it's a square of prime, I'll allow it ;)
11:29 nwc10 this isprime is only a probabalistic check, isn't it? So, odds are, sometimes 4 will be prime, right? :-)
11:31 diakopter r: role B[::A] { };
11:31 p6eval rakudo b3fc32: OUTPUT«Could not instantiate role 'B':␤Not enough positional parameters passed; got 1 but expected 2␤current instr.: 'specialize' pc 20463 (src/gen/perl6-metamodel.pir:9493) (src/gen/Metamodel.pm:1913)␤called from Sub '' pc 26086 (src/gen/perl6-metamodel.pir:11714) (src/g…
11:33 diakopter r: role X[] { }; throw 1
11:33 p6eval rakudo b3fc32: OUTPUT«Error while constructing error object:Could not locate compile-time value for symbol Undeclared::Symbols␤===SORRY!===␤Error while compiling, type X::Undeclared::Symbols␤  post_types: Hash[0xbd9d9c4]␤  unk_types: Hash[0xbd9d9d8]␤  unk_routines: Hash[0xbd9d9ec]␤  rou…
11:33 diakopter hee
11:34 masak GlitchMr: I'm happy to hear about interest for the p6cc review posts. I didn't find any tuits for it this last weekend. hoping for the upcoming one.
11:35 diakopter r: role a[[]] { }
11:35 p6eval rakudo b3fc32: OUTPUT«Could not instantiate role 'a':␤Not enough positional parameters passed; got 1 but expected 2␤current instr.: 'specialize' pc 20463 (src/gen/perl6-metamodel.pir:9493) (src/gen/Metamodel.pm:1913)␤called from Sub '' pc 26086 (src/gen/perl6-metamodel.pir:11714) (src/g…
11:38 masak ok, I'm pretty sure what I'm seeing is a bug in callsame and wrapping roles.
11:38 masak let me try and recreate it.
11:40 diakopter r: role foo { @bar } # masak...
11:40 p6eval rakudo b3fc32: OUTPUT«===SORRY!===␤Cannot type check against type variable $?CLASS␤»
11:40 masak diakopter: feel free to submit it.
11:41 diakopter phenny: newbug r: role foo { @bar } # ===SORRY!===␤Cannot type check against type variable $?CLASS␤
11:43 diakopter r: role bar { bar.say }
11:43 p6eval rakudo b3fc32: OUTPUT«(timeout)»
11:43 masak hm, not sure I can golf this significantly.
11:43 masak does the following look odd to anyone?
11:43 masak r: role Filter[$factor] { method next { repeat until $.value % $factor { say "R$factor, $.value"; callsame } } }; class Stream { has $.value is rw = 1; method next { say "bottom out $.value"; ++$.value }; method filter { self but Filter[$.value] } }; .next && say .value for Stream.new, *.filter ... *
11:43 kresike joined #perl6
11:43 p6eval rakudo b3fc32: OUTPUT«(timeout)bottom out 1␤2␤R2, 2␤bottom out 2␤3␤R3, 3␤R2, 3␤bottom out 3␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2, 4␤R2,…
11:43 kresike hello all you happy perl6 people
11:43 masak kresike! \o/
11:44 kresike masak, o/
11:44 masak more specifically, why, after 'bottom out 3', does it never bottom out again?
11:44 masak it's a stack of nested roles, it should bottom out all the time.
11:44 masak the fact that it doesn't feels like a mis-reference somewhere.
11:46 masak (it's a *really* sweet solution, but for this bug. it'd be cool to contribute it to RosettaCode)
11:46 masak n: role Filter[$factor] { method next { repeat until $.value % $factor { say "R$factor, $.value"; callsame } } }; class Stream { has $.value is rw = 1; method next { say "bottom out $.value"; ++$.value }; method filter { self but Filter[$.value] } }; .next && say .value for Stream.new, *.filter ... *
11:46 p6eval niecza v24-18-gaf64300: OUTPUT«(timeout)bottom out 1␤2␤R2, 2␤bottom out 2␤R3, 3␤R2, 3␤bottom out 3␤R2, 4␤bottom out 4␤R5, 5␤R3, 5␤R2, 5␤bottom out 5␤R2, 6␤bottom out 6␤R7, 7␤R5, 7␤R3, 7␤R2, 7␤bottom out 7␤R2, 8␤bottom out 8␤R3, 9␤R2, 9␤bottom out 9␤R2, 10␤bottom out 10␤R11, 11␤R7, 11␤R5…
11:47 * masak submits rakudobug
11:47 masak if I find a way to golf the thing, I'll add that to the ticket.
11:56 masak errands &
12:25 perl6examples joined #perl6
12:28 perl6examples joined #perl6
12:30 perl6examples joined #perl6
12:30 timotimo good day
12:31 perl6examples joined #perl6
12:33 perl6examples joined #perl6
12:33 grondilu Guys, I'd like to suggest an idea for a module:  an openscad wrapper (an exclusively parametric CADf language, see http://openscad.org).  I can't really see how it could be done exactly but it should not be too hard and it could be very cool as it would allow to design 3D objects entirely in Perl6).
12:35 tadzik well wolunteered :)
12:35 tadzik you can put it on the Most Wanted module list
12:36 grondilu I haven't think it through a lot, though, as it might be more subtle a problem than I thought.  Although it would be a language translation, it might still be tricky.
12:38 kaleem joined #perl6
12:43 grondilu I had the idea for such a module when writing this spaceplane:  http://www.thingiverse.com/thing:45044  At some point I wanted to use list comprenhension or at least just list concatenation but amazingly enough, you can't do that in openscad.  Unless I missed something, all arrays must be either a variable or a litteral array.  So I thought a wrapper in a higher level language should be usefull.  There already is one at least in Haskell:  http://w
12:52 jnthn If you create a package called X you hide all of the X:: exceptions so the compiler can't find an exception to throw any more.
12:53 jnthn We could just make it look in $*UNIT_OUTER rather than down the block stack.
12:53 jnthn Which will mean you never get typed exceptions when compilign the setting I guess...
12:54 colomon grondilu: once you've got OpenSCAD support done, you can probably convince me to add my STEP file parser to the p6 module list, and then plug the two together to read CSG STEP files....
12:55 grondilu colomon: sorry I know nothing about STEP
12:55 jnthn masak: iiuc, you mix in a role to the current object with a method called filter. The object already has a method filter, which mixes in Filter. Thus when you callsame you end up hitting that filter method.
12:56 jnthn Which then mixes in again.
12:56 timotimo jnthn: as long as failure to throw a typed exception will display what type the exception was and what arguments were passed, that's somewhat less-than-terrible
12:56 jnthn timotimo: It should already do that, I think.
12:57 colomon grondilu: http://en.wikipedia.org/wiki/ISO_10303
13:00 grondilu ok
13:05 grondilu The more I think about it, the more difficult it seems to be though.  For instance, say you want to generate a list of a thousand cubes.  In openscade, you'd write 'for(x=0:1000) translate([x,0,0]) cube(.5)'   How would you write that in perl6?  You can't write 'for 0 .. 1000 -> $x { Openscade.translate([$x, 0, 0])(Openscade.cube(.5)) }' because that would generate a file with one thousand lines, which is ridunculus.  I guess some syntax tree mani
13:05 masak jnthn: two things: 'callsame' is inside .next, not .filter -- the former does the delegation down wrapping layers, the latter does the wrapping. I don't see how what you say applies at all.
13:05 masak jnthn: secondly, Niecza's and Rakudo's p6eval results differ -- and I have an easier time understanding Niecza's.
13:10 grondilu Actually I wonder if that would not the same kind of programming that is needed to translate Perl6 into Parrot code.  So it's quite abstract stuff.
13:11 sqirrel joined #perl6
13:11 grondilu (which would explain why the only module I know who does that is in Haskell)
13:13 masak grondilu: yes, this sounds like an AST problem.
13:13 masak or an AST solution, rather ;)
13:14 grondilu I'm sure one of you is smart enough to make it in an hundred lines of code or so.
13:16 jnthn masak: OK. I need it golfed into something I can understand if I'm to fix it.
13:16 jnthn Or analyze it.
13:16 jnthn Where golfed doesn't have to mean "less code" just "less concepts" :)
13:18 masak yay, I got https://gist.github.com/4672575 working on Niecza! \o/
13:18 masak (which has got to count for something. but I'll still try and golf it)
13:18 masak also, it's kind of weird I needed to do that last tweak. why does comma work but not && ? :/
13:20 masak the exact same code hangs in Rakudo after outputting "2\n3\n"
13:24 jnthn Well, the delegation stuff is mostly written in NQP :)
13:25 * jnthn hopes that means somebody other than him can go hunting, rather than assuming it's "too hard" so only jnthn can fix it...
13:26 jnthn uh, deferal, nto delegation :)
13:27 jnthn The delegation stuff is mostly written in Perl 6...
13:27 arnsholt While not falling asleep last night, I had some ideas for changes to NativeCall to better cope with objects' lifecycles: https://gist.github.com/4673294
13:28 jnthn arnsholt++
13:28 arnsholt If those interested in NativeCall (jnthn, moritz, FROGGS, sorear(?)) could have a look at that and comment, that'd be awesome
13:28 jnthn arnsholt: I'll take a look over it when I'm not so distracted :)
13:29 * moritz takes a look
13:29 arnsholt To a certain extent this is procrastinatory for me, so it's not required in a hurry =)
13:30 moritz arnsholt: from a user's perspective, that sounds sane :-)
13:31 arnsholt Excellent!
13:31 arnsholt I've been wanting to kill explicitly-manage for a while now
13:31 arnsholt Just had to figure out how =)
13:31 FROGGS arnsholt: currently in a meeting, will read backlog this evening
13:32 arnsholt Cool
13:35 * jnthn gets back to teaching
13:52 atrodo joined #perl6
13:53 * nwc10 realises he left an ) unclosed earlier. Oops. Hopefully this restores balance in the universe.
14:00 isBEKaml joined #perl6
14:01 isBEKaml hello, #perl6! :)
14:01 phenny isBEKaml: 17 Jan 02:49Z <[Coke]> tell isBEKaml about https://github.com/coke/perl6-roast-data/blob/master/rakudo_summary.out
14:01 phenny isBEKaml: 17 Jan 18:06Z <moritz> tell isBEKaml that I uploaded the 2013.01 release tarballs. Thanks for doing the release!
14:02 yeltzooo joined #perl6
14:04 timotimo haha, great :D
14:04 timotimo the tarballs are out, but no announcement?
14:05 isBEKaml timotimo: :D those were for rakudo *compiler* release.
14:05 isBEKaml Not star. :)
14:05 isBEKaml phenny: tell moritz, the pleasure is entirely mine.
14:05 phenny isBEKaml: I'll pass that on when moritz is around.
14:12 moritz maybe I'll do the star release tonight
14:12 phenny moritz: 14:05Z <isBEKaml> tell moritz the pleasure is entirely mine.
14:12 moritz if somebody is willing to help me, compose a release announcement
14:12 timotimo oh, right.
14:14 kaare_ joined #perl6
14:15 LylePerl joined #perl6
14:17 isBEKaml moritz: What's the convention for star releases? Whoever releases compiler, releases star too?
14:18 cog joined #perl6
14:19 tadzik Star is special
14:19 tadzik oh, moritz, I don't think I invited you yet for the Polish Perl Workshop. Want to come? :)
14:19 isBEKaml tadzik: ofcourse it is. The Star of Rakudo
14:19 tadzik :)
14:20 isBEKaml tadzik++ # PlPW
14:20 moritz isBEKaml: whoever feels responsible releases star :-)
14:20 masak isBEKaml: no, there's no convention, really.
14:20 tadzik isBEKaml: you're coming too? :)
14:20 moritz tadzik: want, yes
14:20 isBEKaml tadzik: Even if I wanted to, I cannot. :(
14:20 tadzik shame :(
14:21 isBEKaml tadzik: I know - never been to any .pm or any of perl workshops(not even YAPCs). Shame, yeah. :|
14:21 tadzik isBEKaml: high time to break that habit :)
14:21 isBEKaml tadzik: well, hold it in my country. I'll tag along. =)
14:22 isBEKaml tadzik: but then that won't be a PlPW :P
14:23 jnthn moritz: I can compose the release announce this evenign :)
14:24 moritz I think I already bumped the versions on my workstation at home
14:28 mjwhitta joined #perl6
14:28 kresike bye folks
14:30 masak seems we did quarterly releases of Star all through 2011, then monthly all through 2012, with the exception for March, for some reason.
14:54 stopbit joined #perl6
15:00 Liz_ joined #perl6
15:01 Liz_ good day all
15:01 isBEKaml hello, Liz_
15:01 moritz \o Liz_
15:01 tadzik Liz_! \o/
15:01 Liz_ I was wondering whether the Perl 6 cheat sheet is still valid
15:02 Liz_ aka https://raw.github.com/perl6/mu/master/docs/Perl6/Cheatsheet/cheatsheet.txt
15:03 timotimo this is the kind of thing that could even get its own little integration test suite.
15:03 Liz_ for the FOSDEM this weekend, I was considering making laminated two-sided versions for the Perl stand
15:03 Liz_ one side Perl 5, the other Perl 6
15:04 masak Liz_! \o/
15:04 moritz looks good to me
15:04 masak rn: role F[$n] { method x { callsame(); callsame() until $.v % $n } }; class S { has $.v is rw = 1; method x { ++$.v }; method f { self but F[$.v] } }; my $s = S.new; for ^3 { $s.x; say $s.v; $s.=f }
15:04 moritz I did a quick glance over it and didn't find a single outdated item
15:04 p6eval niecza v24-18-gaf64300: OUTPUT«2␤3␤5␤»
15:04 p6eval ..rakudo b3fc32: OUTPUT«(timeout)2␤3␤»
15:04 [particle] joined #perl6
15:04 masak jnthn: this is as short as I'm able to golf it.
15:05 moritz r: say 'item'.comb.sort eq 'time'.comb.sort
15:05 p6eval rakudo b3fc32: OUTPUT«True␤»
15:05 Liz_ moritz: cool, then I'll use that
15:05 timotimo r: my $a = Cat.new;
15:05 p6eval rakudo b3fc32: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Undeclared name:â�¤    Cat used at line 1. Did you mean 'Rat'?â�¤â�¤Â»
15:05 isBEKaml masak: that's 4-turned-prime headline? :)
15:05 timotimo r: my $a = Blob.new;
15:05 p6eval rakudo b3fc32: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Undeclared name:â�¤    Blob used at line 1â�¤â�¤Â»
15:05 timotimo are thos types no longer in perl6? or just NYI? or perhaps created using a different mechanism only?
15:05 masak jnthn: the problem happens in the 'callsame()' in the 'until' loop, and the .x method in the S object never gets triggered. or rather, it gets triggered in Niecza, but it gets waylaid in Rakudo.
15:06 masak timotimo: NYI
15:06 timotimo OK
15:06 timotimo i suppose the Cat type isn't the one you'd get from ACME::Meow?
15:07 timotimo r: say 10 R- 5;
15:07 p6eval rakudo b3fc32: OUTPUT«-5␤»
15:07 masak correct.
15:07 masak rn: role F[$n] { method x { callsame; callsame until $.v % $n } }; class S { has $.v is rw = 1; method x { ++$.v }; method f { self but F[$.v] } }; my $s = S.new; for ^3 { $s.x; say $s.v; $s.=f }
15:07 timotimo oh, that's neat
15:07 p6eval niecza v24-18-gaf64300: OUTPUT«2␤3␤5␤»
15:07 p6eval ..rakudo b3fc32: OUTPUT«(timeout)2␤3␤»
15:07 timotimo what does "sequentialize" do?
15:09 masak timotimo: "make a sequence of"
15:10 masak rn: role F[$n] { method x { callsame; callsame until $.v % $n } }; class S { my $v = 1; method x { ++$v }; method f { self but F[$v] } }; my $s = S.new; for ^3 { $s.x; say $v; $s.=f }
15:10 p6eval rakudo b3fc32: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Variable '$v' is not declaredâ�¤at /tmp/9AIiMx7r9j:1â�¤------> [32m }; my $s = S.new; for ^3 { $s.x; say $v[33mâ��[31m; $s.=f }[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
15:10 p6eval ..niecza v24-18-gaf64300: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Variable $v is not predeclared at /tmp/mzO6qyD2fQ line 1:â�¤------> [32m } }; my $s = S.new; for ^3 { $s.x; say [33mâ��[31m$v; $s.=f }[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting lin…
15:10 masak oops.
15:10 masak rn: role F[$n] { method x { callsame; callsame until $.v % $n } }; my $v = 1; class S { method x { ++$v }; method f { self but F[$v] } }; my $s = S.new; for ^3 { $s.x; say $v; $s.=f }
15:10 p6eval rakudo b3fc32: OUTPUT«2␤Method 'v' not found for invocant of class 'S+{F}'␤current instr.: 'x' pc 170 ((file unknown):817) (/tmp/Iv9iZ7GOxW:1)␤called from Sub '' pc 223 ((file unknown):191753942) (/tmp/Iv9iZ7GOxW:1)␤called from Sub '' pc 256476 (src/gen/CORE.setting.pir:116173) (src/gen…
15:10 p6eval ..niecza v24-18-gaf64300: OUTPUT«2␤Unhandled exception: Unable to resolve method v in type S+F[curried]␤  at /tmp/ru0HsITsWf line 1 (F.x @ 9) ␤  at /tmp/ru0HsITsWf line 1 (mainline @ 14) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4218 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.set…
15:11 * masak should really do his experimentation offline, as usual
15:11 timotimo masak: well, how do i use Sop? S+, S, and S=> on two lists or two scalars doesn't seem to do anything but throw exceptions that make little sense to me
15:11 timotimo i guess i could look at the code, though
15:12 masak timotimo: I've never fully understood Sop.
15:13 masak timotimo: I can promise you that it isn't in any runnable code out there, though.
15:13 palakas joined #perl6
15:14 timotimo hehe, ok
15:16 masak rn: role F[$n] { method x { callsame; callsame until $.v % $n } }; class S { has $.v is rw = 1; method x { ++$.v } }; my $s = S.new; for ^3 { $s.x; say $s.v; $s but= F[$s.v] }
15:16 p6eval rakudo b3fc32: OUTPUT«(timeout)2␤3␤»
15:16 p6eval ..niecza v24-18-gaf64300: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Cannot make assignment out of but because structural infix operators are diffy at /tmp/u5dEo4QvyN line 1:â�¤------> [32m S.new; for ^3 { $s.x; say $s.v; $s but=[33mâ��[31m F[$s.v] }[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  a…
15:16 cog rn:  grammar G {  token TOP() { <lit 'a'> }; token lit($s) { $s }  };  G.parse: 'a'
15:16 p6eval niecza v24-18-gaf64300:  ( no output )
15:16 p6eval ..rakudo b3fc32: OUTPUT«Unmarshallable foreign language value passed for parameter '$s'␤  in regex lit at /tmp/PrRRZFIcdH:1␤  in regex TOP at /tmp/PrRRZFIcdH:1␤  in method parse at src/gen/CORE.setting:10725␤  in block  at /tmp/PrRRZFIcdH:1␤␤»
15:16 cog hum
15:16 masak rn: role F[$n] { method x { callsame; callsame until $.v % $n } }; class S { has $.v is rw = 1; method x { ++$.v } }; my $s = S.new; for ^3 { $s.x; say $s.v; $s = $s but F[$s.v] }
15:16 p6eval niecza v24-18-gaf64300: OUTPUT«2␤3␤5␤»
15:16 p6eval ..rakudo b3fc32: OUTPUT«(timeout)2␤3␤»
15:18 cog grammar G {  token TOP() { <lit: 'a'> }; token lit($s) { $s }  };  say G.parse: 'a'
15:18 cog rn: grammar G {  token TOP() { <lit: 'a'> }; token lit($s) { $s }  };  say G.parse: 'a'
15:18 p6eval niecza v24-18-gaf64300: OUTPUT«#<match from(0) to(1) text(a) pos([].list) named({"lit" => #<match from(0) to(1) text(a) pos([].list) named({}.hash)>}.hash)>␤»
15:18 p6eval ..rakudo b3fc32: OUTPUT«「a」␤ lit => 「a」␤␤»
15:19 cog rn: grammar G {  token TOP() { <lit('a')> }; token lit($s) { $s }  };  say G.parse: 'a'
15:19 p6eval niecza v24-18-gaf64300: OUTPUT«#<match from(0) to(1) text(a) pos([].list) named({"lit" => #<match from(0) to(1) text(a) pos([].list) named({}.hash)>}.hash)>␤»
15:19 p6eval ..rakudo b3fc32: OUTPUT«「a」␤ lit => 「a」␤␤»
15:19 cog rn:  grammar G {  token TOP() { <lit 'a'> }; token lit($s) { $s }  };  say G.parse: 'a'
15:19 p6eval niecza v24-18-gaf64300: OUTPUT«#<match from(0) to(1) text(a) pos([].list) named({"lit" => #<match from(0) to(1) text(a) pos([].list) named({}.hash)>}.hash)>␤»
15:19 p6eval ..rakudo b3fc32: OUTPUT«Unmarshallable foreign language value passed for parameter '$s'␤  in regex lit at /tmp/W8RbAe2hBe:1␤  in regex TOP at /tmp/W8RbAe2hBe:1␤  in method parse at src/gen/CORE.setting:10725␤  in block  at /tmp/W8RbAe2hBe:1␤␤»
15:19 cog so that's a rakudo bug
15:21 cog nqp:  grammar G {  token TOP() { <lit 'a'> }; token lit($s) { $s }  };  say( G.parse: 'a')
15:21 p6eval nqp: OUTPUT«a␤»
15:22 * masak submits rakudobug
15:24 slavik1 left #perl6
15:35 hash_table joined #perl6
15:36 masak rn: my @primes := gather for 2..Inf { next if $_ %% any(@primes); say take $_ }
15:36 p6eval niecza v24-18-gaf64300:  ( no output )
15:36 p6eval ..rakudo b3fc32: OUTPUT«splice() not implemented in class 'Mu'␤current instr.: '' pc 253893 (src/gen/CORE.setting.pir:115092) (src/gen/CORE.setting:5485)␤called from Sub 'reify' pc 253040 (src/gen/CORE.setting.pir:114758) (src/gen/CORE.setting:5457)␤called from Sub 'gimme' pc 261448 (src/…
15:37 masak aww :)
15:39 Liz_ masak: wouldn't that print primes until the end of the universe?
15:43 timotimo nah, the list is completely lazy, so it won't get started
15:43 timotimo hm, is any sufficiently clever for short-circuiting @primes?
15:43 timotimo n: my @primes := gather for 2..Inf { next if $_ %% any(@primes); say take $_ }; say @primes[10]
15:43 p6eval niecza v24-18-gaf64300: OUTPUT«Unhandled exception: Circular data dependency in list iteration, or last fetch threw exception␤  at /tmp/VwsfrqFpvn line 1 (ANON @ 7) ␤  at <unknown> line 0 (KERNEL dogather @ 1) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2425 (GatherIterator.reify @ …
15:44 skids joined #perl6
15:45 Liz_ timotimo: but the say will be done for each prime taken, no?
15:45 Liz_ and then the next prime will be reified, no?
15:45 Liz_ so that would still go on forever, or am I missing some inhibiting factor here?
15:46 masak Liz_: yes, but p6eval knows how to abort scripts after a few seconds and show the partial output.
15:47 masak r: for 1..Inf { .say if $_ %% 10_000 }
15:47 p6eval rakudo b3fc32: OUTPUT«(timeout)10000␤20000␤»
15:47 timotimo oh, you may be right, there probably needs to be a stopping condition for the any(@primes), else for a prime it will continue forever, no?
15:47 masak oh!
15:47 masak yes, I see what you're saying now.
15:47 masak the consumer doesn't know when to stop asking.
15:47 timotimo good catch, Liz_
15:47 masak Liz_++
15:48 masak ESOLUTIONISTOOPRETZELY
15:49 timotimo hm, but in that concise way you wrote, i can't see how to put a second condition in there to abort, say, if the number is bigger than half
15:49 timotimo i would have to put another for loop in there and then it's not as pretty any more :(
15:51 masak yeah.
15:51 masak but that's fine; I'm just toying around with ideas here.
15:51 jnthn decommute &
15:58 brrt joined #perl6
16:04 nnunley joined #perl6
16:08 brrt left #perl6
16:10 cog_ joined #perl6
16:18 masak "In the creation of any truly new product or product category, it is almost invariably a big advantage to start out as integrated as possible." -- http://blogs.hbr.org/cs/2013/01/the_787s_problems_run_deeper_t.html
16:18 masak feels like it contains an echo of nwc10's "dogfood early, dogfood often".
16:22 * nwc10 is right until proven otherwise. :-)
16:22 nwc10 even if you don't want me to be.
16:23 flussence rn: sub a(@foo? is rw) { ... }
16:23 p6eval niecza v24-18-gaf64300: OUTPUT«Potential difficulties:â�¤  @foo is declared but not used at /tmp/ESSUo_iJnC line 1:â�¤------> [32msub a([33mâ��[31m@foo? is rw) { ... }[0mâ�¤  &a is declared but not used at /tmp/ESSUo_iJnC line 1:â�¤------> [32msub a[33mâ��[31m(@foo? is rw) { ... }[0mâ�¤â�¤Â»â€¦
16:23 p6eval ..rakudo b3fc32: OUTPUT«[31m===[0mSORRY![31m===[0m�Cannot use 'is rw' on an optional parameter�at /tmp/mnD8pnkKKf:1�------> �»
16:23 flussence Different error... jeez, is my one day old rakudo out of date *already*? :)
16:24 flussence (it's a NPMCA on the repl)
16:24 timotimo moritz: did my 2 line patch end up failing spectests?
16:25 flussence n: sub a(@foo? is rw) { @foo //= 1..3 }; my @bar; a(@bar); say @bar.perl;
16:25 p6eval niecza v24-18-gaf64300: OUTPUT«[].list␤»
16:28 masak why can't one use 'is rw' on an optional parameter? :)
16:28 masak you can with 'is copy', for example.
16:28 timotimo what are you going to write to if it isn't given?
16:29 masak something that wasn't passed.
16:29 timotimo will it just be swallowed/autoviv'd?
16:29 masak I guess.
16:29 masak my question is, why is it absolutely forbidden?
16:29 masak we don't tend to forbid things that are only a little impossible.
16:30 flussence that's one thing that's possible in PHP - you can pass a variable by reference, but it won't complain if you don't
16:30 brrt joined #perl6
16:35 masak right. that's what we're talking about here.
16:44 arnsholt timotimo: Where did you end up on your ipython/Rakudo project? Not worthwhile/possible ATM, or did you decide to start it?
16:45 timotimo arnsholt: i started it! yesterday i ported most of the ipython protocol handling logic to perl6 code
16:46 timotimo it will only need a thin wrapper now to turn a json based protocol via stdin/stdout into actual zmq.
16:46 timotimo hm, how does one create a process in perl6 and communicates with its stdin and stdout?
16:46 arnsholt Oh, cool!
16:47 arnsholt A Net::ZMQ module (name negotiable) based on NativeCall is hopefully in my not-too-distant future. Want to join in implementing it?
16:48 timotimo i haven't ever tried NativeCall, but i guess i could help you with low hanging fruit :)
16:49 arnsholt Cool. I'll give you a prod when I get it started
16:49 timotimo thanks :)
16:49 bluescreen10 joined #perl6
17:03 * jnthn back :)
17:06 masak jnthn! \o/
17:09 MayDaniel joined #perl6
17:10 * jnthn yawns tiredly
17:10 nwc10 read, aim, coffee!
17:10 timotimo AOL Instant Messenger?
17:10 nwc10 er, ready.
17:12 jnthn I'm not doing coffee at this time of day, or I'll not sleep :)
17:20 * masak eyes list of requirements, frowning
17:20 masak so... you want to be not tired, but you also want to sleep, correct?
17:20 Ulti joined #perl6
17:20 nwc10 um, hangon. If jnthn doesn't sleep, does that mean we get more code by the morning?
17:21 masak I'll go get the coffee.
17:21 colomon nwc10: yup!
17:21 nwc10 does this scale?
17:21 jnthn Yes but...quality? :P
17:21 masak and a funnel.
17:22 colomon jnthn: you're still young, you can probably handle a few days of late nights before you start babbling.
17:22 Ulti jnthn spend the rest of your life making a time machine that can transport itself back, then hand yourself a copy to yourself now and use it to make temporal clones of yourself
17:23 dalek star: de12058 | moritz++ | tools/star/Makefile:
17:23 dalek star: bump versions in preparation of the 2013.01 release
17:23 dalek star: review: https://github.com/rakudo/star/commit/de12058516
17:23 moritz Ulti: if that results in two jnthns coding on rakudo/nqp/jvm stuff, I'm all for it :-)
17:23 brrt left #perl6
17:23 * colomon recalls that even in college, staying up until 4am made his "clever" D&D plans very, very, very stupid.
17:24 moritz colomon: did you have any non-stupid D&D plans, ever?
17:24 moritz if yes, I kinda suspect you didn't understand the game :-)
17:24 Ulti also ssh tunnel over the time machine and git pull from 10 years in the future
17:25 colomon moritz: I'd like to think most of them were smarter than "I will levitate far over the scene of the battle, cast an anti-magic shell around myself, and then swoop down to neutralize the demon."
17:25 moritz colomon: might have been :-)
17:25 masak brilliant!
17:25 timotimo hahahaha, the anti magic shell :D
17:26 timotimo "swoop down", pretty majestically i bet! :D
17:26 Chillance joined #perl6
17:26 colomon nah, it was more of a straight fall.  but I did make an nice little crater when I hit.
17:26 dalek star: 266205b | moritz++ | modules/ (6 files):
17:26 dalek star: update modules to newest versions
17:26 dalek star: review: https://github.com/rakudo/star/commit/266205b46e
17:27 araujo joined #perl6
17:27 araujo joined #perl6
17:27 colomon I hadn't even made sure I was over the demon when I did it, so I hit like twenty feet away from the actual fight and didn't even modestly inconvenience it.
17:27 * jnthn wonders why people assume clones of him would all sit around hacking, rather than just deciding to go to the pub together :)
17:27 nwc10 :-)
17:28 jnthn moritz: am working on release announce :)
17:28 moritz jnthn: great
17:28 masak handling clones of oneself is tricky.
17:29 dalek star: 05a30fb | moritz++ | / (2 files):
17:29 dalek star: bump more versions (README, Makefile.in)
17:29 dalek star: review: https://github.com/rakudo/star/commit/05a30fbe05
17:30 jnthn masak: y'all would know :P
17:35 MayDaniel_ joined #perl6
17:36 masak yes :)
17:36 masak if you want a (weary) smile put on your face, do a Google search for "&amp;amp;amp;amp;"
17:36 * masak smiles wearily
17:37 dalek star: 24eab15 | jnthn++ | docs/announce/2013.01:
17:37 dalek star: Add a 2013.01 release announcement.
17:37 dalek star: review: https://github.com/rakudo/star/commit/24eab15049
17:38 jnthn That's &lt;lt; awesome.
17:38 jnthn Review of the announce welcomed
17:41 timotimo a quick read-through suggests it's fine
17:41 timotimo cannot guarantee there are no factual incorrectnesses, though
17:42 moritz jnthn: looks fine
17:45 timotimo so 2012.02 will get Parrot 5.0.0?
17:45 mr- joined #perl6
17:45 moritz if we have a reason to bump the required revision, then yes
17:47 moritz http://moritz.faui2k3.org/tmp/rakudo-star-2013.01.tar.gz
17:47 moritz please test
17:49 Liz_ timotimo: 2012.03 ?
17:49 Liz_ timotimo: 2013.02
17:49 Liz_ :-)
17:49 timotimo >_< of course
18:05 moritz moritz@casella:~>./tmp/rakudo-star-2013.01/install/bin/perl6 -e 'use JSON::Tiny; say to-json({ a => ["b", 42]})'
18:05 moritz { "a" : [ "b", 42 ] }
18:05 moritz looks good
18:07 masak \o/
18:08 * masak .oO( it's called "JSON::Tiny", but I see lots of unnecessary spaces in there ) :P
18:09 kmwallio joined #perl6
18:16 [Coke] hopefully someone is testing rakudo on various parrot releases.
18:17 masak ...and probably, no-one is? :)
18:18 xinming joined #perl6
18:19 timotimo i was testing rakudo on parrot5
18:24 palakas joined #perl6
18:32 [Coke] timotimo++
18:32 timotimo testing as in "using" not as in "rigurously testing", though
18:33 [Coke] Surely the packagers that care about such things can restrict certain versions of rakudo to use no newer than version x of parrot. :)
18:33 [Coke] but yes, we should setup a test farm or something for the last X rakudo versions we care about and the last X parrot versions and make sure that unless we declare otherwise they are compatible.
18:33 nnunley joined #perl6
18:38 moritz any objections to releasing the rakudo-star-2013.01 tarball as-is?
18:39 jnthn moritz: None her, provided it builds/passes tests.
18:39 jnthn *here
18:44 dalek star: e7a6ae5 | moritz++ | tools/star/release-guide.pod:
18:44 dalek star: note 2013.01 release in release-build.pod
18:44 dalek star:
18:44 dalek star: also close a quote
18:44 dalek star: review: https://github.com/rakudo/star/commit/e7a6ae5727
18:44 moritz tag pushed, tarball uploaded
18:44 nwc10 \o/
18:44 nwc10 and, now back to the important job of breaking things? :-0
18:44 nwc10 er, :-)
18:44 nwc10 right - what do I blame for my typing tonight?
18:45 moritz nwc10: that's masak's job :-)
18:45 jnthn moritz++
18:45 moritz (breaking things)
18:45 dalek nqp: 8d5e9d4 | jnthn++ | src/ (2 files):
18:45 dalek nqp: Add a way to introspect if a lexical is native.
18:45 dalek nqp: review: https://github.com/perl6/nqp/commit/8d5e9d425c
18:45 dalek nqp: 5e22142 | jnthn++ | src/QAST/Operations.nqp:
18:45 dalek nqp: Map objprimspec to repr_get_primitive_type.
18:45 dalek nqp: review: https://github.com/perl6/nqp/commit/5e221427e7
18:52 moritz http://rakudo.org/2013/01/30/rakudo-star-2013-01-released/
18:57 masak moritz++
18:57 masak and contrary to popular belief, I don't break things. :)
18:57 masak it's more like I stumble over broken things, waking the neighbors.
18:58 jnthn You could turn the lights on :P
18:59 geekosaur ...if they don't explode when turned on
19:01 skids r: my $res = Failure.new(X::AdHoc.new(:payload<foo>)); $res.defined; $res.defined.say; say $res + 1;
19:01 p6eval rakudo b3fc32: OUTPUT«False␤1␤»
19:02 jnthn Question. In the REPL, when we auto-print, shoudl things .Str like now, or .gist?
19:03 lawrmcfa joined #perl6
19:03 arnsholt jnthn: While refactoring the native access stuff, should I rename get_attribute_ref to get_attribute_native like in JVM?
19:04 arnsholt We won't actually get a reference anymore, after all
19:04 jnthn arnsholt: Yes, if you don't mind
19:04 * skids struggles to understand the intended behavior of handled Failures.
19:09 arnsholt I'm gonna be changing all instances of that anyways, so might as well rename it while I'm at it
19:11 nnunley joined #perl6
19:15 moritz jnthn: .gist, IMHO
19:15 masak jnthn: feels like they should .gist
19:16 hoelzro hey #perl6 folk! congratulations on the Rakudo * release!
19:17 moritz hoelzro: thanks
19:17 jnthn OK
19:18 jnthn I'm also trying to fix native lexical usage in the REPL and make the code more portable.
19:18 moritz \o/
19:18 jnthn I may have fixed the ^D bug THAT WE HAVE IN 2013 also...we'll see :)
19:18 hoelzro I'm finally able to remove all of my custom packaging stuff for my Arch Linux package =)
19:19 FROGGS joined #perl6
19:19 arnsholt Debugging by compiler error \o/
19:19 arnsholt Or, refactoring, rather
19:19 FROGGS g'evening
19:24 nwc10 jnthn: any chance of world peace while you're there? And how is the AbstractPonyFactory?
19:24 masak evenin', FROGGS
19:25 masak jnthn: hey, the ^D bug was something that we regressed on because testing the REPL is teh hard.
19:25 masak jnthn: at one point, we did it right.
19:25 jnthn masak: Yeah, I think I know why now too
19:26 jnthn masak: Mebbe you can test it for me in a bit
19:27 jnthn nwc10: Decided to do a bit of time on Rakudo improvements before looking at the JVM port :)
19:27 jnthn nwc10: Though in the end I finished up eliminating some code that woulda been a porting pain in the future... :)
19:27 masak jnthn: sure.
19:28 * jnthn takes a break to eat stuffs
19:28 [Coke] I can write a test for the REPL ^D thing, I think.
19:29 [Coke] Should go into rakudo's own tests, though, aye?
19:30 FROGGS (rakudo improvement)++
19:30 FROGGS arnsholt: I commented
19:30 masak [Coke]: sounds reasonable.
19:31 masak [Coke]: unless it's easy enough to make the test implementation-agnostic.
19:33 moritz is the REPL specced?
19:33 [Coke] that's a different project (though I think it's reasonable that we should decide what we're going to call various versions of perl6 on the same machine.)
19:34 moritz if it's not specced, it doesn't go into roast
19:34 [Coke] e.g. shoudl we have a perl6-rakudo, perl6-niecza (which in turn is a shell script or a .bat file that DTRT with the .exe?)
19:35 arnsholt FROGGS: Cheers!
19:35 * arnsholt goes looking
19:35 masak moritz: that sounds reasonable.
19:36 masak moritz: though I bet we have lots of things in roast that are not spec'd.
19:36 moritz probably. But very few of them intentional
19:36 moritz and nothing as major as a whole subsystem, afaict
19:42 arnsholt FROGGS: And replied to your comment
19:42 moritz what's the gist URL again?
19:43 arnsholt https://gist.github.com/4673294
19:44 FROGGS :o)
19:45 FROGGS I'm happy with it
19:48 arnsholt I think it's a better approach than what we have, but it's always good to get feedback on this kind of stuff
19:50 moritz will I be able to query whether an object is "owned" by the p6 code or the C code?
19:51 FROGGS moritz: yes, it's just a matter who is responsible to free its mem
19:51 FROGGS and who is not allowed to
19:52 arnsholt moritz: Wouldn't be very hard to implement at least
19:54 zby_home_ joined #perl6
19:57 fgomez joined #perl6
19:59 jnthn oh, turns out the REPL already does .gist when doing auto-print.
20:00 masak oh, good.
20:00 masak it sounded weird that it not doing so would've gone unnoticed up 'til now :)
20:00 jnthn It's exceptions that are printed unhelpfully
20:01 jnthn As in, compilation errors not showing where the error is.
20:01 jnthn Lemme see if I can fix that bit
20:11 dalek nqp: 16d7232 | jnthn++ | src/stage0/ (9 files):
20:11 dalek nqp: Update bootstrap.
20:11 dalek nqp: review: https://github.com/perl6/nqp/commit/16d72325ba
20:11 dalek nqp: 8266805 | jnthn++ | src/HLL/Actions.pm:
20:11 dalek nqp: Fix outer context setup for native lexicals.
20:11 dalek nqp: review: https://github.com/perl6/nqp/commit/8266805bea
20:11 dalek nqp: 63d9ae4 | jnthn++ | src/HLL/Compiler.pm:
20:11 dalek nqp: Tweak REPL handling.
20:11 dalek nqp:
20:11 dalek nqp: Get rid of the magical accumulating context. While it did have some
20:11 dalek nqp: good points, getting it to support native lexicals was going to be a
20:11 dalek nqp: nightmare, let alone trying to port it. Also provide some better hook
20:11 dalek nqp: mechanisms for HLLs (so they don't have to duplicate the autoprint tell
20:11 dalek nqp: logic and can control exception printing).
20:11 dalek nqp: review: https://github.com/perl6/nqp/commit/63d9ae44cf
20:12 jnthn r: my int $x = 69; eval('say $x')
20:12 p6eval rakudo b3fc32: OUTPUT«===SORRY!===␤Lexical '$x' is of wrong register type in lexical lookup␤»
20:12 jnthn Thought so. That now works locally also.
20:13 masak \o/
20:14 skids r: my $a := Proxy.new(FETCH => { Failure.new(X::AdHoc.new(:payload<foo>)) }, STORE => { 0 })
20:15 p6eval rakudo b3fc32: OUTPUT«foo␤current instr.: 'throw' pc 332939 (src/gen/CORE.setting.pir:149243) (src/gen/CORE.setting:9291)␤called from Sub 'sink' pc 364971 (src/gen/CORE.setting.pir:161952) (src/gen/CORE.setting:10513)␤called from Sub 'MAIN' pc 444 (src/gen/perl6.pir:165) (src/main.nqp s…
20:16 bruges joined #perl6
20:19 spider-mario joined #perl6
20:20 dalek rakudo/nom: 9dfa827 | jnthn++ | tools/build/NQP_REVISION:
20:20 dalek rakudo/nom: Bump NQP_REVISION for REPL improvements.
20:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9dfa827b25
20:20 dalek rakudo/nom: 0fd4ee8 | jnthn++ | src/pmc/perl6lexpad.pmc:
20:20 dalek rakudo/nom: Support lexical type introspection.
20:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0fd4ee89a7
20:20 dalek rakudo/nom: 9ec0a59 | jnthn++ | src/Perl6/Compiler.nqp:
20:20 dalek rakudo/nom: Better REPL exception reporting; updates.
20:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9ec0a593b3
20:22 jnthn masak: Feel free to check the ^D bug.
20:24 masak will do.
20:24 masak "$obj.Some::Role::meth() now passes the correct $obj" -- from the Star release announcement. hm, what bug was that? sounds like fun.
20:24 * masak tries to find out
20:25 jnthn One of the ones doy found.
20:26 jnthn Fairly recent in RT
20:26 jnthn Dunno if it was given a test and closed yet
20:26 masak ah, found the commit :)
20:27 masak (atomic commits)++
20:28 jnthn masak: I don't see the ticket about the REPL and native types; if you can find that (I'm sure it exists) feel free to process it also :)
20:28 masak ah, here: https://rt.perl.org/rt3/Ticket/Display.html?id=116226
20:28 masak (the methods on roles ticket)
20:28 masak jnthn: ok, will find it.
20:29 masak jnthn: here: https://rt.perl.org/rt3/Ticket/Display.html?id=102254
20:29 masak (*this* is what I mean when I say "I can find things quickly with RT")
20:30 masak (so think twice before migrating to another system, because RT isn't all that bad)
20:30 jnthn It does some darn stupid things but at least it means I can delegate ticket munging to somebody who likes it :P
20:31 masak more "knows how to do it" than "likes it", but sure ;)
20:32 masak the warm fuzzies come from being a functional cog in the community machinery.
20:32 masak Perl 6 is my RPG ;)
20:39 benabik joined #perl6
20:40 c1sung joined #perl6
20:55 tadzik hey hey!
20:56 masak tadzik! \o/
20:56 tadzik did I miss All The Things?
20:56 jnthn o/ tadzik
20:56 masak tadzik: yes!
20:56 tadzik oh my!
20:56 tadzik I have to update All The Repos
20:56 masak they all happened, and Time didn't prevent them from happening all at once this time.
20:56 tadzik and figure out ACT meanwhile
20:56 nwc10 you haven't missed Christmas yet. Sorry.
20:56 tadzik dang
20:57 tadzik usually most things happen when I'm not looking, so I sometimes try not looking for some time to see if the work will actually progress faster
21:06 skids r: my $a = Failure.new(X::AdHoc.new(:payload<foo>)); $a; 1;
21:06 p6eval rakudo b3fc32:  ( no output )
21:06 skids r: sub a { return(Failure.new(X::AdHoc.new(:payload<foo>))); 1; }; a(); 1;
21:06 p6eval rakudo b3fc32: OUTPUT«foo␤  in method sink at src/gen/CORE.setting:10513␤  in block  at /tmp/QQrxQ0H2gM:1␤␤»
21:06 cog joined #perl6
21:06 skids That seems discordant.
21:06 masak in what way?
21:07 skids Whether it explodes or not shouldn't depend on whether the value is a variable or a function result.
21:08 skids And for that matter isn't the value in sink context even when followed by 1; ?
21:09 masak oh, I see what you mean now.
21:09 masak I don't know.
21:11 skids Anyway I'm going to have to search long and hard to fix Sum because I was dumbly relying on the pre-sink-refactor behavior.  Now I need a value that only blows up when used, not in sink context, like an undefined, but handled Failures do not seem to do that (and I'm reading the spec and seeing maybe that I was wrong to think they would.)
21:12 diakopter ugh, I'm typing := in C
21:19 skids masak: did you solve the checker stacking problem? :-)
21:19 masak skids: didn't try yet. it's still open in a browser tab here :)
21:19 pmichaud \o/  Rakudo Star 2013.01 release
21:20 masak pmichaud! \o/
21:20 masak skids: I think about it now and then.
21:20 masak skids: it's nicely non-trivial.
21:20 pmichaud (rakudo team)++
21:20 skids It drove me crazy to the point of insomnia, but I'm sure you will fare much better.
21:21 pmichaud also masak++ for giving a presentation at FOSDEM++
21:21 masak skids: we'll see.
21:21 masak oh, I should blog about the FOSDEM talk.
21:21 masak will try and do that tomorrow.
21:22 jnthn o/ pmichaud :)
21:22 pmichaud I should be able to generate the .msi tomorrow
21:23 pmichaud o/ jnthn
21:23 jnthn yay, .msi :)
21:24 jnthn pmichaud: nqp-jvm-cc currently passes 33 test files from t/nqp :)
21:24 pmichaud whoa, awesome!  blog post?  ;-)
21:24 jnthn Working on one
21:29 arlinius joined #perl6
21:30 arnsholt jnthn: I think I've got some kind of handle on the _native refactor. Will continue hacking in the morrow
21:30 * arnsholt &
21:31 jnthn .oO( better than in the marrow... )
21:31 jnthn arnsholt++
21:44 * [Coke] thinks masak has an unfair advantage finding tickets because he's written 99% of them.
21:44 [Coke] pmichaud: Hio.
21:49 masak [Coke]: granted.
21:49 masak [Coke]: in order to find a ticket, you have to *think* like a ticket.
21:49 masak :P
21:49 Kharec joined #perl6
21:49 Kharec hi guys
21:49 masak yo, Kharec
21:50 Kharec I'm trying to compile perl6, rakudo star 2013.01 and I get a segfault, I would like to report it: http://pastebin.com/1euJyxfB
21:50 Kharec On a 32 bit Linux platform.
21:50 masak "Erreur de segmentation" :/
21:51 masak during nqp compilation, it seems.
21:51 Kharec I can paste all the log if you want :)
21:51 jnthn Oh non c'est tres tres un-bon!
21:51 masak moritz, jnthn: should I create a rakudobug for this, or does it go directly to Parrot-land?
21:52 jnthn masak: It's in NQP compile
21:52 benabik joined #perl6
21:52 jnthn masak: So could be an NQP extension.
21:52 masak what's an NQP extension?
21:52 jnthn The most helpful thing would be a gdb backtrace
21:52 jnthn masak: Like, any of our dynops, or somewhere in 6model :)
21:53 masak oh aha.
21:53 Kharec I investigate more.
21:53 masak jnthn: I leave it to you to negociate a gdb backtrace with monsieur Kharec. :)
21:53 jnthn masak: mercy boo coup
21:54 Kharec I'm going to leave but I'll try to make one!
21:54 Kharec thanks guy!
21:54 jnthn Kharec: Thanks for reporting
21:54 Kharec thanks to you :)
21:54 Kharec good night!
21:54 Kharec left #perl6
21:54 jnthn o/
21:55 SmokeMachine joined #perl6
21:58 * FROGGS .oO( conectión reset by pierre )
22:09 fgomez joined #perl6
22:12 dalek nqp-jvm-prep: 0159a38 | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/P6Opaque (2 files):
22:12 dalek nqp-jvm-prep: Partial P6opaque deserialization.
22:12 dalek nqp-jvm-prep:
22:12 dalek nqp-jvm-prep: Only handles reference attributes so far, not flattened in ones.
22:12 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/0159a3892e
22:12 dalek nqp-jvm-prep: 4597ec9 | jnthn++ | src/org/perl6/nqp/runtime/Ops.java:
22:12 dalek nqp-jvm-prep: Make smart_numify handle array/hash REPR.
22:12 dalek nqp-jvm-prep:
22:12 dalek nqp-jvm-prep: Feels just a bit dirty but at least "smart" is sufficient warning of
22:13 dalek nqp-jvm-prep: magic.
22:13 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/4597ec9c9d
22:13 dalek nqp-jvm-prep: f13c6af | jnthn++ | t/nqp/ (4 files):
22:13 dalek nqp-jvm-prep: Four more passing test files.
22:13 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp-jvm-prep/commit/f13c6aff96
22:21 jnthn Darn, this headache isn't going away at all :/
22:21 jnthn Guess I'll go rest
22:21 jnthn &
22:21 diakopter o/
22:22 FROGGS ó.ò gnight jnthn
22:22 tadzik good knight
22:25 [Coke] the nqp-jvm-prep makefile could use some love (LHF); things getting recompiled unnecessarily.
22:25 [Coke] (e.g. 'make nqptest; make nqptest;')
22:26 masak 'night, #perl6
22:27 diakopter 'nite
22:27 * [Coke] finds some passing nqp tests that aren't included yet!
22:28 tadzik \o/
22:30 FROGGS [Coke]: add 'em, before regression gets 'em
22:31 [Coke] will do so after $dayjob.
22:34 cog joined #perl6
22:48 GlitchMr joined #perl6
22:52 cog joined #perl6
22:57 djanatyn joined #perl6
22:58 cog joined #perl6
23:00 Tene joined #perl6
23:00 Tene joined #perl6
23:00 xalbo joined #perl6
23:29 balders_dod joined #perl6
23:30 skids joined #perl6
23:30 lue phenny: tell masak his blog's RSS feed is failing to load
23:30 phenny lue: I'll pass that on when masak is around.
23:34 hash_table joined #perl6
23:37 cog joined #perl6
23:43 SmokeMachine joined #perl6
23:53 nnunley joined #perl6
23:53 SmokeMachine joined #perl6

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

Perl 6 | Reference Documentation | Rakudo