»ö« | 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␤
.. whitespace␤FA…
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␤
.. whitespace␤FAI…
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␤
..whitespace␤FAILED 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␤
..ws␤FAILED 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␤ terminator␤FAILED 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 Radians␤in 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 &TrigBase␤current 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 &pi␤current 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 &pi␤current 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 expected␤current 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 expected␤current 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 expected␤current 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: hi␤5␤
diakopter rakudo: sub foo { CONTROL { say 'hi'; return 6 }; return 5 }; say foo()
Tene infinite loop!
p6eval rakudo 7ce13d:
..hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤hi␤h
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: hi␤Could not find non-existent sub leave␤in 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: hi␤Could not find non-existent sub give␤in 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: hi␤5␤
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 value␤current 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: 42␤Null 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: 42␤Null 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:
..Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤W…
JimmyZ oh 13:50
ng: loop { continue; }
p6eval ng 145824:
..Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤Warning␤W…
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.