pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | evalbot: perl6: say 3; (or rakudo:, pugs:, elf:, etc) | irclog: irc.pugscode.org/
Set by mncharity on 5 January 2009.
jnthn Limbic_Region: Yes, there are issues with NaN and Inf floating point numbers that cause a bunch to fail. :-( 00:20
jnthn -> sleep 00:39
shinobi-cl hi all 02:57
i want to know all u ppl opinion, if you care :) 02:58
i have some old perl code to read some doom files...
and im looking for a rather large project where to spend my time..
so, the thing is... if i wanted to do a doom port in perl (i?ve seen even Delphi ports!) 02:59
do u think is a good idea starting on perl6?
i dont care for 3d rendering, in fact i like software rendenring much more 03:01
shinobi-cl so 3d libraries are not an issue, timers are more an issue in fact (as old doom uses 35hz for timing) 03:01
shinobi-cl now tht perl5 has a decent and usable oop implementation i?m tempted to start it on perl5 03:07
shinobi-cl lalala 03:20
buu Haha 03:37
"now that perl5 has oop"
shinobi-cl well 03:43
not NOW really
by now i mean SINCE MOOSE
that lib alone makes oop in perl an enjoyable thing 03:44
buu Wow. 03:47
shinobi-cl :/
so, now a project like a computer game is feasible in perl5 03:48
but... im still not decided if making something in perl5 would be a waste of time, being that p6 seems ?close? by now 03:49
ahh fuck it, i?ll do it in perl6 03:54
night all
mdxi that was pretty awesome 04:07
mberends masak: OH HAI 05:26
masak mberends: OH HAI
mberends U HAZ DO SVG?
masak IS DO IT NAO. 05:27
mberends U HAZ C MI SVG? autoexec.demon.nl:8888/svg/ 05:28
masak O, I C!
mberends++ 05:29
mberends SIZ SVG IS BIG & SMAL 05:29
masak YA -- IZ BIG & SMAL & SLICES
mberends SLICES = CROP R CLIP R SUMTIN 05:30
masak IZ VRY GOOD. I CAN HAZ MORE CODING SVG NAO. 05:31
mberends++ 05:32
mberends U C SVG TINY? IZ BETR 4 U & LIL SYS. www.w3.org/TR/SVGTiny12/ 05:33
masak YA -- I CAN HAZ C. 05:37
mberends OK I GOAZ 2 WRK BAI
masak BAI!
masak mtnviewmark: hi! 05:49
how's it going?
mtnviewmark good!
I've made my way through most of STD.pm
there are lots of discrepancies between STD.pm and Syn03 05:50
masak mtnviewmark: that's something we need to address.
mtnviewmark I'm making a list -- which do you think is considered more authoritative?
masak STD, but I also guess it depends.
mtnviewmark oh - really? fie I was hoping the Synop 05:51
masak STD.pm is newer, in a sense.
it's what $larry has been working on lately.
mtnviewmark hmmm... okay, though some of the issues seem like clear STD.pm errors -- mostly associativity declarations
masak also, there's something to be said for an executable specification :) 05:52
masak IIRC, it passes the whole test suite... OTOH, that doesn't mean it's correct. 05:52
mtnviewmark if I assemble a list of differences - and posted it to the perl6-dev mailing list, would that be likely to get a response from $larry or others involved in adjudicating such differences?
hmmm.... I wonder if there is really a postfix:<i> operator! 05:53
I'm not even sure how you'd write such a thing!
masak moritz_: p6l.
sorry, mtnviewmark: p6l.
mtnviewmark p6l?
masak mtnviewmark: and I think you will get a response within a few days.
perl6-language.
and yes, there is a postfix:<i> 05:54
rakudo: say 4 + 5i
mtnviewmark ah - okay, I'll subscribe and send my findings when I've gotten through the end -- (currently at %conditional)
p6eval rakudo 35576: OUTPUT«4+5i␤»
mtnviewmark oy!
masak :)
clear omission from S03, yes.
rakudo: say (1 + 2i) * (4 - 5i)
mtnviewmark and one wonders how you apply it to a varaible, say $t
p6eval rakudo 35576: OUTPUT«14+3i␤»
masak mtnviewmark: you don't, I guess. 05:55
mtnviewmark std: my $t; ($t)i;
p6eval std 24912: OUTPUT«00:05 83m␤»
masak rakudo: my $t = 5; say ($t)i;
p6eval rakudo 35576: OUTPUT«0+5i␤»
masak huh! :)
mtnviewmark by the way - what is that supposed to mean? the output format from std: ???
masak mtnviewmark: I think it's the number of seconds. I don't know what 83m means. 05:56
TimToady 83 megabytes 05:57
masak ah. 05:58
TimToady rakudo: my $t = 5; say $t.i
p6eval rakudo 35576: OUTPUT«Method 'i' not found for invocant of class 'Int'␤current instr.: '_block14' pc 80 (EVAL_17:44)␤»
masak TimToady: should that work?
TimToady think so
masak submits rakudobug
TimToady pugs: my $t = 5; say $t.i 05:59
p6eval pugs: OUTPUT«*** No such method in class Int: "&i"␤ at /tmp/DFnrL3cinP line 1, column 16 - line 2, column 1␤»
TimToady hmm
rakudo: my $t = 5; say $t\i 06:00
masak well, it's only fair -- if [] and {} have dot forms, why not i?
p6eval rakudo 35576: OUTPUT«Statement not terminated properly at line 1, near "\\i"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
TimToady rakudo: my $t = 5; say $t\ i
p6eval rakudo 35576: OUTPUT«0+5i␤»
masak heh!
I'll submit that $t\i one as well.
mtnviewmark just noticed that STD has .= forms at same precedence as = 06:01
TimToady indeed, syntactically it's just an assignop 06:02
mtnviewmark okay, Syn03 has it with the other . ops, down at %methodcall 06:02
masak mtnviewmark: no, that's another .=
TimToady that means the postfix, not the infix
mtnviewmark oh - there are two?
masak :) 06:03
TimToady $x.=foo is parsed as postfix
$x .= foo is parsed as (weird) infix
mtnviewmark 'k - then that one is missing from Syn03
(I think)
TimToady S03 isn't particularly complete
esp. the table is not intended to be exhaustive 06:04
mtnviewmark hmmm... well, so much for basing my updated chart on it.... ;-O
no, I scoured the text...
but now I'm reading STD.pm
TimToady as mentioned, STD is more recent thinking
S03 hasn't caught up in every respect
mtnviewmark is that true for associativity? There are many discrepencies there 06:05
TimToady would have to see the individual cases
mtnviewmark Okay -
%autoincrement isn't :assoc<left>
%symbolic_unary isn't :assoc<left> or :assoc<right> as needed
%concatenation is :assoc<left>, not list as in Syn03
%named_unary isn't :assoc<left>
%tight_and is :assoc<left>, not list as in Syn03
(token infix:sym<^^> is hand set to list)
%conditional is :assoc<right>, not left as in Syn03
(heh!)
TimToady but while STD can parse all of t/, it doesn't necessarily do it right :) 06:06
well, default is left 06:07
mtnviewmark oh - I couldn't find that - is that just implicit in the code for EXPR?
TimToady and for some things it doesn't really matter if left or list
yes, EXPR
assuming I recall it correctly, it's been a while 06:08
mtnviewmark doesn't left or list kind of imply whether it is a chain of calls, or one call with many args (to some conceptual, underlying function?)
TimToady yes, but where the op would end up with the same semantics, list is just an optimization, like for concatenation 06:09
but it should probably be list in STD
(for that reason)
mtnviewmark hmmmm... I thought && being :assoc<list> was nice and clear, though I understand how it is the same as :assoc<left> 06:10
TimToady hmm, is conditional really left in S03? that'd be an oopsie
mtnviewmark the chart currently has it as Infix, List
yes - it is
mtnviewmark er, infix, List was for && that is 06:10
TimToady understood 06:11
mtnviewmark did \ cease to be an operator?
seems so
TimToady prefix:<\\> is kind of an operator
mtnviewmark and <== and friends seem to have become operators (they aren't in Syn03) 06:12
TimToady but it requires an absence of whitespace after it
go back and forth about feed ops, but it's easier to treat them as ops, I think
mtnviewmark okay, but the grammer in STD.pm doesn't seem to parse prefix:<\\> as an operator
TimToady and anyone who mixes foo ==> bar if $baz is just asking for it anyway 06:13
hmm
mtnviewmark at least not at the precedence level of prefix:<|>, prefix:<^> and prefix<=>
TimToady it's a <capterm> looks like
mtnviewmark yes - even though I was basing on Syn03, I put them on the chart anyway - they felt far too much like operators
but, based on STD.pm today, I'll put them in the main area 06:14
TimToady anyway, STD is close to right
*closer 06:15
I'll try to glare at it all tomorrow and align it
mtnviewmark good - now I just have to plow my way through the twisty maze of meta-op parsing and dottyop parsing
TimToady mtnviewmark++
mtnviewmark I'll produce a list of differences as I found them and post to perl6-language 06:16
TimToady have the appropriate amount of fun :)
thanks
mtnviewmark I'm sure it'll drive me dotty....
TimToady sniggers
I don't recall, did you treat metaops like actines/lathinides before? 06:17
*actinides
there's no way to draw a chart with them all nowadays, however 06:18
the metaops in STD aren't even generating all the ones there ought to be yet
masak Perl 6 operators have finally passed the barrier of tractability :) 06:19
TimToady @a X>>=:=<<X @b 06:20
lambdabot Maybe you meant: activity activity-full admin all-dicts arr ask . ? @ v
TimToady maybe I did at that
masak lambdabot++
lambdabot: you're much nicer than that purl girl.
TimToady hello masak, you fantastic person you! 06:21
masak haha
mtnviewmark No - i didn't treat them as auxiliary series - those were the no lost file text operators 06:24
the only meta op back then (2004) was hyper, and it was it's own
the new metas have a special place above the table now (and have crowns and royal sashes) 06:25
(!)
alas, the loss of the file operators meant my great joke of the "Filinis" at precendence 8-1/2 is gone
masak mtnviewmark: I realize that TimToady didn't get a copy of the new table. maybe one of us should send him one? 06:26
he does have some inside knowledge in these matters, after all. 06:27
mtnviewmark well - you could send him the "Almost the Third Edition"... but I'm getting close to "Breath from the Third Edition" 06:27
and now STD.pm is going to have me do some arranging. 06:28
masak :)
I'll let you decide.
mtnviewmark I could send it to him too.... though my message might get lost in his inbox
TimToady I'm pretty busy at work, so take your time
mtnviewmark thought TimToady got to do this for work.... 06:29
:-)
TimToady some of the time
and some of the rest of the time too :)
but not all of the time
mtnviewmark wonders about temporal junctives.... 06:30
moritz_ good morning 07:29
masak guten morgen! 07:30
masak wishes he had clones who could do more work for him 07:32
Patterner masak's clones probably wish the same...
masak I've got November, Druid, u4x, two secret projects that might not amount to anything... and that's just the Perl 6 stuff 07:33
then there's Real Life: work and uni.
oh, and S29, and diverse Rakudo improvements.
masak does anyone want to help me figure out why November p6w doesn't build? 07:39
pasteling "masak" at 130.238.45.242 pasted "November p6w build failure" (40 lines, 3.4K) at sial.org/pbot/34489
masak that 'line 3, near ";\n\nUse Con"' makes me suspect that the error is in Tags.pm 07:40
but building Tags.pm individually works fine. 07:41
moritz_ November.pm also uses Config 07:48
masak aye, but not on line 3. 07:49
a lot of the modules use Config.
(which should really be named November::Config, by the way)
moritz_ if I precompile Config.pm,, it takes much more time before the same error appears
masak what might that mean? 07:50
moritz_++ # for investigating
moritz_ dunno
masak if I precompile Config.pm, I get another error when making November.pm 07:51
pasteling "masak" at 130.238.45.242 pasted "another error" (23 lines, 1.8K) at sial.org/pbot/34490
moritz_ after 'make Config.pir' I still get the "parse role" error 07:52
moritz_ tries 'make -k' 07:53
masak what's '-k', precious?
moritz_ the same as --keep-going 07:54
ie don't abort on error, but build what you can
masak cool.
moritz_ makes no difference here
masak huh -- just made clean, then Config, then November -- now I get a _third_ error! 07:55
"Could not find non-existent sub Config"
:(
moritz_ weird
masak the order clean, Tags, Config, November again produces the Null PMC access. 07:56
there's something rotten in the state of Denmark.
Khisanth didn't know there were than many Danish developers 07:57
masak Khisanth: have you read Hamlet?
Khisanth yes :)
masak ok. 07:58
moritz_ did not, but still knows the qutoe 07:59
*quote
masak I've a good mind to submit all of this as a rakudobug, even though I know that it's not the most helpful approach.
November is not meant to be a sieve for all this brokenness, the test suite is. 08:00
masak grumbles
moritz_ what we ought to have in the test suite are a few modules that actually *do* something, and that include one another etc.
masak yes, of course. 08:01
moritz_: and I'm not blaming you specifically for that. it's just something that's not there yet, but ought to be.
moritz_ i know 08:02
moritz_ ideally I'd like to have a small application sitting in the test suite 08:02
Matt-W Morning 08:03
masak Matt-W: \o
Matt-W Sounds like we need to put some more stuff in the test suite
masak November has been exceedingly unlucky the past week. after I got it out of its half-month bit rot, the rvar branch merged. after I fixed _that_, jnthn's branch merged. :/ 08:04
Matt-W: oh yes.
masak if someone with the tuits and enthusiasm wishes to reduce the current November build failures to a minimal case, I'd be very grateful. 08:06
I could do it, but I've been going at it for a week now, and I feel like the Red Queen.
actually, forget about the clones. I need volunteers. 08:07
volunteers, here's how you volunteer: (1) acquire November. (2) cd november/p6w. (3) make. (4) observe the error. (5) fiddle with things (comment out and remove code, make names shorter and re-order stuff) until the error is isolated. (6) profit! 08:10
kthxbai.
masak it's actually fun work, like being Sherlock Holmes for a day. I usually find it mentally rewarding. 08:11
moritz_ (7) send bug report
masak aye, or paste it here. whatever. 08:12
mberends masak: POD HAZ BITROT 2 08:12
masak mberends: OIC.
IT SUX
but that's what being an early adopter means. I'm not surprised or disappointed or anything. in general, this is a fun ride. 08:13
mberends tip: s/perl6 --target=pir/parrot perl6.pbc --target=pir/
masak mberends: aye, good idea. 08:14
ihrd did the inverse subst some time ago. I guess he thought it was a good idea.
reverting that now. 08:15
masak pushed. 08:16
jimmy_ 测试 08:17
masak the error persists.
jimmy_ Test 08:18
mibbit++
masak indeed.
jimmy_ it can tranlate languages. 08:19
s/tranlate/translate/ 08:20
Patterner 失败 08:21
jimmy_ perl6 has been in development, progress a bit slow
masak jimmy_: fell free to help. 08:22
s/fell/feel/
jimmy_ I played out in Chinese characters, was mibbit automatically translated into English to irc 08:23
masak well, that's close, I guess. 'played out' should have been 'typed'.
jimmy_ Yes, automatic translation is not very accurate 08:24
masak we're not quite there yet, no. :)
jimmy_ just I typed : 是的,自动翻译不是很准确 08:25
Matt-W I like this stage, it's like back at the start of the process on perl6-language when I used to venture obvious opinions
There's a feeling like you can shape where this amazing thing is going
masak aye.
Matt-W Except at the moment, seeing part of the language implemented and actually being able to write code in it, I can see that it's a far better language than I imagined it would be back then 08:26
masak I like the distance Rakudo has come already.
pmichaud++ and jnthn++ do impressive things with their bare hands. 08:27
jimmy_ seems that mibbit used google Translation
masak jimmy_: not that surprising :)
jimmy_ masak: a little 08:28
Matt-W masak: I remain in awe of their work. The whole thing just makes my head spin, which is why I'm so keen to look at documentation. It's something I can comprehend, and yet it's also very helpful to people. 08:29
jimmy_ freenode servers will be restarted? 08:30
masak Matt-W: same here. I can do small things on Rakudo, but that's all.
Matt-W masak: I basically understand PIR and I thought I understood how Rakudo was put together, but whenever I look at seeing about fixing something in RT, I can't find the code responsible for it 08:35
masak that happened to me a lot during the summer. it's sort of the head-against-wall phase.
it passes, to a certain degree at least. 08:36
Matt-W At some point I'm going to have to see if someone can guide me through some of it, that would probably be hugely helpful 08:37
masak Matt-W: sure. we should take and afternoon some day.
s/and/an/
Matt-W yes
masak rakudo: say * ~~ Whatever 10:12
p6eval rakudo 35577: OUTPUT«1␤»
Matt-W Is Whatever a special thing 10:19
moritz_ either a special, or a very normal thing, depending on your point of view :-) 10:20
masak whatever... 10:31
jnthn hi all 11:26
Matt-W hi 11:31
jnthn gets back to parametric roles 11:32
jnthn moritz_: ping 12:25
moritz_ jnthn: pong 12:26
jnthn OH HAI
I'm looking through parameterized.t
It seems to muchly test mixins of parameterized roles, so I may rename it appropriately.
However, I spotted this:
jnthn lives_ok {$a does InitialAttribVal[42]}, 12:27
and later
ruoso Hello!
jnthn ok !$a.HOW.does($a, InitialAttribVal[42]), ".HOW.does gives correct information (1-2)";
hi ruoso
Why would this be expected to hand back false?
moritz_ jnthn: probably the test is wrong 12:31
jnthn: I just updated it synactically, I haven't reviewed its semantics 12:32
jnthn: since you understand the topic much better than I, feel free to change the tests as you see fit
jnthn moritz_: OK, if you've not reason to believe it really should work that way, then I'll happily change it.
Just wanted to check you didn't have spec-based reasons for writing it like that. :-) 12:33
moritz_ www.thealmightyguru.com/Humor/Docs/...eFoot.html # old, but still very good
jnthn haha! 12:35
moritz_ I particularly liked the ones about assembly and modula-2
masak yes, that one's a classic. 12:37
what would be a worthy Perl 6 analog of the items in that list? 12:39
rakudo_svn r35586 | jonathan++ | [rakudo] Get parametric roles working with mixins via the does operator. 12:40
moritz_ what's the difference between does and but? 12:40
jnthn but does a copy first
jnthn And then does it to the copy 12:41
(literally, it is defined in terms of infix:<does>)
ruoso masak, "when Perl 6 is out you find out that your specie evolved and no longer carry a foot"
ruoso hides
moritz_ so does modifies in-place?
jnthn moritz_: aye. which was...painful...to make work. :-)
ruoso moritz_, the operator does, not the method
masak ruoso: boo :) no more of that meme.
ruoso: I want something that highlights the beauty of Perl 6, but still points out its weaknesses. being late is not a weakness in this case. 12:42
pmichaud "Perl 6 gives you even more ways to shoot yourself in the foot. You can even shoot both feet at the same time, as well as any permutation of your feet and others' feet that you wish. Fortunately, you soon wake up and discover that it's all just a dream, since Perl 6 doesn't exist anyway." 12:43
ruoso masak, readibility problems in Perl 5 is FUD, IMNSHO
masak ruoso: I agree.
ruoso: that doesn't mean we have to make FUD jokes ourselves. 12:44
moritz_ but it's fun, sometimes :-)
masak moritz_: of course. :)
ruoso "you might have shot or not your foot, but you have to wait for the possibilities to collapse"
masak pmichaud: my colleague always teases me about Perl 6 being 'vapourware', since he knows it makes me steam inside. he liked your description above. 12:45
ruoso: I like the direction that one is going. 12:46
'you try to shoot both feet using MMD and junctions, but it turns out that you've misunderstood the syntax, and you car explodes instead' 12:47
moritz_ "Perl 6 makes you shoot your (and everbody else's) feet from at least eight angles at the same time, but you discover that two directions aren't implemented yet, and the other six are bullets are too slow to hurt you:
ruoso you know, every time I see the "Perl is dead" or "Perl 6 is vapor" I think: If perl were dead and perl 6 irrelevant we wouldn't see so much fuz about it... it would simply disappear...
moritz_ s/:/"/
jnthn try { shoot_foot and die } or fail 12:48
masak ruoso: I wish it worked like that. people calling a thing dead can help kill that thing.
moritz_ jnthn: NULL PMC access in type()
:-)
masak moritz_: :D
jnthn # at least make it *compile* guys...we didn't cargo-cault English into Perl 6 for nothing ;-)
Well, half of English. 12:49
masak jnthn: sure, but as moritz_ pointed out, it doesn't run.
jnthn rakudo: try { shoot_foot and die } or fail
p6eval rakudo 35586: RESULT«{ ... }»
jnthn It's fine.
masak oh good.
what's that result?
jnthn rakudo: try { shoot_foot and die } or epic fail 12:50
p6eval rakudo 35586: RESULT«{ ... }»
masak !
moritz_ jnthn: fail() should return some kind of undefined value
jnthn rakudo: try { shoot_foot and die } or omg anything here I will do a lightning talk on this fail
p6eval rakudo 35586: RESULT«{ ... }»
masak :)
pmichaud snickers.
jnthn (or course, we never invoke any of the preceding listops because fail throws a return exception...)
It's great for documentation though. 12:51
masak makes for more English-like code.
jnthn could not be bothered fail()
masak haha
jnthn weird fail()
ruoso masak, but I also have a strong belief that Perl 6 will be as revolutionaire as Perl itself was. So I just keep working and thinking "you'll come back and ask for forgiveness" ;) ;)
masak rakudo: I can write anything before fail
p6eval rakudo 35586: OUTPUT«No exception handler and no message␤current instr.: 'return' pc 15582 (src/builtins/control.pir:39)␤»
pmichaud rakudo: try { shoot_foot and die }
p6eval rakudo 35586: RESULT«Null PMC access in find_method()␤current instr.: '_block14' pc 74 (EVAL_16:43)␤»
masak submits rakudobug
moritz_ ok, it's find_method, not type that Null's out 12:52
:-)
that sure looks like progress
masak ruoso: trolls don't ask forgiveness. but helping release a great product can be rewarding, yes.
ruoso masak, not everyone that buys FUD is a troll
most of them are inocent bystanders 12:53
masak ruoso: point.
I sure has taught me not to make judgments laregly based on rumours.
s/I/it/
masak Concurrent Euclid: You shoot yourself in somebody else's foot. 12:59
I've always liked that one.
pmichaud rakudo: my $x = :a<5>; say $x.map({ ; .key => .value + 1}).perl; 13:23
p6eval rakudo 35589: OUTPUT«["a" => 6]␤»
pmichaud rakudo: my $x = :a<5>; say $x.map({ .key => .value + 1; }).perl;
p6eval rakudo 35589: OUTPUT«Method 'key' not found for invocant of class 'Failure'␤current instr.: '_block14' pc 101 (EVAL_16:49)␤»
masak pmichaud: should the former one work, or are my expectations wrong? 13:25
moritz_ pmichaud: that's because it's parsed as hash, I think
masak s/former/latter/
moritz_ pmichaud: and it could very well be what the spec says, but I'm not sure
masak either
pmichaud I'm not clear on the spec here either.
Rakudo sees the "block" as a hash composer, because it consists of a single Pair.
so it executes it "immediately", per the spec. 13:26
moritz_ so it's "works as designed"?
pmichaud depending on how one interprets "designed", yes :-)
Matt-W Hmm I like the one about CSS: "You shoot your right foot with one hand, then switch hands to shoot your left foot but you realize that the gun has turned into a banana." 13:27
even though CSS is not a programming language
moritz_ there's a lot of truth in that page
pmichaud anyway, I think we'll need some spec clarification before Rakudo can do anything about that one.
Matt-W I wonder if Haskell would be "You give your foot to the gun, which returns you a different foot with a bullet hole in it" 13:28
moritz_ probably :-) 13:29
... but only after studying typ^Wballistic theory for two years 13:30
Matt-W Although I'm sure there's potential to bring Monads into it, there's always potential for Monads in a Haskell joke
Or maybe arrows or applicative functors
masak Matt-W: 'you read a tutorial about the Gun monad, try to shoot yourself in the foot for a few hours, and after a few hours emerge with a beautiful two line program for shooting yourself in the foot ... that the compiler won't accept.'
moritz_ Matt-W: especially about writing a Monads tutorial
Matt-W I got my head around Monads pretty easily actually 13:31
jnthn "Then somebody gives you a kick in the monads"
Matt-W The problem was, then I tried to deal with arrows
masak Matt-W: :)
Matt-W and when I finally figured out what they were (or so I thought), they started throwing applicative functors at me
moritz_ Matt-W: I thought I understood Monads at one point conceptually, but I still lost the war against the type checker
masak there's always one more level.
Matt-W I used state monads extensively in my compiler project 13:32
the trick I found was understanding what the monad syntax is sugar for, and then what the real syntax means, and then it all fell into place 13:34
masak yes, something similar for me with monads. and with git. 13:35
jnthn OK, slovak class 13:39
jnthn is still fighting a weird bug
with parametric roles and mixins
back later 13:40
Matt-W envisages jnthn jumping up in the middle of his class and shouting "I've got it! That's the problem!" and running for a computer to fix the bug 13:41
masak except he shouts it in slovak. 13:49
Matt-W Well of course, but I don't speak any Slovak so I can't provide an accurate quote 13:53
pmichaud eval("I've got it! That's the problem!", :lang<slovak>) 14:17
masak :) 14:21
Matt-W umm 14:23
Matt-W wouldn't that try and interpret it as written in Slovak? 14:23
pmichaud Sure, thus solving the problem. :-)
Matt-W or causing a parse error 14:24
pmichaud what Rakudo will really want is: eval("...", :target<lolcode>) which runs the "..." source through the compiler to produce LOLCODE output :-)
Matt-W heh 14:25
why would you want to produce LOLCODE? :P
pmichaud CHEEZBURGERS
Matt-W Although I think I actually understand the LOLCODE compiler in the Parrot repository, so it does have a purpose :) 14:26
pmichaud understanding being one of its purposes :-) 14:26
er, "promoting understanding" being one of its purposes.
Matt-W yes, and it's serving it quite well really 14:30
maybe I should redo my dissertation compiler using PCT
Would be really easy I think
rakudo_svn r35592 | pmichaud++ | [rakudo]: spectest-progress.csv update: 284 files, 6254 passing, 0 failing 14:40
Matt-W hurrah! 14:41
jnthn is back 15:42
Sadly, I didn't have any flashes of insight about the bug during Slovak class. :-( 15:43
Hmmm...a Perl 6 grammar to parse Slovak. :-)
pmichaud std: my $t = 5; $t\i 15:52
p6eval std 24912: OUTPUT«############# PARSE FAILED #############␤Syntax error at /tmp/7zlQrv1NB3 line 1:␤------> my $t = 5; $t\i␤ expecting any of:␤ POST␤ infix or meta-infix␤ infix stopper␤ postfix␤ postfix_prefix_meta_operator␤ standard stopper␤
..statement modifier loop␤ terminator␤ wh...
masak hm, did I remember to report that to the ticket about postfix:<i>? don't remember. 15:57
pmichaud you reported that it didn't parse in Rakudo. 15:57
I'm replying now to report that it doesn't parse in STD.pm either (duplicate of RT #60148, for that part) 15:58
(replied.)
masak ok. good. 16:00
jnthn does a spectest run, hoping his changes don't cause epic fail 16:13
rakudo_svn r35593 | infinoid++ | [codingstd] Fix a trailing_space.t failure in rakudo. 16:20
masak ok, I found the parsing error in November from this morning. 16:21
November builds now. 16:22
\o/ 16:23
moritz_ what was the problem? 16:28
masak a line 'role Session;' that wasn't the first line. 16:34
the error message wasn't very helpful.
'make test' still gives errors, but it does it faster now that building works. :) 16:40
moritz_: maybe I will follow your idea now and make the test target depend on all
I also have an idea of how to temporarily fix the test failures. 16:41
TimToady do you ever try parsing November with STD? It might find certain errors quicker, and future proof you against rakudo convergence with STD 16:46
it might have found the role problem, for instance
masak TimToady: it's an interesting suggestion.
I don't currently have Perl 5.10.
but if I get it, I will try. 16:47
TimToady it's also quite likely to find places where rakudo is giving you more slack than STD allows :)
masak TimToady: can STD hand me an AST with interesting info too? I want to graph the growth of November :)
TimToady: yes, that might be good to know, too. 16:48
TimToady well, viv can give you a rudimentary AST
masak TimToady: that might be enough. will try that. 16:48
slightly OT: what's the easiest way to install 5.10 on Mac OS X nowadays?
masak tries from source 16:49
pasteling "moritz_" at 132.187.31.74 pasted "November + STD.pm - nearly happy marriage" (38 lines, 1.5K) at sial.org/pbot/34494
masak moritz_++ 16:51
will look at the things it found.
moritz_ masak: it parses /^ \w+ $/ as variable $/
masak moritz_: yes, I had that problem in Druid for a while too. but that was in an interpolated eval string :)
TimToady hh 16:52
huh
I guess that's the right answer from the viewpoint of LTM, but... 16:53
masak TimToady: I can change it, but it'll be a common pitfall :)
moritz_ at least it's green up to the $, and read starting from /] 16:54
TimToady does the problem go away with a space between $ and /?
moritz_ tries
masak I would guess so. 16:55
TimToady strange, bare /^ \w+ $/ doesn't fail
moritz_ uhm, it also fails with ws 16:55
TimToady then it's not the $/ var
moritz_ right 16:56
TimToady runaway / from earlier, maybe?
moritz_ but I wonder where it found the suffix regex modifier
TimToady but then why that error
right
moritz_ no /\w in sight
TimToady where can I find a copy of the file? 16:57
TimToady I see a bug in STD, I think. is there any /] anywhere? 16:59
masak TimToady: github.com/viklund/november
moritz_ moritz.faui2k3.org/tmp/November.pm
TimToady: aye
it's [$string, /regex/] 17:00
rakudo_svn r35594 | jkeenan++ | Applying patch submitted by jimmy in TT#175. POD corrections in two files.
moritz_ std: [rx/a/]
p6eval std 24912: OUTPUT«can't create lex/STD/termish.store: Permission denied at Cursor.pm line 532␤00:07 101m␤»
TimToady patching 17:02
masak November++ # constantly finding new uses 17:04
pugs_svn r24913 | lwall++ | [STD] spurious ] removed from obsolete modifier test 17:05
TimToady okay, Novermber.pm now parses in STD
masak thank you.
TimToady obviously a fossil from translating <[abc]> to < a b c >
masak what about the warnings about unknown routines in the nopaste? 17:06
something to be concerned about?
TimToady not really, if they come from use calls 17:07
STD doesn't do "use" yet
masak TimToady: but 'if' and 'else'?
TimToady those you need to worry about 17:08
masak ok, pasting that code too, hold on
TimToady means you have if() somewhere
pasteling "masak" at 130.238.45.242 pasted "the code with if and else warnings" (102 lines, 3.3K) at sial.org/pbot/34495
masak TimToady: I don't think I do. 17:09
moritz_ ack 'if\(' p6w/
no result
masak lines 80 and 83 which the warnings indicate contain closing braces
(uh oh, gotta go soon) 17:10
moritz_ maybe it's an if that's used as an expression?
alester moritz: Or ack -Q 'if(' p6w/
masak I don't see that either.
moritz_ std: 1 + if 1 { 2 }
alester tires of quoting regexes
p6eval std 24913: OUTPUT«############# PARSE FAILED #############␤Syntax error at /tmp/O7UD6a1QSy line 1:␤------> 1 + if 1 { 2 }␤ expecting any of:␤ infix or meta-infix␤ infix stopper␤ standard stopper␤ statement modifier loop␤ terminator␤00:05 85m␤»
moritz_ alester: thanks, I didn't know that 17:11
alester -Q = \Q, basically
masak alester: thanks from me too :)
TimToady probably a backtracking problem out of statement_control:if 17:13
masak ok. nothing to worry about, then.
see y'all around. 17:14
PerlJam alester++ 17:15
alester :-)
you guys oughta run ack --man some time just for fun. 17:16
PerlJam yeah. I already know enough features to cover 95% of what I use it for, so there is little incentive to read the docs :-) 17:17
moritz_ alester: or just continue reading #perl6. I learned amazing things here... :-)
alester and yet, isn't htat -Q handy? 17:18
moritz_ it is indeed
PerlJam yep
-w is handy too 17:19
TimToady it's parsing Text__Markup__Wiki__Minimal__Syntax::TOP as a listop
and eating the block as an argument 17:20
szabgab I am trying to catch up with the basics again, but I could not find how to read from STDIN 17:28
I tried my $input = $*IN.readline;
but it segfaulted on Rakudo
rakudo_svn r35597 | jonathan++ | [rakudo] Various (some rather subtle) changes to infix:<does> and infix:<but>, to bring them up to date, fix various bugs and ensure they work in the parametric case too. 17:30
pugs_svn r24914 | jnthn++ | [t/spec] Update perameterized roles test that checks mixins to match how I read S12, and fudge it for Rakudo. 17:41
r24915 | jnthn++ | [t/spec] Rename test. 17:42
r24916 | jnthn++ | [t/spec] What on *earth* was I thinking? Correct the last patch... 17:43
jnthn Enough code! To the pub!! 17:46
jnthn afk
pmichaud ("role Session;" error message) -- Rakudo just gives the same error message that STD.pm does for that one, I think.
std: say 'hello'; role Session; 17:47
p6eval std 24916: OUTPUT«00:05 83m␤»
pmichaud okay, I'm wrong.
Rakudo just gives the same error message that STD.pm claims to give if reading the STD.pm code.
Either that or I'm misinterpreting what should happen there.
rakudo: say 'hello'; role Session; 17:48
p6eval rakudo 35597: OUTPUT«Unable to parse role definition at line 1, near ";"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
pmichaud afk for a while # errands 17:49
rakudo_svn r35598 | jonathan++ | [rakudo] Add parameterized-mixin.t, which is currently heavily fudged (that should change tomorrow) but tests todays additions. 17:50
szabgab rakudo: "42".bytes 18:06
p6eval rakudo 35597: OUTPUT«Method 'bytes' not found for invocant of class 'Str'␤current instr.: '_block14' pc 63 (EVAL_13:40)␤»
szabgab rakudo: "42".chars
p6eval rakudo 35597: RESULT«2»
diakopter rakudo: Grammar; 20:19
p6eval rakudo 35600: RESULT«Grammar»
diakopter rakudo: Grammar NQP; 20:20
p6eval rakudo 35600: OUTPUT«Statement not terminated properly at line 1, near "NQP;"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
pmichaud std: Grammar NQP; 20:26
p6eval std 24916: OUTPUT«############# PARSE FAILED #############␤Syntax error at /tmp/4bigtXB4cx line 1:␤------> Grammar NQP;␤ expecting any of:␤ infix or meta-infix␤ infix stopper␤ standard stopper␤ statement modifier loop␤ terminator␤00:05 85m␤»
diakopter std: Grammar; 20:54
p6eval std 24916: OUTPUT«00:05 82m␤» 20:55
[particle]1 std: grammar NQP;
p6eval std 24916: OUTPUT«00:05 82m␤»
diakopter -_-
o_o
pmurias: ping 20:56
Su-Shee hi 21:11
pugs_svn r24917 | duff++ | test 21:20
meppl good night 21:21
pugs_svn r24918 | duff++ | untest 21:22
pugs_svn r24919 | duff++ | retest 21:34
r24920 | duff++ | unretest 21:35
pmurias diakopter: pong 22:22
moritz_ rakudo: say "(a)" ~~ m/'(' ~ ')' a*/ 22:28
lambdabot moritz_: You have 1 new message. '/msg lambdabot @messages' to read it.
p6eval rakudo 35601: OUTPUT«(a)␤»
moritz_ @clear 22:29
lambdabot Messages cleared.
moritz_ rakudo: say "(a)" ~~ m/:dba("paren expression") '(' ~ ')' a*/
p6eval rakudo 35601: OUTPUT«(a)␤»
moritz_ rakudo: say "(a]" ~~ m/:dba("paren expression") '(' ~ ')' a*/
p6eval rakudo 35601: OUTPUT«Unable to parse "paren expression", couldn't find final ')'␤current instr.: 'parrot;PGE;Match;FAILGOAL' pc 2927 (compilers/pge/PGE/Regex.pir:456)␤»
TimToady thanks 22:30
moritz_ that's quite nice ;-) 22:31
(the :dba stuff)
TimToady std: say "(a]" ~~ m/:dba("paren expression") '(' ~ ')' a*/
p6eval std 24920: OUTPUT«00:07 88m␤»
moritz_ rakudo: sub { 1; 22:32
p6eval rakudo 35603: OUTPUT«Unable to parse block; couldn't find final '}' at line 1, near ""␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
moritz_ rakudo: m{
p6eval rakudo 35603: OUTPUT«Statement not terminated properly at line 1, near "{"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
TimToady I think rakudo could afford to lose the extra quotes in the message
makes it sound like it's not a real paren expression... 22:33
moritz_ just like <block> isn't delimited differently
rakudo: :($a); say 1; 22:35
p6eval rakudo 35603: OUTPUT«too few arguments passed (0) - 1 params expected␤current instr.: '_block14' pc 40 (EVAL_15:28)␤»
moritz_ rakudo: :($); say 1;
p6eval rakudo 35603: OUTPUT«Syntax error at line 1, near ":($); say "␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
pmichaud the quotes in the message are actually an artifact of something else going on from the Parrot side. 22:41
we can get rid of them at some point, but it was actually more work to get rid of them than leave them there :-|
TimToady: did you see my earlier std parse for $t\i ?
std: my $t = 5; say $t\i; 22:42
p6eval std 24920: OUTPUT«############# PARSE FAILED #############␤Syntax error at /tmp/uYRiu08SdJ line 1:␤------> my $t = 5; say $t\i;␤ expecting any of:␤ POST␤ infix or meta-infix␤ infix stopper␤ postfix␤ postfix_prefix_meta_operator␤ standard stopper␤
..statement modifier loop␤ terminat...
moritz_ pmichaud: I'm currently plugging in some more :dba markers into rakudo's grammar - any objections?
pmichaud moritz_: only put them where we're currently using ~
STD has more, yes, but PGE/rakudo doesn't have a way to make use of those yet.
moritz_ pmichaud: ok 22:43
On haaaaptchi... 22:48
Is Perl dead and Phyton reborn? 22:49
On does not think so... just hypothetical question :)
moritz_ On: just reverse your nick name, and you have your answer
On :) 22:51
Is Larry saying something sometimes here?
moritz_ yes 22:52
On Would like to hear what he thinks of this: www.web-app.net/?Is_Perl_dead_and_P...&id=60
On is a Perl fighter, a true partizan.
moritz_ On: if you want an informed and well-researched article about perl's state, read (and recommend) www.heise-online.co.uk/open/Healthc...s/112388/0 instead 22:53
On Perl made me getting a job, a wife and kids... so if it dies, I die too!
Thanks 22:54
PerlJam On: Perl isn't likely to die any time soon. 22:55
(and I fully expect there to be perl-fud 10 years from now just like there is today)
perl is dying! (along with physics, literature, and bunches of other maturing disciplines) 22:56
moritz_ the mere fact that people are proclaiming its death mean that it's not - if it were, nobody would be talking about it
On I get this strange feeling that PHP activists been fighting Perl for years now, you can even find them on perlmonks, its tragic. 22:57
moritz_ it's annoying, yes. But tragic? dunno 22:58
On PHP namespaces.... never understood what they were thinking of, certainly not of a language for large applications.
TimToady I just figure it's people who are trying to motivate us :) 23:05
moritz_ I personally prefer positive motivation ;-) 23:06
vixey On, oh PHP is great for large applications you just need to use include($_GET['page']) and stuff :p 23:07
wolverian hrm, feather's irssi is giving me glib warnings 23:16
TimToady my warnings are always glib 23:18
wolverian are they critical too? 23:20
Limbic_Region TimToady - surgery?
jnthn is back from the pub 23:21
moritz_ wolverian: I'll do an upgrade on feather, dunno if that might help 23:21
wolverian I was thinking that perhaps someone is doing an upgrade right now. 23:22
moritz_ I didn't when you reported the warnings 23:23
wolverian weird.
the errors are all related to the config file 23:24
perhaps it got corrupted somehow.
diakopter TimToady: lol @ glib pun 23:34