Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-06-02

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 sorear what is the full spec rule?
00:03 Schwern joined #perl6
00:04 TimToady S05:2913
00:07 sorear and now, I've managed to make STD.pmc not store the RHS of = *at all*
00:09 TimToady /o\
00:09 sorear hmm, actually, gimme5 *does* implement {'binding'} = []
00:09 sorear but only if you actually put the binding inside the quantifier
00:09 sorear [ <foo> ]?
00:09 sorear er
00:09 sorear [ $<foo> = a ]?
00:09 TimToady ah
00:10 TimToady I'd say that's a buglet
00:10 TimToady is it worth fixing in gimme5?
00:12 sjohnson buglets are cuter than regular bugs
00:13 sorear TimToady: I'd say not
00:15 TimToady buglet: http://wall.org/~larry/cameliafav.ico
00:16 sjohnson that's cuet
00:17 sorear xli-- "cameliafav.ico is a 576x720 MacPaint image"
00:18 TimToady 32x32: http://wall.org/~larry/camelia32.ico
00:19 TimToady those might not be the most recent ones though
00:19 TimToady they look like some of the earlier prototypes that didn't do transparency right
00:21 sjohnson TimToady: did you draw that in The Gimp?
00:21 TimToady nod
00:22 sjohnson TimToady: you can get a decent sized 64x64 png or something with transparancies, and upload it to one of those online png -> .ico converters
00:22 sjohnson and then they alloledge all the new resolution settings that windows has brought to the table, ater the 766 byte win3.1 icon days
00:24 TimToady the better version of 16x16: http://wall.org/~larry/camelia16.ico
00:24 TimToady (and the one from pugs repo)
00:24 sjohnson the 16x16 ones look cuter because the eyes look like pixel diamonds
00:24 TimToady the 32x32 is the same
00:24 TimToady yes, well, it's hard to get all the features in without a bit of distortion
00:25 sjohnson TimToady: http://members.shaw.ca/smujohn​son/img/4chan/IE-trollface.png
00:25 sjohnson TimToady: the distortion makes it cute though, so it worked out well.
00:30 sorear TimToady: what is the point of _PAREN?
00:30 sorear and why does it differ so much from _BRACKET?
00:31 TimToady it knows that it is going to be _SUBSUMED, so it doesn't have to worry about preserving the original Cursory type
00:32 sorear why does it exist at all?
00:32 sorear instead of just clling the inner stuff directly?
00:32 TimToady um, logging entry and exit?  yes, it's pretty useless other than that
00:33 sorear ah
00:33 masonkramer joined #perl6
00:34 TimToady but optimizing it won't get you much in STD itself, since parens are pretty rare
00:34 pugssvn r31037 | sorear++ | [viv] Hack - emulate gimme5's binding-to-quantified-atoms bug
00:34 TimToady for a long time it parens didn't even work in STD
00:34 sorear why does STD 5031 use parens at all?
00:35 sorear why not brackets?
00:35 TimToady it might have originally been a $0, and got rebound when I discovered $0 didn't work, or decided it needed a better name in the parse tree :)
00:36 TimToady just guessing
00:36 sorear ah
00:37 TimToady actually, we could probably optimize away the BRACKET if it's going to be SUBSUMEd
00:38 TimToady ants &
00:38 sjohnson bust out the raid
00:41 TimToady did
00:41 TimToady fortunately, window ants, so could spray outside
00:42 TimToady since SUBSUME calls cursor_bind which reblesses into the parent, which dups what BRACKET does
00:43 sorear stage3 STD.pmc is now only 1500 lines different from stage2
00:44 sorear with 19 errors
00:45 sorear since stage2 now handles asserion:var correctly
00:46 TimToady convergence is good
00:46 sorear the next order of business: backslash escapes in strings
00:47 TimToady that's always kinda fiddly
00:48 TimToady sounds like we'll be translating Cursor back to P6 pretty soon :)
00:48 sorear "back"?
00:48 TimToady the original Cursor ran under pugs
00:48 sorear I see.
00:48 TimToady but it was just too flakey
00:48 sorear Too slow?
00:48 sorear ah
00:48 TimToady pretty slow too
00:49 TimToady but it would randomly crash 50% of the time
00:49 TimToady I'm sure it would be much more solid under newer Haskells
00:49 sorear well... I don't think /all/ of the stuff in Cursor can be mapped to Perl6
00:49 TimToady unless the problem was in the pugscode itself
00:50 TimToady well, we can piecemeal it
00:50 sorear what I was going to do was to split off Cursor.pm6 from CursorBase.pmc
00:50 TimToady especially if I ever finish STD_P5 well enough to parse 'use v5;' blocks :)
00:50 sorear Cursor.pm6 starts empty and sucks code in from CursorBase and STD
00:50 TimToady that's what I mean by piecemeal it
00:50 sorear e.g. EXPR, panic, lineof
00:51 sjohnson the ants wanted to look at camelia
00:51 TimToady is a perfectly valid way to develop it
00:51 sorear as a fringe benefit, it will become possible to use viv with other grammars but STD
00:51 TimToady you can use other grammers under gimme5, but you usually have to work at it :)
00:52 sorear yeah, but you have to name them STD and include FAILGOAL and lineof methods
00:52 sorear possibly others
00:52 TimToady you only need FAILGOAL and lineof if you fail :)
00:52 masonkramer joined #perl6
00:53 TimToady but yeah
00:54 TimToady sjohnson: looking at pretty girls through windows is generally considered a bit antisocial
00:54 colomon joined #perl6
00:54 sjohnson they've probably had more luck with girls than i have had
00:54 sjohnson at least aunts have gone in people's pants before
00:55 sjohnson ants*
00:56 jnthn Oh gosh, 3am.
00:56 jnthn On the upside, I now has travel tickets and places to stay for the Perl workshops next month. \o/
00:56 sjohnson once rakudo is a bit more ready for production value, i'll be the first to program a female AI to talk to.  how sad is that
00:57 TimToady jnthn++ # dealing with "Real Life"
00:57 jnthn :-)
00:57 sorear sjohnson: you've been beaten to the punch by about 50 years
00:57 TimToady Why do you say that once rakudo is a bit more ready for production value, you'll be the first to program a female AI to talk to.  how sad is that
00:58 jnthn TimToady: Happily, one of the conferences even has a river trip as a part of it. :-)
00:58 TimToady How does this make you feel?
00:58 jnthn I have this sinking feeling...
00:59 TimToady Why do you say that you have this sinking feeling...?
00:59 sjohnson well, i was actually seriously considering doing a regular chat bot to prank some friends on ir
00:59 sjohnson irc
00:59 sjohnson but it might take too long... and i think it's also been done before
00:59 sjohnson would be kinda fun though
01:00 TimToady /invite elizabot
01:00 sjohnson TimToady: reason i said it, is because most girls i meet don't really care about computer stuff :(
01:00 TimToady Is this something about your father?
01:01 * TimToady wishes he could remember more of eliza's snappy comebacks...
01:01 jnthn .oO( freudbot )
01:01 araujo sjohnson, that doesn't happen only to you hehehe
01:01 sjohnson well my dad did show my brother and i how to program in basic on an apple //e back when we were really young, maybe it does have something to do with it
01:02 * sjohnson is 28 years old now
01:02 TimToady Does this bother you?
01:02 sjohnson heh, this reminds me of Dr. Sbaitso
01:03 TimToady I suppose I could switch to Perry...
01:03 araujo sjohnson, you depressed because you don't find gf?
01:03 sjohnson can haz gf with perl knowledge
01:03 TimToady it's the voices again...
01:04 sorear does anyone here remember lambdabot's "eliza" module?
01:04 sorear (else)
01:05 sjohnson araujo: i think it is just desire bothering me, not so much a lack of a gf...
01:06 araujo sjohnson, got my first gf after 27 years (been with her for 4 months) .. I really wanted to get one very badly back in the days ... to be honest with you ... now I see i wasn't missing much ... women are too hard for me to understand
01:06 araujo if you say A, they say B,if you say B, they say A, if you say A & B, they say C
01:06 araujo ....
01:07 sjohnson perl6 can address those issues
01:07 sorear diff -y is my new favorite command
01:07 * jnthn never quite managed to convince a girl to be his gf yet, but experiences gained through failure so far suggest...writing a Perl 6 compiler is easier. :-)
01:08 sjohnson araujo:  thanks for the help.  i should remember this.  my cousin said that all his desires of girls have led to misery, whether or not he "succeeded" with them
01:08 * jnthn guesses the debugging tools are just more advanced. :-)
01:08 araujo writing a Perl 6 compiler is kinder garden homework compared with closely understanding a girl
01:08 * sorear is 19 and in no hurry.
01:09 araujo sjohnson, my recommendation is .. go and try .. that is what life is all about, I just tell you my personal experience ...
01:11 [Coke] crazy kids need to get off my lawn is what.
01:12 sjohnson ahh, i kinda tried and failed many times, but my brain is too stupid to stop desiring.
01:13 TimToady one can never fail to truly love someone, whether or not they love you back
01:14 pausenclown joined #perl6
01:15 TimToady you can never fail at wanting what is best for another person
01:16 TimToady and one cannot acquire a true girlfriend without understanding the "friend" part
01:16 araujo love is good ..... now, if we talk about relationships ...
01:17 sjohnson pretty much all my desires have been selfish now that you mention it
01:17 sjohnson ... oopsies
01:17 * [Coke] wonders if his 21 year relationship is on the high side for this discussion. kids. :P
01:17 sjohnson [Coke]: i was just gonna ask about kids actually
01:18 * TimToady is sitting next to his youngest kid, who is 21 :)
01:18 TimToady kids change your life even more than a spouse, because you get to pick your spouse
01:18 TimToady but with kids, you just get what you get
01:18 sjohnson sounds like a good surprise with kids
01:19 TimToady not always :)
01:19 araujo I am sure kids would say the same at some point about parents :P
01:19 TimToady but they're good practice on that 'unconditional love' thing
01:19 sjohnson i kinda wish my dad watched anime with me
01:19 araujo well, you can love without a spouse or kids in this world
01:19 sjohnson an "anime dad" is hard to find
01:19 araujo hehehe
01:20 TimToady I kinda wish my dad was still alive
01:20 TimToady I periodically dream that he is, and it was all a big mistake :)
01:20 araujo we all will face that in life :(
01:20 sjohnson natural causes?
01:21 TimToady otoh, he'd be 90 now...
01:21 TimToady well, if congestive heart failure plus metastisized prostate cancer is "natural"...  :)
01:21 TimToady he made it to 66
01:22 masonkramer_ joined #perl6
01:22 TimToady my mom will be 86 this year though
01:22 TimToady so there's some hope on that side
01:22 [Coke] TimToady: mine only to 45.
01:22 araujo going beyond 70 is already hard enough for this generation
01:22 TimToady she's still pretty sharp too
01:22 colomon joined #perl6
01:23 sjohnson i watch tv shows as often as i can with my dad, as i worry that he could go at any moment, and he's got a rare dry wit.  *sniff*
01:23 TimToady ah well, I try to stay young at heart, at least in some of the good ways
01:23 colomon is there a log for #phasers?
01:23 jnthn colomon: aye but not much happened.
01:24 colomon 'k
01:24 jnthn I didn't even make any awful puns.
01:24 TimToady colomon: it's even mentioned in the /topic
01:24 TimToady nice to have a /topic now  :)
01:24 jnthn "IR clogs.." :-D
01:24 colomon TimToady++ # was no topic there last time I remember looking.
01:24 sjohnson @karma
01:25 sjohnson (´ー` )
01:25 TimToady lambdabot was functionally exiled
01:25 * jnthn realizes that he could find a pair of clogs and tell people they were infrared, but since you can't see that spectrum nobody would be able to tell they weren't. :-)
01:25 TimToady well, almost everything is infrared already
01:26 sjohnson TimToady, are you much of git guy?
01:31 TimToady not really
01:33 atomicstack joined #perl6
01:36 sjohnson its kinda making my life easy at work, but there's a ton i have yet to learn about it
01:37 sorear the great thing about git is how little there is to learn about it
01:38 sorear git - the stupid content tracker
01:39 araujo hehehe
01:43 sjohnson for me it's the content tracker that makes one feel stupid
01:46 sjohnson if there is one thing i dont understand, it's what "git potty" means.  it's in the man page. but googling only brings up the man page
01:46 sjohnson maybe sorear knows
01:46 * sjohnson crosses fingers
01:46 sjohnson whatever it is, it sounds cute
01:50 araujo a perl 6 CVS , that is what we need
01:50 [Coke] no it isn't.
01:59 araujo Yet Another CVS
02:00 [mark] joined #perl6
02:00 jnthn Ho hum. Maybe I should try sleep.
02:04 sorear git: 'potty' is not a git-command. See 'git --help'.
02:07 snarkyboojum the 'potty' is a term they use to refer to the 'porcelain' or wrapper git commands which lead to the 'plumbing', i.e the core git programs
02:14 agentzh joined #perl6
02:15 bluescreen joined #perl6
02:16 Guest97772 joined #perl6
02:30 snarkyboojum joined #perl6
02:48 plobsing joined #perl6
02:53 skids joined #perl6
02:55 justatheory joined #perl6
03:03 sorear joined #perl6
03:07 snarkyboojum is there currently any Rakudo LHF for the month? :)
03:07 snarkyboojum the advent calendar test suite is pretty much complete - looking for something else to chew on :)
03:10 snarkyboojum I know.. "if you have to ask"... :)
03:39 gfx joined #perl6
03:47 TimToady <sorear> TimToady: How does ./std precompile modules?  Looking at it it seems to just be a thin wrapper over STD->parsefile
03:47 TimToady look at Cursor's you_were_here function
03:50 TiMBuS joined #perl6
03:52 sjohnson snarkyboojum: thank you
03:53 saaki joined #perl6
04:01 snarkyboojum joined #perl6
04:06 molaf joined #perl6
04:14 TimToady eternaleye: your when's won't work because, in the absense of a declarator, binding to :() doesn't declare any variables
04:14 TimToady you want something more like:
04:15 TimToady rakudo:  given a => 3 { when * -> Pair ( Str $key, $value ) { say $key } }
04:15 p6eval rakudo 18d996: OUTPUT«Nominal type check failed for parameter ''; expected Pair but got Bool instead␤  in main program body at line 11:/tmp/ugNYBju6pg␤»
04:16 TimToady see S03:3472
04:17 TimToady and S03:3581
04:27 snarkyboojum rakudo: 2 <<+<< 1,2,3
04:27 p6eval rakudo 18d996:  ( no output )
04:27 snarkyboojum rakudo: 1,2,3 >>+>> 2
04:27 p6eval rakudo 18d996:  ( no output )
04:27 snarkyboojum rakudo: say 2 <<+<< 1,2,3
04:27 p6eval rakudo 18d996: OUTPUT«323␤»
04:28 snarkyboojum rakudo: say 2 <<+<< (1,2,3)
04:28 p6eval rakudo 18d996: OUTPUT«345␤»
04:28 snarkyboojum rakudo: say 2 <<**<< (1,2,3)
04:28 p6eval rakudo 18d996: OUTPUT«248␤»
04:28 eternaleye joined #perl6
04:30 TimToady hyperops aren't list infixes
04:31 TimToady eternaleye: see http://irclog.perlgeek.de/​perl6/2010-06-02#i_2392634
04:31 snarkyboojum aren't list infixes?
04:32 TimToady no, so they only take a "scalar" argument on either side, which is typically an array
04:33 TimToady which is why you got the results above
04:33 TimToady whereas things like Z and X are designed to work on lazy lists
04:33 TimToady so take a list on either side
04:34 TimToady rakudo: say 2 X+ 1,2,3
04:34 p6eval rakudo 18d996: OUTPUT«345␤»
04:34 TimToady note, no parens needed
04:34 snarkyboojum right, but << will "extend" the "list" in the right?
04:34 snarkyboojum or is that unspecced
04:34 TimToady since hypers are run-to-completion, they're more for singular objects that happens to be complex inside
04:34 TimToady *happen
04:35 snarkyboojum not sure what run-to-completion mean
04:35 snarkyboojum means
04:35 TimToady spec says deficient dimensions will be extended, not deficient lists
04:35 snarkyboojum ah ok
04:35 TimToady so 2 can change to (2,2,2,2,2,2)
04:35 TimToady but (2,2,2,2) can't change to (2,2,2,2,2,2,2)
04:35 snarkyboojum yeah
04:35 snarkyboojum ok
04:36 snarkyboojum thanks :)
04:36 TimToady arguably, if we did something like that, (1,2,3,4) should extend to (1,2,3,4,1,2,3,4,1,2,3,4) rather than (1,2,3,4,4,4,4,4,4,4,4)
04:37 snarkyboojum sure
04:37 TimToady but since there are already ways to express either of those in terms of (1,2,3,4,*) or (1,2,3,4) xx *, it's not terribly important
04:38 eternaleye TimToady: Note that I only used $_ in the givens, not the vars in the signatures - :key($) would be clearer as I'm only using them for the name of the appropriate chunk of the pair
04:38 eternaleye w/givens/whens/
04:39 snarkyboojum the temptation is there to create mamoth perl one liners with chaining hypers etc
04:39 snarkyboojum mammoth
04:40 TimToady eternaleye: I was explaining your first result at http://irclog.perlgeek.de/​perl6/2010-06-01#i_2389173
04:40 TimToady std: given a => 3 { when :( Pair ( Str $key, $value ) ) { say $key } }
04:40 eternaleye TimToady: Oh, that was just a trying something I wasn't actually using, but I wanted to know what happened
04:40 p6eval std 31037: OUTPUT«[31m===[0mSORRY![31m===[0m␤Variable $key is not predeclared at /tmp/XcJtA61In5 line 1:␤------> [32m( Pair ( Str $key, $value ) ) { say $key[33m⏏[31m } }[0m␤Check failed␤FAILED 00:01 117m␤»
04:40 TimToady which std agrees with
04:40 eternaleye s/a/me/
04:41 TimToady whereas:
04:41 TimToady std: given a => 3 { when * -> Pair ( Str $key, $value ) { say $key } }
04:41 p6eval std 31037: OUTPUT«ok 00:01 114m␤»
04:41 eternaleye I was trying to make moritz_' example work, but I forgot to change that
04:41 TimToady that does declare $key over the block
04:42 TimToady but I don't think rakudo implements the * binding yet
04:42 sorear * <pointy> is legal?
04:42 sorear what production?
04:43 sorear oh, (when) (*) (pointy)
04:43 sorear how does * differ from True?
04:43 TimToady xblock calls pblock, which is either with or without ->
04:44 TimToady it's less misleading :)
04:44 TimToady and doesn't get you a warning
04:44 TimToady std: given a => 3 { when True -> Pair ( Str $key, $value ) { say $key } }
04:44 p6eval std 31037: OUTPUT«Potential difficulties:␤  Smartmatch against True always matches; if you mean to test the topic for␤    truthiness, please use :so or *.so or ?* instead at /tmp/Wr91YRO81B line 1:␤------> [32mgiven a => 3 { when True[33m⏏[31m -> Pair ( Str $key, $value ) { say $key[0m␤ok 00:01
04:44 p6eval ..…
04:45 TimToady std: given a => 3 { default -> Pair ( Str $key, $value ) { say $key } }
04:46 p6eval std 31037: OUTPUT«[31m===[0mSORRY![31m===[0m␤Missing block at /tmp/ohN3NdRwKY line 1:␤------> [32mgiven a => 3 { default [33m⏏[31m-> Pair ( Str $key, $value ) { say $key [0m␤Parse failed␤FAILED 00:01 111m␤»
04:46 TimToady heh
04:46 TimToady I guess default isn't quite the same as 'when *'
04:46 sorear TimToady: if you have a "local" deep inside a P5 expression, how does the local scope?
04:47 TimToady to the surrounding curlies, same as lexicals, more or less
04:47 sorear so the local is in scope but undef earlier in the block?
04:47 TimToady modulo the strange hidden blocks that sneak into p5 around certain constructs
04:48 TimToady "local" is not a noun
04:48 TimToady local is a verb that applies to a global var
04:48 TimToady so whether it's undefined earlier or not depends on its previous value
04:49 TimToady local itself undefines, by default, so you have to assign the previous value in p5 to keep the value
04:49 TimToady "temp" in p6 is supposed to default the other way, and preserve the outer value
04:53 TimToady which is why, in Cursor.pmc you see things like     local $::HIGHWATER = $::HIGHWATER;
04:53 sorear yes
04:53 TimToady in p6 that'll just be temp $*HIGHWATER;
04:54 TimToady 'course, temporizing dynamic vars in "real" p6 will be different from temporizing globals and ordinary lexicals
04:54 sorear so basically local $::FOO = 3 is SAVESV($::FOO); $::FOO = 3
04:55 TimToady and with real dynvars temp $*HIGHWATER turns into my $*HIGHWATER = $OUTER::HIGHWATER or something like that
04:55 sorear not a scoping construct at all
04:55 sorear just save-stacked assignment
04:55 TimToady yes
04:55 TimToady which is not very thread-friendly
05:00 yinyin joined #perl6
05:02 Schwern joined #perl6
05:08 kaare joined #perl6
05:14 BinGOs joined #perl6
05:49 pugssvn r31038 | sorear++ | [viv] Improve handling of non-subrule captures again
05:50 sorear STD.pm6 contains a line of the form <item=.sym>
05:50 sorear this gets unfolded to $<item> = foo
05:50 sorear gimme5 ignored the binding in this case
05:50 sorear viv doesn't
05:51 sorear so I neeeded to improve the AST processors
05:51 sorear (actually, I changed Actions, not viv.)
05:58 sorear I BELEIVE IT NOT.  stage 3 == stage 2 !!! !!! !!!
06:05 uniejo joined #perl6
06:12 * sorear runs a make snaptest to establish a baseline
06:15 envi^home joined #perl6
06:17 mberends sorear++
06:18 cognominal joined #perl6
06:19 Su-Shee joined #perl6
06:22 moritz_ good morning
06:23 sorear good morning moritz
06:23 sorear I just successfully bootstrapped STD.pm6 and viv
06:23 moritz_ \o/
06:23 sorear will commit the needed Makefile changes after a double snaptest
06:25 snarkyboojum joined #perl6
06:25 eternaleye sorear++ # You rock so hard
06:27 sjohnson cool
06:44 sorear TimToady: How does lex/STD.pm6.store work?
06:47 s1n joined #perl6
06:50 sorear I see
06:50 pugssvn r31039 | sorear++ | [Cursor] Allow lex/ and syml/ directories to be overridden
06:51 mathw Morning
06:58 pugssvn r31040 | sorear++ | [std] Add prototype node classes to silence errors from Actions
07:09 TimToady \ö/
07:10 TimToady sorear++ sorear++ sorear++ sorear++ sorear++ sorear++
07:14 sjohnson heh
07:16 TimToady but zzz &  # will play with it in the morning
07:16 sorear in the morning, it will be installed as default
07:16 sorear gimme5 may or may not be gone, depending on snaptest results
07:16 sorear sleep well
07:29 ejs joined #perl6
07:38 ejs joined #perl6
07:38 dalek joined #perl6
07:38 hugme joined #perl6
07:38 mathw joined #perl6
07:38 pugssvn joined #perl6
07:38 ajs joined #perl6
07:38 tootroot joined #perl6
07:38 clsn joined #perl6
07:38 bkeeler joined #perl6
07:38 jiing joined #perl6
07:38 obra joined #perl6
07:38 c1sung joined #perl6
07:38 IRSeekBot joined #perl6
07:49 dju joined #perl6
07:49 sorear snaptest ends at 94.36%
07:50 moritz_ is that the same as normal STD+gimme5 snaptest?
07:50 pmurias joined #perl6
07:50 sorear moritz_: that was the STD+gimme5 snaptest; I was establishing a baseline
07:51 moritz_ ah
07:51 moritz_ did you also time it?
07:51 dju joined #perl6
07:52 s1n joined #perl6
07:54 sorear no
07:59 sorear Is it considered bad form to set PERL5LIB in Makefiles?
08:01 mathw I would think so
08:01 moritz_ rakudo: say "Perl 6 Advent".comb(/<alpha>/).join('|');
08:01 p6eval rakudo 18d996: OUTPUT«Cannot take substr outside string␤  in <anon> at line 11:/tmp/8a1sSMRqEw␤  in 'Cool::match' at line 2103:CORE.setting␤  in 'Any::join' at line 1898:CORE.setting␤  in main program body at line 11:/tmp/8a1sSMRqEw␤»
08:03 eternaleye Recent Camelia discussion prompted me to search the clogged infrared for this: http://www.perlportal.com/logo/camelia.html (originally posted by LylePerl). I particularly liked (and still do) #7
08:03 mathw If it doesn't get exported into the user's environment it's probably okay, but you would I think be better off passing include paths to perl
08:06 sorear mathw: I want it to affect subprocesses too
08:08 pugssvn r31041 | sorear++ | [STD-ecosystem] Change Makefile to use viv by default instead of gimme5.  Check in a bootstrap copy of STD.pmc.
08:08 viklund joined #perl6
08:08 sorear next, I need to get snaptest to run at all
08:22 dakkar joined #perl6
08:38 clintongormley joined #perl6
08:47 pugssvn r31042 | sorear++ | [viv,STD_P5] Fix STD_P5 for viv, which is rather stricter about valid P6
08:59 cli_ joined #perl6
09:06 moritz_ http://www.modernperlbooks.com/mt/2010/06/​the-fundamental-unit-of-encapsulation.html "If you've worked with macros in C or C++ or source filters in Perl 5, note that they have file scope"
09:06 moritz_ I thought C/C++ macros are pretty much global
09:09 arnsholt They're only accessible in the files where they're either #defined or #included
09:09 arnsholt But global at file level, yes
09:09 moritz_ I meant that more in the sense of: I write an include file, that uses a macro internally
09:10 moritz_ but if I don't care, it's available globally, ie in any file that includes my file too
09:10 arnsholt Yeah, in that sense it's global
09:10 moritz_ in that sense it has larger scope than file
09:15 moritz_ rakudo: '1 ' ~~ /.*/; say +$/
09:15 p6eval rakudo 18d996: OUTPUT«1␤»
09:21 arnsholt The problem is that C has a messed-up view of how to include libraries, and what is file-scope
09:21 arnsholt Seeing how #include just pastes a file into your file
09:21 moritz_ right
09:24 mathw of course you can #undef a macro when you're done with it so it doesn't leak
09:25 moritz_ but the fact that you have to take extra care is bad
09:25 moritz_ and what if that macro existed (but with different contents) before the #include line?
09:27 arnsholt I can't remember what happens then
09:27 arnsholt Might be implementation-dependent
09:28 mberends grammar hai { rule TOP { ^ <.ws> HI } }; class hai::act { method TOP($m) { say "YO!" } }; hai.parse("HI", :actions(hai::act)); # works
09:28 mberends rakudo: grammar hai { rule TOP { ^ <.ws> HI } }; class hai::act { method TOP($m) { say "YO!" } }; hai.parse("HI", :actions(hai::act)); # works
09:28 p6eval rakudo 18d996: OUTPUT«YO!␤»
09:29 mberends rakudo: grammar hai { rule TOP { ^ <.ws> HI } }; class hai::act { method TOP($m) { say "YO!" } }; hai.parse(" HI", :actions(hai::act)); # inserting a space fails. HALP!
09:29 p6eval rakudo 18d996:  ( no output )
09:30 moritz_ rakudo: grammar hai { token TOP { ^ <.ws> HI } }; class hai::act { method TOP($m) { say "YO!" } }; hai.parse(" HI", :actions(hai::act));
09:30 p6eval rakudo 18d996: OUTPUT«YO!␤»
09:31 mberends oh, token. thanks moritz_++
09:31 mathw moritz_: well in the normal case that macro wouldn't exist afterwards. you can detect it, save it and restore it, but to do that for every macro... this is why macros cause pain :)
09:31 moritz_ I guess that the implict <.ws> from 'rule' and the explicit one interact badly... but I don't know why
09:31 moritz_ mathw: but don't you need another macro for storing the old contents?
09:31 moritz_ which you'd have to clean up again, recursively?
09:32 mathw yes
09:33 mathw there's a good guideline, it says 'don't use macros in header files', and it's paired with one that says 'if you do use macros in header files, give them names very likely to be unique'
09:34 moritz_ "we built you this cool language; but pulease don't actually use its features; they are harmful for your dog"
09:34 masak joined #perl6
09:35 masak oh hai, #perl6!
09:35 moritz_ good (late) morning, masak
09:35 moritz_ how are those bufs coming along?
09:35 mberends oh hai, masak!
09:36 mathw moritz_: well the thing is that it's not cool, it's merely ubiquitous
09:36 moritz_ right :-)
09:37 mathw moritz_: and I like C++, but that's also not cool, it's a tangled mess of things which are cool, things which are supposed to be cool but aren't really implemented properly, and things which are enough to send you screaming for a mental hospital (usually those are the bits inherited from C)
09:37 mathw but it pays the bills :)
09:37 mathw so I can't hate it too much
09:37 masak moritz_: the road ahead for the week is clear. now post-Yapsi-release, I'll take a session or two with them.
09:37 mathw lolitsmasak!
09:37 masak lol!
09:37 mberends masak: did an answer to the proto rename question come to you in your sleep?
09:38 mathw masak: mi ŝatis vian Yapsi-anoncon.
09:38 masak mberends: dunno. haven't quite woken up yet... :)
09:39 masak mathw: dankon!
09:39 mberends the pls suggestion has appeal (feeble pun intended)
09:40 moritz_ want to rename proto to 'pls'?
09:40 moritz_ ./pls gimme FakeDBI ?
09:42 masak probably 'install' rather than 'gimme'; but yes :)
09:42 masak it's being considered.
09:43 masak for a while I also considered throwing away the current proto, with all its cruft, and doing pls as a new, light-weight project with lessons incorporated and with a testable core, etc. but that's probably too risky. :/
09:43 masak don't want to end up in limbo like those Perl 6 people.
09:43 masak er, I mean
09:44 moritz_ second systems, anybody?
09:44 masak ...yes, but I would do it right!
09:44 moritz_ :-)
09:52 masak about Buf: the other week, jnthn looked slightly taken aback with the propensity of Buf.new to take its values slurpily, rather than contained in an array in the first argument. so Buf.new(1, 2, 3) rather than Buf.new([1, 2, 3]).
09:52 masak apparently the former is expensive from a signature-construction viewpoint.
09:53 masak would it be a good idea to change the spec to the latter?
09:53 moritz_ wfm
09:53 moritz_ (but please leave a comment in the spec explaining the reason)
09:53 masak IMO, changing the spec to the latter would also make it look a bit more like a cast from an array to Buf, which might be a good mnemonic.
09:54 masak will do.
09:55 mberends it also mirrors the reverse conversion more symmetrically
09:55 masak aye. mberends++
09:56 masak by the way, what the heck is Blob? S02 says it's an 'undifferentiated mass of bits' -- isn't that what Buf is? or does 'undifferentiated' here mean 'without ordering'? that sounds singularly useless.
09:57 mberends the intent was probably similar to Buf
09:57 masak are there any conversion rules for converstions between Buf and Blob?
09:57 masak why isn't Blob in S32?
09:57 * masak checks the blame
09:57 moritz_ masak: I'd guess it's a bit like a Buf, but not indexable
09:57 mberends take "undifferentiated" to mean "opaque"
09:58 masak moritz_: I'm getting a "don't do that, then" feeling about that.
09:58 moritz_ really depends on the efficiency of the Buf implementation
09:58 masak "it hurts when I index the Buf!" -- "well, here's an identical type, which you can't index"
09:59 masak seems some guy named lwall has added Blob. anyone know if he hangs around here sometime?
09:59 moritz_ can you append to or delete from a Buf?
10:00 masak depends if it's mutable or not, I guess.
10:00 masak but yeah, I've been thinking of it as mostly a special kind of Array type, so...
10:01 mathw I thoguth a Buf was just a 'string-like' and maybe 'array-like' load of bytes in some order, so I would hope you can append new bytes to it
10:01 moritz_ so you need to do internal book-keeping, possibly reallocate memory etc
10:01 moritz_ whereas I guess a Blob just stores a pointer and a length
10:01 moritz_ nothing more
10:03 mathw sounds plausible
10:04 masak well, Blob is unusable if you can't interact with it somehow, like say convert it to something more mutable. and the spec doesn't say yet.
10:04 moritz_ probably supports coercion to Buf, and maybe unpacking
10:04 mathw I would hope that you could convert it to a Buf if you wanted to play with it
10:05 mathw although I'm sure in Blob form you could look at it
10:06 mberends do you think the name Blob was chosen to resemble the database usage of blob, which is binary large object (such as a file image)
10:06 moritz_ I'm pretty sure it was, yes
10:06 * mathw analogises converting a Blob to a Buf to taking the Mona Lisa out of the protective glass in order to flick paint at it
10:06 mathw mberends: yes, I do
10:07 mathw It suggests that it's a lump of binary data that has no intrinsic meaning perhaps
10:07 mberends then a Buf could usefully  be a subrange of all the bytes
10:07 mathw you have to do something to it to make it understandable
10:07 mathw like, feed it to a grue (or a JPEG decoder)
10:08 orafu joined #perl6
10:09 moritz_ rakudo: say %(1, 2)
10:09 p6eval rakudo 18d996:  ( no output )
10:10 pugssvn r31043 | masak++ | [S32/Containers] Buf does Stringy, too
10:10 pugssvn r31044 | masak++ | [S32/Containers] Buf.new parameter no longer slurpy
10:10 pugssvn r31044 |
10:10 pugssvn r31044 | Feedback from implementors suggests that this would be too inefficient.
10:10 pugssvn r31044 | Also, might be good to highlight that the array is an array in the
10:10 pugssvn r31044 | constructor. Also, this makes conversion back and forth Buf<->Array look
10:10 pugssvn r31044 | more symmetrical.
10:11 synth joined #perl6
10:11 pugssvn r31045 | masak++ | [S32/Containers] oh, and let's bump the version, too
10:12 moritz_ rakudo: use MONKEY_TYPING; augment class Str { method postcircumfix:<( )>($x) { ~$x } }; say Str(42).perl
10:12 p6eval rakudo 18d996: OUTPUT«Could not find sub &Str␤  in main program body at line 11:/tmp/CFuAuCIpuE␤»
10:12 satyavvd joined #perl6
10:12 moritz_ rakudo: use MONKEY_TYPING; augment class Str { method postcircumfix:<( )>($x) { ~$x } }; say (Str 42).perl
10:12 p6eval rakudo 18d996: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 11␤»
10:12 masak moritz_: postcircumfix:<( )> takes a Signature nowadays.
10:13 moritz_ rakudo's parsing is too robust to be cheated that way
10:13 ive joined #perl6
10:13 satyavvd how can I know method signature from within program?
10:14 satyavvd for example Str.subst?
10:15 moritz_ rakudo: say Str.^methods.grep({.name eq 'subst'})>>.signature>>.perl
10:15 p6eval rakudo 18d996: OUTPUT«get_attr_str() not implemented in class 'Perl6MultiSub'␤  in main program body at line 1␤»
10:15 moritz_ rakudo: say Str.^methods.grep({.name eq 'subst'})>>.WHAT
10:15 Trashlord joined #perl6
10:15 p6eval rakudo 18d996: OUTPUT«Multi()␤»
10:15 * masak submits rakudobug
10:15 moritz_ rakudo: say Str.^methods.grep({.name eq 'subst'})>>.signature
10:15 p6eval rakudo 18d996: OUTPUT«get_attr_str() not implemented in class 'Perl6MultiSub'␤  in main program body at line 1␤»
10:16 mathw I'm sure that used to work
10:16 mathw maybe that was in alpha though
10:16 moritz_ rakudo: my $multi = Str.^methods.grep({.name eq 'subst'}); say $multi.candidates>>.signature>>>.perl
10:16 p6eval rakudo 18d996: OUTPUT«===SORRY!===␤Missing << or >> at line 11, near ".perl"␤»
10:16 masak alpha: say Str.^methods.grep({.name eq 'subst'})>>.signature.perl
10:16 p6eval alpha 30e0ed: OUTPUT«[undef]␤»
10:16 masak :D
10:16 satyavvd ok
10:16 moritz_ rakudo: my $multi = Str.^methods.grep({.name eq 'subst'}); say $multi.candidates
10:16 p6eval rakudo 18d996: OUTPUT«Method 'candidates' not found for invocant of class 'GatherIterator'␤  in main program body at line 11:/tmp/GRO6BQpcKC␤»
10:17 moritz_ rakudo: my $multi = Str.^methods.grep({.name eq 'subst'})[0]; say $multi.candidates
10:17 p6eval rakudo 18d996: OUTPUT«subst␤»
10:17 moritz_ rakudo: my $multi = Str.^methods.grep({.name eq 'subst'})[0]; say $multi.candidates[0].signature.perl
10:17 p6eval rakudo 18d996: OUTPUT«:(Mu : Any $matcher, Any $replacement, Any :samecase($samecase), *%options)␤»
10:17 masak \o/
10:17 moritz_ hah, beat it into submission!
10:17 mathw interesting
10:18 gbacon joined #perl6
10:18 mathw rakudo: say Str.^methods.grep({.name eq 'subst'})>>.candidates>>.signature.perl;
10:18 * masak is sorely tempted to patch it to report :$samecase instead...
10:18 p6eval rakudo 18d996:  ( no output )
10:18 mathw aaww
10:18 pnate joined #perl6
10:29 pugssvn r31046 | masak++ | [spec/S32-str/encode.t] un-flattened Buf.new arguments
10:29 pugssvn r31046 |
10:30 pugssvn r31046 | The old constructor with a slurpy array is no longer in the spec; using
10:30 pugssvn r31046 | the new one with a positional array instead.
10:34 ejs joined #perl6
10:43 skangas joined #perl6
10:47 masak hm; Parrot has more problems than I thought with handling string encoding. :/
10:48 pugssvn r31047 | masak++ | [encode.t] removed a few fudgings
10:49 jnthn o/
10:50 jnthn masak: +1 on the non-slurpy constructor :-)
10:55 fda314925 joined #perl6
10:55 lichtkind joined #perl6
11:19 lichtkind moritz_: vielen dank nochmal
11:23 moritz_ lichtkind: context?
11:24 lichtkind moritz_: your correction of my rakudo article, in 2 spots you missed my point but the rest is very valuable
11:24 moritz_ ah. (I barely remember it)
11:31 colomon joined #perl6
11:35 proller joined #perl6
11:47 colomon joined #perl6
11:48 snarkyboojum joined #perl6
11:49 lichtkind moritz_: yes its been a while but due rakudo delay i also delayed the article
11:50 masak hey, people! only two projects on http://proto.perl6.org/ have icons. why aren't more people using this excellent opportunity to put a face on their project?
11:50 masak lichtkind: what delay? the goal was Q2 from the start.
11:50 masak lichtkind: April was just an internal, optimistic estimate.
11:51 lichtkind masak: i took that for real
11:51 jnthn masak: Can't draw. ;-)
11:52 moritz_ masak: like jnthn++, plus lack of ideas
11:52 moritz_ also I haven't read any documentation about what to do to make it display on that web page
11:52 * jnthn isn't sure what he'd do for Zavolaj
11:52 masak I can't draw either, but that hasn't stopped me.
11:53 jnthn Maybe a classy stickman calling out something
11:53 moritz_ there are different levels of not being able to draw :-)
11:53 masak moritz_: just put a 32x32 png at logotype/logo_32x32.pmg :) where should I put that info so that people will notice it?
11:53 arnsholt jnthn: A dialog bubble perhaps?
11:54 arnsholt Might be more distinctive at 32x32
11:54 masak 32x32 doesn't allow for very much detail.
11:54 jnthn arnsholt: Yeah, that could be even simpler.
11:54 jnthn The name literally means "Call!"
11:54 moritz_ masak: http://www.goerlitz-webdesign.de/upl​oads/pics/additive-farbmischung.gif for SVG?
11:54 moritz_ or something similar
11:54 jnthn (though it nearly ended up as "Call me! ;-)"
11:54 jnthn )
11:54 moritz_ masak: in proto, and on the website
11:54 ejs joined #perl6
11:55 masak moritz_: that's not half-bad as an icon...
11:55 masak moritz_: I can put it in proto. for the website, I would like to see a link to a site with "here's what you do to win all the medals" stuff.
11:56 moritz_ proto.perl6.org/about ?
11:57 moritz_ or /candy, /badges, /cuteness
11:57 masak or /howtowin
11:58 masak hm, /how-to-win, maybe
12:00 moritz_ 'win' sounds more like there's a goal, and once you reach that, you're done
12:00 moritz_ I'm afraid that that's not how Perl 6 works :-)
12:01 jnthn /how-to-fail-less ;-)
12:02 masak /how-to-score
12:02 jnthn lol
12:03 * masak hastens to point out that he's not a native and might not understand all the subtleties of the English tongue
12:03 jnthn masak: It's...a completely innocent phrase!
12:03 masak oh phew. :)
12:03 jnthn ;-)
12:03 moritz_ how disappointing :-)
12:04 masak /some-notes-on-scoring
12:04 masak I'll stop now. :)
12:04 masak name it whatever you like. I can supply the contents.
12:04 * jnthn chuckles and wonders what the page will actually end up as
12:05 ejs joined #perl6
12:05 snarkyboojum /fame-and-profit
12:06 * moritz_ likes that one :-)
12:06 * masak likes
12:06 snarkyboojum heh
12:06 hejki wot
12:06 hejki i like the shorthand of that .. fap
12:06 jnthn ohnoes.
12:06 masak dang. not again!
12:07 JimmyZ joined #perl6
12:07 hejki also this subject brings eric clapton into my mind..
12:07 * hejki wonders is the dude is actually a slowhand
12:07 hejki if*
12:07 moritz_ can you play guitar with a slow hand?
12:08 takadonet morning all
12:08 hejki moritz_: ofc you can
12:08 masak takadonet: \o
12:08 hejki moritz_: that's called playing 'dynamically' or 'with feeling'
12:08 hejki moritz_: a stupid excuse for less technical guitarists to not learn playing their instruments properly :>
12:09 hejki (at this point it should be obv. i'm into shredding and sweeping :)
12:10 moritz_ :-)
12:10 bluescreen joined #perl6
12:10 moritz_ masak: I've enabled Option MultiViews  for proto.perl6.org. So if you add a file fame-and-profit.html you'll be able to use the URL without the .html suffix
12:10 masak \o/
12:13 mathw Surely 'dynamic' guitar playing would involve a variation in speed of hand movements, as well as other things.
12:14 moritz_ (mostly off-topic) two or three years ago I experimented with multiviews to offer SVG files for svg capable browsers
12:14 snarkyboojum or not knowing the speed and variation at composition time :)
12:14 hejki mathw: sure, but slowhands call bending and hammeronpulloffs 'dynamic' :)
12:14 moritz_ ie instead of /image/foo.png I'd use the URL /image/foo, and let the browser decide if they prefer svg or png
12:15 hejki snarkyboojum: no.. that's improvisation.. i think it could be analogued into 'prototype' programming ;>
12:15 mathw hejki: pah. Bending notes is melodic or decorative, not a dynamic change.
12:15 moritz_ turned out most browsers would display no image at all from an <img src=...
12:15 moritz_ but most worked when pointed to the URL directly
12:15 masak something like this? http://gist.github.com/422289
12:15 hejki mathw: ofc.. but slowhands think otherwise ;>
12:15 moritz_ browsers--
12:16 mathw hejki: In that case, I will stop thinking about them.
12:16 hejki :)
12:16 hejki nice
12:16 moritz_ masak: something like that
12:16 masak moritz_: that's been my experience too with SVG.
12:16 moritz_ SVG has some super awesome concepts
12:17 moritz_ like inlining in xhtml, and then inlining xhtml in SVG again
12:17 ruoso joined #perl6
12:17 moritz_ you could make *beautiful*, standard conform and accessible web pages with that
12:17 mathw yes
12:17 masak when we get Emmentaler up-and-running, we'll even be able to test for 'super awesome'! \o/
12:17 moritz_ but... browser support is neglectable
12:18 moritz_ and even those that do support it have huge gaps in their rendering engines
12:19 moritz_ reminds me a bit on Perl 6 compiler support :/
12:19 * jnthn looks forward to Emmentaler being real, rather than just all this Emmen-talar ;-)
12:19 jnthn (sorry, multi-language pun...)
12:20 IllvilJa joined #perl6
12:20 ruoso phenny, tell pmurias we're failing to meet in IRC a lot... please send me an email so we can communicate better...
12:20 phenny ruoso: I'll pass that on when pmurias is around.
12:20 moritz_ talar = talking or so?
12:20 jnthn moritz_: Yeah
12:20 * moritz_ feels like Hero of Foreign Language Pun Guessing
12:22 moritz_ speaking of guitars... I'm listening to some music by Mark Knopfler at the moment
12:23 moritz_ fascinating how many different sounds such a guitar can produce :-)
12:23 snarkyboojum moritz_: agreed - Knopfler is a legend
12:23 * IllvilJa runs 'make spectest' for latest rakudo from github, just for the excitement
12:24 moritz_ and I'll be at an open air concert of his next month \o/
12:24 masak jnthn: nice pun. :P
12:24 * jnthn also likes Dominic Frasca, who manages to sound like a group of people playing rather than just one guy
12:25 moritz_ btw I've also got some really nice music recommendations from the perlmonks chatterbox :-)
12:25 masak jnthn: "Emmen" translates as "the M's". that would be me, moritz_ and mathw right now.
12:26 moritz_ well, jnthn++ is right, we're doing too much talking
12:26 moritz_ :-)
12:26 masak :)
12:26 moritz_ I've been wanting to implement that Runge Kutta algorithm in Perl 6 for ages now
12:27 masak what's stopping you?
12:27 mathw do it!
12:27 mathw whatever it is
12:27 mathw do it
12:27 moritz_ the talking is stopping me :(
12:27 mathw /kick moritz_
12:28 moritz_ good thing you're not an op :-)
12:28 mathw I am somtimes :)
12:28 mathw nah the talking's good
12:28 snarkyboojum let's talk about Runge Kutta then :P
12:28 mathw it's providing me with something to look at that isn't a brain-meltingly strange deadlock
12:29 * IllvilJa looks up Runge Kutta on Wikipedia
12:29 jnthn masak: Heh, bonus. :-)
12:29 * jnthn should really write some more Perl 6 modules
12:29 masak jnthn: would probably write it as "M-en" or something, but it was clear what you (accidentally) meant :)
12:30 IllvilJa Ah, numerical analysis methods.  Nice stuff. ++ for that moritz_
12:30 cognominal jnthn, or more to the point some american dude, because english men only play crickets, about "how to score", I heard in some movie, "he only reached second base".  What are the said bases?
12:31 jnthn Yeah, crickets are way underrated by the Americans for their potential as instruments.
12:31 jnthn ;-)
12:31 cognominal I must go for a few hours, so I will read the backlog.
12:31 jnthn cognominal: I've...never quite figured it out but xkcd has a helpful guide, iirc.
12:32 jnthn cognominal: http://xkcd.com/540/
12:32 cognominal I must say this is not really about baseball
12:32 cognominal jnthn++
12:32 moritz_ ALL YOUR BASE ARE BELONG TO US or so?
12:32 cognominal xkcd++
12:32 cognominal moritz_++
12:33 BrowserUk joined #perl6
12:34 cognominal anyway I will never understand these american games, in the states, I never reached second base. :)
12:35 cognominal cultural misunderstandings, probably.
12:35 cognominal afk&
12:38 jnthn .oO( :2<...> # you can haz second base in Perl 6... )
12:39 masak warning! pun density is reaching critical levels.
12:39 jnthn lunch &
12:40 perlNewbie joined #perl6
12:41 masak perlNewbie: \o
12:47 * masak helped perlNewbie over privmsg :)
12:48 ejs joined #perl6
12:51 mathw masak++
12:51 masak he really wanted #dancer on irc.perl.org
12:51 moritz_ not quite Perl 6 :-)
12:52 masak I wonder which project is older, Dancer or Astaire?
12:52 masak same question with Plack and Web.pm.
12:53 masak regardless, I don't doubt for a second that the Perl 5 versions are further along in development :)
12:59 SmokeMachine joined #perl6
12:59 rgrau joined #perl6
13:01 masak aww, #dancer didn't get a chance to help perlNewbie. :( he left after only two minutes.
13:03 masak moritz_: I patched proto, so now the page should show up in the next update.
13:04 rv2733 joined #perl6
13:05 moritz_ \o/
13:06 moritz_ the Runge-Kutta code in Perl 6 is somewahat both scary and beautiful at the same time
13:09 moritz_ http://nopaste.snit.ch/20830
13:09 moritz_ warning, only sparsely tested
13:12 moritz_ it's nice that these vector additions work without loops
13:20 wallberg joined #perl6
13:20 BrowserUk_ joined #perl6
13:21 masonkramer__ joined #perl6
13:22 colomon moritz_: you shouldn't need the parens to get the hyper precedence in there....
13:22 moritz_ right
13:23 moritz_ works without 'em too
13:23 moritz_ I don't understand the output though
13:24 skids joined #perl6
13:24 moritz_ it's supposed to be y(t) = t**2
13:24 moritz_ +1
13:24 moritz_ so dydt(t) = 2 t
13:24 moritz_ and it says y(t = 1) = 10
13:25 moritz_ should be 1**1 + 1 = 2
13:25 moritz_ ... slight mismatch :-)
13:25 moritz_ I'm not properly scaling the step size somewhere
13:34 masak moritz_: link is up at the bottom of http://proto.perl6.org/ -- but it didn't work. do you have time to check what's up on the server end?
13:37 moritz_ masak: trailing slash in URL
13:37 masak oh.
13:37 * masak fixes
13:38 moritz_ Could not get a description for http-daemon from http://gitorious.org/http-daemon/, that's BAD!
13:38 masak I did the minimal possible with the new page, by the way. it's hardly even HTML. if someone wants to give it a proper layout and/or hook it up with the templating engine, feel free.
13:40 wallberg hi all! I'm playing with files and filehandles in rakudo using this guide: http://www.programmersheave​n.com/2/Perl6-FAQ-Files#env and keep having troubles. Is the file IO not at all in place in rakudo, or has the syntax changed. For instance, when trying to do: "my $line = $fh.readline();" is this error expected: "Method 'readline' not found for invocant of class 'IO'" in the console?
13:40 moritz_ wallberg: that's now called $fh.get
13:40 masak wallberg: it's not all in place. the syntax has changed.
13:41 masak someone should update that FAQ...
13:41 wallberg ok. and what about file tests? ~~ :e and such?
13:44 ejs joined #perl6
13:44 jnthn rakudo: say "README" ~~ :e
13:44 p6eval rakudo 18d996: OUTPUT«1␤»
13:45 jnthn rakudo: say "READMEEEEEEEEEEEEEEEEEEEEEEEEe" ~~ :e
13:45 p6eval rakudo 18d996: OUTPUT«0␤»
13:45 jnthn Seems to work.
13:45 masak we decided that such a file name might seem a tad desperate.
13:46 jnthn masak: If you want anyone to actually read it, you have to call it IGNOREME :-)
13:46 masak then evereyone except Alice in Wonderland will read it :P
13:46 wallberg masak: we should really get that Uppsala.pm going and get together to do some documentation. I mean the stuff at programmersheaven is good content, the kind of info you need to get going, but outdated it seems.
13:47 masak wallberg: I'm all for that.
13:47 masak wallberg: oh, it's you! now I remember :P
13:47 wallberg haha
13:47 * jnthn probably has an edit bit for the PH stuff
13:48 jnthn Used to at least.
13:48 wallberg masak: need to fetch the kids. see ya.
13:48 masak o/
13:50 jnthn ooh, yay, I still do
13:51 masak jnthn++
13:51 moritz_ note to self: don't confuse + and * in mathematical operations, or the output will make no sense
13:52 moritz_ especially 1/3 + $small_number  is much larger than 1/3 * $small_number
13:52 kaare joined #perl6
13:53 moritz_ \o/ rk4 now works for the simple cases I've tested it with
13:54 moritz_ (that is, solve dy/dt = 2t  and dy/dt = 3 t**2)
13:58 plobsing joined #perl6
13:58 gbacon joined #perl6
14:08 ejs joined #perl6
14:09 plainhao joined #perl6
14:14 SmokeMachine joined #perl6
14:26 BrowserUk left #perl6
14:26 BrowserUk joined #perl6
14:28 masak having now backlogged, I can only agree that sorear++ rocks so hard.
14:29 masak also, this gf business is indeed very opaque.
14:29 moritz_ gf business?
14:29 jnthn moritz_: Last night's backlog was full of angst. ;-)
14:29 moritz_ ah
14:29 [particle] let's leave that in backscrollland
14:30 masak agree. but I kinda liked the conversation. :)
14:35 masak when do we get heredocs in Rakudo? :)
14:35 masak it should be possible with the new cool parser tech, right?
14:35 jnthn "when somebody implements them" ;-)
14:36 masak no duh. :)
14:36 jnthn Apparently, they're just generally non-trivial even with the cool parser tech.
14:36 Su-Shee ah. and yet again it's we are difficult to understand - not the geek plainly lacking knowledge. ;) ah well..
14:37 [Coke] jnthn: surely if PIR can do them, you can. :P
14:37 moritz_ PIR is inherently line based
14:37 moritz_ Perl 6 not
14:37 moritz_ that makes the 'starts from the next line' thing a bit harder
14:37 moritz_ or was it 'starts after the end of the current statement'?
14:38 jnthn moritz_: I think part of it is that you can, iirc, specify a regex to decide where the heredoc ends too.
14:38 jnthn [Coke]: I wonder who implemented the heredocs in IMCC... ;-)
14:39 moritz_ do we habe .nibble in Rakudo yet?
14:40 moritz_ it's how STD.pm does the heredocs
14:40 masak Su-Shee: I thought that amounted to the same thing. also, I just promised not to bring this topic up again, so I didn't say this.
14:41 jnthn moritz_: I think the Regex grammar we use has some nibbler thingy.
14:42 moritz_ from reading STD.pm, getting the nibbler (whatever that is) right is much harder than actually parsing heredocs, once the nibbler is in place
14:43 masak moritz_: the nibbler (IIRC) is the thing that parses quote-like things.
14:43 masak maybe it does more than that. but it's actually not that long or hard to grok.
14:43 masak I've understood it briefly at least twice. :)
14:45 wallberg joined #perl6
14:45 patspam joined #perl6
14:47 mathw masak: that doesn't sound like you actually grokked it though
14:48 masak maybe not. maybe grokking the nibbler implies grokking STD.pm6, which I don't.
14:49 wallberg left #perl6
14:49 wallberg joined #perl6
14:54 masak rakudo: exit
14:54 p6eval rakudo 18d996: OUTPUT«␤  in main program body at line 1␤»
14:54 mathw depends how it's structured
14:54 * masak submits rakudobug
14:54 mathw but it could be either way round
14:54 mathw I don't even vaguely comprehend STD.pm6
14:55 jnthn masak: oh heh, *that* bug.
14:55 colomon moritz_: do you have the new code for rk somewhere we can get to it?  ;)
15:04 meppl joined #perl6
15:07 justatheory joined #perl6
15:09 jnthn I updated that file reading examples in the PH Perl 6 FAQ. :-)
15:09 jnthn *those
15:09 masak \o/ jnthn++
15:12 moritz_ phenny tell colomon I plan to put the rk code on github in a few hours
15:13 moritz_ phenny: tell colomon that I plan to put the rk code on github in a few hours
15:13 phenny moritz_: I'll pass that on when colomon is around.
15:13 Su-Shee money. food. home. writing test.
15:17 jnthn Time for a break :-)
15:17 moritz_ indeed; decommute into holiday-prolonged weekend &
15:19 masak rakudo: my @a = 1, 2, 3; my %h = @a X=> "value"; say %h.perl
15:19 p6eval rakudo 18d996: OUTPUT«{"3" => "value", "1" => "value", "2" => "value"}␤»
15:20 ejs joined #perl6
15:30 [bjoern] joined #perl6
15:34 [bjoern] .w dispair
15:34 phenny Couldn't get any definitions for dispair.
15:34 * [bjoern] You should get phenny in here...
15:35 [bjoern] Hi, I have a grammar in some non-perl6-rules format, and I want to parse it into a Perl6 grammar object; is there some simple example somewhere how to go about that?
15:36 perlygatekeeper joined #perl6
15:37 masak [bjoern]: so, you're looking for a short primer on Perl 6 rules?
15:38 masak [bjoern]: we have phenny in here...
15:38 [bjoern] Ah, I thought so! She's not voicing her opinion though...
15:39 [bjoern] No, think about how you'd write a parser for a new programming language for use in parrot, you'd use various functions to add your loops and variables and declarations and so on to a tree
15:39 masak sounds like you're really looking for PCT or something.
15:39 [bjoern] Or for that matter, how you'd write a parser for Perl6 rules to begin with, though I doubt that's a good entry level example
15:40 masak http://docs.parrot.org/parrot/​latest/html/PCT_Tutorial.html
15:41 [bjoern] Yeah I am somewhat familiar with that, my question comes down more to, is there some convenient API to manipulate grammar objects?
15:43 isBEKaml joined #perl6
15:44 masak I'm tempted to reply 'no' without knowing more exactly what you're asking for. :)
15:44 masak I also think I recognize the feeling you're having now: that there should be something more convenient than what's already there.
15:44 masak if you find it -- or if you have a good idea for something that would improve things -- let me know.
15:45 isBEKaml hello, #perl6! Is there anything I can sit with today?  :)
15:45 masak isBEKaml: you could raise http://proto.perl6.org/fame-and-profit to the layour standards of the main page.
15:46 isBEKaml masak: fame-and-profit? I haven't seen it, or did I miss the subtle pun? ;)
15:47 pugssvn r31048 | Util++ | [u4x] Fixed minor typo
15:47 isBEKaml ah. lynxed it. :D
15:48 alester joined #perl6
15:49 [bjoern] Well let's say I have a simple grammar format that has symbols, literals and alternations like, "RuleName = 'string' or 'other-string'"; I want the equivalent of, say, `grammar G { regex RuleName { ... } }`. How would I go about getting that into the PAST, if I use the PCT approach here?
15:49 masak it works especially well in lynx right now :)
15:50 isBEKaml masak: I'd still retain that! I'm kinda fond of the console than X. :)
15:50 sylware joined #perl6
15:50 sylware Hi, how to do C lib bindings for perl6
15:50 sylware ?
15:51 masak [bjoern]: there's something called action methods which is used in this case. and the &make sub on Match objects in the syntax tree.
15:51 masak sylware: have you looked at zavolaj?
15:51 masak sylware: it's at the bottom of this list: http://proto.perl6.org/
15:52 * [bjoern] knows action methods, will check out the make method of Match objects... Google willing
15:52 pmurias joined #perl6
15:52 pmurias ruoso: ping
15:52 phenny pmurias: 12:20Z <ruoso> tell pmurias we're failing to meet in IRC a lot... please send me an email so we can communicate better...
15:53 masak [bjoern]: S05:2747
15:53 sylware masak:having a look...
15:58 bjarneh joined #perl6
15:59 isBEKaml_ joined #perl6
16:00 sylware masak: may I abuse asking for the libperl6 C lib?
16:00 masak you may, but I know of no such lib. :/
16:01 pugssvn r31049 | Util++ | [u4x] Added spaces around operators for visual clarity
16:01 ejs joined #perl6
16:02 diakopter phenny: tell sorear awesome progress. please advise as to whether the p6eval bot here should use one of the new stage2/stage3 instead of the stage1......?
16:02 phenny diakopter: I'll pass that on when sorear is around.
16:03 rdesfo joined #perl6
16:04 sylware masak: unable to embed perl6?? impossible
16:05 masak if you say so.
16:05 [bjoern] Wouldn't you be embedding Parrot if you are looking to use Rakudo?
16:05 jnthn Yes.
16:06 Schwern joined #perl6
16:06 sylware ok then libraduko
16:07 jnthn slavik: In the case of Rakudo, you'd embed Parrot and get to Rakudo through that embedding interface, most probably.
16:07 jnthn gah
16:07 jnthn sylware: ^^
16:09 sylware all right
16:09 cdarroch joined #perl6
16:09 cdarroch joined #perl6
16:09 sylware going to have a lot at the C API
16:10 [bjoern] http://docs.parrot.org/parrot/l​atest/html/docs/embed.pod.html would be the documentation
16:10 sylware thx
16:11 ejs joined #perl6
16:13 sylware hum... sexy... hope perl6 dynamic data exchange won't be that hard with raduko/parrot
16:21 bjarneh left #perl6
16:21 Ross joined #perl6
16:23 justatheory joined #perl6
16:23 masak rakudo: my $x = "foo "; $x.=chomp; say $x, "bar"
16:23 p6eval rakudo 18d996: OUTPUT«foo bar␤»
16:23 * masak submits rakudobug
16:24 masak oh wait.
16:24 masak no bug. :)
16:24 masak chomp doesn't trim, trim does.
16:24 sylware left #perl6
16:24 jnthn :-)
16:25 jnthn rakudo: my $x = "foo\n"; $x.=chomp; say $x, "bar"
16:25 p6eval rakudo 18d996: OUTPUT«foobar␤»
16:25 isBEKaml_ rakudo: sub try { say "hello, this can't be!"; } try;
16:25 p6eval rakudo 18d996: OUTPUT«===SORRY!===␤Confused at line 11, near "sub try { "␤»
16:25 jnthn (just checking) :-)
16:25 masak by the way, I see trim-leading and trim-trailing in Rakudo, but not in the spec. whoz op with that?
16:25 moritz_ needs speccing
16:25 jnthn ur op!
16:26 isBEKaml_ rakudo: sub try() { "hello, this can't be!"; } say try;
16:26 masak \:D/
16:26 p6eval rakudo 18d996: OUTPUT«===SORRY!===␤Confused at line 11, near "sub try() "␤»
16:26 jnthn rakudo: sub try() { "hello, this can't be!"; } say try();
16:26 p6eval rakudo 18d996: OUTPUT«===SORRY!===␤Confused at line 11, near "sub try() "␤»
16:26 jnthn That last one is a bug.
16:26 jnthn Oh, maybe they all are.
16:26 isBEKaml_ jnthn: more than that. isn't try a p6keyword?
16:26 masak I think they are.
16:26 jnthn rakudo: sub try { say "hello, this can't be!"; }
16:26 p6eval rakudo 18d996:  ( no output )
16:26 jnthn No, you can define it.
16:26 jnthn You just can't call it.
16:26 masak isBEKaml_: Perl 6 doesn't have keywords in that sense.
16:26 masak I bet you can.
16:27 masak if you prefix it with &
16:27 masak that usually does the trick.
16:27 jnthn masak: I meant, the bug is that you...
16:27 masak oh, right.
16:27 jnthn I'd expect try() to have worked.
16:27 moritz_ rakudo: sub try { say "hello, this can't be!"; }; try()
16:27 p6eval rakudo 18d996: OUTPUT«hello, this can't be!␤»
16:27 isBEKaml_ masak: oh, wait. I was bitten by this when trying to make stuff in pugs to work in rakudo.
16:27 jnthn moritz_: huh, why'd it not work for me?
16:27 jnthn oh!
16:27 jnthn Missed a ;
16:27 masak oh!
16:27 isBEKaml_ D'oh!
16:27 jnthn OK, rakudo++
16:27 moritz_ U R DOIN IT WRONG
16:27 Lorn joined #perl6
16:28 masak still doesn't work for a sub called 'regex', though :)
16:28 jnthn *RONG ;-)
16:28 isBEKaml_ V WER BOTH DUING IT RONG! ;-)
16:29 [bjoern] left #perl6
16:30 * isBEKaml_ goes searching for that program in pugs repo where it failed... =)
16:33 isBEKaml_ ah, yes. examples/games/animals.pl ## perlmonk's animal game! :)
16:34 ejs joined #perl6
16:35 rhr joined #perl6
16:41 isBEKaml_ http://gist.github.com/422641. Seemingly, this fails with sub method name try. Change that to something else and that works!
16:41 * isBEKaml_ is confused.
16:41 masak isBEKaml_: I see no methods, but line 9 looks suspect.
16:42 moritz_ aye, should use parens
16:42 moritz_ try(..)
16:42 masak std: sub try() {}; try 42
16:42 p6eval std 31040: OUTPUT«ok 00:01 115m␤»
16:42 isBEKaml_ erm, by "works", I mean that it passes through the flow.
16:42 masak er.
16:42 moritz_ std: try 35;
16:42 p6eval std 31040: OUTPUT«ok 00:01 111m␤»
16:42 moritz_ it's also a statement prefix in STD
16:44 isBEKaml_ moritz_: yeah. I didn't know it was a statement prefix. My first (knee-jerk) thinking was, is "try" a keyword ?
16:45 isBEKaml_ masak++ pointed out otherwise that p6keywords are not defined as defined keywords. Still, can we reuse them elsewhere in the program?
16:45 masak yes.
16:45 moritz_ yes. Just put parens after the function name
16:46 masak indentifier(...) is *always* a sub call in Perl 6.
16:46 moritz_ there are a whole lot of languages where every function call needs parens :-)
16:46 moritz_ masak: ... unless in quotes, regexes, ... :-)
16:46 moritz_ sub declarations
16:46 masak er. :)
16:46 moritz_ s/sub/routine/
16:47 moritz_ every "always" sentence should end with "unless when not"
16:48 isBEKaml_ maybe, we should try to be more oriented towards spec language! ;)
16:48 isBEKaml_ this is always that, unless otherwise here goes someother condition.
16:48 isBEKaml_ :P
16:49 isBEKaml_ s/otherwise//
16:51 pugssvn r31050 | lwall++ | [S03] refine hyper dwimminess to be more like APL, with modular semantics
16:51 TimToady snarkyboojum++ for prodding that spec change
16:53 moritz_ and TimToady++ for doing it
17:01 [Coke] APL++
17:03 rv2733 joined #perl6
17:04 macdaddy joined #perl6
17:04 moritz_ now we need somebody to test it :(
17:04 moritz_ and implement it
17:04 [Coke] moritz_: hey, I heard there's this guy who tests everything!
17:04 moritz_ [Coke]: like, KyleHa?
17:05 moritz_ [Coke]: or did you mean colomon++?
17:05 [Coke] =-)
17:06 TimToady we have many victi^Wheroes here
17:14 azert0x joined #perl6
17:15 azert0x joined #perl6
17:29 * isBEKaml_ thinks that the camelia logo can look like a bookmark label on a webpage.
17:29 isBEKaml_ but I'm bad with imaging and visualisation. :(
17:30 masak nom &
17:30 pugssvn r31051 | lwall++ | [S02] refine Blobs to simply be immutable Bufs, with similar generic characteristics
17:38 colomon joined #perl6
17:41 colomon bah, TimToady is busy making big changes to hyper, and I'm stuck on an iris farm in the middle of nowhere with no power to my laptop.
17:41 phenny colomon: 15:13Z <moritz_> tell colomon that I plan to put the rk code on github in a few hours
17:41 moritz_ actually I'm just preparing the README
17:41 colomon moritz_++
17:43 colomon I actually started on mixed
17:43 colomon array / hash hypers just before I ran out of juice.
17:44 chitragupt joined #perl6
17:47 * colomon could use ssh to log into his home machine and start editing spectests with his phone, but that sounds like work.
17:48 * isBEKaml_ could use some help in identifying nice visual fonts.. :|
17:52 pmichaud good afternoon, #perl6
17:53 takadonet pmichaud: hey
17:53 moritz_ oh hai pmichaud
17:53 * moritz_ just pushed Math::RungeKutta to github
17:54 pugssvn r31052 | lwall++ | [S02] add native blob types
17:55 Wolfman2000 joined #perl6
17:55 * pmichaud reads backlogs
17:56 TimToady std: 42
17:56 p6eval std 31040: OUTPUT«ok 00:01 111m␤»
17:56 TimToady I think sorear++ broke the std build :)
17:57 moritz_ hugme: reload
17:57 hugme moritz_: reloaded successfully
17:58 moritz_ hugme: add colomon to Math-RungeKutta
17:58 * hugme hugs colomon. Welcome to Math-RungeKutta!
17:58 moritz_ colomon: just in case... :-)
17:58 Wolfman2000 ...I always forget what each of these bots do.
17:58 Wolfman2000 I have to wonder...what is the Math-RungeKutta project?
17:58 moritz_ Wolfman2000: Runge Kutta integration of systems of ODEs in Perl 6
17:59 moritz_ s/<?before integration>/numerical /
17:59 Wolfman2000 ...I forgot what the O is, but...that sounds like Difference Equations
17:59 Wolfman2000 Differential*
17:59 moritz_ O = ordinary
17:59 moritz_ ie not partial
18:00 Wolfman2000 just dealing with one term, not two terms in parts. I recall now.
18:00 Wolfman2000 What other math projects are there?
18:00 moritz_ lue++ investigated implementing quaternions
18:01 Wolfman2000 Don't recall learning of those unfortunately
18:01 moritz_ neither did I
18:01 moritz_ http://www.perlmonks.org/?node_id=645771 # another idea for a math module I want to implement at some point
18:01 moritz_ that project idea is the reason for attacking RungeKutta in the first place
18:02 spinclad joined #perl6
18:02 pugssvn r31053 | lwall++ | [S03] copy-o spotted by Smylers++
18:04 sorear joined #perl6
18:04 Wolfman2000 ...given an object and mass...the rest can be calculated. At least, if I'm seeing that linked perlmonks module correctly.
18:06 pmichaud .oO( nqp is "hopelessly byzantine" compared to PIR?  )
18:06 moritz_ Wolfman2000: right
18:07 moritz_ Wolfman2000: the goal of that module is to turn a human comprehensible data structure of some form into a system of differential equations
18:07 [Coke] pmichaud: it's certainly more perl6-y than PIR.
18:07 moritz_ and integrate that with M::RK
18:07 Ross joined #perl6
18:07 pmichaud [Coke]: yeah, I just find that comment to be almost completely at odds with what I've heard from other hackers, including/especially non-Perl6 ones.
18:07 Ross joined #perl6
18:07 pmichaud oh well.
18:08 Wolfman2000 ...I can recall how to solve the basic differential equations using numbers. I don't recall how to use the terms like gravity and acceleration with it unfortunately.
18:08 pmichaud I think it just illustrates how much allison++ and I differ in our vision of a vm.
18:09 isBEKaml_ phenny: tell masak, I pushed a rough cut of the fame page. Added a few mods, would like help on how to improve the feel of the text (looks bland to me, needs more calligraphy)
18:09 phenny isBEKaml_: I'll pass that on when masak is around.
18:18 SmokeMachine joined #perl6
18:20 pugssvn r31054 | lwall++ | [S03] suggestions from dataweaver++
18:20 pugssvn r31054 | more refinements to the description of the dwim semantics
18:28 sorear STD-on-gimme5: 94.36%
18:28 phenny sorear: 16:02Z <diakopter> tell sorear awesome progress. please advise as to whether the p6eval bot here should use one of the new stage2/stage3 instead of the stage1......?
18:28 sorear STD-on-viv: 93.99%
18:28 moritz_ so maybe 3 files difference?
18:28 moritz_ less, probably
18:28 moritz_ 1 or 2
18:29 TimToady sorear: it looks like you've borken the std build :)
18:29 TimToady I can't make from clean
18:29 TimToady maybe there's something not checked in?
18:30 TimToady but I'd say that 1 or 2 files is close to Good Enough
18:30 ShaneC joined #perl6
18:32 patrickas joined #perl6
18:32 patrickas saba7o perlsixers
18:32 moritz_ \o/ it's patrickas
18:33 patrickas hello moritz ...
18:33 patrickas I have been working on the
18:33 patrickas rakudo: say "Perl 6 Advent".comb(/<alpha>/).join('|');
18:33 p6eval rakudo 18d996: OUTPUT«Cannot take substr outside string␤  in <anon> at line 11:/tmp/1hvcU55UBG␤  in 'Cool::match' at line 2103:CORE.setting␤  in 'Any::join' at line 1898:CORE.setting␤  in main program body at line 11:/tmp/1hvcU55UBG␤»
18:33 patrickas and I tracjed it down to
18:34 patrickas rakudo: say "Perl Advent".match(/<alpha>/ , :c(12)) ;
18:34 p6eval rakudo 18d996: OUTPUT«Cannot take substr outside string␤  in <anon> at line 11:/tmp/bhydixN6Ep␤  in 'Cool::match' at line 2103:CORE.setting␤  in main program body at line 11:/tmp/bhydixN6Ep␤»
18:34 moritz_ rakudo: ''.comb/<alpha>/
18:34 p6eval rakudo 18d996: OUTPUT«===SORRY!===␤Confused at line 11, near "''.comb/<a"␤»
18:34 moritz_ rakudo: ''.comb: /<alpha>/
18:34 p6eval rakudo 18d996:  ( no output )
18:34 patrickas rakudo: say "Perl Advent".match(/\w/ , :c(12)) ;
18:34 p6eval rakudo 18d996: OUTPUT«␤»
18:34 moritz_ rakudo: 'a'.comb: /<alpha>/, :c(1)
18:34 p6eval rakudo 18d996:  ( no output )
18:34 moritz_ rakudo: 'a'.comb: /<alpha>/, :p(1)
18:34 p6eval rakudo 18d996:  ( no output )
18:35 PerlJam greetings
18:35 moritz_ rakudo: say "Perl Advent".chars
18:35 p6eval rakudo 18d996: OUTPUT«11␤»
18:35 patrickas in .comb, when the :c reaches the end of the string, .match should just not find anything, with <alpha> is explodes instead :-)
18:35 PerlJam do the :c and :p adverbs start counting from 0 or 1?  :-)
18:35 moritz_ yes
18:35 TimToady sorear: the error I get is
18:35 TimToady Can't call method "tweak" on an undefined value at boot/STD.pm line 8687.
18:35 TimToady std FAILED 00:00 37m CORE.setting
18:35 patrickas so locally I fixed it in .match by just notmatching if :c is >= self.chars
18:36 moritz_ patrickas: it's an nqp-rx error. Better fix it there than work around it in Rakudo
18:36 moritz_ that way others will profit from it too
18:36 patrickas but I know you don't like special cases :-)
18:36 patrickas yes that's why I didn't send a patch ... just thought I'd tell you where it lead me.
18:36 pmichaud patrickas: what does the explosion look like?
18:37 moritz_ rakudo: 'a'.comb: /<alpha>/, :p(2)
18:37 p6eval rakudo 18d996:  ( no output )
18:37 moritz_ rakudo: 'a'.comb: /<alpha>/, :p(3)
18:37 p6eval rakudo 18d996:  ( no output )
18:37 pmichaud ("Can't take substr beyond end of string, perhaps")
18:37 moritz_ yes
18:37 pmichaud that particular Parrot exception is often annoying.
18:37 patrickas rakudo: 'a'.comb: /<alpha>/, :c(1);
18:37 moritz_ rakudo: say "Perl 6 Advent".comb(/<alpha>/).join('|'); # example by patrickas++
18:37 p6eval rakudo 18d996:  ( no output )
18:37 p6eval rakudo 18d996: OUTPUT«Cannot take substr outside string␤  in <anon> at line 11:/tmp/dl7KMbvNRs␤  in 'Cool::match' at line 2103:CORE.setting␤  in 'Any::join' at line 1898:CORE.setting␤  in main program body at line 11:/tmp/dl7KMbvNRs␤»
18:37 pmichaud okay, I may be able to quickly fix. One moment.
18:38 TimToady I don't see much use for a :p modifier on a comb
18:39 moritz_ right
18:39 moritz_ rakudo: 'a'.match: /<alpha>/, :p(2)
18:39 p6eval rakudo 18d996: OUTPUT«Cannot take substr outside string␤  in <anon> at line 11:/tmp/gcY5KxE64Z␤  in 'Cool::match' at line 2103:CORE.setting␤  in main program body at line 11:/tmp/gcY5KxE64Z␤»
18:39 patrickas the bug in .comb is due to a bug in .match
18:39 pmichaud actually, it's a bug in <alpha>
18:40 ashleydev joined #perl6
18:40 [Coke] hey, pmichaud, can you check out http://nopaste.snit.ch/20849 ? I suspect you've already worked around this for nqp or rakudo. =-)
18:40 pmichaud rakudo: '3'.match: /<digit>/, :p(2)
18:40 p6eval rakudo 18d996:  ( no output )
18:40 pmichaud it's a bug in <alpha>
18:41 pmichaud [Coke]: looking
18:42 patrickas yes i noticed \w and \d worked, but <alpha> did not ... but I didn't know how to go deeper since it went to parrot territory :-(
18:42 patrickas or at least so it seemed
18:43 patrickas to my untrained mind :-)
18:43 pmichaud no, it's in nqp-rx
18:43 pmichaud src/Regex/Cursor-builtins line 126
18:44 sorear moritz_: snaptest took 90 minutes for me; it's marginally faster than rakudo spectest
18:44 pmichaud have to check that pos <= eos before checking for the underscore
18:45 moritz_ where eos = length tgt ?
18:45 pmichaud moritz_: yes.
18:45 sorear diakopter: p6eval operation should be unchanged.  cd src/perl6; make; ./tryfile
18:46 moritz_ make snap akshually
18:46 pmichaud also better might be to use     $I1 = ord tgt, pos    and check for $I1 != 95
18:46 pmichaud (avoids creating the extra substr)
18:47 pmichaud (but still have to check for eos first)
18:47 pmichaud this is another place where having a substr comparison op could be beneficial
18:48 TimToady can anyone else make STD?
18:48 pmichaud TimToady: I can give it a shot.
18:48 moritz_ TimToady: trying now
18:48 moritz_ nope
18:48 moritz_ Can't call method "tweak" on an undefined value at boot/STD.pm line 8687.
18:48 pmichaud (gotta svn up first)
18:48 TimToady sorear: you must have an unchecked-in file
18:49 TimToady or something that got made that doesn't remake after 'make clean'
18:49 sorear TimToady: Broke the build?  How so?
18:49 TimToady I said about 10 minutes ago
18:49 pmichaud oops, looks like I need to install Moose, too :)
18:49 moritz_ pmichaud: any reaon not to put the pos > eos check before the is_cclass test?
18:49 TimToady 14 minutes ago, actually
18:49 pmichaud moritz_: is_cclass doesn't throw the exception
18:49 pmichaud only substr and chr do.
18:50 moritz_ pmichaud: yes, but if we need to check it, we can just as well do it early
18:50 pmichaud we only need to check it if is_cclass fails, though
18:50 pmichaud otherwise we're adding an extra check to all instances of <alpha>
18:50 TimToady sorear: and it appears that moritz_++ gets the same error
18:50 TimToady std: 40
18:50 p6eval std 31040: OUTPUT«ok 00:01 111m␤»
18:50 pmichaud where we really only need the check if it's an underscore
18:51 TimToady and stdbot is stuck at 31040
18:51 pmichaud moritz_: put another way,  the 'length' opcode is expensive.
18:51 moritz_ pmichaud: ah, I didn't know that
18:51 pmichaud so it's best avoided when we don't need it.
18:51 moritz_ ok, then it makes sense to ... right
18:52 moritz_ ok, I have a patch which I'll test in rakudo in a minute
18:52 pmichaud excellent, moritz_++
18:52 moritz_ pmichaud: which test file should I put a test in?
18:52 patrickas moritz_++
18:52 moritz_ (nqp-rx level, that is)
18:52 moritz_ we don't seem to have many regex tests run by default
18:52 Ross joined #perl6
18:52 pmichaud they're not run by default at the moment, no
18:53 pmichaud and afaik there's not really a way to test it via the p6regex/ tests
18:53 moritz_ right
18:54 moritz_ t/nqp/50-regex.t # newly created  ?
18:54 pmichaud a very useful outcome might be to rewrite t/nqp/01-regex.t into NQP :-)
18:54 pmichaud sorry, t/p6regex/01-regex.t
18:54 pmichaud moritz_: I'm fine with 50-regex.t for now.
18:55 rgrau hi perl6-ers, do you know where can I find the latest version of perl6.vim syntax highlight file?
18:55 moritz_ rgrau: http://github.com/petdance/vim-perl
18:56 Ross joined #perl6
18:56 rgrau thanks moritz_ !
18:56 alester rgrau: You can run "Make install" on it and you'll install all the Perl-related vim files into your ~/.vim
18:56 rgrau great :)
18:56 alester They should all be in the next vim.  I sent them to Bram a little while agao.
18:56 pmichaud that's probably worth a mention in the rakudo README
18:57 moritz_ alester++
18:57 alester Well, I wouldn't put the install instructions in there.
18:57 alester because at some point it'll be nicer.
18:57 pmichaud no, but the "where to find it" belongs.
18:57 moritz_ alester: just the repo location
18:57 alester but certainly a pointer to the repo
18:57 pmichaud might belong on perl6.org, also
18:57 moritz_ pmichaud: it's already on there
18:57 moritz_ http://perl6.org/whatever/
18:57 alester Might also be worth mentioning on Perlbuzz.
18:57 * jnthn back from noms
18:58 cognominal pmichaud, sent you a mail about a proposed patch because it takes forever to appear on p6c.
18:58 rgrau vim 7.3 is going to be released soon, so maybe we'll have perl6.vim bundled into vim in few months
18:58 pmichaud cognominal: okay, will review when I've got my head above water again (sometime later tonight or early tomorrow)
18:59 cognominal no hurry.
18:59 cognominal jnthn++   # better binary puns than binary munitions.
19:00 PerlJam wouldn't those be punitions?
19:01 sorear TimToady: I can make from 0 line svn st --no-ignore; What is the failure for you?
19:01 jnthn PerlJam: That's such a longer word...I prefer puny words.
19:03 pmichaud .oO( takes a while to install Moose )
19:04 cognominal jnthn,  this one is for you :   http://paste.lisp.org/display/110983
19:05 cognominal wordy puns?
19:06 TimToady sorear: STD5PREFIX=boot/ PERL5LIB=boot perl std
19:06 TimToady Can't call method "tweak" on an undefined value at boot/STD.pm line 8687.
19:06 TimToady std FAILED 00:00 37m CORE.setting
19:07 PenThrive joined #perl6
19:07 TimToady maybe make clean doesn't clean something it needs to?
19:08 sorear TimToady: that is a strange error...
19:08 moritz_ I get the same error
19:09 TimToady trying fresh co of perl6
19:09 sorear TimToady: yes, I'm still backlogging.
19:09 sorear done now
19:09 TimToady same error
19:09 jnthn cognominal: Thanks, I'll apply it this evening
19:09 jnthn cognominal: Going to be writing another PMC tonight anyways.
19:10 PerlJam make realclean  # perhaps?
19:10 sorear PerlJam: it works for me in a clean co; not for TimToady and moritz_
19:10 TimToady PerlJam: if a fresh co doesn't fix it, it's broke
19:10 sorear all I can think of is that, somehow, it depends on 5.12
19:10 TimToady so maybe an architecture issue
19:11 TimToady hmm, could be; I'm runing 5.10
19:11 PerlJam oh.  Sorry for the noise.  I'm barely paying attention.
19:11 * moritz_ too
19:11 cognominal jnthn,  a PMC for what?  just curious
19:12 TimToady sorear: which OS?
19:12 TimToady I'm ubuntu latest
19:12 TimToady sorear: do you have a 5.10 to try it with?
19:13 moritz_ http://www.perlmonks.org/?node_id=842792 # perl 6 grammar question
19:13 * sorear is on i386 debian sid with a custom installed perl
19:14 sorear TimToady, moritz_: perl -MMoose -E 'say $Moose::VERSION' ?
19:14 moritz_ 0.94
19:14 TimToady Moose does not export its sugar to the 'main' package.
19:14 TimToady 0.9
19:14 rindolf joined #perl6
19:14 jnthn cognominal: Giving a byte view of a string.
19:16 moritz_ pmichaud: http://nopaste.snit.ch/20851 unfortunately it doesn't fix the error (not even after re-gen bootstrap files) - the last of the new tests still fails
19:23 macdaddy joined #perl6
19:37 pmichaud moritz_: okay, checking.
19:38 TimToady installed 5.12.1, now fetching Moose et al
19:39 pmichaud (confirm)  Yes, I also get the "Can't call method 'tweak'"  error when trying to build STD on my system.   (Kubuntu 10.04)
19:39 Schwern joined #perl6
19:41 masak joined #perl6
19:42 TimToady sorear: yes, it seems to do much better under 5.12.1
19:42 TimToady though there are gobs of warnings
19:42 masak time to have a look at Web.pm, I believe.
19:42 phenny masak: 18:09Z <isBEKaml_> tell masak I pushed a rough cut of the fame page. Added a few mods, would like help on how to improve the feel of the text (looks bland to me, needs more calligraphy)
19:43 * masak looks
19:43 TimToady so I guess someone needs to upgrade p6eval machine to 5.12?
19:44 moritz_ OH NOEZ
19:45 moritz_ the cron job that updates proto.perl6.org throws an error
19:45 moritz_ YAML Error: Invalid element in map Code: YAML_LOAD_ERR_BAD_MAP_ELEMENT
19:45 masak ah, that's why the page didn't update.
19:45 moritz_ did I break it by changing projects.list?
19:46 * masak looks
19:46 masak yes.
19:46 masak fixing.
19:46 Guest23820 joined #perl6
19:47 masak that should do it.
19:47 pmichaud fwiw, requiring 5.12 might keep a number of devels (incl me) from playing with STD
19:47 moritz_ oh
19:47 moritz_ that was embarrasing
19:47 pmichaud or I'd likely want to find another machine to do that with
19:47 masak isBEKaml_: it's a good start. :) I think we actually want a table this time. maybe we even wanted it last time.
19:48 cli_ joined #perl6
19:48 * masak tinkers
19:48 TimToady I guess the question is what new feature of 5.12 did sorear++ use?  :)
19:49 TimToady or possibly it's the Moose 1.06
19:50 TimToady moritz_: perhaps you could just try upgrading your Moose and see if that fixes it?
19:50 azert0x_ joined #perl6
19:50 pmichaud I just downloaded the latest Moose (or whatever "cpan Moose" gave me)
19:50 sorear If I had to guess, it has to do with the new handling of 'tweak'
19:50 pmichaud so I suspect that's not it.
19:51 moritz_ good, then I don't have to compile a new perl (Moose is installed as a debian package, and a whole lot of stuff depends on it)
19:52 pmichaud looks like I got Moose 1.06
19:53 * sorear has Moose 1.01
19:55 pmichaud moritz_: looks like also a bigger bug in regex engine.  fixing.
19:57 pmichaud actually, looks like the bug isn't in <alpha> at all.  Or, at least, it's not tickled by these tests.
19:58 moritz_ not tickled, but triggered :-)
19:58 pmichaud I mean the <alpha> bug isn't tickled by these tests.
19:58 pmichaud there's a bug, but it's not in alpha.
19:58 pmichaud sorry
19:58 pmichaud there's a bug in alpha, but these tests don't expose it.  There's another bug that these tests expose.
19:59 pmichaud (i.e., I get the same results on patched and unpatched nqp)
19:59 sorear pmichaud: does STD work for you?
20:00 pmichaud sorear:  no, I get the same problem moritz and TimToady have
20:00 TimToady phone
20:00 pmichaud Can't call method "tweak" on an undefined value at boot/STD.pm line 8687.
20:02 TimToady so probably 5.12, not Moose
20:02 Psyche^ joined #perl6
20:03 pugssvn r31055 | sorear++ | [viv] Fail if a parameterized role instantiation doesn't compile
20:03 pugssvn r31055 | [STD-ecosystem] Add 'reboot' target; update bootstrap
20:03 pmichaud that's my guess.
20:05 pmurias joined #perl6
20:06 BrowserUk joined #perl6
20:06 moritz_ pmichaud: btw with my nqp-rx the Rakudobug with $str.comb(/<alpha>/) is gone
20:08 moritz_ with the patch, I meant to say
20:08 sorear pmichaud, TimToady, moritz_: I have a hunch that that change will make the error obvious
20:09 Jedai joined #perl6
20:09 pmichaud moritz_: okay, looks like there are two bugs here.
20:09 moritz_ right
20:14 pmichaud okay, my patch (not to alpha) solves all of t/nqp/50-regex.t, so I don't know where the <alpha> bug gets exposed.
20:14 moritz_ pmichaud: just commit it, and if it doesn't solve the rakudobug, we can commit my patch too
20:14 pmichaud testing now.
20:15 * sorear attempts to build 5.10.1
20:15 justatheory joined #perl6
20:16 pmichaud moritz_: pushed fix.
20:16 pmichaud oops, forgot to add test though.
20:16 pmichaud added, pushed.
20:17 pmichaud sorear: even with r31055 I get the same error.
20:18 pmichaud (if that helps)
20:18 dalek nqp-rx: 8483d1f | pmichaud++ | src/PAST/Compiler-Regex.pir:
20:18 dalek nqp-rx: Avoid "Can't substr beyond end of string" errors -- if we're already
20:18 dalek nqp-rx: beyond the end of the target, then just fail.
20:18 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/8​483d1f0bfd7035af60aac4ef693755b6a08fcce
20:18 dalek nqp-rx: 55d87b8 | pmichaud++ | t/nqp/50-regex.t:
20:18 dalek nqp-rx: Add test for "match beyond end of target" bug.
20:18 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/5​5d87b891e59c97484f816d386fbbadc0e360402
20:19 Ross joined #perl6
20:20 masak what do people think about http://proto.perl6.org/fame-and-profit ?
20:21 * moritz_ likes it
20:21 sorear pmichaud: :( So much for improved debugging
20:21 masak it's not been updated yet, but I also added the badges and an actual cool logotype to the left column.
20:21 moritz_ sorear: with 5.12.1 I get lots of warnings, but itseems to build
20:22 masak maybe Camelia 32x32 should be under 'super awesome' :)
20:24 pmichaud moritz_: can I leave it to you to update bootstraps and test under Rakudo?
20:24 moritz_ pmichaud: sure
20:25 pmichaud moritz_++  # thanks -- still a little on the busy side here
20:25 masak pmichaud++ # delegates
20:25 moritz_ sorear: ... and finally dies with Can't call method "tweak" during ./tryfile STD.pm6
20:26 TimToady is your Moose still .94?
20:28 moritz_ that's a perl 5.12.1 with latest moose
20:28 TimToady huh, that succeed for me
20:28 TimToady *ed
20:28 * sorear is installing 5.10.1 with Moose 0.94 for debugging...
20:28 moritz_ no clean checkout though; just a 'make clean'
20:29 TimToady though my snaptest only got 93.99%
20:31 pugssvn r31056 | sorear++ | [STD-ecosystem] Make 'make clean' work again
20:31 sorear are there any nice easy to use BackPAN clients?
20:32 moritz_ easier than wget? don't  know of any
20:32 patrickas joined #perl6
20:32 patrickas back
20:32 * sorear dreams of cpanm -S --contemporary='Moose 0.94' Moose
20:33 pmichaud just to verify -- I'm running 5.10.1 with Moose 1.06  :)
20:33 sorear ok, that makes things easier
20:33 justatheory joined #perl6
20:34 eternaleye joined #perl6
20:35 patrickas I see my bug has been fixed \o/ Thanks pmichaud++ and moritz_++
20:35 pmurias ruoso: ping
20:36 sjohnson how often does the irc rakudo: thing get recompiled ?
20:36 moritz_ sjohnson: rakudo every 2 hours
20:36 sjohnson cool
20:37 sjohnson rakudo: my $a = 0; $a += 0.1 for 10^; say $a == 1
20:37 p6eval rakudo 18d996: OUTPUT«===SORRY!===␤Confused at line 11, near "for 10^; s"␤»
20:37 sjohnson rakudo: my $a = 0; $a += 0.1 for ^10; say $a == 1
20:37 TimToady I think the tests badge should have a red stick of dynamite, and the fresh badge should have a green leaf/branch
20:37 p6eval rakudo 18d996: OUTPUT«1␤»
20:37 TimToady the yellow flower just kinda looks like mush to me
20:37 sjohnson wow... looks like the bug i found that masak nicely reported is fixed
20:37 jnthn http://proto.perl6.org/fame-and-profit - looks nice; could we perhaps make the badges line up one underneath the other?
20:38 jnthn But otherwise it's great. :-)
20:38 sjohnson masak++
20:38 TimToady and I had to zoom way in to the tests badge to figure out what it was
20:38 sjohnson and programmers++
20:38 masak jnthn: yeah, they probably deserve their own table column.
20:38 pmichaud yes, the badge icons could use just a little work.
20:38 slavik TimToady: that looks like an orange to me
20:39 patrickas i thought it is a lemmon
20:39 * masak makes it so
20:39 masak TimToady: the tests badge could use some work. or be replaced.
20:39 pmurias yes
20:39 pmurias the rest of the site looks great
20:39 masak I'm not a graphics artist. I just play one on IRC.
20:40 TimToady I've been known to do a bit of graphic work now and then :)
20:40 moritz_ pmichaud: nqp-rx still needs my patch too - with yours still the same error
20:40 pmichaud moritz_: can we find a test that exposes the bug in nqp, then?
20:40 masak TimToady: is Camelia 32x32 available somewhere non-temporary? I'd like to put her in the last row :)
20:40 TimToady pugs/misc
20:41 pmichaud (currently all tests pass in my local copy)
20:41 sorear huh.
20:41 sorear looking at the snaptest logs, it seems viv STD consistently uses 5-10% less memory?
20:41 masak ah, there it is. thanks.
20:42 moritz_ ./perl6 -e '"t".match(/<alpha>/, :c(1))'
20:42 moritz_ Cannot take substr outside string
20:42 moritz_ that's the closest I get in Rakudo
20:43 patrickas moritz_ what about ./perl6 -e '"t".match(/<alpha>/, :c(2))' ?
20:44 moritz_ patrickas: doesn't throw
20:44 moritz_ pmichaud: ok(!Regex::Cursor.parse('a', :rule(/<alpha>/), :c(1)), 'Can parse "a" with <alpha> :c(off-range)');
20:44 patrickas cause I noticed the patch said gt when I would have expected ge
20:44 moritz_ pmichaud: same test as before, but with :c instead of :p
20:44 patrickas not that I would know
20:44 moritz_ pmichaud: exposes it in pure nqp
20:44 pmichaud moritz_: okay, good.
20:45 moritz_ patrickas: testing with ge now...
20:45 moritz_ (good catch, my local patch also had a ge, not a gt)
20:46 pmichaud actually, gt is fine.
20:46 pmichaud Parrot doesn't complain if you try to substr at the very end of the string
20:46 pmichaud just if you go one beyond
20:46 pmichaud but ge is probably a better test :-)
20:47 pmichaud moritz_: I'll let you apply your patch to nqp-rx :)
20:47 moritz_ ge fails many tests
20:47 patrickas oops !
20:47 pmichaud in alpha?
20:47 pmichaud I mean, in <alpha>?
20:48 moritz_ it even fails to build
20:48 pmichaud wait
20:48 pmichaud are you talking about the patch I made?
20:48 pmichaud It *has* to be gt.
20:48 pmichaud ge will definitely fail.
20:48 moritz_ right
20:49 moritz_ that's what I'm talking about
20:49 * patrickas backs away slowly, told ya I wouldn't know.
20:49 pmichaud (it's possible to succeed when we're at the end of the string if we have zero-width matches)
20:49 pmichaud moritz's nopaste is already correctly using  >=  for fixing the <alpha> subrule.
20:49 patrickas but I thought that part was only being applied to <alpha> whcih cannot be zero width !
20:50 moritz_ patrickas: but pmichaud's patch is more general
20:50 pmichaud patrickas: no, that was being applied to the core setup of all regexes
20:50 patrickas oh ok sorry I missed that... the discussion was around <alpha> before I had left the channel.
20:51 pugssvn r31057 | moritz++ | [t/spec] be more liberal with case of detected error message
20:52 colomon joined #perl6
20:53 patspam1 joined #perl6
21:01 sorear ok, 5.10.1 installed
21:03 ash__ joined #perl6
21:04 dalek nqp-rx: 69506cb | moritz++ | src/stage0/ (4 files):
21:04 dalek nqp-rx: update stage0 files
21:04 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/6​9506cb3fdc1102aeaeb4babf50cc475c142ad58
21:04 dalek nqp-rx: f65cbf3 | moritz++ |  (2 files):
21:04 dalek nqp-rx: second shot at the substr-out-of-range error in <alpha> rule; with test
21:04 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/f​65cbf37a9f6efcb2b3452aee38f219fd2697f7e
21:04 dalek nqp-rx: b338c2b | moritz++ | src/stage0/ (4 files):
21:04 dalek nqp-rx: update stage0 files, again
21:04 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/b​338c2b0a5cfaac6529efc248c4c44dcea03be6f
21:05 justatheory joined #perl6
21:07 Guest78488 left #perl6
21:09 jnthn moritz_: I know about the { ; } one but...well...I find it hard to say that's "nasty" as such...
21:09 pmichaud rakudobugs with hash blocks...?
21:09 pmichaud (from #parrot)
21:09 moritz_ jnthn: let me find the ticket...
21:09 jnthn pmichaud: There's one I know of that is where we mistakenly consider { ; } to be a hash block
21:10 jnthn pmichaud: 'cus it gets taken as if it were { }
21:10 jnthn Which would be.
21:10 gbacon joined #perl6
21:10 jnthn I struggle to imagine anyone is often writing { ; } though :-)
21:10 Schwern joined #perl6
21:10 pmichaud jnthn: that one seems very fixable.
21:10 jnthn pmichaud: Aye, I think it would be.
21:10 moritz_ by recent spec I think that everything involving $_ automatically makes it a block too
21:10 jnthn Oh
21:10 Schwern joined #perl6
21:10 jnthn That's news to me.
21:10 pmichaud well, someone might write { ; }  if they explicitly wanted an empty block instead of a hash
21:11 pmichaud ...everything involving $_ makes it a block?  huh?
21:11 moritz_ RT #74586 is the one jnthn++ mentioned (with ; )
21:11 * pmichaud is confused.
21:11 sorear stefan@stefans:/usr/local/src/pugs/src/perl6$ STD5PREFIX=boot/ PERL5LIB=boot /opt/perl-5.10.1/bin/perl std
21:11 sorear Can't call method "tweak" on an undefined value at boot/STD.pm line 8690.
21:11 sorear std FAILED 00:04 38m CORE.setting
21:11 sorear \o/
21:11 moritz_ the second bug is actually a duplicated of that...
21:11 moritz_ RT #74050, if anybody wants to merge
21:12 ruoso joined #perl6
21:12 pmichaud In RT #74050, I'd say that any block that has placeholders should not be treated as a hash constructor.
21:13 pmichaud (the semi is still a bug, yes, but without the semi I think we should get a block and not a hash constructor)
21:13 moritz_ r28727
21:13 justatheory joined #perl6
21:14 jnthn rakudo: say { $^a => $^b }.WHAT
21:14 moritz_ "Explain how this means map always works right even if it's map { $_ => 1 }"  # from the commit message
21:14 p6eval rakudo 18d996: OUTPUT«Lexical '$a' not found␤  in main program body at line 1:/tmp/Qy7wYW5zXK␤»
21:14 moritz_ so $_ is also a placeholder in this context, I think
21:14 jnthn Heh
21:15 moritz_ +Anywhere a term is expected, a block is taken to be a closure
21:15 moritz_ +definition (an anonymous subroutine).  If a closure has arguments,
21:15 moritz_ +it is always taken as a normal closure.  (In addition to standard
21:15 moritz_ +formal parameters, placeholder arguments also count, as do the
21:15 moritz_ +underscore variables.  Implicit use of C<$_> with C<.method> also
21:15 jnthn Maybe the answer is "if when we made this block it ended up with some kinda non-empty signature, it shouldn't be a hash"
21:15 moritz_ +counts as an argument.)
21:15 moritz_ that's what this commit said, among other things
21:15 pmichaud okay.
21:15 moritz_ haven't checked if it has been removed since, but I don't think so
21:15 jnthn That's easy compared to the $_ though.
21:15 jnthn The $_ could be a pain.
21:15 pmichaud so, that means that   my %hash = { b => $_ * 3 };   won't dwim, but that's okay.
21:15 masak icons are in place at http://proto.perl6.org/fame-and-profit now.
21:16 moritz_ you can't have everything *and* a ponie
21:16 jnthn Icons: know your place!
21:16 jnthn masak++ # looks nice :-)
21:16 jnthn .oO( so ponies are outside of everything? :-) )
21:17 moritz_ seems like
21:17 masak no. that's why you can't have them twice.
21:18 patrickas masak do you think we shoul have some icon/badge/way of showing new pojects ?
21:18 jnthn Ah! And thus the expresison "OMG PONIES", since plurality of ponies would be impossible.
21:19 masak patrickas: instinctively, no. it's also not a trait one needs to encourage.
21:19 patrickas writing new perl6 modules ?
21:19 patrickas I thought it was :-(
21:20 masak right. writing new perl 6 modules for the sake of getting badges. :)
21:20 masak we need to think about the failure modes of the badges...
21:20 jnthn Well, not in the sense that a new module that does the same as an existing one doesn't mean the newer one should be flagged up more.
21:20 masak patrickas: ideally, it should be possible to unlock all badges if you just put yourself to it. with 'new', that doesn't hold.
21:20 jnthn *nod*
21:21 jnthn We could seperately have a "what's new" page that lists the latest modules, a bit like the CPAN latest page.
21:21 patrickas that's why I said icon/badge/way of showing ...
21:21 patrickas I just want a way to look at the page and say humm a new module let's try it out
21:22 masak patrickas: ah; well, as a non-badge the idea sounds slightly better.
21:22 masak still, I'm not 100% convinced people scour the site for new modules. not sure that's a use case.
21:22 jnthn rakudo: say (2, 4, 4) ~~ (2, 4, 4)
21:22 p6eval rakudo 18d996: OUTPUT«1␤»
21:22 jnthn colomon: ^^
21:22 jnthn (re p6l 6mail)
21:23 patrickas Maybe i am the only way to do it :-O
21:23 sorear TimToady: Back when Cursor ran on pugs, did we unstill have gimme5?
21:24 patrickas I think I could always add the data to the json list only and parse it locally ....
21:25 [Coke] has someone written a p6 ircbot yet?
21:25 masak re the 'does A, B, C' suggestion, I think that sounds like a fine job for a language-modifying module.
21:25 masak [Coke]: I think several have been written already, both during the Golden Age and the current era. but I don't think any of them is in active use.
21:26 masak some of them suffered from leaks and forced reboots. but that was a while ago.
21:26 moritz_ masak: we've discussed precedence of infix:<does> before
21:26 jnthn Client::IRC may be a tad bitrotten but given sockets ain't much different in master than in alpha I suspect not.
21:26 masak moritz_: oh? what did we conclude? :)
21:26 moritz_ masak: people expect @a = 0, 1 but False, 3, 0 but True to mean something sensible
21:27 jnthn masak: People can also, if they're always pulling in the same bunch of roles to lots of classes, just compose a crony role.
21:27 moritz_ masak: also remember that traits are based on multi dispatch...
21:27 moritz_ masak: ie if you have to support a list of things, type annotations/selections get much harder
21:28 jnthn moritz_: Indeed.
21:28 moritz_ so "rejected"
21:28 masak nod.
21:28 moritz_ should I comment on p6l?
21:28 masak I think so.
21:28 moritz_ will do
21:28 jnthn moritz_++
21:28 masak it's good to sometimes leak wisdom back to p6l :P
21:28 masak keeps them hooked. :P
21:29 jnthn :P
21:30 Schwern joined #perl6
21:31 colomon rakudo: say (2, 4, 4) ~~ (2, 4, 5)
21:31 p6eval rakudo 18d996: OUTPUT«0␤»
21:31 colomon crazy
21:31 masak not at all.
21:31 colomon there are huge swathes of tests that would be easier to read in that format.
21:31 patrickas rakudo: 1 but False;
21:31 masak but what moritz_ wrote on p6l.
21:31 p6eval rakudo 18d996: OUTPUT«No applicable candidates found to dispatch to for 'infix:<does>'. Available candidates are:␤:(Mu $do-it-to-me, Role $r)␤:(Mu $do-it-to-me, ConcreteRole $r)␤:(Mu $do-it-to-me, (Parcel) $roles)␤␤  in 'infix:<but>' at line 485:CORE.setting␤  in main program body at line
21:31 p6eval ..11:/tmp/VGad7E…
21:32 masak jnthn: $do-it-to-me?
21:32 patrickas ;_)
21:32 masak jnthn: why do I suspect you wrote that siggy? :P
21:32 * moritz_ sent mail and now goes to bed
21:32 jnthn er, erm... :-)
21:33 masak -Opun
21:33 jnthn colomon: You know it dwims too?
21:33 SmokeMachine joined #perl6
21:33 colomon jnthn: ?
21:33 jnthn rakudo: say (1,2,3,4) ~~ (*,2,*)
21:34 p6eval rakudo 18d996: OUTPUT«1␤»
21:34 jnthn rakudo: say (1,2,3,4) ~~ (*,5,*)
21:34 p6eval rakudo 18d996: OUTPUT«0␤»
21:34 jnthn That's "is there a 2/5 in it somewhere?"
21:34 jnthn say (1,2,3,4) ~~ (*,4) # does it end in 4
21:34 jnthn etc
21:34 jnthn :-)
21:34 masak rakudo: say (1, 2, 3) ~~ (*, *, 3)
21:34 p6eval rakudo 18d996: OUTPUT«1␤»
21:34 masak rakudo: say (1, 2, 3) ~~ (*, *, *, 3)
21:34 p6eval rakudo 18d996: OUTPUT«1␤»
21:34 masak hm.
21:34 jnthn masak: * works like in a regex
21:35 jnthn 0 or more elements here
21:35 masak right.
21:35 colomon insanely awesome.
21:35 jnthn So consecutive stars have no more meaning than one.
21:35 jnthn But you can do like
21:35 jnthn rakudo: say (1,2,3,4) ~~ (*,2,*,4,*)
21:35 p6eval rakudo 18d996: OUTPUT«1␤»
21:35 masak I submitted a ticket about this once. I don't remember what it said.
21:35 jnthn Like, is there somewhere a 2 and later somewhere a 4.
21:36 jnthn I couldn't be bothered to make it backtrack and try really hard to match though. :-)
21:36 masak rakudo:say  (1, 2, 3) ~~ (1, 2, *, 3)
21:36 sorear masak: there was a Golden Age of p6?
21:36 masak rakudo: say (1, 2, 3) ~~ (1, 2, *, 3)
21:36 p6eval rakudo 18d996: OUTPUT«1␤»
21:36 masak sorear: 2005-2007.
21:36 jnthn masak: It did get re-done in master (writte in Perl 6 rather than PIR)
21:36 sorear [Coke]: My current Overarching Project is a p6 irssi replacement
21:37 jnthn masak: So it's concievable old bugs got killed.
21:37 masak sorear: whoa! release early and often!
21:37 masak jnthn: found it! http://rt.perl.org/rt3/Tic​ket/Display.html?id=61452
21:37 masak it's been resolved. jnthn++
21:37 justatheory joined #perl6
21:38 jnthn oh nice
21:38 jnthn :-)
21:38 masak ooh! and in the comments to that ticket, I *deduce* that the star has to be zero-width. I'd totally forgotten that. :P
21:39 * masak 's brain lives partially on RT nowadays
21:39 masak a sort of a symbiont.
21:41 jnthn masak: I think iirc I originally thought so too, but had made a bug when implementing.
21:45 tedv joined #perl6
21:48 jnthn masak: Which branch are you actively Buf-ing in at the moment?
21:48 masak buf
21:48 jnthn kthnx
21:48 masak np
21:48 * jnthn git chekcout's it
21:50 eternaleye joined #perl6
21:50 * jnthn glances at http://github.com/illvilja/Perl6-Term--AN​SIColor/blob/master/lib/Term/ANSIColor.pm and realizes we could make our ===SORRY=== have red bits :-)
21:57 whiteknight joined #perl6
21:57 masak mberends: ping
21:58 mberends masak: pong
21:58 masak I'm trying to get a smallish revolution started. I thought I'd tell you first. :)
21:59 sorear hmm.
21:59 masak mberends: http://github.com/masak/ufo/
21:59 mberends <sharp intake of breath>
21:59 sorear it looks as though 5.10.1 is mishandling do or something
22:02 mberends masak++: sweet!
22:02 masak I should have done that ages ago. it's such a simple idea.
22:02 jnthn masak++!
22:02 masak \o/
22:02 jnthn Wow...that's the kind of README that's *worth* reading!
22:02 masak :)
22:03 justatheory joined #perl6
22:04 masak as far as I know, ufo is the first Perl 6 program which can be installed with 'make install'. correct me if I'm wrong.
22:05 masak I should probably restore pun to its former glory and make those installable too.
22:05 jakk joined #perl6
22:06 sorear \o/ I've golfed the STD.pm 5.10 bug to a single module which doesn't use Cursor
22:12 Wolfman2000 ...why couldn't you just "find" the bug? golfing to me means "a big convoluted mess"
22:13 masak er.
22:13 masak the idea of golfing bugs is to resolve the convoluted mess to its minimal possible holding size.
22:13 masak a 'minimal mess', if you will.
22:14 masak s/resolve/reduce/
22:14 Wolfman2000 so a simple test case
22:14 slavik what does 'golfing' mean?
22:14 Wolfman2000 slavik: making the shortest program for a task
22:14 masak slavik: here, it means using as few characters/keystrokes as possible to do something.
22:15 jnthn It's one of the important things to do to help the developers when submitting a Rakudo bug.
22:15 masak Wolfman2000: yes, but 'test case' in a wide sense. it can also be used as a one-liner to show others, or as the basis of an RT ticket.
22:15 jnthn Get down to a small example that shows the bug.
22:15 jnthn In isolation for other issues.
22:15 jnthn masak++ is very good at this. :-)
22:15 masak it's one of my favorite pastimes. which, if you think about it, is kinda fortunate.
22:16 Wolfman2000 agreed
22:17 masak "Eliminate all other factors, and the one which remains must be the truth." -- Sherlock Holmes
22:17 masak sleep &
22:17 jnthn o/
22:19 sorear it's at this point very obvious that I'm dealing with a Perl bug
22:20 sorear removing unreachable code changes the behavior
22:20 Wolfman2000 ...then perhaps the code is being reached?
22:21 sorear If it were being reached, then changing it would have an effect.
22:21 sorear Adding 'die "la la la"' doesn't cause it to die, but changes the result
22:21 sorear (and no, there's no exception catching statements)
22:21 Wolfman2000 ...I think your phrasing is just confusing me in this case
22:22 ive joined #perl6
22:22 mberends Rakudo had several such Heisenbugs last year, but none recently :)
22:22 sorear Wolfman2000: http://pastie.org/989737
22:22 sorear that prints '1' on Perl 5.12 and '' on Perl 5.10
22:23 sorear deleting the die makes it print '1' on both
22:23 Wolfman2000 ...I don't get how, but...gah, best to not overthink
22:24 Schwern joined #perl6
22:24 sorear it's obviously a Perl 5.10 bug
22:24 sorear think about it - if 5.10 didn't have bugs, why would they release 5.12? ;)
22:24 [Coke] that doesn't necessarily follow, there.
22:25 Wolfman2000 what if it's more...new features?
22:25 Wolfman2000 ...what new features were added anyway?
22:25 m6locks to make the already existing features even more advanced
22:25 [Coke] did that work prior to 5.10.1 ?
22:25 wallberg left #perl6
22:26 sorear [Coke]: also '' on 5.8.0
22:30 * IllvilJa rejoices as the work with Term::ANSIColor for Perl6 might be of some actual use :-)
22:33 sorear IllvilJa: howso?
22:36 IllvilJa jnthn seemed above to consider using it to highlight some apologizing error message in red.  Don't know for what but I expect it's something that makes the world a generally better place, something like a compiler or so
22:37 hercynium joined #perl6
22:38 sorear Ah, I thought you might have been referring to std-hilite
22:39 * sorear asks #p5p abound the perl5.10.x bug
22:39 jnthn IllvilJa: When you do std: blah and it gives an error, it uses color. It looks nice. :-)
22:43 skids joined #perl6
22:46 sorear thanks to the wonderful #p5p, I now have a RT# and two commit ids for that bug
22:48 sorear it's a context propagation bug
22:51 sjohnson i use ANSIColor quite often
23:06 orafu joined #perl6
23:13 pugssvn r31058 | sorear++ | [viv] Work around perl 5.10 bug RT#38809
23:13 sorear pmichaud, TimToady, moritz_: std runs on 5.10.1 locally now
23:14 TimToady sorear: http://www.wall.org/~larry/Cursor.pm is a snapshot of the pugs-targeted Cursor from early 2008
23:15 sorear Uhm
23:15 sorear What is the + twigil
23:15 TimToady used to be contextual before it was combined with *
23:15 TimToady which used to only be global
23:16 sorear interesting
23:17 TimToady interesting is about all it is
23:17 sorear it's amazing how much p6 has changed in the last two years
23:17 TimToady it will be much more useful to backtranslate the modern Cursor.pmc than to try to fix the old Cursor.pm
23:18 sorear I figured
23:18 TimToady at that time there was also a gimme5 precursor called 'metholate' that translated STD.pm to Pugs
23:18 TimToady since pugs didn't support all of p6 yet either :)
23:19 sorear what does?
23:19 TimToady and there are peculiarities in that Cursor.pm that are only explainable as workarounds
23:19 sorear yeah
23:20 sorear oh, that reminds me
23:20 TimToady plus, pugs didn't really do p6 regexen at all
23:20 sorear how does BEGIN fit into a STD-based pipeline compiler?
23:20 TimToady and relied on p5 for what regexen it did
23:21 TimToady the parser has to be able to take bits of AST, such as that from BEGIN, the args to use, trait arguments and such
23:21 TimToady and have some way to run them immediately
23:21 TimToady which requires the proto symbol tables all be in place already
23:22 TimToady also, constant folding presumably uses the same mechanism when we know there are no side effects
23:22 plainhao joined #perl6
23:22 TimToady though that can be deferred for code that doesn't run immediately
23:23 TimToady (p5 always does them immediately though)
23:28 sorear that sounds hard, I'll let you worry about it
23:28 jnthn phenny: tell masak I did hack up something for you that should be enough for encode, see example code at http://gist.github.com/423175
23:28 phenny jnthn: I'll pass that on when masak is around.
23:28 jnthn Tack, phenny.
23:29 jnthn phenny: tell masak it's in ya buf branch, btw.
23:29 phenny jnthn: I'll pass that on when masak is around.
23:30 sorear TimToady: can you run std now?
23:31 TimToady yes, but that's because I upgraded to 5.12
23:33 sorear moritz_? pmichaud?
23:34 pugssvn r31059 | sorear++ | [viv] Make --keep-going optional for better make failures
23:43 justatheory joined #perl6
23:54 pugssvn r31060 | sorear++ | [viv] Add a -o option; remove Makefile's fragile use of redirection
23:59 pugssvn r31061 | lwall++ | [STD] undo non-sensical $<sym> that makes warnings

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

Perl 6 | Reference Documentation | Rakudo