»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by Juerd on 28 August 2009.
badanov Am I better off with a pure irc client 00:00
guest1235123 not necessarily 00:01
web client is fine for now :)
badanov Okie doakie 00:02
guest1235123 as for helping, what do you enjoy doing?
badanov I am a machinist, but I pciked up perl and unix over the years, so what I am not cutting metal I program in perl. I have a war game site I programmed in perl. 00:03
when = what
00:03 explorer left
badanov I also have a degree in journalism, sio I can write, or so they tell me. 00:04
guest1235123 :)
badanov I do much better when I can edit my fremarks :o)
hah
So I guess how I can help is writing about perl 6 which is already intrigueing if for no other reason than the types defining and the object oritenting as well as the regex overhaul 00:05
guest1235123 Excellent :) 00:07
badanov I also help out with a couple of websites with security and such, light programming ( php editing ) ( The guy prefers php ) 00:08
guest1235123 What do you mean by "war game site"? 00:10
badanov war game club www.flwgc.org
Sorry about that. I mostly refer to it as the wargame site and not the club. Forgot my manners. 00:11
00:13 nihiliad left
guest1235123 Writing about Perl 6 would definitely be helpful 00:14
badanov Okay
00:16 am0c left
guest1235123 What do you need to get started? 00:17
badanov Writing? Maybe an interview. I actually don't have access to any tech sites to publish, mostly conservative blogs, but some of those would pay attention. 00:19
I can definitely conduct and write an interview. Publishing it to a wide audience is another matter. 00:20
00:20 TiMBuS joined
guest1235123 Well, you'd want to interview TimToady, pmichaud, jnthn, ruoso, pmurias - they're all present in this channel, so just ask :) 00:21
badanov Okay.
guest1235123 (They're also all over the globe, so you might need to pick your time.)
badanov I will. Email can be done anytime however. 00:22
Going forward, the audience may be small. however.
guest1235123 Well, they may just say 'no', but if it results in *any* new contributors it's a good thing 00:25
00:25 szabgab left
guest1235123 (Your interview I mean) 00:26
So ask - folks are pretty friendly around here :)
badanov okay. 00:27
guest1235123 And welcome - enjoy your stay :)
badanov Thanks.
00:36 __ash__ joined 00:47 szabgab joined
badanov Thanks again. I will be back in a while to save my irc log in in an irc client. 00:54
00:54 badanov left 00:58 justatheory left 00:59 badanov joined
crythias irclog.perlgeek.de/perl6/today 01:02
01:02 Student left, badanov left 01:03 badanov joined 01:04 badanov left 01:05 badanov joined 01:07 badanov left, jaldhar joined 01:08 [particle] joined, badanov joined
badanov And we're back 01:09
I will be back Sunday to try to set up an email interview. 01:12
cya
01:12 badanov left 01:16 _jaldhar joined 01:17 jaldhar left 01:34 _jaldhar left 01:39 __ash__ left 01:43 __ash__ joined 01:45 tak11 left 01:56 _jaldhar joined 01:57 c1sung joined 02:08 payload left 02:20 jauaor joined 02:21 payload joined 02:26 petdance joined 02:29 hercynium left 02:44 s1n left 03:06 rhr joined 03:13 stephenlb left 03:19 rhr_ left 03:29 [particle] left 03:30 am0c joined 04:16 nbrown left 04:23 crythias left 04:24 crythias joined 04:32 mberends left 04:37 dukeleto left 04:56 eiro left 05:17 zloyrusskiy joined 05:26 agentzh joined 05:35 petdance left
guest1235123 phenny: tell moritz_ I'm enjoying the blog posts - you're getting better - more of an "angle" :) 05:39
phenny guest1235123: I'll pass that on when moritz_ is around.
05:47 PZt left 05:48 __ash__ left 05:49 rfordinal left 06:07 crythias left 06:15 Confield left 06:18 Confield joined 06:20 Su-Shee joined
Su-Shee good morning. 06:21
06:23 Confield left 06:24 Confield joined 06:33 iblechbot joined
moritz_ \o/ 06:35
phenny moritz_: 05:39Z <guest1235123> tell moritz_ I'm enjoying the blog posts - you're getting better - more of an "angle" :)
06:37 ihrd joined, ihrd left
guest1235123 by which i mean they're becoming more and more enjoyable. :) 06:40
moritz_ thank you 06:41
guest1235123 np 06:49
06:50 masak joined 06:53 mberends joined
mberends \o all 06:53
moritz_ \o| 06:54
masak hai 06:55
06:55 [particle] joined
mberends I did a bit more work on proto installed-modules while commuting, but it's not complete enough to commit. Hopefully later today... 06:56
masak I have a question about custom exception types. 06:57
how do I, er, use them?
rakudo: class MyException is Exception {}; die MyException.new()
p6eval rakudo 0eaf62: OUTPUT«Not a throwable object␤in Main (/tmp/5G5muasCJO:2)␤»
masak I find that laughably strange. 06:58
06:59 [particle]1 joined
masak besides, I find nothing in the synopses to corroborate that this is indeed the way to throw an exception. 07:01
the only thing I get from S32/Exception is that it thinks that it's OK to have a role and a class with the same type name. 07:02
(which, IIUC, it isn't)
mberends Exception.^methods has a rethrow and a resume, but not a throw. hmm. 07:04
guest1235123 masak: was wondering the same thing a while ago... can anyone help? 07:10
masak guest1235123: yes, but it's sort of a communal thing, and therefor irregular and unpredictible.
guest1235123: we're currently in phase 1 of the help, where we all express our distaste of the current state of things. 07:11
moritz_ I think it should work by inheriting from Exception, but it's NYI
masak example:
I can't believe this doesn't work yet!
never mind that I really like to work around stuff; this is way less than awesome. 07:12
there. with that our of our systems, now we can start actually discussing a solution.
guest1235123 oh wait, LTA LTA!
proceed. 07:13
jnthn OMGWTFLTA! 07:14
masak thanks for your contribution.
jnthn!
jnthn Anytime. ;-)
masak anyway, 07:15
jnthn is in Korea o/
masak jnthn: which one? :P
Matt-W guesses South
07:15 [particle] left
masak South is the more likely, yes. 07:15
but North would be so much more... interesting.
guest1235123 Korea == teh awesome
masak so my parents say. the do a lot of business there. 07:16
they are really compatible with the food. and they report that there's a lot of pretty Korean girls.
so I see why jnthn would fling up his arms like that, yes. :) 07:17
jnthn South :-) 07:18
masak: I haven't tried either of those yet
erm
...that came out wrongish
masak 哈哈
jnthn looks forward to trying to food ;-)
guest1235123 eat well! :) 07:19
07:20 donaldh left
am0c jnthn: welcome to Korea \o/ yey~ 07:20
jnthn am0c: Thanks :-) 07:21
07:22 donaldh joined
masak am0c: oh, oh, could you explain that postfix tilde you just made? is that something specifically Asian? 07:23
my guess about the 'die SomeException.new($message, *%stuff)', is that "correct"? can anyone confirm it using the synopses, the apocalypses, p6l discussion or strange whispered messages from the future? preferably all of those. 07:29
Matt-W umm 07:31
is subroutines being rw actually a bug?
masak I don't actually know. 07:32
jnthn Matt-W: no
masak: I was under the impression that is how hyou'd throw it.
Matt-W: to expand - it marks an l-value sub.
07:33 meppl joined
Matt-W jnthn: that's when you say 'sub foo is rw' 07:33
jnthn (that is, one returning an l-value)
masak rakudo: sub foo { say "OH HAI" }; class A { method bar {} }; &A::bar = &foo; A.new.bar
p6eval rakudo 0eaf62: OUTPUT«OH HAI␤»
jnthn oh cunning
moritz_ !
masak monkey typing without the monkey.
07:33 cmv joined
Matt-W sees nothing wrong with that 07:33
masak Matt-W: are you quite serious? 07:34
jnthn I'm not sure it's wrong either.
Matt-W yes
very serious
jnthn Remember that while ~block is immutable, routine is mutable.
masak good. just checking.
jnthn I'm not sure if that's "mutable" in a sense that matters here
Matt-W would you propose that you'd only be able to do that to things which explicitly say you could do that to them?
masak then I propose we get rid of MONKEY_TYPING altogether.
it's just a sham.
Matt-W I don't see a reason for MONKEY_TYPING either
jnthn but it's teh funny ;-)
am0c masak: ah, the tilde i made just meant a tilde (like, hi~!) 07:35
moritz_ oh I'm sure it requires MONKEY_TYPING
masak am0c: that doesn't explain it at all, you know.
am0c: what does it _mean_? :)
moritz_: apparently not.
moritz_ masak: I meant in an ideal Perl 6 07:36
masak submits a rakudobug
jnthn moritz_: I'm not sure how to efficeintly implement that semantic...
Matt-W It either needs to be one way or the other
jnthn oh, well, we'll think of a way ;-)
Matt-W And I'd prefer that you can just do it
What is the justification for requiring MONKEY_TYPING in order to mess around with augment etc. 07:37
masak Matt-W: that it's an antisocial way of coding.
Matt-W: Ruby is one large, slow experiment showing that.
Matt-W When did Perl start stopping people having enough rope to hang themselves?
masak Matt-W: well, it does! that's why we have MONKEY_TYPING. 07:38
Matt-W Or did the rules change
jnthn It's a spectrum, not a boolean. 07:39
Perl has always been like that.
You can use strict, or you can not bother, etc.
So mostly this is just a discussion of, what are the defaults.
Matt-W I suppose I am arguing the opposite for this that I would for strict
since strict on by default is very much my preference
jnthn Sure. My point is that you'll be able to pick the semantics you want, at the end of the day. 07:40
masak no MONKEY_TYPING by default is very much my preference.
Matt-W but monkey_typing doesn't happen by accident
you have to say 'look, I want to add to this class'
masak Matt-W: the RT ticket I just reported shows how simple it is.
Matt-W I'm not sure that's quite accidental enough to worry me 07:41
am0c er.. postfix:<~> makes the word pronounced longer and brighter (or higher), often to express pleasure or delight.
masak am0c: thank you! cool!
jnthn beer~!
am0c tehe
viklund besides, ~ is next to !
masak Korea~!
Matt-W viklund: no it's not 07:42
viklund Matt-W: yes it is
am0c yey~!
Matt-W viklund: not on UK keyboards
jnthn Or I guess I should say, 맥주~!
viklund but on american
Matt-W remember, never make assumptions based on keyboard layout
somebody else's will be different
and american keyboards are wrong
jnthn My ~ is a long way from my !
viklund which is the ONE TRUE LAYOUT btw
masak viklund: not on my US layout.
viklund but you have a mac
macs are strange 07:43
Matt-W how can it be the one true layout when it doesn't even have a £ key?
masak viklund: yes, but I have a model M keyboard. :)
viklund xkbdmap -layout us -variant altgr-intl
ftw
whatever
jnthn Matt-W: Meh, it's the missing € key that bothers me more ;-)
Matt-W I bet it doesn't have € either...
jnthn: snap
of course we use € rather less than you do at the moment :) 07:44
jnthn I don't do £ any more, or at least not often.
Matt-W: well, maybe one day the UK will s/£/€/ ;-)
Matt-W maybe
there's a lot of FUD to overcome before then though
jnthn ;-)
Matt-W and it may not be expedient
jnthn won't even mention UK + Schengen agreement... 07:45
Matt-W urgh we really need to join in with that
it would be particularly nice when travelling by eurostar
masak Matt-W: you didn't join yet? o.O
Matt-W airports are already so horrible that passport control adds virtually no hassle to the mega hassle you already have
but the eurostar would be much nicer 07:46
masak: nope, because apparently we're a nation of paranoid xenophobes
it might let the illegal immigrants in
...except they seem to have no problem coming anyway
07:48 explorer joined
viklund wonders how much of the UK-population is "natively"-brittish 07:48
Matt-W viklund: most of it
despite what the tabloids would have you believe
viklund Matt-W: it is?
Matt-W of course, what do you mean by native
viklund ok, yes I understand that most of it is
but I imagine that the percentage is slightly higher than in sweden for example
Matt-W possibly, sweden's nicer
viklund or maybe not
we probably have smth like 15%-25% (only counting the last 100 years) 07:49
masak we should probably have more. there's room still. 08:03
jnthn fill up the north! ;-)
masak indeed.
jnthn It's a cool place. ;-) 08:04
08:05 TopoMorto joined
spinclad if you exclude the Normans as an invading rabble, and the Vikings, and the Sassenach, and the Romans, and ... 08:05
then you might have very few 08:06
jnthn Another draw of the UK is that it's english-speaking. And a lot of people learn English.
(for migrants, that is)
08:07 rfordinal joined
Matt-W yeah I think that's why people come all the awy through France etc. to get here 08:10
it does help if they speak at least *some* of the language
jnthn I've never had to look for work in a foreign country, but I imagine there's a lot less options if you don't speak the local language to some reasonable level. 08:12
Su-Shee depends on the job. unskilled work and higher levels of management etc. don't need to speak german. everything in between does. ;) 08:14
08:22 TopoMorto left 08:37 rfordinal left
masak 502 RT tickets! 08:46
we made it! 08:47
Matt-W now fix some of them
I want it at 400 by the end of the day
snap to it!
masak thinks he'd better obey 08:48
Matt-W: do I just close tickets randomly, or should I proceed in some order?
moritz_ start at the first ticket. Fix it. Make sure we have tests. Close it. Proceed to the next. Recurse. 08:49
masak oh, fixing them, too?
that might take more than a day, you know...
moritz_ then you'd better start NOW :-) 08:50
Matt-W I did say 'fix'
masak hurries
Matt-W I'd love to help, but I have to run some boring tests
masak you can cheer us on. 08:55
Matt-W on the good news front, I haven't caused any crashes yet... 08:56
masak I'd like to fix rt.perl.org/rt3/Ticket/Display.html?id=67846 - I'm also keen to know where the '1' in '$1bar' comes from. 09:02
rakudo: sub foo(:$bar!) { say $bar }; map { foo(:$^bar) }, "OH HAI" 09:04
p6eval rakudo 0eaf62: OUTPUT«Symbol '$1bar' not predeclared in <anonymous>␤in Main (src/gen_setting.pm:3469)␤»
masak twigils seem to consistently get turned into '1's.
09:11 ihrd joined, baest left, silug left, baest joined, donaldh left, [particle]1 left, szabgab left, pugs_svn left, hugme left, mikehh left, avuserow left, ezra left, sbp left, phenny left, pmichaud left, devin left, Caelum left, explorer left, masak left, iblechbot left, payload left, synth left, garron left, Woodi left, meteorjay left, Infinoid left, blaze-x left, yves left, buu left, clkao left, solarion left, christine left, integral left, dmpk2k left, lisppaste3 left, elmex left 09:12 ssm left, cmv left, rjh left, alester left, frodwith left, kolibrie left, Maddingue left, Khisanth left, nsh left, JarJarBinks left, Helios- left, c9s left, PerlJam left, ewilhelm left 09:13 c1sung left, ihrd left, c1sung joined, drbean left, frettled left 09:14 frettled joined, silug joined 09:15 pmichaud joined, drbean joined, mj41 joined, donaldh joined, [particle]1 joined, szabgab joined, avuserow joined, mikehh joined, hugme joined, Caelum joined, devin joined, ezra joined, pugs_svn joined, phenny joined, sbp joined, irc.freenode.net sets mode: +ov pmichaud pugs_svn, PerlJam joined, cmv joined, rjh joined, alester joined, ssm joined, Helios- joined, kolibrie joined, Khisanth joined, ewilhelm joined, nsh joined, frodwith joined, c9s joined, Maddingue joined, JarJarBinks joined, irc.freenode.net sets mode: +o PerlJam 09:27 mj41_ left 09:28 explorer joined, masak joined, iblechbot joined, payload joined, synth joined, elmex joined, lisppaste3 joined, meteorjay joined, clkao joined, Woodi joined, integral joined, yves joined, blaze-x joined, garron joined, buu joined, christine joined, solarion joined, Infinoid joined, dmpk2k joined
masak why is it that when I enter the REPL with 'perl6 --target=parse' and type 'class A {}', I get a Null PMC access? 09:31
09:33 rfordinal joined 09:36 dakkar joined 09:43 rfordinal3643 joined 09:47 ejs joined 09:50 payload left 09:55 nihiliad joined 09:56 agentzh left
masak aha! I've got it! 09:58
on line 1062 of src/parser/grammar.pg, it says <twigil>?
that makes it an array, since '?' is just short for '**0..1' 09:59
meanwhile, on line 2922 of src/parser/actions.pm, it says :name( ~$<sigil> ~ ~$<twigil> ~ $<desigilname> ) 10:00
so $<twigil>, even though it is an array, is treated just the same way as its pals.
it probably gets numified, and since the array has 1 element, it gets numified to 1.
Matt-W applauds 10:01
masak I'll try the trivial fix and see if it works.
Matt-W although it explicitly stringifies, so I'm not sure why an array would stringify to its numification 10:02
but maybe that's a thing in NQP
masak aye.
10:04 rfordinal left 10:18 rfordinal3643 left, jiing joined 10:37 nbrown joined 10:38 payload joined 10:43 rfordinal joined 10:45 Student joined 10:54 chturne joined 10:58 zloyrusskiy left 11:27 am0c left 11:29 pmurias joined
pmurias diakopter: hi 11:30
pugs_svn r28391 | Kodi++ | [S04] Made CATCH's special treatment of default blocks, which is already implied by the spec, more explicit. 11:31
dalek kudo: 722f82c | masak++ | src/parser/actions.pm:
[actions.pm] construct twigilled variables right

