Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-05-15

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 jnthn That could help us.
00:00 jnthn (performance wise)
00:00 pmichaud and I need to finish converting PCT to use 'box'
00:00 jnthn By not having to re-bless stuff.
00:00 jnthn Depending on what we can map of course.
00:00 jnthn Tene: Going to spectest on Windows now.
00:00 Tene jnthn: so what syntax did you get working for defining sub trait?
00:00 jnthn Will be surprised if I see anything different from you though.
00:01 jnthn Tene: Ah, I pasted it as a gist earlier...let me see if I can find it...
00:01 Tene ohright
00:02 Tene yeah, I've got it.
00:02 jnthn ah, ok, great.
00:05 Tene s1n: so, what did you want to know about it?
00:05 s1n basically, everything heh
00:05 s1n lemme pull up the example
00:06 Tene http://github.com/masak/web/blob/92ff66f476c78​93ababc1b9665122d80036e0231/lib/LolDispatch.pm
00:06 Tene s1n: http://gist.github.com/111994
00:07 Tene I still need to make loldispatch store the dispatch table in the caller's namespace...
00:07 * jnthn needs some sleep
00:07 jnthn See you all tomorrow
00:07 Tene 'night jnthn
00:07 s1n man, it's hard: perl6 or red wings :/
00:08 Tene what is red wings?
00:08 s1n heh hockey
00:08 s1n what's trait_auxiliary?
00:08 s1n and the :<is> syntax?
00:11 Tene trait_auxiliary is what is called when rakudo encounters something extra in a declaration.
00:13 s1n which declaration is that? $item<route> and $item<block>?
00:13 s1n or really just $item<block>()?
00:13 Tene eh?
00:13 Tene no, look at the example
00:13 Tene sub ... is http-dispatch(...)
00:13 Tene the 'is' is an auxiliary trait
00:14 s1n is http-dispatch?
00:14 Tene right
00:14 Tene http://gist.github.com/111994
00:14 s1n what line? i dont see that
00:14 Tene erm...
00:14 Tene http-handler
00:14 s1n you mea  :<is>(http-handler....)?
00:14 s1n s/mea/mean/
00:14 Tene look at the paste.
00:15 s1n okay
00:15 s1n what do the foo and item subs do?
00:16 Tene what?
00:16 Tene http://gist.github.com/111994
00:16 bacek_ rakudo: sub postfix:<!>($x) { $x ?? $x*($x-1)! !! 1 }; say 5!
00:16 p6eval rakudo b41e13: OUTPUT«120␤»
00:16 bacek_ pmichaud++ jnthn++ (everyone else)++ # Welcome to the future!
00:17 s1n Tene: I was looking at the LolDispatch class itself
00:17 s1n well, the usage bits
00:17 Tene oh, in the comment
00:18 s1n oh, =begin/=end are comments .... doh
00:18 s1n shouldn't those comments say 'is http-handler' like your gist?
00:18 Tene yes.  I forgot to update them.
00:18 s1n oh okay
00:19 s1n that gist makes more sense then
00:19 Tene committed.
00:19 s1n cool, thanks for that, i was looking for something exactly like this
00:19 Tene howso?
00:20 s1n i needed a method dispatcher based on strings
00:20 s1n i was going to do a cheezy hash/method lookup
00:21 * s1n must go watch redwings now :/
00:21 Tene just replace @routes with %routes
00:21 Tene etc.
00:21 Tene gimme a sec... I'll write your call-method-as-sub module now.
00:21 Tene or you can see it when you get back
00:21 Tene seeya
00:22 skids rakudo: sub infix:<`> (*@slurp) { join("OH", (map {.perl}, @slurp)); }; my @a = (2,3,4); (@a ` 2 ` 3).say;
00:23 p6eval rakudo b41e13: OUTPUT«"2OH3OH4OH2"OH3␤»
00:23 * skids racking brain as to where those "'s come from
00:27 cognominal joined #perl6
00:51 alc joined #perl6
00:54 eternaleye joined #perl6
00:54 justatheory joined #perl6
00:59 eternaleye rakudo: class LazyList { has $location; has @contents; method generator { $^a + $^b }; method new( @starter ) { @contents = @starter; $location = 0; }; method next() { if $location + 1 == @contents.elems() { my @tmp = (); for 1 .. &generator.arity() -> $i { @tmp.unshift( @contents[ - $i ] ); }; @contents.push( &generator.( |@tmp ) ); ++$location; return( @contents[$location]); }; };}; my @beginning = ( 1, 1 ); my $foo = LazyList
00:59 eternaleye @beginning ); while Bool::True { given $foo.next() { .say; } };
00:59 p6eval rakudo b41e13:  ( no output )
01:00 eternaleye Hm, that gives a null PMC locally.
01:00 eternaleye git pull time!
01:01 skids eternaleye: it isn't implemented yet, but you might enjoy the stuff in S07
01:02 eternaleye skids: Yeah, I was trying that out to see if, when List is fully in the setting but is not yet lazy, I could implement the proper API relatively simply.
01:03 eternaleye When de-compactified, it's probably a pretty good way to go for infix:<...> too
01:03 skids I think evalbot may not have gotten the whole line you pasted.
01:04 eternaleye It _would_ be pretty funny if it cut it off somewhere but was still valid Perl6
01:06 eternaleye Ah, that's what it is. I was getting a null pmc in parrot;Role;perl when I had typed parameters to new() [ those being Object @starter, Code &generator ]
01:06 eternaleye (Object so that it can autothread the generator block on junctions)
01:07 * skids tries to figure out out to feed newlines in Q:PIR to evalbot
01:08 eternaleye rakudo: Q:qq:PIR { say "hi" \n say "hi" }
01:08 p6eval rakudo b41e13: OUTPUT«Colons cannot be used as delimiters in quoting constructs at line 1, near ":PIR { say"␤␤current instr.: 'perl6;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:86)␤»
01:08 eternaleye (just guesing here)
01:08 eternaleye *guessing
01:16 pasteling "skids" at 71.192.212.78 pasted "pre-"implemented yet"-but-works iterator stuff for eterneleye" (14 lines, 381B) at http://sial.org/pbot/36624
01:20 Tene s1n: nevermind, it didn't work out.
01:21 Tene STD: sub term:<∅> { say 'lol' }
01:26 Tene what happened to std-bot?
01:28 Tene pmichaud: ping
01:30 skids std:  sub term:<∅> { say 'lol' }
01:30 p6eval std 26833: OUTPUT«ok 00:04 43m␤»
01:30 skids a case of case sensitivity
01:30 skids :-0
01:31 Tene :) thanks
01:31 skids std: sub infix:<`> (|$args) { ... }
01:31 p6eval std 26833: OUTPUT«ok 00:02 37m␤»
01:33 Tene std: use Rails:lang<ruby>;
01:33 p6eval std 26833: OUTPUT«ok 00:02 35m␤»
01:36 skids rakudo: Q:PIR{ say 1␤say 2 }
01:36 p6eval rakudo b41e13: OUTPUT«1␤2␤»
01:36 Tene .u ␤
01:36 phenny U+2424 SYMBOL FOR NEWLINE (␤)
01:37 Tene That's funny that that's parsed "properly". :)
01:40 skids rakudo: my @a = <a b>; my $it = @a.iterator; for 1..3 { +$it.say; my $f = Q:PIR { ␤ $P0 = find_lex '$it' ␤  %r = shift $P0 }; $f.say; }
01:40 p6eval rakudo b41e13: OUTPUT«0␤a␤1␤b␤-1␤StopIteration␤current instr.: '_block34' pc 285 (EVAL_22:120)␤»
01:41 skids (basically same thing I pastebotted, but good to be able to do it inline.)
02:08 mizioumt joined #perl6
02:21 NoirSoldats joined #perl6
02:34 skids NoirSoldats: Heh, I just watched Noir a couple weeks ago.
02:55 amoc joined #perl6
03:20 donaldh joined #perl6
03:41 hcchien_ joined #perl6
03:43 clkao_ joined #perl6
03:43 alester_ joined #perl6
03:44 orafu joined #perl6
03:48 kimtaro joined #perl6
04:04 donaldh joined #perl6
04:35 sri_kraih joined #perl6
04:40 Tene Nice, I now have the following working in rakudo: my $s = ⦃ 1, 3, 5 ⦄ ∩ ⦃ 1, 2, 3, 4 ⦄;
04:46 kate21de joined #perl6
04:52 mberends joined #perl6
04:53 dalek rakudo: 271bbd0 | tene++ | src/parser/ (2 files):
04:53 dalek rakudo: Start parsing version information in use statements.
04:53 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/2​71bbd0cba77a7e92953f50255d275bfffbdf2ed
04:53 dalek rakudo: 8ff0e0a | tene++ | src/parser/ (2 files):
04:53 dalek rakudo: Add support for defining circumfix operators.
04:53 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​ff0e0a21533ec555b234c18a7a989e6d64ba794
04:55 mberends Tene: awesome stuff, 2day youz teh rakduo op!
04:56 Tene writing a blog post right now...
04:56 justatheory joined #perl6
05:02 justatheory joined #perl6
05:07 aff joined #perl6
05:07 aff left #perl6
05:10 mberends 'perl6 -v' on fresh build omits version info. Is that intentional?
05:30 Tene http://blogs.gurulabs.com/stephen/2009​/05/new-toys-in-perl-6-custom-ops.html
05:33 mberends Tene++z rly teh op op 2day
05:35 frew joined #perl6
05:42 frew is there a more generic term for hyperoperator?
05:42 frew and is there a functional version so we can make our own functions or do we have to define an infix op?
05:47 mberends a (normal) function that receives and returns lists seems 'hyper'
05:47 frew ok, I was just wondering if there was a word for it like there is a word for reduce
05:47 frew Like a word that isn't linguistically bound but is in lisp or something
05:49 mberends naw, the vocabulary appears to be exhausted right now. with a couple more players, we could have one of those word games ;)
05:49 frew haha, no I was wondering if ther was an established one
05:49 frew I don't need a new one
05:50 mberends sure, methinks presently none though
05:50 frew as as for a non-infix version of a hyperop?
05:50 frew s/as/and
05:51 mberends prefix and postfix I guess, but all ops need a fix.
05:51 frew no no, I mean like something like this:
05:52 frew hyper({ $^a + $^b}, @a, @b)
05:52 frew assume the function given were more complex though
05:53 mberends ah, there have been only infix examples of that shown here so far
05:53 TimToady map { $^a + $^b }, @a Z @b
05:54 TimToady map { $^a + $^b }, (@a Z @b) rather
05:55 frew I thought it might be something like that
05:55 frew very cool
05:55 TimToady map { $^a + $^b } <== @a Z @b
05:55 frew and the latter would have better performance right?
05:55 TimToady not necessariy
05:55 frew because it's stream-y and lazy?
05:55 TimToady rily
05:56 frew rily.  Indeed.
05:56 TimToady lists are already lazy
05:56 TimToady <== rather explicitly allows a separate thread to generate the values, though
05:56 frew ah, very cool
05:56 mberends stream-y++
05:56 Tene TimToady: what's the reason for requiring map to be in-order?
06:00 TimToady in case there are side effects or dependencies.  if you want to promise there are none, use hyper map
06:00 TimToady then it can evaluate them in any order, though return order is still guaranteed
06:01 Tene OK
06:01 TimToady just as with hyper operators
06:01 Tene I had forgotten about "hyper map"
06:01 frew what's hyper map?
06:01 TimToady a map in hyper context
06:02 TimToady which is an eager context that promises you don't care about order of evaluation
06:02 TimToady doubtless will be ignored in 6.0.0 though
06:02 frew so like, hyper map { $_~' is awesome' } 1,2,3,4;
06:02 TimToady it's just there as the generalization of hyperops
06:03 TimToady still produces the same list as without the yper
06:03 TimToady but if you said "say $_ is awsome" in the middle, they could happen in any order
06:03 TimToady er, only punctuated right
06:03 frew right
06:04 TimToady if Perl were a language with no side effects, you could always assume a hyper
06:05 TimToady but it's not
06:05 frew fortunately for us mortals.
06:05 frew I love functional programming, but not all the time.
06:19 LadyLuna1y joined #perl6
06:28 nbrown_ joined #perl6
06:29 moritz_ rakudo: sub circumfix:«` `»(say $x); `"foo"`
06:29 p6eval rakudo 8ff0e0: OUTPUT«Malformed routine definition at line 1, near "circumfix:"␤␤current instr.: 'perl6;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:86)␤»
06:32 Tene rakudo: sub infix:<⦃ ⦄>($x) { say "omg: $x" }; ⦃ "hi" ⦄
06:32 p6eval rakudo 8ff0e0: OUTPUT«Syntax error at line 1, near "\u2983 \"hi\" \u2984"␤␤current instr.: 'perl6;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:86)␤»
06:33 Tene rakudo: sub infix:<` `>($x) { say "omg: $x" }; `"hi"`
06:33 p6eval rakudo 8ff0e0: OUTPUT«Syntax error at line 1, near "`\"hi\"`"␤␤current instr.: 'perl6;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:86)␤»
06:33 Tene rakudo: sub circumfix:<` `>($x) { say "omg: $x" }; `"hi"`
06:33 p6eval rakudo 8ff0e0: OUTPUT«omg: hi␤»
06:35 moritz_ Tene: thanks
06:36 moritz_ I wasn't really awake, it seems ;-)
06:36 Tene yeah, I'm mostly asleep right now
06:51 frew|work joined #perl6
06:53 eiro left #perl6
07:01 aff joined #perl6
07:01 aff left #perl6
07:12 pugs_svn r26834 | moritz++ | [t/spec] circumfix custom operator
07:13 moritz_ literal: something in t/spec/S06-operator-overloading/sub.t (line 61) makes perl6.vim go mad, and I can't figure out what char to insert in a comment to make hilight the rest correctly
07:13 iblechbot joined #perl6
07:13 moritz_ sub infix:«_<_ »
07:14 moritz_ everything from the second _ on is hilighted as a quote
07:14 moritz_ ah, I need *two* closing >
07:14 moritz_ literal: never mind ;-)
07:15 pugs_svn r26835 | moritz++ | [t/spec] prevent syntax hilighter from going too mad
07:20 donaldh joined #perl6
07:28 Matt-W Morning
07:30 Tene hi
07:32 payload joined #perl6
07:45 finanalyst joined #perl6
07:47 finanalyst is the IO of rakudo broken? yesterday $fh.get worked. today i get the error <Could not locate a method 'get' to invoke on class 'IO'.>
07:47 moritz_ rakudo: my $x = $*IN.get; say $x
07:47 p6eval rakudo 8ff0e0: OUTPUT«Land der Berge, Land am Strome,␤»
07:48 finanalyst hmmm
07:48 moritz_ rakudo: my $fh = open('README') or die $!; say ~$fh.get;
07:48 p6eval rakudo 8ff0e0: OUTPUT«=head1 Rakudo Perl 6␤»
07:48 moritz_ works fine here.
07:49 finanalyst i just did a git pull on my rakudo directory and rebuilt.
07:52 finanalyst perl6
07:52 finanalyst my $fh= open('README') or die $!; say $fh.get
07:52 finanalyst Could not locate a method 'get' to invoke on class 'IO'.
07:52 finanalyst that is using my local rakudo
07:53 moritz_ did you reconfigure Rakudo?
07:53 Tene finanalyst: there were some major changes recently... do a 'make realclean' and then reconfigure and rebuild
07:57 cognominal joined #perl6
07:58 wollmers joined #perl6
08:01 wollmers moritz_, Tene: I did 'make realclean; git pull; perl Configure.pl --gen-parrot; make' but got 'Unable to open filehandle from path'
08:02 Tene OK
08:02 moritz_ wollmers: in which step did you get the error message?
08:03 wollmers ./perl6 'my $fh = open("./README");'
08:03 wollmers ooops
08:03 wollmers ./perl6 -e 'my $fh = open("./README");' -- WORKS;-)
08:13 DemoFreak joined #perl6
08:19 jferrero joined #perl6
08:32 angelixd joined #perl6
08:49 agentzh joined #perl6
08:59 wollmers std: sub prefix:{"X"} ($a) { return "XXX: $a"; }; say X "b";
08:59 p6eval std 26835:  ( no output )
08:59 wollmers rakudo: sub prefix:{"X"} ($a) { return "XXX: $a"; }; say X "b";
08:59 p6eval rakudo 8ff0e0: OUTPUT«Could not find non-existent sub X␤current instr.: '_block14' pc 65 (EVAL_18:49)␤»
09:01 moritz_ rakudo: sub prefix:<X> ($a) { return "XXX: $a"; }; say X 'b'
09:01 p6eval rakudo 8ff0e0: OUTPUT«XXX: b␤»
09:02 zamolxes joined #perl6
09:02 wollmers moritz_: yeah, but -fix:{"X"} or {'X'} should be 'the same' (see spec)
09:03 moritz_ wollmers: where do I find that spec?
09:03 moritz_ I know it's the same for hash subscripts
09:03 moritz_ but this pair syntax, afaict
09:03 moritz_ and I've never seen :{'X'} for pairs
09:04 wollmers S06: So any of these
09:04 wollmers indicates the same binary addition operator:
09:04 wollmers =head2 Operator overloading
09:05 moritz_ right
09:05 moritz_ feel free to submit a ticket, add tests, whatever you want ;-)
09:05 payload joined #perl6
09:06 wollmers this would also allow {"\x[...]"} or {"\c[...]"} -- IMHO
09:08 jferrero joined #perl6
09:08 payload1 joined #perl6
09:08 wollmers sub prefix:{"\c[MINUS-OR-PLUS SIGN]"} # U+2213 MINUS-OR-PLUS SIGN
09:09 moritz_ one day I'll write a \T[...] macro which allows TeX escape sequences
09:09 moritz_ \T[ \pm ]
09:09 moritz_ shorter than \c[MINUS-OR-PLUS SIGN] ;-)
09:10 wollmers std: sub prefix:{"\c[MINUS-OR-PLUS SIGN]"}  ($a) { return "XXX: $a"; };
09:10 p6eval std 26835: OUTPUT«ok 00:04 42m␤»
09:12 wollmers moritz_: Unicode has short aliases like a_grave or A_grave
09:13 wollmers in Perl 5 'use charnames' you can define your own aliases
09:13 meppl joined #perl6
09:15 wollmers or cut and paste from http://demo.icu-project.org/icu-bin/ubrowse?s=PLUS
09:21 moritz_ wollmers: my point is simply that I know TeX's symbols much better than the Unicode names
09:21 moritz_ wollmers: so for me it's mostly a matter of convenience
09:28 wollmers moritz_: others know HTML entities, thus can use '&rlm;' instead of  U+200F RIGHT-TO-LEFT MARK
09:28 agentzh joined #perl6
09:30 Kyosuke_Kiryu joined #perl6
09:32 LylePerl joined #perl6
09:33 jnthn H H
09:35 mberends O   AI!
09:36 mberends happy Rakudoday, innit?
09:49 jnthn mberends: yes
09:52 finanalyst still having problems with get method for IO. done make realclean, reconfigured and rebuilt.
09:52 finanalyst ran:  perl6 -e 'my $f=open("README",:r);say $f.get'
09:54 Eevee joined #perl6
09:56 jnthn finanalyst: And what happens?
09:56 jnthn (It works here...)
10:01 finanalyst I get the following: Could not locate a method 'get' to invoke on class 'IO'. Then a whole load of debug lines
10:02 jnthn finanalyst: You have the latest Rakudo, and a Parrot revision matching that in build/PARROT_REVISION?
10:04 finanalyst i did 'make realclean' then 'perl Configure.pl --gen-parrot'
10:05 finanalyst so it should be the correct versions No?
10:05 jnthn OK, that shoulda got you right right versions then...
10:05 finanalyst i could nopaste you the debug lines, if it would help
10:06 jnthn Yes, please.
10:07 pasteling "finanalyst" at 193.110.4.137 pasted "no get method for IO" (91 lines, 6.8K) at http://sial.org/pbot/36627
10:09 jnthn huh...I've not seen that double free in a while...
10:09 Matt-W meep
10:09 Matt-W double frees are not fun
10:10 jnthn finanalyst: What do your build/PARROT_REVISION file contain?
10:11 jnthn Just to make sure we're looking at the same thing...
10:11 finanalyst 38768
10:11 jnthn Heh, same.
10:12 jnthn OK, confusing.
10:12 jnthn Do you fail any spectests?
10:12 jnthn (Presumably so, but I'm curious which ones.)
10:12 finanalyst when running Config?
10:16 jnthn No, when you run make spectest
10:19 finanalyst running spectest, will get back when finished
10:20 pmurias joined #perl6
10:20 jnthn joined #perl6
10:20 zamolxes joined #perl6
10:20 Maddingue joined #perl6
10:20 buu joined #perl6
10:39 masak joined #perl6
10:40 masak ahoj, hyperops.
10:41 jnthn ahoj, masak
10:41 jnthn ako sa mas?
10:42 masak is that Japanese?
10:42 literal rakudo: my sub infix:<���> ($a, $b) { return "$a ��� $b" }; say 'oh' ��� 'hi';
10:42 p6eval rakudo 8ff0e0: OUTPUT«oh ��� hi␤»
10:42 literal hm
10:42 jnthn masak: No, it's Slovak. :-P
10:42 moritz_ Unicode Fail
10:43 masak jnthn: oh. language guess fail. :)
10:43 moritz_ it works locally, though
10:43 masak jnthn: thanks for closing the masak-close-fail ticket, btw.
10:43 jnthn masak: Was just on a hunt for those that .HLL might have resolved, and spotted it then.
10:43 masak I didn't see literal's characters properly, fwiw.
10:44 jnthn It all looks fine until the output.
10:44 literal ah, I was sending latin1
10:44 moritz_ that explains a lot
10:44 jnthn Though that could cover a lot of Rakudo bugs. ;-)
10:44 literal p6eval should know how to convert latin1 to utf-8 :)
10:45 literal rakudo: my sub infix:<���> ($a, $b) { return "$a ��� $b" }; say 'oh' ��� 'hi';
10:45 p6eval rakudo 8ff0e0: OUTPUT«oh ��� hi␤»
10:45 masak literal: still latin-1.
10:45 moritz_ rakudo: my sub infix:<»ö«> ($a, $b) { return "$a »ö« $b" }; say 'oh' »ö« 'hi';
10:45 p6eval rakudo 8ff0e0: OUTPUT«oh »ö« hi␤»
10:45 literal rakudo: my sub infix:<»ö«> ($a, $b) { return "$a »ö« $b" }; say 'oh' »ö« 'hi';
10:45 p6eval rakudo 8ff0e0: OUTPUT«oh »ö« hi␤»
10:45 masak much better. :)
10:45 agentzh joined #perl6
10:45 moritz_ literal: encoding magic is evil, and should be avoided whenever possible
10:46 agentzh left #perl6
10:46 masak more generally, "smart" software isn't.
10:46 literal most IRC clients do it, i.e. convert the latin1+utf-8 soup into utf-8
10:46 moritz_ I know
10:47 masak I don't think mine does.
10:48 literal the reason I had mine set to output latin was because I'm also on IRCnet, and I some people there are using old mIRC versions which only understand latin1, and irssi doesn't let me specify output encoding per-network
10:57 szabgab joined #perl6
10:57 masak literal: Perl 6 programs are in Unicode. :)
10:57 literal true
10:57 lichtkind joined #perl6
10:58 masak literal: oh, and by the way: I expect to do some additional thinking on the structure of the u4x documentation this weekend.
10:58 literal ok
10:58 vx64z joined #perl6
10:59 literal what sort of additional thinking?
11:00 moritz_ literal: there's a simple technical reason not have p6eval autodected encoding: it's implemented in Bot::BasicBot, which accepts only one encoding (it seems)
11:01 literal yeah, damn Bot::BasicBot and it's assumptions :)
11:01 literal er, its
11:02 masak literal: the sort that leads to additional structure in the u4x/documentation directory, so that a program can easily find the right item given some key.
11:06 literal sounds good
11:06 masak Matt-W: it would be kinda cool (maybe) if the tabular layout in Form could be set to output a HTML table. :)
11:07 masak literal: I'm basically going through P2T1A, and thinking about how to access the documentation I'm creating.
11:07 masak so, I expect there will be an additional document about storage locations shortly.
11:08 moritz_ uhm.
11:08 moritz_ shouldn't grok go through all documents and build an index itself?
11:08 moritz_ or do you mean external resources, like the synopsis etc?
11:09 masak moritz_: no, I'm just talking about the internal data.
11:09 masak moritz_: I haven't thought of the need to build an index. would that be needed?
11:09 masak as far as possible, I'm hoping the actual .pod files will be enough for the program to find the right item.
11:10 masak that's why naming them right is important.
11:10 moritz_ it will, but probably rather slow
11:10 masak oh. well, an index for speed reasons is fine.
11:10 moritz_ an index can be something as simple as a list of headers associated with file names
11:10 masak but everything is rather slow in Perl 6 right now. :)
11:11 jnthn masak: I'm currently writing some benchmarks to access our basic performance.
11:11 moritz_ except finding bugs ;-)
11:11 masak moritz_: I'm thinking a file might be called 'prefix.pod', so if I'm looking for 'prefix:<!>', I know I should look there.
11:11 jnthn masak: But more importantly, so we can track how changes we think could hit performance affect things.
11:12 masak jnthn: sounds excellent.
11:12 jnthn I'm...kinda disturbed by the results so far.
11:12 jnthn 01 - hello world: 1.015625
11:12 jnthn 02 - 10,000 sub dispatches: 23.155615
11:12 masak :)
11:12 jnthn 03 - 10,000 multi dispatches: 15.889863
11:12 jnthn I think my benchmark must be bad...
11:12 masak what do the numbers mean? seconds?
11:12 aff joined #perl6
11:12 jnthn oh, I know why
11:12 jnthn yes
11:13 aff left #perl6
11:13 moritz_ masak: that would lead to quite some fragmmentation of the files
11:13 moritz_ masak: and when somebody enters a ! in grok, it will have to look up all of those files anway
11:13 jnthn Writing good benchmarks is hard...
11:13 masak moritz_: that might be where the index comes in, then.
11:13 moritz_ because it can't know if it's a prefix, or an infix, or a regex meta character
11:14 jnthn or at least, writing ones that test what you want them to test is...
11:14 masak moritz_: still sounds like only three files.
11:14 jnthn even making the benchmarks much more fair is still giving crazy result
11:14 jnthn 01 - hello world: 1.015625
11:14 jnthn 02 - 10,000 sub dispatches: 16.467989
11:14 jnthn 03 - 10,000 multi dispatches: 15.92106
11:14 jnthn We can multi-dispatch faster than single-dispatch. wtf.
11:14 moritz_ infix, prefix, postfix, circumfix, postcircumfix, regex, quotes, .k..
11:15 masak :)
11:15 moritz_ that why I'd prefer a single syntax.pod
11:16 moritz_ and each entry is augment with 'prefix:<!>' or so
11:16 masak moritz_: well, when you throw in user-project documentation, it'll have to do something like that wide search anyway.
11:16 masak moritz_: a user might have written a method called .flip or .elems
11:17 moritz_ masak: and a user will not want to document exported operators in a separate file
11:17 masak moritz_: sorry, what?
11:17 masak I didn't get that part.
11:18 moritz_ masak: docuementation is usually grouped by functionality
11:18 moritz_ masak: not by the syntactic category
11:18 moritz_ DBI.pm doesn't have a separate file for class methods and instance methods
11:19 moritz_ neither should we have separate files for operators and subs
11:19 moritz_ because operators are just subs with weird names
11:19 masak moritz_: u4x is not documentation tied to a project. I think your analogy is faulty.
11:19 masak s/project/module/
11:20 moritz_ it's part of Perl 6's philosophy that the "core" language is not special
11:20 masak moritz_: true.
11:20 moritz_ or in anyway different than modules or so
11:20 donaldh joined #perl6
11:21 masak moritz_: I agree about that.
11:21 masak moritz_: but the "core" _is_ special in the sense that we know that it's there in an unmodified Perl 6.0.0 dialect.
11:22 masak if it serves us to structure that core as normal module Pod, then we will of course do that.
11:22 masak if it serves us to structure it in some other, more efficient way, we'll do that.
11:23 masak I don't claim to have any hard answers in this issue. that's why I intend to spend time this weekend thinking about it. :)
11:23 moritz_ well, I think we'll just do it somehow for now, and if it's a major pain we can still change it
11:24 masak aye.
11:24 masak Fire. Aim. Ready.
11:24 moritz_ bomb.
11:25 masak in fact, my first attempt at a structure will simply have as a goal to make it theoically possible to find a particular item given some degree of description about it.
11:26 masak (i.e. both '+' and 'infix:<+>' should find the same operator)
11:26 masak (but the former should also find 'prefix:<+>')
11:26 moritz_ and the quantifier + in regexes
11:26 masak aye. :)
11:27 masak is that called postfix:<+>, by the way?
11:27 masak or is there some better way to refer to it?
11:27 moritz_ and all of those won't help when somebody wants to know what q+foo+ does ;-)
11:28 masak moritz_: no. even grok will not be able to do miracles.
11:28 moritz_ masak: it's called quantifier:<+> in slang Regex
11:28 moritz_ masak: well, it could, if the user entered q+...+ and it used a STD.pm backend
11:28 masak moritz_: but it might be possible to write 'grok "q+foo+"', and there will be enough parsing in grok to understand that q[] is intended.
11:28 masak moritz_: aye.
11:29 moritz_ that's where my idea for "perlhints" started long ago
11:29 masak moritz_: ok, thanks. then it should probably say 'quantifier:<+> in slang Regex' in the disambiguation message.
11:29 pugs_svn r26836 | wollmers++ | [t/spec] added test for operator overloading; and TODO
11:30 masak the main slang wouldn't have an 'in main slang' addition.
11:30 masak similarly, installed non-core modules would say 'in module DBI', but core things wouldn't say 'in CORE'.
11:30 moritz_ aye
11:31 masak just as with proto, it's important that things look neat and presentable.
11:32 masak that does not always seem to be a concern in Perl tools. :/
11:33 moritz_ wollmers++ # nice tests
11:33 pugs_svn r26837 | pmurias++ | [re-mildew] added explicit FETCHes in t/classhow_add_method_real.t
11:33 pugs_svn r26837 | pmurias++ | and changed the invocant to an implicit ones so that it passes
11:33 pugs_svn r26838 | pmurias++ | [re-mildew] CORE.pm loads EXTERNAL.pm
11:33 pugs_svn r26839 | pmurias++ | [re-mildew] fixed the signatures for accessors
11:33 pugs_svn r26839 | pmurias++ | added an incomplete default method signature
11:33 pugs_svn r26839 | pmurias++ | t/knowhow_attributes.t passes - removed extra \n from output
11:37 masak are non-literals allowed inside the {} of infix:{} or the <<>> of infix:<<>> ?
11:37 moritz_ masak: no, you'd need macros for that
11:38 masak ah. makes sense.
11:44 masak std: sub infix<<$s>>($a, $b) { 42 }
11:44 p6eval std 26839: OUTPUT«##### PARSE FAILED #####␤Malformed block at /tmp/K8wKNcjuQz line 1:␤------> [32msub infix[31m<<$s>>($a, $b) { 42 }[0m␤    expecting any of:␤      blockoid␤ routine_def␤      terminator␤       trait␤  whitespace␤FAILED 00:02 35m␤»
11:45 masak oops.
11:45 masak std: sub infix:<<$s>>($a, $b) { 42 }
11:45 p6eval std 26839: OUTPUT«Argument "EOF" isn't numeric in numeric ne (!=) at STD.pm line 58609.␤Argument "EOF" isn't numeric in numeric eq (==) at STD.pm line 58610.␤##### PARSE FAILED #####␤(Possible runaway string from line 1)␤Unable to parse quote-words subscript; couldn't find right double-angle
11:45 p6eval ..quote...
11:45 masak TimToady: ^^
11:45 * moritz_ cleans STD.pm's dir...
11:47 finanalyst jnthn: ping
11:47 jnthn finanalyst: pong
11:48 finanalyst make testspec returned. Can nopaste summary. Not much really
11:48 wollmers std: sub infix:<<$s>> ($a, $b) { 42 }
11:48 p6eval std 26839: OUTPUT«ok 00:04 39m␤»
11:48 jnthn finanalyst: OK, any of S16-* fail?
11:49 moritz_ or S32-io/*
11:49 finanalyst t/spec/S32-io/IO-Socket-INET.t faile 2/3
11:50 finanalyst no fail of S16*
11:56 jnthn OK but we have tests surely that exercise .get...so hmm.
11:58 payload joined #perl6
11:58 mberends finanalyst: INET.t is my fault. on what platform is it failing?
11:59 finanalyst Ubuntu 9.04
11:59 payload joined #perl6
11:59 payload joined #perl6
12:02 finanalyst is 'make realclean' sufficient? should i try deleting the rakudo directory and trying again?
12:03 jnthn finanalyst: Might be worthwhile.
12:03 mberends finanalyst: could you show the output of './perl6 t/spec/S32-io/IO-Socket-INET.t' ? It's not good to have fails so frequently.
12:03 jnthn make realclean *should* be sufficient.
12:04 * mberends vaguely recalls 127.0.1.1 as localhost on some platform
12:05 pasteling "finanalyst" at 193.110.4.137 pasted "t/spec/S32-io/IO-Socket-INET.t" (7 lines, 234B) at http://sial.org/pbot/36631
12:06 mberends finanalyst: thanks. but hmm, it's uninformative :(
12:07 moritz_ a few calls to diag() wouldn't hurt in that test
12:07 mberends yes, good idea :)
12:08 mberends after this Temporal stuff is on its way
12:08 Matt-W masak: I think you could set up your picture strings so that'd work :)
12:09 masak Matt-W: It was just an idea. :) not sure it's useful in the long run.
12:09 Matt-W I think producing HTML tables would be fairly easy, actually
12:10 Matt-W Maybe I'll write a demo for that
12:12 masak woot.
12:12 Matt-W heh
12:12 Matt-W something to add to the todo
12:16 masak mberends: don't know if you saw, but the Ecosystem patch has landed.
12:17 masak mberends: I'm reluctantly very pleased with proto auto-compiling if it notices that the .pir files are out-of-date. :P
12:17 masak it's good for us developers, at least.
12:18 moritz_ so if I write a project and want it handled by proto, do I have to write my own makefile for precompilation? or does it do that automagically now?
12:18 masak viklund gave the moving dots both thumbs up, but he was bummed with to an equal and opposite force when he noticed that they weren't applied to all progress-related things.
12:18 masak moritz_: there's a create-new-project script that sets things up for you. mberends++
12:19 moritz_ I'll give it a shot over the weekend
12:19 moritz_ (updating proto now, so that I can work offline)
12:19 moritz_ git is so handy.
12:19 masak moritz_: do you have a new project idea?
12:19 moritz_ masak: no, but I want my JSON parser handled by proto
12:20 masak moritz_: I think it's already listed. not sure create-new-project would apply well in this case.
12:20 masak moritz_: but you could definitely profit from reading the source and doing some of the steps manually.
12:20 moritz_ well, I just haven't written a makefile for it
12:21 pmichaud good morning, #perl6
12:21 masak pmichaud: mornin'
12:21 jnthn morning pmichaud
12:22 moritz_ oh hai
12:22 Matt-W pmichaud!!!!! What marvels do you have in store today?
12:22 masak (no pressure, though)
12:24 pmichaud right now my marvel is taking kids to school... bbiab
12:24 masak wow, taking kids to school. that pmichaud never ceases to amaze me.
12:26 * jnthn sighs and wonders why nothing is every simple...
12:26 jnthn *ever
12:27 jnthn I had the crazy idea that now we have the Perl 6 HLL, we could actually creating MultiSubs as Perl6MultiSub rather than having to re-bless them into it.
12:28 jnthn Which means the bit of code causing RT#65674 could just stop being used and we'd have less work to do at init time...
12:30 Matt-W That'd be nice
12:30 Matt-W I take it that doesn't work
12:31 jnthn It's not as straightforward as one might hope, that's for sure.
12:32 Matt-W damn
12:35 iblechbot joined #perl6
12:37 jferrero left #perl6
12:41 masak I'm leaving to study Chinese a bit now. see y'all.
12:42 jnthn Trouble is, we don't want to transform everything, and I'm struggling to find a way to get a "just some things".
12:42 Matt-W :(
12:43 Matt-W Well if it makes you feel any better, I'm trying to figure out a three-way deadlock
12:44 jnthn Ugh.
12:44 jnthn That sounds equally un-fun.
12:46 aff joined #perl6
12:47 aff left #perl6
12:50 jnthn Well, in reality, everything needs to become a Perl6MultiSub anyway I guess.
12:51 jnthn Screw it. I'm going to make a branch and JFDI...
12:52 jnthn ...or try...
13:02 pmichaud jnthn: any chance you'll be able to look at #65672 today?  I have some convert-PIR-to-settings items that will depend on it.
13:03 jnthn pmichaud: Ah, yes, I can do that.
13:03 jnthn pmichaud: I've started a branch to switch us fully over to Perl6MultiSub.
13:04 jnthn pmichaud: Got a Parrot patch that supports it in HLL_map
13:04 jnthn It sort of works, but it's a bit "all or nothing".
13:04 pmichaud excellent.  Is this just for things compiled from perl6, or can/will it also apply to our PIR builtins ?
13:04 jnthn Well, that's the problem - I can't find a way to not make it apply to our PIR built-ins.
13:04 jnthn So they're gonna need to get sigs. However...
13:05 pmichaud how can it apply to our PIR builtins?
13:05 jnthn 1) We can use the same :(Any, Any) sigs
13:05 jnthn *sig
13:05 jnthn As in one and give it to all of 'em.
13:05 jnthn 2) The junction variants can all go away since they'll be generated automatically.
13:05 jnthn (and lazily, and only if used)
13:06 pmichaud oh, are you using :immediate to get the hll_map registrations in place?
13:06 jnthn Yes.
13:06 pmichaud ah.
13:06 pmichaud Okay, that can work.
13:06 jnthn I tried to see if I could cheat and just put the :immediate before including gen_setting.pir
13:06 jnthn But no such luck.
13:06 pmichaud I'd prefer that they all become Perl6MultiSub, I think.
13:07 jnthn They need to in the end, and I think we may as well just bite the bullet.
13:07 jnthn It saves a bunch of calls to !TOPERL6MULTISUB at startup too.
13:07 pmichaud it would also be really nice if upon encountering a sub that doesn't have a signature, we automatically generate one.
13:07 pmichaud that would seem to be easier.
13:07 jnthn What would we auto-generate though?
13:07 pmichaud just   :(Any, Any)
13:07 pmichaud based on the sub's arity
13:07 jnthn Ah
13:07 pmichaud (which we *do* know)
13:08 jnthn That's perhaps do-able.
13:08 pmichaud even better would be if we could generate based on the sub's internal :multi() descriptor.
13:09 pmichaud but just generating a "fake" .signature ought to be okay.  We don't have to worry about !SIGNATURE_BIND being called, since there won't be one present.
13:09 jnthn Aye.
13:09 pmichaud We just neeed enough of a signature to get past multi-dispatch, and to not present too many falsehoods.  :-)
13:09 jnthn BTW, I wrote a small benchmark-y script today to check how we do at certain things.
13:10 jnthn I'm pondering that it may be good to run it regularly (on the same machine) and graph.
13:10 pmichaud That sounds like an excellent idea.
13:10 jnthn So if we cause a major regression accidentally we can know that.
13:10 jnthn The numbers are kinda interesting.
13:10 jnthn 01 - hello world: 1.015625
13:10 jnthn 02 - 10,000 sub dispatches: 16.420971
13:10 jnthn 03 - 10,000 multi dispatches: 15.905435
13:10 jnthn 04 - 10,000 method dispatches: 19.8125
13:11 jnthn We multi-dispatch faster than single dispatch. Don't ask me how on earth...
13:11 pmichaud I'm guessing find_name_not_null is more expensive than we realize.
13:12 pmichaud can I see the script?
13:12 jnthn Also, I was thinking that our method dispatcher must be horribly so, but the performance difference between subs and methods isn't *that* huge.
13:13 pmichaud ....wait, this method dispatch is going through our PIR-based dispatcher, yes?
13:13 jnthn pmichaud: http://gist.github.com/112205
13:14 jnthn pmichaud: Yes.
13:14 pmichaud wow.
13:14 skids joined #perl6
13:14 pmichaud I'm surprised it's as fast as it is.
13:14 jnthn Me too.
13:14 jnthn I thought that was likely a major bottle-neck for us.
13:14 jnthn Now I'm pondering that it may be !SIGNATURE_BIND.
13:15 jnthn (That is really costly)
13:15 pmichaud where is Time::HiRes ?
13:16 jnthn pmichaud: Off CPAN, or may be core.
13:16 jnthn pmichaud: Note this is a Perl 5 sciprt. ;-)
13:16 pmichaud oh, okay.
13:16 pmichaud I didn't see a "use v5;" at the top.  :-)
13:17 pmichaud for a valid comparison between multi and sub, perhaps we need to type-constrain the sub params
13:17 pmichaud unless you're assuming that the Any type constraints are equal-time with Int or Str
13:17 jnthn pmichaud: Ah, good point...
13:17 pmichaud (I wouldn't rely on that assumption, myself)
13:18 jnthn No, you're right. Changing the method one too.
13:18 pmichaud it would be interesting to benchmark multi method dispatch, too.
13:19 jnthn pmichaud: Wow, the difference between type-checking Int and Any is vast.
13:19 pmichaud Yes, I suspected so.
13:19 jnthn 01 - hello world: 1
13:19 jnthn 02 - 10,000 sub dispatches: 14.936823
13:19 jnthn 03 - 10,000 multi dispatches: 15.95237
13:19 jnthn 04 - 10,000 method dispatches: 20.796875
13:19 jnthn OK, now we know why it differed.
13:19 jnthn erm
13:20 jnthn why multi was faster
13:20 jnthn Still, not bad that multi dispatch is only a *little* slower...
13:20 pmichaud it bugs me that type-checking Any is slow.
13:20 pmichaud if only because it's soooooo common.
13:21 jnthn Same.
13:21 jnthn Actually
13:22 jnthn There'll be a notable difference (I hope) between type-checking of Any in multis and in singles.
13:22 jnthn Because multis have a type-based cache.
13:22 pmichaud wow, running spectests has become *really* slow in the past 48 hours.
13:23 dalek rakudo: e374db0 | duff++ | src/classes/Signature.pir:
13:23 dalek rakudo: Fix error message output
13:23 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​374db03a1e1b093b93940046fc1efa7169f94cc
13:25 jnthn pmichaud: Suspect HLL?
13:25 pmichaud jnthn: I'm not sure.
13:26 Matt-W Hmm it would be nice if Any was quicker
13:26 pmichaud running my spectest-progress update this morning is taking well over an hour.
13:26 Matt-W Would have thought checking that would be really easy
13:26 jnthn Ouch.
13:26 pmichaud usually it's done under 30 minutes.
13:26 Matt-W ouch
13:28 dalek rakudo: f71c3e9 | pmichaud++ | docs/spectest-progress.csv:
13:28 dalek rakudo: spectest-progress.csv update: 390 files, 11291 passing, 0 failing
13:28 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​71c3e9f179667c0fe4178805b0328d412f35f3e
13:29 pmichaud jnthn: can you check your benchmark script into tools or something?
13:30 pmichaud that way we can all be sure to run the same benchmark
13:30 jnthn pmichaud: 7% performance win in sub dispatch if we getattribute the params list rather than calling .params and just do something more like a for loop rather than getting an iterator PMC every time.
13:30 pmichaud Add a "use v5;" to the top :-)
13:30 jnthn (In !SIGNATURE_BIND)
13:31 pmichaud +1
13:31 jnthn pmichaud: Want me to add that?
13:31 pmichaud I'm very fine with !SIGNATURE_BIND cheating.
13:31 pmichaud !SIGNATURE_BIND can cheat all it wants.
13:40 jnthn pmichaud: Release will be next week, right?
13:45 dalek rakudo: 5bd02be | jnthn++ | src/classes/Signature.pir:
13:45 dalek rakudo: Small optimizations to signature binding; costs us a PMC creation and a method call less every invocation of something that has a signature, which gives a 7% speed-up in a calling benchmark.
13:45 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​bd02be9924c2f6013e4601e55d103b1e1a30a14
13:46 jnthn dalek missed the other patch which added the benchmarks to tools/benchmark.pl
13:49 Matt-W 7% is not to be sniffed at
13:51 jnthn Not when it's something we do every single sub call, for sure.
13:56 finanalyst left #perl6
13:56 pmichaud jnthn: yes, release is next Thursday.
13:57 jnthn pmichaud: Even if we put it just somewhere in Rakudo for now, I really feel we should show HLL line numbers.
13:58 jnthn In errors.
13:58 pmichaud I thought Tene was working on that.
13:58 jnthn Me too...
13:58 pmichaud I'm fine with it going in Rakudo, PCT, or wherever.
13:58 pmichaud (with the understanding that it might get refactored to somewhere else)
13:59 Matt-W Would that be line numbers from the actual Perl 6 that's being run?
13:59 jnthn Just getting bored of waiting for something I can quite quickly hack in to Rakudo in not that much time. If it is replaced/moved later I don't mind at all.
13:59 jnthn Matt-W: Yes.
13:59 Matt-W Because I don't care how you do that, I will worship at your feet if you do it
14:00 jnthn Matt-W: Most of the hard work is done, it's just the output we're blocked on.
14:01 Matt-W I always thought it looked like it does know the source number
14:01 Matt-W because if I look in the PIR generated for Form's modules there are lots of line directives
14:01 pmichaud that's relatively recent.
14:01 jnthn Well, it hasn't always, but pmichaud++ added the .annotate emission a good month or so back.
14:01 jnthn Or thereabouts.
14:01 Matt-W Well they were very helpful last time I had a nasty thing to debug in Form
14:02 Matt-W just wish they were in the backtrace :)
14:02 Matt-W I would say, hack it in with the knowledge that it'll probably be done properly later. It's too important not to have.
14:02 dalek rakudo: cf586e3 | jnthn++ | tools/benchmark.pl:
14:02 dalek rakudo: Another benchmark, this time for operator dispatch.
14:02 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​f586e35f213c30dd0996c4bf3ecb4d1ea1841b6
14:03 jnthn OK, I'll toss something quickly into Rakudo to make sure we have them in for the reelease, and when Tene++ has chance to finish up his work on the more official way to do it, it can replace this.
14:03 pmichaud actually, if you get something into Rakudo, I can probably move it to PCT relatively quickly.
14:03 jnthn pmichaud: OK
14:03 jnthn Will leave that to you if you want to do it. :-)
14:03 pmichaud or if you just send me a patch that says "here's how it works in Rakudo", then I'll either move to the patch to PCT or apply it to Rakudo.
14:06 jnthn Will look into it when I've nommed this cheezsarnie.
14:12 Tene I can do that today.
14:12 jnthn Tene: ohrly?
14:12 Tene but yes, if you can do it faster feel free
14:12 jnthn Tene: Well, if you already have a patch for it I'd rather not re-do something you already did.
14:13 kbrandt left #perl6
14:13 Tene there's a branch in parrot
14:13 jnthn Tene: OK, what's blocking it being merged?
14:13 Tene it breaks a ton of tests that rely on the text of the "no exception handler" message
14:14 Tene I had trouble detecting the "there are no annotations" case.
14:14 dalek rakudo: a1055ac | pmichaud++ | src/parser/actions.pm:
14:14 dalek rakudo: Refactor to remove some redundant if tests in use_statement.
14:14 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​1055ac5bb7f163043ab3dfab2edc99941360595
14:15 jnthn Tene: Ugh.
14:15 pmichaud afk for a bit
14:16 jnthn Tene: Is deceting the no-annotations case not a case of walking the backtrace and seeing if there is an annotations hash in there somewhere?
14:16 Tene jnthn: that's exactly what it should be, but somehow I was having trouble telling the difference between 0 and null
14:17 jnthn OK, maybe most useful is if I take a look at the branch rather than recreating what you've done. Is it the report_hll_info/ one?
14:17 xinming joined #perl6
14:17 Tene probably
14:18 jnthn checking it out
14:19 mizioumt joined #perl6
14:19 LadyLunacy joined #perl6
14:21 jnthn Tene: Were you getting it to print the line numbers for the entire backtrace BTW?
14:21 Tene yes
14:21 Tene it worked great on perl 6 code
14:22 Tene I just got frustrated trying to detect the "no annotations" case and gave up.
14:22 Tene That's my guess, at least.
14:22 Tene I don't quite remember. :)
14:22 jnthn Tene: ah, found the code in question.
14:28 jnthn Tene: Ah, I think I may know what's wrong.
14:29 jnthn interp->code->annotations
14:29 jnthn That assumes every sub in the backtrace is from the same source segment.
14:29 jnthn *code segment
14:32 jnthn Tene: Aww. It doesn't compile for me.
14:33 Tene aw
14:33 Tene ;_;
14:33 jnthn Tene: Oh, easy one.
14:33 jnthn Just a C89 fail. :-)
14:35 jhorwitz joined #perl6
14:36 Tene man, what kind of crazy compiler are you using?
14:38 jnthn One that enforces C89. ;-)
14:38 Tene :P
14:41 dalek joined #perl6
14:41 Infinoid jnthn: I think I just fixed your skipped commit issue
14:41 jnthn Infinoid: Oh, nice! :-)
14:41 jnthn Tene: Ugh, these fails are the annoying...
14:41 jnthn #   at t/pmc/array.t line 121.
14:41 jnthn #                   'Array index out of bounds!'
14:41 jnthn #     doesn't match '/^Array index out of bounds!
14:41 jnthn # current instr/
14:41 jnthn # '
14:41 Tene yes!
14:42 jnthn We even test to make sure the exclamation mark is in the error! ;-)
14:44 frew joined #perl6
14:48 mizioumt1 joined #perl6
14:48 jnthn Tene: Is there any reason, if we die without any message, we can't keep showing the "No exception handler and no message"?
14:49 Tene Because that's less useful.
14:49 Tene that's a..
14:49 Tene all.
14:49 jnthn Oh, since we don't show the line number.
14:49 jnthn Of the throw.
14:49 jnthn Right.
14:49 jnthn Hmm.
14:52 jnthn Tene: One thing that is an issue with the "put it in Parrot" approach is that I suspect many HLLs will want to only show the back trace down to the end of user code, rather than the trace through the compiler tools bits.
14:52 ejs joined #perl6
14:53 Tene as well, many HLLs might want to override or change the message format
14:53 jnthn Aye.
14:53 payload joined #perl6
14:53 jnthn I'm not saying it's bad Parrot provide a default.
14:53 jnthn Just that in reality many HLLs that already have a way of showing errors that their users are familiar with, may want to keep showing the errors their way.
14:54 Tene right
14:54 Tene so maybe a print-exception sub in hllcompiler that can be overriden?
14:54 jnthn Perhaps something like that, yes.
14:55 jnthn I think for now I'll do something in Rakudo, and then we can generalize it.
14:55 jnthn And I suspect on the Parrot front, try and get a clarification on if the error messages in the test may be changed.
14:55 jnthn (e.g. at #parrotsketch0
14:55 jnthn )
14:55 Tene the answer is "they shouldn't be testing it like that anyway.  they should be catching the exception.
14:56 Tene "
14:56 jnthn True.
14:56 iblechbot joined #perl6
14:56 Tene which means the real answer is "Sure, but nobody wants to do all that work, and if they're changing the tests anyway, maybe they should just be updating them instead, but nobody really wants to do even more work.
14:57 Tene "
14:58 jferrero joined #perl6
15:04 Tene AFK work
15:05 ZuLuuuuuu joined #perl6
15:11 kimtaro joined #perl6
15:14 jnthn pmichaud: ping
15:18 jjjmm joined #perl6
15:18 donaldh joined #perl6
15:19 jjjmm #eci123
15:20 donaldh joined #perl6
15:21 TimToady $!awake = .5
15:21 mofino joined #perl6
15:23 skids joined #perl6
15:26 payload joined #perl6
15:41 TimToady moritz_: I think non-literals are allowed in infix:{...}, but they will be evaluated at compile time
15:42 TimToady much like the arguments to a "use"
15:42 TimToady or anything in a BEGIN
15:42 Psyche^ joined #perl6
15:46 jferrero left #perl6
15:46 justatheory joined #perl6
15:51 pmichaud jnthn: pong
15:53 jnthn pmichaud: Don't worry for now :-)
15:53 jnthn pmichaud: Oh, one question
15:53 jnthn Do we have the names of the file we're compiling easily avialable?
15:54 jnthn To emit a .annotate 'file', 'foo'
15:54 pmichaud at present I don't know that PCT has that, but we can easily add it.
15:56 nihiliad joined #perl6
15:58 pugs_svn r26840 | pmurias++ | [re-smop] started porting over p5 integration t/p5.t passes
15:58 pugs_svn r26841 | pmurias++ | [re-smop] update Makefile and .gitignore
15:58 ruoso joined #perl6
16:01 ruoso Hello!
16:05 pugs_svn r26842 | lwall++ | [STD] don't use EOF where number expected
16:05 pugs_svn r26842 | lwall++ | [STD] random rule/token cleanup
16:06 pmurias ruoso: hi
16:06 ruoso hi pmurias
16:06 pugs_svn r26843 | pmurias++ | [re-smop]  ported over more functions in SMOP.pm
16:06 pugs_svn r26843 | pmurias++ | t/p5_lowlevel.t and t/p5_fetch_store.t pass
16:08 pmurias ruoso: we have 3 failing tests in re-mildew :)
16:08 ruoso cool
16:09 TimToady std: sub infix:«$s»($a, $b) { 42 }
16:09 p6eval std 26841: OUTPUT«Argument "EOF" isn't numeric in numeric ne (!=) at STD.pm line 58609.␤Argument "EOF" isn't numeric in numeric eq (==) at STD.pm line 58610.␤##### PARSE FAILED #####␤(Possible runaway string from line 1)␤Unable to parse quote-words subscript; couldn't find right double-angle
16:09 p6eval ..quote...
16:09 TimToady I'm not sure whether I should fix that parsefail or not
16:09 TimToady since »() is a valid postfix to $s
16:10 TimToady but it's highly unlikely to be what the user expects
16:11 skids_ joined #perl6
16:12 jnthn pmichaud: How this this look? http://gist.github.com/112278
16:12 jnthn (For anyone else who wants to see example program and exception output check above too...)
16:12 jnthn s/this/does/
16:12 pmichaud perhaps <unknown>:8  instead of "line 8 of file <unknown>"  ?
16:13 pmurias ruoso: do you think it would be wise to release smop to cpan once the refactoring is over (soonish) and have CPAN Testers attempt to compile it?
16:13 pmichaud (adding file annotations now, also)
16:14 ruoso pmurias, I'm not sure that's wise while we still depend on haskell
16:15 ruoso but maybe I'm wrong
16:15 pmurias scons seems a less common dependency
16:16 ruoso yeah... maybe we should try to port that to Module::Build
16:17 jnthn pmichaud: Got it now like
16:17 jnthn at method A::b <unknown>:3
16:17 jnthn called from sub bar <unknown>:8
16:17 pmichaud maybe parens
16:17 jnthn Better?
16:17 jnthn heh
16:17 pmichaud at method A::b (<unknown>:3)
16:17 pmichaud that's more like what I've seen in other error traces.
16:20 jnthn OH NOES I HAS A FAIL
16:20 jnthn at method A::b (<unknown>:3)
16:20 jnthn called from sub bar (<unknown>:8)
16:20 pmichaud I like it.
16:20 jnthn same.
16:20 pmichaud maybe s/at/in/
16:20 jnthn yeah
16:22 jnthn done.
16:23 pmichaud I have the 'file' annotation done.
16:23 jnthn oh awesome, that was quick :-)
16:23 pmichaud just doing some tests now.
16:23 jnthn pmichaud: I have a slight issue with where I've put this code.
16:24 jnthn pmichaud: It seems that eval doesn't call evalpmc but instead just evals the code itself
16:24 pmichaud evalpmc doesn't do the eval, it creates an evalpmc.
16:24 pmichaud (If you're referring to HLLCompiler.evalpmc)
16:24 ruoso pmurias, I know you don't like the idea very much, but I think it would be a good idea to port m0ld to p5...
16:24 jnthn pmichaud: Yes
16:25 pmichaud checking.
16:25 pmichaud that's correct, evalpmc simply generates an Eval PMC
16:25 pmichaud it doesn't execute it
16:25 jnthn pmichaud: OK
16:25 pmichaud which 'eval' are you referring to ?
16:25 jnthn eval method in HLLCompiler
16:26 pmichaud 'evalpmc' is the last stage of 'compile'
16:26 jnthn I subclassed it, call the super-class one...
16:26 jnthn Well, it seems to "drive" the compile in some ways
16:26 jnthn In that parse errors or any error ends up coming through this.
16:27 pmichaud I don't quite understand.
16:27 pmichaud 'eval' will do compilation of a string, yes.
16:27 pmichaud sorry
16:27 pmichaud 'eval' will do compilation and execution of a string, depending on 'target'
16:27 jnthn OK
16:28 jnthn Is it OK that we catch all compile errors with this same handler?
16:28 pmichaud it should be okay for now.
16:28 jnthn And do you still want the full grammar tree backtrace to be printed?
16:28 pmichaud I'm less certain of that.
16:28 jnthn On syntax errors?
16:28 jnthn OK.
16:28 jnthn It's not being with my changes, that's all...
16:30 pmichaud I'm fine with it not displaying the full backtrace for now.  IWBNI we have an option to get the backtrace.
16:31 pmichaud but the number of times I use the backtrace is pretty small.
16:31 pmurias ruoso: untill we can run more stuff, ease of install isn't IMHO a hight priority
16:31 pmurias bbl
16:31 pmurias judo&
16:33 mizioumt joined #perl6
16:35 * jnthn tries to make sure there's no way the exception printer can easily crash...that would be rather unfortunate.
16:42 pmichaud jnthn:  e4f7b12 has the file annotations.
16:42 jnthn yay
16:42 pmichaud (and bumps PARROT_REVISION)
16:43 pmichaud I suspect we'll have a number of PARROT_REVISION bumps this week.
16:43 jnthn That's fine.
16:43 jnthn PGE updates?
16:43 pmichaud Yes, and PCT updates.
16:43 jnthn OK
16:43 jnthn What have you got planned?
16:43 pmichaud well for one, removing things that were deprecated as of 1.0
16:43 jnthn Aha.
16:44 pmichaud but also the combine-loadinit-blocks change
16:44 pmichaud and various other PCT refactors
16:44 pmichaud I'll likely take the exceptions code you've created and put it into PCT as well.
16:44 pmichaud then we'll have smart exceptions in NQP :-)
16:44 jnthn pmichaud: It's a bit Rakudo-specific.
16:44 pugs_svn r26844 | lwall++ | [STD] disallow >>( as part of interpolation; must use >>.( to mean that
16:45 pmichaud then I'll adapt it.  :-)
16:45 jnthn pmichaud: It knows what's a Routine and what's not.
16:45 jnthn So it doesn't give a huge list with _block42 in and so on.
16:45 dalek rakudo: e4f7b12 | pmichaud++ |  (2 files):
16:45 pmichaud I'm thinking we may be able to eliminate the _block42s
16:45 dalek rakudo: Add 'file' annotation to generate code.
16:45 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​4f7b120851c1255eea0df42b277cbb1c40186e7
16:46 pmichaud since we have subids, we don't ever refer to anonymous blocks by their true name
16:46 pmichaud so we could just as easily name them ''
16:46 jnthn True.
16:47 pmichaud then the backtrace could ignore blocks that have names of ''
16:47 jnthn But even so, we don't wanot to show 'em all in bt.
16:47 jnthn Yes, that'd be another way.
16:47 jnthn The Rakudo one is still smart enough then to know what is a sub and what is a method, but I'm not sure if that's valuable.
16:47 jnthn Wouldn't be a big deal to me if we lost that in the factor out to nqp, just thought it'd be a nice to have.
16:47 pmichaud Is there a way in parrot to introspect the anon/method bits?
16:48 jnthn If there is, it's probably available through the inspect op.
16:48 jnthn /vtable
16:48 jnthn If not, then it's easy enough to add it to inspect.
16:48 pmichaud anyway, now that I have a working example it should be possible to do something in PCT
16:48 pmichaud we may still end up with a rakudo-specific backtracer, but it'll be an overridable thing
16:49 jnthn Updating my Parrot to check out the file thing. :-)
16:49 pmichaud i.e., PCT will give languages the ability to override the default handler
16:49 jnthn oh noes
16:49 jnthn null.obj : error LNK2001: unresolved external symbol _CONST_STRING_GEN
16:49 jnthn libparrot.dll : fatal error LNK1120: 1 unresolved externals
16:50 jnthn maybe I should have realclean'd.
16:50 pmichaud normally --gen-parrot realcleans for you
16:51 phenny joined #perl6
16:53 TimToady std: sub infix:«$s»($a, $b) { 42 }
16:53 p6eval std 26844: OUTPUT«##### PARSE FAILED #####␤Unable to parse quote-words subscript; couldn't find right double-angle quote at /tmp/M4kBUFsyCZ line 1:␤------> [32m[31m[0m␤FAILED 00:04 38m␤»
16:54 TimToady it's lying about the version again...
16:55 awarefish joined #perl6
16:57 jnthn pmichaud: realclean fixed it - I maintain my own Parrot build btw
16:58 jnthn Man does Rakudo's compile feel un-fast... :-|
16:59 jnthn OH NOES I HAS A FAIL
16:59 jnthn in method A::b (crash.p6:3)
16:59 jnthn pmichaud++
17:00 Tene jnthn: can you fix the class { sub { ... } } thing?
17:01 jnthn ah, yes
17:02 jnthn Tene: Hang on, which one, the multi in a class one?
17:02 jnthn Or just subs in a class?
17:02 Tene ... I have another evil idea...
17:02 Tene the latter.
17:02 jnthn ok, that's the easy one
17:02 jnthn :-)
17:02 Tene or maybe it was multi...
17:02 jnthn Both have issues.
17:04 LylePerl joined #perl6
17:05 jnthn Tene: If it's multi you want I'll just throw in a quick hack fix. I have a branch to use hll_map instead of doing re-blessing in !TOPERL6MULTISUB so it will eliminate the code that is has a fail anyway.
17:06 jnthn But don't rate my chances of finishing that branch today.
17:06 Tene jnthn: no hurry...
17:06 Tene I can work around for now.
17:07 TimToady std: sub infix:«$s»($a, $b) { 42 }
17:07 p6eval std 26844: OUTPUT«ok 00:04 38m␤»
17:08 TimToady std: sub infix:«$s».($a, $b)» { 42 }
17:08 p6eval std 26844: OUTPUT«ok 00:04 38m␤»
17:08 TimToady std: sub infix:«$s».($a, $b)» ($a,$b) { 42 }
17:08 p6eval std 26844: OUTPUT«ok 00:04 39m␤»
17:08 dalek rakudo: b7e9b77 | jnthn++ | perl6.pir:
17:08 dalek rakudo: Subclass eval and add support for printing a backtrace with the HLL details. Tries to get decent output for various situations; we'll see how it plays out and no doubt tweak it as we discover where it's less than good.
17:08 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b​7e9b771956920cfb56a07757ef22d0f6373eba0
17:08 TimToady std: sub infix:«$s»($a, $b)» ($a,$b) { 42 }
17:08 p6eval std 26844: OUTPUT«##### PARSE FAILED #####␤Malformed block at /tmp/Wo4EPGlBM7 line 1:␤------> [32msub infix:«$s»($a, $b)[31m» ($a,$b) { 42 }[0m␤    expecting any of:␤ blockoid␤        routine_def␤       terminator␤     trait␤    whitespace␤FAILED 00:04 38m␤»
17:10 kaether joined #perl6
17:18 jnthn Oh ouch
17:19 jnthn Fixing class Foo { sub bar { return 42 }; bar() } actually ain't quite so easy. :-(
17:19 jnthn (Problem is that we run the class's loadinit before that of the sub so it's not re-blessed before we run it...
17:19 jnthn )
17:22 sri_kraih joined #perl6
17:29 cdarroch joined #perl6
17:34 jnthn pmichaud: Got a fix for 65672.
17:34 jnthn (I think that was the one you were keen for me to fix...)
17:35 jnthn Spectesting atm.
17:38 frew joined #perl6
17:38 M_o_C joined #perl6
17:46 patmat ah one dumb question, is there a "switch case" for Perl6?
17:47 TimToady given/when
17:47 ejs joined #perl6
17:47 mberends patmat: given $value { when 1 { say "one"; } when 2 { say "two"; } }; etc...
17:47 patmat great great!!! thanks
17:49 TimToady std: given $value { when 1 { say "one"; } when 2 { say "two"; } }
17:49 p6eval std 26844: OUTPUT«##### PARSE FAILED #####␤Statements must be separated with semicolon at /tmp/hJrI0ifKLk line 1:␤------> [32mgiven $value { when 1 { say "one"; } [31mwhen 2 { say "two"; } }[0m␤    expecting any of:␤    infix stopper␤    statement␤Other potential difficulties:␤  Variable $value
17:49 p6eval ..is no...
17:49 TimToady :P
17:49 * patmat applauds o/
17:50 mberends std: given $value { when 1 { say "one" }; when 2 { say "two" }; }
17:50 p6eval std 26844: OUTPUT«Potential difficulties:␤  Variable $value is not predeclared at /tmp/9HIEjBgZHf line 1:␤------> [32mgiven $value[31m { when 1 { say "one" }; when 2 { say "t[0m␤ok 00:04 36m␤»
17:51 mberends :P again
17:51 Eevee std: given 2 { when 1 { say 'one' }; when 2 { say 'two' }; }
17:51 p6eval std 26844: OUTPUT«ok 00:02 36m␤»
17:51 Eevee huzzah, perl 6 can switch on a literal
17:52 TimToady why shouldn't it?
17:53 jnthn rakudo: given 2 { when 1 { say 'one' }; when 2 { say 'two' }; }
17:53 p6eval rakudo b7e9b7: OUTPUT«two␤»
17:54 Eevee TimToady: oh, of course it should; just amused that the first attempt that parsed cleanly was nearly useless  :P
17:57 TimToady the second attempt parsed cleanly two; it just failed a strictness check
17:57 TimToady s/two/too/
18:27 nbrown joined #perl6
18:42 TimToady jnthn: are the annotations by line or by position?  it would be nice if error messages could point to the place within the line where it thinks the problem is.
18:43 jnthn TimToady: Just line.
18:43 TimToady one can always map position back to line, so it doesn't take any more storage
18:43 TimToady except for the translation table
18:43 jnthn TimToady: You're assuming we'll have the source around.
18:43 skids_ joined #perl6
18:43 jnthn TimToady: The parser can probably give errors down to the position very easily.
18:43 TimToady not much point in reporting the line without the source :)
18:44 TimToady just something to bear in mind
18:44 jnthn Not at all, I find exception reports from production systems where only the "binaries" are deployed including line number is very helpful.
18:45 jnthn Since while the source ain't sat on the production systems, I certainly have it. :-)
18:45 TimToady oops, lunch
18:45 jnthn Parrot's annotations system is completely general though.
18:45 TimToady kay
18:45 TimToady later, thanks &
18:45 jnthn You can annotate the moon phase at compile time if you want. ;-)
18:45 jnthn So we can do better on that later if we need. :-)
18:45 jnthn enjoy lunch
18:51 japhb joined #perl6
18:52 dalek joined #perl6
19:01 pmichaud it's no problem for us to annotation the position as well... but as jnthn++ indicates -- we might not have the source.  Unless we embed the source itself into the compiled output (which is certainly a possibility).
19:01 pmichaud *annotate
19:01 pmichaud if we do that, then &sub.perl becomes a lot more plausible :-)
19:03 dalek rakudo: ee6739d | jnthn++ | perl6.pir:
19:03 dalek rakudo: Tweaks to error messages, and a better error for return outside of subroutine.
19:03 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​e6739d7dc90997c2c35a83497a0b74522b9f1ac
19:06 nbrown_ joined #perl6
19:14 jnthn pmichaud: Going for dinner now but...fixing the &multi ~~ Callable is less easy that I thought. :-(
19:14 jnthn Back in a bit, anyways.
19:17 Kisu joined #perl6
19:19 patmat hey, i wrote a little sign of zodiac program before, i'm a programming newbie
19:19 patmat http://www.pastie.org/479424
19:19 patmat how do you think is it written? very bad?
19:19 patmat its just a simple thing but i'm a real beginner
19:20 donaldh joined #perl6
19:22 patmat i'm using an Array for the zodiac of signs now I think :P
19:22 patmat the little messages
19:33 ruoso rakudo: my $a = 'foo'; $foo ~~ s/ oo $ / ar /; say $foo
19:33 p6eval rakudo ee6739: OUTPUT«Scope not found for PAST::Var '$foo' in ␤in Main (src/gen_setting.pm:3119)␤»
19:33 ruoso rakudo: my $foo = 'foo'; $foo ~~ s/ oo $ / ar /; say $foo
19:33 p6eval rakudo ee6739: OUTPUT«Could not find non-existent sub s␤»
19:35 * jnthn back
19:35 PerlJam patmat: did you mean to write an infinite loop?
19:36 ruoso why did my test fail?
19:36 PerlJam ruoso: s/// isn't implemented with that syntax in rakudo yet.
19:36 ruoso which syntax is supported then?
19:37 PerlJam rakudo: my $foo = "foo"; $foo .= subst(/oo$/, "ar"); say $foo;
19:37 p6eval rakudo ee6739: OUTPUT«far␤»
19:37 ruoso cool
19:38 ruoso rakudo: class Foo { method postcircumfix:<{ }> ($name) { say $name } }; say Foo.new<abc>;
19:38 p6eval rakudo ee6739: OUTPUT«Malformed method definition at line 1, near "postcircum"␤in Main (src/gen_setting.pm:0)␤»
19:38 ruoso meh
19:40 ruoso how do I implement a Hash api in rakudo?
19:40 jnthn Probably nice that...
19:41 jnthn It may just be that we don't parse postcircumfix:<{ }> yet though.
19:41 jnthn (may even just be a grammar.pg addition)
19:41 jnthn Well, for non-custom post-circumfixes anyway.
19:42 ruoso yeah... I just want that one ;)
19:42 ruoso I want to make the API look like I'm accessing a Hash, but it's actually doing something more than that
19:43 jnthn You sure do try out all the evil corners of Perl 6. :-)
19:43 pasteling "ruoso" at 189.97.251.132 pasted "example use of Hash-like API to have richer semantics..." (50 lines, 1.2K) at http://sial.org/pbot/36644
19:43 ruoso jnthn, if wouldn't use it, I would stay with p5 ;)
19:44 Tene jnthn: look at my commit adding circumfix
19:44 Tene should be the same
19:45 jnthn Tene: Yeah, I'm already looking for that. :-)
19:46 cognominal joined #perl6
19:47 ruoso jnthn, does it mean I don't need to work-around it?
19:47 pmurias joined #perl6
19:47 pmurias rehi
19:48 hercynium joined #perl6
19:49 ruoso hi pmurias
19:49 jnthn ruoso: Wait a moment. Think I may have it...
19:50 jnthn (method_def didn't yet match routine_def)
19:50 eMaX joined #perl6
19:53 Fuad joined #perl6
19:58 Fuad hi all
19:58 pmurias ruoso: re translating m0ld  to p5, what would we gain by that other then not requiring haskell?
19:59 ruoso mostly, that's it...
19:59 jnthn ruoso: Got your example working. ;-)
19:59 ruoso cool
20:00 kate21de joined #perl6
20:00 jnthn ruoso: Gonna run tests, then get it in. :-)
20:00 ruoso :D
20:15 PerlJam ruoso: you want my $com_name = $component.WHAT.perl;  instead of using subst() to remove the last 2 characters.
20:15 ruoso rakudo: class Foo {}; say Foo.new.WHAT.perl;
20:15 p6eval rakudo ee6739: OUTPUT«Foo␤»
20:16 ruoso rakudo: class Foo {}; say Foo.new.WHAT.Str;
20:16 p6eval rakudo ee6739: OUTPUT«Foo()<0xb62d77b8>␤»
20:16 ruoso hmm
20:16 ruoso cool
20:16 ruoso PerlJam++
20:19 araujo joined #perl6
20:19 pasteling "ruoso" at 189.97.251.132 pasted "after some more updates" (71 lines, 1.7K) at http://sial.org/pbot/36646
20:23 patmat i have a problem, installing rakudo on mac os x, there is always this error:
20:23 patmat Building Parrot ...
20:23 patmat Unable to locate parrot_config
20:23 patmat git is installed, svn is installed, it's happening after the perl --Configure.. thing
20:24 PerlJam patmat: you did ... perl Configure.pl --gen-parrot  ?
20:24 patmat yes
20:25 [particle]- is rakudo installable yet?
20:25 patmat yes it was built via git
20:25 patmat it worked fine
20:25 patmat i had no problems with it on Ubuntu
20:25 PerlJam [particle]-: make: *** No rule to make target `install'.  Stop.
20:26 jnthn patmat: Do you see any errors from Configure.pl?
20:26 jnthn As in, did it actually build a Parrot?
20:27 patmat yes i think so
20:27 [particle]- nopaste the output of your build session
20:27 patmat there aren't errors, just that message and it stops
20:28 patmat one moment
20:30 LadyLunacy http://pastie.org/private/citfc3alinhh8fr77ykw
20:31 patmat thats it :)
20:32 PerlJam That "compilation failed with 'cc'" is the important part.  It never built parrot, so rakudo couldn't find parrot_config
20:32 patmat oh so how can i fix it?
20:33 PerlJam dunno.  I'm not real well versed in the foibles of MacOSX.  Do you have a C compiler installed?
20:36 ruoso http://github.com/ruoso/faz/blob/24d2e01108b1df​d8c13c483b2935746b7a6cb93a/lib/Faz/Container.pm <-- final version of the code waiting for jnthn's commit ;)
20:37 patmat which compiler can i use with mac os x? i'm not familiar with osx :P
20:39 literal Embedded comments are forbidden at the beginning of a line because of the case when you comment a block of code that includes a { or such and the beginning of a line. I'm wondering if similar arguments could be made against a hypothetical multiline #== / ==# comment.
20:40 ruoso rakudo: class Foo does Positional { my @a = 1,2,3; method list { @a } }; for @(Foo.new) { .say }
20:40 p6eval rakudo ee6739: OUTPUT«1␤2␤3␤»
20:40 ruoso rakudo++
20:40 ruoso rakudo: class Foo { my @a = 1,2,3; method list { @a } }; for @(Foo.new) { .say }
20:40 p6eval rakudo ee6739: OUTPUT«1␤2␤3␤»
20:40 ruoso rakudo++
20:40 literal the #== / ==# denoting a Pod comment/docstring, of course
20:40 jnthn ruoso: just comitted ;-)
20:41 ruoso and pushed?
20:41 jnthn Yes.
20:41 jnthn :-)
20:41 * ruoso was supposed to leave 45 minutes ago... but couldn't resist not to test this...
20:44 * ruoso rebuilding parrot... I think I won't be able to wait after all...
20:44 jnthn ruoso: Shouldn't need a Parrot re-build, just a Rakudo one.
20:44 dalek rakudo: e86dd9e | jnthn++ | src/parser/ (2 files):
20:44 dalek rakudo: Allow parsing of postcircumfix:<...> and also allow methods as well as subs to be used to define operators.
20:44 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​86dd9e8858b0c00e5049d18a75e0a07b4e52bba
20:44 ruoso I had a pretty old parrot
20:45 jnthn Oh, unless you need other things that do need a Parrot update...
20:45 jnthn OK. :-)
20:45 ruoso but it wasn't a dead parrot yet
20:45 ruoso ;)
20:45 jnthn ;-)
20:46 pmurias ruoso: we have 2 tests failing in re-mildew now... :)
20:46 ruoso pmurias++
20:47 jnthn You guys sure pick the most unappealing substances to name bits of your compiler after. :-)
20:47 jnthn slime...mold...mildew...what next? ;-)
20:48 ruoso you forgot s1p (read swamp)
20:48 pugs_svn r26845 | pmurias++ | [re-smop]
20:48 pugs_svn r26845 | pmurias++ | a default how is set in p6opaque
20:48 pugs_svn r26845 | pmurias++ | added %how $!attr = ... to the RI DSL
20:48 jnthn :-)
20:49 pmurias buying some food&
20:51 masak joined #perl6
20:51 ruoso hey masak
20:51 jnthn oh hai masak
20:52 masak oh hai.
20:52 ruoso masak, Faz now allows you to have models and views
20:52 masak whoz op, ako sa mas?
20:52 jnthn masak: mam sa dobre, a ty?
20:52 ruoso Yarn+Faz already uses a model
20:52 masak jnthn: mam [also] sa dobre.
20:53 jnthn parse error: 'sa' must be in second position
20:53 jnthn .oO( hmmm...a Perl 6 grammar to parse Slovak... )
20:54 masak jnthn: oh. is 'sa' the predicate?
20:55 jnthn masak: It's the reflexive particle.
20:55 jnthn mam = I have
20:55 masak ah. of course.
20:55 jnthn "mam sa" is kinda idiomatic
20:55 jnthn Like, "to have feeling" or something
20:55 * ruoso already wrote a portuguese grammar in Perl 6 rules some time ago...
20:55 masak 'to have oneself good'
20:55 jnthn But if you put a Ja (I) at the start you'd need to shuffle the particle back a bit
20:56 jnthn Ja sa mam dobre
20:56 dalek rakudo: 6ac1eaf | jnthn++ | perl6.pir:
20:56 dalek rakudo: Unbreak warnings. (Oops.)
20:56 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​ac1eaf9d61fb75dcb8dad1c0e5e005c84499b0b
20:56 masak oh, still 'sa' in that case? quirky. :)
20:56 ruoso jnthn, aha! I knew something was wrong!
20:56 jnthn Yeah, worse is when you get other particles or particle-ish things.
20:57 masak it always is.
20:57 jnthn And they too want to be in certain positions, and have various "priorities".
20:57 masak aye.
20:57 ruoso jnthn, what happened to the backtrace when you have Null PMC?
20:58 jnthn ruoso: You should still get some kind of backtrace, but it'll be more at the sub level now, and have HLL line numbers in.
20:58 jnthn We may need a flag to disable that for development purposes...
20:58 jnthn To aid debugging such things.
20:58 ruoso couldn't it fallback on the Null PMC case?
20:58 ruoso since I got no backtrace at all
20:59 jnthn rakudo: sub foo { ::T = 42 }; sub bar { foo() }; bar()
20:59 p6eval rakudo e86dd9: OUTPUT«Null PMC access in getprop()␤»
20:59 jnthn Ouch, that shoulda given a backtrace with foo and bar in it for sure...
21:00 jnthn ruoso: Probably don't want to specialize the Null PMC case...
21:00 ruoso anyway... got to go...
21:00 masak ruoso++
21:00 jnthn Should just fix the general bug. Looking...
21:00 ruoso masak, have you seen the model stuff?
21:00 masak ruoso: no, just seen a lot of commit activity.
21:00 masak ruoso: I'm definitely interested though. will look.
21:01 ruoso I need a template engine in Perl 6 now...
21:01 masak ruoso: I'll see what I can do. :)
21:01 * ruoso decommute &
21:02 jnthn rakudo: return
21:02 p6eval rakudo e86dd9: OUTPUT«Can't return outside a routine␤in Main (/tmp/g6n2COhvhY:1)␤»
21:02 masak rakudo: leave
21:02 p6eval rakudo e86dd9: OUTPUT«Could not find non-existent sub leave␤»
21:02 masak it just can't take a hint, it seems.
21:03 masak rakudo: exit
21:03 p6eval rakudo e86dd9: OUTPUT«Died␤in Main (/tmp/WdkxEIfnKU:1)␤»
21:03 masak o_O
21:03 jnthn Heh, exit once worked?
21:03 jnthn It so, it seems it wasn't tested.
21:04 masak I think it needs something like exit(0)
21:04 masak rakudo: exit(0)
21:04 p6eval rakudo e86dd9: OUTPUT«Died␤in Main (/tmp/032eTTuG9k:1)␤»
21:05 masak meh.
21:05 jnthn ah, the error handler is just catching the exit exception.
21:05 [particle]- figures
21:05 jnthn no biggie
21:05 jnthn can easily fix that up.
21:06 jnthn Honestly, I give you errors with HLL line numbers in and you just find ways to break Rakudo. :-P
21:07 masak jnthn: sorry :)
21:07 jnthn masak: Just testing exit fix.
21:07 jnthn Wanna work out why that null pmc access didn't get a bt though.
21:14 jnthn oh, I know why...'cus .backtrace gets the address from the resume cont, and I guess exceptions thrown from C don't have one. Hmm. :-|
21:18 dalek rakudo: 1f14582 | jnthn++ | perl6.pir:
21:18 dalek rakudo: Fix exit. (Oops again.)
21:18 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​f145828649b47f4b597f88b06ba37dc0b7d5e4b
21:23 patmat if ($antwort eq 'Y' && 'y') {
21:23 patmat what's wrong with that line?
21:23 jnthn you probably meant
21:23 jnthn if $antwort eq 'Y' & 'y' {
21:23 jnthn erm
21:23 jnthn wait, that can probably never work :-)
21:24 patmat :P
21:24 jnthn you probably want
21:24 jnthn if $antwort eq 'Y' | 'y' {
21:24 patmat why just | ?
21:24 jnthn YOu can $antwort to be equal to Y or y right?
21:25 jnthn Or did I not get what you're trying to do@
21:25 jnthn ?
21:25 masak patmat: it creates an any() junction.
21:25 patmat it works now :)
21:25 patmat at the moment it looks like this:
21:26 masak patmat: you can either do 'if $antwort eq "Y" || $antwort eq "y"' or 'if $antwort eq "Y" | "y"'.
21:27 PerlJam patmat: it worked before ... it just didn't do what you wanted  ;)
21:27 patmat http://www.pastie.org/479586
21:27 patmat i understand masak thx :)
21:27 patmat my brain hurts :DD it's simple huh but hard to do for me
21:29 masak patmat: you're doing fine. :)
21:29 masak patmat: and if you really do understand junctions, please explain them to the rest of us. :P
21:30 PerlJam patmat: your given should probably look more like  given $monat { when 1..12 { say @text[$monat-1] } default { say "invalid month" } }
21:31 PerlJam patmat: and rather than that if statement at the end of the loop, you could do  $i = $antwort eq 'Y' | 'y';
21:31 lichtkind patmat: you have no respect to astrology :)
21:32 PerlJam patmat: oh, and $monat == 6 || 9 || 11;  should really be $monat == 6 | 9 | 11
21:32 PerlJam patmat: same for the elsif below that one
21:32 patmat yup thx
21:32 patmat so you mean the given - when has another style...
21:33 patmat isnt it a matter of taste??
21:33 mr_bo_jangles joined #perl6
21:33 Whiteknight joined #perl6
21:33 patmat ahh sorry PerlJam i know what you mean...
21:33 PerlJam Geburtstag == "day of your birth" and Geburtsmonat == "month of your birth"?
21:33 patmat yes
21:34 * PerlJam learns little tiny bit more german
21:34 patmat :P
21:35 patmat i'm correcting it now!!
21:40 Darknknigt joined #perl6
21:41 jnthn Eurgh. I've just found out why we get some of the arity-based multi-dispatch stuff wrong.
21:45 lichtkind jnthn++
21:46 mberends grrr. Is perl6_s1.pbc (the setting compiler) known to be offended by certain expressions? It either hangs or aborts on several things that Rakudo accepts.
21:47 jnthn mberends: It's not really intended to be directly used, other than for compiling the setting.
21:48 jnthn mberends: What is it moaning about?
21:48 mberends understood. Are there guidelines for the language subset? pasting...
21:48 jnthn The guideline is something like "enough to compile the setting" ;-)
21:49 Fuad joined #perl6
21:49 PerlJam rakudo: class Foo { method bar { self.baz;  } }; class Bar is Foo { method baz { Foo::baz(self); } }; my $m = Bar.new; $m.bar;
21:49 p6eval rakudo 1f1458: OUTPUT«Null PMC access in invoke()␤»
21:49 PerlJam Hmm
21:49 LadyLunacy dubidubi
21:50 * masak jams along
21:51 pasteling "mberends" at 83.161.42.49 pasted "part of Temporal.pm for setting - final line dies "Malformed declaration"" (23 lines, 846B) at http://sial.org/pbot/36648
21:52 Chillance joined #perl6
21:52 PerlJam mberends: missing $
21:52 masak rakudo: say $*IN.get.flip
21:52 p6eval rakudo 1f1458: OUTPUT«Could not find non-existent sub die␤»
21:53 masak jnthn: !
21:53 mberends PerlJam: of course!
21:53 patmat http://www.pastie.org/479609
21:53 patmat so, finish for today or i die :P its not totally correct yet
21:54 jnthn masak: I rather doubt that one is new today...
21:54 patmat but it will be :D good night everyone, thanks for your help you guys are great!! :D
21:55 jnthn mberends: It works now?
21:55 jnthn # algorithm from Claus Tøndering
21:55 jnthn Nice use of unicode! ;-)
21:55 mberends testing... it usually hangs when unhappy. The other invalid syntax is 'my' without assignment.
21:56 mberends yep, hung with $ put back.
21:56 jnthn oh, that's...odd
21:56 jnthn hung?
21:56 masak jnthn: but... why?
21:56 mberends well hung
21:57 * jnthn doesn't write *any* of the things that just came to mind when he read that
21:57 mberends remove the last line and note the compile time. Put the line back and it consumes increasing RAM and CPU.
21:58 jnthn mberends: It hangs on compiling my wday = ($jd + 1) % 7 + 1;
21:58 jnthn erm, with the $?
21:59 jnthn rakudo: class A { method m { my $x = 42 } }
21:59 p6eval rakudo 1f1458:  ( no output )
21:59 mberends with $wday. I've cut loads more out to get *something* to compile.
21:59 jnthn mberends: Hmm. That seems like a *really* odd thing to cut out...
21:59 jnthn And to have make a difference.
22:00 mberends pasting full original Rakudo working code, FWIW.
22:01 DemoFreak joined #perl6
22:01 pasteling "mberends" at 83.161.42.49 pasted "Temporal.pm Rakudo working version" (176 lines, 5.5K) at http://sial.org/pbot/36649
22:01 jnthn mberends: Added cut-down version to my local setting and compiling...
22:02 mberends good luck :) may the Windows be with you...
22:03 masak mberends++ # looks nice
22:03 mberends got nice tests too :)
22:03 masak ooh!
22:03 jnthn mberends: reproduced
22:04 Chillance joined #perl6
22:04 jnthn oh hmm
22:04 jnthn error:imcc:syntax error, unexpected IDENTIFIER, expecting $end ('Malformed')
22:04 pasteling "mberends" at 83.161.42.49 pasted "Temporal.t" (59 lines, 2.5K) at http://sial.org/pbot/36650
22:05 jnthn mberends: do you get the hang on this line:
22:05 jnthn C:\Consulting\parrot\trunk\parrot.exe  -o perl6.pbc perl6.pir
22:05 jnthn (with your parrot path of course)
22:05 mberends earlier.
22:06 jnthn mberends: oh, duh!
22:06 jnthn didn't reproduce ;-)
22:06 jnthn trying again :-)
22:06 mberends parrot perl6_s1.pbc --target=pir src/gen_setting.pm > src/gen_setting.pir
22:07 jnthn yeah, getting it there now
22:07 jnthn oh no
22:08 jnthn it's actually managed to finish here
22:08 mberends then it's my cheap amd cpu :P
22:08 jnthn > say Temporal::Date.WHAT
22:08 lambdabot Failed to load interface for `Date':
22:08 lambdabot Use -v to see a list of the...
22:08 jnthn Date()
22:09 jnthn mberends: Yeah, you should bet an Antitrust one.
22:09 jnthn erm, Intel.
22:09 jnthn mberends: Where did you add it in the setting?
22:09 jnthn At the end?
22:09 jnthn Also, I do use a load of RAM while compiling it...
22:10 mberends alphabetically, penultimate in setting list
22:10 jnthn OK, I added it at the end. Hmm.
22:10 masak mberends: our Str method iso8601($_:) { sprintf '%02d:%02d:%02d', .hour, .minute, .second }
22:11 mberends jnthn: between Range and Whatever
22:11 mberends masak: golf already?
22:11 masak mberends: well, I'm willing to compromise. :) doesn't have to be quite that short.
22:12 masak mberends: I just saw a lot of repetition, so I bit.
22:12 mberends it works like that every time :)
22:12 masak mberends: our Str method iso8601() { given self { return sprintf '%02d:%02d:%02d', .hour, .minute, .second } } # might be better
22:13 mberends tell that to perl6_s1.pbc
22:13 masak :/
22:13 masak what the heck is that thing? it just seems to be causing a lot o' trouble...
22:14 mberends the setting compiler?
22:14 masak oh. that explains it. :/
22:15 mberends it's a little bit more QP than NQP
22:15 mberends but not Q enough
22:16 masak Q.
22:16 mberends :)
22:16 masak mberends++ # nice use of subset in 'subset Offset'
22:17 mberends don't remember where I copied that from ;-)
22:17 lichtkind_ joined #perl6
22:17 mberends S32-Temporal
22:18 masak perl6: class A { my subset B of Int where { $^n < 10 }; has B $.c }; A.new( c => 20 ); say "alive"
22:18 p6eval elf 26845: OUTPUT«Unknown rule: type_declarator:expect_term␤It needs to be added to ast_handlers.␤ at ./elf_h line 2850␤»
22:18 p6eval ..pugs, rakudo 1f1458: OUTPUT«alive␤»
22:18 * masak submits rakudobug
22:18 masak rakudo: class A { my subset B of Int where { $^n < 10 }; has B $.c }; my $a = A.new( c => 20 ); say $a.c
22:19 p6eval rakudo 1f1458: OUTPUT«20␤»
22:19 masak hah!
22:19 masak the corner case hunter in me does a little dance.
22:20 LadyLuna1y joined #perl6
22:21 mberends that's not just a corner, it's a garage door
22:22 masak nevertheless, I found it first. :P
22:22 test joined #perl6
22:22 mberends and it's wide open
22:23 PerlJam rakudo: class A { my subset B of Int where { $^n < 10 }; has B $.c }; my $a = A.new( c => "foo" ); say $a.c
22:23 p6eval rakudo 1f1458: OUTPUT«foo␤»
22:23 masak o_O
22:23 PerlJam indeed
22:23 jnthn Almost certainly the same underlying issue.
22:23 jnthn (Though I don't know which issue...)
22:24 mberends The Big Issue
22:24 masak jnthn: wishful thinking... :)
22:24 jnthn I do have my suspicions though...
22:26 masak rakudo: subset B of Int where { $^n > 5 }; my B $x; say $x.WHAT
22:26 p6eval rakudo 1f1458: OUTPUT«()␤»
22:26 PerlJam heh
22:26 masak what's that?
22:27 masak rakudo: subset B of Int where { $^n > 5 }; my B $x; say $x < 5
22:27 p6eval rakudo 1f1458: OUTPUT«Use of protoobject as value␤1␤»
22:27 mberends proto has so many uses!
22:28 masak actually, that use has been renamed. :)
22:28 * masak patches
22:28 PerlJam Am I the only one who occasionally chunks protoobject as pro-toob-ject?
22:28 masak PerlJam: yes. :P
22:29 mberends PerlJam: get help
22:29 PerlJam heh
22:29 masak mberends: I was on the verge of saying that! :)
22:30 hercynium joined #perl6
22:30 jnthn mberends: working on the hang, but not much clues yet
22:30 jnthn apart from I keep finding it in string hanlding routines
22:31 mberends there is probably no test suite for perl6_s1.pbc :(
22:32 masak I'm making spectest, and then I'm going to bed.
22:33 mberends masak: seen pugs/ext/Web and pugs/ext/HTTP? kinda familiar language?
22:34 masak yes, seen them. :)
22:34 mberends the more things change, the more they stay the same
22:34 masak mberends: they were written by Juerd, the originator of the whole Web.pm idea.
22:35 mberends saw that, yes
22:35 masak he wrote the emails (in 2006), I'm just realizing his dream.
22:36 mberends good job!
22:36 masak not done yet...
22:36 Fuad g`night all
22:36 masak Fuad: o/
22:36 mberends hi, bye, Fuad
22:36 Fuad Hi mberends:)
22:37 icwiener joined #perl6
22:37 Fuad sorry i have to go to bed now,its too late here
22:37 masak no need to apologise.
22:37 masak sooner or later, it gets too late no matter where you are.
22:39 mberends too late in my head as well. soon entering energy saving mode.
22:40 masak mberends: it's now at least theoretically possible for a project to depend on proto, and use same to get info on the project ecosystem.
22:41 masak mberends: the one "interesting" piece of bootstrapping needed is that Ecosystem.new needs 'project-dir' as a mandatory param, and that information is contained in config.proto.
22:42 mberends do you mean proto's project-dir or the dependent project's project-dir?
22:43 masak proto's.
22:43 masak the dir that has all the projects.
22:43 mberends i guess the former... yes
22:43 masak it might even be called "projects-dir", dontremember.
22:45 jnthn mberends: I'm having trouble narrowing it down, but there's something _very_ strange going on.
22:45 mberends jnthn: another strange behaviour was rejecting my ( $a, $b ); etc
22:46 masak where's all this strange behaviour coming from?
22:46 pdc303 left #perl6
22:46 masak Rakudo has been nice for months now...
22:46 jnthn masak: Sure, but you're not normally targetting the s1c..
22:47 masak no, that's just s1c...
22:47 jnthn I'm still very bewildered why it is making such a difference though.
22:48 mberends and Rakudo failed 'returns DayOfWeek' but liked s/Day/day/g
22:49 skids_ joined #perl6
22:49 jnthn mberends: Most strange is that if I use the s1c to compile Temporal.pm alone, all is fine.
22:50 mberends maybe Pod bothers the gen_ thingy
22:51 PerlJam jnthn: maybe with the addition of Temporal.pm,  gen_setting.pm passes some hidden threshhold that causes things to go screwy.
22:52 mberends (hidden threshold)-- (dark matter)--
22:53 jnthn PerlJam: Perhaps.
22:54 mberends then (temporarily, no offense) ripping out other setting sources will fix it
22:54 * mberends tries
22:54 PerlJam mberends: I'm pretty sure there's already pod in some of the other files that go into gen_settting.pm
22:55 jnthn PerlJam: Aye, there is.
22:55 jnthn Plus removing the pod sections of temporal.pm didn't help
22:55 masak rakudo: multi prompt () { }
22:55 p6eval rakudo 1f1458: OUTPUT«push_pmc() not implemented in class 'Sub'␤»
22:55 * masak submits rakudobug
22:56 jnthn probably dupe.
22:56 masak O RLY?
22:57 jnthn rakudo: sub a { }; multi a { }
22:57 p6eval rakudo 1f1458: OUTPUT«Redefinition of routine a␤push_pmc() not implemented in class 'Sub'␤»
22:57 masak so Rakudo knows something's wrong, but it goes ahead and does it anyway?
22:57 jnthn Yeah, I'm sure we have other tickets on the only/multi conflict.
22:57 jnthn Well, redef is a warning, not an error.
22:57 masak oh, right.
22:58 masak ok, I'll let you off the hook for this time, then.
22:58 jnthn Trouble is at the moment it ends up warning, then generating code that won't work.
22:58 jnthn I haven't really figured out what it's meant to do in this case.
22:58 jnthn I mean, obviously not _that_.
22:58 jnthn Maybe an only/multi conflict should be an error.
22:59 masak I should think so!
23:00 jnthn masak: I wouldn't have minded a re-declared only being an error too tbh.
23:00 jnthn erm
23:00 jnthn re-defined
23:01 mberends perl6_s1.pbc still hangs after removing Hash.pm..Match.pm
23:01 masak jnthn: it isn't?
23:02 jnthn masak: It ain't in Perl 5, afaik.
23:02 jnthn Maybe it should be in Perl 6 though.
23:03 masak yes, maybe...
23:03 masak kinda comes with the meaning of 'only', dontcha think?
23:04 jnthn masak: aye
23:10 pugs_svn r26846 | masak++ | [games/wizard.pl] Fixed some bitrot issues.
23:10 pugs_svn r26846 | masak++ |
23:10 pugs_svn r26846 | masak++ | - Classes must be declared before they're referenced. Reordered classes.
23:10 pugs_svn r26846 | masak++ | - Perl 6 has a 'prompt', so there were some clashes. Renamed to 'myprompt'.
23:10 pugs_svn r26846 | masak++ | - '=$*IN' is now spelled '$*IN.get'
23:11 masak ok, my spectest run gave an unexpected death in t/spec/S04-statements/do.rakudo
23:11 jnthn mberends: Somehow, adding method day-of-week( ) seems to blow it. Hmm.
23:11 masak anyone else recognize that?
23:11 jnthn masak: I saw that too.
23:11 jnthn masak: Not sure if it's a roaming segfault or what.
23:11 mberends masak: re: indexes for grok, they are absolutely necessary for performance, but until Rakudo gets random file I/O (seek etc) there is no proper way to implement indexes.
23:11 masak good. that means my patch is fine. committing.
23:12 jnthn mberends: But I can't see it doing anything that could cause issues.
23:12 mberends jnthn: yes, trying various other minor additions did the same :/
23:13 dalek rakudo: ec55f17 | masak++ | src/ (2 files):
23:13 dalek rakudo: [Protoobject.pir] changed a few warnings
23:13 dalek rakudo: It's "type object" nowadays. And yes, the whole file might need renaming.
23:13 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​c55f176a074c046e5702694071c9f1b7c99d7df
23:14 masak mberends: you know me. I'm not one to go looking for elaborate solutions. I want something that Works For Now. I'll cross the indexing bridge when I have to.
23:15 mberends jnthn: it's fine to shelve Temporal for now, and resume when setting next gets more important changes.
23:16 mberends masak: that bridge is just around the next corner
23:16 masak mberends: perhaps.
23:17 masak mberends: I still haven't dismissed the idea the naming the files right could solve most of the indexing worries.
23:18 jnthn mberends: I don't think I@m going to have a solution for this today. :-(
23:19 masak mberends: in Temporal::TimeZone::Observance, why do you .truncate $minutes, when it can only take on integral values? that looks like a logic bug to me...
23:19 mberends jnthn: thanks for trying, nobody expected such problems :)
23:20 mberends masak: I haven't touched Observance yet, it's just S32 example text
23:20 donaldh joined #perl6
23:20 masak ok.
23:20 masak then there's probably a bug in S32.
23:21 mberends Q a few, but np. We can refresh the spec from running code.
23:22 masak yes, I'm Q sure we can.
23:22 masak ok, sleep Q -- I mean T.
23:24 * mberends enters low power mode.
23:25 fridim_ joined #perl6
23:31 kate21de1 joined #perl6
23:41 jnthn OK, I'm knackered.
23:41 jnthn Enough debugging.
23:45 PerlJam make
23:45 jnthn fai
23:45 jnthn l
23:45 nbrown joined #perl6

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

Perl 6 | Reference Documentation | Rakudo