Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-08-18

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:39 soh_cah_toa joined #perl6
00:47 LimitSupremum joined #perl6
00:50 ponbiki joined #perl6
00:59 bbkr joined #perl6
01:02 ponbiki joined #perl6
01:21 [Coke] I haven't heard any discussion about that.
01:25 ponbiki joined #perl6
01:42 jaldhar joined #perl6
01:49 ponbiki joined #perl6
02:19 slavik joined #perl6
02:37 daniel-s joined #perl6
02:44 * [Coke] "awfully quiet in here."
02:49 * colomon is busy using rakudo (master) to prepare sheet music
02:54 [Coke] My son might be interested in whatever you're doing to make that happen.
02:56 [Coke] nom: say 3 ≤ 4
02:56 p6eval nom: OUTPUT«===SORRY!===␤Confused at line 1, near "say 3 \u2264 4"␤»
03:02 dayangkun joined #perl6
03:03 lue .oO(Lilypond in P6)
03:04 [Coke] nom: sub infix:<÷>($l, $r) { return $l / $r; } say 4÷2;
03:05 p6eval nom: OUTPUT«===SORRY!===␤Confused at line 1, near "sub infix:"␤»
03:05 [Coke] master: sub infix:<÷>($l, $r) { return $l / $r; } say 4÷2;
03:05 [Coke] rakudo: sub infix:<÷>($l, $r) { return $l / $r; } say 4÷2; #whoops
03:05 p6eval rakudo 922500: OUTPUT«===SORRY!===␤Confused at line 22, near "sub infix:"␤»
03:05 * [Coke] stares at that.
03:06 ggoebel joined #perl6
03:07 lue rakudo: sub infix:<÷>($a, $b) { $a / $b ; }; say 4÷2;
03:07 p6eval rakudo 922500: OUTPUT«2␤»
03:07 lue nom: sub infix:<÷>($a, $b) { $a / $b ; }; say 4÷2;
03:07 p6eval nom: OUTPUT«===SORRY!===␤Confused at line 1, near "say 4\x{f7}2;"␤»
03:12 colomon [Coke]: sorry for getting distracted, I'm using the p6 ABC module and LilyPond
03:17 odoacre joined #perl6
03:21 TimToady niecza: sub infix:<÷>($a, $b) { $a / $b ; }; say 4÷2;
03:21 p6eval niecza v8-52-g3afe236: OUTPUT«2/1␤»
03:23 Su-Shee joined #perl6
03:30 ZaphrodZenovka joined #perl6
03:40 rdesfo left #perl6
03:42 LimitSupremum joined #perl6
03:42 TimToady tadzik: see http://en.wikipedia.org/wiki/Bir​ds_of_a_Feather_%28computing%29
03:43 sorear ooh thanks I was curious too
03:48 birdwindupbird joined #perl6
03:53 jaldhar joined #perl6
04:06 dayangkun_ joined #perl6
04:15 satyavvd joined #perl6
04:17 kaare_ joined #perl6
04:26 [particle]1 joined #perl6
04:30 moritz good morning
04:30 pmichaud good morning, #perl6
04:40 jaldhar joined #perl6
04:54 jaldhar joined #perl6
05:08 _jaldhar joined #perl6
05:16 _jaldhar joined #perl6
05:50 koban joined #perl6
05:59 cotto joined #perl6
05:59 meraxes joined #perl6
06:02 wtw joined #perl6
06:17 moritz nom: say callframe.my.keys
06:17 p6eval nom: OUTPUT«$=POD GLOBALish EXPORT $?PACKAGE $_ $/ $!␤»
06:17 moritz nom: do  { say callframe.my.keys }
06:17 p6eval nom: OUTPUT«$_ $/ $!␤»
06:17 Vlavv_ joined #perl6
06:18 moritz nom: sub f  { say callframe.my.keys }; f
06:18 p6eval nom: OUTPUT«$_ $/ $! &?ROUTINE RETURN call_sig␤»
06:23 wamba joined #perl6
06:28 mberends good morning!
06:29 moritz \o mberends
06:32 tadzik good morning #perl6
06:32 moritz good morning tadzik
06:32 mberends o/ moritz, tadzik
06:32 Bzek joined #perl6
06:46 cotto joined #perl6
06:48 LimitSupremum joined #perl6
06:53 drbean joined #perl6
06:57 pmichaud mberends: o/
06:58 pmichaud mberends: we still haven't had a chance to give zavolaj much attention... but it's still on my plate
06:58 mberends pmichaud: ok, plenty on all our other plates too :)
07:00 pmichaud right now I'm going to do a review of where we are with nom and figure out where to go next
07:00 cotto joined #perl6
07:02 masak joined #perl6
07:03 masak ah, guritings, #perl6.
07:03 tadzik herro
07:03 masak aah.
07:03 mberends gud monning mask
07:04 * masak is a heckler at the back of some bearded dude's course today
07:05 mberends poor dude ;)
07:06 masak oh, TimToady++ set me right on why BoF has that expansion.
07:07 masak "Byrdes of on kynde and color flok and flye allwayes together." :)
07:07 mberends heh
07:08 masak the English spelling back then was so much saner. :)
07:11 moritz pmichaud: did you notice the discussion about the mem leak yesterday?
07:11 pmichaud moritz: yes.
07:12 pmichaud moritz: I haven't had a chance to look into it, but will do so shortly.  I'm guessing much of my work this morning is going to be tracking down regressions and fixing them.
07:12 pmichaud I also noticed the messages about the German Perl Workshop in 2012
07:13 pmichaud if it's in March... I've also heard rumors of a Perl 6 hackathon in Oslo in March
07:13 pmichaud it would be nice if they could be scheduled such that people (me!) could attend both :)
07:14 pmichaud I think that the Dutch Perl Workshop has also been in that timeframe
07:14 pmichaud (at least traditionally)
07:14 moritz right, it was 5th of March this year
07:15 pochi joined #perl6
07:15 soimort joined #perl6
07:16 moritz sjn: are you involved in the organizatioin of the Perl 6 hackathon in Oslo in 2012-03-* ?
07:16 mberends I'm going to suggest to the NLPW organizers that they use Friday 2012-03-09 or Saturday 10th.
07:18 mberends oh wait, NLPW usually does only the Saturday, so 2012-03-03 would be a better fit
07:19 pmichaud I think either could work.
07:19 pmichaud at least, either could certainly work out for me :-)
07:22 soimort left #perl6
07:22 kboga joined #perl6
07:23 masak pmichaud: re-use/coupling conflict: it's waterbed theory! :)
07:23 pmichaud indeed
07:23 masak (for non-pmichaud people: I'm commenting on jnthn++'s slides)
07:24 mj41 joined #perl6
07:24 masak ooh, a modeling slide!
07:27 masak this might be my favourite topic at present.
07:27 masak we in the comp. eng. world could really learn from the physicists in this case.
07:27 nordicdyno joined #perl6
07:28 pmichaud having seen masak++'s talk on Monday and jnthn++'s talk today makes me feel like I've fallen behind a bit in keeping up with the field in general
07:28 masak they seek the model that gives them the most explanatory power, and the best fit to what they observe.
07:28 pmichaud (the ideas all make sense and I've used/had them before... just not seen them explained elsewhere)
07:28 masak pmichaud: I've learned more in the past half year have been very refreshing and entirely new to me.
07:29 masak uhm, parsefail.
07:29 pmichaud moritz: is http://moritz.faui2k3.org/tmp/valgrind.log the result of the memory leak with perl6 -e 'while 1 { }' ?
07:30 masak "what I've learned in the past year has been very refreshing", etc.
07:30 pmichaud masak: I read it that way.  :-)
07:30 nordicdy_ joined #perl6
07:31 masak I think I was trying to say one thing, then wanted to say another. sentence superposition fail :)
07:33 nordicdyno joined #perl6
07:34 lue .oO[ I, for one, feel like I've never been anywhere near this field :) ]
07:35 masak lue: a model is a little fantasy world that you build inside the computer to mimic what you want to operate on in your program.
07:36 masak lue: so if you're a travel agency, your model probably contains journeys. if you're a computerized bakery, your model may contain dough and ovens.
07:36 pmichaud if you're a fashion designer, your model contains models :-P
07:36 masak :P
07:37 masak pmichaud: don't objectify models! :P
07:37 pmichaud (yes, I know, I'm not being helpful.  I should be heckling jnthn++ and not masak++)
07:37 masak :)
07:37 * mberends would like to model model trains
07:37 lue .oO(what if you want to model the concept of models in general?)
07:37 masak lue: that happens, too.
07:37 pmichaud lue: what, you're wanting a metamodel?  ;-)
07:38 pmichaud jnthn needed another slide here
07:38 pmichaud ("The example for this class")
07:39 lue I could come up with a whole nonsensical list of possible things to model (including the antimodel)
07:39 pmichaud also, I don't remember if the slide has "class" or "course".  Needs to be the latter.  :)
07:39 pmichaud (I'll record my observations on irc, then jnthn++ and I can review later if he wants :)
07:39 masak lue: here's the interesting thing though, which will give you a kick start in the field: people tend to think a bit, and then go with the first model that they find that works.
07:39 mort joined #perl6
07:39 masak lue: and then they miss all the advantages of picking a model that really fits their problem.
07:40 masak lue: what you need is to be able to evolve your model over time to meet the needs that you discover over time.
07:40 masak lue: and have the code evolve in sync with the model.
07:40 pmichaud I wonder if jnthn knows that there's actually a company with the same name as his example.  :-)
07:40 masak :D
07:40 pmichaud maybe it should be "Travelnom" or something :)
07:40 pmichaud "LolTravel"
07:41 lue .oO(Does wanting to rewrite SUPERNOVA because I can't add blocks-in-blocks and other new features well count as the "choose the first one" method?)
07:42 lue Wait, that sentence came out not quite right.
07:42 tadzik nom: my $a = 7; say callframe.my<$a>; for callframe.my.kv -> $k, $v { say "$k $v" }
07:42 p6eval nom: OUTPUT«7␤$a 71␤GLOBALish 79␤EXPORT 83␤$?PACKAGE 87␤$=POD 91␤$_ 95␤$/ 99␤$! 103␤»
07:42 lue .oO(Is the fact that I want to rewrite SUPERNOVA because I can't add new features easily/well because I did the "think a bit and choose the first" way of doing things?)
07:42 tadzik how does this work?
07:43 masak tadzik: what do you mean?
07:43 tadzik masak: first say says a is 7. Sencond, in a loop, says it's 71
07:43 pmichaud the $v looks suspect
07:44 tadzik yeah
07:44 tadzik also...
07:44 pmichaud nom: my $a = 7;  say callframe.my.kv.perl
07:44 p6eval nom: OUTPUT«(("\$a", 39), ("\$=POD", 47), ("GLOBALish", 59), ("EXPORT", 63), ("\$?PACKAGE", 67), ("\$_", 71), ("\$/", 75), ("\$!", 79)).list␤»
07:44 tadzik nom: my $a = 7; for callframe.my.kv -> $k, $v { say $k => $v }
07:44 p6eval nom: OUTPUT«"\$a" => 63␤"GLOBALish" => 71␤"EXPORT" => 75␤"\$?PACKAGE" => 79␤"\$=POD" => 83␤"\$_" => 87␤"\$/" => 91␤"\$!" => 95␤»
07:44 tadzik oh, it worked now
07:44 tadzik but!
07:44 pmichaud nom: my $a = 7;  say callframe.my.perl
07:44 p6eval nom: OUTPUT«$a  39 $=POD        47 GLOBALish    51 EXPORT       55 $?PACKAGE    59 $_   63 $/   67 $!   71␤»
07:44 pmichaud nom: my $a = 7;  say callframe.my.WHAT
07:45 tadzik nom: my $a = 7; for callframe.my.keys -> $k { say $k => callframe.my{$k} }
07:45 p6eval nom: OUTPUT«EnumMap()␤»
07:45 p6eval nom: OUTPUT«"\$a" => Any␤"GLOBALish" => Any␤"EXPORT" => Any␤"\$=POD" => Any␤"\$?PACKAGE" => Any␤"\$_" => Any␤"\$/" => Any␤"\$!" => Any␤»
07:45 tadzik hrm
07:45 pmichaud I'm suspicious of the .my return value.
07:45 tadzik nom: callframe.my<$=POD>.WHAT
07:45 p6eval nom:  ( no output )
07:45 tadzik nom: callframe.my<$=POD>.WHAT.say
07:45 p6eval nom: OUTPUT«Array()␤»
07:45 tadzik hm
07:46 pmichaud I'm thinking that .my returns something hash-like that isn't really a Perl 6 Hash
07:46 pmichaud and so .kv is having trouble with it
07:47 moritz nom: say callframe.my.ky.perl
07:47 p6eval nom: OUTPUT«Method 'ky' not found for invocant of class 'EnumMap'␤  in mu <anon> at /tmp/3ljaTmIog7:1␤  in mu <anon> at /tmp/3ljaTmIog7:1␤␤»
07:47 moritz nom: say callframe.my.kv.perl
07:47 p6eval nom: OUTPUT«(("\$=POD", 39), ("GLOBALish", 55), ("EXPORT", 59), ("\$?PACKAGE", 63), ("\$_", 67), ("\$/", 71), ("\$!", 75)).list␤»
07:47 pmichaud nom: say callframe.my.pairs.perl
07:47 p6eval nom: OUTPUT«("\$=POD" => 39, "GLOBALish" => 55, "EXPORT" => 59, "\$?PACKAGE" => 63, "\$_" => 67, "\$/" => 71, "\$!" => 75).list␤»
07:48 im2ee joined #perl6
07:48 tadzik \$/
07:48 tadzik it's like \o/
07:48 masak :)
07:48 moritz pmichaud: what makes you suspicious of the return value of .my?
07:48 pmichaud \$/ is what you do when you get a bag full of money falling on your head
07:49 masak I just made a few bugfixes to farm.pl -- now it's entirely possible to write an AI class and have it win the game.
07:49 odoacre_ joined #perl6
07:49 pmichaud moritz: what are the values there?
07:49 masak I'll try that now, but I'd still like someone else to *submit* the first (possibly naive) AI class.
07:49 masak we have to decide how we'll store all the submissions.
07:49 pmichaud i.e., why is '$a' mapped to 63
07:50 moritz pmichaud: I have no idea :/
07:50 moritz nom: say callframe.my<$=POD>.perl
07:50 p6eval nom: OUTPUT«Array.new()␤»
07:51 Mowah joined #perl6
07:51 pmichaud moritz: anyway, that's why I'm suspicious... the values look like something other than the actual values
07:51 sorear my guess is that those are P-register numbers from the LexInfo
07:51 masak sorear++
07:51 sorear I wouldn't put it past imcc and POST::Compiler to waste that many P-registers
07:52 sorear I'm planning to have callframe.my return the same sort of object as MY::
07:52 pmichaud nom: { my $a = 7;  say callframe.my.perl }
07:52 p6eval nom: OUTPUT«$/  35 $!   39 $a   43 $_   47 call_sig     51␤»
07:53 moritz nom: my $a = 1; callframe.my<$a> = 3; say $a
07:53 p6eval nom: OUTPUT«3␤»
07:53 moritz so I can't simply decontainerize
07:54 pmichaud I think you have to build an actual hash or enummap
07:54 pmichaud looking at code
07:54 pmichaud my $h := nqp::create(EnumMap);
07:54 pmichaud nqp::bindattr($h, EnumMap, '$!storage', $lexpad);
07:54 pmichaud nqp::bindattr($self, CallFrame, '%!my', $h);
07:54 tadzik moritz: want a quick late report?
07:54 moritz tadzik: sure
07:54 pmichaud I think that might not work
07:56 pmichaud ohhh!
07:56 pmichaud I know the problem.  Iterators on LexPads probably don't return the same thing as iterators on Hash PMCs
07:56 masak d'oh
07:56 pmichaud that's my guess... testing now.
07:56 tadzik moritz: so. Formatting codes are here. Embedding Pod Blocks in formatting codes is not supported yet, and for the record Damian himself isn't really sure if we should keep that in the spec and implementation. But I'll try to make it work, and if it turns out it's not so complicated it'll be fine. Now, tables tuning in Pod::To::Text as you pointed out, some workaround to expose Pod::Parser... and I think
07:56 tadzik that's it :)
07:57 moritz \o/
07:58 lue Wait, POD blocks *in* formatting codes? I don't remember seeing that in my multiple skimmings of S26...
07:58 tadzik lue: I had to read that like ten times to get the point
07:58 tadzik so, you can wrap an intire pod block in B<> or so
07:59 moritz in terms of HTML, that would be like adding block elements to inline elements
07:59 masak perl6: class C { has $x; my $x }; say "alive"
07:59 moritz aka "weird"
07:59 p6eval niecza v8-52-g3afe236: OUTPUT«Potential difficulties:â�¤  $x is declared but not used at /tmp/gqmp2ustdu line 1:â�¤------> [32mclass C { has $x; my [33mâ��[31m$x }; say "alive"[0mâ�¤â�¤aliveâ�¤Â»
07:59 p6eval ..rakudo 922500: OUTPUT«===SORRY!===␤Redeclaration of symbol $x at line 22, near " }; say \"a"␤»
07:59 p6eval ..pugs: OUTPUT«alive␤»
07:59 moritz std: class C { has $x; my $x }
07:59 p6eval std 516268a: OUTPUT«Potential difficulties:â�¤  Useless redeclaration of variable $x (see line 1) at /tmp/x0tzIwnZG_ line 1:â�¤------> [32mclass C { has $x; my $x[33mâ��[31m }[0mâ�¤ok 00:01 119mâ�¤Â»
07:59 * moritz tends to agree with rakudo here
07:59 * masak too
08:00 masak TimToady, sorear: ^^
08:00 masak I think that's a bug in STD and Niecza.
08:00 tadzik moritz: I think the point is to treat formatting codes just as ordinary pod blocks but with fancy syntax
08:00 tadzik that complicates the parser a bit though
08:01 dayangkun_ joined #perl6
08:01 lue tadzik: I actually thought about if you could do that. And also allowing formatting codes to cross blocks. (e.g.  =begin para\nHello B<World.\n=end para Bye!>)
08:02 lue s/para Bye!/para\nBye!/
08:02 sorear masak: I still don't get whatever has $x is supposed to mean.
08:02 tadzik lue: that's actually a parse warning :) S26 says that in this case =end should close the formatting code too
08:03 lue That's what I thought should happen.
08:03 moritz sorear: it install $x as an alias for $!x
08:03 sorear moritz: ...what?
08:03 sorear you mean like a macro?
08:03 tadzik although Damian said that if we're doing unification we should maybe allow all kinds of blocks to overlap, so I don't know what's the current trend
08:03 moritz tadzik: I'm against it
08:04 moritz tadzik: ie if you want my opinion, deprioritize it
08:04 tadzik moritz: what do you mean as deprioritize?
08:04 moritz tadzik: focus on all other remaining tasks (if any) first
08:04 tadzik my thought was: keep formatting codes not as powerful as pod blocks, and if you really want to bold the whole paragraph, use =begin bold or so
08:04 moritz sorear: seems like, yes. Can't be a normal lexical lookup, can it?
08:04 lue I've always seen the formatting codes as being used for short text, not as spanning multiple lines. Too bad there aren't block formatting codes (e.g. =format B or something like that)
08:05 pmichaud aha
08:05 tadzik moritz: okay
08:05 moritz lue: they can be made to exist if we want them
08:06 pmichaud okay, I figured out what's going on with .my
08:06 nordicdy_ joined #perl6
08:06 cognominal_ jonthn, I sing your praise here :  https://plus.google.com/11643812​7795030726872/posts/DwiZxrq8DJg
08:06 pmichaud in Parrot, the HashIteratorKey returns the register number for $pair.value instead of the value itself
08:07 masak tadzik: what moritz said.
08:07 pmichaud I'm guessing that's a bug
08:07 masak so sorear++ was right.
08:07 pmichaud well, I'm guessing it's the register number
08:07 tadzik masak: well, my kindle is broken for now so I can try some experimenting with crazy stuff while on the plane ;)
08:08 pmichaud it certainly looks like one.  On the other hand, I'm surprised at the number of registers in even a barebones Parrot sub
08:08 pmichaud nopaste coming shortly
08:08 tadzik also, I'll be traveling in time today ;)
08:08 lue I vote for block formatting.
08:08 tadzik oooh
08:08 tadzik =begin whatever :style('bold')
08:08 tadzik or so
08:08 moritz tadzik: if you run a debugger while time travelling, guess what you get :-)
08:09 tadzik Damian didn't want =begin bold because of namespace polluting and specialcases I think
08:09 lue Yeah. I feel like things that cover large areas should have large names, similarly for small things.
08:09 tadzik and his rationale for block if formattingcodes is "well, someone may want to bold every cell in a table"
08:09 tadzik lue++
08:10 moritz or =begin style :bold
08:10 moritz or something like that
08:11 lue For something like that, I think it should provide both the single-char version (:I) and long-name version (:important)
08:14 lue There could also be =format bold, if we want a separate directive (then have something like =unformat bold (that might not be the best choice though.))
08:14 moritz lue: :!bold would be the idiomatic approach to negation
08:15 pmichaud http://gist.github.com/1153639 # lexpad iteration fail
08:15 * lue nods
08:15 masak perl6: sub foo($x! = 42) { say $x }; foo(5); foo(); say "alive"
08:16 p6eval rakudo 922500: OUTPUT«===SORRY!===␤Cannot put default on required parameter at line 22, near ") { say $x"␤»
08:16 p6eval ..niecza v8-52-g3afe236: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Cannot put a default on a required parameter at /tmp/UWWPB8CbZX line 1:â�¤------> [32msub foo($x! = 42[33mâ��[31m) { say $x }; foo(5); foo(); say "alive"[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/li…
08:16 p6eval ..pugs: OUTPUT«5␤42␤alive␤»
08:16 pmichaud so, this tells me we cannot trust the .value method of Parrot iterators... at least where lexpads are concerned.
08:16 masak joined #perl6
08:16 masak perl6: sub foo($x! = 42) { say $x }; foo(5); foo(); say "alive"
08:16 * tadzik off for a bit of Riga wandering
08:16 p6eval rakudo 922500: OUTPUT«===SORRY!===␤Cannot put default on required parameter at line 22, near ") { say $x"␤»
08:16 p6eval ..niecza v8-52-g3afe236: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Cannot put a default on a required parameter at /tmp/tPCg084Lf5 line 1:â�¤------> [32msub foo($x! = 42[33mâ��[31m) { say $x }; foo(5); foo(); say "alive"[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/li…
08:16 p6eval ..pugs: OUTPUT«5␤42␤alive␤»
08:16 pmichaud I'm also very surprised at the number of registers being used there
08:19 lue Some formatting codes would be tricky to do in block form, such as L<>, esp. when using L<here|http://here.com> (of course, then the question arises, is L<> something that *should* be allowed in block form?)
08:20 pmichaud From src/pmc/lexpad.pmc:
08:20 pmichaud =item C<PMC *get_pmc_keyed(PMC *name)>
08:20 pmichaud Return the lexical with the given name, or NULL (not PMCNULL), if the
08:20 pmichaud lexical doesn't exist.
08:20 pmichaud ....NULL?
08:20 * pmichaud sobs
08:20 sorear why?
08:21 pmichaud vtables almost never return NULL
08:21 masak ick.
08:21 sorear it's a semipredicate problem
08:21 masak yeah.
08:21 sorear lexicals can store PMCNULL
08:21 sorear NULL is the most obvious failure value that isn't in the success domain
08:22 lue Goodnight all. I shall dream of my favorite time machine being able to take me to conferences. o/
08:22 sorear this seems to me like the Most Useful Behavior from the standpoint of someone writing C ops (find_lex_dynamic et al)
08:22 masak "Metaoperators are operators that operate on operators. Did that make sense?" -- jnthn
08:22 pmichaud ...but it doesn't actually return NULL.
08:29 masak I just wrote a farm AI that won the game \o/
08:29 moritz ...against whom?
08:30 moritz masak: I pondered writing a form AI that does mostly random responses, and use that as comparison for a "real" AI to be written later on
08:30 masak moritz: against an empty player that can't win.
08:30 masak moritz: I'd like that.
08:31 masak I could make a submission of my AI, but I'd prefer if someone else did it first.
08:31 masak mainly to root out latent bugs and inconsistencies.
08:31 masak but now we know it works.
08:33 masak it can also play and win against itself in a three-player setup.
08:35 * moritz chides masak for not paying attention in jnthn++'s class
08:36 cotto joined #perl6
08:37 masak moritz: no, I'm actually interacting quite a bit with the class, too.
08:37 masak I've been nitpicking jnthn more than pmichaud has so far ;)
08:40 pmichaud jnthn++ says that the register numbers in the LexPad PMC are left-shifted by two bits
08:40 pmichaud so, a value of 23 is really 5
08:42 moritz nom: say 5 >>+ 2
08:42 p6eval nom: OUTPUT«===SORRY!===␤Missing << or >> at line 1, near " 2"␤»
08:42 moritz nom: say 5 +>> 2
08:42 p6eval nom: OUTPUT«===SORRY!===␤Confused at line 1, near "say 5 +>> "␤»
08:42 * moritz can't remember the bitwise ops
08:43 Mowah_ joined #perl6
08:43 masak moritz: +>
08:44 moritz nom: say 5 +> 2
08:44 p6eval nom: OUTPUT«1␤»
08:44 moritz nom: say 5 +< 2
08:44 p6eval nom: OUTPUT«20␤»
08:44 moritz and the two last bits encode the type?
08:45 cotto joined #perl6
08:50 pmichaud yes
08:50 pmichaud I/N/S/P
08:50 pmichaud Parrot lexpad iteration bug filed as TT #2181
08:50 pmichaud now to work around it in nom
08:50 moritz pmichaud++
09:09 pmichaud > my $a = 7;  say callframe.my.pairs.perl
09:09 pmichaud ("\$a" => 7, "\$=POD" => [], "GLOBALish" => GLOBAL, "EXPORT" => EXPORT, "\$?PACKAGE" => GLOBAL, "\$_" => Any, "\$/" => Any, "\$!" => Any).list
09:10 moritz \o/
09:11 masak I am currently going through a set of RC source files that I got from TimToady++ and renaming them from long hexdigit strings to the corresponding RC page name.
09:11 pmichaud > { my $a = 7;  say callframe.my.pairs.perl }
09:11 pmichaud Unmarshallable foreign language value passed for parameter '$value'
09:11 pmichaud /o\
09:11 masak the objective being eventually turning these into tests and putting them in the test suite.
09:12 pmichaud masak++ masak++
09:12 mberends masak: that sounds tedious. hopefully you can soon write a script to do that automatically. Laziness...
09:13 masak yeah.
09:13 masak I'm on "A". :)
09:13 masak but so far it's nice work that goes well with jnthn++'s course.
09:13 masak we'll see how far I get today.
09:13 masak ls | wc says I have 521 snippets.
09:14 masak I'm renaming about 2 a minute.
09:15 mberends strange, the number of p6 RC entries was between 300 and 400, notso?
09:16 moritz mberends: when? :-)
09:16 * mberends may have lost track for a few days :-)
09:16 pmichaud TimToady++ has been reporting ~370 the last couple of days
09:17 pmichaud he's eager to get above the number for Perl 5
09:17 masak mberends: yes, but there are >= 1 snippets per entry.
09:17 mberends aye
09:17 masak these things make it a bit less automatable.
09:26 masak TimToady: the macro at http://rosettacode.org/wiki/Assertions is bogus. the $x in 'macro assert' comes in as an AST, not as a string, as per S06.
09:27 moritz ... and we don't have any specs yet on what you can do with ASTs
09:28 sorear we hardly have any macro specs.
09:29 sorear masak++ for doing real semantics-oriented thinking on macros
09:29 moritz right. We only have a vision for macros.
09:30 masak I went from vision to semantics during this conf. it's beautiful down here, I wish you were here.
09:30 sorear heh, "down"
09:30 sorear I live at 27N or so, I think "up"
09:30 masak I .subst'ed from "in" to "up" to "down" :)
09:31 moritz s/down/over/ :-)
09:31 masak no, I was referring to some kind of hypothetical spec space in which macros have semantics. "down" makes sense because I'm now more Damian-empowered than before :P
09:33 masak perl6: class C { sub self { say "OH HAI" }; method x { say self.p } }; C.x
09:33 p6eval niecza v8-52-g3afe236: OUTPUT«Potential difficulties:â�¤  &self is declared but not used at /tmp/xgWyBzMCWp line 1:â�¤------> [32mclass C { sub self [33mâ��[31m{ say "OH HAI" }; method x { say self.p [0mâ�¤â�¤Unhandled exception: Unable to resolve method p in class Câ�¤  at /tmp/xgWyBzMCWp line…
09:33 p6eval ..rakudo 922500: OUTPUT«Method 'p' not found for invocant of class ''␤  in 'C::x' at line 22:/tmp/wggOsm9LYo␤  in main program body at line 22:/tmp/wggOsm9LYo␤»
09:33 p6eval ..pugs: OUTPUT«OH HAI␤*** No such method in class Bool: "&p"␤    at /tmp/gOmd5DR33s line 1, column 53-60␤»
09:33 masak perl6: class C { sub self { say "OH HAI" }; method x { say self() } }; C.x
09:34 p6eval rakudo 922500, niecza v8-52-g3afe236: OUTPUT«OH HAI␤Bool::True␤»
09:34 p6eval ..pugs: OUTPUT«OH HAI␤1␤»
09:34 moritz masak: I was about to try that too
09:34 masak :)
09:34 moritz rakudo++
09:34 moritz niecza++
09:34 moritz pugs++
09:34 masak moritz: jnthn, I and you thought of it at the same time :)
09:35 masak rakudo: class C { method x {} }; say C.can("x"); say C.can("y")
09:35 p6eval rakudo 922500: OUTPUT«␤»
09:35 masak huh?
09:36 moritz nom: class C { method x {} }; say C.can("x"); say C.can("y")
09:36 p6eval nom: OUTPUT«x␤␤»
09:37 sorear .can returns an iterator, that looks like iterator funkyness to me
09:38 moritz rakudo: class C { method x {} }; say C.can("y").WHAT # probably a Failure, no?
09:38 p6eval rakudo 922500: OUTPUT«␤»
09:38 masak mmmrmmr.
09:38 moritz rakudo: class C { method x {} }; say C.can("y").PARROT
09:38 p6eval rakudo 922500: OUTPUT«␤»
09:39 moritz rakudo: class C { method x {} }; say C.can("y").PARROT; say 'alive'
09:39 p6eval rakudo 922500: OUTPUT«␤alive␤»
09:39 moritz rakudo: class C { method x {} }; say pir::typeof__SP C.can("y"); say 'alive'
09:39 p6eval rakudo 922500: OUTPUT«Nil␤alive␤»
09:39 moritz rakudo: say Nil.WHAT
09:39 p6eval rakudo 922500: OUTPUT«␤»
09:40 moritz heh, Nil.WHAT returns Nil
09:40 moritz and say() treats Nil as an empty list :-)
09:41 sorear niecza: say Nil.WHAT
09:41 p6eval niecza v8-52-g3afe236: OUTPUT«Nil␤»
09:41 sorear nom: say Nil.WHAT
09:41 p6eval nom: OUTPUT«Nil␤»
09:42 masak jnthn is describing default attribute initialization. I encourage people to go back to A12 and read about the initial proposal. it's... awful! :)
09:42 masak three levels of blocks, IIRC.
09:42 masak well, up to three levels.
09:42 masak so it's like, "has $.a = 42 means this, has $.a = { 42 } means that, has $.a = {{ 42 }} means some other thing".
09:43 pmichaud I'm having trouble figuring out what to do with the "call_sig" lexical.  :(
09:43 im2ee_ joined #perl6
09:43 moritz filter it out :-)
09:44 pmichaud well, that's not exactly easy
09:44 moritz nom: sub f($x) { say ::('call_sig').WHAT }; f 1
09:44 p6eval nom: OUTPUT«Can only use get_what on a SixModelObject␤  in sub f at /tmp/ZJB7fL1S6u:1␤  in mu <anon> at /tmp/ZJB7fL1S6u:1␤  in mu <anon> at /tmp/ZJB7fL1S6u:1␤␤»
09:44 pmichaud yeah, that's the problem.
09:44 pmichaud it's a Parrot PMC
09:45 moritz nom: sub f($x) { pir::say pir::typeof ::('call_sig') }; f 1
09:45 sorear why do you want to filter it out?
09:45 p6eval nom: OUTPUT«===SORRY!===␤error:imcc:syntax error, unexpected '\n'␤      in file '(file unknown)' line 35810484␤␤»
09:45 moritz nom: sub f($x) { pir::say pir::typeof__SP ::('call_sig') }; f 1
09:45 p6eval nom: OUTPUT«===SORRY!===␤error:imcc:syntax error, unexpected '\n'␤      in file '(file unknown)' line 56409268␤␤»
09:46 moritz sorear: only 6model based objects are allowed as arguments to Perl 6 code objects
09:46 moritz in rakudo at least
09:48 moritz oooh, https://github.com/joyent/libuv looks interesting
09:52 sorear pmichaud: waitwaitwait.  Why are the values returned from the LexPad being shifted?  Last I heard only P lexicals were allowed anyway.
09:52 masak lunch &
09:52 moritz sorear: you're so last month (or even last quarter?)
09:53 moritz nom: my int $i = 1; say $i
09:53 p6eval nom: OUTPUT«1␤»
09:53 sorear moritz: is that a real Parrot lexical?
09:53 moritz sorear: yes
09:54 moritz sorear: it appears in PAST trees as lexical_6model, but it does use parrot's *lex* ops
09:55 moritz sorear: see parrot commits 25d1b0b7a..39218c2
10:15 tadzik any elegant way to find the maximum value of the first column in a matrix?
10:15 tadzik smarter than an ordinary loop
10:15 moritz >>.[0].max
10:15 tadzik like Array.mirror or... oh cool
10:15 flussence [max] @foo[*][0]?
10:15 tadzik thanks moritz
10:16 tadzik I tried something like @foo[0..*][0] but no success
10:16 moritz flussence: I fear that kind of multidim slicing is NYI
10:16 flussence aww
10:16 tadzik yeah, it seems so
10:16 tadzik reacts exactly as @a[0]
10:17 moritz it might need to become [*;0] in order to work out
10:17 moritz unless there's some macro-ish rewriting behind the scenes
10:35 MayDaniel joined #perl6
10:49 perlhack joined #perl6
10:49 perlhack hat
10:49 perlhack left #perl6
10:49 perlhack joined #perl6
10:51 perlhack :-)i dit not come for several days.
10:52 tadzik hello perlhack
10:52 perlhack hi tadzik
10:52 tadzik moritz: it's broken for Arrays for some reason :/
10:53 tadzik or I'm missing something
10:54 tadzik nom: Array.new(["foo", "bar", "dupa"], ["asd", "foobar "arr"], ["aroo", "brr", "bah"]); say (@a».[0]).perl;
10:54 p6eval nom: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 1␤»
10:54 tadzik nom: my @a = Array.new(["foo", "bar", "dupa"], ["asd", "foobar "arr"], ["aroo", "brr", "bah"]); say (@a».[0]).perl;
10:54 p6eval nom: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 1␤»
10:54 arnsholt Missing a comma
10:54 tadzik oh
10:54 arnsholt And a quote
10:54 tadzik nom: my @a = Array.new(["foo", "bar", "dupa"], ["asd", "foobar", "arr"], ["aroo", "brr", "bah"]); say (@a».[0]).perl;
10:54 p6eval nom: OUTPUT«(["foo", "bar", "dupa"], ["asd", "foobar", "arr"], ["aroo", "brr", "bah"])␤»
10:55 tadzik thanks arnsholt
10:55 arnsholt Least I could do =)
10:57 finanalyst joined #perl6
10:59 Trashlord joined #perl6
11:03 tadzik no, it's not an array case. Hmm
11:03 tadzik nom: my @a = List.new(["foo", "bar", "dupa"], ["asd", "foobar", "arr"], ["aroo", "brr", "bah"]); say (@a».[0]).perl;
11:03 p6eval nom: OUTPUT«(["foo", "bar", "dupa"], ["asd", "foobar", "arr"], ["aroo", "brr", "bah"])␤»
11:04 pernatiy joined #perl6
11:04 uniejo_in_riga joined #perl6
11:06 am0c joined #perl6
11:07 tadzik okay, I can workaround with map
11:09 tadzik yay great!
11:09 * tadzik boards
11:15 masak class Room is Cool
11:15 masak perlhack! \o/
11:16 masak perlhack: we've missed you.
11:20 pmichaud back from lunch
11:20 moritz nom: my @a = [1, 2, 3], [7, 3], [8, 5]; say @a>>.[0].max
11:20 p6eval nom: OUTPUT«8 5␤»
11:20 moritz nom: my @a = [1, 2, 3], [7, 3], [8, 5]; say @a>>.[0].perl
11:20 p6eval nom: OUTPUT«([1, 2, 3], [7, 3], [8, 5])␤»
11:20 masak ooh! RC contains Haskell code translated from Perl 6. for some reason, I'm surprised by this.
11:21 moritz for some reason I'm not surprised by this.
11:21 moritz I am surprised by the results above though
11:21 moritz nom: my @a = [1, 2, 3], [7, 3], [8, 5]; say @a>>.perl.say
11:21 p6eval nom: OUTPUT«1 2 3 7 3 8 5␤Bool::True␤»
11:21 moritz nom: say [<a b c>]>>.uc.perl
11:21 p6eval nom: OUTPUT«("A", "B", "C")␤»
11:22 moritz nom: my @a = ("a", "b", "c"); say @a>>.uc.perl
11:22 p6eval nom: OUTPUT«("A", "B", "C")␤»
11:22 moritz nom: my @a = [1, 2, 3], [7, 3], [8, 5]; say @a>>.at_key(0).perl
11:22 p6eval nom: OUTPUT«Method 'at_key' not found for invocant of class 'Int'␤  in method reify at src/gen/CORE.setting:3449␤  in method reify at src/gen/CORE.setting:3354␤  in method reify at src/gen/CORE.setting:3354␤  in method gimme at src/gen/CORE.setting:3693␤  in method eager at src/gen/CORE…
11:22 moritz oh, the hyper hypers recursively!
11:22 moritz should it do that?
11:22 pmichaud yes.
11:23 moritz I guess it never did in master
11:23 * moritz has to adjust some internal models
11:24 masak` joined #perl6
11:27 cotto joined #perl6
11:29 pmichaud ...my connection to feather died.  :(
11:29 pmichaud (feather is okay... I just can't reach it from here)
11:30 pmichaud hypers hypering recursively was the consensus opinion a week or so ago (and nom implements that).
11:30 pmichaud "hyper is not .map"
11:30 moritz it was so convenient as a kind of map ;-)
11:31 pmichaud well, you're okay as long as there aren't any nested Iterables :)
11:31 cosimo joined #perl6
11:44 colomon rakudo: my @a = [1, 2, 3], [7, 3], [8, 5]; say @a>>.perl.say
11:44 p6eval rakudo 922500: OUTPUT«[1, 2, 3][7, 3][8, 5]␤Bool::True␤»
11:44 masak` TimToady: proposal: a junctional a ? b ! c trinary operator. :P
11:45 masak you know you want it.
11:56 colomon just say no
11:58 masak mberends: FYI, I've now tired of renaming files manually, and I'm building a script to scrape RC instead.
11:59 moritz masak: have you seen my script that does that (partially) already?
11:59 mberends \o/
11:59 moritz http://moritz.faui2k3.org/tmp/rc-scrape.txt might serve as a start
12:00 masak ooh
12:01 * masak looks
12:01 masak that's about what I'm writing now.
12:01 masak but I'm using Perl 6.
12:01 moritz it currently just prints to stdout
12:02 masak I'm going to put things in files in output/
12:02 masak will post to gist when I'm done.
12:05 _jaldhar joined #perl6
12:15 Holy_Cow joined #perl6
12:23 agentzh joined #perl6
12:24 panchiniakk joined #perl6
12:24 panchiniakk left #perl6
12:25 panchiniakk joined #perl6
12:26 pmichaud even when I cut a bunch of classes and types out of the setting, it still takes a long time to compile.
12:27 pmichaud so... something else must be going on.  time for some reorganization, I think.
12:27 moritz pmichaud: I guess it's related to the memory leak
12:28 pmichaud it could be, yes.
12:28 pmichaud I notice a few oddities with stubs so I'm going to clean those up first
12:28 moritz I could try to bisect it
12:28 pmichaud a bisect would be useful too.
12:28 moritz it'll take some time (unsurprisingly :-)
12:29 uniejo_in_riga joined #perl6
12:30 moritz oh, if I'm in luck I can just 'make perl6' every time without compiling the setting
12:31 flussence would the timings from http://smolder.parrot.org/a​pp/projects/smoke_reports/5 help to narrow it down at all?
12:31 uniejo_in_riga joined #perl6
12:31 flussence (I've been running a cronjob every 4am that sends results to there)
12:32 pmichaud flussence: they very well might
12:32 pmichaud I think moritz++ is bisecting the 'while 1 { }' memory leak, though.
12:32 flussence oh, different things :)
12:32 pmichaud mainly I'm looking at the time needed to compile the core setting
12:33 pmichaud somewhere recently we've had a flip where compiling the AST takes longer than parsing (traditionally parsing has taken much longer)
12:33 pmichaud so I'm trying to find the reason for the change in the compilation speed profile
12:34 moritz pmichaud: I've also noticed that some operations used rakudo's operators from the setting, where I would have expected nqp operators
12:35 moritz pmichaud: it be that I was confusebd about which file I edited, or maybe something did get mixed up
12:39 moritz bad luck, the first revision I chose for checking if it already leaked there did not build :/
12:40 hanekomu joined #perl6
12:44 flussence moritz: which git commit? It just so happens I have a very long list of nom commits which do and don't build for me... :)
12:45 panchiniakk left #perl6
12:45 moritz flussence: I had tried 3bd768546810d22b1b1ab071d87dab5895a48e93, now on 9ffc446a46a0fcf848e1d1a482d8c2b64284a3aa
12:46 flussence hm, I did have to skip a large chunk of the early nom branch...
12:47 flussence the earliest commit I've got that compiled and ran is a65c17fe
12:48 flussence oh, that's from the middle of July.
12:48 flussence .oO( looks like I'm missing some numbers... )
12:49 masak fetching script now works. preparing gist.
12:50 moritz good news: 9ffc446a46a0fcf848e1d1a482d8c2b64284a3aa doesn't leak yet
12:50 moritz so I can start the actual bisect
12:50 pmichaud that's very good new
12:50 pmichaud *news
12:51 moritz aye, it means that we had some substantial 6model things working without such obvious leaks
12:52 masak get all rosetta code Perl 6 snippets: https://gist.github.com/1154000
12:52 masak I've started the script now. it'll take a while to run to completion.
12:52 icwiener joined #perl6
12:54 uniejo_in_riga joined #perl6
12:57 bluescreen10 joined #perl6
12:59 moritz ZA-1208-g9c93942: not leaky
13:09 moritz ZA-1227-g2ad1cba: not leaky
13:10 * [Coke] was going to complain, "are we going to get updates on every single version", but sees that it's a 10m wait time.
13:11 colomon [Coke]: and he's bisecting...
13:11 moritz [Coke]: bisect doesn't visit every single revision, that's the beauty
13:13 [Coke] ... I know that.
13:14 [Coke] every single version that you're testing. I will be sure to omit no more defaults for the sake of clarity.
13:16 * moritz has a bad feeling
13:16 moritz whenever I do a bisect where the first few results are all the same, it means that I didn't chose the boundaries properly
13:17 moritz or I'm on the wrong branch, or something
13:19 bluescreen10 joined #perl6
13:20 orafu joined #perl6
13:22 moritz ah yes, I forgot to 'git pull' in that copy of rakudo
13:22 moritz so its newest commit is from 2011-07-21
13:22 moritz ZA-1241-g2357ca6 is still good, and I'm stupid
13:26 pmichaud ZA-1241 seems really.... old
13:27 _jaldhar joined #perl6
13:29 moritz 15:22 < moritz> ah yes, I forgot to 'git pull' in that copy of rakudo
13:29 pmichaud yeah, I see
13:29 moritz that's why bisect was only searching in old commits
13:29 moritz I used 'nom' as "bad revision"
13:32 JimmyZ joined #perl6
13:33 moritz somehow git bisect seems like it should be trivial to use, and I still manage to mess it up every single time
13:36 moritz ZA-1503-g9a99a12 is leaky
13:53 im2ee joined #perl6
13:54 uasi joined #perl6
13:55 uasi joined #perl6
13:56 abercrombie joined #perl6
14:07 Grimnir_ joined #perl6
14:09 masak I just wrote an email to p6l about my readonly attribute/deep cloning problems.
14:09 dalek rakudo/nom: 48a44ea | pmichaud++ | src/core/ (8 files):
14:09 dalek rakudo/nom: Move &infix:<eqv> and &infix:<===> candidates into their appropriate files.
14:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/48a44ea954
14:09 dalek rakudo/nom: c69d4ba | pmichaud++ | src/core/ (11 files):
14:09 dalek rakudo/nom: Refactor core class stubs a bit.
14:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c69d4ba028
14:12 masak did someone write a DI framework in Perl 6?
14:12 dalek rakudo/nom: 66675a3 | pmichaud++ | tools/build/Makefile.in:
14:12 dalek rakudo/nom: Need update to Makefile ordering for stubs refactor.
14:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/66675a30b3
14:13 PerlJam masak: I think so.
14:13 moritz pmichaud: why do you pull stubs out of stubs.pm?
14:13 pmichaud I prefer the stubs to be with the things that need them.
14:13 pmichaud instead of just generic "at the top"
14:14 * masak .oO( because they're pm's stubs )
14:14 moritz pmichaud: I put some in there so that adding new uses of a symbol is less likely to break compilation if done before the stub
14:14 moritz and since setting compilation takes quite some time, I take every straw (that's not obviously wrong) that reduces the number of recompilation attempts during my attempts to patch rakudo
14:14 pmichaud moritz: I'm experimenting with removing classes from the core (to see if I can figure out where a lot of the slowdown is), and having the stubs always there is getting in my way
14:15 moritz ah
14:15 pmichaud because I can't removed any stubbed class
14:15 pmichaud *remove
14:15 pmichaud (because then it's left open)
14:15 pmichaud it doesn't have to be a permanent change; if we later decide it's better to stub everything at once I may agree with it then
14:16 pmichaud also, I've found a number of places where we have "class Foo ..." instead of "my class Foo ..."  and I was trying to clean those up a bit
14:16 moritz yes, I noticed that in the diffs
14:16 * moritz is to blame for at least some of them :(
14:16 pmichaud also, I wanted to clean up the sequence of files in the Makefile to reduce forward references a bit more (there's more to be done there)
14:17 pmichaud and the stubs interfered with that
14:18 masak moritz: re the p5chom?p question yesterday, it's from a time in Perl 6 history when people were thinking about 100% translatability from Perl 5 to Perl 6.
14:18 pmichaud I'm fine with removing p5chom?p, or relegating it to a module
14:18 masak moritz: since then, p5=> has disappeared as an operator and has become a by-need macro instead.
14:19 * masak removes p5chom?p
14:19 moritz masak: I think chom?p are one of the smallest problem in an automatic 5 -> 6 translation
14:19 colomon \o/
14:20 moritz and "magic" built-ins like open(FOO) # yes, there's a one-argument form in p5
14:20 moritz split()
14:20 moritz and so on cause much more headache
14:20 moritz so, +$large_number for removing
14:20 masak moritz: agreed.
14:22 dalek specs: 9538e55 | masak++ | S32-setting-library/Str.pod:
14:22 dalek specs: remove p5chop/p5chomp
14:22 dalek specs:
14:22 dalek specs: In a p5->p6 translator, mimicking Perl 5's chop/chomp
14:22 dalek specs: semantics is the least of our problems, and the answer
14:22 dalek specs: probably isn't to keep around builtins for it in the
14:22 dalek specs: Perl 6 setting.
14:22 dalek specs: review: https://github.com/perl6/specs/commit/9538e55c7d
14:22 masak Perl 6 just keeps getting nicer. :)
14:23 moritz masak++ # for exterminating
14:23 JimmyZ joined #perl6
14:24 PerlJam masak: it does.  Though I'm not a native thinker yet.  I still think primarily in Perl 5 terms.
14:25 moritz so somebody please revert commit 6cac7f1d1b44ba80b0ce799ae9774dd27004393a in nom :-)
14:25 masak PerlJam: I felt pretty native in my Perl 6 thinking. then I went and attended jnthn++'s talk yesterday.
14:26 moritz heh :-)
14:26 * masak reverts
14:27 pmichaud there really ought to be an online video of jnthn++ giving his talk
14:27 pmichaud (the grammar debugger)
14:27 masak maybe there will be.
14:28 pmichaud well, I mean that if there isn't one, we should make one.
14:28 pmichaud have jnthn++ give the talk again somewhere and make sure it's videoed :)
14:28 slavik joined #perl6
14:28 dalek rakudo/nom: 39f444a | masak++ | / (2 files):
14:28 dalek rakudo/nom: Revert "implement p5chomp, p5chop (scalar case only)"
14:28 dalek rakudo/nom:
14:28 dalek rakudo/nom: This reverts commit 6cac7f1d1b44ba80b0ce799ae9774dd27004393a.
14:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/39f444a818
14:28 cognominal_ pmichaud, I am sold on it even if I did not see the talk. The source is great.
14:29 masak jnthn++
14:29 colomon masak: are you going to fix the p5cho* tests in roast, too.
14:29 colomon ?
14:30 colomon grammar debugger?
14:30 cognominal_ can't wait to see the slides.
14:30 pmichaud colomon: grammar debugger.
14:30 cognominal_ https://github.com/jnthn/grammar-debugger
14:30 pmichaud colomon: it provides a trace of a regex match, allows interactive setting and clearing of breakpoints, single-stepping matches, etc.
14:30 masak colomon: oh, all right.
14:31 colomon pmichaud: OMG!
14:31 pmichaud it's pretty awesome.
14:31 pmichaud all written in Perl 6
14:31 colomon nom-based?
14:31 masak yeah.
14:32 pmichaud yes, of course.
14:32 pmichaud no modifications to the regex engine
14:32 masak pure meta.
14:32 cognominal_ I was unable to run it. So it must be a specific nom version.
14:32 masak probably need a fairly new one, yes.
14:33 moritz and Debugger.pm is just 172 lines of fairly readable code
14:33 colomon Tracer.pm is just 44 lines!
14:33 cognominal_ may be even with patches not yet commited by jnthn.
14:34 moritz do both of them work together? :-)
14:34 dalek roast: cf3c382 | masak++ | S32-str/p5cho (2 files):
14:34 dalek roast: remove p5chomp.t and p5chop.t
14:34 dalek roast:
14:34 dalek roast: These builtins just got de-spec'd.
14:34 dalek roast: review: https://github.com/perl6/roast/commit/cf3c382538
14:34 pmichaud I don't think there are uncommitted patches.
14:34 * colomon wasn't aware we had Term::ANSIColor yet
14:34 moritz ah, both set up their own GrammarHOW, so they are mutually exclusive
14:35 pmichaud yes, they're mutually exclusive
14:35 pmichaud but Grammar::Debugger will let you do pretty much what Grammar::Tracer does
14:35 cognominal_ I dont see any GrammarHow in the nom sources so I don't see how it can hookup
14:36 pmichaud allcaps on the HOW
14:36 pmichaud src/gen/Metamodel.pm
14:36 dalek rakudo: a553460 | masak++ | t/spectest.data:
14:36 dalek rakudo: [t/spectest.data] remove p5chop.t and p5chomp.t
14:36 dalek rakudo: review: https://github.com/rakudo/rakudo/commit/a553460953
14:36 cognominal_ silly me
14:37 donri joined #perl6
14:38 colomon masak: you went a post to p6-language.  that worries me.  ;)
14:40 colomon masak: nothing wrong with your observations, mind you, it's just p6l scares me.
14:40 masak` joined #perl6
14:40 colomon tadzik++ # the old panda I had sitting around just installed Term::ANSIColor for me.
14:41 colomon ... set up to work with master, not nom.  Not tadzik's fault, of coure!
14:42 dalek rakudo/nom: 3a2e045 | masak++ | t/spectest.data:
14:42 dalek rakudo/nom: [t/spectest.data] remove p5chop.t and p5chomp.t
14:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3a2e045dba
14:44 JimmyZ joined #perl6
14:49 im2ee joined #perl6
14:51 im2ee_ joined #perl6
14:53 Trashlord joined #perl6
14:56 thou joined #perl6
14:58 dalek rakudo/nom: 85e004f | pmichaud++ | src/core/metaops.pm:
14:58 dalek rakudo/nom: Fix "undefined value" warning in hyperoperators noted by jnthn++ .
14:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/85e004fa2e
15:00 moritz you'll never guess the result of my triage
15:00 moritz 09c8fab0947aba1e3bb7bb97ab79c65b8e9827f7 is the first bad commit
15:00 moritz and all it did was adding :D's to invocants
15:00 flussence .oO( I guess that makes them :( constraints )
15:01 masak moritz: "all it did"... :P
15:01 Moukeddar joined #perl6
15:01 moritz masak: well, apart from adding a gaping memory hole, of course
15:01 masak flussence: well, note that the :D: can be read as both a :D and a D:
15:02 * JimmyZ was waiting jnthn++'s slides
15:02 moritz masak: btw there was no need to remove p5chop.t from master's t/spectest.data -- master tracks its own roast branch
15:03 envi joined #perl6
15:03 masak oh!
15:04 colomon https://github.com/rakudo/rakudo/commit/​09c8fab0947aba1e3bb7bb97ab79c65b8e9827f7 eh?
15:04 masak moritz: how come that patch is adding a bunch of Str/Int/Num invocant types to things the (to my eye) should be Cool?
15:04 colomon moritz: do you reckon it's the :Ds or the multis?
15:05 masak moritz: oh, I'll un-ask my question.
15:05 masak they're in the corresponding classes.
15:05 moritz masak: I'm killing the buffer in which I prepared the reply :-)
15:06 masak :)
15:06 colomon moritz: ah, only one case where multi was actually added?
15:06 moritz colomon: I kinda suspect it's method Int.Bool, because that's what   while 1 { }  actually calls
15:06 masak it feels a bit redundant to give the type of the invocant inside the class.
15:07 masak is it possible to write _:D: or something?
15:07 moritz masak: :D is now the default
15:07 moritz masak: (except in nom, where it's NYI)
15:07 masak oh, ok.
15:07 masak phew.
15:07 colomon masak: isn't the entire class Num { method foo(Num:D:)  } thing obsolete now?
15:07 colomon what moritz said, I mean
15:08 colomon is that actually implemented, or just spec?
15:08 moritz 17:07 < moritz> masak: (except in nom, where it's NYI)
15:08 pmichaud it's wavy spec
15:08 pmichaud "wiggly spec" :-)
15:10 masak is "wiggly" different from "slushy"?
15:10 masak sounds like a dry variant of the concept.
15:12 pmichaud ./perl6 -e 'while True { }'  does not leak
15:12 colomon moritz: is it implemented anywhere?
15:12 pmichaud so I suspect moritz++ is correct about the leak source
15:12 moritz colomon: in TimToady++'s head, probably?
15:13 moritz jnthn: see above, it seems that InvocantType:D: restraints leak
15:13 masak I encourage someone to write the first little-animal-farm AI. I have an unpublished one already which can win the game, but does it in ~100 turns.
15:14 masak if someone wants my AI code for inspiration, I could email it to that someone.
15:14 masak I don't want to gist it, though.
15:14 moritz another data point: perl6 -e 'sub f(Int $x) { }; while True { f(1) }'  is fine,  perl6 -e 'sub f(Int:D $x) { }; while True { f(1) }'  leaks
15:15 moritz so it doesn't matter if it's the invocant
15:15 masak moritz++
15:17 pmichaud oddly:  sub f(Int:d $x) { True };   while f(1) { }     doesn't leak for me
15:18 moritz is :d the same as :D?
15:18 pmichaud uppercase (typo)
15:19 am0c_ joined #perl6
15:19 moritz that is curious indeed
15:19 moritz one more
15:19 pmichaud sub f(Int:D $x) { True }
15:19 pmichaud while f(1) { }
15:19 pmichaud (no leak)
15:19 moritz while True { 1.Bool } # also leaks
15:19 pmichaud (or if there is a leak, it's really slow)
15:20 JimmyZ FYI,  compile setting takes about 600MB here
15:20 moritz JimmyZ: 32 bit OS?
15:20 JimmyZ yes
15:20 JimmyZ under ubuntu
15:20 colomon is the theory that the leak is causing the nom compiling slowdown, or is this a separate issue?
15:21 moritz pmichaud: ah yes, I was looking for a leak in the order ~3 MB/s, if something stayed apparent constant for 3s I classified it as "not leaky"
15:21 masak here's the template for writing a player AI: https://gist.github.com/1154298
15:21 moritz JimmyZ: it taks about twice as much on a 64bit system
15:21 moritz colomon: that is one of my theories
15:21 JimmyZ wow, that's 1.2GB
15:21 moritz JimmyZ: correct :(
15:22 pmichaud while True { f(1) }   is a slow leak on my system
15:22 * JimmyZ is trying compiling again
15:23 moritz pmichaud: and 1.Bool inside the loop makes it leak fast?
15:23 mdrc joined #perl6
15:24 * JimmyZ plays java with maven and eclipse , and feeled very sad
15:24 mdrc hello, will perl6 be able to make use of the local character classes for the current locale?
15:24 * masak hugs JimmyZ
15:24 masak mdrc: yes.
15:24 mdrc good
15:24 masak it's extensible enough to support that.
15:25 moritz mdrc: I think that one of the lessons of Perl 5 was that locales should not go into the core of the language, but Perl 6 is flexiable enough so that modules can make that happen
15:25 masak indeed.
15:25 JimmyZ my boss wants to  use mahout  in eshop :(
15:25 mdrc ok. then what about the good ol' perl classes?
15:25 masak in fact, all of the grammar and the object system are overridable enough that you'd have to be pretty inventive in order to get something other than a "yes" to a "will Perl 6 be able to...?" question.
15:25 moritz mdrc: many of the problems that locales tried to solve (related to different character sets) can be solved much more universally with Unicode
15:25 pmichaud looks like it's a nested runloop leak
15:26 masak mdrc: jnthn just held a good ol' Perl class. :D
15:26 mdrc yea, i've noticed the pattern mode becomes more flexible
15:26 masak mdrc: no, seriously. what do you mean by that? do you want a hash to pretend to be an object?
15:27 masak mdrc: I think representational polymorphism could do that.
15:27 moritz or character classes like \s, \w etc?
15:27 masak oh, those classes.
15:27 masak yes, they're there, of course.
15:27 masak and we have grammars \o/
15:27 cotto joined #perl6
15:27 mdrc i'm writing something like this: my ( $i, $mode ) = /([[:digit:]]+):(.*)/;
15:28 mdrc but at first i used [[:num:]] instead
15:28 kboga left #perl6
15:28 rdesfo joined #perl6
15:28 pmichaud while True { pir::set__SP(1); Nil }   # leaks really fast
15:29 masak mdrc: that looks... wrong. you seem to be assigning a regex to $i.
15:29 mdrc it idea is a list context result to assign the lval list
15:30 masak no, a regex only starts matching in boolean context in Perl 6.
15:31 mdrc err the idea* sry. it works in perl5
15:31 masak and even then, it doesn't give back a list of things, but a Match object.
15:31 masak it works in Perl 5. not in Perl 6.
15:31 moritz mdrc: in p5, /.../ always matches agaist $_. In Perl 6 you need to use m/.../ to force that immediate match
15:32 mdrc and you can't represent the match object as a list?
15:32 moritz /.../ constructs a regex, and the receiver can decide what do with it
15:33 TimToady m// runs immediately though
15:33 TimToady while rx// is always lazy
15:33 masak mdrc: to represent the match object $/ as a list, just do @$/ or @($/) or $/.list
15:33 mdrc fine
15:34 moritz TimToady: what would you think of $/.pre and $/.post, which return the parts of $/.orig before and after the match?
15:34 moritz would be cheap, since already store orig, from and to
15:34 moritz std: $`
15:34 p6eval std 516268a: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of $` variable; in Perl 6 please use explicit pattern before <( at /tmp/3lKeoeqYFw line 1:�------> [32m$`[33m�[31m<EOL>[0m�Parse failed�FAILED 00:01 118m�»
15:35 pmichaud possible puns with PRE and POST, though.
15:35 moritz then you could make that 'use $/.pre'
15:35 moritz hm, .before and .after?
15:35 pmichaud possible puns with infix:<before> ....
15:36 pmichaud pretext and posttext :-)
15:36 moritz well, also puns with <?before> and <?after>, which kinda fits
15:36 pmichaud .prologue and .epilogue :)
15:36 * moritz can't even spell those
15:38 masak .leading and .trailing
15:38 masak .prior and .posterior
15:39 mdrc well, then i guess it's going to be easier to recall those classes. thanks
15:39 mdrc bye
15:39 moritz that's #perl6 - I ask about a feature, and instead of a "yes" or "no" or "not sure" we get a bikeshed over the names :-)
15:39 masak .antecedent and .subsequent
15:39 flussence .oO( .← and .→ )
15:40 masak flussence: that's not RTL-proof, though.
15:40 flussence or latin-1-proof :)
15:40 moritz and wouldn't it need to be ←. anyway? :-)
15:40 * masak boggles
15:41 TimToady I'm fine with the feature, whatever the name
15:41 masak moritz: srsly though, either .pre/.post or .before/.after would be fine with me.
15:42 masak moritz: maybe the latter is better because it has more to do with grammars.
15:42 TimToady unless we run into "sawampersand" problems
15:42 masak seems not, since we already have the positions of the match stored.
15:42 moritz niecza: 'abcdefg' ~~ /./; say $/.orig
15:42 p6eval niecza v8-52-g3afe236: OUTPUT«abcdefg␤»
15:44 masak I notice that .trim-leading and .trim-trailing aren't spec'd, by the way.
15:44 moritz is .trim ?
15:46 masak yes.
15:47 dalek specs: d1f6d86 | moritz++ | S05-regex.pod:
15:47 dalek specs: spec $/.before and $/.after
15:47 dalek specs: review: https://github.com/perl6/specs/commit/d1f6d86c8e
15:47 TimToady .before and .after are bad
15:47 moritz why?
15:47 TimToady which is which?
15:48 moritz I don't see why they are worse than <?before> and <?after>
15:48 TimToady <before> looks at what is after
15:48 TimToady we only get away with it as an assertion because it's a predicate
15:49 TimToady it doesn't work as a nown
15:49 TimToady noun
15:49 masak *nod*
15:49 masak so, .pre and .post, then?
15:49 masak or are they just as bad?
15:49 masak how about .leading and .trailing?
15:49 TimToady .past and .future :)
15:49 * moritz doesn't see the problem. We have a direction defined (otherwise <?before and <?after don't make sense), and in that direction it's pretty clear to me what .before means
15:50 TimToady it's not at all clear
15:50 SHODAN joined #perl6
15:52 moritz so, what would be clearer?
15:52 masak .water and .air :P
15:53 * masak 's vote is now on .leading and .trailing, because of .trim-*
15:53 masak maybe .lead and .trail
15:53 moritz dollar_backtick, dollar_single_quote *cough*
15:53 flussence .port and .starboard?
15:53 * masak whaps moritz with a printout of perldoc
15:53 moritz flussence: you think this is cute today...
15:53 masak flussence: also not RTL-safe :P
15:54 * tadzik is back
15:54 TimToady was only half joking with .past and .future :)
15:54 masak unless RTL people are always facing backwards on the boat.
15:54 colomon $PREMATCH and $POSTMATCH, eh?>
15:54 masak well, .prematch and .postmatch
15:55 masak that's actually kinda clear.
15:55 moritz since I don't understand the ambiguty wrt .before and .after, I can't tell whether .pre and .post suffer from the same
15:55 masak moritz: me neither.
15:55 masak moritz: depends whether the ambiguity is tied to the keywords <?before and <?after, I guess.
15:57 moritz maybe <?after> should be <?behind>
15:57 TimToady no, it's an assertion about the current position
15:58 TimToady it's not "look after"
15:58 TimToady it's declarative, not operational
15:58 moritz maybe lookarounds are just intrinsically confusing :-)
15:58 TimToady the problem is that .method is not clearly declarational
15:59 TimToady regex are by nature declarative, methods are not
15:59 TimToady hence the greater ambiguity
15:59 flussence +1 to prematch/postmatch, just for the sake of being nice to p5 users
15:59 flussence (though the "match" part is kinda implied with $/...)
16:00 TimToady I'm okay with .prematch and .postmatch, since it specifies the noun
16:00 masak I like it too.
16:01 masak even though a prematch isn't a kind of match in this case.
16:01 TimToady and because that's what they are in p5
16:01 TimToady it's before the match
16:01 masak well, unless you pretend that they're the ground to the actual match's figure.
16:01 TimToady or after :)
16:02 moritz nom: 'a1b' ~~ /\d/; say $/.orig.substr(0, $/.from)
16:02 p6eval nom: OUTPUT«a␤»
16:02 donri joined #perl6
16:02 moritz nom: 'a1b' ~~ /\d/; say $/.orig.substr(0, $/.to)
16:02 p6eval nom: OUTPUT«a1␤»
16:02 hanekomu joined #perl6
16:02 moritz nom: 'a1b' ~~ /\d/; say $/.orig.substr($/.to)
16:02 p6eval nom: OUTPUT«b␤»
16:02 TimToady more procedural would be .skipped and .unscanned or some such
16:02 masak bleurgh.
16:02 masak not symmetric enough.
16:03 TimToady .beforefrom .afterto :)
16:03 masak :)
16:03 TimToady .prefrom .postto
16:03 moritz .oO( .hitherto )
16:03 c1sung joined #perl6
16:03 TimToady .henceforth
16:03 masak .whenceforth
16:04 dalek specs: 1baf5fe | moritz++ | S05-regex.pod:
16:04 dalek specs: rebrand $/.before as .prematch and .after as .postmatch
16:04 dalek specs:
16:04 dalek specs: I have been told on #perl6 that the old names are unclear, this seems to be
16:04 dalek specs: the new consensus
16:04 dalek specs: review: https://github.com/perl6/specs/commit/1baf5fe127
16:04 TimToady .hither .hence
16:04 masak ooh, I missed pmichaud++'s .pretext and .posttext!
16:04 masak but I'm fine with .prematch and .postmatch, too.
16:04 moritz whoever feels the need to further bikeshed is welcome to do that, but can't expect me to do the commits :-)
16:05 * moritz -> decommute
16:06 MayDaniel joined #perl6
16:06 TimToady .commute and .decommute :)
16:07 masak .from-start-of-string-to-start-of-match and .from-end-of-match-to-end-of-string
16:08 TimToady I can't remember how to spell stirng
16:08 masak I know how to spell banana, but I don't know when to stop.
16:11 sjohnson heheh
16:11 Moukeddar lol
16:12 sjohnson masak sounds like gwen stefani with her banana-related raps :)
16:13 masak rakudo: say ba ~ join "", ("na" xx (1..4))
16:13 p6eval rakudo 922500: OUTPUT«Could not find sub &ba␤  in main program body at line 22:/tmp/iTLhnZsWFg␤»
16:13 masak rakudo: say "ba" ~ join "", ("na" xx (1..4))
16:13 p6eval rakudo 922500: OUTPUT«banananana␤»
16:14 masak rakudo: say "ba" ~ join "", ("na" xx (1..4)) for ^10
16:14 p6eval rakudo 922500: OUTPUT«banananana␤banananana␤banananana␤​banananana␤banananana␤banananana␤bananan​ana␤banananana␤banananana␤banananana␤»
16:14 masak rakudo: say "ba" ~ join "", ("na" xx (1..4).roll) for ^10
16:14 p6eval rakudo 922500: OUTPUT«banananana␤bananana␤bananan​ana␤banananana␤banananana␤banana␤b​anana␤banana␤bananana␤banananana␤»
16:14 benabik rakudo: say (1..4).roll for ^10
16:15 p6eval rakudo 922500: OUTPUT«1␤4␤4␤2␤1␤3␤4␤1␤1␤3␤»
16:15 benabik Oh, it was changing length, it's just hard to see in all the repetition.  :-D
16:16 rdesfo left #perl6
16:16 TimToady noms with nommers &
16:20 LimitSupremum joined #perl6
16:27 im2ee_ joined #perl6
16:30 cotto joined #perl6
16:48 donri joined #perl6
16:56 ingy ~,
16:57 kboga joined #perl6
17:05 kboga left #perl6
17:05 kboga joined #perl6
17:06 Moukeddar joined #perl6
17:09 bluescreen10 joined #perl6
17:10 [Coke] ingy: ho
17:10 donri joined #perl6
17:12 mdrc joined #perl6
17:12 mdrc hello again
17:12 mdrc do you have a perl6 port site?
17:13 mdrc for example how to port http://pastebin.com/DpnhKfPj into perl6
17:17 tadzik oh, I still have to push to my airplane hackathon results :0
17:17 tadzik :)
17:17 tadzik mdrc: where is the 'site' on this paste?
17:18 flussence .oO( porting that to Modern Perl 5 would make it a lot easier to port to Perl 6... )
17:18 tadzik fwiw, I don't think we have select in Rakudo. Maybe niecza supports it, I don't know
17:19 [Coke] mdrc: I don't think there's a direct "how to port your perl 5 code" site.
17:20 [Coke] I personally would read through the synopses for things; in general "it's the same as perl5, except..." (pretty much feels like except everything ;)
17:22 [Coke] in general, though, that looks a grammar would be more sixian.
17:23 Trashlord joined #perl6
17:23 mdrc personally i always use perl to quick and dirty shell to binary wrappers, might serve as a good example
17:24 sjohnson me too
17:34 cognominal_ masak, you know how to pronounce banana but you don't know where to stop?
17:34 cognominal_ s/pronounces/spell/
17:38 mdrc by the way, do you know where to ask how to "raise" a Tk; function that configures the interface?
17:44 tadzik huh, did anyone notice how tables at the very end of S26 get parsed horribly wrong?
17:45 flussence yep
17:45 tadzik just fixed that, stupid bug
17:46 tadzik ok, looks fine now
17:46 tadzik lol, t/pod/08-formattingcodes.t untracked
17:46 tadzik how did this slip through
17:49 tadzik flussence: did you merge your Pod::To::HTML with my repo?
17:50 dalek rakudo/nom: f147bf8 | tadzik++ | lib/Pod/To/Text.pm:
17:50 dalek rakudo/nom: [Pod::To::Text] Align table columns
17:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f147bf849c
17:50 dalek rakudo/nom: d664591 | tadzik++ | / (2 files):
17:50 dalek rakudo/nom: Fix a bug in tables with trailing newlines, add test
17:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d66459128a
17:50 dalek rakudo/nom: 195fef4 | tadzik++ | t/pod/08-formattingcodes.t:
17:50 dalek rakudo/nom: Add formattingcodes tests
17:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/195fef4742
17:50 flussence my stuff's in the html5 branch on github/perl6/Pod-to-HTML, haven't added anything to yours yet
17:51 tadzik I'll just merge it, ok?
17:51 flussence go for it :)
17:51 tadzik or maybe I'll just accept yours as upstream, if you want to be its father. I don't really know HTML :)
17:52 flussence I'm fine with that
17:52 tadzik I just merged your changes, fwiw
17:53 * flussence updates rakudo to see what S26 looks like in this
17:56 tadzik if you generate it before me, let me know and I'll put it on perlcabal
17:59 sorear good * #perl6
17:59 tadzik good day sorear
18:00 sjohnson ( `ー´)
18:01 tadzik ooh, I missed that :)
18:01 tadzik I need /fatface next to my /fail alias, as in
18:02 mj41 joined #perl6
18:02 tadzik oh, it's not /fail actually. I won't post that then :)
18:02 sjohnson heheh
18:02 sjohnson got a new fatface, more of a happy cat
18:02 sjohnson (=゚ω゚=)
18:02 tadzik bah, I'm lacking fonts
18:02 tadzik ▄█▀ █▬█ █ ▀█▀
18:02 sjohnson /fatfone ?
18:03 sjohnson fatfont i mean
18:03 tadzik no, ot
18:03 tadzik * it's just /shit
18:03 tadzik apparently I have /fail too, but it's a few lines long
18:04 sjohnson hmmmmmmmm
18:05 tadzik I'll resist :)
18:05 sjohnson i wonder if i could make an alphabet of that
18:05 tadzik I tried, and failed
18:05 sjohnson and then i can say whatever i want
18:06 sjohnson i wihle ago wehn i was rlelay beord and lrnniaeg prel i mdae tihs ctue sicrpt to eieexrmpnt wtih the esae of wrtinig senmoithg wtih jbumeld lerttes
18:06 tadzik I should remove all /foo.*\.[pl||nqp]/ so git st is readable again
18:06 sjohnson you may remeembr the lnik gonig aonurd bcak in the day, wehre it siad taht the bairn can eisaly raed wodrs if the fsrit and lsat lterets are poperr
18:07 tadzik yeah, I know it. I saw that in Polish, and it worked too
18:09 tadzik heh, nom now needs 70% of my ram
18:10 flussence ouch. generating a s26.html took 4½ minutes here.
18:10 tadzik yeah, usual, isn't it?
18:10 flussence it was around the 2-3 mark a few days ago :(
18:10 birdwindupbird joined #perl6
18:10 tadzik oopsie
18:11 flussence anyway, https://gist.github.com/1140332
18:11 flussence still needs a bit of work, but hopefully most of the problems aren't visible on the page :)
18:12 flussence oh... maybe they are.
18:12 tadzik I'm mostly worried about the invisible ones. As in disappearing paragraphs or so
18:13 tadzik oh, you didn't fix formattingcoeds yet?
18:13 tadzik oh, you did some methings
18:14 * tadzik uses the source
18:14 flussence they only popped up since I last worked on it :)
18:14 tadzik hmm
18:14 tadzik but B<> seems to work for some reason
18:14 tadzik or maybe that's a side effect or something
18:15 tadzik or maybe you that to all table headers :)
18:15 tadzik yes you do. flussence++
18:16 tadzik flussence: you want to hack on https://github.com/rakudo/rakudo/commit/5f145c647c for P::T::HTML?
18:18 Guest19592 joined #perl6
18:24 tadzik flussence: yeah, generating s26.html just took over 10 minutes here
18:24 tadzik I suppose we traded speed for correctnes, in Pod parsing. I wish we had a profiler better than `git bisect`
18:26 flussence (does "use Devel::Trace" or whatever it was called still work in nom?)
18:26 tadzik dunno
18:26 flussence nom: use Devel::Trace; say 'a'
18:26 p6eval nom: OUTPUT«use Devel::Trace␤say 'a'␤a␤»
18:26 tadzik yay!
18:26 flussence \o/
18:26 tadzik now I only have to read shitload of output to analyze it :P
18:27 tadzik I wonder if that's related to memory leaks somehow
18:27 mdrc devel trace, is that like ls -l on a backup directory?
18:28 tadzik I don't think so
18:29 mdrc like what group and user, last modification etc
18:31 tadzik dunno
18:31 mdrc k
18:31 tadzik moritz: /home/perlcabal seems empty to me
18:33 flussence (Text::Escape in pod2html looks mind-bogglingly inefficient - it's calling 1 sub per input character. I've tried replacing bits of it with split(:all) though and it turned out slower...)
18:33 tadzik w00t
18:34 tadzik don't we have pretty efficient .trans for some time now?
18:34 * tadzik hacks
18:35 Holy_Cow left #perl6
18:35 flussence I think there might be an improvement if I do a single regex for escapable chars first and return the string in that case - I've seen the json.org javascript implementation do it
18:35 pmichaud tadzik: it was suggested tonight at dinner that we name the next rakudo release "Warsaw" in your honor.  Any objections or modifications you'd like to make to that?
18:36 tadzik pmichaud: I'm proud. That's all.
18:36 pmichaud Warsaw it is, then.
18:36 tadzik maybe a bit astonished too
18:36 pmichaud We're all very pleased and impressed with your work, especially on Pod (but other stuff too)
18:37 mdrc instead of Warsaw, what about Nipple?
18:38 tadzik hugme: hug mdrc
18:38 * hugme hugs mdrc
18:39 mdrc *action* smiles
18:39 pmichaud okay, I'm heading back to nomsite
18:39 pmichaud rakudo release will be this weekend.  I'll likely make a post to rakudo.org tonight to that effect
18:40 pmichaud (can't be tomorrow because o/ I'm leaving..... ON a JET PLANE!  Don't know when I'll be back again... o/
18:40 pmichaud anyway, afk for a while -- bbl
18:42 tadzik pmichaud: have a safe flight
18:42 tadzik flussence: s26 to html just finished in 0.14s :)
18:43 flussence wha?!
18:43 tadzik I made a syntax error in Pod::To::HTML :P
18:44 flussence oh, ha
18:44 tadzik yeah, I almost got excited myself
18:45 tadzik okay, trans seems NYI in nom
18:45 tadzik I'll see about porting that
18:47 mdrc "here and now, boys" ^Huxley
18:47 flussence got it down to 3m18 by doing that escape checking regex
18:48 sorear how did it run in <1s earlier?
18:49 tadzik sorear: syntax error
18:51 birdwindupbird joined #perl6
18:53 flussence I wonder if intercal is looking for a Pod equivalent... “Directives that start with FormattingCode<184031648> can be indented like the code they interleave” :)
18:55 tadzik rakudo: my @a = 1; @a = @a xx 1;
18:55 p6eval rakudo a55346:  ( no output )
18:55 tadzik nom: my @a = 1; @a = @a xx 1;
18:55 p6eval nom: OUTPUT«splice() not implemented in class 'Mu'␤  in method reify at src/gen/CORE.setting:3461␤  in method gimme at src/gen/CORE.setting:3798␤  in method eager at src/gen/CORE.setting:3774␤  in method STORE at src/gen/CORE.setting:4178␤  in mu <anon> at /tmp/xrdOmFW7uO:1␤  in mu <ano…
18:55 tadzik hihi
18:57 tadzik meh, .trans is not that easy
18:58 tadzik aka 'crashes and segfaults'
19:00 mdrc apropos segfaults, i was going crazy cause the division by zero exception vector pointed at a 16 bit location
19:01 mdrc noise from the stack could then cause crashes at random intervals
19:02 mdrc heap stuff you know
19:03 rdesfo joined #perl6
19:04 rdesfo left #perl6
19:05 broquaint joined #perl6
19:07 MayDaniel joined #perl6
19:08 mdrc then instead of perl6 i use m4 to shift the registers for native alignment
19:08 dalek book: f1d6922 | (Maik Hentsche)++ | src/classes-and-objects.pod:
19:08 dalek book: [FIX] removed double "installed"
19:08 dalek book:
19:08 dalek book: "..X installed an object had been installed..". Removed one installed.
19:08 dalek book: review: https://github.com/perl6/book/commit/f1d692210b
19:08 dalek book: 3c9cdd9 | (Maik Hentsche)++ | src/classes-and-objects.pod:
19:08 dalek book: Whitespace fix.
19:08 dalek book:
19:08 dalek book: Paragraph without holes now.
19:08 dalek book: review: https://github.com/perl6/book/commit/3c9cdd9fac
19:09 mkramer joined #perl6
19:13 sorear ... why are people on p6l so far removed from reality?
19:14 PerlJam they are?
19:17 mdrc portable reality or...?
19:18 Su-Shee let me get one or two postmodern philosophy quotes about reality ;)
19:21 rindolf joined #perl6
19:22 bluescreen10 joined #perl6
19:36 sorear reality is that which, when you stop beleiving in it, doesn't go away. -my favorite
19:38 mdrc then how to send someone to hell if no-one believes it's there to be created?
19:39 digger^ joined #perl6
19:41 digger^ left #perl6
19:41 sorear Why would I want to send someone to hell?
19:41 mdrc i won't
19:42 Caldrin joined #perl6
19:42 Caldrin Hello!
19:43 Caldrin I try to work to the Perl6 book which is referenced on perl6.org. There is an example in it, that does not work for me. I pasted my version to http://perlpunks.de/paste/show/4e4d663b.6c46.76
19:43 Caldrin This brings the following error message:
19:44 PerlJam Caldrin: greetings!  What version of Perl 6 (I assume rakudo) did you use?
19:44 Caldrin No such attribute '$!salary' in class 'Employee' in 'GeekCook::new' at line 42:/home/hmai/Projekte/Pra​ctice/Perl6/Book/class2.p6 in main program body at line 46:/home/hmai/Projekte/Pra​ctice/Perl6/Book/class2.p6
19:44 Caldrin PerlJam: Rakudo from git, cloned on Tuesday.
19:44 Caldrin last comit id is 9225003fe4d3b0231f76a46f66e92628d06f4948
19:45 Caldrin s/comit/commit/
19:45 Caldrin I already asked the same question in #rakudo on ircd.perl.org and was send to you guys
19:46 PerlJam There's a #rakudo channel?
19:46 sorear never heard of that one before.
19:46 sorear #rakudo on MAGnet is empty.
19:46 PerlJam indeed
19:46 Caldrin I'm sorry, I mean #parrot.
19:47 PerlJam oh!  that makes more sense :)
19:47 Caldrin I mixed them up accidently.
19:47 Trashlord joined #perl6
19:47 [Coke] hey, we have webdev people here. Anyone uses famfamfam's flags icons and is interested in 1) a sprite, and 2) adding the missing iso codes?
19:48 PerlJam [Coke]: you're speaking greek to me.
19:48 mdrc i was sent to irc.perl.org i think #rakudo and got all i needed
19:49 PerlJam Caldrin: it only complains about salary and not the others?
19:50 * flussence wishes there was a way to invoke the REPL in the middle of a script, with current scope
19:50 [Coke] http://famfamfam.com/lab/icons/flags/ , in case that helps PerlJam
19:50 [Coke] and now https://github.com/coke/famflags, though I /just/ started slapping something together.
19:50 Caldrin PerlJam: Yes, that's correct. I pasted the full error message.
19:51 tadzik flussence: use Carp::Always::REPL...oh wait :)
19:55 PerlJam This is where I wish rakudo were faster
19:55 PerlJam *compiling* rakudo  (but the other thing too :)
19:56 tadzik flussence: I think I just got it >10 to <3 minutes
19:56 tadzik by tuning escape-html
19:57 flussence whoa!
19:57 tadzik that's a pretty stupid hack though, yet effective
19:57 flussence btw, try combining it with this if you haven't already done so: https://github.com/perl6/P​od-To-HTML/commit/d4402cf
19:58 tadzik oh, I did it the stupid way
19:58 tadzik https://gist.github.com/1155010
19:58 tadzik it appears to produce correct results :)
20:02 mberends ++tadzik :-)
20:05 LimitSupremum joined #perl6
20:11 tadzik oh, so it lives in perl6 repo now
20:11 tadzik damn, ETOOMANYFORKS
20:12 mdrc it's stable enough to fork yet?
20:13 tadzik it's unstable enough so everyone forks it
20:13 mdrc sounds awkward
20:13 tadzik fsvo stable
20:13 tadzik sounds perfectly sane for me
20:13 mdrc hm
20:14 tadzik the module is broken. Number of people fork it to fix it
20:14 Caldrin PerlJam: Do you have an idea on what I did wrong?
20:14 mdrc like they don't post a patch?
20:16 mdrc usually, a fork would carry on in multiple directions
20:16 PerlJam Caldrin: looks like nothing to me.
20:17 tadzik mdrc: they fork, they commit, they send a pull request
20:17 tadzik it's easier than a patch, fsvo easier
20:17 mdrc the git terminology of course. excuse me
20:17 tadzik I just do g pull git@github.com:perl6/Pod-To-HTML.git and I have the changes
20:18 tadzik it doesn't get much simplier than that
20:18 tadzik it's more of a git workflow than a git terminology
20:18 mdrc i read it once and went back to the tar ball
20:19 tadzik fair enough
20:19 mdrc ok i guess
20:22 masak joined #perl6
20:22 masak tja, #perl6
20:22 tadzik hello masak
20:22 tadzik flussence: 2:55, and I has formattingcodes :)
20:22 pmichaud good evening, #perl6
20:22 flussence nice!
20:23 tadzik well, not really parsed correctly, just the contents printed
20:23 tadzik pushing to my fo... well, my repo
20:23 flussence (I've made a complete mess of trying to implement formatting codes, I'll just use yours :)
20:24 tadzik mine are not really implemented :)
20:24 tadzik pushed
20:24 tadzik it just reduces them to their contents
20:24 tadzik good evening pmichaud
20:24 flussence as long as they come out as something other than "FormattingCode<xyz>" then I can at least figure them out :)
20:24 tadzik pmichaud: in the US already?
20:25 thowe joined #perl6
20:25 moritz tadzik: the write location is /var/www/pugscode.org/syn/
20:25 tadzik flussence: you basically want to not-ignore the code itself :)
20:26 tadzik moritz: kthx
20:26 pmichaud tadzik: plane leaves in 7 hrs
20:26 tadzik oh, I see
20:27 masak yay, my p6l email wasn't warnocked.
20:27 tadzik moritz: I get access denied, you may want to steal /home/tjs/s26.html
20:27 tadzik flussence: I'll just push me repo to perl6 org and delete it then to avoid further mess, ok?
20:28 masak though the reply makes almost no sense to me :/
20:28 masak still, better than warnocking.
20:28 pmichaud masak: yeah, the reply made me say ... "huh?"
20:28 pmichaud either that or something along the lines of the "help" command jnthn++ used in his presentation yesterday :)_
20:29 tadzik :P
20:29 flussence now that you mention it, I think I have a few repos of my own to clean up
20:29 jnthn evening, #perl6
20:29 tadzik evening jnthn
20:29 masak pmichaud: :)
20:29 pmichaud anyway, I'm home in 25 hrs, barring flight delays
20:30 jnthn oh, there's a p6l thread I should comment on? ;)
20:31 moritz tadzik: http://perlcabal.org/syn/S26.html updated
20:31 tadzik moritz++
20:31 tadzik it's pretty pretty now
20:31 pmichaud moritz++
20:32 moritz tadzik++ did all the work :-)
20:32 flussence (the hard work, anyway :)
20:33 tadzik the prettiness is not my job in here, flussence++ :)
20:33 tadzik I just fixed my own bugs in Pod parser
20:33 masak you know things are going well when people are blaming each other with karma :P
20:33 tadzik :)
20:33 tadzik gentleness++
20:33 flussence wow, it's down to 1:18 on my desktop
20:33 tadzik cool
20:34 flussence (I wonder if I can tweak the URL char escape thing in the same way...)
20:34 tadzik I don't think it's that much of a bottleneck
20:34 tadzik maybe it is now :)
20:35 flussence yeah, there's not that many URLs in there... I'll have a look anyway if for no other reason that I don't like char-at-a-time parsing :)
20:35 pmichaud jnthn: get_bool vtable via PIR doesn't cause a memory leak
20:36 pmichaud (I'm assuming it's causing an inferior runloop)
20:36 jnthn pmichaud: oh, curius.
20:36 jnthn *courious
20:36 pmichaud gist coming shortly
20:36 jnthn I wonder how Parrot v-table overrides are implemented
20:36 tadzik pmichaud: might that be the reason for setting compilation to eat 1.5 GBs of ram?
20:37 pmichaud http://gist.github.com/1155132
20:37 [Coke] jnthn: vtable overrides are evil, pure and simple, from the 8th dimension.
20:37 jnthn OK, those do Parrot_ext_call
20:38 pmichaud jnthn: what are we using?
20:38 jnthn pmichaud: Constructing a capture and using the function to invoke from a signature.
20:38 jnthn Parrot_ext_call is retarted.
20:38 jnthn er
20:38 jnthn :)
20:38 jnthn .oO( no shid! )
20:38 pmichaud ...it's been made more sour?  hmm....
20:39 jnthn Nah, it parses signature strings. Every time.
20:39 pmichaud tadzik: we're trying to find out what's causing the ram.  there seems to be something wrong with the build process, but we don't know what yet.
20:39 jnthn What I fail to understand is that the only object I create is GCable.
20:39 tadzik okay
20:39 pmichaud s/causing/eating/
20:39 Caldrin moritz++ # for  helping me with my problem.
20:39 tadzik I may want to hold with buying new 2 GBs then :P
20:39 Caldrin Thanks to everyone who also tried to help me.
20:39 tadzik gee cable!
20:40 jnthn So Parrot is doing something wrong somewhere.
20:40 moritz tadzik: should we remove the notice "(HTML rendering of S26 is known to be incomplete)" from http://perlcabal.org/syn/ ?
20:40 tadzik moritz: it still is
20:41 flussence it's still got a few rough edges, but it's pretty usable now
20:41 tadzik mainly formatting codes do not do their job at all
20:41 tadzik so V<C<a>> should become C<a>, not a
20:42 tadzik flussence: are you hacking on that now?
20:43 flussence I am *now*, the url-escaping adds up to 1.6 seconds out of 1.5 minutes. Not worth optimising :)
20:45 tadzik :)
20:45 tadzik true
20:47 buubot_backup joined #perl6
20:48 dalek book: 6f6af11 | (Maik Hentsche)++ | src/classes-and-objects.pod:
20:48 dalek book: [FIX] GeekCook example works on rakudo now
20:48 dalek book:
20:48 dalek book: GeekCook.new hat two issues. First, the return self.bless got the wrong
20:48 dalek book: parameters. Thus, it did not return the right object.
20:48 dalek book:
20:48 dalek book: Also, it pushes onto %params<cookbooks> which might be undef. In rakudo this
20:48 dalek book: does not enough autovivification (whatever the verb is) to make this push
20:48 dalek book: possible. Therefore, the hash element needs to be initialised. It's not nice
20:48 dalek book: to have a workaround for unimplemented functions but having an example that
20:48 dalek book: does not work is certainly worse.
20:48 dalek book: review: https://github.com/perl6/book/commit/6f6af1136f
20:48 tadzik yeeaah :/
20:48 tadzik Stage parse: 106.937
20:48 moritz Caldrin++ # book patches
20:49 Caldrin Uh, if its pasted in here completely, I should probably write short commit messages.
20:49 moritz Caldrin: not at all
20:49 pmichaud long commit messages are fine here
20:50 benabik Caldrin: git handles long commit messages just fine.  It's nice to see rationales when browsing history.
20:50 moritz Caldrin: if we thought that way, we would abbreviate the post here
20:50 * benabik prefers short first lines, blank line, then long messages.
20:50 pmichaud right, but channel paste isn't a reason for short commit messages
20:51 pmichaud I think in general we prefer the long messages.  As moritz++ said, if they bug us, we'll fix the bot and not the messages.
20:51 masak long messages are nice.
20:52 masak how else would we know important implementation work is going on? :)
20:52 Caldrin benabik: Me too. At work I also try to mark [FIX], [REFAC], [FEAT] and [WS] for whitespace to make it clearly visible for other which commit is more important and which is less.
20:52 thowe OK, so, I tried building rakudo with parrot and it crashed.  I asked the parrot people about it and they said I should try building the same release on its own because the issue could be with the rakudo build process.  If it turns out it is, who do I ask about that?
20:53 pmichaud thowe: you can ask here.
20:54 Caldrin Alright guys, I'll go to bed. Good night and thanks.
20:54 masak ok, I've scraped Rosetta Code for code snippets. the result is here: http://feather.perl6.nl/~ma​sak/tmp/rosetta-code.tar.gz
20:54 masak if no-one else starts turning it into tests, I will.
20:54 masak but I just wanted to mark the part-way progress somehow :)
20:54 flussence masak++
20:54 masak 'night, #perl6
20:59 * pmichaud wonders if his test paper will cover masak++'s test rock.
21:01 mberends only if no-one calls test scissors
21:01 flussence unlikely, since p5chop's gone now :)
21:03 mdrc perl6 is so amazingly large and good ;)
21:03 * pmichaud admires his new NPW 2011 t-shirt and packs it carefully
21:03 jnthn :)
21:03 tadzik g'night #perl6
21:03 mberends gn tadzik
21:06 jnthn night, tadzik
21:07 pmichaud tadzik: o/  it was great meeting you here!
21:08 jnthn .oO( why can't every week be as fun as this one :) )
21:08 jnthn ...probably because I'd not get enough hacking done ;)
21:09 * flussence suddenly realises whatever2html() should be multis instead of a giant given {} block
21:11 pmichaud flussence: of course it should!  didn't you attend jnthn++'s excellent class today when that was covered? ;-) ;-)
21:12 flussence come to think of it, I think this was based on code written before multis worked in nom... that'd explain it
21:14 jnthn ...before multis worked in nom?
21:14 jnthn multis worked before most things in nom ;)
21:14 jnthn We couldn't do inheritance without them :)
21:14 flussence I vaguely recall something a long time ago that might have been an explanation of why this was written this way... and my imagination filled in the blanks :)
21:15 jnthn .oO( we couldn't do them without inheritance either...oh the circularities )
21:15 jnthn hehe :)
21:16 pmichaud ah yes... fill in the blank languages... I remember the days of RPG programming...  :-)
21:17 jnthn role PlayingGame;
21:17 Kivutarrr joined #perl6
21:17 * jnthn suspects that's Report Generation Programming though :)
21:17 pmichaud http://en.wikipedia.org/wiki/RPG_II  (yes)
21:18 pmichaud ...shows my age, I guess.
21:18 * colomon remembers his days of role playing game programming... hard a GURPS character designer coded up in Forth once upon a time...
21:19 colomon *had
21:21 jnthn er, yes, every year mentioned in that article is before I was born ;)
21:21 jnthn https://github.com/jnthn/grammar-debugger # modules from my second YAPC talk
21:21 jnthn Will sort out getting slides up tomorrow
21:22 colomon \o/
21:22 jnthn Though the second talk is more of a "you had to be there" one.
21:23 jnthn (>50% of it was live demos)
21:25 colomon ... which worked?
21:26 jnthn colomon: Yes, amazingly :)
21:26 colomon jnthn++
21:27 colomon I'm eager to have a few minutes to give it a try.
21:27 colomon left #perl6
21:27 colomon joined #perl6
21:28 jnthn :)
21:28 * jnthn is eager to sleep, and does so :)
21:28 jnthn night o/
21:28 jnthn pmichaud: safe flight!
21:28 colomon dang it, the worse thing about having two monitors running is looking at one screen and closing the active window on the other accidentally.
21:28 benabik colomon: need to install eye tracking software so it knows what you're looking at.
21:29 colomon benabik: ooooooo
21:35 mdrc look http://www.gangsterfreak.com/file:mode.h . I've prototyped a method to hibernate instead of sleeping. Lost the bits about multi-line comments in perl6.
21:37 soh_cah_toa joined #perl6
21:37 mdrc // in C is like # in perl6, right? what about /*  */ even though Larry didn't like it
21:37 benabik #
21:37 pmichaud #`( ... )
21:37 benabik '(...)
21:38 mdrc sweet
21:38 benabik d'oh…  wrong quote…  and extra newline.
21:38 soh_cah_toa or any bracket i think
21:38 pmichaud nom:  say 1 + #`< this is a comment > 2
21:38 p6eval nom: OUTPUT«3␤»
21:38 pmichaud yes, pick your bracket
21:39 soh_cah_toa is there an p6 alternative to the p5 quotemeta() builtin? i've seen email archives about replacing it with q:meta// or Str.escape() and even S29 mentions it but i can't seem to find a replacement
21:39 mdrc i'm impressed
21:39 pmichaud we rarely need to quotemeta chars in p6
21:40 soh_cah_toa why is that?
21:40 pmichaud because the way that interpolations in regexes are handled is different
21:40 pmichaud i.e., regex interpolations aren't string interpolations
21:40 soh_cah_toa i have a sub that takes a string. i want to escape any potentially metacharacters before performing a substitution
21:41 pmichaud soh_cah_toa: that's kind of my point
21:41 soh_cah_toa hm
21:41 pmichaud example coming up
21:41 soh_cah_toa well, particularly ! * and @. i don't wan't those popping up
21:41 benabik I think s/$var/text/ uses the contents of $var as a literal.
21:42 * benabik waits for pmichaud's example.
21:42 soh_cah_toa don't you need {} around $var?
21:42 sorear rakudo: my $str = 'aabxxabxx*y'; my $pat = 'x*'; say $str.subst($pat, 'Z')
21:42 p6eval rakudo a55346: OUTPUT«aabxxabxZy␤»
21:42 sorear rakudo: my $str = 'aabxxabxx*y'; my $pat = 'x*'; say $str.subst(/$pat/, 'Z')
21:42 p6eval rakudo a55346: OUTPUT«aabxxabxZy␤»
21:42 pmichaud yeah, that's a good example
21:42 soh_cah_toa interesting
21:43 pmichaud variable substitutions in regexes are treated as literals (and thus don't need escaping of "unsafe characters")
21:43 soh_cah_toa ok
21:43 soh_cah_toa very cool
21:43 pmichaud use <$var>  if you want it to be compiled as a regex
21:43 soh_cah_toa oh ok
21:44 pmichaud rakudo: my $str = 'aabxxabxx*y';  my $pat = 'x*';  say $str.subst(/<$pat>/, 'Z')
21:44 p6eval rakudo a55346: OUTPUT«Zaabxxabxx*y␤»
21:44 drbean joined #perl6
21:44 pmichaud rakudo: my $str = 'aabxxabxx*y';  my $pat = 'x*';  say $str.subst(/<$pat>/, 'Z', :global)
21:44 p6eval rakudo a55346: OUTPUT«ZaZaZbZZaZbZZ*ZyZ␤»
21:44 pmichaud rakudo: my $str = 'aabxxabxx*y';  my $pat = 'x+';  say $str.subst(/<$pat>/, 'Z', :global)
21:44 mdrc sounds trigonometric soh_cah
21:44 p6eval rakudo a55346: OUTPUT«aabZabZ*y␤»
21:44 soh_cah_toa i'm starting to come around to the new regexes. i like how i don't need to worry about that stuff in substitutions and such
21:45 Psyche^ joined #perl6
21:47 soh_cah_toa except the fact the escape sequences in regexes don't work yet is really annoying me :(
21:48 sorear eh?
21:48 sorear rakudo: say "abc def" ~~ /\s/
21:48 p6eval rakudo a55346: OUTPUT« ␤»
21:48 sorear looks like they work to me
21:48 pmichaud I think he might mean in enumerated character groups
21:48 soh_cah_toa no, like \x17
21:48 pmichaud yeah
21:48 soh_cah_toa yes, in character classes
21:49 pmichaud that should be arriving soon.
21:49 soh_cah_toa good :)
21:49 benabik Via the new and improved QRegex?
21:49 pmichaud not immediately, but shortly thereafter.  the new QRegex makes it much easier to implement such things.
21:50 soh_cah_toa qregex? do explain
21:50 pmichaud QRegex is the new engine underlying regexes in nom
21:50 soh_cah_toa ok
21:50 pmichaud it replaces the older engine in nqp-rx (which replaced the PGE engine, which replaced ... (sigh))
21:54 Trashlord joined #perl6
21:57 im2ee_ joined #perl6
21:57 abercrombie So what's the alternative way to match \x17?
21:58 soh_cah_toa rakudo: my $foo = 'foobar*!*@*'; $foo ~~ s:g/\\\*/<[\x01..\xFF]>**0..*/; say $foo
21:58 p6eval rakudo a55346: OUTPUT«foobar*!*@*␤»
21:59 soh_cah_toa rakudo: my $foo = 'foobar*!*@*'; $foo ~~ s:g/'\' '*'/<[\x01..\xFF]>**0..*/; say $foo
21:59 p6eval rakudo a55346: OUTPUT«===SORRY!===␤Confused at line 22, near "$foo ~~ s:"␤»
22:21 thowe OK, so it turns out rakudo couldn't be built because parrot 3.6 won't compile on OpenBSD.  A patch was implemented which fixes this.  3.7 does compile OK, so future rakudo should be OK on OpenBSD.
22:24 pmichaud thowe: excellent, thanks for reporting!
22:24 pmichaud there should be a new rakudo out this weekend.
22:24 thowe \o/
22:25 cognominal joined #perl6
22:33 pmichaud draft of a post for rakudo.org -- comments welcomed.
22:33 pmichaud As noted in our previous post, we had planned to issue a new release of Rakudo sometime around YAPC::EU, based on the new nom branch.
22:33 pmichaud However, over the past few days we’ve run across some significant regressions both in performance and features, so rather than rush out a buggy release we’ve decided to spend a few more days cleaning things up a bit. Because of the significant changes we had already planned to allow ourselves a fair bit of wiggle room in terms of exact release dates.
22:33 pmichaud I expect releases to start as early as this weekend, or perhaps a few days after that. We definitely will have some August 2011 releases, they just won’t be “exactly two days after the Parrot release” as in previous months.
22:33 pmichaud More details as we make progress.
22:33 pmichaud ooops
22:33 pmichaud meant to post the link, one sec
22:34 pmichaud http://pmichaud.com/sandbox/ann.txt
22:34 pmichaud comments welcomed
22:37 LimitSupremum left #perl6
22:38 sorear pmichaud: what did PGE replace?
22:41 benabik left #perl6
22:42 benabik joined #perl6
22:43 mberends pmichaud: maybe mention a little about Nom, and also the usability of the previous release for people now seeking the current most stable Rakudo?
22:44 mberends sorear: istr TGE (Tree Grammar Engine?) preceded PGE
22:46 pmichaud there were about three versions of pge
22:49 pmichaud mberends++ # updated http://pmichaud.com/sandbox/ann.txt
22:50 pmichaud updated a bit more
22:52 pmichaud I'll rest now, but will post the message (along with other suggested changes) just before heading off to the airport in a couple of hours.
22:52 mberends +1
22:52 pmichaud need some sleep; bbl
22:55 nebuchadnezzar joined #perl6
22:57 skangas_ joined #perl6
23:01 nebuchadnezzar joined #perl6
23:06 saaki joined #perl6
23:08 nebuchadnezzar joined #perl6
23:15 nebuchadnezzar joined #perl6
23:25 lue hello world o/
23:26 sjohnson hi
23:26 soh_cah_toa lue: howdy :)
23:26 [Coke] thowe++ # getting that tracked down.
23:26 mdrc /me ponders what to port to user-space
23:27 nebuchadnezzar joined #perl6
23:35 nebuchadnezzar joined #perl6
23:39 lue [backlogging] wow. tadzik++ flussence++ for their continued work on Pod6 support in 楽土
23:44 whiteknight joined #perl6
23:48 nebuchadnezzar joined #perl6
23:52 Trashlord joined #perl6
23:54 mdrc if(mode&WAIT) goto forbidden; if(!(mode&DOWN)) goto clear; is perl6 going to support the "goto"?
23:55 tokuhirom joined #perl6
23:56 thowe [Coke], I think it was you who committed the patch, so thank you.
23:56 mdrc so that return error are carried out at the end of the block
23:56 mdrc errors*

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

Perl 6 | Reference Documentation | Rakudo