»ö« | 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 objectin 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 fooin 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 fooin 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 escapeFAILED 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 escapeFAILED 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 valueUse of uninitialized valueUse of uninitialized valueUse of uninitialized valueUse of uninitialized valueUse of uninitialized valueUse of uninitialized valueUse of uninitialized valueUse of uninitialized valueUse 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, 1Schöne, 1Äcker, 1hoher 1zukunftsreich! 1neuen 1schwören, 1gläubig 1Land 5vielgeliebtes 2frei 1Erdteil 1Einig 1Herzen 1wild 1bist 1Sendung 1du 2begnadet 1Zeiten, 1großer 1Mutig 1und 2sieh | ||
..1vielgerühmtes 2laß 1Vaterland, 1am 1einem 1frühen 1Hast … | |||
masak | oh. not %_. | ||
rakudo: my %h; ++%h{$_} for $*IN.slurp.words; .say for %h.keys.sort({ -%h{$_} })[^10] | |||
p6eval | rakudo 0eaf62: OUTPUT«LandderÖsterreich!Österreich,vielgeprüftesinundvielgeliebtesvielgerühmtesdu» | ||
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 5der 4Österreich! 3Österreich, 3vielgeprüftes 2und 2du 2vielgeliebtes 2in 2vielgerü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 | ||
..whitespaceFAILED 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: statementT,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 rangeMultiple 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» |