turned into $1bar. The <twigil> subrule was called with a postfix:<?>, turning its submatch into an array. The colonpair action method now takes this into account. This is a first step towards fixing #67846. Rakudo still doesn't conform to the semantics explained in L<S06/Attributive parameters>, but now it at least has a chance.
11:50
masak more exactly, $!a now works. \o/
$.a (understandably) doesn't work, and $^a doesn't either; don't know if it should. 11:51
it would be fairly cool if it did, in my opinion. :$^a introduces a placeholder parameter and gives a named argument at the same time. 11:52
moritz_ wtf? 11:53
masak no? :)
11:53 St[u]dent joined
masak I won't argue very energetically for it; I just think it'd be consistent. 11:54
I'm already seeing potential uses for the :$!a syntax rather extensively. 11:55
moritz_ I saw :$^a and my first thought was "wtf?"
masak so the fact that it works now will lead to some immediate wins. it's even more motivated when the attributes are long and descriptive.
moritz_ remember, we want to keep signatures as intuitive as possible
11:55 iblechbot left
moritz_ are there any tests for $!a? 11:56
masak moritz_: this isn't for signature. this is for argument lists.
moritz_: I doubt it.
moritz_ oh, argument lists
hm
that makes more sense
masak moritz_: rt.perl.org/rt3/Ticket/Display.html?id=67846
moritz_ ok, I retract my previous sentiment
masak :)
12:00 azawawi joined, azawawi left 12:03 eiro joined, guest1235123 left
masak no, no colonpair/twigil tests in t/spec. 12:04
I checked.
12:05 Student left, eiro left, eiro joined, eiro left
masak adds it to t/spec/TODO 12:05
12:06 eiro joined
eiro hello 12:06
pugs_svn r28392 | masak++ | [t/TASKS]: Added one more task for S06. 12:07
12:08 jauaor left 12:10 hv2 joined
masak rakudo: sub bar(:$a!) { say $a }; class A { has $!a = "OH HAI"; method foo() { bar(:$!a) } }; A.new.foo 12:24
p6eval rakudo 0eaf62: OUTPUT«Symbol '$1a' not predeclared in foo␤in Main (src/gen_setting.pm:3469)␤»
masak too early still. it works locally. :)
oh, and :$*a works, too. 12:30
a bit hard to test it for :$=a, still... 12:32
12:34 ruoso joined
jnthn Ooh, signature fun. 12:37
masak no, it's not signatures. it's colonpairs appearing anywhere in code, but perhaps most often in argument lists.
but yes, it's fun. :)
jnthn oh no, arg list
but masak++ for hacking on Rakudo \o/ 12:38
masak three-char change. :)
jnthn OK, so signatures bit of that still is on my plate. Damm. :-P
masak++ # golfing changes as well as bug reports
masak jnthn: as far as I can see, the signatures are not affected by this.
jnthn no, I doubt they would be.
masak jnthn: because :$.foo gets turned into :foo($.foo) before it even reaches the signature. 12:39
jnthn I'll hopefully have the siggy bits of this working in not too long.
12:41 mj41_ joined
jnthn masak: aye 12:41
well
it's the other side of the binding story
masak I thought that was all implemented. 12:42
but perhaps I'm missing some... oh!
you mean like :$!foo as part of a signature?
niiiice.
jnthn yes, indeed
so your BUILD gets nicer.
masak well, that's the only twigil you have to worry about, I think. 12:43
jnthn I think so
I'll confirm with spec
masak :$.foo and :$^foo and :$*foo don't make much sense in signatures.
jnthn when I get to it
but yes, those make less sense to me too 12:45
:$.foo maybe could
(accessor call
)
std: sub foo($!foo) { } 12:46
p6eval std 28379: OUTPUT«ok 00:02 97m␤»
masak mm. yes.
jnthn std: sub foo($.foo) { }
p6eval std 28379: OUTPUT«ok 00:02 97m␤»
jnthn std: sub foo($*foo) { }
p6eval std 28379: OUTPUT«ok 00:01 97m␤»
jnthn meh
I doubt std does this semantic check.
masak std: sub foo($^foo) { }
p6eval std 28379: OUTPUT«Potential difficulties:␤ Illegal to use ^ twigil in signature at /tmp/SuyhMD5XQv line 1:␤------> sub foo(⏏$^foo) { }␤ok 00:02 97m␤»
masak it does for ^
jnthn oh hmm 12:47
12:50 iblechbot joined
jnthn I guess look up and assign to a context var works too. 12:50
12:50 mariuz joined
masak actually, yes. 12:50
jnthn so not so crazy after all.
and probably useful.
masak I recently read through the Apocalypses. 12:51
it was an interesting read.
jnthn hehe
masak it (1) reminded me of a lot of things that have changed for the better (2) explained a lot of design decisions that I didn't know I had wondered about (3) showed that already four years ago, Perl 6 was a really cool language. 12:52
named params used to be prefixed with '+'. optional params had the '?' in front. private attrs had a ':' twigil. you could call methods with topic-like '.method' syntax. Bool was called 'bit'. :) 12:54
12:55 mj41 left
masak but it goes into great depth (and length), taking care to explain _why_ aspekcts of Perl 6 are the way they are. much of that material is very useful knowledge, but never got ported to the synopses. 12:56
I think shaping u4x with A?? in mind would be a Good Thing.
moritz_ masak: in my 5-to-6 posts I always tried to emphasize the "why", but mostly I just came up with good reasons myself... 12:58
maybe I should have read the Apocalypses too
masak maybe. but your 5-to-6 posts rock, too. 12:59
moritz_++
moritz_ they are now collected in-order on a single page, maybe I should advertise that more 13:00
masak sometimes it's a bit funny in the Apocalypses when the _updates_ are way off. :)
but one has to read them as historical documents, not as spec. 13:01
moritz_ I know 13:02
masak: I'm sure nobody would mind if you updated the updates :-)
(but it might be a waste of time)
masak well, are those documents anywhere writable?
moritz_ I think they are in a perl.org svn repo 13:03
masak aye.
moritz_ and pmichaud or TimToady could apply patches for you
masak I don't think I've ever seen the Apocalypses in their original POD format.
moritz_ svn.perl.org/perl6/doc/trunk/design/apo/ 13:04
masak ah, look at that. :) 13:05
yes, I might.
moritz_ "the power of asking" :-) 13:06
masak I'd need to know whether to edit the stale updates, or leave them alone and add new ones below them.
the former way is clearer to an interested first-time reader. the latter is better for an archeologist. 13:07
moritz_ the archeologist can look into the SVN.
masak true.
moritz_ and obtain previous versions that way
when I write regexes, it feels unnatural to me that moose* means moos[e*] instead of [moose]* 13:11
since we alread use significant whitespace in other areas, I wonder if it makes sense to split on whitespaces in regexes, and have that modify the precedence somehow 13:12
so that /ab cd+/ is parsed as /ab 'cd'+/
then again it might make parsing more difficult, and interact with the :sigspace modifier in strange ways
masak also, it will make it harder when you really mean e* 13:13
hm, not really.
moritz_ you could say moos[e*] then
masak moos e*
moritz_ or moos e*
unless :s is in effect
masak right.
I kinda like it the way it is now, because I don't have to think about the effects of whitespace as much. 13:14
13:14 cmv left
moritz_ ok, thanks for your opinion 13:14
masak but I can see the rationale for a change as well. 13:15
moritz_ about half a year ago I suggested to make regexes even more like normal routines
masak in what way?
moritz_ with a "grammar" mode where you have to quote literals
and can omit the < > around subrule calls 13:16
but people convinced me rather quickly that it was not a good idea, and generally went too far
it would be a nice syntax experiment for a module, though
masak I was going to say that. :)
it would bring grammars much closer to EBNF. 13:17
moritz_ aye
jnthn grammar Foo is EBNF { .... } # ;-) 13:19
masak that reads nicely, at least. :)
moritz_ can a trait alter the grammar for the following construct? 13:20
masak rakudo: sub bar(:$a!) { say $a }; class A { has $!a = "OH HAI"; method foo() { bar(:$!a) } }; A.new.foo 13:21
moritz_ but I'd call it EEBNF, because it's "extremely" or "extraordinarily" Exended Bacchus-Naur Form
p6eval rakudo 0eaf62: OUTPUT«Symbol '$1a' not predeclared in foo␤in Main (src/gen_setting.pm:3469)␤»
masak moritz_: evalbot update still botched?
moritz_ yes :(
masak moritz_: XBNF :)
moritz_ masak: :-) 13:22
masak I can't help but note that we also don't have bot reports on the Rakudo git repo. 13:24
oh, wait. 13:25
we did. nvm.
dalek++
moritz_ thought for a moment that there were great commits to rakudo he missed
masak sorry to disappoint. :P 13:26
pmurias moritz_: re having to quote literals and omiting the < > i think quite a few people want that
Juerd moritz_: Funny. At one point I suggested the same thing, only I meant it as a default, not a special mode.
moritz_ pmurias: people who write grammars want that. People who write regexes don't 13:27
anyway, it's on my big 'once we get that far' TODO list (as a module)
masak moritz_: you have such a list too? :P 13:29
moritz_ masak: is there any Perl 6 hacker who doesn't? :-) 13:30
masak p'haps not.
moritz_ though I confess it's only a mental list by now
s/by now/so far/
masak mine also.
it's an interesting mental exercise to try to imagine what it's like _not_ to live in the early days of Perl 6.
jnthn 's list is really mental.
;-)
masak :P 13:31
moritz_ I have an ever-growiing TODO list in my home dir (currentl 100 lines) with middle- to long-term projects, ideas etc.
masak imagine Perl 6.0.0 out, a module ecosystem in place, a lot of books about Perl 6, established best practices...
moritz_ boring? probably not
13:32 crythias joined
masak with grammar mutability? certainly not. 13:32
moritz_ btw I have one best-practise rule that I stick to these days, and that I recommend to everone else too: USE WHITESPACE AROUND INFIX OPS (except when not)
masak moritz_: is there any particular pain that this rule stems from? 13:33
moritz_ the (except when not) part mostly applies to the comma operator, where I only use whitespaces afterwards
jnthn That's a good world take^W^Wwell thought out practice. :-)
moritz_ masak: if 1<2 { # this is part of a subscript >
masak o.O 13:34
std: if 1<2 { say "OH HAI" }
p6eval std 28379: OUTPUT«===SORRY!===␤(Possible runaway string from line 1 to line 2)␤Whitespace required before < operator at /tmp/gWKSLIcL56 line 1:␤------> if 1<⏏2 { say "OH HAI" }␤ expecting escape␤FAILED 00:01 95m␤»
masak I'd say.
moritz_ std: say 1<2, "foo", 2>1
p6eval std 28379: OUTPUT«===SORRY!===␤Two terms in a row at /tmp/e0hjbtpKRe line 1:␤------> say 1<2, "foo", 2>⏏1␤ expecting any of:␤ POST␤ bracketed infix␤ infix stopper␤ postfix␤ postfix_prefix_meta_operator␤ standard stopper␤
..statement modifier loop␤ terminator␤ wh…
pmurias std: 5 <123 13:35
p6eval std 28379: OUTPUT«ok 00:01 95m␤»
pmurias std: 5<123
p6eval std 28379: OUTPUT«===SORRY!===␤(Possible runaway string from line 1 to line 2)␤Whitespace required before < operator at /tmp/w5LPlEM9uX line 1:␤------> 5<⏏123␤ expecting escape␤FAILED 00:02 95m␤»
pmurias @foo = <1 2 3>;
lambdabot Maybe you meant: do faq ft todo yow
pmurias std: @foo = <1 2 3>;
p6eval std 28379: OUTPUT«Potential difficulties:␤ Variable @foo is not predeclared at /tmp/cRgAecAAsa line 1:␤------> @foo⏏ = <1 2 3>;␤ok 00:01 96m␤»
pmurias std: my @foo = <1 2 3>;
p6eval std 28379: OUTPUT«ok 00:01 96m␤»
pmurias do we need lambdabot anymore? 13:36
moritz_ pmurias: yes, for tracking karma
jnthn pmurias: yeah, for giving us something to swear at
masak pmurias: yes, for Haskell! <3
moritz_ > show "foo"
lambdabot "\"foo\""
masak hugme: hug lambdabot 13:37
hugme hugs lambdabot
moritz_ managed to write a haskell program without any errors, and without looking it up first!
masak quietfanatic++ # first RT ticket! 13:39
13:41 __ash__ joined 13:44 explorer left
Matt-W moritz_: yay! what does it do? 13:53
moritz_ 15:36 <@moritz_> > show "foo" 13:54
15:36 <+lambdabot> "\"foo\""
13:54 crythias left
Matt-W it runs show :: String -> String 13:54
13:54 betterworld joined
Matt-W or is it the harness that runs that? 13:55
moritz_ it's lambdabot that runs it :-)
Matt-W wishes he was writing in Haskell now, but must admit that Perl 6 is more exciting 13:56
masak > reverse show $ prod [1..4] 13:57
lambdabot Not in scope: `prod'
masak > reverse show $ product [1..4]
lambdabot Couldn't match expected type `[a]'
against inferred type `a1 -> GHC...
masak dang. :)
13:57 chturne left
jnthn Is that error LTA? ;-) 13:57
masak the 'a1 -> GHC...' part is strange, at the vary least. 13:58
moritz_ what's a1 -> GHC...
?
14:01 KyleHa joined
masak moritz_: it's a function that takes an a1 and returns a GHC... 14:03
:P
Haskell is easy! 14:04
jnthn is too stupid to understand it, so he's doing something easy instead. 14:05
masak > reverse . show $ product [1..4] 14:13
lambdabot "42"
pmichaud good morning, #perl6
masak pmichaud: morning, pmichaud! 14:14
the 42 provided courtesy of #haskell, where I asked what 'GHC...' meant.
it turned out that it was the LTA version of 'String', and that off-line tools indeed did print that. 14:15
> reverse . show . product . enumFromTo 1 $ 4
lambdabot "42"
Juerd What's the difference between . and $?
masak Juerd: . is function composition. 14:16
Juerd: $ is "parenthesis from here until end of expr"
(IANAHP)
(IJPOOTV) 14:17
pmichaud continues working on new regex engine
"regexes are fun!"
masak :)
> reverse . show . product . enumFromTo 1 . ($ 4) . ($ id) . ap const const . const id . Just . (\for -> show) $ () 14:18
lambdabot "42"
masak I can take credit for #haskell insanities all day. :)
14:21 justatheory joined 14:22 SmokeMachine joined
masak Juerd: 'reverse $ show $ product [1...4]' also works, but the 'reverse . show' variant is preferrable for refactoring reasons, according to #haskell people. 14:24
viklund > let fib = 0:1:(zipWith (+) fib (tail fib)); fib !! 100 14:25
lambdabot <no location info>: parse error (possibly incorrect indentation)
viklund pfft 14:26
moritz_ what does the 'const' do?
PerlJam looks around to make sure he's not accidentally on #haskell
viklund haven't learned the indentation -> ; form rules
const returns it's argument I think
> const 1
lambdabot {()->1}
masak hm, both '.' and '$' allow for refactorings, but '.' is geared towards functions rather than values, and it's often preferrable to think in terms of functions.
pmichaud PerlJam: we've time-warped to 2006, I guess.
viklund it returns a function that retruns it's argument...
pmichaud or to 2011. Don't know which yet.
PerlJam pmichaud: does that mean that pugs is in active development? :) 14:27
moritz_ pmichaud: to any(2006, 2011)
PerlJam if it's 2011, then I assume that all of the haskellian syntax is really just a perl 6 slang :)
pmichaud or vice-versa
viklund but of course!
> let fib=0:1:(zipWith (+) fib (tail fib)) in fib !! 100 14:28
lambdabot 354224848179261915075
moritz_ time travel with quantum superposition! \o/
PerlJam I like the perl 6 side of the isomorphism.
masak I once read an email about a time travel monad in Haskell. "of course, actually implementing this would be physically impossible...", it concluded. "...that's why we've stored it away inside a pragma."
viklund can't let masak play all by himself
moritz_ masak: nice :-)
masak moritz_: scary!
PerlJam would that perl 6 could do that without resorting to scientific notation at some point. 14:29
moritz_ PerlJam: built-in bigint support is specced in rakudo 14:30
erm
specced in Perl 6
but NYI in Rakudo
but works in pugs, for example
and in vijs!
pmichaud we're waiting to see what Parrot does for its bigint support
PerlJam I guess that's true ... I was conflating implementation with specification.
moritz_ vijs: say 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 * 13 * 14 * 15 14:31
p6eval vijs 28379: OUTPUT«1307674368000␤»
moritz_ rakudo: say [*] 1..15
p6eval rakudo : OUTPUT«sh: ../p/bin/perl6: No such file or directory␤»
PerlJam Wasn't there a GSoC project to provide bigints to parrot?
moritz_ rakudo: say [*] 1..15
p6eval rakudo 0eaf62: OUTPUT«1307674368000␤»
PerlJam perl6: say "foo" 14:32
moritz_ PerlJam: darbelo++ wrote bindings for the decnum lib
p6eval elf 28392, pugs, rakudo 0eaf62: OUTPUT«foo␤»
moritz_ PerlJam: which provides large decimals, but I'm not sure it also covers ints
PerlJam I guess vijs isn't ready to be added to the perl6 output list?
moritz_ not quite, IMHO
14:32 jrtayloriv left
masak none of the decimals I know are very large... :P 14:33
moritz_ but I don't understand that... parrot's Configure.pl detects libgmp if installed
PerlJam masak: move them to Texas and they'll get bigger
moritz_ doesn't that provide bigint support already?
if so, what's the problem? 14:34
PerlJam masak: if by nothing else than eating too much and getting fat. :)
masak PerlJam: :)
PerlJam moritz_: no one has asked that question to the right crowd yet?
moritz_ let's hope that pmichaud and jnthn are reading this and are part of the "right crowd" :-)
hv2 hi guys, i'd like to hack IO.isatty support into rakudo; I see parrot has Parrot_io_is_tty in io/api.c, do I just need to add something to call it in ops/io.ops?
pmichaud at one time Parrot had a "BigInt" PMC type
14:35 ejs1 joined
pmichaud however, for as along as I can remember, it wasn't actually linked into the system or working 14:35
so I suspect the libgmp detection is a fossil
moritz_ hv2: you also need a Perl 6 spec
hv2 where does that go?
moritz_ pmichaud: let's take this over to #parrot
pmichaud moritz_: I have little knowledge beyond that
__ash__ pmichaud: code.google.com/p/decnum-dynpmcs/source/checkout did a lot of work on BigInt in parrot, might be useful? 14:36
moritz_ hv2: probably somewhere in svn.pugscode.org/pugs/docs/Perl6/Sp...g-library/
pmichaud in particular, I suspect that neither jnthn nor I are the "right crowd" for that question :)
moritz_ ok
Juerd masak: Thanks for explaining
masak my pleasure.
hv2 moritz: thanks, I'll have a rummage
PerlJam pmichaud: still ... you could bring it up in #ps and see if anyone bites
(or moritz_ could) 14:37
pmichaud PerlJam: well, we already have a gsoc project working on bigints and bignums
I think that's what darbelo has been doing
moritz_ hv2: much of the IO system is still unimplemented and the specs are not all that accurate, so don't take everything for granted in these dosc
PerlJam pmichaud: except the summer is over :) 14:38
pmichaud PerlJam: yes, but darbelo is still active :)
moritz_ and I think the bindings mostly work
hv2 moritz_: for now I'm just looking to hack a .isatty method into my local copy - the spec'd variant is :t, which I think needs general filetest support before I'd want to try to add it
PerlJam oh good. I haven't really been keeping track of parrot for a while now. I just hope that he's on to the second 90%.
moritz_ hv2: rakudo does support file tests, albeit in an outdated fashion 14:39
__ash__ darbelo made a commit as recently as yesterday for his BigNum and BigInt libs
moritz_ hv2: that is as methods named ':e', ':d' etc in the Str class
hv2 ah ok, I was just looking at what was explicit in setting/IO.pm, assumed it would all be there 14:40
14:40 Psyche^ joined
pmichaud I'd be really happy to see the :e, :d, etc. filetests moved out of Str and into IO 14:40
that seems like a LHF task
(LHF == low hanging fruit)
masak we don't talk a lot about HHF.
pmichaud I'm working on HHF at the moment, in fact. 14:41
redesigning the regex engine is probably HHF
masak pmichaud++
PerlJam I don't eat fruit. Can we talk about high growing vegetables? Or animals that move slow enough that it's easy to kill and eat them?
pmichaud it certainly needs some ladders and safety gear :)
masak pmichaud: are you working entirely locally? or is there a branch somewhere online?
14:41 ejs1 left
pmichaud masak: it's still design issues at the moment. I expect commits tomorrow. 14:42
masak gotcha.
14:42 nihiliad left
pmichaud I'm re-architecting the whole system to be similar to PAST/POST 14:42
in fact, the regex ast nodes will emit POST instead of PIR
PerlJam pmichaud: so ... you're still climbing the tree and are a ways away from the fruit yet
pmichaud PerlJam: I'm still erecting the scaffolding and cranes needed to reach the fruit
and probably doing an environmental impact survey 14:43
moritz_ I hope there are occasional berries along the way :-)
diakopter I have some questions for the room: (anyone please answer/contribute)
masak
.oO( crane-berries )
PerlJam diakopter: I don't think you need to tell this crowd to speak. Everyone freely opines :)
masak PerlJam: I disagree. :P 14:44
moritz_ masak++
pmichaud but I'm really liking the design that is coming together. I think it will be much more efficient and easier to maintain than the current PGE
PerlJam masak: :-P
14:44 rfordinal left 14:45 ejs left
cognominal is there any reason to keep parentheses when declaring multiple variables at once now that the relative precedence of = and , are right. Should not the declarator distribute to the vars? 14:46
14:46 mberends left
pmichaud cognominal: no. 14:46
moritz_ cognominal: note that there are two infix:<=> with different precedences
pmichaud there's a difference between list assignment .... what moritz++ said.
moritz_ if the LHS looks like list, the precedence is looser 14:47
pmichaud more specific, if the LHS isn't scalar, the precedence is looser :)
moritz_ so that you can say my @a = $a = 1, $b = 2, $c = 3;
and mean my @a = ($a = 1, $b = 2, $c = 3;) 14:48
cognominal ok, thx
moritz_ t/spec/S03-operators/assign.t is full of precedence for that :-) 14:49
cognominal I will read it
14:50 Patterner left, Psyche^ is now known as Patterner
pmichaud PerlJam: (not eating fruit) -- we don't need you to consume the fruit, we just need you to gather it. :) 14:50
moritz_ cognominal: and keep your distance in order not to vomit over your keyboard :/
PerlJam but if I don't eat it, why would I gather it? That sounds like an altruistic endeavor :)
__ash__ jnthn: so, at my ACM group here in college we do student presentations, and I was thinking of doing one on roles and perl6 in general, is it cool if i reference some of your slides on perl6 roles? 14:51
moritz_ PerlJam: to sell it, or exchange it against some other tasty food
eiro wg #biblibre
PerlJam moritz_: but no one wants to buy the perl6 fruit </whine>
masak eiro: another irssi victim? :) 14:52
moritz_ __ash__: I'd be very surprised if jnthn had any objections
eiro oops ... yeah : i know i have to find a decent client :)
masak, you allready laught at me about it :)
masak eiro: I can't remember all the irssi users I've laughed at. :)
pmichaud ...what's wrong with irssi? or is it just that we're particularly humorous? 14:53
masak pmichaud: I'm sure it's a fine client. but among all IRC clients I know, it's the one where people most often mix out-of-band commands into channel discussion.
__ash__ moritz_: i'd rather be sure, i also am trying to see if I can get anyone else interested in parrot to try working on the JIT runcore in the llvm, the llvm is where I want to do research (if/when) i get into grad school next fall 14:54
pmichaud /msg PerlJam do you have any idea what masak is carping about?
oops.
masak :)
eiro :-) 14:55
14:59 hugme left, hugme joined 15:00 ejs joined 15:02 JimmyZ joined 15:05 jrtayloriv joined
hv2 Do I need to do anything other than "make" for rakudo after modifying builtins/io.pir? 15:06
pmichaud probably not. 15:07
but it would be nicer/better if the new code could go into src/setting/IO.pm
hv2 I added a ".sub ':t'", and remade, but I'm getting "Method ':t' not found for invocant of class 'IO'"
moritz_ hv2: did you add the :method flag? 15:08
pmichaud are the methods supposed to include the colon?
hv2 .sub ':t' :method :multi(_)
.param pmc fh
$P0 = fh.'is_tty'()
.return ($P0)
.end
that was a combination of cargo cult and guesswork :)
pmichaud ...what will be passing in fh, though?
hv2 is that not self? 15:09
pmichaud if you have :method, then there's already a 'self'
and fh would be an extra param
hv2 ah ok
pmichaud either way, 'self' isn't good enough here, because 'self' isn't a Parrot IO object
it's a Rakudo IO object
hv2 I was looking at .sub close(), which just calls obj.'close'(), and guessing that it would simply DTRT 15:10
but I suspect I've misunderstood what .sub close is doing
pmichaud that's just a function wrapper 15:11
it's basically the same as sub close($x) { $x.close; }
i.e., it's turning a function call into a method call
hv2 ok, then i guess I need a ".local pmc pio; pio = self.something()', assuming there is a something() somewhere 15:13
I guess I'm still looking in the wrong source file though, because I don't see anything doing something() 15:14
15:15 rfordinal joined 15:16 frew_ left 15:17 pmichaud left 15:19 mikehh left, pmichaud joined 15:20 mikehh joined 15:22 pmichaud left 15:25 rfordinal left 15:27 pmichaud joined
pmichaud checks on IO methods... 15:28
hv2 looks expectant 15:30
15:33 Su-Shee left 15:37 frew_ joined 15:40 molaf joined
pmichaud yes, looks like we need to update the Pair handling for smart matches 15:44
anyway, in src/setting/IO.pm, I'd expect to see
multi method t() { $!PIO.is_tty } 15:45
then one can check if a file handle is a tty by using $fh.t
hv2 not "multi method ':t'() { ... }"?
ah ok
pmichaud and when we get pairs working with smartmatch again, it'd be $fh ~~ :t 15:46
no, the colons are fossils
from older versions of the spec
hv2 ok
15:49 tak11 joined 15:51 mariuz left 15:53 JimmyZ left 15:54 crythias joined
hv2 Hmm, ok, rebuilt with that, but it tells me "Method 'is_tty' not found for invocant of class 'FileHandle'" - I was expecting it to get a PIO rather than a FileHandle 15:54
I'm testing this with "say $*IN.t()"
pugs_svn r28393 | jimmy++ | [zh-cn/syn/S02-bits.pod]added a bit more chinese transcript 15:55
15:56 ejs1 joined
masak this is strange: Twitter spammers seem to have elected a phrase with 'Perl 6' in it: twitter.com/#search?q='cranky%20editorial' 15:56
15:57 PZt joined, rfordinal joined
moritz_ one person wrote it, one person copied it 15:58
nothing new on the internet, is it?
masak right. I think alester originated the tweet. 15:59
alester which? 16:00
masak 'I need to write a cranky editorial about the absurdity of Perl 6 having "missed the boat."'
16:00 ejs left
alester That's me, yes. 16:00
masak and two Twitter spammers, now.
from what I can tell, the spam accounts just randomly sample the tweet space somehow. 16:01
alester and only choose the most awesome tweets to clone! 16:02
pmichaud basically, they're mockingbirds. or parrots.
masak :)
alester It's just a mynah inconvenience.
TimToady
.oO(Zombie Bird: I want to eat birdbranes!)
16:03
masak srsly, some of the thought bubbles in here could be made into entire web comics. 16:04
hv2 Cool, it works: 16:05
Cool, it works: 16:06
zen% ./perl6 -e 'say $*IN.t()'
1
zen% echo '1' | ./perl6 -e 'say $*IN.t()'
0
zen%
masak hv2++
pmichaud shall I commit it? 16:07
hv2 I'm confused that $!PIO is giving a FileHandle rather than a PIO, but that's ok - FileHandle already exports isatty
multi method t() is export {
$!PIO.isatty;
}
pmichaud adding.
surely we don't want it exported, though. 16:08
hv2 Oh, probably not. 16:09
moritz_ no
pmichaud spectesting now
masak rakudo: module A { sub foo() is export { say "OH HAI" } }; foo
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub foo␤»
masak should that work? 16:10
moritz_ masak: no
because you didn't import it
masak moritz_: neither did import all the exported methods in the Setting.
moritz_ masak: that's what infix:<defines> is for
masak: not you, but a magical routine did it for you
pmichaud the exported methods in the setting are imported by default
masak never heard of infix:<defines> :)
masak hits the spec
pmichaud S11 :-)
16:11 rindolf joined
moritz_ masak: the setting is notionaally an outer scope of your program 16:11
rindolf Hi all.
I was once shown a short Haskell program for the equivalent of these - paste.debian.net/47425/ and paste.debian.net/47424
I split by words and then count the number of occurences of each word.
Can anyone reproduce it?
masak rakudo: my %h; %h{%_} for $*IN.slurp.words; .say for %h.keys.sort({ +%h{$_} })[^10] 16:13
p6eval rakudo 0eaf62: OUTPUT«Use of uninitialized value␤␤Use of uninitialized value␤␤Use of uninitialized value␤␤Use of uninitialized value␤␤Use of uninitialized value␤␤Use of uninitialized value␤␤Use of uninitialized value␤␤Use of uninitialized value␤␤Use of uninitialized value␤␤Use of uninitialized
..value␤␤»
masak hm. 16:14
something like that. :)
rakudo: my %h; ++%h{%_} for $*IN.slurp.words; .say for %h.keys.sort({ -%h{$_} })[^10]
p6eval rakudo 0eaf62: OUTPUT«Method 'succ' not found for invocant of class 'List'␤»
masak o.O
pmichaud rakudo: my %h; for $*IN.slurp.words { %h{$_}++ }; say ~%h; 16:15
p6eval rakudo 0eaf62: OUTPUT«Söhne, 1␤Schöne, 1␤Äcker, 1␤hoher 1␤zukunftsreich! 1␤neuen 1␤schwören, 1␤gläubig 1␤Land 5␤vielgeliebtes 2␤frei 1␤Erdteil 1␤Einig 1␤Herzen 1␤wild 1␤bist 1␤Sendung 1␤du 2␤begnadet 1␤Zeiten, 1␤großer 1␤Mutig 1␤und 2␤sieh
..1␤vielgerühmtes 2␤laß 1␤Vaterland, 1␤am 1␤einem 1␤frühen 1␤Hast …
masak oh. not %_.
rakudo: my %h; ++%h{$_} for $*IN.slurp.words; .say for %h.keys.sort({ -%h{$_} })[^10]
p6eval rakudo 0eaf62: OUTPUT«Land␤der␤Österreich!␤Österreich,␤vielgeprüftes␤in␤und␤vielgeliebtes␤vielgerühmtes␤du␤»
16:15 xaki joined
pmichaud rakudo: my %h; for $*IN.slurp.words { %h{$_}++ }; say %h.sort( { -.value } ) 16:15
moritz_ so prefix:<++> autovivifies?
p6eval rakudo 0eaf62: OUTPUT«Land 5der 4Österreich! 3Österreich, 3und 2vielgerühmtes 2vielgeprüftes 2du 2in 2vielgeliebtes 2Heiß 1Heimat 1Ahnentagen 1Zeiten, 1Mutig 1laß 1einem 1Söhne, 1die 1für 1Äcker, 1uns 1dem 1zukunftsreich! 1starken
.. 1das 1arbeitsfroh 1Brüderchören, 1dir 1Treue 1frei 1Strome, 1Hämmer, 1Her…
pmichaud rakudo: my %h; for $*IN.slurp.words { %h{$_}++ }; say %h.sort( { -.value } )[^10] 16:16
p6eval rakudo 0eaf62: OUTPUT«Land 5der 4Österreich, 3Österreich! 3vielgeliebtes 2in 2vielgerühmtes 2vielgeprüftes 2und 2du 2␤»
moritz_ now add a .perl :-)
pmichaud rakudo: my %h; for $*IN.slurp.words { %h{$_}++ }; .say for %h.sort( { -.value } )[^10]
p6eval rakudo 0eaf62: OUTPUT«Land 5␤der 4␤Österreich! 3␤Österreich, 3␤vielgeprüftes 2␤und 2␤du 2␤vielgeliebtes 2␤in 2␤vielgerühmtes 2␤»
pmichaud yes, prefix:<++> autovivifies 16:17
masak rakudo: my %h; for $*IN.slurp.words { %h{$_}++ }; %h.sort( { -.value } )[^10].perl.say 16:18
p6eval rakudo 0eaf62: OUTPUT«["Land" => 5, "der" => 4, "Österreich," => 3, "Österreich!" => 3, "in" => 2, "vielgerühmtes" => 2, "vielgeprüftes" => 2, "und" => 2, "du" => 2, "vielgeliebtes" => 2]␤»
16:18 ruoso left 16:20 crythias left
TimToady rakudo: sub foo { say "OH HAI" }; class A { method bar {} }; &A::bar = &foo; A.new.bar 16:25
p6eval rakudo 0eaf62: OUTPUT«OH HAI␤» 16:26
TimToady I think that shouldn't work at all, because methods aren't supposed to go into the package unless you say "our"
pmichaud yes, thats a parrot bug
I replied as such to the ticket
TimToady KTHNX
pmichaud it also shouldn't work because one isn't allowed to assign to a routine
(my reply is rt.perl.org/rt3/Ticket/Display.html?id=69350, fwiw) 16:27
moritz_ rakudo: (2, 3, 4).pick.say 16:28
p6eval rakudo 0eaf62: OUTPUT«4␤»
masak pmichaud: (routine non-assignability) good.
pmichaud that particular part will be fixed when we switch the system over so that it assumes all values to be read-only unless marked otherwise 16:31
(instead of the way it is now, where it assumes r/w unless marked readonly)
TimToady more of a capability view
and more optimized for FP -> immutability 16:32
pmichaud correct
lunchtime would be good here. 16:33
TimToady Texans have Big lunches
eiro are the synopsies docs included in the rakudo source tree ?
pmichaud eiro: no, but they're in the pugs repo 16:34
TimToady pugs/docs/Perl6/Spec
16:34 crythias joined
eiro so i'll svn co pugs 16:34
TimToady do you have a pugs commit bit yet? 16:35
dalek kudo: 8e34da7 | pmichaud++ | src/setting/IO.pm:
Add the IO.t method for testing that a filehandle is opened to a tty. (hv2++)
TimToady if not, /msg me your email and preferred svn nick
and I can send you one 16:36
16:36 ejs1 left
TimToady eiro: ^^^ 16:36
sjohnson morning everyone 16:38
masak sjohnson: o/
sjohnson howdy masak 16:39
rindolf Hi sjohnson 16:42
eiro wow ... have to go back home! 16:43
bye world
TimToady chow
sjohnson heh 16:45
16:46 tak11 left, ejs joined 16:48 stephenlb joined 16:50 TiMBuS left
rindolf TimToady: there's a truck of hasidic Jews outside making a lot of noise. 16:50
"Our father is still alive."
God is a mother fucker. 16:51
PerlJam for some reason I read that as "sadistic Jews" 16:52
rindolf PerlJam: same thing, really. 16:53
masak rindolf: was 'God is a mother fucker' a conclusion in a syllogism involving the hasidic Jews? 16:54
16:54 icwiener joined
masak because if so, you seem to be missing a step. 16:54
rindolf masak: they have no respect for common courtesy. 16:55
masak and that's God's fault?
rindolf OK, I think I can watch the movie now.
16:55 iblechbot left
masak hugme: hug rindolf 16:57
hugme hugs rindolf
moritz_ :q!
hugme hugs moritz_, good vi(m) user!
masak 哈哈 16:58
moritz_ has to boast with latest hugme feature :-)
masak moritz_: does it hug hapless irssi users too?
moritz_ masak: when you give me a regex to identify them...
masak hm, I don't know enough about the syntax... 16:59
but it seems you could easily match against /^ win \s+ \d+ $/
17:01 St[u]dent is now known as Student 17:07 tak11 joined 17:12 masak left 17:21 __ash__ left 17:25 crythias left 17:30 mberends joined
mberends viklund: I'm ready to pick up the next TODO in proto, just want to know if you're busy with any of them? 17:39
17:40 NorwayGeek|Away left, _jaldhar left
diakopter hugme: bite me 17:41
b0rked
moritz_ hugme is friendly only 17:43
pmurias it could be a friendly bite 17:44
diakopter ha
pmurias: hi
moritz_ something along the lines of "* hugme bites diakopter playfully, and giggles" 17:45
17:45 NorwayGeek joined
diakopter runs, and not with it. 17:45
17:46 Zloyrusskiy joined
pmurias diakopter: what does eval_args do? 17:47
17:49 justatheory left 17:51 justatheory joined, simcop2387 left, jaldhar joined 17:53 simcop2387 joined 17:58 simcop2387 left 17:59 simcop2387 joined
diakopter pmurias: sorry for the delay; irssi hanginge for some reasone 18:00
pmurias: it's where the strictly-evaluated args of each node end up
the results of them 18:01
nodes that want their arg(s) lazily evaluated (basically to handle themselves) can register themselves as such
such as the short-circuiting operators 18:03
or chains
pmurias: wait, did you mean the function eval_args or the property eval_args (on nearly all the node objects) 18:05
the function is the op that populates that property
18:06 japhb left
diakopter pmurias: STD provides each operation's arguments/children as either named properties on the node, or in the .args property, or the .arg property 18:07
pmurias the eval_args node type 18:08
diakopter by default, I made the interpreter/evaluator strictly evaluate them
and stuff their results into eval_args
but you can mark particular node_types as lazy where needed
the eval_args node type is a node type I invented (it's not an STD artifact) that performs that task... 18:10
18:10 justatheory left, justatheory joined
pmurias i see 18:10
18:12 jan_ left
diakopter and when STD doesn't lift the arguments/children from the '.' (ast) property (which I renamed "M"), it's a bug and TimToady would love to know about it. :) 18:12
18:13 jaldhar left
diakopter I mean viv 18:13
when viv doesn't do that lifting, etc.
pmurias diakopter: why did you go for an interpreter instead of a compiler? 18:20
18:21 iblechbot joined, quietfanatic left
diakopter pmurias: ignorance, inexperience, naivete, lack of education, stubbornness, capriciousness, laziness, hubris, and such. 18:21
oh, and impunity 18:22
marked impunity.
and, I suppose, masochism. 18:23
18:26 zerhash left 18:29 rfordinal left
pmurias diakopter: shouldn't you deep clone the subroutine body when you call it? 18:32
diakopter pmurias: yes :)
but I do that by making each and every node that depends on such state shallow cloned 18:33
(which is nearly all nodes)
really, all nodes except those that are reifying immutable entities such as literal integers 18:34
pmurias: unless you found one I missed... 18:35
18:35 colomon joined
diakopter the dupe() function shallowly clones 18:37
(as I'm sure you noticed)
pmurias: in p6sub_invocation, this.do_next = dupe(this.sub_body); 18:39
pmurias i see ;) 18:40
got to go& 18:41
18:41 pmurias left 18:43 japhb joined 18:45 jan_ joined 18:47 colomon left, astinus_ is now known as astinus 18:51 explorer joined 19:01 Zloyrusskiy left 19:05 zerhash joined
viklund mberends: no, I'm not 19:10
diakopter rakudo: say :0<1>
p6eval rakudo 0eaf62: OUTPUT«radix out of range (2-36)␤in Main (src/gen_setting.pm:2436)␤»
diakopter rakudo: say :1<1>
p6eval rakudo 0eaf62: OUTPUT«radix out of range (2-36)␤in Main (src/gen_setting.pm:2436)␤»
19:11 astinus left, hv2 left
diakopter rakudo: say :999999999999999999<1> 19:11
p6eval rakudo 0eaf62: OUTPUT«radix out of range (2-36)␤in Main (src/gen_setting.pm:2436)␤»
diakopter oops
rakudo: say :2<1101>
p6eval rakudo 0eaf62: OUTPUT«13␤»
diakopter std: :0<0>
p6eval std 28379: OUTPUT«ok 00:03 96m␤»
19:12 am0c joined
mberends viklund: ok, I was doing at some refactoring and replacing the run("cp -r") in install with an explicit loop over the files, to be skip installing forbidden files such as Test.pm. 19:13
s/at// s/be// 19:14
std: my $path_xxx = p{/tmp/xxx}; 19:21
p6eval std 28379: OUTPUT«===SORRY!===␤Obsolete use of suffix regex modifiers; in Perl 6 please use prefix adverbs instead at /tmp/HkcbEsAXjh line 1:␤------> my $path_xxx = p{/tmp/xxx⏏};␤Other potential difficulties:␤ Possible obsolete use of /x; in Perl 6 please use
..no…
viklund nice 19:23
diakopter std: …
p6eval std 28379: OUTPUT«===SORRY!===␤Confused at /tmp/10EnajMtdS line 1:␤------> <BOL>⏏…␤ expecting any of:␤ bracketed infix␤ infix stopper␤ noun␤ prefix or noun␤ standard stopper␤ statement end␤ statement list␤ term␤ terminator␤
..whitespace␤FAILED 00:01 99m␤»
diakopter std: «» 19:24
p6eval std 28379: OUTPUT«ok 00:02 95m␤»
diakopter std: «»«»
p6eval std 28379: OUTPUT«ok 00:03 95m␤» 19:25
diakopter wha?
TimToady subscript 19:26
pmichaud heh
and here I figured it was just an egotistical military officer showing off his chevrons :)
TimToady mind you, I doubt the result of «» will be Associative 19:27
mberends std: my Path $path_bin = p{/bin}; # wondering about S32-IO
p6eval std 28379: OUTPUT«===SORRY!===␤In "my" declaration, typename Path must be predeclared (or marked as declarative with :: prefix) at /tmp/s97ZmeAmOx line 1:␤------> my Path⏏ $path_bin = p{/bin}; # wondering about ␤FAILED 00:01 95m␤»
TimToady I don't believe in p 19:28
mberends is S32-IO wrong?
diakopter m n, o p of little faith.
TimToady I hope so
pmichaud I think it's speculative there
afk, errands
TimToady I believe in what p is trying to do, but we can't use up a new letter for one quoting operator 19:30
mberends that makes sense 19:31
proto could use mkdir, seemed like a fruit almost within reach. I guess it will be the non portable run("mkdir $dir") for now
diakopter TimToady: how about `path{/bin}` means `path(q{/bin})` :D 19:33
PerlJam every time I look at this window there's always some crazy talk on it. 19:34
TimToady bows on behalf of all of us 19:35
PerlJam I just assume that every one is insane and that TimToady acts as a sanity filter for Perl 6 (the only question is ... what does "sane" mean in that context? ;) 19:36
19:37 xaki left
mberends the lunatics are running the asylum ;) 19:37
diakopter the lunatics built the asylum
PerlJam wait ... there's an asylum?
mberends a refuge for stackless programmers 19:38
TimToady
.oO(must...not...make...joke...about...stacked...programmers...)
19:39
diakopter stacks of programmers or .. oh wait.
mberends the odds are ? heaped ? against us 19:40
PerlJam oh no! Another round of punnery has begun
19:40 ejs left
diakopter and the ratio is definitely overlowing. 19:41
flowing
mberends not to mention the garbage
sjohnson
.oO();
19:47
diakopter
.oO( thought buggles )
bubbles. wow.
sjohnson rakudo can process this 19:48
diakopter I thought Parrot was register-based 19:49
moritz_ rakudo: this
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub this␤»
TimToady it's turing complete, if you want a counter example
rakudo: human
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub human␤»
diakopter rakudo: text 19:50
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub text␤»
19:50 Zloyrusskiy joined
TimToady shouldn't it rather say "Found non-existent sub text"? 19:50
diakopter rakudo: routine 19:51
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub routine␤»
moritz_ TimToady: time to spec error messages ;-)
diakopter rakudo: marine
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub marine␤»
sjohnson heh
rakudo: particle 19:52
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub particle␤»
sjohnson rakudo: machine-gun
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub machine-gun␤»
TimToady or maybe "Could not find existent sub text"
19:53 jseits joined
diakopter rakudo: subsub 19:53
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub subsub␤»
sjohnson rakudo: text
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub text␤»
TimToady does that mean it did find an existent sub text? 19:54
pugs_svn r28394 | fglock++ | [mp6] Javascript newline fixes: multiline strings, "\n", say()
diakopter rakudo: pun
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub pun␤»
sjohnson if so, i should use rakudo to help me understand signals from girls my age
PerlJam rakudo has no sub text
moritz_ notices the lack of line number / backtrace in the error message
TimToady rakudo: no way 19:55
diakopter rakudo terfuge
p6eval rakudo 0eaf62: ( no output )
sjohnson rakudo: yes way
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub way␤»
diakopter rakudo: terfuge 19:56
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub terfuge␤»
sjohnson rakudo: 'good times'
p6eval rakudo 0eaf62: ( no output )
sjohnson rakudo: 'good times'()
p6eval rakudo 0eaf62: OUTPUT«invoke() not implemented in class 'Perl6Str'␤in Main (/tmp/Ixkpq86aaB:2)␤»
19:56 [particle] joined
TimToady rakudo: no way jose 19:57
p6eval rakudo 0eaf62: ( no output )
TimToady rakudo doesn't put out
diakopter rakudo: clothes
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub clothes␤»
TimToady diakopter: you're perseverating 19:58
diakopter semper ubi sub ubi
sjohnson rakudo: sandwich
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub sandwich␤»
19:59 jseits left
diakopter rakudo: Red_October 19:59
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub Red_October␤»
sjohnson heh
moritz_ after a few dozen iterations the joke loses its attractiveness, IMHO
sjohnson joke?
diakopter rakudo: joke
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub joke␤»
sjohnson haha 20:00
diakopter rakudo: moritz_
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub moritz_␤»
TimToady someone reach over and hit diakopters reset button
moritz_ hugme: hug diakopter
hugme hugs diakopter
moritz_ hugme: hug sjohnson
hugme hugs sjohnson
[particle] Could not find diakopter's non-existent reset button 20:01
sjohnson (´ー` )
( `ー´) 20:02
diakopter rakudo: no no
p6eval rakudo 0eaf62: ( no output )
cognominal rakudo: lime 20:03
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub lime␤»
diakopter rakudo: johnson
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub johnson␤»
20:04 PZt left
sjohnson in the interest of silly jokes, wasting time at work, and learning about p6, can you make it more than 1 word without using an underscore to produce this error? 20:05
moritz_ rakudo: a b
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub b␤»
moritz_ that was a non-breaking ws 20:06
TimToady not a word char
moritz_ rakudo: a-b
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub a-b␤»
moritz_ aye
sjohnson can't trick a new compiler with old tricks
pmichaud rakudo: tle
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub tle␤»
diakopter rakudo: title
20:06 moritz_ sets mode: +o pmichaud
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub title␤» 20:06
diakopter rakudo: system 20:07
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub system␤»
pmichaud rakudo: station
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub station␤»
TimToady rakudo: no output 20:08
p6eval rakudo 0eaf62: ( no output )
diakopter hee
std: no output
p6eval std 28379: OUTPUT«ok 00:01 94m␤»
TimToady STD puts out
20:08 [particle]1 left
TimToady well, it says yes, anyway 20:08
pmichaud I thought "puts" was mainly tcl? ;-)
TimToady ruby 2 20:09
diakopter 'ok' can mean no, you know
pmichaud ok
diakopter twss.
pugs: no output 20:10
p6eval pugs: ( no output )
sjohnson rakudo: say " happy moose ".strip; 20:11
diakopter vijs: no output
p6eval rakudo 0eaf62: OUTPUT«Method 'strip' not found for invocant of class 'Str'␤»
vijs 28379: OUTPUT«execute(): execute error: statement_control__S_no not yet implemented; srsly!!?!?␤last: statement␤T,T__statement_control__S_no,BEG,arglist,_specific,SYM,module_name,END,M,phase,postDo,eval_args,invoker,context at vivjs line 66.␤»
sjohnson i forgot the white space trimmer func name
diakopter vijs hasn't learned how yet.
sjohnson rakudo: say " happy moose ".trim;
pmichaud trim
p6eval rakudo 0eaf62: OUTPUT«happy moose␤»
TimToady what's this about stripping?
sjohnson trying to boost up p6's sex appeal
diakopter rakudo: prime 20:13
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub prime␤»
diakopter rakudo: basement 20:14
TimToady I strongly suspect this is not the way to go about it
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub basement␤»
moritz_ pmichaud: FYI there's still (or again) a src/pmc/bigint.pmc in parrot 20:15
pmichaud moritz_: yes, but I don't think it actively gets linked in
I could be wrong about that.
guess I'm wrong... i just tried it and I get "no bigint lib loaded" 20:16
moritz_ the tests just use b = new ['BigInt'] with no preamble code or so
and pass
diakopter TimToady: any kludge on the rad_int 20:17
pmichaud anyway, I know that bigint/bignum support in Parrot is slated to change substantially, so I'll wait for that 20:18
TimToady nope, someone was distracting me by perseverating
pmichaud I'm very curious to see how Parrot decides to handle the case where one tries to grab a BigInt value into an int register 20:19
20:25 cj joined
cj diakopter: scrottie and I have been talking about you 20:25
diakopter oh dears 20:26
20:26 diakopter sets mode: +o cj
cj diakopter: and I've been trying to compile perl5 with the cil back-end for gcc ;) 20:26
oooh
diakopter: scrottie and I started a contract at the same place on the same day
anyway, still thinking about helping to bootstrap p6 on clr with p5 on the vm 20:28
diakopter well 20:30
so you're saying you got gcc-cli to build perl?
[essentially compiling Perl to MSIL (desugarded C#, mostly), for those watching] 20:31
desugared. hrm.
mikehh rakudo (8e34da7) builds on parrot r41447 - make test / make spectest (up to 28394) PASS - Ubuntu 9.04 amd64 20:32
running make spectest_smolder
diakopter wonders how big the perl_cil executable would be 20:34
moritz_ rakudo: say (3, ), 4
p6eval rakudo 0eaf62: OUTPUT«34␤»
moritz_ rakudo: multi sub infix:<a>(@a, $b) { say @a.perl }; multi sub infix:<a>($a, $b) { &infix:<a>(($a, ), $b) }; 3 a 3 20:35
p6eval rakudo 0eaf62: OUTPUT«[3]␤»
mikehh I am getting failures with spectest_smolder that I didn't get with spectest 20:36
20:38 NorwayGeek is now known as NorwayGeek|Away
mikehh t/spec/S02-names_and_variables/perl.rakudo ..................... Failed 27/102 subtests 20:40
this doesn't fail with make spectest, make t/spec/S02-names_and_variables/perl.t or ./perl6 t/spec/S02-names_and_variables/perl.rakudo 20:41
20:44 Zloyrusskiy left 20:46 cj left
mikehh it is consistently failing with make spectest_smolder - smae failure in 3 runs - let 1 go to completion #28017 20:47
ssmae/same/ 20:48
moritz_ hm, dies after test 75 20:50
mikehh moritz_: one of the infamous segfaults - Non-zero wait status: 11 20:52
20:52 zamolxes joined
mikehh moritz_: but again it only fails with make spectest_smolder - it PASSes all other variations I could test 20:53
moritz_ rakudo: say (*-3).signature.perl
p6eval rakudo 0eaf62: OUTPUT«undef␤»
20:53 explorer left
moritz_ rakudo: say (-> $x { $x - 3 }).signature.perl 20:54
p6eval rakudo 0eaf62: OUTPUT«:(Object $x)␤»
moritz_ bugreport submitted. 20:57
20:59 PacoLinux left, nbrown left 21:00 PacoLinux joined
pugs_svn r28395 | Util++ | [identifier.t] Typos 21:01
moritz_ somehow hacking on infix:<...> is not rewarding. 21:02
it needs signature features that rakudo doesn't suppport yet
it needs to work with WhateverCode objects that don't have signatures yet
and I can't simply catch the exception that's thrown when I try to access the undef signature nonetheless, because that throws a Null PMC access in get_bool 21:03
checking the typ of the WhateverCode object gives another weird error: "Class P6protoobject already registered!" 21:04
rakudo: say ( (*+2) !~~ WhateverCode) 21:05
p6eval rakudo 0eaf62: OUTPUT«Class P6protoobject already registered!␤in Main (/tmp/6ZQLFFZtvy:2)␤»
moritz_ rakudo: say ( (*+2) ~~ WhateverCode)
p6eval rakudo 0eaf62: OUTPUT«1␤»
moritz_ rakudo: say ( -> $x { $x } ~~ WhateverCode) 21:06
p6eval rakudo 0eaf62: OUTPUT«0␤»
moritz_ rakudo: say ( -> $x { $x } !~~ WhateverCode)
p6eval rakudo 0eaf62: OUTPUT«Class P6protoobject already registered!␤in Main (/tmp/EsH8cmRwpJ:2)␤»
moritz_ rakudo: say ( -> $x { $x } !~~ Code)
p6eval rakudo 0eaf62: OUTPUT«Class P6protoobject already registered!␤in Main (/tmp/dggDmckmOR:2)␤»
moritz_ another ticket 21:07
but workaroundable 21:09
21:09 colomon joined
moritz_ ... and suddenly all tests pass. \o/ 21:09
colomon \o/ indeed! 21:10
21:11 zamolxes left
sjohnson hi colomon 21:14
colomon hello!
pugs_svn r28396 | moritz++ | [t/spec] unfudge some series tests for Rakudo; also label a previously unlabled test
colomon What's been happening this week (while I was up in the internet-free wilds of Michigan)? 21:15
21:15 nbrown joined
moritz_ colomon: pmichaud started designing the PGE refactor (which might become a complete re-write) 21:15
then I don't know if you already know about the new-and-improved perl6.org (now with sub pages) 21:16
PerlJam sounded more like "will" that "might" earlier
colomon moritz_: I saw your test page for the new perl6.org before I left.
dalek kudo: f2acdbb | moritz++ | src/setting/Operators.pm:
implement some more use cases of infix:<...>

   * we'd need multi slices for the signature, and don't have 'em
   * I've hit at least three Rakudo bugs which I've worked around
   * infix:<...> has rather sophisticated cases, which I tried to cover
   at least partially without too much code duplication
moritz_ diakopter++ started vivjs, which plus STD.pm + viv and the V8 javascript VM
colomon Is the PGE refactor what's supposed to get us std.pm?
moritz_ colomon: it's supposed to give us proto regexes first, which is step in that direction 21:17
don't know what else we need right now
colomon still sounds very much like good news!
I see you added .pred and .succ for Rat, what do they do?
moritz_ (that test page is now alive and kicking) 21:18
colomon: they handle ++ and --
colomon I understood that, but what do they do? Is it just ++ and -- on the numerator?
moritz_ now, they add/substract 1
just like $x++ would do on any other number
rakudo: my $x = 1/4; $x++; say $x.perl 21:19
p6eval rakudo 0eaf62: OUTPUT«Method 'succ' not found for invocant of class 'Rat'␤»
moritz_ huh?
that must be an auld rakudo
oh, and we moved p6eval to a new and faster server
and I tried to re-do rakudo's rebuild system 21:20
colomon 0eaf62 is three days ago, according to github.
moritz_ and tried to be too smart, and broke it
colomon I've got three or four issues that popped up while I was working on trig stuff up north, I will try to share them with the world after dinner tonight. 21:21
moritz_ great
21:24 icwiener left
moritz_ rakudo: say (* > 0).(4) 21:24
p6eval rakudo 0eaf62: OUTPUT«1␤»
cognominal rakudo: say */* 21:26
p6eval rakudo 0eaf62: OUTPUT«!whatever_closure␤»
moritz_ rakudo: if 3 cmp 4 -> $x { say $x }
p6eval rakudo 0eaf62: OUTPUT«-1␤»
21:32 tak11 left 21:33 SmokeMachine left 21:34 tak11 joined 21:37 ruoso joined 21:39 mberends left 21:40 zamolxes joined 21:41 KyleHa left
dalek kudo: c394d6d | moritz++ | src/setting/Operators.pm:
forgot to remove debugging output, moritz--
21:41
21:46 alester left 21:50 crythias joined 21:56 dakkar left 22:07 iblechbot left
moritz_ rakudo: my $x = 'a'; say --$x; say $x cmp 'a' 22:09
p6eval rakudo 0eaf62: OUTPUT«Decrement out of range␤␤Multiple Dispatch: No suitable candidate found for 'cmp', with signature 'PP->I'␤in Main (/tmp/YV6Ly2Nqm3:2)␤»
moritz_ rakudo: say '' cmp 'a' 22:11
p6eval rakudo 0eaf62: OUTPUT«-1␤»
moritz_ rakudo: say undef cmp 'a'
p6eval rakudo 0eaf62: OUTPUT«Multiple Dispatch: No suitable candidate found for 'cmp', with signature 'PP->I'␤in Main (/tmp/lS77BmKJBL:2)␤»
moritz_ ah, that's what was disturbing me all that time
moritz_ firmly expects some new tests to pass this time 22:12
\o/
22:17 explorer joined 22:21 Matt-W left
pugs_svn r28397 | moritz++ | [t/spec] more tests for magical series operator, plus corrected one 22:21
dalek kudo: a33b90c | moritz++ | src/setting/Operators.pm:
magic, eager 'a'...'z' and 'z'...'a' series
22:24
kudo: bac4abd | moritz++ | build/gen_setting_pm.pl:
add a vim modeline to gen_setting.pm which prevents accidental editing
22:26 cj joined 22:27 SmokeMachine joined 22:31 meppl left
moritz_ rakudo: say 'd' ... 'a' 22:31
p6eval rakudo 0eaf62: OUTPUT«No applicable candidates found to dispatch to for 'infix:...'␤in Main (/tmp/0rLffyUrkT:2)␤»
moritz_ wow, that rakudo rebuilding thins is really borked 22:32
crythias $fish, %cornedbeef, @solar 22:36
moritz_ rakudo: say 'd' ... 'a'
p6eval rakudo 0eaf62: OUTPUT«dcba␤»
moritz_ \o/
that one gave me lots of headache
crythias fish scalar, corned beef hash, solar array. 22:37
22:38 pmurias joined 22:42 zamolxes left 22:50 jauaor joined 22:55 SmokeMachine left 22:59 ruoso left
pmurias 1 22:59
22:59 pmurias left 23:00 ruoso joined 23:31 jhuni joined 23:38 japhb left
colomon moritz_: errr... looks like p6eval claims to be the same rakudo in both the before and after back there? 23:48
diakopter crythias: ! 23:51
rakudo: existence 23:58
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub existence␤»
diakopter rakudo: sistence
p6eval rakudo 0eaf62: OUTPUT«Could not find non-existent sub sistence␤»