»ö« 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.
TimToady there's no jumping backward 00:00
and in the forward direction, it's just a set of conditionals 00:01
if you really want a redispatch, arrange to re-enter the switch
dalek p: 4dd9166 | jnthn++ | src/ (2 files):
Add a slot in the s-table for Parrot v-table mapped routines; we'll stash 'em by v-table index so the lookup should be fast. Also, marking.
00:02
00:02 kaare_ left 00:07 protorom joined 00:11 molaf_ joined 00:13 _twitch joined, pmurias left 00:15 molaf left
sorear TimToady: so... no jumptable optimization in the forward direction? 00:19
TimToady: it bugs me that the jump data effectively has to be emitted twice
00:26 Mowah left
cognominal jnthn, have you update the parrot version, trying to compile nqp, I get dyld: lazy symbol binding failed: Symbol not found: _PARROT_GC_WRITE_BARRIER 00:30
*updated
Tene jnthn: me too 00:31
jnthn Hm 00:32
00:32 kaini left
jnthn Looks like bacek++ added the barrier writes and didn't bump it... :) 00:32
I know it works against a later revision so...moment. :) 00:33
Tene jnthn: all the adverb stuff in Perl 6 grates on me, fwiw.
[Coke] anyone able to help with an nqp-rx issue? trac.parrot.org/parrot/ticket/1886
dalek p: 8fbefcc | jnthn++ | src/ops/nqp.ops:
Add an op for publishing a set of Parrot v-table overrides. Resolves names to indexes once here, to avoid doing it every invocation.
00:34
p: 3e4373a | jnthn++ | src/metamodel/how/NQPClassHOW.pm:
Implement support for adding Parrot v-table overrides to NQPClassHOW. Will need to somehow be marked Parrot-specific in the future.
p: 4f1fcec | jnthn++ | src/pmc/rakudoobject.pmc:
Make get_[integer|number|string] overridable. More to come soon; it's just yak shaving now. Along with the patches that led up to this, it fixes the 52-vtable.t regression, mostly unblocks moving Match to 6model and a bunch of other good stuff.
p: d0df731 | jnthn++ | build/PARROT_REVISION:
Bump to a newer Parrot that has the write barrier bits.
00:35
jnthn [Coke]: My only immediate guess is that String lives in the Parrot HLL and you are in a Tcl HLL, but I think the PMCs are visible from everywhere anyway so...hmm.
00:35 rgrau left
[Coke] jnthn: sadly, this used to work, but broke some months ago. 00:35
jnthn Ah :(
cognominal jnthn, that on Mac OS X 10.6.6 btw not that I think it is relevant
*that's
jnthn cognominal: No, it's not. d0df731 should help you.
[Coke]: Could look at if/how P6metaclass has changed but I'm not aware of any changes to it over the last several months. 00:36
[Coke]: I'm guessing none of the v-tables one would expect it to inherit work? 00:37
sorear if it's just a matter of updating parrot, it ought to be bisectable
dukeleto parrot master currently does not have the generational_gc, just fyi 00:39
00:39 karupanerura joined
jnthn dukeleto: Right, but it does have the write barrier bits so the code stands a chance of working when generational_gc goes back in (hopefully soon, since it seems like an overall performance win). 00:39
dukeleto jnthn: yes, just wanted to clarify in case some missed that drama 00:40
jnthn dukeleto: I didn't backlog over it. 00:41
dukeleto jnthn: we are planning to merge gen_gc2 just after the 3.1 release, iirc
jnthn dukeleto: Ah, OK, so soon. \o/
I'd have been disappointed if there were plans to hold it off for a long time. 00:42
[Coke] begins the soul-crushing attempt to bisect this trac ticket.
jnthn But putting out at least one release with the write barrier code writable but not requried makes sense, I guess.
[Coke] gets some whiskey to smooth things over.
dukeleto jnthn: generational_gc got merged to master a bit early, so we pulled it out and now it is called gen_gc2, and is getting more performance + stability improvements
jnthn OK :)
dukeleto pours [Coke] three stiff drinks 00:43
jnthn I'm still being happy and surprised that it's so close. :)
00:43 cognominal left, cognominal joined
dukeleto jnthn: yes, it was merged with unoptimized register access, which was still a huge win on average, but made certain things much slower, so we unmerged it and are polishing it 00:43
[Coke] immediately gives up, as his first attempt is a sha that doesn't even build. 00:44
jnthn [Coke]: Looking at github.com/parrot/parrot/commits/m...object.pir it seems the last change to P6metaclass itself was in Sep 10, 2010. (One later change, but just removing svn $Id$ tags) 00:45
dukeleto [Coke]: you need to tell your bisect script to ignore sha1's that don't build 00:46
00:47 icwiener left
dukeleto [Coke]: exit 125 00:47
[Coke]: exit code 125 tells git "this code is bad, try another sha1"
[Coke] dukeleto: I do not have a bisect script. and so far I've had six different sha's fail. fun times. 00:49
00:50 MayDaniel left
[Coke] ... that is, I'm trying to find a single build I can mark as good. (so even if I had a script, it wouldn't help yet.) 00:51
dukeleto [Coke]: go back far, to a release that worked 00:53
[Coke]: i.e. 2.0 or something 00:54
[Coke]: or 1.0 :)
[Coke]: writing a script to find a single revision that will build will definitely come in handy in the future 00:55
[Coke]: github.com/dustin/bindir/blob/maste...t-sequence may be useful for you 00:56
[Coke]: or github.com/leto/Util/blob/master/bin/git-exec
[Coke]: you may have to tweak them, but 80% of the code is written for you 00:57
jnthn phenny: tell pmichaud in theory nom has just one test file regression over nqp-rx now. Need to discuss packages a bit with you before I know that one will be fixed. :)
phenny jnthn: I'll pass that on when pmichaud is around.
jnthn phenny: tell pmichaud oops, s/nom/nqp/ :)
phenny jnthn: I'll pass that on when pmichaud is around.
[Coke] jnthn++ 00:58
00:58 whiteknight joined
jnthn D'oh, my patch to NQPClassHOW totally ignored inheritance. :/ 01:00
Will fix tomorrow. :)
sorear so apparently I managed to write a heredoc dedenter that takes O(infinity)
this is not quite as impressive as my exponential time line number calculator. but close! 01:01
jnthn sub heredoc-dedenter($stuff) { loop { } } # I bet yours was longer than this... :P
sorear It was actually more a case of s/^^ \s*//g 01:02
dalek ecza: f47e045 | sorear++ | TODO:
Add priority stuff to TODO
01:06
ecza: 5c5b2cc | sorear++ | / (3 files):
Implement here document dedenting
jnthn -> rest 01:09
01:14 shi left
sorear TimToady: ping 01:17
TimToady: consider "my @foo = (1,2,3); sub bar { @foo }; (bar)[0] = 5" 01:21
TimToady: in Perl 5 this is an error; the return creates readonly copies of the array elements
01:21 karupanerura left 01:22 karupanerura joined
sorear TimToady: does Perl 6 do the same thing? S06:2326 isn't entirely clear 01:22
01:49 jevin left
dalek ecza: 404eec8 | sorear++ | / (3 files):
Implement $.foo, @.foo contextness
02:01
02:01 noganex joined 02:04 noganex_ left 02:17 risou joined
dalek ecza: f1018f8 | sorear++ | / (4 files):
Implement %(pairs) and constant @foo = ...
02:23
02:35 felliott joined 02:37 arlinius left
TimToady sorear: that's what we call decontainerization, and p6 is supposed to do it too 02:39
02:39 arlinius joined 02:42 kst` is now known as kst 02:49 flatwhatson_ left
sorear TimToady: I don't really understand how it should work 02:52
TimToady: my @foo; sub get_list { @foo }; get_list.push(12) # Does this work? 02:53
What is get_list.WHAT?
02:56 kst left
sorear TimToady: if not-being-rw loses the Array-ness of the returned value, then I'm having trouble imagining how has @.foo could work 02:57
02:58 autark joined, protorom left 03:00 SatoshiHayazaki joined 03:01 kanishka joined 03:02 whiteknight left 03:06 autark left 03:07 kanishka left
TimToady to the first approximation you're returning a Capture that is marked not to allow rw binding (unless the function is declared rw, of course) 03:11
03:23 kst joined
colomon Trying to figure out how to do a case insensitive string comparison in C/C++ is making me want to cry. 03:30
I mean, look at stackoverflow.com/questions/11635/c...rison-in-c 03:31
"All you need to do is typedef a new string over basic_string, and provide it with your own custom char_traits that compare case insensitively." 03:32
03:32 _twitch left
colomon I mean, it's bad enough to have to use a cascade of ifs where a simple given / when would do in p6. But to have to define a special function to do the string comparison? sigh. 03:33
sorear TimToady: get_list[1] = 2 doesn't do any rw binding to the returned capture 03:36
03:43 masonkramer joined 03:46 dukeleto left 03:47 dukeleto joined 03:55 ryan_ is now known as rocketship 03:56 rocketship is now known as rdesfo 04:02 felliott left 04:23 Su-Shee_ joined 04:27 Su-Shee left
dalek ecza: de9656e | sorear++ | / (6 files):
Implement callsame/callwith
04:35
04:40 dukeleto left 04:41 dukeleto joined 05:07 jevin joined 05:30 risou left 05:31 stifynsemons left
dalek ecza: 79b8cea | sorear++ | / (5 files):
Change ? quantifier to not make a list

THIS CHANGE WILL REQUIRE EXTENSIVE YAK SHAVING IN NieczaActions WHEN THE BOOTSTRAP IS NEXT UPDATED
05:33
05:36 stifynsemons joined 05:40 fith joined 05:43 stifynsemons left 05:51 kanishka joined 05:56 Chillance left
dalek ecza: a06dd3c | sorear++ | / (10 files):
Mergeback and factor out OpHelpers/GetOptLong
06:07
06:19 dukeleto left, benabik left, dukeleto joined
sorear TimToady: Is there an explicit spec for "respects quotes in a shell-like fashion" (S02:3474), or do you want us to just emulate sh? 06:24
06:25 rdesfo left
TimToady just do sh for now 06:29
sorear how much of sh?
it seems a bit silly to emulate quote backslashing, for instance
TimToady mostly just single and double quotes 06:30
sorear I could do " protects until ", ' protects until ' as a very simple case
TimToady "$foo" is one word, but bare $foo can split to multiple words 06:31
sorear I guess only literal quotes count
not \x22 or $var_with_quote 06:32
is anyone using the "method postprocess" stuff in STD? I'd like to change it to a more useful form
TimToady yeah, we're not trying to do 582 levels of reparsing
nah, postprocess is just a placeholder for a real implementation :) 06:33
one could say that for most of STD :) 06:34
06:40 envi joined
sorear Does q:x have any special quoting magic or is it just like run() of q ? 06:57
07:00 kanishka left
TimToady just run of q 07:08
p5's qx is more like qqx
sorear How shound it behave with list/item context? 07:15
Is <<">> an error? 07:22
TimToady not sure; would be nice not to slurp if we can be lazy
probably error
well, <<">>">> isn't :)
sorear You sure about that? 07:23
std: <<">>">>
p6eval std 625303c: OUTPUT«===SORRY!===␤Confused at /tmp/NIlVY5O5rg line 1:␤------> <<">>⏏">>␤ expecting any of:␤ POST␤ bracketed infix␤ infix or meta-infix␤ postfix␤ postfix_prefix_meta_operator␤ statement modifier loop␤Parse failed␤FAILED
..00:01 120m␤»
TimToady if we can do it in one pass parsing, we probably should
current behavior is rather p5esque there... 07:24
that is to say, smelly
sorear ok.
TimToady might need to define yet another DSL there...
sorear it can probably just be done with escape:sym<"> and escape:sym<'> in ww1 07:25
TimToady if we make that easy to tweak, the people can pretty easily declare other shellish capabilities
sorear although that might make ww0 tricky
yet another DSL? like how? 07:26
TimToady well, it's essentially an inside out language where normal text is autoquoted but has embedded constructs that are treated specially 07:27
TimToady waves hands vaguely
sorear I think you're thinking of $~Q 07:28
the only question is whether the user can somehow "augment" STD::Q::ww1 07:29
obviously they can't modify the role itself
TimToady yes, :ww is probably the name of the DSL in question, such as it is... 07:34
TimToady is too tired to keep it all quite straight in his brane tonight...
with the postprocess stuff it gets a bit more function compositional and a bit less DSLy, but I still have suspections that we should avoid two-pass parsing whenever possible 07:37
been burned by it too many times in p5
sorear AFAICT qww *cannot* work on pure Str postprocessing 07:38
if it did, then $str eq '"' would mess up <<$str $str>> interpolation
TimToady ja
sorear right now I'm postprocessing ASTs 07:39
(and punting on qww for now)
TimToady is almost like bare $foo interpolates before .words-ish, then quotes are expanded 07:40
TimToady should probably hit the hay 07:41
sorear sleep well
TimToady お先に。。。 07:42
thunk &
07:46 justatheory left, justatheory joined 07:50 justatheory left
dalek ecza: fa63713 | sorear++ | / (3 files):
Enable parsing of qww et al, tweak STD postprocess methods
07:57
ecza: 1f02f87 | sorear++ | / (3 files):
Implement qw[], overhaul postprocessing
sorear -> sleep
moritz_ good mroning 08:05
08:06 kaare_ joined 08:19 f00li5h left
dalek p: 4b8ac4f | bacek++ | src/ops/nqp.ops:
Add more write barriers.
08:23
08:25 zby_home_ left
dalek p: 2cef296 | moritz++ | build/Makefile.in:
cc_hasjit is gone, remove it from Makefile
08:45
09:02 flatwhatson_ joined 09:03 SatoshiHayazaki left 09:10 starcoder left 09:11 starcoder joined 09:23 satyavvd joined 09:36 Mowah joined 09:47 kjeldahl joined 09:54 protorom joined 09:56 araujo left 10:00 qiyong joined 10:03 shi joined
dalek ecza: c9e137b | pmurias++ | / (2 files):
[cl-backend] added while
10:13
ecza: 4510adb | pmurias++ | simple-tests/ (2 files):
[cl-backend] added missing files (tests)
10:21 qiyong left 10:22 qiyong joined 10:31 jvv left 10:35 satyavvd left 10:57 protorom left 11:03 coldhead left 11:09 colbseton joined 11:21 masak joined
masak bom dia, #perl6 11:21
tadzik dzień dobry
masak ;)
moritz_ good not-morning-anymore, masak and tadzik :-) 11:22
tadzik morning, noon, it's the weekend!
masak 's sleep e kass
weekend dobry :P 11:23
tadzik :) 11:24
dalek p: 20185cf | moritz++ | / (4 files):
incorporate command line parser from github.com/moritz/nqp-cl-parser

It is now built and tested along with nqp, but not yet used by HLL::Compiler
11:26
p: 47a56ec | moritz++ | src/HLL/CommandLine.pm:
POD for HL::CommandLine
masak wow, this is huge: manu.sporny.org/2011/public-domain-genome/ 11:28
11:29 kaini joined
Tene masak: I got my kit from 23andme a couple of days ago; I'm sending it back on Monday. 11:33
My gf got the results from hers back a couple of weeks ago; it's pretty fascinating.
masak ok, sounds like I should order one too, then. 11:36
11:37 MayDaniel joined
Tene It's $200 right now. When I got it for my gf back in December, it was $100. Before that, it was $400. Looks like they've done the $100 sale about once a year or so, if cost is an issue here. 11:37
github.com/msporny/dna/pull/1 is pretty hilarious 11:38
11:40 whiteknight joined
masak Tene: :) 11:41
11:43 Su-Shee_ is now known as Su-Shee
moritz_ are there any public tools that help you analyze your DNA? 11:44
Tene 23andme doesn't give a full dna sequencing, just a dump of abot 10M SNPs 11:46
The best place to get information on these SNPs is snpedia.com/
I'm pretty sure there are some open-soruce tools to pull info from snpedia
masak I wonder if it'd be worth developing a Perl 6 tool or two for analyzing those SNPs. 11:51
11:52 _jaldhar_ left, _jaldhar_ joined
moritz_ isn't that what bioperl6 is for? 11:54
masak one might hope. 11:56
I was thinking a bit more short-term than that, though. 12:05
12:07 Rotwang joined
moritz_ had the impression that bioperl6 actually existed, though maybe only partially 12:08
masak I really don't know much about its status at all; should ask pyrimidine at some point. 12:09
dalek p: 8f27940 | moritz++ | src/HLL/CommandLine.pm:
[commandline] get rid of an attribute
p: 69f3951 | moritz++ | src/cheats/nqp-builtins.pir:
ok() is now a bit closr to what TAP expects (descriptions instead of comments)
Rotwang hi, is there some lwp module for perl6? 12:10
moritz_ nqp: for pir::split('|', "foo") { say($_) }
p6eval nqp: OUTPUT«foo␤»
moritz_ Rotwang: yes. See modules.perl6.org/
Rotwang moritz_: can't find it there 12:11
there are some modules to create web apps
moritz_ Rotwang: it's right there, perl6-lwp-simple
Rotwang moritz_: thanks [; 12:12
must have overlooked it
moritz_ happens :-)
Rotwang by the way perl6 is sooo different than perl5
and terribly complicated 12:13
Su-Shee ignore the complicated part, you can program it like an improved p5 easily and without bad concsious :) 12:14
12:14 pmurias joined
pmurias hi 12:15
masak pmurias: \o
Rotwang: what Su-Shee said. the simple bits are actually simpler. :)
pmurias any papers i should load on my kindle to make a 5hour train journey more interesting?
masak pmurias: bananas in space?
12:17 araujo joined
masak pmurias: irclog.perlgeek.de/perl6/2011-02-11#i_3279701 for good resolution, apparently. 12:17
Rotwang btw. is perl grammars named from computability theory?
pmurias you mean formal grammars?
Rotwang yes
masak Rotwang: I think "grammar" is a fairly established concept in CS. 12:18
Rotwang so in the essence perl grammars are more powerful than regexes?
or are they just regexes in fancy form?
masak they are regexes with better syntax, and OO inheritance. 12:19
Su-Shee I think of grammars as a description of a ruleset to parse "stuff". and that I can inherit it. 12:20
masak the underlying regex engines look a bit different too, but that's nothing that necessarily affects the user, except through silent benefits :)
pmurias Rotwang: perl6 grammars as much more powerfull than CS regular expressions 12:21
Su-Shee Rotwang: aren't you one of the gtk-perl developers? 12:22
Rotwang Su-Shee: no, im just using it
Su-Shee "damn" :) I was just going to ask for gtk3 ;) 12:23
Rotwang [;
Su-Shee Rotwang: anyways. don't be afraid of perl6, it just looks like it bites, behind its teeths it's very fluffybunny. 12:24
Rotwang Su-Shee: yeah it looks awesome, but it is hard to learn I think 12:27
moritz_ why do you think that?
you don't need to know everyhting about parameterized roles and macros if you just want to parse a text file 12:28
you can still use split() and regex matches
tadzik oh hi Rotwang 12:29
Rotwang: the only hard thing imho is that there are plenty of differences from Perl 5, the Perl 6 itself is imho equally easy, or hard. It has many, many new things, yes, but they tend to be more straightforward than Perl 5 things 12:31
Su-Shee Rotwang: no, it just looks that way.
Rotwang: you really can ignore two thirds of the shiny stuff and use it as a cleanup version of perl5, basically just using classes and changing -> to . 12:32
Rotwang: a little of the sugar here and there, and that's perfectly fine perl 6 for us common folks.
tadzik Plus some of the difficult things are not yet implemented anyway 12:33
Su-Shee Rotwang: and how to use roles you'd read up at moose and smalltalk. 12:34
Rotwang: that's my perl6. :)
colomon moritz_: heck, you don't need to know everyhting about parameterized roles and macros to do major work on the compiler! 12:39
Rotwang [; 12:41
dalek p: 90092d0 | moritz++ | / (2 files):
[commandline] implement | option aliases
12:42
jnthn oh hai o/
moritz_++ # hacking on nqp \o/
colomon wishes his schedule was free enough to help with nqp... 12:43
12:45 kaydsoft left
moritz_ could use lives_ok and dies_ok in nqp 12:49
jnthn If nqp got module support, it could just have a Test.pm :)
dalek p: bc69ca5 | moritz++ | src/HLL/Compiler.pm:
"revision" is now always 1, use git_describe instead
12:52
12:58 felliott joined 13:13 MayDaniel left, felliott left 13:17 pmurias left 13:25 felliott joined 13:28 felliott left 13:39 risou joined 13:43 drbean left 13:51 risou left 13:55 colbseton left 13:56 colbseton joined 13:57 risou joined 14:02 colbseton left 14:06 skangas left 14:11 skangas joined, skangas left, Chillance joined 14:18 lakshman left
moritz_ nqp: my %h; %h<a> := 1; say("alive") 14:33
p6eval nqp: OUTPUT«alive␤»
14:36 MayDaniel joined
masak I just saw "Inception" for the second time. anyone else drawn the parallel between Limbo and the Bottom type ⊥? :) 14:41
moritz_ masak: NERD 14:42
sorry, had to say that :-)
masak moritz_: :P 14:43
that whole film caters to the nerd stereotype, at least as much as does 'the Matrix'. 14:44
tadzik The „shame they didn't do sequels” Matrix? ;)
masak yeah.
jnthn nqp: say(KnowHOW.HOW.name(KnowHOW)) 14:45
p6eval nqp: OUTPUT«Null PMC access in find_method('HOW')␤current instr.: '_block11' pc 0 (EVAL_1:4)␤»
masak normal people leave the movie theater saying "ok, I think I followed... kinda... sometimes... it was complicated." -- computer scientists leave the movie theater saying "do you see NOW what I'm having to deal with at work?"
jnthn nqp: say proto sub foo() { * }
p6eval nqp: OUTPUT«Confused at line 1, near "say proto "␤current instr.: 'parrot;HLL;Grammar;panic' pc 635 (src/cheats/hll-compiler.pir:206)␤»
jnthn Ah.
moritz_ jnthn: the 'nqp' target is still really nqp-rx
I should change that.
jnthn moritz_: Yeah, that's what I was checking :)
moritz_ how do I translate .lex '$?FILES', $P0 to nqp? 14:46
my $?FILES := ... ?
jnthn Yeah, provided it parses it.
moritz_ I feared that you might say that :-) 14:47
masak ooh, and they're playing Édith Piaf in the credits -- subtly signalling "time to wake up (from the movie)"!
moritz_ masak: I liked that too :-)
masak not sure I grok'd that the first time around.
jnthn moritz_: Well, could always make it parse it. :) 14:49
moritz_ :-) 14:50
jnthn std: my $?FILES := "foo";
14:50 JodaZ joined
p6eval std 625303c: OUTPUT«ok 00:01 121m␤» 14:50
jnthn Of course, it should only be bound at "compile time". :)
14:52 risou left
masak next step, I guess, would be to understand how the code in github.com/karthick18/inception/bl...nception.c works. 14:53
15:04 masonkramer left, masonkramer joined 15:26 risou joined
sorear good * #perl6 15:27
masak *, sorear
I'd like to know what can be done at present, if one were to read in the SNP information released by msporny, and correlated it with known public information about SNPs. 15:28
I'd like things such as "blue eyes", "curly hair" to fall out.
15:29 Axius joined 15:33 stifynsemons joined
sorear TimToady: true or false? when 1 { ...; proceed }; when 2 { ... }; when 3 { ... }; # requires a chain of comparisons in *addition* to the jump table, for handling proceed? 15:33
masak thinks so 15:35
the jump table is basically a "cache" for speeding up the normal case, no?
sorear I guess 15:36
masak and any number of situations can invalidate that cache.
I guess sufficiently complicated 'when' expressions might, too.
or having a mix of normal statements and 'when' expressions. 15:37
or gotos :) 15:38
std: given rand { when * < .1 { ... }; loop { when .1 < * .3 { ... } }; default { ... } } 15:39
p6eval std 625303c: OUTPUT«===SORRY!===␤Missing block at /tmp/ZD6xBQ5wk1 line 1:␤------> when * < .1 { ... }; loop { when .1 < * ⏏.3 { ... } }; default { ... } }␤ expecting any of:␤ bracketed infix␤ infix or meta-infix␤Parse failed␤FAILED 00:01 121m␤»
masak std: given rand { when * < .1 { ... }; loop { when .1 < * < .3 { ... } }; default { ... } }
p6eval std 625303c: OUTPUT«ok 00:01 120m␤»
masak Perl 6 is cool just for the mischievousness allowed by the liberal way things fit together :P 15:41
15:44 am0c joined
masak is writing the p4 post now 15:56
15:58 Axius left 16:03 Axius joined 16:05 Axius left 16:06 lakshman joined 16:11 HaraldJoerg joined 16:15 Patterner left 16:16 zby_home_ joined 16:17 Psyche^ joined, Psyche^ is now known as Patterner 16:23 sftp left 16:26 Bzek joined 16:28 felliott joined 16:34 qiyong left 16:36 kaini left 16:44 sftp joined 16:49 sftp left, felliott left, kaini joined
moritz_ watches the planetsix feed for news 16:53
rakudo: say $*FILE 16:54
p6eval rakudo : ( no output )
moritz_ rakudo: say $?FILE
p6eval rakudo : OUTPUT«===SORRY!===␤Symbol '$?FILE' not predeclared in <anonymous> (/tmp/bZmLqtBwOT:22)␤»
moritz_ rakudo: say $?FILES
p6eval rakudo : OUTPUT«===SORRY!===␤Symbol '$?FILES' not predeclared in <anonymous> (/tmp/tmLLuDezV7:22)␤»
moritz_ rakudo: say $*FILES 16:55
p6eval rakudo : ( no output )
16:56 sftp joined 17:00 sftp left
masak moritz_: I might get done today, but no promises. :) 17:03
17:04 sftp joined
masak I need to re-run the all-against-all harness, because it didn't capture the results correctly, and I was careless enough not to check that at the beginning. 17:04
dalek p: 14ff770 | moritz++ | src/HLL/Compiler.pm:
rewrite HLL::Compiler.evalfiles in nqp
17:11
arnsholt masak: Sounds familiar 17:23
'Cept in my case it was experiments for my master's of course =)
masak :) 17:28
17:29 karupanerura left
dalek p: 0bbd0c9 | moritz++ | src/HLL/Compiler.pm:
remove debugging output that I accidentally left in
17:33
p: f481aab | moritz++ | src/HLL/Compiler.pm:
rewrite addstage in nqp. Not yet tested, because it is not actually called in nqp. Tough beans.
jnthn moritz_: These patches are nice to see. :-) 17:38
dalek p: 30d842b | jnthn++ | src/stage0/ (4 files):
Update bootstrap to include Parrot v-table support in NQPClassHOW.
p: 5c5e80a | jnthn++ | src/Regex/Cursor.pir:
Add v-table mapping for Bool method in Cursor, in order to rip out a special case hack.
p: 97c3955 | jnthn++ | Configure.pl:
Optimized build seems to work out fine on Win32, so do one.
17:46 blaze_ joined
blaze_ sup all 17:47
17:47 blaze_ left
moritz_ \o 17:48
masak some people seem to have extraordinary expectations on the speed of replies. 17:49
moritz_ hm? 17:53
arnsholt Drive-by IRC 17:55
moritz_ ah, I /ignore joins and quites
*quits
masak quite.
17:58 envi left
moritz_ hm; integrating my command line parser with the other methods in HLL::Compiler seems harder than originally thought 17:59
arnsholt Heh. My master's work has taught me all kinds of practical skills. Who'da thunk it? =D
dalek p: 873f08a | moritz++ | src/HLL/Compiler.pm:
improve an error message
18:00
moritz_ nqp: try { pir::die('foo'); CATCH { say($_) } } 18:21
p6eval nqp: OUTPUT«foo␤»
dalek p: 25c26a4 | moritz++ | / (2 files):
use pure-nqp command line parser

I don't know why, but it it regresses on "-o filename". However
  --output=filename still works.
18:22
p: 1d68f30 | moritz++ | t/hll/05-commandline.t:
add a reduced case for the -o regression. The test does not exhibt the bug, so it is mostly useless :(
18:23 masonkramer left
moritz_ nqp: try { pir::exit(0) }; say("foo"); 18:26
p6eval nqp: ( no output )
arnsholt masak: Speaking of which. I now got about 30% into my experiment before I realised the Makefile didn't actually save the scores for each fold in the experiment. FML =) 18:30
moritz_ nqp: for [1, 2, 3] -> $x { say($x) } 18:31
p6eval nqp: OUTPUT«1␤2␤3␤»
masak arnsholt: could be worse. could've been 70%.
arnsholt Good point =)
It could also be on the big dataset, where a full experiment takes a day, rather than an hour or two =) 18:32
In the meantime, I guess I'll try to put more words in my thesis 18:34
frettled «Blah blah blah conjecture blah blah blah»? 18:35
frettled is helpful, as always.
arnsholt Indeed =D 18:36
frettled arnsholt: break a pen!
arnsholt Heehee. Thanks =)
masak I conjecture that half a pen is more difficult to write with than a whole one.
arnsholt I conjecture that it is irrelevant, since my writing is done on a keyboard O:) 18:38
18:38 MayDaniel left, BinGOs_ joined
Rotwang how to install perl6 module? 18:38
there are no makefiles
frettled iConjecture?
18:38 BinGOs left
moritz_ Rotwang: for example with neutro 18:42
Rotwang $ perl6 18:45
Segmentation fault
\:D/
moritz_ Rotwang: what did you install? how? and did you read the README?
Rotwang today is a bad day for doing perl stuff for me
18:48 cjk101011 joined, cjk101010 left 18:50 HaraldJoerg left 18:51 [particle] left
moritz_ nqp: try { pir::die("foo"); CATCH { say($_.severity) } } 18:54
p6eval nqp: ( no output )
moritz_ nqp: try { pir::die("foo"); CATCH { say($_); say($_.severity) } }
p6eval nqp: OUTPUT«foo␤Method 'severity' not found for invocant of class 'Exception'␤Method 'severity' not found for invocant of class 'Exception'␤Method 'severity' not found for invocant of class 'Exception'␤Method 'severity' not found for invocant of class 'Exception'␤Method 'severity' not found fo…
moritz_ nqp: try { pir::die("foo"); CATCH { say($_); say($_<severity>) } }
p6eval nqp: OUTPUT«foo␤2␤»
18:56 kfo_ joined 18:59 kfo left 19:01 kfo joined 19:02 ymasory joined, kfo_ left 19:06 shi left 19:13 am0c left 19:25 mberends joined
masak mberends! \o/ 19:26
sorear hi! 19:27
moritz_ good * everybody
mberends back from a nice 2 week break in Slovenia and Croatia :-) Hi everyone! 19:28
moritz_ I just tried to port method command_line to nqp... what a mess 19:29
I think I bit off more than I can chew
jnthn mberends: Hi! 19:33
mberends: Wow, break location win! :D
moritz_ it's an intangible mess
jnthn moritz_: Ouch. 19:34
moritz_: I found that sometimes it can be easier to port it bit-by-bit to NQP, using Q:PIR { ... } for some bits as a half-way step.
moritz_: Dunno if that's easy/possible for what you're doing though.
19:34 dukeleto left 19:35 dukeleto joined
moritz_ jnthn: I know; but that method has big jumps forwards related to exception handling... 19:35
jnthn Ah
moritz_ and I don't quite know yet how to attack it
there's some part that I can probably rewrite, but not much
jnthn moritz_: Note that Q:PIR gets embedded directly in the output and is not in a nested block, so labels are visible between them, if they're in the same NQP-level block. 19:38
moritz_ that kinda scares me.
dalek p: 105de53 | jnthn++ | src/stage0/ (4 files):
Another re-bootstrap needed to finally kill the get_bool hack.
p: f90cc86 | jnthn++ | t/nqp/52-vtable.t:
Tests for v-table inheritance.
p: f191cd2 | jnthn++ | src/metamodel/how/NQPClassHOW.pm:
Get v-table override inheritance/overriding to work.
p: 83b8fca | jnthn++ | src/metamodel/how/NQPClassHOW.pm:
Fix a thinko.
p: fbfe364 | jnthn++ | src/stage0/ (3 files):
Push Parrot v-table override inheritance updates into the bootstrap.
p: a3d9dff | jnthn++ | src/pmc/rakudoobject.pmc:
Rip out the get_bool hack - it's just a normal Parrot v-table override now. Should be faster. Also, looking over the way Parrot does it, I suspect that 6model may now be able to dispatch PIR-level v-table overrides somewhat faster than Parrot's Class/Object PMCs. :-)
19:39 dukeleto left 19:40 dukeleto joined 19:44 dukeleto left, alester joined, zby_home_ left 19:45 dukeleto joined 19:48 Sarten-X left 19:49 dukeleto left
moritz_ nqp: Q:PIR { .local pmc a } Q:PIR { a = 3 }; say("alive") 19:49
p6eval nqp: OUTPUT«Confused at line 1, near "Q:PIR { .l"␤current instr.: 'parrot;HLL;Grammar;panic' pc 635 (src/cheats/hll-compiler.pir:206)␤»
moritz_ nqp: Q:PIR { .local pmc a }; Q:PIR { a = 3 }; say("alive") 19:50
p6eval nqp: OUTPUT«Null PMC access in set_integer_native()␤current instr.: '_block11' pc 0 (EVAL_1:4)␤»
moritz_ nqp: Q:PIR { .local pmc a }; Q:PIR { a = box 3 }; say("alive")
p6eval nqp: OUTPUT«alive␤»
19:50 dukeleto joined 19:54 shi joined, dukeleto left, MayDaniel joined
dalek p: 5c5b494 | moritz++ | src/HLL/Compiler.pm:
rewrite parts of command_line in nqp
19:55
p: 9d325a2 | moritz++ | src/HLL/Compiler.pm:
restore proper usage messages
p: b350f28 | moritz++ | src/HLL/Compiler.pm:
start to port method command_line to nqp
19:55 dukeleto joined 19:56 Sarten-X joined
moritz_ I think I'll leave the rest of command_line alone for today. 19:58
20:05 coldhead joined
jnthn moritz_: :) 20:08
moritz_: Happy to see progress on it.
moritz_ jnthn: I'll leave the rest to the poor soul that ports the stuff to other compilers :-) 20:11
jnthn :P 20:13
20:16 nadim_ joined, nadim left
Rotwang I rebuilt parrot without optimization and now rakudo does not segfault 20:25
masak aww.
so my prejudice that --optimize causes segfaults is reaffirmed. 20:26
sorear jnthn: hi.
jnthn sorear: o/ 20:27
sorear jnthn: I asked TimToady about how return should handle ro-ness in cases like my @x = (1,2,3); sub foo { @x }; foo[1] = 5;
He gave some inscrutible answer about ro capture flags
can you help me understand this?
jnthn Erm. :) 20:28
sorear: What TimToady's expectation that the above would work, or fail? 20:29
sorear jnthn: fail. 20:30
jnthn Oh. Mine was that it would work.
I could understand foo() = ...; not working
allbery_b as I understand it, unless you declare the sub as "is rw" it returns the same kind of read-only values as perl5 does 20:31
jnthn But I don't understand how the ro-ness would somehow propagate downwards into the data structure.
allbery_b (captures being the mechanism in perl6)
jnthn sorear: Unless some kind of decontainerization happens to arrays. Somehow. 20:32
sorear allbery_b: that code fails in Perl 5 though 20:33
jnthn sorear: Anyway, I don't have an answer really, sorry. I think this has come up before and I can't recall a clear answer yet on exactly how the decontainerization bits works.
moritz_ I guess it will need a semi-shallow copying
sorear jnthn: TimToady has this crazy idea that returns use _captures_ 20:34
jnthn moritz_: something like that maybe. But will need some care to not hash up laziness, I guess.
sorear: Huh.
sorear return $x isn't very interesting
jnthn sorear: I thought it was settled long, long ago
sorear I'm more interested in stuff like return ($x, $y) 20:35
jnthn That it's a Parcel
sorear What sort of parcel does that return?
And how deeply does it decontainerize?
jnthn return $x # returns a Parcel of one item really but a single-item Parcel is the same as the item, so in Rakudo we never build it
return ($x, $y) # is just a normal Parcel
At the moment we don't do any decontainerization because I don't think the spec has been really fleshed out enough there, and nobody hs had chance to explore the area and try something yet. 20:36
sorear Please explain what you mean by that sameness 20:38
dalek p: 2255560 | bacek++ | src/ops/nqp.ops:
Fix write barrier in updating method_cache
sorear rakudo: say (2,) + (2,)
p6eval rakudo : OUTPUT«2␤»
sorear rakudo: say 2 + 2
p6eval rakudo : OUTPUT«4␤»
20:41 molaf__ joined 20:42 molaf_ left
Rotwang one more question, any ide for perl6? 20:43
moritz_ Rotwang: padre 20:44
Rotwang but please don't say vim
moritz_ has resisted
Rotwang moritz_: thanks [;
moritz_ wonders why Rotwang's mouth has rectangular corners 20:45
sorear jnthn: I'd like to know what you mean by "a parcel of one item is the same as the item" 20:46
it's certainly not true in niecza or rakudo, and I have trouble imagining how any model that identified them could sanely handly hyper assignment
*handle 20:47
Rotwang moritz_: it's easier to type than '('
jnthn sorear: return ($x) and return $x are equivalent though, afaik. 20:50
moritz_ jnthn: what libraries does a script need to load to use the 6model in nqp? 20:51
sorear jnthn: of course, the parens do nothing 20:56
($x) is the same as $x
($x,) however is not
20:56 HaraldJoerg joined
HaraldJoerg January distribution of Rakudo * 20:56
moritz_ HaraldJoerg: hello. What about it? 20:58
jnthn moritz_: Needs to have the dynops and dynpmcs loaded, and probably nqp.pbc at the moment, but I want to break out the meta-object stuff into a library of its own.
HaraldJoerg Just confirming what Rotwang wrote, with some hope that there's a workaround. 20:59
Rotwang Helios: I only rebuilt parrot 3.0.0
moritz_ jnthn: nqp.pbc helped 21:00
thanks
dalek p: f6b7f76 | moritz++ | t/p6regex/01-regex.t:
make p6regex tests runnable again
21:05
sorear pokes jnthn 21:09
21:09 felliott joined
jnthn sorear: I think I was mis-remembering from an earlier way things worked. I don't see anything in the spec that supports any deeper single-item Parcel === the single item stuff in there now. 21:13
I'm sure I remember implementing some magic along that line way back, but I think it all got tossed when lists were re-done in Rakudo to be the current way. 21:14
So, ignore. :)
21:15 felliott left 21:22 felliott joined, jevin left 21:24 jevin joined 21:28 felliott left 21:34 BinGOs_ is now known as BinGOs 21:35 BinGOs left, BinGOs joined 21:36 shi left 21:39 clkao left 21:40 molaf__ left 21:43 Bzek left, shi joined 21:44 Bzek joined 21:45 dorlamm joined 21:49 Bzek left 21:50 [particle] joined, Bzek joined 21:52 dorlamm left
lue hello zebras o/ 21:55
21:55 sorear left 21:56 sorear joined 21:57 MayDaniel left 22:02 risou left 22:05 kjeldahl left 22:07 TH14 joined 22:08 TH14 left 22:09 obra joined 22:17 kaare_ left 22:18 clkao joined 22:21 Mowah left 22:24 Trashlord left 22:29 kaini left
masak hola, lue. 22:31
22:38 alester left 22:40 drbean joined 22:41 protorom joined 22:49 stifynsemons left 22:53 Kovensky left, Kovensky joined 22:54 stifynsemons joined 23:00 PacoLinux left
masak colomon: so... I'm basically done writing the p4 post. except for your second submission, which (1) plays perfectly as far as my interrogation techniques have been able to determine so far, and (2) is a beast to read and understand. :P 23:13
I don't think I can publish until I've made a some progress on either of those fronts. 23:14
23:17 wolverian left 23:20 Bzek left 23:22 protorom left, Bzek joined
masak 'night, #perl6 23:24
23:24 masak left 23:27 Bzek left, Bzek joined 23:34 wolverian joined 23:38 nadim__ joined, nadim_ left, coldhead left 23:39 coldhead joined 23:48 felliott joined 23:49 HaraldJoerg left 23:58 Rotwang left