»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by wolfe.freenode.net on 30 October 2009. |
|||
00:01
alester left
|
|||
dukeleto | IllvilJa: the colorizing servers idea is pretty neat | 00:12 | |
IllvilJa | I have a perl script which creates the icons for me, and the reason I got interested in Perl modules for dealing with vectors is that I use vector "physics" to automatically adjust the 16 ANSI colors used evilvte so they don't clash with the arbitrary colors chosen for background, foreground, cursor etc. | 00:14 | |
If the background color get's "too close" to one of the ANSI colors, it will move slightly as if it were subject to a repulsive force. | 00:15 | ||
masak | interesting idea. | 00:17 | |
cognominal | masak: on which branch is this &LazyMap::iter ? | 00:18 | |
masak | cognominal: it's in src/perl6/LazyMap.pm in the pugs repo. | 00:19 | |
cognominal | I though that was rakudo | ||
masak | cognominal: no, rakudo still uses PGE. | ||
cognominal | I thouth PGE was used to boot nqp-rx | 00:20 | |
cognominal has trouble to get the big picture... | |||
japhb | cognominal, It was used to initially get early nqp-rx up and running, but now nqp-rx is fully bootstrapped and no longer needs anything but itself and base parrot. | ||
s/It/PGE/ | 00:21 | ||
diakopter | pmurias: LOL :) | ||
masak | Rakudo's master branch is still on PGE. npq-rx is two things: a (re-)implementation of nqp, and a complete replacement for PGE. the ng branch of Rakudo uses nqp-rx instead of PGE. | ||
Wolfman2000 | Evening masak. Do you have your Perl Gift ready? | 00:22 | |
masak | Wolfman2000: I do indeed. I've even set it on auto-post. :) | ||
Wolfman2000 | ...one can do that? | ||
diakopter | jnthn: cool links | 00:23 | |
masak | Wolfman2000: and moritz_ has his ready for day-after-tomorrow, so now there's a gap where yours should be. :) | ||
Wolfman2000 | ...funny, I thought I was...nevermind. Guess my days are getting bumped. I'll double check the schedule | ||
masak | in fact, I don't know why my post hasn't posted itself already. I'll go and help it along. | 00:24 | |
diakopter | moritz_: sprixel is being reconceived/regestated/rebirthed as an nqp-rx-alike | ||
except very much nqnqp-rx | |||
Wolfman2000 | I may as well know...when does "December 3rd" begin for everyone here? | ||
diakopter | NOT QUITE nqp. | ||
cognominal | dropping pge altogether? it sounds likes the Camelia imago is out of the pupa and ready to extends its wings :) | ||
00:26
payload joined
|
|||
diakopter | jnthn: o wait | 00:26 | |
so | |||
oky doky. | 00:27 | ||
jnthn | ... | ||
:-) | |||
masak | colomon: help! I can't publish my post! :/ | 00:28 | |
diakopter | CLOS -> Perl Object System -> it's just a POS | ||
how unfortunate | |||
ok, enough of my off-hue remarks | |||
masak | ah. there we go. | ||
jnthn | lol | 00:29 | |
diakopter: I think we won't call it that, tempting as it may be. ;-) | |||
diakopter | lolmasakhazblogggggged | 00:31 | |
masak | hold on, I found a way to shorten my Christmas Tree generator by one character :) | 00:33 | |
jnthn | wheredidmasakblogged?! | ||
Wolfman2000 | jnthn: the calendar | ||
diakopter | golfing on Christmas? | ||
masak | perl6advent.wordpress.com/2009/12/0...ormatting/ | ||
jnthn | oooh...now it appeareth to me! | ||
diakopter | std: say " "x 9-$_,"#"x($_*2-1)for 0..9,2xx 3 | 00:34 | |
p6eval | std 29238: ===SORRY!===Whitespace is required between alphanumeric tokens at /tmp/v1C57DLkoj line 1:------> say " "x 9-$_,"#"x($_*2-1)for 0..9,2⏏xx 3 expecting any of: POST postfix postfix_prefix_meta_operator standard stopper terminator | ||
.. whitespaceFA… | |||
diakopter | std: say " "x 9-$_,"#"x($_*2-1)for 0..9,2 xx 3 | 00:35 | |
p6eval | std 29238: ok 00:01 106m | ||
masak | bah, STD is too picky :) | ||
diakopter | :) | ||
masak | besides, that's the old version. :P | 00:36 | |
std: say " "x 9-$_,"#"x$_*2-1 for 0..9,2xx 3 | |||
p6eval | std 29238: ===SORRY!===Whitespace is required between alphanumeric tokens at /tmp/sEI0yxZyIi line 1:------> say " "x 9-$_,"#"x$_*2-1 for 0..9,2⏏xx 3 expecting any of: POST postfix postfix_prefix_meta_operator standard stopper terminator | ||
.. whitespaceFAI… | |||
jnthn | masak: Are your euro prices based on hopes of future Euro <=> SEK parity? ;-) | ||
5 euros is a bit steep for an apple. :-P | 00:37 | ||
masak | jnthn: I'd say! | ||
jnthn | masak: say .fmt # 'huey dewey louie' | ||
masak | jnthn: you have to consider that the apple is golden. | ||
jnthn | I think maybe you write a <foo bar baz> but blog eated it? | ||
masak | jnthn: oops, thanks! | ||
I'll add a space to placate STD while I'm at it... | |||
jnthn | masak++ # nice post | 00:38 | |
masak | thanks. .fmt is underappreciated. | 00:39 | |
IllvilJa | K folks... it's bedtime here. | ||
CU tomorrow. | |||
diakopter | rakudo: say " "x 9-$_,"#"x$_*2+1 for 0..5,1,1 | ||
p6eval | rakudo 7ce13d: # ### ##### ####### ######### ########### ### ### | ||
jnthn | masak: Your hash example just increased my fondness. | 00:40 | |
I could see myself using that. | |||
diakopter | basement cat frowns a little deeper | ||
00:42
Schwern joined,
Schwern left
00:43
Schwern joined,
Schwern left
00:44
pmurias left
00:49
frew_ left
00:51
nihiliad left
|
|||
Wolfman2000 | ...I double checked the schedule. Defined types haven't been introduced. | 00:55 | |
I think my Gift will be the Defined Types with multi subs. Constraints can be taken by someone else. | |||
Is that alright with you guys? | 00:56 | ||
rakudo: my $tmp; say $tmp | |||
p6eval | rakudo 7ce13d: Use of uninitialized value | 00:57 | |
Wolfman2000 | ...aww, I was hoping it would say Mu | ||
rakudo: my $tmp = Mu; say $tmp | |||
p6eval | rakudo 7ce13d: Object() | ||
00:58
cdarroch left
|
|||
jnthn | Wolfman2000: We likely won't handle Mu properly until ng lands. | 00:58 | |
00:58
tjc joined
|
|||
diakopter | ng: my $tmp = Mu; say $tmp | 00:59 | |
p6eval | ng a77213: Mu() | ||
Wolfman2000 | ...I think that will be a good thing. I don't want to introduce Mu to the users yet. | ||
Int, Num, Str, Bool (?), and Rat (?) perhaps | |||
masak | Wolfman2000: it's very much alright to take Defined Types with multi subs. what to you mean by that, more exactly? | ||
Wolfman2000 | rakudo: my Rat $fraction = 4/5; say $fraction.nu ~ '/' ~ $fraction.de; | 01:00 | |
p6eval | rakudo 7ce13d: Method 'nu' not found for invocant of class 'Rat'in Main (file src/gen_setting.pm, line 324) | ||
jnthn | huh? | ||
rakudo: my Rat $fraction = 4/5; say $fraction.numerator | |||
p6eval | rakudo 7ce13d: 4 | ||
jnthn | ah. | ||
Wolfman2000 | rakudo: my Rat $fraction = 4/5; say $fraction.numerator ~ '/' ~ $fraction.denominator; | ||
p6eval | rakudo 7ce13d: 4/5 | ||
Wolfman2000 | ...can we get .nu and .de in there at some point please? | ||
or even .numer and .denom | 01:01 | ||
masak | Wolfman2000: why? | ||
Wolfman2000 | masak: why to which question? | ||
masak | there's .numberator and .denominator. why synonyms? | ||
s/nub/num/ | |||
Wolfman2000 | masak: you just proved my point | ||
not exactly easy to spell, is it? | 01:02 | ||
jnthn | rakudo: my Rat $fraction = 4/5; say $fraction.nude.join('/') | ||
p6eval | rakudo 7ce13d: 4/5 | ||
masak | Wolfman2000: well, yes, but it's 2 o'clock here. :) | ||
Wolfman2000 | rakudo: my Rat $fraction = 4/5; say $fraction.nude.WHAT | ||
p6eval | rakudo 7ce13d: List() | ||
01:02
cspencer joined
|
|||
masak | Wolfman2000: I think 'numerator' is much clearer than 'nu' or 'numer'. | 01:02 | |
jnthn | .oO( must resist temptation to use inappropriate variable names when storing Rats ) |
01:03 | |
masak | Wolfman2000: and I think the Huffmanization is about right, since one shouldn't need to go picking out the numerator that often anyway. | ||
jnthn: $headmaster.nude.WHAT? :P | |||
jnthn | eww! | ||
Wolfman2000 | ...well, I have enough time. I'll start my dr-- | ||
masak--: BAD | 01:04 | ||
masak | 哈哈 | ||
Wolfman2000 | I don't recall what those characters mean | ||
jnthn | masak: That...wasn't what I had in mind. ;-) | ||
01:04
tjc left
|
|||
masak | no, me neither. never mind. :) | 01:04 | |
jnthn | lol | ||
masak | Wolfman2000: they signify laughter. | 01:05 | |
jnthn wonders if he should sleep soonish, given his earlyish flight. | |||
Juerd_ would probably have to lookup the words "numerator" and "denominator" each time he'd use them. | |||
jnthn | s/sleep/attempt to sleep/ | ||
Juerd_: Just go .nude then. | |||
masak | Juerd_: maybe we should call them .stuff-above and .stuff-below | ||
Juerd_ | .lhs .rhs | 01:06 | |
masak | oh no please no :) | ||
Juerd_ | .howmany .howmuch ;) | ||
Hm, what would be the worst I can think of? | 01:07 | ||
I have to admit... it's hard to compete with .stuff-above. | |||
Oh! .super and .sub of course. Entirely unobvious to many people. | |||
masak | .this and .these :) | 01:08 | |
Juerd_ | .Pair.key and .Pair.value | ||
jnthn | .no-wai-i'll-forget-this and .don't-think-i'll-forget-this-either | ||
masak | .tit and .tat | 01:09 | |
jnthn | .ceiling-cat and .basement-cat | ||
Juerd_ | Ooh. | ||
masak | definitely. | ||
Juerd_ | Where can I vote? | ||
Tene | lojban: .selfrinu and .terfrinu | ||
jnthn | Oh wait...are we designing Perl 6 or LOLCODE at the moment? | ||
masak | jnthn: there's a module right there. | ||
jnthn often gets confused between the two... | |||
Juerd_ | Perlol 6, jnthn | ||
masak | Tene: 'sel' and 'ter' from 'ceiling' and 'terre', respectively? | 01:10 | |
jnthn | \o/ | ||
Tene | masak: Of course! | ||
masak | Tene: Lojban is, like, really easy! | ||
jnthn | .hore and .dole # obligator slovak | ||
sjohnson | a use lolcode; would be cool | ||
masak | .uppe and .nere # Swedish! | 01:11 | |
jnthn | *obligatory | ||
Juerd_ | .teller and .noemer # Dutch | ||
jnthn | masak: huh? Swedish words that don't look like rude words in English? | ||
masak | actually, .up and .dn has a nice visual symmetry to them... | ||
jnthn | wow! | ||
masak | jnthn: yeah, would you know! | ||
Juerd_ | masak: Whoa | ||
jnthn | That's...delightful! | ||
masak | I didn't originate that, Hofstadter did, or someone before him. | 01:12 | |
Juerd_ | masak: Did you know that or did you just find that out? | ||
Tene | masak: ... >< | ||
masak: You know I hate you, right? | |||
;) | |||
masak | Tene: so you keep telling me. :P | ||
01:12
cspencer left,
xinming_ joined
|
|||
masak | Tene: I forget what it was last time. | 01:12 | |
Tene | Okay, going home now, hopefully I don't fall asleep upon arival like last night. | 01:13 | |
masak: the elevator. | |||
masak | oh, right! | ||
Schindler's Lift. | |||
jnthn | Tene: suggest not falling asleep on the way too :-) | ||
lol! | |||
Tene | jnthn: my gf says the same thing. :P | ||
masak | jnthn: Tene hated me through Twitter for that one. | ||
there's something about puns and hate... | 01:14 | ||
Juerd_ | juerd.nl/i/66c301d8e4774ce10232b4bacd163e5a.png # I'm confused now. | ||
01:15
jaldhar joined
|
|||
jnthn | Juerd_: Say it's modern art and make millions. | 01:15 | |
Juerd_ | It's modern art | ||
??? | |||
Profit! | |||
Tene | hi jaldhar | 01:16 | |
masak | Juerd_: nice! | ||
jaldhar! \o/ | |||
diakopter | Juerd: how about .ⁿ and .ₓ | ||
Tene | How about ÷ and RTL-÷ | 01:17 | |
Juerd_ | my $foo = ½; | ||
Tene | Nah, not consistent enough to be silly. | ||
.u ∅ | 01:18 | ||
phenny | U+2205 EMPTY SET (∅) | ||
Juerd_ | my $bar = 33⅓; | ||
jaldhar | hello all. | ||
jnthn | OK...I haz a flight in...soon...night all | 01:19 | |
diakopter | nite | ||
01:19
ihrd joined
|
|||
masak | ihrd! \o/ | 01:19 | |
ihrd | masak: HAI | 01:20 | |
Wolfman2000 | ...I'm missing something... | ||
Int, Str, Num, Rat...what are the other defined types? | |||
Wolfman2000 is working on the preview | |||
diakopter | perlcabal.org/syn/S02.html#Built-In_Data_Types | 01:21 | |
masak | Wolfman2000: what do you mean, defined types? | ||
Wolfman2000 | yeah | ||
diakopter: thanks | |||
Juerd_ | jnthn: Good night | ||
Juerd_ also z | |||
01:21
brrant left
|
|||
masak tries to write his own LazyMap | 01:22 | ||
...in Perl 6. | |||
Wolfman2000 | ...I thought I saw constraints in there...wait a second | ||
diakopter | masak: you | 01:23 | |
Wolfman2000 | ...nevermind, over thinking. Just stick with my plan. | ||
masak | diakopter: who, me? | ||
diakopter | you... | 01:24 | |
masak | you... | ||
diakopter | you and your ... codings | ||
masak | yeah, sorry about that. | ||
in 2010, I'll try to cut down on the coding, and just bark at people on Twitter instead. | |||
diakopter | excellent | 01:25 | |
masak | either that, or I'll start my personal defamation campaign against Guido and Matz, to spread the idea that Ruby and Python are *dying*, oh noes! | ||
not many people know it, but Ruby started dying the day DHH released Rails, and it has been successively dying since. Python was dead already in 2002, but no-one noticed. | 01:27 | ||
man, this is fun! I don't know why I say these things more often. | |||
s/say/don't say/ | |||
Wolfman2000 | masak: I'd be careful with that comment about Python already dead... | 01:28 | |
masak | Wolfman2000: oh? are you implying that it's a blatant untruth? | ||
Wolfman2000 still has a website that uses python. | |||
colomon | masak++ # nice post, and it's up! woo-hoo! | ||
masak does a jig | |||
Wolfman2000: just to be clear, I wasn't 1% serious about Python/Ruby being dead. | |||
avar | Write a post called "Perl 6 isn't dead, but Ruby/Python are Mü" | 01:29 | |
masak | heh. | ||
01:29
xinming left
|
|||
masak | I got tweets like these today. twitter.com/mdhughes/status/6246967483 twitter.com/mdhughes/status/6247027414 | 01:30 | |
I guess that might be why I'm a bit... on edge. | |||
01:31
xinming joined
|
|||
colomon | Errrr... last time I checked, Rakudo had regular monthly releases. | 01:33 | |
Wolfman2000 | rakudo: multi sub identify(Int $x) { return "$x is an integer" }; multi sub identify(Str $x) { return "\"$x\" is a string" }; say 42.identify(); | ||
p6eval | rakudo 7ce13d: Method 'identify' not found for invocant of class 'Int'in Main (file src/gen_setting.pm, line 324) | ||
Wolfman2000 | ...thought so | ||
masak | colomon: thing is, Python people who say things like the above have ears like the rest of us, but they work very selectively. | 01:34 | |
colomon | Does this joker think that software development takes no time? | ||
diakopter | std: ☃ | ||
p6eval | std 29238: ===SORRY!===Bogus statement at /tmp/JRx2zNQqjp line 1:------> <BOL>⏏☃ expecting any of: infix or meta-infix infix stopper prefix or term standard stopper statement end statement list term terminator | ||
..whitespaceFAILED 00:01 104m | |||
Wolfman2000 | .u ☃ | ||
phenny | U+2603 SNOWMAN (☃) | ||
masak | colomon: well, he unfairly compared Perl 6 to Python 3000, and goes downhill from there. I guess it makes sense for a Python person. | ||
colomon: one can't just go to the Python camp and say "can't we all get along". they'd just say "HSSSSSSS!" :) | 01:35 | ||
colomon | I suppose we just need some Parseltongues.... ;) | 01:36 | |
masak | .u ☄ | ||
phenny | U+2604 COMET (☄) | ||
masak | rakudo: say 'foo' ~~ m☃ foo ☄ | 01:37 | |
p6eval | rakudo 7ce13d: foo | ||
masak | \o/ | ||
masak loves that bug | |||
01:37
brrant joined
|
|||
colomon | how can you tell it's a bug? | 01:38 | |
TimToady | std: say 'foo' ~~ m☃ foo ☄ | ||
p6eval | std 29238: ===SORRY!===Unrecognized regex metacharacter (must be quoted to match literally) at /tmp/B0OEyyPQ1M line 1:------> say 'foo' ~~ m☃ foo ⏏☄ expecting any of: quantifier regex atom regex_infix standard stopper terminator | ||
..wsFAILED 00:01 106m | |||
colomon | ooooo, I see. well, sort of. | ||
masak | colomon: because you're only supposed to use brackets there. mirror-matching characters. | 01:39 | |
diakopter | std: say 'foo' ~~ m☃ foo ☃ | ||
p6eval | std 29238: ok 00:01 105m | ||
Wolfman2000 | okay, I have my draft for Day 3 saved | ||
masak | Wolfman2000++ | ||
01:39
xinming_ left
|
|||
diakopter | std: say 'foo' ~~ ☃ foo ☃ | 01:39 | |
p6eval | std 29238: ===SORRY!===Confused at /tmp/rrQ1OUvkGf line 1:------> say 'foo' ~~ ⏏☃ foo ☃ expecting any of: infix or meta-infix infix stopper prefix or term standard stopper term terminatorFAILED 00:01 105m | ||
Wolfman2000 | I just need a way for you guys to see it... | ||
masak | colomon: there's a certain symmetry to SNOWMAN and COMET being mirror-matching... but they aren't. | ||
diakopter | std: say 'foo' ~~ s☃ foo ☃ aa ☃ | 01:40 | |
sjohnson | pastebin? | ||
p6eval | std 29238: ok 00:01 104m | ||
Wolfman2000 | sjohnson: too public | ||
masak | Wolfman2000: I see it. | ||
Wolfman2000 | you do masak? How? | ||
masak | through Wordpress. | ||
I have an account on wordpress.com. | |||
so do the other authors. | 01:41 | ||
sjohnson | there's also private paste Wolfman2000 | ||
Wolfman2000 | ...well, do your proofing thing | ||
masak | sure thing. | ||
sjohnson | might have what you want... privatepaste.org i think | ||
.com | |||
TimToady | std: say 'foo' ~~ m 彗 foo 彗 | ||
p6eval | std 29238: ===SORRY!===Alphanumeric character is not allowed as delimiter at /tmp/0bOIhqpC0D line 1:------> say 'foo' ~~ m ⏏彗 foo 彗FAILED 00:01 104m | ||
diakopter | pugs: say 'foo' ~~ s☃ foo ☃ aa ☃ | 01:42 | |
p6eval | pugs: Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.14/blib6/pugs/perl5/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime::Match::HsBridge'"*** '<HANDLE>' trapped by operation mas… | ||
diakopter | whoops | 01:43 | |
masak | Wolfman2000: I'm having trouble with the term 'defined types'. now I see what you mean by it, but... | ||
Wolfman2000 | Well, what else are they supposed to be called? | ||
TimToady | specced types? | ||
Wolfman2000 | TimToady: perhaps you can clear it up | ||
masak | Wolfman2000: 'declaration types', maybe? | 01:44 | |
diakopter | what's rong with "built-in" | ||
masak | Wolfman2000: 'the type you set when you declare the variable'. | ||
diakopter: because that's not what Wolfman2000 means. | |||
actually, 'static type' might be fine. | |||
Wolfman2000 | ...make up your mind | 01:46 | |
masak | Wolfman2000: 'this two gifts' -> 'these two gifts'. | ||
01:46
agentzh joined
|
|||
Wolfman2000 | masak: thanks for catching that one | 01:46 | |
masak | 'multi subs allow for polymorphism' -- I'm not 100% sure that's true. | 01:47 | |
can I get confirmation who actually knows OO/type theory? | |||
s/who/from someone who/ | 01:48 | ||
Wolfman2000: re making up my mind, I think 'static types' would be a big improvement over 'defined types'. | |||
colomon | btw, someone asked in a comment on the first post how to set the perl6 REPL to automatically "say" the result of everything you type into it. | ||
Wolfman2000 | masak: That's how I recall polymorphism | ||
masak | Wolfman2000: to me 'defined types' translate to 'anything below Mu in the type hierarchy'. | ||
01:49
JimmyZ joined
|
|||
masak | Wolfman2000: Google 'defined:' has this to say: "Type polymorphism in object-oriented programming is the ability of one type, A, to appear as and be used like another type, B." | 01:49 | |
Wolfman2000 | ...guess I meant method overloading | ||
masak | yes, I think so. | 01:50 | |
Wolfman2000 | Or, since this is Perl, sub overloading | 01:51 | |
masak | well, you can have multi methods in Perl 6 as well. :) but these are subs. | ||
Wolfman2000 | masak: Let the class discussion talk about method overloading | 01:52 | |
masak | sure, absolutely. | ||
Wolfman2000 | okay, saving yet another draft round | ||
have fun with it | |||
masak | Wolfman2000++ | 01:53 | |
Wolfman2000 | If everything is fine, then...well, soon as I hit the schedule button, it will post Dec 2nd at 19:45 PM EST. That should be about Dec 3rd at the start of the world. | 01:57 | |
01:57
Limbic_Region joined
|
|||
Wolfman2000 | Is it alright if I hit the schedule button then? | 01:58 | |
masak | Wolfman2000: don't worry, people will be able to review and edit it even after you've pushed it. | 01:59 | |
so, yes. :) | |||
Wolfman2000 | ...I just realized. The permalink will still say 2009/12/02 | ||
So...is my post...already up? | 02:00 | ||
masak | for what it's worth, I didn't publish mine until the GMT had passed into today. | ||
maybe that makes me Europe-centric, I dunno. | |||
no, it's not up. | |||
cognominal | carlmasak versus mdhugues : drowning by numbers :) | 02:01 | |
Wolfman2000 | Wordpress claims my last edit time was...Dec 2nd, near 2 AM | 02:02 | |
I no longer know what timezone this blog is for! | |||
...okay, this blog is GMT based | 02:03 | ||
so I have to stick with that | |||
Thus, my post will be shown tot he world in about 22.5 hours from now | |||
masak | "Polymorphism in Perl is inherently straightforward to write because of the languages use of sigils and references." o.O # from en.wikipedia.org/wiki/Polymorphism_...mming#Perl | 02:05 | |
cognominal: that discussion was genuinely unsatisfactory. we both came off as fundamentalists in the other's eyes. | 02:06 | ||
Wolfman2000 | masak++ for the refresher | ||
masak | what in the world does polymorphism have to do with Perl 5's sigils? | ||
Wolfman2000 | ...the editor was drunk? | 02:07 | |
Probably stole some beer from jnthn's fridge | |||
sjohnson | heh | 02:09 | |
TimToady | eep, the reversed camelia says 69! 8D | 02:14 | |
02:15
kst` is now known as kst
|
|||
masak | risqué Camelia. | 02:15 | |
cognominal | "risqué" : yet another french word used with a different meaning in English! | 02:17 | |
TimToady | lesse, the 69 is an xkcd reference, and the MT is then obviously a megatokyo reference | ||
masak | cognominal: enlighten me: what's the french meaning? | 02:18 | |
TimToady | risky, I presume | ||
cognominal | indeed | 02:19 | |
masak | aww... I was hoping for some sort of past participle. | ||
TimToady | past participle is no guarantee of future perfect | 02:20 | |
masak | :P | 02:21 | |
02:21
alester joined
02:24
orafu left,
orafu joined
|
|||
cognominal | Apparently 69 is the number for fecundity : en.wikipedia.org/wiki/Feodor_Vassilyev | 02:25 | |
TimToady | well, y'know, one thing leads to another... | 02:26 | |
dinner & | |||
02:37
envi^office joined
02:48
JimmyZ left
03:00
Limbic_Region left
|
|||
masak | TimToady: in Cursor.pmc, both L997 and L998 say "no 'warnings';". | 03:03 | |
L1008 and L1009 too. | 03:06 | ||
03:16
JimmyZ joined
|
|||
colomon | rakudo: enum TrigBase { Radians, Degrees }; | 03:17 | |
p6eval | rakudo 7ce13d: Confused at line 2, near "{ Radians,"in Main (file <unknown>, line <unknown>) | ||
colomon | rakudo: enum TrigBase ( Radians, Degrees ); | 03:18 | |
p6eval | rakudo 7ce13d: Could not find non-existent sub Radiansin Main (file src/gen_setting.pm, line 324) | ||
03:18
SirKay left
|
|||
colomon | ah | 03:19 | |
enum TrigBase <Radians Degrees> | |||
rakudo: enum TrigBase <Radians Degrees> | |||
colomon clearly should be in bed. | |||
p6eval | rakudo 7ce13d: ( no output ) | ||
colomon | ng: enum TrigBase <Radians Degrees> | 03:20 | |
p6eval | ng a77213: Could not find non-existent sub &TrigBasecurrent instr.: '_block14' pc 29 (EVAL_1:0) | ||
colomon | grumble. | ||
03:22
SirKay joined
|
|||
colomon | ng: constant pi = 22/7; | 03:24 | |
p6eval | ng a77213: Could not find non-existent sub &picurrent instr.: '_block14' pc 29 (EVAL_1:0) | ||
colomon | grumble grumble. | ||
rakudo: say pi.Rat(1e-10) | |||
p6eval | rakudo 7ce13d: 3.14159265361894 | ||
Wolfman2000 | ng: constant PI := 22/7; | ||
p6eval | ng a77213: Confused at line 1, near "constant P"current instr.: 'perl6;HLL;Grammar;panic' pc 519 (src/stage0/HLL-s0.pir:336) | ||
JimmyZ | ng: pi.say | 03:25 | |
p6eval | ng a77213: Could not find non-existent sub &picurrent instr.: '_block14' pc 29 (EVAL_1:0) | ||
colomon | rakudo: say pi.Rat(1e-10).perl | 03:26 | |
p6eval | rakudo 7ce13d: 312689/99532 | ||
JimmyZ | rakudo: pi.say | 03:27 | |
p6eval | rakudo 7ce13d: 3.14159265358979 | ||
JimmyZ | ng: (atan(1) * 4).say ; | 03:28 | |
p6eval | ng a77213: too many positional arguments: 2 passed, 1 expectedcurrent instr.: 'perl6;Any;atan' pc 202091 (src/gen/core.pir:9666) | ||
JimmyZ | ng: (atan(1,1) * 4).say ; | ||
p6eval | ng a77213: too many positional arguments: 2 passed, 1 expectedcurrent instr.: 'perl6;Any;atan' pc 202091 (src/gen/core.pir:9666) | ||
colomon | ng: (atan2(1,1) * 4).say | 03:29 | |
p6eval | ng a77213: too many positional arguments: 3 passed, 2 expectedcurrent instr.: 'perl6;Any;atan2' pc 200459 (src/gen/core.pir:8938) | ||
colomon | Of course, the reason I was trying to look at enums and pi is that I was looking at what it would take to rebuild the trig functions in ng.... | 03:30 | |
03:30
zloyrusskiy joined
|
|||
colomon | Tene: looks like ng's given / when doesn't work because there is no "break"? Any chance you could fix that up? | 03:31 | |
03:33
kthakore left
|
|||
colomon presumes break isn't that different from next and last... | 03:33 | ||
Tene | colomon: It's extremely similar. In fact, you should do it. | 03:41 | |
colomon | ai ai ai ai! I don't know. Maybe in the morning.... | 03:42 | |
where should I look in the code? | 03:43 | ||
03:44
ShaneC left
|
|||
colomon | src/builtins/control.pir? looks like it already has break... | 03:46 | |
colomon is off to bed, but will backlog when next awake... | |||
03:52
zloyrusskiy left
03:54
beggars joined
04:05
quantumEd left
04:24
alester left
04:25
rlarson8` left,
JimmyZ_ joined
04:29
JimmyZ__ joined
04:34
JimmyZ___ joined
04:41
reid06 joined
04:43
JimmyZ left
04:44
zaphar_ps left
04:45
zaphar_ps joined,
JimmyZ__ left,
JimmyZ_ left
|
|||
diakopter | Tene: did you implement trailing while/until? | 04:45 | |
Tene | diakopter: No, I slept through all of last night. | 04:46 | |
I guess I'll do it now. | |||
diakopter | heh | ||
Tene: since you're the CONTROL guru, a question for you | 04:47 | ||
Tene | go ahead | ||
04:47
justatheory left
|
|||
diakopter | to where does control return after a CONTROL block | 04:48 | |
generally | |||
well, let me find my specific question | 04:49 | ||
Tene | diakopter: it should return from the block it's a handler for. | ||
diakopter searches the irclogs | 04:50 | ||
sub baz { sub foo { my $x = { return 42 }; $x; CONTROL { say 'HERE0' }; say 'HERE1' }; sub bar { my $a = foo(); $a() }; { bar; say 'HERE2' }; CONTROL { say 'HERE3' } }; baz | 04:53 | ||
Tene: ^^ | |||
Tene | what do you expect the output of that to be? | 04:55 | |
looks like CONTROL is NYI in ng... | |||
diakopter | well, here's a slightly fixed edition | ||
Tene | justasec, lemme add CONTROL | 04:56 | |
easier than switching back to master | |||
diakopter | my $foo; sub baz { $foo = { my $x = { return 42 }; $x(); CONTROL { say 'HERE0' }; say 'HERE1' }; sub bar { my $a = $foo(); $a() }; { bar; say 'HERE2' }; CONTROL { say 'HERE3' } }; baz | 04:57 | |
Tene | oh, ng doesn't have CATCH either | 04:59 | |
sjohnson | rakudo: my %hash = <1 1 2 1 3 1 7 1 8 1>; say $hash.perl; | ||
p6eval | rakudo 7ce13d: Symbol '$hash' not predeclared in <anonymous> (/tmp/0YgZmv7WoB:2)in Main (file <unknown>, line <unknown>) | ||
sjohnson | rakudo: my %hash = <1 1 2 1 3 1 7 1 8 1>; say %hash.perl; | ||
p6eval | rakudo 7ce13d: ( no output ) | ||
sjohnson | rakudo: my %hash = (4 => 1, 5 => 1, 10 => 1, 1 => 1); say %hash.perl; | 05:00 | |
p6eval | rakudo 7ce13d: ( no output ) | ||
diakopter | $foo & baz are declared. baz is invoked. now inside baz. $foo is assigned a block. bar is declared. now inside inline block. bar is invoked. (now what?) | 05:01 | |
std: my $foo; sub baz { $foo = { my $x = { return 42 }; $x(); CONTROL { say 'HERE0' }; say 'HERE1' }; sub bar { my $a = $foo(); $a() }; { bar; say 'HERE2' }; CONTROL { say 'HERE3' } }; baz | 05:02 | ||
p6eval | std 29238: ok 00:01 106m | ||
Tene | diakopter: you mean, where does the 42 go? | ||
diakopter | no | ||
when bar is invoked, $foo is invoked inside bar. | 05:03 | ||
Tene | that's right. | ||
diakopter | , which declares/assigns $x. and then invokes $x | ||
Tene | Right. | 05:04 | |
diakopter | is HERE0 outputted? | ||
(or HERE3) | 05:05 | ||
and if HERE0 is outputted, is HERE1 also outputted? | |||
Tene | rakudo: sub foo { my $x = { return 42; }; $x(); return 137; }; say foo(); | ||
p6eval | rakudo 7ce13d: 42 | ||
Tene | Well, I don't recall the spec saying anything different about control blocks than catch blocks, so in that case, you don't inspect the exception at all, so it's still unhandled, so gets rethrown. | 05:06 | |
and then caught as the return value of the block it's in. | |||
maybe? | 05:07 | ||
Oh, it's just a block, not a sub. | |||
diakopter | oh, actually I messed up the question | ||
Tene | so it looks like it would print HERE0, HERE3, and then exit. | ||
diakopter | eh? | ||
why wouldn't it print HERE1 as well? | |||
Tene | according to rakudo master, = { ... } doesn't catch return exceptions. | 05:08 | |
05:08
nihiliad joined
|
|||
diakopter | ok, disregard.. here's a (still more) fixed example | 05:08 | |
Tene | ok | ||
05:08
masak left
|
|||
diakopter | std: sub baz { our sub foo { my $x = { return 42 }; $x(); CONTROL { say 'HERE0' }; say 'HERE1' }; sub bar { my $a = foo(); $a() }; { bar; say 'HERE2' }; CONTROL { say 'HERE3' } }; baz # what's outputted? | 05:08 | |
p6eval | std 29238: ok 00:01 106m | 05:09 | |
diakopter | sigh | ||
Tene | diakopter: it doesn't look like foo() returns anysomething invokable... | 05:10 | |
05:11
gfx joined
|
|||
diakopter | here was my original question (sorry for all the noise): | 05:11 | |
std: sub foo { my $x = { return 42 }; CONTROL { say 'caught return' }; $x }; sub bar { my $a = foo(); $a() }; bar(); | 05:13 | ||
p6eval | std 29238: ok 00:01 106m | ||
Tene | rakudo: sub foo { CONTROL { say 'hi' }; 5 }; say foo() | 05:14 | |
p6eval | rakudo 7ce13d: 5 | ||
Tene | I don't know if fall-off-the-end is supposed to generate a return exception, but I kinda think it isn't. | ||
diakopter | rakudo: sub foo { CONTROL { say 'hi' }; return 5 }; say foo() | 05:15 | |
p6eval | rakudo 7ce13d: hi5 | ||
diakopter | rakudo: sub foo { CONTROL { say 'hi'; return 6 }; return 5 }; say foo() | ||
Tene | infinite loop! | ||
p6eval | rakudo 7ce13d: | ||
..hihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihih | |||
diakopter | I guess | ||
Tene | I don't remember the spec saying how you're supposed to modify the return value in a CONTROL | 05:16 | |
diakopter | rakudo: sub foo { CONTROL { say 'hi'; leave 33; }; return 5 }; say foo() | ||
Tene | in rakudo, you can stuff something different in $! | ||
p6eval | rakudo 7ce13d: hiCould not find non-existent sub leavein Main (file src/gen_setting.pm, line 324) | ||
diakopter | rakudo: sub foo { CONTROL { say 'hi'; give 33; }; return 5 }; say foo() | 05:17 | |
05:17
reid06 left
|
|||
p6eval | rakudo 7ce13d: hiCould not find non-existent sub givein Main (file src/gen_setting.pm, line 324) | 05:17 | |
diakopter | rakudo: sub foo { CONTROL { say 'hi'; 33; }; return 5 }; say foo() | ||
p6eval | rakudo 7ce13d: hi5 | ||
Tene | rakudo: sub foo { CONTROL { $!<payload> = 42 }; return 19 }; say foo(); | ||
p6eval | rakudo 7ce13d: 42 | ||
05:17
reid06 joined
|
|||
Wolfman2000 | ...ARGH. I spent over 3 hours on what should have been a simple math problem. | 05:24 | |
Wolfman2000 just...got frustrated too easily. | |||
diakopter | hm | 05:31 | |
I can't seem to remember what my question about lexical return vs. CONTROL was... | |||
maybe jnthn will remind me tomorrow | |||
05:32
gfx left
05:34
ihrd left
05:43
MegaTron joined
05:50
synth left,
synth joined
06:18
JimmyZ___ left
06:26
nihiliad left,
mberends left
06:33
am0c joined
06:36
gfx joined
06:37
kaare joined,
kaare is now known as Guest18680
06:48
benatkin joined
|
|||
benatkin | is there a way to get a list of methods for an object in rakudo? | 06:48 | |
06:50
rgrau_ left
06:51
MegaTron left
06:57
pnate2 joined
07:00
zloyrusskiy joined
|
|||
Tene | rakudo: my Str $a = "foo"; say $foo.^methods(); | 07:00 | |
p6eval | rakudo 7ce13d: Symbol '$foo' not predeclared in <anonymous> (/tmp/ltCE8ryG4T:2)in Main (file <unknown>, line <unknown>) | ||
Tene | rakudo: my Str $a = "foo"; say $a.^methods(); | ||
p6eval | rakudo 7ce13d: | ||
..WHICHperlACCEPTSsprintfScalarComplexStrpredencodesuccucfirst:fsechtancosrandtruncatefmtfirsttranssortsqrtasincoshgrepsubstelemschompucindexchracotanhpairssamecasesubstrflipdoesatanhcosecexpacoseccharscancosechlcfirstrootsmapciscomblogatanminacosmaxbytessinrindexchoptanhIntvaluesasinhacose… | |||
Tene | benatkin: use .^methods(), which returns an array. | ||
07:04
stephenlb left
|
|||
benatkin | Tene: Thanks! That's exactly what I was looking for. | 07:06 | |
07:09
pnate2 left
07:10
zloyrusskiy left
07:11
pnate left
07:12
JimmyZ joined
|
|||
Tene | diakopter: turns out what you were trying to do isn't allowed and should fail. S04 +996 | 07:13 | |
07:21
justatheory joined
07:22
snearch joined
|
|||
diakopter | Tene: ok, good | 07:22 | |
that's what I was hoping | |||
I've been reading only S05 lately, so it's all I remember. | 07:23 | ||
it's just..... so .... much. to remember. | |||
Tene | diakopter: if you want to leave the block early, use 'leave' instead of 'return' | 07:24 | |
diakopter | I mean, the Perl 6 learning curve is very very unsteep, but it makes up for its lack of steepness with length | ||
Tene | 'return' *should* only work in its lexically-enclosing scope, and should fail outside of that. | ||
diakopter | what do you mean by "leave the block early" | 07:25 | |
pugs_svn | r29239 | mattw++ | [advent] Added two more days for mathw, and two of them have topics. | ||
Tene | Provide a return value for the block other than by falling off the end of it. | ||
I'm currently working on the ng Exception class. I almost have something usable, except I'm having trouble with setting the attribute in the constructor. | |||
07:32
gfx left
07:34
justatheory left
|
|||
diakopter | any parser/regex folks around? | 07:35 | |
moritz_ doesn't think he counts | |||
Tene | diakopter: I've done some work on the rakudo parsers, and I think I maybe patched PGE once. What's up? | 07:36 | |
diakopter: how does this look to you: sub foo { CONTROL { $!.payload(42); $!.rethrow(); } return 19; }; say foo(); | 07:37 | ||
diakopter | I wasn't trying to do anything in particular other than peer into the darker corners of the spec | ||
b/c CONTROL didn't (well, still doesn't) make much sense to me | 07:38 | ||
actually, it's the 'lexical return' that I don't get | |||
Tene | diakopter: that means that the return exception that's generated should be created with information identifying the sub it's destined for, and if it can't be caught by that sub, then it should fail with an error rather than be caught by a different sub. | 07:39 | |
diakopter | ok (/me mentally defers thinking about that until next decade) | 07:41 | |
I mean, I get it and all, but it's just too depressing to think about at the moment. | |||
Tene | depressing? | ||
diakopter | must every 'return' create a return Exception? | 07:44 | |
Tene | If the compiler is able to determine statically that nothing would interfere, optimizations are allowed. | 07:45 | |
diakopter | is it ever able to do so (and how)? | ||
Tene | Well, for example, look at sub foo { return 42 } | ||
that return statement isn't nested in an inner block, and there are no CATCH or CONTROL blocks. | 07:46 | ||
That should be fairly easy to identify and just return that value directly instead of putting it in an exception. | |||
diakopter | or a Capture of that value? | 07:47 | |
or Parcel. | |||
sigh. | |||
Tene | That might be more-correct, yes. I'm not up-to-date on captures/parcels. :) | ||
diakopter | if only there were a 'function' keyword that introduced pure functions, with inputs and an output. | 07:48 | |
at least folks know how to optimize those | |||
Tene | If the compiler is able to determine that a function is "pure", it's free to optimize it away or memoize it. | 07:49 | |
07:49
reid06 left,
pure1111 joined
|
|||
Tene | The best way for that to happen, afaict, is to label all of the most-basic items as pure or impure, and then you know that anything built out of only pure items will be pure. | 07:50 | |
A trait like 'is pure' could theoretically emit warnings when you've used non-pure items in a function labeled 'pure', for example. | |||
diakopter | yeah, that's how my NFA simulator determines which parts of itself are actually a DFA | 07:52 | |
Tene: do you understand S05's notion of LTM | |||
Tene | No, I haven't read it. | ||
diakopter | !! | ||
moritz_ | diakopter: did you read my notes and LTM? | 07:53 | |
diakopter | any of S05? or the LTM section? | ||
moritz_: I don't think so? url? | |||
Tene | I've skimmed the LTM section, but I didn't really internalize it. | ||
moritz_ | diakopter: perlgeek.de/en/article/longest-token-matching | ||
Tene | I've got it queued up in a firefox tab right now. | ||
diakopter | heh | 07:54 | |
moritz_ | nothin really new, just an attempt to translate the technical language into something more readable | ||
diakopter | moritz_: OH. :) good, I can continue asking you about my technique/idea | ||
lisppaste3 | tene pasted "Anyone want to tell me what's wrong with this Exceptions usage before I commit it?" at paste.lisp.org/display/91412 | 07:55 | |
moritz_ | Tene++ | ||
diakopter | moritz_: oh good (also)... I do need to add a new classification system for declarative vs. procedural | ||
moritz_: I think I started explaining my idea the other day | 07:56 | ||
but lemme throw an example at you if you don't mind | |||
moritz_ | Tene: I think CATCH and and CONTROL blocks are supposed to contain 'when'-clauses, and if none of them matches, fall through | ||
Tene: but all in all it looks much better than what we had in master | |||
Tene | moritz_: $_ is set to the exception object, so that'll be an option, yes. | ||
diakopter | actually I'll use your example | 07:57 | |
Tene | ... crap, exceptions isn't what I was asked to do at all. :P | ||
something about postfix 'for', I think. | |||
diakopter | trailing while/until? | 07:58 | |
Tene | Yeah, those. | ||
'sec, lemme commit ex stuff. | |||
diakopter | .oO( there's nothing like a demanding non-user ) |
07:59 | |
ng_feed | rakudo-ng: (Stephen Weeks)++ | ||
rakudo-ng: First draft of CATCH and CONTROL. Also update Exception to be more usable. | |||
diakopter | moritz_: \s* [ a & b ] [ c | d ] | 08:00 | |
say the input is "qqq\t\nabdffffff", and we're at input index 3 (the tab) | 08:01 | ||
08:01
iblechbot joined
|
|||
moritz_ | oh, that's a bad example | 08:03 | |
diakopter | moritz_: wait, I think you're using & wrongly | ||
moritz_ | because [a & b] can't ever match :/ | ||
diakopter | yeah | ||
I guess it's a way to get multiple (perhaps overlapping) capturing groups out of the same segment of input | 08:05 | ||
but how that's supposed to translate to a regular expression, I haven't yet grokked | |||
Tene | diakopter: You'll like the patch to fix trailing while/until. | 08:06 | |
moritz_ | diakopter: there is no direct translation | 08:07 | |
ng_feed | rakudo-ng: (Stephen Weeks)++ | ||
rakudo-ng: Fix trailing while/until | |||
diakopter | ok, then how is it usable in LTM | ||
moritz_ | diakopter: but if you think in terms of DFAs, you can construct an automaton for <a> & <b> if you know the DFAs for A and B | ||
Tene | diakopter: happen to know what else needs doing in ng? | 08:08 | |
diakopter | ok, but it won't be a DFA, it'll be an NFA | ||
Tene: lol | |||
postfix {} | |||
Tene | ng: my %a; %a{'foo'} = 'lol'; say %a{'foo'}; | 08:09 | |
p6eval | ng a77213: Cannot assign to readonly valuecurrent instr.: '&infix:<=>' pc 11850 (src/builtins/Junction.pir:273) | ||
Tene | o.O | ||
moritz_ | diakopter: but I think it works for NFAs too | ||
diakopter | yes, technically they're all interchangeable... but... crud. | 08:10 | |
Tene | rakudo: my %a; %a{'foo'} = 'lol'; say %a{'foo'}; | 08:11 | |
p6eval | rakudo 7ce13d: lol | ||
moritz_ | diakopter: maybe you can ignore & for now, I don't think STD.pm uses it anywhere, and rakudo doesn't implement it either | 08:12 | |
diakopter looks in STD | |||
moritz_ | or maybe there's a a clever way to emulate & with look-ahead assertions | 08:13 | |
diakopter | I was thinking that, but it's still adding another post-condition check to verify the lengths | 08:14 | |
diakopter doesn't know this '+&' operator in STD.pm | |||
lots of 'em | 08:15 | ||
I wish I knew Perl | |||
moritz_ | numeric binary AND | ||
diakopter | ok. | ||
thanks | |||
moritz_ | rakudo: say 5 +& 7 | 08:16 | |
p6eval | rakudo 7ce13d: 5 | ||
diakopter | moritz_: anyway, back to a better LTM example | 08:18 | |
(aa a* a <recursive_rule> | a aa* aaa) b+ # on input "aaaaaaaaaaabbbbbb" | 08:20 | ||
er, the aa* should be 'aa'* | |||
moritz_ | rakudo: say +"aaaaaaaaaaabbbbbb".comb(/a/) | 08:21 | |
p6eval | rakudo 7ce13d: 11 | ||
diakopter | yay for counting | ||
moritz_ | if <recursive_rule> doesn't have a declarative prefix, the first branch of the alternation wins | 08:23 | |
and then tries to match <recursive_rule> | |||
if it matches, all is fine | |||
diakopter | what if there were 12 "a" | ||
moritz_ | if not, the second-longest alternative (the second branch) matches | 08:24 | |
08:25
rfordinal joined
|
|||
moritz_ | diakopter: then both branches match the same length, and the disambiguation rules apply | 08:25 | |
which would favour the first branch, iirc | |||
because of the longer literal prefix | 08:26 | ||
diakopter | ah | ||
moritz_ | does that sound sane to you? | 08:29 | |
diakopter | yeah | ||
mathw | Ar | 08:30 | |
diakopter | so, the declarative prefixes are just "aa a* a" and "a 'aa'* aaa"? | ||
mathw | I had a great idea on the way to work about what to do for my third advent calendar spot, and now I've forgotten it | ||
moritz_ | diakopter: if <recursive_rule> starts non-declarative, yes | 08:31 | |
diakopter | moritz_: so here's my idea to get "automatic LTM" | ||
first the rules have to be ordered correctly (so that disambiguation just works) | |||
in alternations, I mean. | 08:32 | ||
then, all literals and sequences are flipped left-to-right | |||
and the tokenizer above would become: | |||
moritz_ | (sorry, have to run... will be back online in 15 or 20min, and backlog) | 08:33 | |
diakopter | /(.*?)(((a)(a*)(aa))|((aaa)((?:aa)*)(a)))/ | 08:34 | |
Tene | pmichaud: please review my Exceptions commit for sanity. | 08:35 | |
diakopter | the non-greedy .* forces the generated dfa to eat the minimum number of chars from the beginning (really, the end) of the input string | 08:36 | |
I mean, /^(.*?)(((a)(a*)(aa))|((aaa)((?:aa)*)(a)))$/ | 08:37 | ||
tested against "bbbbbbaaaaaaaaaaa" | |||
08:39
payload left
|
|||
diakopter | yes, the dfa will probably backtrack a lot... but that's not a concerning issue... that's much more efficient (less expensive) than a continuation/coroutine-based nfa simulator backtracking and exhaustively brute-forcing | 08:39 | |
I mean | 08:42 | ||
08:43
payload joined
|
|||
diakopter | well | 08:44 | |
I think/hope the relevant backloggers get what I'm saying | |||
despite my flubs | |||
oh wait, hm | 08:45 | ||
I forgot that LTM doesn't backtrack at all.. | 08:48 | ||
moritz_ | well, that's only partially true | ||
diakopter | so that example is flawed... | ||
it can backtrack? | 08:50 | ||
moritz_ | non-declarative parts in branches can force backtracking | ||
08:50
benatkin left
|
|||
moritz_ | and a calling rule can also force backtracking | 08:51 | |
08:51
cognominal left
|
|||
moritz_ | regex { <ltm> <foo> } # if <foo> fails, <ltm> has to backtrack | 08:51 | |
diakopter | but non-declarative parts aren't in ltm | ||
moritz_ | yes, but they can still make a branch of LTM fail that would otherwise win | ||
08:52
cognominal joined
|
|||
diakopter | sigh | 08:52 | |
ok | 08:53 | ||
that proves my idea won't work.. | |||
moritz_ | regex impure { {} 'x' }; regex ltm { a* b* <impure> | a* } | ||
'aabb' ~~ /<ltm>/ | |||
matches aa | |||
diakopter | why | 08:54 | |
(not aabb) | |||
moritz_ | because <impure> doesn't match | ||
08:55
snearch left
|
|||
diakopter | oh, right | 08:55 | |
moritz_ | there's no <commit> or so after the declarative prefix | ||
diakopter | so | ||
regex impure { {} 'x' }; regex ltm { a* (b*)? <impure>? | a* } | 08:56 | ||
moritz_ | would match 'aabb' | ||
08:57
rfordinal left
|
|||
diakopter | wow, hm. | 08:57 | |
(aside) | |||
moritz_ | for ltm purposes b* and (b*)? mean the same thing | ||
just the capture is different | |||
diakopter | sigh. | 08:58 | |
it's going to be easier for me just to do the full-blown NFA simulation throughout | |||
but each char in parallel | 08:59 | ||
as TimToady wants to do with STD | |||
so, as soon as a branch chews a char, it yields to its parent | node | 09:00 | ||
moritz_ wanted to write a DFA matcher ever since he thought he grokked LTM, but is kinda scared by the amount of work, and short of tuits | |||
diakopter | the parallel nfa would have the same complexity as an equiv dfa | ||
but lots more overhead | 09:01 | ||
unless it were compiled to a lot lower level | |||
so, in that example | |||
assuming full backtracking | |||
regex ltm { a* b* <impure> | a* } | 09:02 | ||
'|' is the topmost node | |||
so it dispatches the highest-priority rule first, which it should be able to determine statically (without descending into them, evaluating them) | 09:03 | ||
the engine knows it's in "ltm mode", so the child nodes know where to "return" to when they chew another char | |||
... descend to a*, written as star(lit("a")), let's say | 09:04 | ||
all ltm is initially greedy | 09:05 | ||
so star tries its rule, which succeeds with one char, but that lit("a") knows to yield back to the topmost '|' (ltm alternation) | 09:06 | ||
and informs that node to return to itself on that branch | |||
itself meaning that lit("a") | |||
moritz_ | is your input string still 'aabb'? | 09:10 | |
diakopter | in jsmeta/sprixel, that would be something like n.t.ltm_node.yielding = n; n = n.t.ltm_node; break; /* then the ltm_node knows it was on its 0th branch, so it does: */ n.branches[0] = n.yielding; n.next = new n.kids[0].c(n); | ||
yeah | |||
moritz_ | why does lit("a") yields back to the topmost '|'? | 09:11 | |
09:11
envi^office left
|
|||
moritz_ | I'd expect star(lit("a")) to try to exhaust all matches first | 09:11 | |
diakopter | for parallel nfa | ||
it's this thing TimToady invented... a much more powerful version of "bit-parallel nfa" you can read about on google | 09:12 | ||
moritz_ | ok, I know nothing about those | ||
diakopter | kidding; he didn't invent it.. | ||
but, I'm explaining my understanding of it here | 09:13 | ||
so the topmost '|' then launches the star(lit("a")) from the rhs | 09:14 | ||
moritz_ | ok, go ahead then | ||
diakopter | which does the same thing... and the topmost '|' prunes any branches that didn't chew a char the last run, and dispatches them again | 09:15 | |
it must go char by char b/c otherwise there would be huge state explosion in the diabolical cases | |||
moritz_ | kinda makes sense, yes | 09:16 | |
diakopter | so, all the states are kept as-is in case the whole pattern needs backtracked | 09:17 | |
actually I'm stupid | 09:18 | ||
the left branch is both(star(lit("a")),both(star(lit("b")),rule("impure"))) | |||
OH | 09:19 | ||
so in fact, each branch doesn't need to precompute which portions are 'declarative', because it can discover that lazily | |||
when it's in ltm mode and it hits a recursive rule (yes, those can be detected) or any of the other ltm terminators, it just returns 'done_ltm' or whatever. | 09:21 | ||
HI ALL YOU BACKLOGGERS. SORRY FOR ALL THE NONSENSICAL TALK. :) HAVE A NICE DAY | 09:22 | ||
I've always wanted to do that. | |||
it'll be easier to detect whether a rule portion is recursive than the full "whether it's procedural" | 09:23 | ||
ok bye | |||
moritz_ | bye | 09:24 | |
masak++ # perl6advent.wordpress.com/2009/12/0...ormatting/ | |||
09:26
xinming left
|
|||
moritz_ | phenny: tell masak that I changed two details in your post, s/maps/mappings/ and s/to/too/ - hope that's fine by you | 09:30 | |
phenny | moritz_: I'll pass that on when masak is around. | ||
moritz_ | obra: could you please add perl6advent.wordpress.com/feed/ to planetsix? | 09:35 | |
09:36
am0c left
09:39
payload1 joined,
payload left
09:44
iblechbot left
|
|||
IllvilJa | moritz_: I just created Perl6-Term--ANSIColor on github, with the intent of porting (selected parts) of the Perl 5 Term::ANSIColor module. | 09:50 | |
moritz_: would it be ok if I... er... borrowed some stuff from your json module? Things like .gitignore, Configure, general layout etc, just to get the Per6 Term::ANSIColor module to reach some "skeleton" status. | 09:51 | ||
moritz_ | IllvilJa: sure | 09:53 | |
IllvilJa: tough the Configure script is most likely very out of date | 09:54 | ||
IllvilJa | moritz_: Thanks. (And thanks for the warning re Configure scripts) | ||
09:59
mberends joined
|
|||
diakopter | mberends: hiya | 10:01 | |
moritz_: oh, I'm not really asleep | |||
mberends | diakopter: is that really you? awake at this time? | ||
diakopter | yeah | 10:02 | |
mberends | diakopter: your LTM explorations are fascinating to trace | ||
diakopter | thanks, I think | ||
mberends | yes | 10:03 | |
diakopter | so | ||
it really would be great to have some ltm tests | |||
like, sorely needed | 10:04 | ||
mberends | there was no point until now, since there was no implementation | ||
diakopter | I mean, S05-metasyntax/longest-alternative.t | ||
has some | |||
but ... | |||
moritz_ | but? | 10:05 | |
diakopter | they depend on a lot else | ||
mberends | it's one of those unfortunate things that LTM is not the opposite of STM | ||
ENEEDBIGGERLEXICON | 10:06 | ||
diakopter | "LTM - literals in nested torkens" | ||
that's a good one | |||
rotfl | |||
haha | |||
10:06
pmurias joined
|
|||
diakopter | pmurias: omg | 10:07 | |
moritz_ | diakopter: the fourth block of tests doesn't depend on much else | 10:08 | |
diakopter | I mean, "torkens" needs to lose the "r" | ||
10:08
payload1 left
|
|||
diakopter | I see 3 | 10:08 | |
sundar | Hi.. When I give --prefix=~/some_dir to Configure.pl of parrot, gmake later *creates* a directory called ~ under the parrot source directory and puts things there, instead of picking my home directory. Is this expected behaviour? (and, is this the place to talk about parrot also?) | 10:09 | |
moritz_ | sundar: there's a #parrot on irc.perl.org | ||
sundar: usually the shell expands the ~, so it's not really the job of Configure.pl | 10:10 | ||
BinGOs | are you sure that you didn't quote it in some way | ||
moritz_ | I think it's the = that prevents globbing | ||
try | 10:11 | ||
echo ~/argl | |||
vs | |||
echo =~/argl | |||
mberends | :-) it looked as if masak++ had mistakenly put a 0..9 instead of a 1..9 into his xmas tree in perl6advent.wordpress.com/2009/12/0...ormatting/ but if you run it, 0..9 is better :) | 10:12 | |
diakopter | rakudo: say 0,2...9 | 10:13 | |
p6eval | rakudo 7ce13d: Multiple Dispatch: No suitable candidate found for 'cmp', with signature 'PP->I'in Main (file <unknown>, line <unknown>) | ||
moritz_ | if Configure.pl expanded the ~ itself, there'd be no way to install it into a directory that contains a ~ | ||
mberends | ...and that would serve the directory creator right | 10:14 | |
moritz_ | :-) | ||
anyway, not my place to decide | 10:15 | ||
sundar | I think moritz_ might be right that = prevents globbing (as globbing is obviously not happening here), but Configure.pl just gives the usage and exits if I give it as --prefix ~/some_dir | 10:16 | |
Anyway, I'll move this discussion to #parrot, thanks. | |||
diakopter wonders what shell sundar has | 10:17 | ||
sundar | diakopter, it's plain old bash, and this is the first time I'm seeing this 'non-globbing' issue.. | 10:18 | |
10:24
rodi left
|
|||
diakopter suddenly entranced by lib.tkk.fi/Diss/2009/isbn9789512298884/ | 10:25 | ||
interesting..... | 10:29 | ||
10:34
synth left
|
|||
pmurias | diakopter: omg? | 10:35 | |
diakopter: what's a good description of parallel nfa? | 10:39 | ||
10:40
synth joined
10:43
mikehh joined
10:44
JimmyZ left
|
|||
diakopter | pmurias: I tried to give one above | 10:45 | |
nfa simulation, but with coroutines/continuations, essentially | 10:46 | ||
pmurias | and the paper you read about them in? or did you invent it yourself? | ||
diakopter | so "parallel" can be simulated | ||
I invented my understanding of them :D but I got much of my understanding from discussion with TimToady | 10:47 | ||
10:47
snearch joined
|
|||
diakopter | but if you read some of the .pdf and .ppt online about bit-parallel nfa, you'll get some of the idea | 10:47 | |
pmurias | so the general idea is that you keep a list of possible alternatives and you give the char to all of them? | 10:52 | |
@alternatives .= map { .match($char) }; | 10:53 | ||
lambdabot | Unknown command, try @list | ||
diakopter | yes, but recursively, and branches are pruned as they can't keep up | 10:54 | |
pruned (well, really just ignored) | |||
pmurias | can't we neuter lambdabot so it doesn't give us the unknown command? | ||
diakopter | no.. | 10:55 | |
the more I learn about the pattern language TimToady et al. have created, the more I realize that it allows full specialization/tailoring of pattern-matching behavior to both the patterns and the inputs at hand | 10:57 | ||
imho, the novel expressivity in the pattern language is truly what distinguishes Perl 6 [from all other languages]. Yes, there are scads of other grammar-grammars and lexer/parser-generators, but none as dynamic and specializable. | 10:58 | ||
and imho (again), the pattern language is such a big jump in expressivity that it dwarfs all the other language features (new or otherwise) in scale and impact | 11:01 | ||
and so, I feel no qualms about claiming that it will de facto, whether anyone likes it or not, be the defining characteristic of Perl 6... | 11:02 | ||
pmurias | most of the time Perl 6 rules will be propably just used as modular regular expressions | ||
11:10
agentzh left
11:11
envi^home joined
|
|||
Juerd_ | I expect that CPAN will have a huge collection of grammars readily available | 11:21 | |
And that it will definitely be an important factor in language choice, for organizations. | 11:22 | ||
mberends | diakopter: I agree with you 100% | 11:23 | |
diakopter: you said it very well too, all of it | 11:24 | ||
that is also why nqp-rx is such a great leap forward. one day there may be a p6re library that becomes as popular to embed as pcre. | 11:29 | ||
11:34
riffraff joined
11:40
payload joined
|
|||
mberends | question to the future: did I think of it first? (p6re) | 11:55 | |
mberends performs a mkdir p6re locally... ;-) | 11:56 | ||
11:58
payload left
12:01
frettled sets mode: +o mberends,
frettled sets mode: +o pmurias
12:02
pmurias left
12:04
meppl joined
|
|||
mberends | frettled++ is such a helpful backdoor ;) | 12:05 | |
frettled | sundar: Sorry for not responding earlier. If --prefix=~/foo becomes a literal, then that is a feature of the shell, not something other stuff can do something about. Recent bash versions are not so "plain" anymore, they add lots of glossy features which may be useful or annoying, depending on what you're used to. In the case of --parameter=whatever, this is how bash seems to work in 3.x. Try "echo --prefix=~" and compare with "echo -- prefix=~" | ||
12:07
SmokeMachine joined
12:11
JimmyZ joined
12:14
ihrd joined
12:25
bluescreen joined
12:29
xomas is now known as xomas_,
xomas_ is now known as xomas,
snearch left
12:33
ihrd left
12:38
JimmyZ left
12:42
bluescreen left
12:48
JimmyZ joined
12:50
synth left
12:51
synth joined
12:58
bluescreen joined
13:11
bluescreen left
13:17
indvin joined
13:19
indvin left
13:22
takadonet joined
|
|||
takadonet | yo yo all | 13:23 | |
13:24
alexn_org joined
13:26
iblechbot joined,
ruoso joined
13:28
bluescreen joined
13:31
muixirt joined
13:36
rodi joined
13:41
payload joined
|
|||
colomon completely fails to understand why next and last work in ng, but break doesn't. The code looks essentially the same. | 13:46 | ||
moritz_ | exceptions! A task for Tene++, I'd assume :-) | 13:47 | |
ng: sub foo { CONTROL { say $_ }; return 42 }; foo() | |||
p6eval | ng 145824:  | ||
moritz_ | ng: sub foo { CONTROL { say $! }; return 42 }; foo() | ||
p6eval | ng 145824:  | ||
moritz_ | ng: sub foo { CONTROL { say $!.payload }; return 42 }; foo() | ||
p6eval | ng 145824: 42 | ||
moritz_ | ng: sub foo { CONTROL { say $!.payload; $!.payload = 23 }; return 42 }; say foo() | 13:48 | |
p6eval | ng 145824: 42Null PMC access in type()current instr.: '_block50' pc 353 (EVAL_1:155) | ||
moritz_ | ng: sub foo { CONTROL { say $!.payload; $!.payload(23) }; return 42 }; say foo() | ||
p6eval | ng 145824: 42 | ||
JimmyZ | ng: break | ||
moritz_ | ng: sub foo { CONTROL { say $!.payload; $!.payload(23); $!.resume }; return 42 }; say foo() | ||
p6eval | ng 145824: Warning | ||
ng 145824: 42Null PMC access in type()current instr.: '_block14' pc 29 (EVAL_1:0) | |||
JimmyZ | ng: next | ||
p6eval | ng 145824: Warning | ||
JimmyZ | break | ||
ng: break | |||
p6eval | ng 145824: Warning | ||
JimmyZ | ng: loop { last; } | 13:49 | |
p6eval | ng 145824: ( no output ) | ||
JimmyZ | ng: loop { break; } | ||
p6eval | ng 145824: | ||
..WarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningW… | |||
JimmyZ | oh | 13:50 | |
ng: loop { continue; } | |||
p6eval | ng 145824: | ||
..WarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningWarningW… | |||
14:01
JimmyZ__ joined
14:08
fridim_ joined,
jimfuller joined,
beggars left
14:09
rgrau_ joined
14:12
rodi left
14:14
jimfuller left
|
|||
jnthn | o/ | 14:20 | |
SirKay | good morning. | 14:21 | |
14:21
JimmyZ left
|
|||
moritz_ | oh hai | 14:22 | |
JimmyZ__ | howdy | ||
14:22
JimmyZ__ is now known as JimmyZ
|
|||
jnthn is on the train | 14:24 | ||
mathw | chooooo | ||
jnthn | Flight didn't crash or anything. :-) | ||
SirKay | and hacking perl at the same time? | ||
mathw | I'm wondering if going ice skating after work is a good idea | ||
jnthn | SirKay: I'm on the train with wifi less than an hour. | ||
So mostly just glancing emails etc. | 14:25 | ||
mathw | I'm a little out of practice, and if I break my leg it's going to make tomorrow's job interviews a little inconvenient | ||
jnthn: which country are you in? | |||
jnthn | mathw: England! | ||
SirKay | ah, so you'll be heading out soon then? | ||
mathw | woooo | ||
So am I! | |||
jnthn: which bit? | |||
moritz_ | mathw: just be careful :-) | 14:26 | |
jnthn | The east coast mainline bit, somewhere north of Grantham. | ||
mathw | moritz_: I intend to, quite apart from tomorrow's planned activities, breaking bones is painful | ||
Or so I've heard | |||
jnthn | mathw: Heading for around Scarborough. :-) | ||
mathw | jnthn: nice | ||
ish | |||
jnthn | lol | 14:27 | |
mathw | I'm not sure how nice any of the UK is at the moment | ||
jnthn | Train ticket price wasn't nice, but at least no delays...yet. | ||
mathw | Most of it's damp | ||
And the rest is underwater | |||
PerlJam | good morning | ||
jnthn | I didn't get rained on yet. | ||
mathw | And I've not been to Scarborough | ||
Although I know someone at university there | |||
jnthn | Mostly because everywhere I've been is undercover. | ||
mathw | And she seems to like it well enough | ||
hi PerlJam | 14:28 | ||
pmichaud | It's snowing here. | ||
mathw | Here it's definitely considering raining | ||
jnthn | It's not so bad...actually, it's a village just south of there that I'm really headed for rather than the town itself. | ||
mathw | Probably just in time for our visit to the outdoor ice rink... | ||
moritz_ only knows Scarborough from a song ;-) | |||
jnthn | pmichaud: ooh! nice! | ||
14:28
bluescreen left
|
|||
colomon | mathw: last time I went skating, I ended up with fourteen stitches and a beard. | 14:28 | |
SirKay | hey pmichaud. | ||
PerlJam | pmichaud: but will you have a white christmas? | ||
pmichaud | Snow. In December. In Dallas. | ||
mathw | Apparently Oxford's due 15mm of rain this afternoon though | ||
pmichaud: snow in Dallas at all is quite surprising | |||
jnthn | Meh, who cares about Oxford? | ||
colomon is jealous of pmichaud's snow. But it will be here soon enough, he hopes. | |||
jnthn | ;-) | ||
mathw | jnthn: I don't, I'm from Cambridge | 14:29 | |
pmichaud | colomon: where's "here"? | ||
mathw | drown the place | ||
colomon | pmichaud: Michigan | ||
jnthn | YEAH! | ||
Cambridge is *so* much better. | |||
mathw | Oh yes, you went to Cambridge University didn't you | ||
My Dad works for them | |||
jnthn | Shhh...I was looking objective until you said that. :-P | ||
mathw | I disappointed all my teachers by not applying there | ||
colomon | We've gotten about an eighth of an inch of snow so far this year, which is surprisingly little. | 14:30 | |
s/year/winter/ | |||
mathw | None here yet, but we'd expect none until January or February, and then not much | ||
jnthn | That'snow good. | ||
SirKay | I learned how to make nested hashes yesterday. | ||
mathw | \o/ | ||
jnthn | pmichaud: How goes the iterator interface/ | 14:31 | |
14:31
mikehh left
|
|||
pmichaud | jnthn: been sidetracked on a couple of other items :-| | 14:31 | |
It's definitely on today's plan, though. | |||
jnthn | Aww, ok. | ||
OK, hopefully there's no side-trackings today. | 14:32 | ||
I may or may not sneak in some hacking time this evening. | |||
colomon | Also for ng-ers: what's up with break? It looks like it's implemented just the same as last/next, but doesn't seem to actually work... | ||
moritz_ doesn't even know what break is supposed to do | |||
14:32
Bzek joined
|
|||
jnthn | I only slept about 3 hours last night though... | 14:33 | |
SirKay | May I ask a quick question about arrays? | ||
moritz_ | SirKay: never ask to ask, just ask | ||
14:33
mikehh joined
|
|||
SirKay | I was being considerate, given that this is about perl 5 and you probably have weightier things on your mind than noob questions :p but... | 14:33 | |
moritz_ | I thought you meant Perl 6 arrays :-) | 14:34 | |
colomon | moritz_: it's the magic thing that gets implements what happens at the end of "when" clauses, for one thing. When it doesn't work, neither does "when". | ||
SirKay | Given the power of hashes, is there a use for arrays in larger, more permanent programs? | ||
jnthn | oh, when is broken? | ||
moritz_ | SirKay: sure | ||
colomon | jnthn: seems that way to me. | ||
jnthn wonders if that's a regression | |||
moritz_ | SirKay: whenever you want to preserve order | ||
colomon | > say sin(1, "radians"); | 14:35 | |
Could not find non-existent sub break | |||
lambdabot | <no location info>: parse error on input `;' | ||
SirKay | Hmm, yes. I understand. | ||
jnthn | colomon: oh. | ||
colomon | That's in ng, and I'm pretty sure the problem is in Any!to-radians. | ||
which is just a given/when statement. | |||
SirKay | Perhaps there is a module that has been written to force hashes into a neat little row like arrays? | ||
PerlJam | SirKay: There's a module to get "ordered" hashes if that's what you mean | 14:36 | |
moritz_ | a hash is a mapping, an array is a mutable list | ||
SirKay | But, it would probably still be slower than just using an array, unless something arcane that requires ordered hashes comes up, right? | 14:37 | |
moritz_ | an array can answer me questions like "what is the first element" or "what is the last element?" | ||
pmichaud | .oO(I'm so happy we came up with the idea of putting regexes and grammars into NQP... much easier to test/debug) |
||
moritz_ | a hash answers me questions like "what's the element for $key?" | 14:38 | |
I don't see a good reason to unify two things that serve so different purposes | |||
jnthn | colomon: I see the bug. | ||
colomon | \o/ | ||
SirKay | I am simply trying to understand why arrays are irreplacable, when we have hashes. | ||
jnthn | colomon: in when_handler_helper | ||
:name('breeak') | |||
colomon | d'oh! | 14:39 | |
jnthn | should be | ||
pmichaud | SirKay: Hashes don't preserve order. | ||
jnthn | :name('&break') | ||
PerlJam | SirKay: It sounds like you're asking for implementation reasons when the reasons are really conceptual. | ||
SirKay | Not inherently anyway, yeah. | ||
jnthn | oops, I mis-spelt int on IRC | ||
SirKay | Perhaps. | ||
jnthn | The problem is the missing & anyway. | ||
moritz_ | SirKay: well, if you want to get a list of keys from a hash, you can to be able to store it somewhere | ||
PerlJam | SirKay: PHP conflates arrays and hashes. (They have a single "array" that does both) | 14:40 | |
jnthn | Adding that back should fix it. | ||
moritz_ | another thing about hashes: they don't permit multiple keys of the same value | ||
that can be a problem for some applications | |||
SirKay | hmm. | ||
jnthn | I need to get off the train Real Soon Now though, and am not sure my compile or test run would finish before I had to go. :-) | ||
moritz_ | lua also unifies arrays ans hashes | ||
colomon | jnthn: I'll take care of it. | ||
moritz_ | s/ans/and/ | 14:41 | |
but IMHO it's not a good idea | |||
SirKay | multiple keys of the same value...I just tested something to see if I understood it, but I didn't. | ||
jnthn | colomon++ | ||
yay, I did something useful today :-) | |||
SirKay | so I probably am imagining int wrong. | ||
it. | |||
not int :p | |||
14:43
JimmyZ left
|
|||
SirKay | thanks for the help everyone. | 14:43 | |
moritz_ | rakudo: my @a = 'a', 'a'; say @a.elems | 14:44 | |
p6eval | rakudo 7ce13d: 2 | ||
colomon | jnthn++ for tracking down the when bug (now fixed on my machine). | ||
Tene | colomon: given/when works now for you? | ||
moritz_ | rakudo: my %a = a=>1, a=>1; say %a.elems | ||
colomon | Tene: based on one quick test, yes. :) | ||
p6eval | rakudo 7ce13d: ( no output ) | ||
Tene | :) | ||
14:45
bluescreen joined
14:46
payload left
|
|||
Tene | colomon: you have commit privs on rakudo? | 14:46 | |
14:46
payload joined
|
|||
colomon | Tene: most certainly. | 14:46 | |
jnthn | colomon++ has been comitting lots of stuff :-) | ||
moritz_ | btw the Perl 6 advent calendar had alraedy 730 visitors today (I think the day is measured in UTC, or so) | 14:47 | |
colomon | moritz_: yes, UTC | ||
moritz_ | s/visitors/views/ | ||
ng_feed | rakudo-ng: colomon++ | ||
rakudo-ng: Fix when handler by switching 'break' to '&break'. jnthn++ | |||
PerlJam | Given the amount of twittering about the Perl 6 Advent calendar I've seen, I'm not surprised :) | 14:48 | |
colomon | Given the regression, I think we clearly need a simple given/when test file that can be added to ng's spectest.data. | 14:49 | |
But I need to kneed some bread now... | |||
jnthn | colomon: I dont think it's a regression I think it was me copy-pasting | ||
omg doncaster | |||
jnthn packs up the laptop | |||
bbl | |||
colomon | jnthn: whatever -- point is, obviously it isn't being test, and should be. | 14:50 | |
PerlJam wonders if colomon is worried about getting a yeast infection on his knees. | |||
pmichaud | colomon: it might be tested, but we just haven't enabled that spectest yet. | 14:51 | |
moritz_ | I'll runn tool/update_passing_blah soon | ||
Tene | colomon: you could also update ... ??? !!! to &fail &warn &die | 14:52 | |
mathw | When it comes to my day for the advent calendar, how do I get my content on it? | ||
moritz_ | mathw: somebody has to invite you to the blog | 14:54 | |
14:54
patspam1 joined
|
|||
moritz_ | mathw: do you have a wordpress.com account? | 14:54 | |
14:54
patspam1 left
14:56
am0c joined
|
|||
moritz_ | mathw: just /msg me an email address, open an account with that address, and I'll add you | 14:56 | |
mathw | moritz_: I do have a wordpress.com account | 14:57 | |
moritz_ hugs mathw. Welcome to perl6advent! | 14:59 | ||
mathw | lol | ||
moritz_ | :-) | ||
mathw | rofl | ||
"Howdy, | |||
You've been invited to Perl 6 Advent Calendar at perl6advent.wordpress.com as an author. | |||
If you don't care, just ignore this email. :) | |||
Cheers," | 15:00 | ||
Looks like it worked | 15:01 | ||
I've got new post options for perl6advent | |||
Writing my first post might be a good use of my train travel time tomorrow | 15:02 | ||
I'm torn between doing something suitably geeky, and knitting | |||
moritz_ | geeky knitting! | ||
mathw | Unfortunately my knitting isn't good enough to do anything geeky with it yet | 15:03 | |
Unlike my friend, who has been making dice bags with little Cthulhus on them | |||
I need to learn how to do that... | |||
PerlJam thinks knitting is a weird skill for a computer geek | |||
mathw | It's something I'm still acquiring | 15:04 | |
Perhaps an unwise choice of hobby for a cat owner | |||
15:04
Day joined
|
|||
Tene | Is it possible to pre-post to the advent calendar, and then have it only show up on the public site on the given date? | 15:04 | |
mathw | But I've only had a few instances of him trying to kill it | ||
moritz_ | Tene: yes | ||
mathw | Tene: wordpress.com should support that, yes | ||
PerlJam | (that said, I did pick up knitting from a friend's mother and made a few coasters, scarfs, shawl before stopping) | ||
mathw | In fact I would recommend it | ||
PerlJam | Tene: yes. | ||
mathw | PerlJam: I can only make scarves at the moment. I have much to learn | ||
I have an ambition to learn to make socks | 15:05 | ||
15:05
arthur-_ joined
|
|||
Tene | I'll sign up for Dec. 17, then. | 15:05 | |
moritz_ has knitted one sock in his life | |||
mathw | But I need to learn many things before then, like knitting tubes | ||
PerlJam | mathw: It's amazing what you can do with the right sized thread, the right sized needles, and a little knowledge of knitting :) | ||
mathw | yes | ||
Tene | I could take Dec 12 too, but I'd like to leave a spot open for anyone else who would like to contribute. | 15:06 | |
moritz_ | Tene: great. Do you know your topic yet? | ||
mathw | Unfortunately I still lose count of simple rib stitch | ||
Tene | moritz_: No, I don't. | ||
mathw | knit 2/purl 2 seems easy... | ||
PerlJam | mathw: I think knitting is something like juggling in that it's a repetitive task that doesn't require lots of thought once you find your groove. | 15:07 | |
Tene | I'll sign up for both, and anyone should feel free to kick me off if someone else wants it. | ||
mathw | yes, that's why I like it | ||
moritz_ also added pmichaud to the calendar | |||
15:07
Day left
|
|||
mathw | but it's easier to do than juggling, because there are lots of places which don't appreciate me throwing balls around | 15:07 | |
PerlJam | pmichaud: do you have a wordpress account yet? | ||
mathw | not that I was ever a very good juggler... | ||
now what was my third topic | |||
moritz_ | PerlJam: already taken care of :-) | ||
pugs_svn | r29240 | tene++ | Take the last two advent slots. If anyone else wants them, feel free to kick me off. | 15:08 | |
Tene | okay, going to work now, afk. | ||
PerlJam | moritz_: excellent! :) | ||
15:08
Day joined
15:12
Day_ joined,
mariuz joined
15:13
rodi joined
|
|||
lisppaste3 | Day pasted "untitled" at paste.lisp.org/display/91438 | 15:15 | |
colomon | Day: you only need to use nopaste for longer things. | ||
moritz_ | Day_: we need people to write tests, modules, documentation, books, compiler, web pages, answer questions etc. | 15:17 | |
mathw | Woo so the advent schedule is now full! | ||
moritz_ | and blogs, of course :-) | ||
15:18
muixirt left
|
|||
lisppaste3 | Day pasted "untitled" at paste.lisp.org/display/91439 | 15:19 | |
PerlJam | Day_: interesting way to communicate. | 15:20 | |
moritz_ | Day_: try webchat.freenode.net/?channels=perl...nick=Day__ | ||
lisppaste3 | Day annotated #91439 "untitled" at paste.lisp.org/display/91439#1 | 15:21 | |
15:21
Day__ joined
|
|||
PerlJam | Day__: hooray! :) | 15:21 | |
(maybe :) | |||
moritz_ | Day_++ | ||
Wolfman2000 | *yawn* morning | 15:22 | |
PerlJam | greets Wolfman2000 | ||
moritz_ | Day__: there should a text box in which you can type directly | ||
Wolfman2000 | won't be around too long: I have one more field experience for this semester, then back to finals working | ||
moritz_ | and then press Return | ||
Wolfman2000 really wants Dec 8th to come quickly...that's when he'll be free. | |||
colomon | Tene: do you have a quick ??? !!! test I can run? I've made the change locally, and the tests pass like before, but I have no idea what it is supposed to do.... | 15:23 | |
Day__ | Would this be the text box? | ||
moritz_ | Day__: yes | ||
Day__ | Ah, yes, so I see it would | 15:24 | |
PerlJam | Day__: welcome! | ||
moritz_ | colomon: sub foo { !!! }; dies_ok &foo; | ||
15:24
payload left
|
|||
Day__ | Okay, thanks for the help. | 15:24 | |
moritz_ | you're welcome | ||
colomon | > use Test; sub foo { !!! }; dies_ok &foo; | 15:25 | |
Unable to parse blockoid, couldn't find final '}' at line 1 | |||
lambdabot | <no location info>: parse error on input `;' | ||
colomon | ?????? | ||
Day__ | So who should I talk with about documentation? | ||
PerlJam | Day__: what do you want to know or do? | ||
Day__ | I mean, possibly helping with documentation? | ||
moritz_ | Day__: with PerlJam, masak, or me (for example) | ||
15:26
bluescreen left
|
|||
Day__ | Briefly, I learned a fair amount of Perl about ten years ago, really enjoyed it, am returning to the project I was working then, have been reading about Perl6, sounds interesting, would like to help. | 15:26 | |
moritz_ | Day__: we have a specification, and some tutorials for Perl 5 programmers | ||
Day__: what we're lack is user level documentation, either for newcomers, or programmers from other languages | 15:27 | ||
Day__: for the latter we're writing a book, to which you could contribute, for example | |||
Day__ | Yes, well that's what I would be good at - user level - especially since I will be relearning as I go along. | ||
moritz_ | github.com/perl6/book/ | 15:28 | |
PerlJam | Day__: Are you familiar with git? | ||
moritz_ | for the rest we don't have a well coordinated effort yet :( | ||
Day__ | moritz: okay, thanks / perljam: no, don't know git. | ||
PerlJam | Day__: are you familiar with revision control systems in general? Subversion, Visual Source Safe, Bit Keeper, bzr, arch, darcs, CVS, SCCS, etc. ? | 15:29 | |
Day__ | revision control system: only conceptually; never used one | 15:30 | |
Wolfman2000 | right...I forgot about the perl 6 book | 15:31 | |
moritz_: Can you please add me to the book access? | |||
Wolfman2000 hopes to contribute something to it | |||
afk | |||
moritz_ | Wolfman2000: what's your github id? | 15:32 | |
PerlJam | Day__: see help.github.com/ to get started with git There are some links at the bottom of the page that are very useful for a git-beginner | ||
Day__ | moritz: presumably I will learn more useful stuff if I look around the /book/ page, so I will mark that and this and get back to you later. Thanks! | ||
And thank you, PerlJam, also! | |||
moritz_ | hugme: add wolfman2000 to book | 15:33 | |
hugme hugs wolfman2000. Welcome to book! | |||
15:33
xinming joined
|
|||
mathw | Yeah I need to write something for the book at some point | 15:34 | |
15:34
Day__ left
|
|||
mathw | I was supposed to be writing documentation from the start... I just sort of didn't | 15:34 | |
mathw hides | |||
PerlJam | mathw: writing is hard :) | 15:35 | |
mathw | PerlJam: yes | ||
Well | |||
No | |||
It's knowing *what* to write that's hard | |||
PerlJam | yes. | ||
Once you figure that out, writing gets alot easier. | 15:36 | ||
mathw | Mmm | ||
PerlJam | Being creative is hard :) | ||
mathw | But even if I don't write, I can proofread | ||
I can correct misused apostrophes | |||
15:36
Day_ left
15:38
Day left
|
|||
PerlJam | I found myself wishing for u4x the other day. (Really, I probably wish for it every day, but most times I can figure it out or look up what I need to know, but the other day I was having a hard time doing that and I pined for a tool that could help me) | 15:38 | |
ng_feed | rakudo-ng: colomon++ | 15:40 | |
rakudo-ng: Update ??? !!! to &fail &warn &die at Tene++'s request. | |||
15:41
bluescreen joined
|
|||
pmichaud | ...on the advent calendar, what's up with the mirrored Camelia? | 15:44 | |
moritz_ | it forgot something, so it's flying back to fetch it :-) | ||
15:44
perlygatekeeper joined
|
|||
PerlJam | pmichaud: mea culpa. Feel free to change it though. :) | 15:45 | |
oh wait .. is pmichaud an admin | |||
? | |||
moritz_ | PerlJam: I gave pmichaud only author privs, so he probably can't | 15:46 | |
PerlJam: but feel free to change that | |||
PerlJam | moritz_: feeling quite free :) | ||
Wolfman2000 | back...had to have some breakfast. | ||
moritz_++: thanks | 15:47 | ||
PerlJam | pmichaud: there, you're an admin, so you should be able to modify the theme. | ||
pmichaud | (not sure I have _time_ to modify the theme today, though) | ||
moritz_ doesn't think there's anything wrong with a mirrored camelia | 15:49 | ||
Wolfman2000 | ...definitely makes me glad I already got my Day 3 post put up | ||
or at least, on schedule | |||
Wolfman2000 won't have much time today or tomorrow either | |||
pmichaud | (mirrored camelia) the "tm" is backwards, as are the "p6" in the wings. :-) | ||
PerlJam | pmichaud: yep. Feel free to change it :) | ||
moritz_ | the mt (mirrored tm) stands for movable type, and reminds us of the shame of not having used a perl based blogging system | 15:50 | |
Tene | pmichaud: term:sym<...> parses, but term:sym<???> and <!!!> don't, with identical rules: { <sym> <args?> } | ||
any ideas? | |||
PerlJam | moritz_: heh! | ||
pmichaud | Tene: prefix:<?> and prefix:<!> are likely getting in the way. | 15:51 | |
Tene | Ooo... | ||
pmichaud | Tene: I don't have full LTM in place to be able to figure those out | ||
Tene nods. | |||
I think I'm planning to work on 'fail' semantics today... unthrown exceptions, etc. | |||
mathw must make sure to make veiled references to how awful PHP is in one of his posts | |||
PerlJam | mathw: We're in the business of building Perl up, not tearing some other language down. | 15:52 | |
15:53
nihiliad joined
|
|||
mathw | I know, I was kidding | 15:53 | |
But I really don't like PHP | |||
Or Java | |||
Tene | mathw: PHP was a really promising simple little template language... it's a shame it never progressed past version 1. | ||
pmichaud | Tene: as a work around, you could add <!before '!!!'> to prefix:sym<!> | ||
mathw | Tene: nice way to put it | ||
15:53
Psyche^ joined
|
|||
PerlJam | mathw: start a "PHP is dead" meme or "Java is dead" see how long you can keep them going. | 15:53 | |
frettled | haha | 15:54 | |
moritz_ | oh come on, beating up a disabled kid is just not fair | ||
and no real fun either, too easy | |||
Wolfman2000 | moritz_++ for representing | 15:55 | |
frettled | If the thread on reddit or whereveritwas hadn't been so Slashdot-at-its-worst, I might have commented that regexp syntax in the languages with PCRE is _not_ the same as in Perl. And for the PHP-friendlies, that PHP messed up the conditional ternary operator, and really has a screwed up reputation for security vulnerabilities, to the extent that ... oh. I'm ranting again, am I not? | 15:56 | |
Wolfman2000 | frettled: ...kind of, yeah | 15:57 | |
mathw | I should clearly never have mentioned it | 15:58 | |
It's just made everyone stressed | |||
I'm going ice skating now anyway | |||
Bye! | |||
Tene | I'm really not sure that I like the "$! is a list of all of the unthrown exceptions" thing... I'll try to implement it anyway, though. | ||
frettled | mathw: stressed? naaah | ||
Tene | bye! | ||
frettled | bibi | ||
PerlJam | frettled: screwing up the ternary op isn't so bad. | ||
15:59
Patterner left,
Psyche^ is now known as Patterner
|
|||
PerlJam | frettled: for the longest time perl had the precedence of ** wrong. Should perl be indicted as PHP for that? | 15:59 | |
frettled | PerlJam: yes. | ||
15:59
quantumEd joined
|
|||
frettled | Principle of least surprise. :) | 15:59 | |
15:59
rgrau_ left
16:00
astrojp joined
|
|||
PerlJam | frettled: getting things wrong will happen. What deserves indictment is not learning and not growing and not fixing. | 16:00 | |
frettled | But then again, Perl doesn't look so much like other C-like languages as PHP does. | ||
PerlJam: and changing things incompatibly in a patch level or minor version. :) | 16:01 | ||
PerlJam | And, as much as PHP annoys me, I prefer to think that PHP (as a community) *is* learning and growing and fixing. They're just going at a different pace than others. | ||
16:02
jaldhar left
|
|||
moritz_ | like... introducing namespaces? | 16:03 | |
PerlJam | sure. | ||
although they haven't yet learned to use a good namespace separator. | 16:04 | ||
But they will | |||
one day | |||
eventually. | |||
moritz_ | and they haven't learned how to choose a good separator | ||
PerlJam | (just like perl 6 will "arrive". one day. eventually.) | ||
frettled | :) | 16:05 | |
PHP as a community hardly exists. But they have something that's pretty darn decent, and always has been: online annotated reference documentation. | |||
AFAICT, PHP has a very fragmented user/developer base/community. | 16:06 | ||
I also think they have been very successful at delivering a language with extremely quick deployment of web services. I hope that the efforts masak++ and others are doing with Perl 6's web libraries will bring us close to that. | 16:07 | ||
Wolfman2000 | frettled: thanks for reminding me. Considering the...state of the economy and my lack of money, I need to try to talk to him about converting some of my websites over to Perl 6 so they can be hosted on Feather. | 16:08 | |
Unless...well, either of you guys won't mind me basically moving in on your virtual space. | |||
16:09
envi^home left
|
|||
Juerd_ | One problem with hosting websites on feather is that they get ugly URLs | 16:09 | |
Wolfman2000 | ...right. Not exactly an easy way to map www.myurlhere.com to feather.perl.nl:1337 is there | ||
Juerd_ | No. | 16:10 | |
Well, you could change the DNS records to point to feather | |||
But as a rule of thumb, I'd like to support that only for Perl 6 projects | |||
Wolfman2000 | I understand. My Perl 6 Pastebin in Perl 5 could possibly fit that, but none of my other works. | 16:11 | |
Juerd_ | A website about Perl 6, or about software written in Perl 6, can get this. But just using Perl 6 to build a website doesn't qualify it. | ||
PerlJam | Wolfman2000: have I mentioned nearlyfreespeech.net to you before? | ||
Wolfman2000 | PerlJam: let me take a look | ||
...sorry, but PHP 5.2 is not a favorite | 16:12 | ||
frettled | heh | ||
Juerd_ | Then which version of PHP do you prefer? ;) | 16:14 | |
Wolfman2000 | Juerd_: very funny. I'm not a big fan of ANY version of PHP. | ||
Heck, I originally built www.pumpproedits.com WITH PHP, and now it's on Python! | |||
And postgresql | 16:15 | ||
16:15
alexn_org left
|
|||
Juerd_ | What's your gripe with php? | 16:16 | |
Wolfman2000 | language is too messy | ||
frettled | It's also way too easy to create code that allows PHP injection, there are a bazillion ways of executing external code (with or without URLs), etc. | 16:17 | |
IIRC, there is no safety net like taint mode. | |||
(safe_mode remains a joke) | |||
16:18
xenoterracide left
|
|||
Wolfman2000 | ...looks like python is possible, but...they want .cgi extensions. In other words, no guarantees for frameworks | 16:21 | |
frettled | mm | 16:24 | |
It's difficult to combine frameworks with performance and security for multi-user setups (webhotels). | 16:25 | ||
CGI is okay-ish, because you can run it with suexec. | 16:26 | ||
16:29
pnate joined
|
|||
Wolfman2000 | PerlJam: ...I'm looking at some numbers, and...while it's possibly tempting, I'm going to want to try to speak to someone on their service first. | 16:30 | |
I just...need confirmation. | |||
PerlJam | Wolfman2000: sure ... I have no stake in you going with them or not. It just seems like a good option when you're on a budget. | 16:31 | |
SirKay | I'm bored. | 16:32 | |
Wolfman2000 | One of the main things that appealed to me with Slicehost originally was the full control. | ||
...I'm starting to wonder if I really need that anymore. | |||
16:32
kaare_ joined
|
|||
Wolfman2000 | afk again | 16:32 | |
16:33
am0c left
16:39
zloyrusskiy joined
16:42
astrojp left
16:46
Guest18680 left
16:47
cdarroch joined,
SmokeMachine left
16:54
mariuz left
17:03
rgrau_ joined
17:07
Wolfman2000 left
17:08
zloyrusskiy left
17:16
riffraff left
17:20
justatheory joined
17:30
SmokeMachine joined
17:43
payload joined
17:46
stephenlb joined
|
|||
moritz_ | hugme: tweet rakudoperl Perl 6 advent calendar day 2: The beauty of formatting at perl6advent.wordpress.com/2009/12/0...ormatting/ | 17:51 | |
hugme hugs moritz_; tweet delivered | |||
moritz_ | I hope pmichaud doesn't consider this use of the rakudoperl account an abuse | 17:52 | |
it's not directly rakudo related | |||
pugs_svn | r29241 | lwall++ | [viv] add named access to the infix op | 17:54 | |
diakopter | moritz_: I doubt it | 18:01 | |
18:01
snearch joined
18:02
xenoterracide joined
18:13
pmurias joined
18:14
rgrau_ left
|
|||
Juerd_ | I like to sit back when I read articles, so I increase font size | 18:14 | |
But the layout of the perl6advent page results in one small column and lost of wasted space :( | |||
juerd.nl/i/6eaeeb8d951be19318b7da17a290943f.png | |||
18:15
pmurias_ joined
|
|||
TimToady | a recent firefox should fix that | 18:15 | |
18:15
pmurias_ left
|
|||
TimToady | with proper settings | 18:15 | |
when I zoom it widens the whole bar | |||
18:17
nbrown_ joined
|
|||
Juerd_ | I'm using a recent firefox though :) | 18:17 | |
TimToady | maybe it's because I set the "also zoom pictures" bit | ||
Juerd_ | Ah, indeed | ||
TimToady | might have to do that via about:config | ||
diakopter | I couldn't use firefox but for the NoSquint addon | 18:18 | |
it rocks | |||
Juerd_ | I've disabled that because it makes most sites a mess. | ||
But thanks; I forgot :) | |||
diakopter | NoSquint alleviates that b/c it saves per-site settings.. | ||
pmichaud | moritz_: I'm fine with using rakudoperl for these tweets | ||
Juerd_ | diakopter: I'll have a look | ||
diakopter: That's a great tool. | 18:20 | ||
pmurias | TimToady: infix:~ doesn't have the new infix attribute | ||
diakopter | I seem to recall having to do something special for infix:~ | 18:21 | |
oh, it was a chain? | |||
I don't remember | |||
18:23
eMaX joined
|
|||
TimToady | pmurias: that's because it's list associative, actually, so infix would actually be a list of operators | 18:23 | |
pmurias | but they would all be identical? | 18:24 | |
TimToady | not necessarily, if there were an adverb | ||
or if two different infixes are really the same thing, such as P6=> and comma | 18:25 | ||
P5=> even | |||
pmurias | std: 1 < 4 <= 8 | ||
p6eval | std 29241: ok 00:01 105m | ||
TimToady | but yeah, they should generally be the same | ||
and I suspect the opp will treat , and P5=> as two different ops and break them apart anyway | 18:26 | ||
so I suppose we could guess for now that args[1] is the same as args[3,5,7...] | 18:27 | ||
but certainly the chaining ops have to track their differences | |||
diakopter | std: 5 <<=>>> 6 | ||
18:27
eMaX left
|
|||
p6eval | std 29241: ok 00:01 104m | 18:27 | |
diakopter | what does <<=>>> mean | 18:28 | |
TimToady | presumably hyper pairs | 18:29 | |
since => wins under ltm | |||
I would write it <<[=>]>> to be clearer | |||
well, I'd actually use «=>» if it came down to it | 18:30 | ||
diakopter | std: 5 <<<=>>> 6 | ||
p6eval | std 29241: ok 00:01 104m | ||
18:31
justatheory left,
nbrown left
|
|||
TimToady | actually, if there's an adverb, I should guess the final infix, not the first one, and then the adverb distributes | 18:32 | |
assuming the adverb comes at the end | |||
should probably spec that... | 18:33 | ||
18:33
synth left
18:34
rfordinal joined
|
|||
diakopter | std: 4() | 18:35 | |
p6eval | std 29241: ok 00:01 103m | ||
TimToady | actually, adverb wraps the whole op these days, so doesn't matter | 18:36 | |
pugs_svn | r29242 | lwall++ | [viv] add infix to list associative ops too | 18:38 | |
diakopter | rakudo: 0() | 18:39 | |
p6eval | rakudo 7ce13d: invoke() not implemented in class 'Integer'in Main (file <unknown>, line <unknown>) | 18:40 | |
diakopter | rakudo: ()() | ||
p6eval | rakudo 7ce13d: invoke() not implemented in class 'Undef'in Main (file <unknown>, line <unknown>) | ||
diakopter | rakudo: .() | ||
p6eval | rakudo 7ce13d: invoke() not implemented in class 'Undef'in Main (file <unknown>, line <unknown>) | ||
diakopter | rakudo: $_() | ||
p6eval | rakudo 7ce13d: invoke() not implemented in class 'Undef'in Main (file <unknown>, line <unknown>) | ||
diakopter | ng: $_() | ||
p6eval | ng c40cae: invoke() not implemented in class 'Mu'current instr.: '_block14' pc 29 (EVAL_1:0) | ||
pugs_svn | r29243 | pmurias++ | [mildew] use the new infix attribute | 18:42 | |
pmurias | TimToady: updated mildew ;) | ||
18:45
pmurias left
18:46
pdcawley left
18:48
pmurias joined
18:49
Bzek left
|
|||
TimToady | diakopter: if your reversing algorithm can guarantee to find the first LTM candidate, it could work as an optimization in grammars that don't backtrack LTM much | 18:53 | |
18:53
rfordinal left
18:54
japhb left
18:57
justatheory joined
19:12
rfordinal joined
19:18
cotto_work left,
cotto_work joined
|
|||
diakopter | TimToady: that includes STD, right? | 19:20 | |
TimToady | I don't plan on introducing that optimization until I figure out whether we need it based on the performance of the char-by-char NFA | 19:21 | |
diakopter | ah | 19:22 | |
TimToady | I'm not sure how much STD backtracks LTM these days | ||
19:22
rfordinal left
|
|||
TimToady | I know it does some | 19:22 | |
diakopter | I worked out an impl of the char-by-char NFA | 19:23 | |
(it could work in Perl 5 just as well as JS) | |||
TimToady | does it allow for the fact that a given rule might return many continuations? | ||
a given char position goes 1-to-many, potentially, if there's a branch | 19:24 | ||
diakopter | are you asking whether it keeps all the intermediary states in case it needs to backtrack? | ||
TimToady | I don't know what you mean by intermediary here. all states are states | ||
diakopter | or asking whether multiple '|' work together? | 19:25 | |
TimToady | every time you match \d* at a char you return a state after \d* and a state before it | ||
s/state/position/ | |||
though ratcheting helps eliminate some of those transitions | 19:26 | ||
19:26
Guest442 joined
|
|||
diakopter | I don't think in terms of 'return' | 19:27 | |
but I might understand you | |||
TimToady | anyway, it's not that I haven't thought through the algoritm I want myself; it's just that I've been too distracted to actually implement it :) | ||
[particle] | i've had the same problem with P = NP | 19:28 | |
diakopter | would you restate the "every time..." line? | ||
19:30
Guest442 left
19:31
jhorwitz joined
|
|||
diakopter | I'm confused by 'after' and 'before' | 19:32 | |
TimToady | you won't be if you think of them as declarative rather than procedural | 19:35 | |
prefix them with "we are currently at a position that is" rather than "look" | |||
oh way, nm | 19:36 | ||
*wait | |||
sorry, distracted as usual | |||
diakopter spinlocks | |||
TimToady | assuming backtracking, matching \d* leaves you in two possible states, one of which points to a position in the regex before \d so it can match more \d | 19:37 | |
and one pointing after it to indicate looking for whatever follows \d* | 19:38 | ||
19:38
ShaneC joined
|
|||
diakopter | yes, each instance of a star node (well, every node) stashes where it started and where it last was | 19:40 | |
TimToady | ratcheting turns the latter from a "before ." transition to a "before \D" transitition, exclusive with the back state to another \d | ||
diakopter | star and plus were the trickiest to figure out... to backtrack properly, they have to keep track of which "lengths"/"extents" each attempted production chewed, so it doesn't miss any | 19:42 | |
each state stashes references to their related states themselves; there's no "returning", which is what's confusing me | 19:45 | ||
unless "returning" means "what's consumed/matched" | |||
TimToady | I use returning to refer to the abstract set of states returned by the function that takes a character and the previous set of states | 19:46 | |
doesn't necessarily mean "return" in an implementation set, more of a mapping | 19:47 | ||
s/set/sense/ | |||
19:48
rodi left
|
|||
diakopter | my nfa simulator must be more overheadish/abstracted than I realized... | 19:48 | |
I mean, it's really just recursive descent | 19:49 | ||
except without the function calls | 19:50 | ||
TimToady | the problem with a lazy implementation is that it doesn't tell you what the set of longest token patterns actually are, which is one of the benefits to the current approach | 19:52 | |
you can just look in lex/STD/P6/termish and see all the patterns it's looking for | |||
diakopter | but if they're ordered properly by each '|' node, it should all just work out..? | 19:53 | |
TimToady | this has been very important to me in debugging the grammar | ||
not everyone can simulate a JIT lexer in their head | |||
diakopter | well, not all the time anyway | ||
:P | 19:54 | ||
19:56
colomon left
|
|||
TimToady | phone | 19:59 | |
diakopter | ng: ()() | 20:02 | |
p6eval | ng c40cae: invoke() not implemented in class 'ResizablePMCArray'current instr.: '_block14' pc 29 (EVAL_1:0) | ||
20:20
reid06 joined
|
|||
diakopter | does anyone know if/where the State of the Onion (video or transcript/slides) 2008 & 2009 are online? | 20:20 | |
20:20
alester joined
20:23
rgrau_ joined
|
|||
ng_feed | rakudo-ng: (Stephen Weeks)++ | 20:28 | |
rakudo-ng: Fix parsing for ??? and !!! until LTM | |||
20:28
pmurias left
20:30
synth joined
20:31
miker_ joined
20:34
ruoso left,
miker_ left
20:46
colomon joined
20:57
justatheory left
21:02
takadonet left
21:07
bluescreen left
21:08
justatheory joined
21:10
reid06 left
21:12
payload left
21:15
payload joined
21:27
SmokeMachine left
21:32
hercynium joined
|
|||
sjohnson | afternoon | 21:36 | |
colomon | 'ello | 21:37 | |
sjohnson | hi! | 21:40 | |
TimToady | 今日は! | 21:41 | |
21:42
jhorwitz left,
japhb joined
|
|||
frettled | «Today, wa!» claims Google Translate | 21:43 | |
arnsholt | -wa is the topic-marker particle in Japanese, IIRC | 21:44 | |
And I bet it's konnichiwa, now that I think about it | |||
frettled | Ahaha. | 21:45 | |
夕方、TimToady. | 21:46 | ||
arnsholt | (Mostly based on knowing that the middle kanji has a possible reading ni) | 21:47 | |
TimToady | that would be 今晩は... | ||
konbanwa | |||
arnsholt | Dangit =) | ||
Of course. Good evening, innit? | 21:48 | ||
frettled | Kum ba yah. | ||
TimToady | literally, "with respect to this evening..." | ||
pmichaud | ".bless" | ||
TimToady | funny thing is, to get the "wa" you have to type "ha", because that's how it's usually pronounced, except as a particle | 21:49 | |
otherwise your は comes out わ. | |||
frettled | The squigglies look all different then. | 21:50 | |
TimToady | sorry, been reading Matz's tweets, which puts me into a nihongo mo-do, er, mode | ||
sjohnson | one good thing about coming here | 21:53 | |
learn about perl 6, and learn some JP ! | |||
21:54
perigrin left,
s1n left,
Tene left,
hanekomu left,
christine left,
RonOreck left,
jrockway left,
jjore left,
p6eval left,
perigrin_ joined,
jrockway joined,
Grrrr joined,
jjore_ joined,
dukelet0 joined,
Tene joined
|
|||
frettled | I'm intrigued by both, but I find it more comfortable and internally rewarding to spend brainpower learning Perl 6. | 21:54 | |
sjohnson | i wonder if the Ruby fans will be like this | ||
:) | |||
frettled | sjohnson: oh, with documentation that was originally in Japanese, sure thing :D | ||
arnsholt | Hmmmmmmm. To what degree is it possible to embed new languages in Rakudo ATM? | 21:55 | |
arnsholt suddenly got a flash of inspiration | |||
frettled | arnsholt: Parrot doesn't support too many different languages yet, and I think it depends on that. | ||
arnsholt | Perl 6 needs a Lingua::Romana::Perligata ^^ | ||
21:56
nsh joined,
sbp joined
|
|||
frettled | arnsholt: ah, you were thinking of natural languages in some way? | 21:56 | |
It would be cool to know enough Japanese to do puns in a Perl 6 program's namespace. | 21:57 | ||
arnsholt | No, I was thinking of a module more or less equivalent to Damian Conway's excellent module, which lets you program Perl in Latin =D | ||
(ref search.cpan.org/~dconway/Lingua-Rom...ligata.pm) | |||
frettled | arnsholt: quite. | 21:58 | |
insane. | |||
arnsholt | Yes. It's quite possibly my favourite CPAN module | ||
Which probably means that I'm completely and utterly deranged, but no matter. I've got a BA in Latin, so I'd better use it for something =) | 21:59 | ||
sjohnson | some of the Acme ones are kind of cute | 22:00 | |
frettled | arnsholt: aha! But that's useful. The BA, I mean. | ||
arnsholt | Oh, yes, very useful. Especially with the support subject (40-gruppe) of Sanskrit ;) | 22:01 | |
frettled | What's a «40-gruppe»? | 22:02 | |
arnsholt | Oh, right, you graduated a while ago | 22:04 | |
Essentially the B$whatever these days is made up of two main parts: the 80-group and the 40-group (the number being the number of credits in each group) | |||
The 80-group is your major, and the 40 your minor, to borrow some American terminology | 22:05 | ||
(and 10 credits is a third of a semester) | |||
frettled | Yeah, I celebrated my M.Sc.-equivalent over eight years ago, took the following day off from work, and watched some arabs go a bit over the top in celebrating both my achievement and my now-current employer's five-year anniversary, with some quite spectacular yet extremely tragic fireworks. | ||
arnsholt | Essentially, my BA is useless. It's made up of three languages that haven't had a native speaker for at least 1500 years. | 22:06 | |
PerlJam | fireworks should never be tragic. :( | ||
frettled | (IOW: an extreme downer after a very happy day on 2001-09-10) | ||
arnsholt | Probably closer to 2500 years in the most extreme case | ||
sjohnson | PerlJam: until someone loses an eye | ||
frettled | arnsholt: so there are 40 credits to each year of study? | 22:07 | |
arnsholt | Each year is 60 credits | 22:08 | |
PerlJam | sjohnson: I was almost that person many years ago. Ened up with a very black face from a large bottle rocket that went off at quite the wrong angle. | ||
arnsholt | In addition to the two groups you have some free credits to spend and a few mandatory courses | ||
frettled | aha | ||
sjohnson | wow glad to hear you didn't get hit in the face. i also was close to blowing up my hand with a firecracker with a short wick | ||
the little red cylinder ones | |||
that make a very loud noise | |||
frettled | sjohnson: as long as we don't make this a metaphor for pugs or rakudo, I'm happy | ||
sjohnson | frettled: worry not friend ! | 22:09 | |
PerlJam | Perl 6 is not a bottle rocket! There will be no explosion or loud bang! :) | 22:10 | |
sjohnson hides under the bed | |||
moritz_ | re | 22:11 | |
sjohnson | re? | 22:12 | |
22:13
trutwijd joined
|
|||
moritz_ | turned | 22:13 | |
PerlJam | one more re and I'll think we're talking about git | ||
dukeleto | PerlJam: Perl 6 is actually a roman candle | ||
PerlJam | dukeleto: perhaps an infinite roman candle. | ||
frettled | In today's Oslo.pm meet-up, krunen and sjn showed us masak++'s poker code on-screen (gist: 244255), and we noticed the following bit of code that had us scratching our heads for a few seconds: | 22:14 | |
22:14
trutwijd left
|
|||
frettled | my @deck = map -> $suit, $rank { Card.new(:$suit, :$rank) }, (Suit.pick(*) X Rank.pick(*)); | 22:14 | |
22:14
kaare_ left
|
|||
PerlJam | frettled: what part confused? | 22:15 | |
frettled | krunen suggested that (Suit.pick(*) X Rank.pick(*) was a work-around for something in rakudo, and that seemed to be a reasonable explanation to me. | ||
PerlJam | "work around"? | ||
frettled | and then the confusion seemingly ended :) | ||
dukeleto | X is the cross-product operator? | ||
moritz_ | yes | ||
PerlJam | I haven't looked at the cod,e but Suit and Rank are enums? | ||
s/,e/e,/ | |||
frettled | PerlJam: mm, there's no need to use pick both in my @deck = ... and @deck .= pick(*), is there? | ||
Lines 65-68 gist.github.com/244255 | 22:16 | ||
Essentially, what you'd want was simply to get the cross-product of the enums, not the randomized enums. | |||
If we understood it correctly, there is (currently) not a way of getting all the elements of enums in rakudo. | 22:17 | ||
Of course we expect masak's code to be technically flawless. :D | 22:18 | ||
PerlJam | I think it's been postulated that enums should behave much like hashes, so you could use the normal Associative methods | 22:19 | |
moritz_ | YourEnum.mapping behaves much like a hash | 22:21 | |
22:23
iblechbot left
|
|||
sjohnson | pick is kinda cool | 22:23 | |
probably make writing card games in p6 a breeze | 22:24 | ||
rakudo: my @cards = <1 2 3 4 5>; my $dummy = @cards.pick; say $dummy~' '~@cards.perl; | 22:25 | ||
PerlJam | Do european card decks have 56 cards? | ||
sjohnson | i don't think so | ||
frettled | nopes, just the standard 52 | ||
sjohnson | i think i broke the compiler | ||
no card games allowed i guess | |||
(´ー` ) | |||
PerlJam | then perhaps the knight or the jack needs to get the axe :) | 22:26 | |
sjohnson | either that or it thinks i called it a dummy | ||
frettled | PerlJam: what made you wonder? | ||
PerlJam | frettled: +2deck == 56 | 22:29 | |
er, +@deck even | |||
frettled | really? | 22:30 | |
how does that happen? | |||
mathw | rakudo: (1..3 Z 4..6).perl.say | ||
PerlJam | frettled: there are 14 ranks times 4 suits. That's 56. | 22:31 | |
22:31
snearch left
|
|||
frettled | PerlJam: 14 ranks? Where? | 22:31 | |
The enum goes from 2, not 1 | 22:32 | ||
PerlJam | 2,3,4,5,6,7,8,9,10, knight, jack, queen, king, ace ... I count 14 things :) | ||
frettled | oh, knight and jack | ||
that was magically fixed in gist: 247670 | 22:33 | ||
phenny: tell masak gist.github.com/247670 | 22:35 | ||
phenny | frettled: I'll pass that on when masak is around. | ||
sjohnson | i guess this is a subtle hint for me to install rakudo myself | 22:37 | |
frettled | good thing we have that Perl 6 advent calendar | 22:38 | |
PerlJam | colomon++ again for setting up the wordpress blog for that. | 22:40 | |
moritz_ | and more than 1000 page views today | 22:42 | |
colomon | Just another example of JFDI. (And setting up a blog was your good idea.) | ||
22:43
RonOreck joined
|
|||
colomon is glad to be reminded again of the power of just blundering ahead and doing it. Works in many (most?) aspects of life... | 22:44 | ||
frettled | yup | ||
PerlJam | JFDI++ | ||
frettled | @karma JFDI | ||
lambdabot | JFDI has a karma of 1 | 22:45 | |
frettled | JFDI doesn't need much karma, it works anyway. | ||
moritz_ | JFDI++ | ||
colomon | JFDI++ | 22:46 | |
sjohnson | is it possible to give karma to made up names? | 22:47 | |
cowie++ | |||
@karma cowie | |||
lambdabot | cowie has a karma of 1 | ||
frettled | bogons-- | 22:48 | |
@karma bogons | |||
lambdabot | bogons has a karma of -1 | ||
22:49
alester left
|
|||
sjohnson | lambdabot++ | 22:52 | |
@karma lambdabot | |||
lambdabot | lambdabot has a karma of 1 | ||
sjohnson | heh, nice | ||
i care about the bots feelings | 22:53 | ||
moritz_ | hugme: hug lambdabot | ||
hugme hugs lambdabot | |||
22:54
IllvilJa left
|
|||
sjohnson | hugme: hug the perl6 dev screw for their hard work | 22:55 | |
hugme hugs the | |||
Tene | "screw"? | 22:56 | |
oh "devs crew" | |||
sjohnson | oops | 23:01 | |
i honeslty didnt mean to do that | 23:02 | ||
maybe that's why hugme didn't follow through | |||
hugme: hug 'everyone here' | |||
hugme hugs 'everyone | |||
sjohnson | who owns the hug bot? maybe it could be programmed with a new features i'd be willing to work on | 23:03 | |
diakopter reads irclog.perlgeek.de/text.pl?channel=...2007-02-03 and feels nostalgia | |||
moritz_ or carlin? | 23:05 | ||
moritz_ | 23:07 | ||
frettled | pointme: hugme | 23:08 | |
pointme | Hugme hugs people! And gives commit access to various repos. It's source is at github.com/moritz/hugme/ | ||
frettled | pointme: pointme | ||
pointme | Sorry, I don't know anything about that project | ||
sjohnson | it's moritz_'s bot? | ||
moritz_ | pointme is carlin's project | 23:09 | |
hugme mine | |||
frettled | yup | ||
moritz_ | hugme: show hugme | ||
hugme | moritz_: the following people have power over 'hugme': PerlJam, TimToady, [particle], jnthn, masak, mberends, moritz_, pmichaud. URL: github.com/moritz/hugme/ | ||
frettled | I thought that pointme knew about itself, but evidently not. Ah, well. | ||
hugme: show pointme | 23:10 | ||
hugme | frettled: sorry, I don't know anything about 'pointme' | ||
frettled | heh | ||
moritz_ | pointme: masak | ||
pointme | masak submits rakudo bugs ;-) | ||
diakopter | pointme: moritz_ | ||
pointme | Sorry, I don't know anything about that project | ||
sjohnson | moritz_: is it okay to do some hugme dev work on it? | ||
frettled | pointme: frettled | ||
pointme | Sorry, I don't know anything about that project | ||
frettled | It should say «frettled frettles» | ||
moritz_ | sjohnson: sure | ||
diakopter | pointme: Perl6 | 23:11 | |
pointme | Sorry, I don't know anything about that project | ||
sjohnson | sweet thanks | ||
23:11
IllvilJa joined
|
|||
moritz_ | sjohnson: it's not updated automatically, so you can't accidentally break things | 23:11 | |
sjohnson: what's your github ID? | |||
sjohnson | i'll know in a sec ;) | 23:12 | |
IllvilJa | When building rakudo using "perl Configure.PL --parrot-gen", what version of subversion is required? I have version 1.6.2 but it seem to be too old, as I get the message "svn: Unrecognized URL scheme for 'svn.parrot.org/parrot/trunk'" | ||
23:13
romanhunt joined
|
|||
sjohnson | moritz_: smujohnson | 23:13 | |
IllvilJa | Also trying to check out latest parrot using the recommended 'svn co svn.parrot.org/parrot/trunk parrot' fails with the same error message. | ||
moritz_ | IllvilJa: works here wiht 1.5.1 | ||
IllvilJa | Hm. Odd. | ||
Ok, I'll google it. | |||
moritz_ | IllvilJa: maybe you don't have ssl support? | ||
23:14
romanhunt left
|
|||
IllvilJa | Ah. Could be a reason. I'll google to see if I need to install some additional package or configure svn to support ssl... | 23:14 | |
frettled | IllvilJa: are you using Debian, Ubuntu or somesuch? | ||
IllvilJa | frettled: I use Red Hat Enterprise Linux | 23:15 | |
frettled | Ah, then I can't help you, but it's probably called libssl or something like that, even there. | ||
23:16
romanhunt joined
|
|||
IllvilJa | frettled: thanks, I'll have a peek. | 23:16 | |
sjohnson | moritz_: how do i join? | 23:18 | |
do i wait for an invite to hugme? | |||
23:22
fridim_ left,
Wolfman2000 joined,
masak joined
|
|||
sjohnson | hugme: hug sjohnson | 23:22 | |
hugme hugs sjohnson | |||
Wolfman2000 | evening | ||
masak | oh hai, #perl6. | ||
phenny | masak: 09:30Z <moritz_> tell masak that I changed two details in your post, s/maps/mappings/ and s/to/too/ - hope that's fine by you | ||
masak: 22:35Z <frettled> tell masak gist.github.com/247670 | |||
sjohnson | sup masak didnt see ya there | 23:23 | |
masak | moritz_: more than fine. | ||
moritz_: thanks. | |||
Wolfman2000 | ...right, it's soon time for my post to be unleashed to the world. | ||
23:23
frettled sets mode: +o masak
|
|||
masak | frettled: is there an easy way in gists to see what it was you changed? | 23:24 | |
oh, did I do both 'knight' and 'jack'? silly me. | 23:25 | ||
frettled | I don't know of a way, I thought there was. But yes, that's the only change. | ||
masak | frettled++ | 23:26 | |
I obviously don't play cards enough. | |||
frettled | masak: I didn't react to it until PerlJam++ had hammered it into my head _three_ times that there were 14 ranks :D | ||
masak | :) | ||
frettled | masak: But perhaps you can answer the question I raised earlier, muahaha... | 23:27 | |
masak hasn't backlogged yet | |||
frettled | masak: irclog.perlgeek.de/perl6/2009-12-02#i_1793321 until 22:18 | ||
masak | this is what I get for sleeping away half the day... :) | 23:28 | |
frettled | heh | ||
you probably deserved it. | |||
masak | frettled: ok, so your question is 'why pick first on the enums and then on the array?' | 23:29 | |
did I get that right? | |||
the .pick on the enums are a workaround until TimToady makes decides how enums will work in Perl 6. :) the .pick on the array is to shuffle the deck. | 23:30 | ||
frettled | Yes, you got it right. So it's not a rakudo work-around, but a TimToady work-around. ;) | 23:32 | |
Then I can claim that the reason that krunen, I, and others were unable to answer that question this evening, was that it's not yet decided, so we _couldn't_ know. Hah. | 23:33 | ||
IllvilJa | Problem with Subversion solved. $PATH and $LD_LIBRARY_PATH had included a directory with a private install of Subversion under my home directory. That Subversion were broken, hence the problem. Now after amending $PATH and $LD_LIBRARY_PATH, I use the system /usr/bin/svn Subversion instead. | ||
Wolfman2000 | aren't enums basically read only arrays? | ||
frettled | IllvilJa: LD_LIBRARY_PATH is evil. | ||
IllvilJa | So now I'm building the latest dev version of rakudo. Dangerous times lies ahead! | ||
frettled: LD_LIBRARY_PATH is a bliss if properly setup. | 23:34 | ||
masak | phenny: tell TimToady look at this comment: perl6advent.wordpress.com/2009/12/0.../#comments -- there's something missing before the '?', probably a <huey dewey louie> which was eaten by the HTML comment sanitizer. would adding an extra parameter :last-separator to .fmt for arrays (and hashes) be worth its weight, you think? | ||
phenny | masak: I'll pass that on when TimToady is around. | ||
romanhunt | hello all. I am a old C and perl (5) programmer who would love to begin helping out. Where do you suggest starting. I need to both learn the parrot src tree and functionality and also read the language spec I suppose | ||
masak | Wolfman2000: no, they are more like hashes than arrays, because they map names to values. | ||
frettled | IllvilJa: which rarely happens :) | 23:35 | |
masak | Wolfman2000: but they're not exactly hashes either. | ||
romanhunt: first off: welcome. | |||
frettled | romanhunt: Have you visited www.perl6.org? | ||
romanhunt: (and yes, welcome) | |||
romanhunt | thx. | 23:36 | |
frettled: no not directly only links off of perl.org | |||
masak | romanhunt: the most important question for you now, I think, is "what do I want to do?". if you don't know, trying a few things out never hurts. | ||
romanhunt | pulled a cp of rakudo and parrot down and got things sorted out | ||
frettled | nice | 23:37 | |
romanhunt | and scanned some mailing lists for TODO's and BUGS but thats about it | ||
frettled | romanhunt: If I recall correctly, perl6.org has a link to a document by moritz++ about Perl 6 for Perl 5 programmers | ||
romanhunt | ok I will read it immediately | ||
masak | \o/ | 23:38 | |
frettled | and don't hesitate to ask any questions here. | ||
you might interrupt my off-topic bike-shedding, but that's just for the best. :D | |||
Wolfman2000 | I agree with frettled. Ask questions. Make them...make us think. | 23:39 | |
frettled | Wolfman2000: oh, especially _them_ | ||
romanhunt | ha ! well thx for the nice welcome. I will do some more reading up and begin to tear into things | ||
IllvilJa | romanhunt: as you probably already noticed, people here are friendly and encouraging. So welcome and good luck with your closer encounters with Perl 6 and rakodo. | ||
s/rakodo/rakudo/g | |||
frettled | [OT] IllvilJa: linuxmafia.com/faq/Admin/ld-lib-path.html | 23:40 | |
IllvilJa | frettled: I've read that one and yes it's an interesting article. But on the other hand, LD_LIBRARY_PATH has served me well when used in a controlled fashion. But yes, when used in a not so controlled fashion... ;-) | 23:42 | |
frettled | IllvilJa: I used to do so as well, until I read the origin for that article in the mid nineties :) | 23:43 | |
I haven't missed it since. But a few years ago, I stopped fiddling with that part of compiling myself, now I'm mostly grateful for Debian package maintainers' amazing work. :) | 23:44 | ||
IllvilJa | Distribution package maintainers, regardless if it's Debian, Red Hat or Gentoo, usually does a quite fantastic job. Sure, mistakes might happen, but it is a huge effort they take on. | 23:45 | |
'make spectest' for rakudo is a good way to ensure that your computer will have a busy CPU for a looong time. | 23:48 | ||
masak | could somebody help me? I tried to extend .fmt to handle $lastsep: gist.github.com/247746 | 23:51 | |
but the for loop doesn't run properly; it seems that the elements of .kv get bunched together in Pairs, or something. | 23:52 | ||
frettled | Isn't that essentially the same as your $suit, $rank { Card.new(:$suit, :$rank) }, ... | 23:55 | |
masak | in what sense? | ||
Wolfman2000 | Hmm...card game... | ||
frettled: good idea. | |||
Tene | masak: is 'given' specced to work like that? returning the last value from the 'when' block? | ||
masak | Tene: yes. | 23:56 | |
Tene | Oh. I should fix that in ng, then. | ||
masak | :) | ||
frettled | masak: in that you have a pair of values on the RHS of -> | ||
masak | frettled: well, I have a list on the RHS. | ||
frettled | my intuition tells me that I'd expect pairs. | ||
masak | which gets split into tuples. | ||
oh well. now I have a version that works. | 23:58 | ||
but I don't get why that one didn't work. | |||
I'm haunted by bugs. :) | |||
frettled | because of quantum | ||
masak | I did like this instead: gist.github.com/247746 | 23:59 | |
frettled | yup, I reloaded and saw it | ||
I think it's easier to understand what you want to do now, too. |