»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by diakopter on 25 January 2010. |
|||
00:03
patspam joined
00:06
snarkyboojum joined
|
|||
avar | I can't build rakudo, it fails with this: pastie.org/828145 | 00:09 | |
jnthn | wknight8111: I'd guess the April release. | 00:10 | |
avar: Hmm...looks like Parrot fails to build. :-/ | |||
wknight8111 | jnthn: ok, thanks | ||
jnthn | odd though...I don't remember seeing that error here. | 00:11 | |
wknight8111: The aim is still April for R*, and I doubt we'd pick earlier in the month or off the usual Thursday without some good reason. | |||
avar | jnthn: It also opened up 2 perldoc pages interactively | 00:12 | |
jnthn | ... | ||
Wow | |||
Maybe ask on #parrot :-/ | |||
or "make realclean" in the Parrot checkout and try again. | |||
But I thought --gen-parrot did that, though. | 00:13 | ||
wknight8111 | jnthn: got some APIs in parrot getting renamed soon, I don't want to drop that bomb tto close to a release for you | ||
jnthn | wknight8111: Yeah, I saw | ||
wknight8111: Twice as much typing to create a PMC now! :-P | |||
TimToady | pausenclown_: you're welcome :) | ||
wknight8111 | jnthn: was necessary for standards. I'm tired of parrot looking like amateur work | 00:14 | |
pausenclown_ | TimToady: .oO( digital shizophrenia :-) | 00:16 | |
jnthn | wknight8111: Ah yes, I agree with the motivation. :-) | ||
OK, sleep time. | 00:18 | ||
o/ | |||
TimToady | \o | ||
pmichaud | my plan is week following april release | 00:22 | |
rakudo #28 will be released Apr 22, Rakudo * sometime in the week that follows | 00:23 | ||
(Parrot 2.3.0 releases on Apr 20, iirc) | 00:24 | ||
00:24
rgrau left,
maerline joined,
maerline left
|
|||
snarkyboojum | does current Rakudo build with perl Configure.pl --gen-parot ? | 00:28 | |
parrot even | 00:29 | ||
because I currently get an error trying to build parrot - "Unable to locate parrot_config" | |||
diakopter | snarkyboojum: I had to run make clean under parrot/ | 00:30 | |
snarkyboojum | I started from scratch - i.e. removed git repo, and cloned a new git repo etc | 00:31 | |
diakopter | oh | ||
snarkyboojum | bugger :| | ||
diakopter | maybe just try running it again? | ||
snarkyboojum | will do :) | ||
diakopter | (without make clean) | ||
snarkyboojum | bugger - fell over again with the same error | 00:35 | |
gotta be something wrong on my end I guess - will have poke around | 00:36 | ||
would a previously installed parrot in /usr/local/bin stuff things up? | 00:39 | ||
*clueless* :) | |||
pmichaud | previously installed parrots have been known to cause problems, yes. | 00:42 | |
sometimes parrot grabs the install copy before any local copy. | |||
00:43
brunov joined
|
|||
snarkyboojum | ah error is misleading methinks because Configure.pl doesn't check if the parrot build works or not.. so just falls through and can't find a parrot_config | 00:58 | |
(or something) :) | |||
pugs_svn | r29760 | lwall++ | [S04] bring gather/take description more in line with modern realities | 01:02 | |
01:05
wolf2k_ubuntu joined
01:08
hercynium joined
01:11
avar joined
|
|||
wknight8111 | pmichaud: ping | 01:13 | |
01:14
avar left,
cognominal joined
01:15
avar joined
|
|||
lue | (The ping-pong ball is nowhere to be found, having soared miles and miles beyond the horizon) | 01:18 | |
01:23
snarkyboojum left
01:29
snarkyboojum joined
01:31
quester joined
01:36
snarkyboojum left
01:43
pausenclown_ left
01:45
snarkyboojum joined
|
|||
lue | everyone here: ping | 01:48 | |
snarkyboojum | so if I have a parrot build error as part of the rakudo built, would I ask in #parrot? | 01:56 | |
s/built/build/ | |||
lue | what's the specific build error? | 01:57 | |
snarkyboojum | just lost it ;) will build again | 01:59 | |
lue | alright. (meanwhile, where is everyone?) | 02:00 | |
snarkyboojum | couldn't find a lib, looking in rakudo/blib which doesn't exist -lparrot or some such.. will get better info :) | ||
lue | maybe you should redownload parrot thru configure...? | 02:03 | |
snarkyboojum | checking it out of SVN again as part of rakudo configure atm | 02:04 | |
lisppaste3 | snarkyboojum pasted "parrot build error as part of rakudo build" at paste.lisp.org/display/95091 | 02:09 | |
snarkyboojum | there is a rakudo/parrot/blib but not a rakudo/blib, so it's not finding the library.. dunno :) | 02:11 | |
02:11
REPLeffect left
|
|||
lue | It seems to be just a simple download-parrot-thru-svn problem. If that's not it, then I can't help :/ | 02:13 | |
I barely know how it works myself. | |||
02:13
REPLeffect joined
|
|||
snarkyboojum | why a simple download parrot thru svn problem? | 02:15 | |
lue | I mean a fix it by downloading thru configure. | ||
download to fix. | 02:16 | ||
snarkyboojum | ah - that works ok - and the build of parrot starts - no errors to speak doing the checkout via rakudo configure | ||
02:16
wknight8111 left
|
|||
snarkyboojum | "to speak of" | 02:16 | |
lue | Hey, if you want to laugh at computer-based idiots, go to www.rinkworks.com/stupid | 02:18 | |
I'm reading it right now. Very funny. | 02:19 | ||
02:28
REPLeffect left
02:35
meppl left
|
|||
diakopter | pnog | 02:44 | |
gnop | |||
lue | pogn | ||
pugs_svn | r29761 | colomon++ | [t/spec] Use 2.sqrt instead of a hard-coded square root of two value. Change comment to reflect what is actually being tested now. | 02:46 | |
r29762 | colomon++ | [t/spec] Refudge tests for master. | |||
02:47
colomon joined
|
|||
lue | rakudo: say "this".say; #just because | 02:47 | |
p6eval | rakudo ed95e2: OUTPUT«this1» | ||
lue | rakudo: say "this".say; | ||
p6eval | rakudo ed95e2: OUTPUT«this1» | ||
dalek | kudo/master: 0daf89b | (Solomon Foster)++ | src/core/Any-num.pm: Tweak rand not to complain about "too many arguments" when you don't actually pass it any arguments. Implement srand. |
||
kudo/master: 73bf5cc | (Solomon Foster)++ | src/core/Any-num.pm: Convert Any.atan2's $x argument to Num as well. |
|||
lue | rakudo: die("like it was no thing"); | 02:51 | |
p6eval | rakudo ed95e2: OUTPUT«like it was no thingcurrent instr.: '&die' pc 15850 (src/builtins/Junction.pir:279)» | ||
colomon | rakudo: say (-1 + -1i).polar | 02:52 | |
p6eval | rakudo ed95e2: OUTPUT«1.4142135623731-2.35619449019234» | ||
colomon | alpha: say (-1 + -1i).polar | ||
p6eval | alpha 30e0ed: OUTPUT«1.4142135623731-2.35619449019234» | ||
colomon | rakudo: say -1+1i | 02:55 | |
p6eval | rakudo ed95e2: OUTPUT«-1 + -1i» | ||
colomon | ouch | ||
alpha: say -1+1i | |||
p6eval | alpha 30e0ed: OUTPUT«-1 + 1i» | ||
02:59
dugg left
|
|||
lue | how do you square numbers in perl? | 02:59 | |
03:00
joseweb joined
|
|||
joseweb | hi i wanna begin whit perl 6 | 03:00 | |
go|dfish | lue: number ** 2 | 03:05 | |
lue | thought so. Thought it might be different. | 03:06 | |
go|dfish | joseweb: then do it! | 03:07 | |
lue | rakudo: say (3i)**2; #should be -9 | ||
p6eval | rakudo ed95e2: OUTPUT«-9 + 1.10218211923262e-15i» | ||
lue | Oi. | ||
rakudo: say (3*sqrt(-1))**2 | |||
p6eval | rakudo ed95e2: OUTPUT«NaN» | ||
lue | Interesting error. I'll have to (try to) fix it after homework. | 03:11 | |
colomon | lue: Ot' | 03:13 | |
It's not an error. | |||
03:13
quester left
|
|||
colomon | It's a feature. | 03:13 | |
rakudo: say sqrt(-1) | |||
p6eval | rakudo ed95e2: OUTPUT«NaN» | ||
colomon | rakudo: say sqrt(-1+0i) | ||
p6eval | rakudo ed95e2: OUTPUT«0 + 1i» | ||
colomon | sqrt doesn't go into complex numbers unless you specifically ask it to by passing it a complex number. | 03:14 | |
03:14
maerline joined
|
|||
lue | well, 3i squared should end up -9 (that's the original error) | 03:14 | |
colomon | no, that's correct as well. | ||
what you're interpreting as being wrong is just floating point noise. | |||
the value it gave you is -9 to 14 decimal places. | 03:16 | ||
lue | but shouldn't √(-1)**2 = -1 ? | ||
colomon | on the other hand, | ||
that's not how floating point numbers work. | 03:17 | ||
If you're really worried about it for integral powers, you can say | |||
rakudo: say 3i * 3i; | |||
p6eval | rakudo ed95e2: OUTPUT«-9 + 0i» | ||
colomon | but that will be inefficient if you go much beyond squares, and doesn't allow for fractional or negative powers. | 03:18 | |
joseweb | thanks | 03:19 | |
lue | ah well, I'll worry about it if I need to. | ||
colomon | rakudo: say -1+1i | ||
p6eval | rakudo ed95e2: OUTPUT«-1 + -1i» | ||
colomon | that's definitely wrong, on the other hand. | ||
03:19
joseweb left
|
|||
colomon | It's some sort of parsing error. | 03:19 | |
lue | On a calculator (TI-84 for example) complex numbers are a great way to store two numbers as one :) | ||
Especially concerning limited space on such calculators. | 03:20 | ||
03:20
maerline left,
maerline joined
|
|||
maerline | rakudo: say [\+] 7,8,99; | 03:20 | |
p6eval | rakudo ed95e2: OUTPUT«You can't backslash that at line 11, near "+] 7,8,99;"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
lue | I can't ? :( | 03:22 | |
colomon | maerline: rakudo master doesn't have [+] or [\+] at the moment. | ||
03:22
cj__ joined
|
|||
maerline | ah | 03:22 | |
colomon | alpha: say [\+] 7,8,99 | ||
03:22
athomaso1 joined,
LionMade1fLions joined
|
|||
p6eval | alpha 30e0ed: OUTPUT«say requires an argument at line 10, near " [\\+] 7,8,"in Main (file src/gen_setting.pm, line 2593)» | 03:22 | |
colomon | okay, that surprises me. | ||
maerline | alpha: say [+] 7,8,99; | 03:23 | |
p6eval | alpha 30e0ed: OUTPUT«114» | ||
bkeeler | what is the backslash supposed to do there? | ||
colomon | bkeeler: I believe it is supposed to return you all the partial results as well, as a list. | ||
maerline | 15, 114 | 03:24 | |
colomon | I've never actually used that syntax, so I could be wrong. :) | ||
maerline | pugs: say [\+] 7,8,99; | ||
p6eval | pugs: OUTPUT«715114» | ||
colomon | In the current Rakudo master, metaoperators are still very very limited. Hopefully we'll get them up and running again in the next few weeks. | ||
03:25
cognominal left
|
|||
maerline | std: say [\+] 7,8,99; | 03:25 | |
p6eval | std 29762: OUTPUT«ok 00:01 109m» | ||
maerline | rakudo: 77.say; | 03:26 | |
p6eval | rakudo ed95e2: OUTPUT«77» | ||
colomon | TimToady, pmichaud: one of you guys out there? I'm not sure I'm up to figuring out how to patch Rakudo's parser for this bug. | 03:27 | |
bkeeler | The complex one? | 03:28 | |
colomon | yes. | ||
03:28
LionMadeOfLions left,
cj left
|
|||
lue | aren't all bugs complex in their own right? :D | 03:28 | |
colomon | lue: no, some are dead simple. :) | ||
token number:sym<complex> { <re=.numish>'+'<im=.numish>'\\'?'i' | <im=.numish>'\\'?'i' } | 03:29 | ||
seems like this parses 1+1i as a single Complex, and 1-1i as an Int minus a Complex? | 03:30 | ||
Actually, I guess that might suggest a solution, don't know how kosher it is. | |||
lue | Let's consult The Gospel According to Camel | 03:31 | |
...And in the New Testament, The Gospel According to Camelia | 03:33 | ||
03:35
stephenlb left
03:36
maerline left
|
|||
pugs_svn | r29763 | colomon++ | [t/spec] Make the atan2 Rat tests a little smarter (catching a (now-fixed) Rakudo bug in the process). | 03:41 | |
colomon | Okay, I've got all today's work checked in, time for bed. | ||
lue | goodnight, colomon. o/ | 03:42 | |
dalek | kudo/master: 5fceb7e | (Solomon Foster)++ | src/Perl6/Grammar.pm: Take out the <re=.numish>'+'<im=.numish>'\\'?'i' branch of sym<complex>. |
03:45 | |
kudo/master: 6c478f2 | (Solomon Foster)++ | t/spectest.data: Turn on rand.t and polar.t. |
|||
03:47
ShaneC left
03:54
patspam left
03:55
patspam joined
04:13
ash__ joined
|
|||
diakopter | std: &asdfasdf | 04:17 | |
p6eval | std 29763: OUTPUT«ok 00:02 125m» | ||
diakopter | std: &asdfasdf &asdfasdf | ||
p6eval | std 29763: OUTPUT«Undeclared routine: 'asdfasdf' used at line 1ok 00:01 126m» | ||
04:22
maerline joined,
maerline left,
maerline joined
04:25
maerline left
04:28
arlinius joined
|
|||
diakopter | std: &asdfasdf(&asdfasdf) | 04:35 | |
p6eval | std 29763: OUTPUT«ok 00:01 125m» | ||
04:35
Trashlord joined
|
|||
snarkyboojum | worked out why Parrot wasn't building on my OS X machine - turns out that putting my local rakudo git repo in my PATH was causing Parrot configure to use that the lib directories to build from - even when I was building from a completely separate parrot svn copy | 04:38 | |
most bizarre and incredibly difficult to debug (with my skills) :| | |||
04:42
xomas left
|
|||
snarkyboojum | I didn't trace through the whole parrot configure process but something to do with the steps in inter::libparrot | 04:46 | |
so by simply removing the rakudo git repo path from $PATH parrot build properly from the rakudo configure script | 04:47 | ||
04:50
awwaiid joined,
ggoebel left
|
|||
snarkyboojum | FWIW - have also summarised the issue in #parrot | 04:53 | |
04:58
Maddingu1 joined
05:00
Schwern left
05:01
brunov left
05:04
hercynium left,
hercynium joined,
hercynium left,
hercynium joined
|
|||
diakopter | rakudo: my &say = ::say; &say(&say) | 05:07 | |
p6eval | rakudo ed95e2: OUTPUT«Null PMC access in can()current instr.: 'perl6;Mu;!STORE' pc 1921 (src/builtins/Mu.pir:387)» | ||
diakopter | yay! more checks needed! </sarcasm><sarcasm> | 05:08 | |
05:10
ash__ left
05:39
wolf2k_ubuntu left
|
|||
lue | diakopter: √√√√√√√√√√√√√√ (hope it's enough) :D | 05:46 | |
Trashlord | haha | 05:55 | |
TimToady | well, there's always xx * if you need it | 06:00 | |
lue | the third level on this keyboard is fun: µm ¾full TradeMark™ Register® | 06:02 | |
06:13
mssm joined
06:26
lue left
06:40
Su-Shee joined
|
|||
Su-Shee | good morning | 06:42 | |
06:46
ihrd joined
06:47
ihrd left
06:50
johnz joined
07:15
uniejo joined
07:21
payload joined
07:25
kaare joined
07:26
kaare is now known as Guest5053
07:27
justatheory left
07:57
clausi joined
08:05
k23z__ joined
08:18
jaldhar joined,
iblechbot joined
08:21
patspam left
08:25
constant joined,
constant left,
constant joined
08:27
meppl joined
08:44
gbacon left
08:45
gbacon joined
|
|||
moritz_ | good morning | 08:55 | |
08:56
Maddingu1 is now known as Maddingue
09:00
jferrero joined
09:01
Schwern joined
|
|||
mathw | o/ | 09:01 | |
09:07
dakkar joined
|
|||
colomon | \o | 09:09 | |
09:10
payload left
|
|||
frettled | TimToady++ (S04 gather description) | 09:33 | |
And now it is a better morning that it was. Good morning to y'all! | |||
09:34
masak joined
|
|||
masak | good mid-morning, #perl6. | 09:34 | |
colomon | o/ | ||
masak | I need help with some Japanese again. :) twitter.com/konnoblog/status/9215768108 | ||
all I get is that the person is dissatisfied with the lack of a '->=' operator in Perl 6. | 09:36 | ||
lestrrat | "I just used #Perl6 (tag) to get some attention. Why is it that no programming language (including perl) can do the equivalent of $a ->= $b ($a = $a->$b) ? that is my question" | ||
masak | lestrrat: thank you. | 09:37 | |
well, Perl 6 can. | |||
masak puts together an example | |||
moritz_ | it's just spelled .= | ||
lestrrat ducks, cause he doesn't really get what the guy was talking about anyway | |||
moritz_ | rakudo: my $name = 'moritz'; $name.=ucfirst; say $name | ||
p6eval | rakudo ed95e2: OUTPUT«Moritz» | ||
moritz_ | lestrrat: calling a method and assigning the result to the same variable, in one go | 09:38 | |
lestrrat | aaaah | ||
gotcha | |||
masak | alpha: class A { method foo() { say "OH HAI" } }; my A $a .= new; my $b = "foo"; $a.="$b" | ||
p6eval | alpha 30e0ed: OUTPUT«OH HAI» | ||
masak | \o/ | ||
moritz_ | in Perl 5 you call methods with ->, so ->= seemed logical to him/her | ||
masak | that's the equivalent. | ||
colomon | are you sure he wasn't looking for a way to turn $a into the pair $a -> $b ? | ||
masak | hm, I shouldn't use say within the method; | 09:39 | |
alpha: class A { method foo() { "OH HAI" } }; my A $a .= new; my $b = "foo"; $a.="$b"; say $a | |||
p6eval | alpha 30e0ed: OUTPUT«OH HAI» | ||
masak | std: sub loop() { say "OH HAI" }; loop() | 09:41 | |
p6eval | std 29763: OUTPUT«ok 00:01 109m» | ||
masak | rakudo: sub loop() { say "OH HAI" }; loop() | ||
p6eval | rakudo ed95e2: OUTPUT«Whitespace required after 'loop' at line 11, near "()"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
masak submits rakuodbug | 09:42 | ||
09:42
cognominal joined
|
|||
masak | rakudo: class {} | 09:42 | |
p6eval | rakudo ed95e2: OUTPUT«Invalid namespace key in set_pmc_keyedcurrent instr.: 'perl6;ClassHOW;new' pc 3418 (src/gen/Attribute.pir:473)» | ||
masak submits rakudobug | |||
rakudo: say (!!0).WHAT | |||
p6eval | rakudo ed95e2: OUTPUT«Int()» | ||
masak submits rakudobug | 09:43 | ||
moritz_ | masak: you submitted the first already | ||
colomon | I thought jnthn++ fixed <!> yesterday. | ||
moritz_ | erm, the one with anonymous classes | ||
masak | ok. | ||
thanks. | |||
colomon | rakudo: say (!0).WHAT | 09:44 | |
p6eval | rakudo ed95e2: OUTPUT«Int()» | ||
masak | that's an even simpler example :) | ||
colomon | > say (!0).WHAT | 09:45 | |
Bool() | |||
p6eval is using an older version of rakudo | |||
masak | o.O | ||
why? | |||
moritz_ investigates | |||
colomon | dunno | ||
moritz_ | because parrot doesn't compile. | 09:46 | |
colomon | yeah, it was a PR bump | ||
15 hours ago | |||
moritz_ | maybe we should make the log files publicly available somehow | ||
09:47
cosimo left
|
|||
moritz_ makes a distclean and tries again | 09:47 | ||
colomon | maybe p5eval could report issues here? | ||
moritz_ | nope, that's not its job | ||
maybe write another bot for that | |||
but currently ENOTUITS | |||
09:48
TiMBuS joined
|
|||
moritz_ | ok, now parrot compiled again | 09:49 | |
pugs_svn | r29764 | moritz++ | [evalbot] make distclean in parrot before rebuilding; we do it only when rakudo requires a new version, so fairly seldom, and can thus trade CPU cycles for safety | 09:52 | |
colomon | moritz_++ | 09:54 | |
moritz_ | rakudo: say (!0).WHAT | ||
p6eval | rakudo ed95e2: OUTPUT«Int()» | ||
colomon | still old | ||
moritz_ | now running pbc_to_exe | 09:55 | |
rakudo: say (!0).WHAT | |||
p6eval | rakudo 6c478f: OUTPUT«Bool()» | ||
masak | \o/ | ||
colomon | \o/ | 09:57 | |
and the boy is asleep again, so back to bed for me. | |||
09:58
barney joined
|
|||
moritz_ | sleep well | 09:58 | |
10:00
fridim_ joined
10:03
k23z__ left
10:11
fridim_ left
10:16
quester joined
10:21
wanradt left
|
|||
masak | TimToady: how does gather interact with block exit phasers? specifically, does `.say for gather { take $_ for 1, 2, 3; LEAVE { say "OH HAI" } };` print "OH HAI\n1\nOH HAI\n2\nOH HAI\n3\n" or "1\n2\n3\nOH HAI\n"? | 10:21 | |
moritz_ | it is *so* tempting to answer with "yes" here :-) | 10:24 | |
masak | TimToady: 'yes' is not the answer I'm looking for. :) | 10:27 | |
10:28
krunen_ joined
10:29
TimToady_ joined,
Maddingu1 joined
10:30
stepnem_ joined
10:33
cognominal left,
dakkar left,
Schwern left,
mssm left,
Maddingue left,
TimToady left,
avuserow left,
PerlJam left,
zibri left,
krunen left,
stepnem_ is now known as stepnem
10:34
avuserow joined
|
|||
masak | how can we help this guy? twitter.com/avarab/status/9210358607 | 10:40 | |
10:41
payload joined
|
|||
moritz_ | is that the one who asked on p6u? | 10:42 | |
nope, different name | |||
masak: invite him here | |||
masak | moritz_: yes, I can do that. just checking whether it's a known problem, whose solution one can easily give via Twitter. | ||
moritz_ | there are many known reasons why parrot might refuse to compile | 10:43 | |
mathw | Bit difficult to offer him a solution without knowing what the compilation failure was | ||
masak | feels like 'invite him here' is a potentially complex operation with many single points of failure. :) | ||
but sure, I will. | |||
moritz_ | no compiler installed, no make installed, old parrot install lying around | ||
mathw | Really bizarre system | 10:44 | |
missing dependency | |||
misalignment of Mars with Proxima Centauri | |||
10:44
cosimo joined
|
|||
masak | there, I tweeted him. | 10:45 | |
twitter.com/carlmasak/status/9228892096 | |||
moritz_ | list.cs.brown.edu/pipermail/plt-sch...38167.html | ||
masak++ | |||
mathw | hah | 10:49 | |
mathw is mildly amused | |||
10:49
payload left
10:51
frettled sets mode: +o masak
|
|||
masak | thanks. | 10:51 | |
10:53
patspam joined
11:00
IllvilJa left
|
|||
masak | S12:306 confuses me an scares me a little. | 11:02 | |
std: "$foo."methodcall"()" | |||
p6eval | std 29764: OUTPUT«Potential difficulties: Useless use of quotes at /tmp/jFhZQszkLJ line 1:------> "$foo."methodcall"⏏()" Variable $foo is not predeclared at /tmp/jFhZQszkLJ line 1:------> "$foo⏏."methodcall"()"ok 00:01 108m» | ||
11:03
[synth] left
|
|||
masak | std: "$foo."$bar"()" | 11:03 | |
p6eval | std 29764: OUTPUT«Potential difficulties: Variable $bar is not predeclared at /tmp/LqaM7lVwcx line 1:------> "$foo."$bar⏏"()" Variable $foo is not predeclared at /tmp/LqaM7lVwcx line 1:------> "$foo⏏."$bar"()"ok 00:01 106m» | ||
masak | std: my $foo; my $bar; "$foo."$bar"()" | ||
p6eval | std 29764: OUTPUT«ok 00:01 107m» | ||
masak | o.O | ||
that's... sick. | |||
mathw | jaw... on floor | 11:04 | |
queasy kind of feeling | |||
Shouldn't that sort of thing go inside {} | 11:05 | ||
masak | the reason S12:306 scares me is that it treats the above as something normally occurring, and outlines how a failure mode is commonly resolved... :/ | ||
11:05
wanradt_ joined
|
|||
masak | the failure mode being a runaway string parse in the case of "$foo." | 11:05 | |
mathw | I'm more scared that the syntax is even supported | 11:06 | |
I can cope with method names provided by strings, but that ability to stick a literal string method call inside another one like that... well... | |||
why would you even want to? | 11:07 | ||
11:07
TiMBuS left
|
|||
mathw | although that's usually not the best way to ask about language features | 11:08 | |
just because I can't see a use for it... | |||
but still, that sort of nested quote makes me feel very uncomfortable | |||
it's just a bit *too* smart | |||
masak | agree. | 11:13 | |
though I'm also willing to be convinced by a very good use case. | 11:14 | ||
I'm wondering why the string parsing was made rich rather than simple in this case. | |||
lunch & | |||
11:16
IllvilJa joined
11:24
payload joined
11:34
clausi left
|
|||
jnthn | o/ | 11:37 | |
masak | lolitsjnthn! | 11:38 | |
I've thought about "$foo."methodcall"()" over lunch, and I've decided that until I get a good use case for it, I really don't like it. | |||
it breaks Least Surprise. my brain/eyes scan to the quote mark before 'methodcall' and consider that to be the end of the string. | 11:39 | ||
so would a naive enough syntax highlighter. | |||
and all this non-obvious parsing for... what, exactly? | |||
a 'consistency' gleaned only by those who understand that variable interpolation essentially puts the quote parser in a different mode? | 11:40 | ||
jnthn | huh | ||
masak rants and raves | |||
jnthn | masak: Are the quotes there meta? | ||
masak | jnthn: yes. :( | ||
jnthn | Or are you saying that works/should work in a quoted string? | 11:41 | |
oh wtf | |||
masak | std: my $foo; my $bar; "$foo."$bar"()" | ||
jnthn | Well I said years ago on list that I thought parsing method calls in strings was a mistake. | ||
p6eval | std 29764: OUTPUT«ok 00:01 108m» | ||
masak | now I'm saying it too. | ||
jnthn wishes masak better luck than he had convincing @Larry :-) | |||
masak | those quotes inside the quotes (which look EXACTLY THE SAME) don't live up to the maxim that different things should look different. | ||
jnthn | yeah | 11:42 | |
well | |||
masak | thes feature is one big FAQ. | ||
jnthn | "$foo.$bar()" # ugh, tries to invoke $bar? | ||
masak | I don't think I mind that one. | ||
std: my $foo; my $bar; $foo.$bar() | 11:43 | ||
p6eval | std 29764: OUTPUT«ok 00:01 106m» | ||
jnthn | masak: My quotes weren't meta. :-P | ||
masak | I'm unfamiliar with the exact meaning of your 'meta'. | ||
jnthn | std: my $foo = 42; my $bar = method { say self }; say "$foo.$bar()" # what happens? | ||
11:43
bluescreen joined
|
|||
p6eval | std 29764: OUTPUT«ok 00:01 107m» | 11:43 | |
masak | but if you mean that you have an actual quoted string, then I understood that already. | 11:44 | |
and I'm saying I don't mind in that case. | |||
jnthn | oh. | ||
:-/ | |||
masak | the programmer better know what she's doing if she's using that syntax inside a quoted string. | ||
jnthn | I d[id|o] | ||
masak | it's the quoted-string-withing-a-quoted-string case I'm worried about. | ||
jnthn | It'd feel inconsistent to ban the one case and not the others though. | 11:45 | |
masak | yeah. it's just that I can see the use for "$foo.$bar()" quite easily. | ||
jnthn | I'd not mind if they all needed a {...} | 11:46 | |
masak | and the FAQ needn't be as big. it need just say "remember that $bar will be interpolated at call-time". | ||
jnthn: I hear ya. not sure I think I'd need that much restriction. | |||
jnthn | $foo.$bar() and $foo."$bar"() are very different beasties and useful in different ways. | 11:47 | |
masak | sure, sure. | ||
it's "$foo."$bar"()" I don't see the use of. | |||
jnthn | Why not? | ||
masak | in all other corners of Perl 6, one is not allowed to use the same type of quotes withing a quoted string (without backwhacking them). | 11:48 | |
jnthn | In a string, you want to interpolate a call on $foo to the method name in $bar | ||
I fully agree that it looks weird. | |||
masak | here, that restriction is lifted, without a goodenuf explanation. | ||
where 'explanation' means 'rationale language-design-wise'. | |||
jnthn | nod | 11:50 | |
The problem isn't seeing a use for it, just that it's an inconsistency then, I guess. | |||
jnthn glances the commit log to see what happened while he rested | 11:52 | ||
ooh, couple more tests | 11:53 | ||
masak | jnthn: oh! I put another round tuit in the make-anon-enums-happen machine last night. | ||
jnthn | colomon++ | ||
masak: ooh! What came out? | |||
masak | it didn't bring me any closer to the goal, but I have a few new questions. | ||
I'll start with a nopaste. | |||
gist.github.com/306536 | 11:55 | ||
11:56
redicaps joined
|
|||
masak | with that code, and the example 'enum <a b c>', I'm still getting "Method 'isa' not found for invocant of class 'Undef'" in the Perl6::Action::statementlist method. | 11:56 | |
so it parses, but it doesn't reach my panic method call as I hoped it would. | |||
jnthn | +method type_declarator($/, $key?) { | ||
Should be | 11:57 | ||
method type_declarator:sym<enum>($/) { | |||
masak | oh. | ||
naturally. | |||
jnthn | Well, the $key? isn't doing any harm I guess. | ||
Well, it's a change from before. :-) | |||
masak tries that | |||
jnthn | When we didn't have any protoregexen. | ||
masak | I have an old still-unformulated question about the differences between multimethods and protoregexes, by the way. but it'll have to wait until I can verbalize it. | 11:58 | |
11:59
Lorn left
|
|||
jnthn | Alternatively, find a way to say it all in nouns and prepositions. :-) | 12:00 | |
masak | :P | ||
jnthn | My 2c that may help your thought process is that I see the analogy as more of a way of explaining protoregexes to people who already grok the idea of multi-dispatch rather than anything at a deeper / implementation level. | 12:01 | |
masak | ok. | ||
arnsholt | Protoregexes are essentially a dynamically computed disjunction, no? | 12:02 | |
masak | I think my deepest point of confustion, at my present surface understanding, is why 'multi' is needed for multimethods, but not for regexes et al. with multiple definitions. | ||
jnthn | arnsholt: To some degree, yes | ||
arnsholt: At least, so far as I follow them. | 12:03 | ||
LTM plays into all of this somewhere though :-) | |||
masak: multi isn't needed for multi-methods if you introduced a proto first. | |||
masak | oh! | ||
jnthn: but still, you can't omit the proto in the case of regexes, and write 'multi regex' instead, can you? | 12:04 | ||
maybe you can... | |||
jnthn | masak: I haven't seen it done. | ||
masak | me neither. | ||
jnthn | But that doesn't really answer the question. :-) | 12:05 | |
masak | no. | ||
jnthn: (backlogging) if you think that 'neither less-than nor greater-than' would have the same meaning as 'equals', you clearly haven't played with Surreal Numbers enough :) | 12:07 | ||
jnthn | In the alternate, you played with them too much. :-P | ||
masak | in surreal numbers, there are four relations: 'equal to', 'less than', 'greater than' and 'confused with'. | ||
jnthn | oh | ||
That's...surreal. | |||
masak | it's wonderful. | ||
it falls out naturally from two-player games of a certain type. | 12:08 | ||
colomon | o/ | ||
masak | to all #perl6ers, I recomment with all my heart the books "Winning Ways" I and II. | ||
jnthn adds it to the "things I should read up on" | 12:09 | ||
masak | s/ment/mend/ | ||
"Winning Ways', come to think of it, uses the same tools for humour as does #perl6. | |||
and no-one draws a table like John Horton Conway. | 12:10 | ||
12:16
ggoebel joined
12:17
ggoebel left
12:18
IllvilJa left
|
|||
masak | (from backlog) <joseweb> hi i wanna begin whit perl 6 -- <go|dfish> joseweb: then do it! -- <joseweb> thanks | 12:19 | |
I'm not sure whether to chuckle of frown at this exchange. | |||
is it a foretaste of the inevitable dilusion of expert help at #perl6? | 12:20 | ||
or is it just a confused, ultimately unhelpable newbie getting the best possible response? | |||
12:23
quester left
|
|||
moritz_ is sad he can't spend more time in #perl6 these days | 12:23 | ||
masak | hugme: hug moritz_ | 12:24 | |
hugme hugs moritz_ | |||
masak | jnthn: yay! it workz! my panic panics! | 12:30 | |
\o/ | |||
now for the easy part. I think. | |||
colomon | can we do non-anonymous enums in master yet? | ||
masak | colomon: no. the anon ones are sort of a prereq. | 12:31 | |
colomon | Ah. then let me encourage your progress! :) | ||
masak feels encouraged :) | |||
alpha does this: make PAST::Op.new( :pasttype('call'), :name('!create_anon)enum'). $values); | 12:34 | ||
I'll see if I can do something analogous. | |||
12:35
mssm joined
|
|||
masak | hm, first problem: I don't have an easy way to get at the $values. | 12:35 | |
I do <circumfix> in the token eype_declarator:sym<enum>. | |||
so I guess $<circumfix> will contain something like what I want... :/ | 12:36 | ||
moritz_ | you probably need to create a new PAST node from $<circumfix> or something | 12:37 | |
moritz_ also has no idea, just guessing | 12:38 | ||
jnthn | $<circumfix>.ast gets you the AST for the circumfix that was parsed. | ||
masak | ok. | ||
jnthn | For non-anon ones you need to compile that and run it at compile time. | ||
For anon ones you can get away with not doing that I guess. | |||
masak | right. as does alpha. | ||
I'm sort of feeling my way forward, but it looks like it can be done. :) | 12:39 | ||
jnthn | masak: Heh, that's how I started in the grammar and actions. :-) | 12:40 | |
moritz_ | rakudo: say "1" === "2" | ||
p6eval | rakudo 6c478f: OUTPUT«0» | ||
masak | rakudo: say 'five tons of flax' === 'a mammoth' | 12:41 | |
p6eval | rakudo 6c478f: OUTPUT«0» | ||
12:44
redicaps left
|
|||
jnthn | rakudo: say 'five tons of flax' == 'a mammoth' | 12:45 | |
p6eval | rakudo 6c478f: OUTPUT«1» | ||
mathw | umm | ||
I never knew that | 12:46 | ||
jnthn | mathw: Both numify to 0. :-) | ||
mathw | doh | ||
of course | |||
sorry I'm in C++ mode | |||
jnthn | .oO( though claiming that Rakudo knows the weight of a mamoth coulda been fun for a while too ) |
||
mathw | in which that's a compiler error anyway :) | ||
masak | another piece of progress: I'm now getting 'Could not find non-existent sub !create_anon_enum' | 12:50 | |
that's an error at run-time, even :) | 12:51 | ||
hm, alpha has a src/builtins/gts.pir, master doesn't. | 12:52 | ||
jnthn | masak: Well done! You created AST nodes. :-) | ||
masak | \o/ | ||
jnthn | masak: I HATE guts.pir | ||
Die die die. | |||
I mean, er... | |||
masak | maybe I should place that sub in Enum.pir in that folder instead. | ||
jnthn | src/glue/enum.pir | ||
masak | hokay. | ||
jnthn | Make that file and stick it in there, imo. | ||
masak | nod. | ||
jnthn | guts.pir ended up being this huge mess of everything. | ||
(yes, I know that was my fault...I can still hate it :-)) | 12:53 | ||
masak | absolutely. | ||
Su-Shee | I'm looking forward to grep and map and list magic in perl6. this already is so incredebly useful in p5.. | ||
jnthn | So now I'm going to take us down the path of lots of hateful tiny files instead. <grin> | ||
masak | :) | 12:57 | |
12:57
Trashlord left
|
|||
mathw | Tiny files are fine if they're well-named and their purposes are understood... it's when stuff is randomly scattered around a load of tiny files that it's irritating :) | 13:00 | |
pmichaud | good morning, #perl6 | 13:01 | |
moritz_ enables four more test files that pmichaud++ fixed yesterday | 13:02 | ||
mathw | oh hai pmichaud | ||
pmichaud curses whatever cold/malady he has contracted this week :-( | 13:03 | ||
mathw | :( | ||
colomon | :( | ||
mathw posts pmichaud a sack of lemons | |||
moritz_ wishes pmichaud a quick recovery | |||
jnthn | pmichaud: Aww. :-( | ||
pmichaud | mmmmm, lemons | ||
masak | oh hai pmichaud | ||
jnthn | pmichaud: It is the time of year for such things, it seems. :-| | ||
13:04
orafu left,
orafu joined
|
|||
dalek | kudo/master: d5d58cc | moritz++ | t/spectest.data: [t/spectest.data] re-enable four passing test files |
13:04 | |
takadonet | morning all | ||
colomon | o/ | ||
mathw | o/ | ||
takadonet | I love seeing commit first thing in the morning :) | 13:05 | |
masak | takadonet: \o | ||
pmichaud tries to morph that into a Robert Duvall quote involving napalm, but fails. | 13:06 | ||
moritz_ | might be better that way :-) | ||
masak | jnthn: 'role', 'enum' on the one hand, 'contextuals', 'phasers', types' on the other... bit of a confusion as to singular/plural in that directory... | ||
takadonet | you are on early this morning pmichaud | ||
colomon | I love the smell of commits in the morning! | ||
something like that. | 13:07 | ||
masak | commits are odourless :P | ||
colomon | smell of pushing commits... | ||
masak | unless the code stinks, of course :) | ||
masak tries to keep quiet | |||
13:07
Maddingu1 is now known as Maddingue
|
|||
moritz_ | I love the sight of dalek reporting commits in the morning | 13:07 | |
masak | one of the few occasions where the sight of a dalek is appreciated. | 13:08 | |
colomon | oh, hey, I've got a mystery for you guys | 13:10 | |
masak | jnthn: Mapping is now better known as EnumMap, yes? | ||
colomon | ok(rand >= 0, 'rand returns numbers greater than or equal to 0'); | ||
ok(rand < 1, 'rand returns numbers less than 1'); | |||
those two tests gave master's parser fits. | |||
I ended up skipping them. | |||
masak | colomon: maybe rand is parsed as a listop? | 13:11 | |
jnthn | masak: Jes. | ||
masak | that could cause havoc. | ||
pmichaud | (singular/plural filenames) I'd be agreeable to renaming them (to the singular, I think) | ||
jnthn | phone | ||
colomon | masak: I should add that one or both of those worked fine in the REPL. | ||
rakudo: use Test; ok(rand >= 0, 'rand returns numbers greater than or equal to 0'); | |||
p6eval | rakudo 6c478f: OUTPUT«ok 1 - rand returns numbers greater than or equal to 0» | ||
masak | pmichaud: I can do that after I finish my current commit. | ||
colomon | rakudo: use Test; ok(rand < 1, 'rand returns numbers less than 1'); | 13:12 | |
p6eval | rakudo 6c478f: OUTPUT«ok 1 - rand returns numbers less than 1» | ||
masak | colomon: I have no idea, then. | ||
pmichaud | isn't it a little early for "phone"? Normally that's 20h00 UTC on wednesdays :-) :-) | ||
mathw | That's a strange test | 13:13 | |
What if it wasn't going to return a negative value until the next time you called it? | |||
masak | mathw: sounds like you have a better way to test a random function up your sleeve. :) | 13:14 | |
now that's a potentially ambiguous sentence... | |||
colomon | mathw: pretty much all the rand tests are like that. | ||
mathw | my $u = Universe::Pocket.new(); $u->run( { loop { ok(0 <= rand < 1); } }, :timefactor(INFINITE)); | ||
we might need a bigger computer though... | 13:15 | ||
pmichaud | or a lot of patience | ||
mathw | masak: if you'd said it in Lojban, that ambiguity would have been replaced with almost universal incomprehensibility. | ||
I know, there's no better way to test a rand function | 13:16 | ||
The only way to ensure it's right is a formal proof of correctness of the algorithm | |||
colomon | Well, you might call it more than once, at any rate. | ||
pmichaud | we do call it more than once across multiple spectest runs :) | ||
mathw | I was just wondering if it would be possible to calculate the number of times you'd need to run it to get a significant chance of finding such a mistake | 13:17 | |
colomon | I guess the good news is that I had to fudge out those two tests, but I unfudged three tests that alpha didn't pass. :) | ||
mathw | And then I realised that to figure that out you'd need to know how the algorithm was broken... so you might as well just fix it | ||
pmichaud | what file is this? | ||
colomon | rand.t | ||
think it's S32-num | |||
pmichaud | my guess is that it thinks rand is a listop | 13:19 | |
masak | mathw: your code reminded me of c2.com/cgi/wiki?PimcPiflPire | ||
pmichaud | and in the < case, it think it's starting a <...> list | ||
masak | mathw: that article has always fascinated me with its possibilities. | ||
jnthn | back | ||
colomon | Okay if I change the last todo in ord_and_chr.t to a skip? The final test is crashing on my machine... | ||
pmichaud | no objection here | 13:20 | |
jnthn | masak: We can standardize the naming a bit. | 13:21 | |
pugs_svn | r29765 | colomon++ | [t/spec] Change last fudge from todo to skip to avoid a crash. | ||
13:21
dugg joined
|
|||
masak | jnthn: pmichaud already suggested to singularize the lot. | 13:21 | |
mathw | masak: yes that's the kind of thing I was thinking of really | 13:22 | |
jnthn | Yeah, I made the mistake of reading what I missed forwards rather than backwards. :-P | ||
masak | :) | ||
colomon | pmichaud: why would it think rand is a listop? | ||
pmichaud | because it doesn't know that rand is a term | ||
masak | jnthn: it's a tough call sometimes. whether to backlog backwards or forwards. | ||
pmichaud | any unknown bareword is assumed to be a listop | ||
colomon | ah. | 13:23 | |
pmichaud | try token term:sym<rand> { <sym> } in Grammar.pm | ||
that won't actually create the call to &rand, but we could at least see if it parses correctly with that in place | |||
might actually need | |||
token term:sym<rand> { <sym> >> } | |||
See also term:sym<rand> in STD.pm . | 13:24 | ||
or look at term:sym<Nil> in Grammar.pm for an example of how we do it for Nil | |||
(and in Actions.pm as well, since Nil is a 0-ary function like rand) | 13:25 | ||
colomon | with <.nofun> ? | ||
pmichaud | yes | ||
although in rand's case, there is some special error message handling to avoid p5-think (see STD.pm for the example) | 13:26 | ||
I'd start by duplicating the code from Nil, just to get it working, and then try adding the error messages | |||
afk, kid delivery | 13:27 | ||
13:27
payload left
|
|||
mathw | kidsovernight.com? | 13:27 | |
jnthn | mathw: thankfully, not found in the DNS... | 13:28 | |
mathw | it just made me think of Grand Theft Auto | ||
can't remember which game it was, but one of them had radio adverts for petsovernight.com | |||
which I assume they did register... | 13:29 | ||
else it would've been a porn site almost instantly | |||
best bit of those games is the radio commercials | |||
colomon | okay, adding the stuff to the grammar and actions didn't break use of rand in the REPL. | 13:30 | |
jnthn | .oO( hardcore footage of pussy cats by night... ) |
||
colomon | By golly, that works! pmichaud++ | 13:31 | |
jnthn | Yay. :-) | ||
pugs_svn | r29766 | colomon++ | [t/spec] Unfudge two tests that now work. | 13:38 | |
dalek | kudo/master: 2c23657 | (Solomon Foster)++ | src/Perl6/ (2 files): Add rand as a term, cloning the Nil term's code. |
||
13:39
ignacio_ joined
|
|||
jnthn | fwiw, I'm probably going to do a bunch of metamodel tweaking later on today, and try and get us back most of S12-introspection/*.t. | 13:39 | |
colomon | \o/ | 13:40 | |
I really need to tackle $work today. | |||
alas. | |||
jnthn | Yeah, I need to for the next hour or two as well... | 13:41 | |
colomon | pmichaud: I have no idea how to port the .obs stuff from STD.pm's rand to Grammar.pm. But I've got basic functionality working now. | ||
pmichaud | I think Grammar.pm already has an obs method. | 13:44 | |
colomon | pmichaud: search doesn't turn it up by that name. | ||
pmichaud | you're right. | 13:45 | |
it should be pretty close to what STD.pm has | 13:46 | ||
I'd just avoid (or comment out) the %$*HIGHEXPECT line | |||
(I'd also not put constraints on the parameters.... but that's just me :) | 13:47 | ||
afk for a bit | |||
jnthn: if working on the metamodel today (+1), keep in mind that we can't bump PARROT_REVISION until after tomorrow's release | 13:48 | ||
jnthn | pmichaud: Shouldn't need to, for what I want to do. | 13:49 | |
pmichaud: If we do, I'll hold off, of course. | |||
But pretty sure not needed. | |||
13:51
brunov joined
|
|||
masak | "Could not find non-existent sub postfix:++" | 13:53 | |
'tis &postfix:<++> nowadays, yes? | |||
moritz_ | probably, yes | ||
masak | seems so. | 13:54 | |
jnthn | Aye. | ||
moritz_ | (though often .succ is OK too) | ||
colomon | though .succ returns the successor rather than changing the variable in place like ++, right? | ||
jnthn | right. | ||
moritz_ | right | 13:55 | |
masak | I'll try to make the existing code work first. but thanks for the tip. :) | ||
13:58
plainhao joined
14:00
plainhao left
14:04
pausenclown joined
|
|||
pausenclown | good morning. and on goes my journey to write an XML::Parser =) | 14:05 | |
masak | pausenclown: you go, kid! but promise me to use a real XML parser for production purposes. :) | 14:07 | |
for your own wellbeing, as well as others'. | 14:08 | ||
pausenclown | lol. wanna look at my grammar? | ||
masak always wants to look at Perl 6 code | |||
lisppaste3 | pausenclown pasted "rudimentary xml::parser grammar" at paste.lisp.org/display/95105 | 14:09 | |
masak looks | |||
pausenclown: you've come a fair way already, I see. | 14:11 | ||
pausenclown | when i'm done with the grammar, i probably need some help regarding the action classes (probably dom, sax, and twig) | ||
what would u think would be easier to implement? | |||
masak | not sure DOM and SAX are the same category of things as action classes. | ||
pausenclown: you might profit from having a look at krunen's xml at github. also, I've basically written the beginnings of a SAX parser in the Hitomi subproject of Web.pm. | 14:12 | ||
jnthn | You could build a DOM up in the actions, just as we build an AST in them for Rakudo. | ||
masak | aye. | 14:13 | |
pausenclown | of course not. one builds a object tree and one offers a callback interface | ||
arnsholt | Should be possible to do push parsing with action classes, no? | ||
masak | jnthn: what do you make of this? gist.github.com/306640 -- especially the error message at the bottom. | ||
how do junctions get into it? | 14:14 | ||
jnthn | You could also make the callbacks from action methods... :-) | ||
masak: The error message is...wrong. | |||
pistfix:<=> isn't defined in Junction.pir. | 14:15 | ||
pausenclown | masak: (re fair way) it helps when the grammar is basically already defined (www.w3.org/TR/REC-xml/) | ||
jnthn | ...post... | ||
masak: I'd re-work to use .succ | |||
Otherwise you need to create a read/write container. | |||
masak | ok. | ||
pausenclown: yes. that's part of why it's so attractive to write an XML parser, I guess. | 14:16 | ||
jnthn | $P0 = '&postfix:<++>'(cur_val) | ||
could be replaced with | |||
masak | it's as if Perl 6 grammars were made for creating XML parsers as a first use case. :) | ||
jnthn | $P0 = cur_val | ||
cur_val = cur_val.'succ'() | |||
masak | jnthn: thanks. will try that. | ||
pausenclown | lol. this is just a warmup for my TT parser. -.- | 14:17 | |
masak | jnthn: why is the first assignment to $P0 needed? | ||
avar | masak: re twitter.com/carlmasak/statuses/9228892096 : I was here all along. When I build it it dies by opening the src/packfile.c perldoc page, then "bit.ops - Bitwise Opcodes", then this: pastie.org/828904 | 14:18 | |
jnthn | masak: you can actually swap things around a bit I guess | ||
masak | avar: oh good. | ||
jnthn | result[cur_item] = cur_val | ||
masak | avar: (that you're here) | ||
jnthn | and then cur_val = cur_val.'succ'() | ||
masak: In PIR = is binding rather than assignment...sometimes. | 14:19 | ||
:-) | |||
pausenclown | btw, is there - by any chance - a collection of xml documents suitable to write test cases against? | ||
masak | jnthn: an utterly confusing answer, but I'll try to turn it into working code :P | ||
lisppaste3 | colomon pasted "My (failing) attempt to port STD.pm's rand magic to Grammar.pm" at paste.lisp.org/display/95107 | ||
masak | pausenclown: why don't you check existing XML parsers on CPAN? | ||
pausenclown | masak: interesting idea =) | 14:20 | |
pmichaud | colomon: did you add an obs method to the grammar? | ||
colomon: also, I'd just start with the second (simpler) .obs warning and make sure it's working before doing the one above it | 14:22 | ||
jnthn | masak: Welcome. :P | ||
pmichaud | using postfix:<++> will likely start to work only on container PMCs, not on individual values (fwiw) | 14:23 | |
14:23
PerlJam joined
|
|||
pmichaud | so using .succ is far superior | 14:23 | |
jnthn | .oO( strangely, .succ is the way that doesn't ... ) |
14:24 | |
pmichaud | ..."didn't", perhaps? | ||
things are different now :) | |||
masak compiles the far superior code | |||
14:25
ggoebel joined
|
|||
PerlJam | good morning all | 14:25 | |
masak | PerlJam: \o | 14:26 | |
jnthn | morning, PerlJam | ||
colomon | pmichaud: yes, added obs | 14:28 | |
pmichaud: actual error I'm getting is "Unknown operator precedence specification "%term" at line 1, near "\n"" | |||
pmichaud | oh yes,. omit the <O('%term')> -- we aren't using that for terms yet. | 14:29 | |
colomon | okay, trying that. | 14:30 | |
> say rand; | 14:31 | ||
0.165018330651463 | |||
> say rand(); | |||
Unsupported use of rand(); in Perl 6 please use rand at line 1, near "();\n" | |||
14:32
Trashlord joined
|
|||
jnthn | \o/ | 14:32 | |
colomon | > say rand(10); | 14:34 | |
Unsupported use of rand(N); in Perl 6 please use N.rand or (1..N).pick at line 1, near "(10);\n" | |||
pmichaud | \o/ | ||
moritz_ | ship it! | ||
colomon | moritz_: This time I'm remembering to run spectest first. ;) | 14:35 | |
pmichaud | oh, this morning I was wondering if for trig and other tests it's worthwhile to split them into 'spec' and 'stress' tests? | 14:39 | |
'spec' are the tests that make sure things are basically working, 'stress' are where we try every combination of type and argument | |||
colomon | I think I'd be against eliminating the different types from the spec test, but certainly their testing could be a lot less exhaustive in the basic spec. | 14:40 | |
So say trying sin(Rat) on one Rat value rather than multiple Rat values. | 14:41 | ||
pmichaud | well, I was thinking we could also do #?rakudo stress 5 "skip these except when stress testing" | ||
anyway, it's just a thought for consideration -- I'm fine with leaving everything in spec | |||
colomon | oooo, interesting way of handling it. | ||
I'm expecting I'm going to reorganize the tests a good bit for Numeric/Real. | |||
moritz_ | colomon: I'd like to have 1 test per function, type and sign/quadrant | 14:42 | |
so sin(-1/16), sin(1/16) | 14:43 | ||
colomon | I'm also wondering how much performance we will get back by switching trigbase from strings to an enum. | ||
moritz_ | and chose values where the result is not something even (like 0 or 1) | ||
[particle] | the limits should also be tested | ||
moritz_ | you mean like sin(Inf)? | 14:44 | |
[particle] | i mean boundary conditions | ||
we know sin(0) = 1, we should test it | |||
dalek | kudo/master: 761d05a | (Solomon Foster)++ | src/Perl6/Grammar.pm: Add obs method and port the smart version of rand from STD.pm. |
||
moritz_ hopes that sin(0) == 0 :-) | 14:45 | ||
[particle] | please excuse my poor typing | ||
14:45
uniejo left
|
|||
[particle] | of course sin(0) == 0 | 14:46 | |
the transcendental functions should test values in range, at the edge of range, and outside the range to be complete | 14:47 | ||
moritz_ | so pretty much what we have now :-) | ||
[particle] | as well as error conditions (eg NaN) | ||
it's not really stress testing, is it? | |||
pmichaud | [particle]: and we should test all of the numeric types | 14:48 | |
colomon | the problem becomes when you multiply that by all the different ways of invoking the functions, and all the different types they can be invoked on. | ||
pmichaud | ...and all of the adverbs | ||
and probably even the non-numerics | |||
and we should check the metaops | |||
[particle] | pmichaud: there are ways to deal with the complexity, by reducing what's tested | ||
let me see if i can dig up a paper on that | |||
pmichaud | [particle]: I agree, the tests you identified aren't "stress testing" | 14:49 | |
they're basic spec | |||
[particle] | i know i converted some parrot tests for this long ago | ||
i wish i still had access to that presentation... | |||
colomon | and bugs show up in the darned places, like the crazy thing we had earlier this week when 3e0.sin would work but 3e0.sin('radians') wouldn't, because the wrong .sin method was being called. | 14:50 | |
14:50
brunov left
|
|||
colomon | Working on polar.t, I also found a case I had completely missed in the trig tests: calling atan2(Rat, Rat). | 14:50 | |
atan2(Rat, Int) worked, and atans2(Rat, Num), but not Rat, Rat. | |||
anyway, I'm anticipating needing to add quite a few new test cases when Numeric/Real come down the pike, and I'm figuring on shaving back the quasi-redundant cases to avoid adding another 10,000+ test cases to spectest. :) | 14:53 | ||
afk # time to exercise, then $work | |||
masak | set_pmc_keyed() not implemented in class 'EnumMap' | 14:57 | |
current instr.: '!create_anon_enum' pc 742 (src/glue/enum.pir:15) | |||
jnthn: whoz op with that? | |||
jnthn | hm | 14:58 | |
maybe explicitly use .'postcircumfix:<{ }>' instead... | |||
masak | ok. | 14:59 | |
jnthn | oh, I think someone just working out why some people's Parrot builds fail. | ||
"make fails when environment variable PERLDOC="-i" is set" | |||
masak: feel free to nopaste though | 15:00 | ||
masak | sure, just gonna try this first... | ||
15:01
ggoebel left,
ggoebel joined
|
|||
jnthn | masak: Note you'll need to decompose it | 15:02 | |
use postcircumfix to get hold of the thing to assign to | |||
masak | jnthn: yes. | ||
nod. | |||
got it :) | |||
jnthn | Then assign to it by calling &infix:<=> | ||
\o/ | |||
masak | I've seen that pattern a lot in PGE. :) | ||
pmichaud | enums are ro, yes? | 15:03 | |
jnthn | oh, yeah | ||
masak | pmichaud: oh, so I should create the values in a hash first and then create the EnumMap at once, you mean? | ||
jnthn | masak: or build a Parrot hash | ||
pmichaud | I'm just saying I don't think you'd need the &infix:<=> step. | ||
yes, build a Parrot hash might work | 15:04 | ||
jnthn | And then EnumMap.new passing that hash | ||
as :flat :named | |||
masak builds a Parrot hash | |||
jnthn | note root_new ['parrot';'Hash'] | ||
new ['Hash'] will work for now, but it's part of a headache I'm trying to eliminate. :-) | |||
masak | oki. | 15:05 | |
pmichaud | speaking of headaches, time for me to take a short nap I think | ||
bbl | |||
Trashlord | only a short one? | ||
jnthn | pmichaud: o/...have a good nap. | 15:06 | |
15:09
gigabo joined,
gigabo left
15:13
pmurias joined
|
|||
masak | ok, so how do I call EnumMap.new from PIR with a Parrot hash as an argument? | 15:19 | |
jnthn | $P0 = get_hll_global 'EnumMap' | ||
masak | ah. | ||
thanks. | |||
jnthn | $P0.'new'(the_hash :flat :named) | ||
15:19
brunov joined
|
|||
masak | you mentioned :flat and :named before... why are they needed? | 15:20 | |
jnthn | | | ||
Means you pass a bunch of named args rather than just one positional arg which is a hash. | 15:21 | ||
masak | ah, ok. | ||
masak liked the one-char explanation '|' :) | 15:22 | ||
15:22
wolf2k_ubuntu joined
|
|||
masak | by the way, two months later, the Perl 6 Advent Calendar still holds steady at 150±50 hits per day. love the long tail. | 15:22 | |
15:26
IllvilJa joined
|
|||
IllvilJa | Hello! o/ | 15:26 | |
masak | IllvilJa: hello, fellow-with-a-Swedish-nick! \o | 15:27 | |
IllvilJa | How's rakudo doing these days? I've done frequent 'git pull' followed by 'make; make install' from time to time and the codebase seem to be active with changes. | 15:29 | |
15:29
barney left
|
|||
IllvilJa | (which is a good thing :-) ) | 15:29 | |
masak | big news from a few days back is that the ng branch became master. | 15:30 | |
IllvilJa | Yes. That triggered my frequent 'gitpull-make-makeinstall' cycle :-D. | 15:31 | |
Only catch is that my CGI script (very basic toy one) to test rakudo-on-the-web refuse to run, and I suspect that 'use' statements don't work for now. | 15:32 | ||
I understood some regressions in general were to be expected when rakudo-ng became the 'real' rakudo development branch. | 15:33 | ||
jnthn | Possibly. Also if you had pre-compiled PIR, be sure to re-compile it. | ||
15:33
justatheory joined
|
|||
IllvilJa | Ok, so I should basically hunt down any .pir file lying around and delete it? | 15:33 | |
Or are such precompiled .pir files only created when explicitly requested and never by default when running rakudo? | 15:34 | ||
Actually, I can check myself... | |||
jnthn | Only if you requested it normally. | ||
Though installing modules may do it. | |||
IllvilJa | Well, the cgi script is 'alone' (no accompanying .pir file there). | ||
jnthn | ah, ok | ||
IllvilJa | Will a .pir file speed up initial startup for a rakudo perl script? | ||
moritz_ | aye | 15:35 | |
jnthn | Pre-compilation is meant to, yes. | ||
moritz_ | though I only use it for modules, not scripts | ||
IllvilJa | Woo... then I'll look into that once the CGI script is running again :-). | ||
jnthn | Yeah, for non-modules it's probably not quite working again yet. | ||
moritz_ | need to add some .loadlib lines manuall | ||
IllvilJa | Ah. Pity to some extent, as I use a laptop from 2001 as the web server hosting the CGI script. | 15:36 | |
Start up times for rakudo is (currently) a bit long so it takes a little while before the web page starts to load at all (or you get an error message, like right now). | |||
But eventually I suspect this issue becomes moot as rakudo and parrot start to approach the speed of light :-D. | 15:37 | ||
(The latter is the goal, right? ;-) ) | |||
Wished I had time to dig down into things and track down WHAT goes wrong and contribute with fixing code but time constraints right now forces me to be a enthusiastic by stander, who occasionally for fun does 'gitpull-make-makeinstall' and then runs a random script 'to see what happens'. | 15:38 | ||
masak | looking at the two known translations of the Advent Calendar to other languages, both of them seem to have stalled. the Russian one after day 5 and the Japanese one after day 12. ky6uk.ugatu.net/perl-6-advent-calen...na-russkom d.hatena.ne.jp/uasi/archive | 15:39 | |
15:40
wasy joined
|
|||
moritz_ | can't blame them, it's much text | 15:41 | |
masak | indeed. | ||
moritz_ | and we've been about 8 people or some, I guess the translation was only done by one or two people each | ||
masak | nod. | ||
15:45
clausi joined
|
|||
masak | ./perl6 -e 'say (enum <a b c>).keys.elems' | 15:46 | |
3 | |||
\o/ | |||
man, this feels good. | |||
masak runs spectests | 15:47 | ||
jnthn | masak++ | ||
masak | :D | ||
only the rest of the enums spec left. :) | 15:48 | ||
jnthn | ;-) | ||
colomon | \o/ | ||
pausenclown | alpha: say "foo" ~~ /<[\xE000..\xFFFD]>/ | 15:49 | |
15:49
xomas joined,
xomas left,
xomas joined
|
|||
p6eval | alpha 30e0ed: OUTPUT«Malformed stringin Main (file <unknown>, line <unknown>)» | 15:49 | |
pausenclown | rakudo: say "foo" ~~ /<[\xE000..\xFFFD]>/ | ||
p6eval | rakudo 761d05: OUTPUT«» | ||
pausenclown | mmh | 15:50 | |
masak | hm... | ||
alpha used to blow its fuses on that kind of large char range. | |||
but not matching seems wrong too :) | 15:51 | ||
oh wait. :) | |||
no, that's right. | |||
moritz_ | it seems very right :-) | ||
masak | I retract all my claims. rakudo++ nqp-rx++ | ||
pausenclown | yeah, the problem is the exception | ||
moritz_ | afaict f and o are ASCII and thus below 127 | ||
pausenclown | rakudo: say "foo" ~~ /<[ \x0..\xFF \xE000..\xFFFD]>/ | 15:52 | |
p6eval | rakudo 761d05: OUTPUT«» | ||
masak | pausenclown: I'd wager you won't be able to convince old Rakudo to match such a range. | ||
pausenclown: at least I failed last time I tried. | |||
pausenclown | alpha: say "foo" ~~ /<[ \x0..\xFF]>/ | 15:53 | |
p6eval | alpha 30e0ed: OUTPUT«f» | ||
15:55
Psyche^ joined
15:56
justatheory left,
Patterner left,
Psyche^ is now known as Patterner
|
|||
dalek | kudo/master: f592840 | masak++ | (4 files): basic implementation of anonymous enums |
16:00 | |
masak | \o/ | ||
guess the next logical step is named enums. | 16:02 | ||
jnthn | masak: Did you try out the anonymous enum tests? | 16:03 | |
16:03
john joined
|
|||
masak | no. I can do that now. | 16:03 | |
jnthn | Cool. :-) | ||
I've finished my @other-task today. Short breeak, then I'll do some Rakudo hacking. :-) | |||
16:03
john is now known as Guest889
16:04
Guest889 left
16:18
nihiliad joined
16:22
synth joined
16:25
cognominal joined
|
|||
pmichaud | (enums) ... can't we eliminate Perl6Pair in favor of Pair ? | 16:27 | |
16:29
payload joined
|
|||
jnthn | Maybe. | 16:30 | |
wait though | |||
pmichaud | originally we had Perl6Pair to avoid the conflict with the Parrot "Pair" type | ||
(IIRC) | |||
jnthn | We should be creating Enum rather than Pair | ||
Pair is mutable. | |||
pmichaud | however, (1) there are no longer naming conflcits with parrot types | 16:31 | |
jnthn | But yes, that was why, and we should be able to rename... | ||
pmichaud | (2) parrot no longer has a Pair type :) | ||
jnthn loves obs | |||
takadonet | obs? | 16:32 | |
jnthn | takadonet: Lets us point out things that were valid Perl 5, but not Perl 6, and what should be used instead. :-) | ||
pmichaud | .obs(...) | ||
(in the grammar) | |||
jnthn adds two more just for fun, to ease himself into the metamodely stuff. | 16:33 | ||
pmichaud: Perl6Pair is...gone already as far as I can see :-/ | 16:34 | ||
pairproto = p6meta.'new_class'('Pair', 'parent'=>'Enum') | |||
pmichaud | okay, it's in the patch masak++ just added then | ||
(there's a test for Perl6Pair in the masakpatch) | |||
jnthn | masak: In your patch, plz can haz s/Perl6Pair/Pair/, kplzthnx. :-) | 16:35 | |
(It'll probably fix a bug. :-)) | |||
masak | sure thing. | ||
pmichaud | I also think we don't need to be cloning values there | 16:36 | |
masak | ok, I'll remove that line. | ||
16:36
cjk101010 joined
|
|||
pmichaud | one of the nicer things about the new container-based semantics is that we don't need to do a lot of cloning and/or copying -- our immutables are. :) | 16:36 | |
jnthn | > while <STDIN> { } | ||
Unsupported use of <STDIN>; in Perl 6 please use $*IN.lines | |||
\o/ | |||
Pimp my errors. | 16:37 | ||
masak | fix pushed. | ||
pmichaud | masak++ | ||
.oO(if masak++ is now fixing bugs, who is wielding the sledgehammer?) |
16:38 | ||
masak | it's ok, I have two hands. | ||
jnthn | .oO( hey, I have two hands also... ) |
16:39 | |
pugs_svn | r29767 | masak++ | [S26] Added Damian's even more latest changes | 16:42 | |
r29767 | | |||
r29767 | A nifty command called 'patch' almost managed to apply the updates.diff | |||
r29767 | file Damian sent to p6l. One hunk failed, but I poked it in manually. Also | |||
r29767 | removed one line-ending whitespace. | |||
masak | scratch that. I have three hands. | ||
masak <-- Zaphod Beeblebrox | 16:43 | ||
dalek | kudo/master: e23a053 | masak++ | src/glue/enum.pir: [src/glue/enum.pir] two fixes - removed cloning step |
16:46 | |
16:47
rgrau joined
|
|||
jnthn | STD++ | 16:49 | |
# "when" arg assumes more things will become obsolete after Perl 6 comes out... | |||
:-D | |||
masak | yeah. always liked that one. :) | 16:50 | |
jnthn | Well, just scattered some more .obs goodness, plus the undef thingy that suggests what to use instead. | ||
masak | though what it would mean for Perl 6 to 'come out', I'm not sure... :) | ||
jnthn | masak: Well, perl6.org already "sings gay"... :-) | 16:51 | |
Eurgh. Does I really want to do this meta-model stuffs... | |||
masak | metamodels aren't gay. they're more like masturbation. | 16:52 | |
masak shuts up | |||
16:52
clausi left
|
|||
jnthn | .oO( good material for my nlpw meta-models talk ) |
16:54 | |
masak | what have I done? :) | ||
jnthn | We maybe don't want to know. :-P | 16:56 | |
:-/ Wish more of this PIR was NQP. | |||
Hm. Another day. | |||
jnthn makes the first tentative few changes | 16:57 | ||
16:57
pausenclown left
|
|||
dalek | kudo/master: c9601d7 | jonathan++ | src/Perl6/Grammar.pm: Add a few more .obs from STD.pm, and also add it's term:sym<undef> for suggesting alternatives to undef. |
16:57 | |
masak | s/it's/its/ | ||
jnthn | d'oh, yes, it is. | 16:58 | |
masak | no, not 'it is'. genetive of 'it' :) | ||
s/genetive/genitive/ | |||
jnthn | :-) | 16:59 | |
pmichaud | afk, lunch | 17:01 | |
17:01
dakkar joined
17:04
zibri joined
|
|||
pmurias | masak: is =head1\nFoo legal? | 17:04 | |
in Pod 6 | 17:05 | ||
masak | pmurias: I don't know, see the latest S26 :) | ||
pmurias: I just applied the changes, I didn't question them. | |||
pmurias | seems so | 17:08 | |
17:15
masak left
|
|||
TimToady_ | rakudo: my $x = \(1,2,3); say $x.WHAT | 17:15 | |
p6eval | rakudo c9601d: OUTPUT«Capture()» | ||
17:16
masak joined
17:18
mhsparks joined
17:21
cjk101010 left
17:25
riffraff joined
|
|||
dalek | kudo/master: 5e7ac5a | jonathan++ | docs/metamodel.pod: Re-visit the Rakudo meta-model spec and try and be less wrong, though we still ain't all the way. The main issue the previous spec has was that meta-methods generally expected to get the metaclass as the first arg when constructing the class, but then would get the instance there. Also we were meant to be able to write trait_mod:<is> to add a parent as $child.^add_parent($parent), rather than $child.add_parent($child, $parent). Now we're going t |
17:32 | |
17:33
wolverian joined,
mssm left
17:41
ignacio_ left
|
|||
masak | ./perl6 -e 'my %e1 = enum <foo>' | 17:42 | |
Method 'list' not found for invocant of class 'Perl6Str' | |||
I think I see why this happens. | |||
17:42
stephenlb joined
|
|||
jnthn | haha haha you filed that bug in my implementation back in the day :-P | 17:43 | |
*on | 17:44 | ||
masak | oh the irony :) | ||
jnthn | masak: I think the issue is that there's no .list method in Mu or Any. | ||
pmichaud mentioned ".list" needing sorting out the other day, I think. | |||
masak | jnthn: oh, yes. you're right. | ||
so I'll just try to add that then. | |||
jnthn | I'm not 100% what it's supposed to manufacture | 17:45 | |
A one element <thingy>. :-) | |||
masak | hm. | ||
a List? :) | |||
masak is naively old-skool | |||
17:45
vamped joined
|
|||
jnthn | Maybe a Parcel will do. | 17:46 | |
then it's just | |||
.sub 'list' :method | |||
.param pmc thingy | 17:47 | ||
.tailcall '&infix:<,>'(thingy) | |||
.end | |||
May be wrong, though. | |||
17:47
mssm joined
|
|||
masak tries that | 17:47 | ||
jnthn | Maybe a Seq is mor elike it. | ||
masak | aye. | ||
where should I put it? none of the core/Any-*.pm files seems a good candidate. | 17:48 | ||
maybe in Mu? | |||
jnthn | Do it in Mu | ||
pmichaud can review it and tweak it. | 17:49 | ||
colomon | Hmmm... I would have thought returning an iterator (via gather / take, probably) would be appropriate here? | ||
jnthn | colomon: gather/take seems odd when there's just one element. :-) | ||
As does an iterator...maybe that's right though. | |||
17:49
wanradt_ left
|
|||
colomon | Ah, so not an issue if it is enum <Radians Degrees> (say?)? | 17:50 | |
masak | jnthn: ".sub 'list' :method" or ".sub '' :vtable('list') :method" ? | ||
jnthn | .sub 'list' :method | ||
You don't want to expose this as a Prrot vtable method | |||
masak | ok. | 17:51 | |
jnthn | You want it callable. | ||
17:53
nihiliad left
17:54
nihiliad joined
17:55
Chillance joined
17:57
ignacio_ joined
18:04
cdarroch joined,
cdarroch left,
cdarroch joined
|
|||
masak | jnthn: too few positional arguments: 1 passed, 2 (or more) expected | 18:04 | |
sure it oughtn't just be 'self' rather than 'thingy'? | 18:05 | ||
jnthn | masak: oh! | ||
yes | |||
masak | :) | 18:06 | |
18:07
riffraff left
|
|||
jnthn | <- refactoring metamodel, may be distracted ;-) | 18:08 | |
colomon | Do you guys know if there was a reason that alpha's splice was not implemented in terms of pir::splice? (I mean, not using that shortcut, but using the PIR splice op.) | ||
18:08
ShaneC1 joined
|
|||
jnthn | colomon: Not sure off-hand, sorry. | 18:08 | |
colomon | I'm torn, because on the one hand it looks like alpha's splice could be easily ported to master. | 18:09 | |
And on the other hand, it seems like pir::splice would probably be a lot more efficient, and it's already being using to implement push and unshift in master... | |||
pmichaud | pir::splice doesn't do nearly what we want | ||
colomon | pmichaud: ah. | 18:10 | |
pmichaud | splice also gets much more tricky when dealing with laziness :) | ||
colomon | should I just grab alpha's splice, then? | ||
pmichaud | alpha's splice is almost certainly wrong | ||
in alpha, lists and arrays were subclasses of Parrot's ResizablePMCArray | |||
colomon | in alpha, splice is implemented entirely in terms of push, as nearly as I can see. | 18:11 | |
pmichaud | in master, Seq and Array have separate attributes for reified and non-reified components | ||
colomon | I'm sure that's not the most efficient implementation, but I don't see why it wouldn't work. push reifies first, right? | ||
18:11
payload left,
REPLeffect joined
|
|||
pmichaud | well, it would mean that splice is non-lazy, certainly. | 18:12 | |
if things are going to be non-lazy, then we might as well use pir::splice, yes. | |||
18:12
macae joined
|
|||
pmichaud | one other big difference is that unlike alpha, arrays and hashes in master are now arrays of ObjectRef PMCs instead of the values themselves | 18:12 | |
anyway, the simplest approach would be to make sure that the invocant and the values to be spliced are fully reified, then use pir::splice to insert the elements to be spliced into the invocant's @items attribute. | 18:14 | ||
I'm not at all a fan of the way splice is implemented in alpha, fwiw. Horribly inefficient. | 18:15 | ||
colomon | sure, I was just thinking in terms of functions that could be gotten back up and running by tomorrow. :) | 18:18 | |
pmichaud | in general I think I'm still biased a bit more towards "correct implementation" than "running quickly" for the ng branch. | 18:19 | |
(now 'master' branch) | |||
colomon | how were you thinking of making splice lazy, btw? | ||
pmichaud | unless it's likely to win us a ton of capabilities or tests that we don't currently have | ||
well, laziness isn't fully working in Seq/Array as it is | |||
colomon | I can see how to do unshift or push, but not a full splice. | ||
pmichaud | but essentially, | ||
given @foo.splice($offset, $size, @values) | 18:20 | ||
dalek | kudo/master: 0e70eab | masak++ | src/builtins/Mu.pir: [src/builtins/Mu.pir] added .list method |
||
kudo/master: de7b7e6 | masak++ | t/spectest.data: [t/spectest.data] uncomment S12-enums/anonymous.t |
|||
pmichaud | in @foo, we make sure the first $offset elements are reified | ||
we then create an unreified portion consisting of @values, all of the reified elements of @foo after $offset, and the unreified portion of @foo | 18:21 | ||
colomon | pmichaud: gotcha. | ||
pmichaud | and set that to be @foo's new unreified portion | ||
colomon | yes, that would be nice | ||
masak | spooky! that's how I imagined it :) | ||
pmichaud | of course, we also have to make sure that we don't have any inherent references in @values that might change if evaluated lazily | 18:23 | |
i.e., if @foo.splice($offset, $size, $b, $c, $d) | |||
we want to make sure that we get the values of $b, $c, and $d at the time of the splice, and not at the time that they're later reified. | |||
(in @foo) | 18:24 | ||
18:25
justatheory joined
|
|||
colomon is suddenly content to let pmichaud get to splice in his own good time... | 18:25 | ||
pmichaud | which is why I'd be okay with an eager version of splice for the time being :-) | 18:26 | |
but I'm not a huge fan of one built using lots of .push/.elems/assignment | 18:27 | ||
colomon | ah, so eager using pir::splice would be okay with you? | ||
pmichaud | yes. | ||
colomon | I will take a look at that, then. | 18:28 | |
18:32
rgrau left
|
|||
jnthn | masak: Nice work! | 18:35 | |
masak | jnthn: thanks! named enums up next. :) | ||
jnthn | Scary. | ||
18:35
quietfanatic joined
|
|||
masak | thanks for the encouragement :P | 18:35 | |
jnthn | ;-) | 18:36 | |
It's OK, my local Rakudo is in such a good state it won't even start up. ;-) | |||
masak | then it has no bugs. that's the best state. | ||
18:36
ignacio_ left
|
|||
jnthn | No, the crash message at startup is LTA though. | 18:37 | |
masak | yeah, but that's only one thing :) | ||
jnthn | I should fix it to say "Give up, go for beer." Then the whole thing is great. | ||
colomon | masak++ | ||
masak wishes he had the presence of mind to hack on Rakudo more often | 18:38 | ||
colomon | pmichaud: I think I've got a basic eager slice up and running, except I've no clue how to return a Parcel of the deleted elements. | ||
pmichaud | colomon: can I see what you have thus far? | 18:39 | |
lisppaste3 | colomon pasted "Array.splice" at paste.lisp.org/display/95118 | 18:40 | |
pmichaud | looking. | 18:41 | |
fwiw, self!fill returns @!items :-) | |||
colomon | I thought it must. :) | ||
as you can probably guess, I cribbed heavily from unshift and push. | 18:42 | ||
pmichaud | I'm going to guess that you need to obtain the saved items before you splice them | 18:43 | |
so | |||
$size = self.elems - $offset | |||
(in the signature, or use something //= ) | |||
*use something akin to | |||
then @ret = self[$offset+1..$offset+$size] | 18:44 | ||
maybe no +1 | |||
(brane is fuzzy today... take my code/suggestions with salt) | |||
colomon | ooo, do we have that much of array slices working? sweet. | ||
pmichaud | I'm pretty sure we do. | 18:45 | |
colomon | okay, I'll have a go at that. | ||
pmichaud | rakudo: my @a = 1..100; say @a[56..60]; | ||
p6eval | rakudo de7b7e: OUTPUT«5758596061» | ||
pmichaud | looks like yes. :) | ||
colomon | :) | 18:46 | |
18:49
masak left
|
|||
colomon | erm... appears Range is even more broken than I thought on strings. | 18:49 | |
rakudo: say 'e'..'z' | |||
p6eval | rakudo de7b7e: | ||
..OUTPUT«efghijklmnopqrstuvwxyzaaabacadaeafagahaiajakalamanaoapaqarasatauavawaxayazbabbbcbdbebfbgbhbibjbkblbmbnbobpbqbrbsbtbubvbwbxbybzcacbcccdcecfcgchcicjckclcmcncocpcqcrcsctcucvcwcxcyczdadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzeaebecedeeefegeheiejekelemeneoepeqereseteuevewexeyez… | |||
pmichaud | RIGHT | ||
oops | |||
(capslock) | 18:50 | ||
it needs to be checking for length also | |||
colomon | oh, I see. | ||
when it does 'z'.succ, it gets aa, which is less than 'z'. Sigh.... | |||
pmichaud | yes, I'm still not happy with the string-range semantics :) | 18:51 | |
colomon | agreed. | ||
snarkyboojum | rakudo: my @a = 1..100; say @a[56..56]; | ||
colomon | good news is, minus an obi-wan error, I've got splice working, I think. | ||
p6eval | rakudo de7b7e: OUTPUT«get_pmc_keyed() not implemented in class 'Array'current instr.: 'perl6;Positional[::T];postcircumfix:<[ ]>' pc 10532 (src/builtins/Role.pir:243)» | ||
18:53
ignacio_ joined
|
|||
colomon | > my @a = 1..10; say @a.splice(3, 2, 'e'..'y'); say @a; | 18:53 | |
45 | |||
123efghijklmnopqrstuvwxy678910 | |||
jnthn | Nice! | ||
pmichaud | colomon++ | 18:54 | |
colomon | pmichaud++ # pointing the way | ||
pmichaud | that's my job :) | ||
colomon | now to start throwing splice.t at it... | ||
PerlJam | Hmm. | 18:56 | |
18:56
dakkar left
|
|||
PerlJam | rakudo: say 'a'..'z' | 18:57 | |
p6eval | rakudo de7b7e: | ||
..OUTPUT«abcdefghijklmnopqrstuvwxyzaaabacadaeafagahaiajakalamanaoapaqarasatauavawaxayazbabbbcbdbebfbgbhbibjbkblbmbnbobpbqbrbsbtbubvbwbxbybzcacbcccdcecfcgchcicjckclcmcncocpcqcrcsctcucvcwcxcyczdadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzeaebecedeeefegeheiejekelemeneoepeqereseteuevewex… | |||
PerlJam | rakudo: say 'a'..'x' | ||
p6eval | rakudo de7b7e: OUTPUT«abcdefghijklmnopqrstuvwx» | ||
PerlJam | rakudo: say 'a.1'..'c.5' | ||
p6eval | rakudo de7b7e: OUTPUT«a.1b.1c.1» | ||
jnthn | Meanwhile, my Rakuod now survives startup again. :-) | ||
*Rakudo | 18:58 | ||
PerlJam | rakudo: say 'a1.jpg'..'c5.jpg' | ||
p6eval | rakudo de7b7e: OUTPUT«a1.jpga2.jpga3.jpga4.jpga5.jpga6.jpga7.jpga8.jpga9.jpgb0.jpgb1.jpgb2.jpgb3.jpgb4.jpgb5.jpgb6.jpgb7.jpgb8.jpgb9.jpgc0.jpgc1.jpgc2.jpgc3.jpgc4.jpgc5.jpg» | ||
jnthn | That's...cool. | ||
quietfanatic | rakudo: sub X (Str $a, Int $b) {...}; X ('abc', 3) | 18:59 | |
p6eval | rakudo de7b7e: OUTPUT«Nominal type check failed for parameter '$a'; expected Str but got Parcel insteadcurrent instr.: 'X' pc 195 (EVAL_1:78)» | ||
18:59
justatheory left
|
|||
quietfanatic | kinda...unexpected, though I see why | 18:59 | |
PerlJam | quietfanatic: you want a better error? | 19:00 | |
quietfanatic | No, though it certainly wouldn't hurt. | ||
jnthn | Wow, all the sanity tests pass here again too. | ||
PerlJam | I can't see how perl could warn you that you're doing something weird in that case | 19:01 | |
quietfanatic | I don't think this is the way it ought to be. | ||
jnthn | Trouble is, it finds out about the type check fail on the first param before it gets to find out about the missing second one. | 19:02 | |
PerlJam | I guess since it's always a Parcel that does this, it could check the sig of the Parcel and compare with the sig of the sub and make a good guess for the warning. | ||
quietfanatic | No, I mean the fact that it's passing one Parcel argument instead of the two arguments. | ||
jnthn | Oh, I think htat's right. | ||
or at least, spec. | 19:03 | ||
:-) | |||
pmichaud | it's certainly following the spec. | ||
quietfanatic | I mean perhaps it's right by spec | ||
but | |||
I think there'll by many others after me who'll get confused by this. | |||
pmichaud | function calls now always require the parens next to the function call, or use unspace | ||
quietfanatic | I guess I'm questioning the spec then, huh :) | ||
PerlJam | quietfanatic: so ... we should be more vocal about whitespace sensitivity? :) | ||
quietfanatic | I don't know. | ||
jnthn | PerlJam: Finally, we found a way to appeal to Python programmers! ;-) | 19:04 | |
quietfanatic | It's the fact that the parentheses are turning two things into one. | ||
pmichaud | that's what parentheses do -- they group things together :) | ||
quietfanatic | ... | ||
well, at least I know what I was doing wrong now. | 19:06 | ||
PerlJam | quietfanatic: you could try to convince TimToady that bare parens shouldn't create a Parcel and that you should use the Parcel() constructor for that. | 19:09 | |
:-) | |||
pmichaud | parens don't create parcels | 19:10 | |
commas do | |||
quietfanatic | ...doubtful :| | ||
pmichaud | it's not the parens that are creating a parcel | ||
the space after the X turns it into a listop | |||
PerlJam | pmichaud: right, I knew that. Just temporary forgetfulness on my part. | ||
quietfanatic | No this is correct. I was just using Haskell recently is all. :) | 19:12 | |
pugs_svn | r29768 | lwall++ | [S02,S04] more clarification of when parcels are and aren't used. | 19:16 | |
r29768 | Use "argument" as a technical term meaning either a real parcel or an object | |||
r29768 | that can be used independent of context as an argument (but return chunks | |||
r29768 | are also arguments in the old "parcel" sense.) | |||
PerlJam | Hmm. I wonder if Perl 6 could have some "stopper" that makes X into a function? I guess . does that, but you still need to be cognizant of whitespace | ||
pmichaud | () | ||
PerlJam | of course, there's always the unspace too | ||
pmichaud | X() # function | ||
X\ ('abc',3) # function | 19:17 | ||
PerlJam | pmichaud: I mean something like X $ (...) gets treated like X(...) where $ is the "stopper" | ||
snarkyboojum | rakudo: sub X (Str $a) { ... }; X (); | ||
p6eval | rakudo de7b7e: OUTPUT«Nominal type check failed for parameter '$a'; expected Str but got Parcel insteadcurrent instr.: 'X' pc 187 (EVAL_1:76)» | ||
pmichaud | PerlJam: see unspace :-) | 19:18 | |
TimToady_ | PerlJam: he doesn't need to convince me of that--we've been moving that direction for a few weeks now | ||
quietfanatic | :? | ||
19:20
nihiliad left,
nihiliad joined
19:21
jferrero left
19:22
donaldh joined
19:30
donaldh_ joined
19:32
donaldh left
19:37
ash__ joined
19:39
wanradt_ joined
|
|||
quietfanatic | rakudo: my @a = 3, 4, 5; say @a[*-1] | 19:43 | |
p6eval | rakudo de7b7e: OUTPUT«Method 'Num' not found for invocant of class 'Block'current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)» | ||
quietfanatic | whatevercode NYI? | 19:44 | |
pmichaud | nyi | ||
I'll likely work on it soonish | |||
quietfanatic | alright | 19:45 | |
colomon | rakudo: my @a = 1..10; say @a[2..2] | 19:46 | |
p6eval | rakudo de7b7e: OUTPUT«get_pmc_keyed() not implemented in class 'Array'current instr.: 'perl6;Positional[::T];postcircumfix:<[ ]>' pc 10532 (src/builtins/Role.pir:243)» | ||
colomon | rakudo: my @a = 1..10; say @a[2..3] | ||
p6eval | rakudo de7b7e: OUTPUT«34» | 19:47 | |
pmichaud | slicing doesn't know what to do with empty parcels, I'm guessing | ||
colomon | rakudo: my @a = 1..10; say @a[2..^3] | ||
p6eval | rakudo de7b7e: OUTPUT«get_pmc_keyed() not implemented in class 'Array'current instr.: 'perl6;Positional[::T];postcircumfix:<[ ]>' pc 10532 (src/builtins/Role.pir:243)» | ||
pmichaud | looking. | ||
colomon | It shouldn't be empty, it should have one element, right? | ||
pmichaud | oh, true. | ||
snarkyboojum | that's what I was wondering :) | ||
colomon | but I'll bet you're on the right track anyway. :) | ||
19:48
uniejo joined
|
|||
PerlJam | rakudo: my @a = 1..10; say @a[2..0] | 19:48 | |
p6eval | rakudo de7b7e: OUTPUT«» | ||
PerlJam | I'd say it knows how to deal with empty parcels | 19:49 | |
pmichaud | say eager(2..2).perl | ||
rakudo: say eager(2..2).perl | |||
p6eval | rakudo de7b7e: OUTPUT«(2, )» | ||
pmichaud | rakudo: say eager(2..2).elems | ||
p6eval | rakudo de7b7e: OUTPUT«1» | ||
pmichaud | that's..... weird | ||
ash__ | shouldn't 2..0 do 2, 1, 0? | 19:50 | |
PerlJam | ash__: no | ||
ash__ | ah | ||
colomon | ash__: no, no counting down. | ||
19:50
cognominal left
|
|||
colomon | rakudo: say 5, 4 ... 0 | 19:50 | |
p6eval | rakudo de7b7e: OUTPUT«Method 'pred' not found for invocant of class 'Seq'current instr.: '&prefix:<-->' pc 342905 (src/gen/core.pir:47335)» | ||
colomon | do'h! | ||
ash__ | is that hard to do with a range or something? | ||
pmichaud | okay, I see the problem... now looking for a fix | 19:51 | |
PerlJam | ash__: not hard to do, but it opens up the possibilities for inadvertent errors. | ||
colomon | ash__: Ranges are defined as always increasing. | ||
PerlJam | ash__: imagine $x..$y | ||
colomon | series allow you to do crazy things. | ||
pmichaud | (that doesn't end up in infinite loop) | ||
colomon | when they work, they're not completely implemented yet. | ||
pmichaud | oh! I see the fix. | ||
easy-peasy | |||
jnthn | Heh, I just had a "I see the fix" moment too. :-) | ||
colomon | rakudo: say (5, 4 ... *).batch(10) | 19:52 | |
p6eval | rakudo de7b7e: OUTPUT«543210-1-2-3-4» | ||
jnthn 's metamodel refactor is going better than expected. | |||
pmichaud | not only that, but the fix involves deleating silly lines of code | ||
colomon | \o/ | ||
jnthn | ooh | ||
Just fixed the nasty I had. | |||
ash__ | ah, so there is a way to count down, just not using .. | ||
jnthn spectests again, hoping for the best. | |||
PerlJam | (removing code to add functionality)++ | ||
pmichaud | spectesting now | 19:53 | |
colomon | rakudo: say 5 ... 1 | ||
p6eval | rakudo de7b7e: OUTPUT«54321» | ||
colomon | ash__: ah, that way of doing it works now. :) | ||
pmichaud is continually surprised by the things that work in rakudo already :) | 19:54 | ||
PerlJam | pmichaud: so what was the @a[2..2] failure? | ||
er, what was the fix? | |||
colomon | I think like half of the series cases are implemented at the moment. | ||
19:55
ktne joined
|
|||
pmichaud | it's a false optimization in the slicing code | 19:55 | |
jnthn | Dinner time. But I'm down to two test files with issues in S14 in the meta-model refactor! \o/ | 19:56 | |
That's gone...surprisingly better than expected. | |||
pmichaud | > my @a = 1..10; say @a[2..2]; | ||
3 | |||
19:56
exussum0 joined
|
|||
pmichaud | the slice code was attempting to be smart about optimizing the case where a list ended up with a single element. unfortunately, it optimized to the wrong code. | 19:57 | |
so, I just removed the misoptimization and let it do things naturally, which is likely more correct anyway. | 19:58 | ||
(there is a minor potential for infinite recursion... but we'll deal with that if/when it appears) | |||
TimToady_ | phone | 20:00 | |
colomon | Let pmichaud check in first! ;) | ||
s/check in/push/ | |||
pmichaud | pushed 215a019 | 20:01 | |
colomon | \o/ | ||
snarkyboojum | I pointed out that bug earlier too :) | ||
colomon | snarkyboojum++ | 20:02 | |
20:03
cognominal joined
20:06
clausi joined
|
|||
colomon | pmichaud++ | 20:07 | |
dalek | kudo/master: 215a019 | pmichaud++ | src/builtins/Positional.pir: Fix bug with slices and lists (ranges) of a single element, reported by |
20:08 | |
20:09
cognominal left,
rgrau joined
|
|||
awwaiid | Woot! ng branch now master! | 20:11 | |
20:11
justatheory joined
|
|||
PerlJam | awwaiid: yep. quite nice. | 20:12 | |
awwaiid rebuilds from scratch | |||
20:13
cognominal joined,
exussum0 left
20:14
wknight8111 joined
|
|||
colomon | hmmm, what does it mean if the $size parameter to splice is negative. everything but $size.abs characters? | 20:15 | |
PerlJam | colomon: if the spec doesn't say, follow Perl 5's behavior. | 20:17 | |
colomon | PerlJam: that would assume I remember Perl 5's behavior. :) | ||
ah, perldoc. | 20:18 | ||
awwaiid | so git clone says the fetch failed. am I missing something? | ||
colomon | "If LENGTH is negative, removes the elements from OFFSET onward except for -LENGTH elements at the end of the array." | 20:19 | |
awwaiid: what was your command line? (could github be down?) | |||
awwaiid | git clone github.com/rakudo/rakudo.git ; it fetches a bunch of stuff and dies soon after: error: Unable to find faf43a6ba2a6319da5fc2c89863d3d1fe6b26198 under github.com/rakudo/rakudo.git | ||
I re-ran several times, and it doesn't alway sgive me the same blob identifier | 20:20 | ||
not a big deal, I was just messing around with it and I should be doing some actual $work anyway :) | |||
colomon | git clone github.com/rakudo/rakudo.git | ||
awwaiid | colomon, right, that's what I ran | 20:21 | |
(the rest was commentary :) ) | |||
colomon | awwaiid: meant to paste that into my terminal window, and missed. :) | ||
awwaiid | ahhh | ||
TimToady_ | colomon: in most spots we've tried to replace magical negatives with *-$n closures, but I'm not sure it works there | 20:22 | |
colomon | weird, it seems to have downloaded it okay for me, but I got a long string of messages from git I don't remember ever seeing before. | ||
PerlJam | awwaiid: you should be using the git protocol rather than http | 20:27 | |
20:27
meppl left
|
|||
PerlJam | awwaiid: git clone git://github.com/rakudo/rakudo.git | 20:28 | |
see if that helps | |||
colomon: all those "walk" and "got" messages are from using the http protocol | 20:30 | ||
colomon | aw. | ||
ah. | |||
still, doing it that way did work for me, I've got a complete build from that download now. | 20:31 | ||
PerlJam | awwaiid: what version of git are you using? maybe you've got an older, buggier one. | 20:33 | |
colomon | rakudo: sub f(Int $a) { say $a; }; my @a = 1..10; f(@a); | 20:34 | |
p6eval | rakudo de7b7e: OUTPUT«Nominal type check failed for parameter '$a'; expected Int but got Array insteadcurrent instr.: 'f' pc 239 (EVAL_1:91)» | ||
colomon | should that work in p6? splice.t appears to be full of things like that... | 20:35 | |
alpha: sub f(Int $a) { say $a; }; my @a = 1..10; f(@a); | |||
p6eval | alpha 30e0ed: OUTPUT«Nominal type check failed for parameter '$a'; expected Int but got Array insteadin Main (file src/gen_setting.pm, line 324)» | ||
ash__ | std: sub f(Int $a) { say $a; }; my @a = 1..10; f(@a); | ||
p6eval | std 29768: OUTPUT«ok 00:01 112m» | ||
jnthn back from nom | 20:36 | ||
PerlJam | rakudo: sub f(Int $a) { say $a; }; my @a = 1..10; f(+@a) | ||
p6eval | rakudo de7b7e: OUTPUT«Nominal type check failed for parameter '$a'; expected Int but got Num insteadcurrent instr.: 'f' pc 242 (EVAL_1:92)» | ||
20:36
REPLeffect left
|
|||
colomon | yes, and then there's that complication. :) | 20:36 | |
but I bet jnthn++ knows the answer... | |||
I see that splice.t wasn't part of alpha's spectest. | 20:37 | ||
jnthn | colomon: The issue probably somewhat is that + probably calls .Num | 20:38 | |
colomon: When in The Future it should call .Numeric | |||
colomon | jnthn: I was referring to the older issue there. | ||
rakudo: sub f(Int $a) { say $a; }; my @a = 1..10; f(@a); | 20:39 | ||
p6eval | rakudo 215a01: OUTPUT«Nominal type check failed for parameter '$a'; expected Int but got Array insteadcurrent instr.: 'f' pc 239 (EVAL_1:91)» | ||
colomon | that one. | ||
splice.t is full of stuff like that. | |||
PerlJam | seems to me that that's working as expected. | ||
colomon | I'm thinking it shouldn't actually work that way anymore? | ||
I mean, shouldn't work like splice.t is expecting. | |||
PerlJam | colomon: right. | 20:40 | |
colomon | jnthn: what think you? | ||
PerlJam | splice.t is wrong-headed | ||
colomon | PerlJam: it definitely seems creaky | ||
jnthn | colomon: Implementation is correct. | 20:41 | |
colomon: Int $a is a type check, not a coercion. | |||
colomon | jnthn++, PerlJam++ # thank you | ||
jnthn | sub f($a as Int) { ... } would do what the test seems to be thinking | ||
apart from coercions are NYI | |||
PerlJam half expects to discover later that jnthn implemented coercions immediately after saying they were NYI :-) | 20:42 | ||
awwaiid | PerlJam, git version 1.6.1. I can't use the git protocol because of corporate firewall. I just ran it again and it still fails. | 20:44 | |
20:44
cognominal left
|
|||
awwaiid | I'll do it from home where I can use git:// | 20:44 | |
PerlJam | awwaiid: dunno then. It works for me (and 1.6.1 isn't buggy that I know of) | ||
though I am using 1.6.6 | |||
oh, no, i'm using 1.6.3.3 on this box | 20:45 | ||
20:47
lichtkind joined
|
|||
ash__ | 1.7.0 is out, i don't get any weird messages from github, like colomon said he was getting | 20:49 | |
git 1.7.0 that is | |||
20:49
cognominal joined
|
|||
jnthn | PerlJam: Actually, a spec commit by TimToady++ not so long ago made me feel "OK, now it looks almsot concrete enough to get some of the basic cases of it in place" :-D | 20:49 | |
colomon | ash__: I'm fairly sure PerlJam was correct that that was because of using http: rather than git: like I normally do. | 20:50 | |
ash__ | ah, well i use the git protocol, not http, so thats probably true | ||
jnthn | PerlJam: I'll do it in the next couple of weeks, I expect, especially if I'm reminded about it. :-) | ||
20:50
donaldh_ left
|
|||
colomon | rakudo: my @a = 1..10; say @a[0..^14] | 20:51 | |
p6eval | rakudo 215a01: OUTPUT«12345678910» | ||
PerlJam gets to work writing an irssi script to ping jnthn once or twice a day ;> | |||
jnthn | :-P | ||
colomon | rakudo: my @a = 1..10; say @a[0..^10] | ||
p6eval | rakudo 215a01: OUTPUT«12345678910» | ||
jnthn | OK, my dinner is nommed. | ||
Now let's fix the last couple of spectests I've gone and broken. | |||
colomon | rakudo: my @a = 1..10; my @b = @a[0..^10]; say @b | 20:52 | |
p6eval | rakudo 215a01: OUTPUT«12345678910» | ||
20:54
wolf2k_ubuntu left
20:56
bluescreen left,
bluescreen joined
20:57
takadonet left
|
|||
ash__ | rakudo: my @a = 1...10; say @a[1...3]; | 20:59 | |
p6eval | rakudo 215a01: OUTPUT«234» | ||
ash__ | rakudo: my @a = 1...10; say @a[1...^3]; | 21:00 | |
p6eval | rakudo 215a01: OUTPUT«2» | ||
ash__ | is that right? | ||
colomon | doesn't seem like it. | 21:04 | |
rakudo: my @a = 1...10; say @a[1...^4]; | 21:05 | ||
p6eval | rakudo 215a01: OUTPUT«2» | ||
ash__ | does ... have ^ version? | ||
colomon | no. | ||
so that's what you're seeing there. | |||
rakudo: say ^3 | |||
p6eval | rakudo 215a01: OUTPUT«012» | ||
ash__ | so... is that saying 1 ... 0, 1, 2? | 21:06 | |
pugs_svn | r29769 | colomon++ | [t/spec] Change broken tests, fudge some others. | ||
colomon | ash__: I think so. | 21:07 | |
I don't know why it is accepted, actually. | |||
ash__ | should that give an error? | ||
colomon | maybe? | ||
ash__ | std: 1 ... ^6 | 21:08 | |
p6eval | std 29768: OUTPUT«ok 00:01 108m» | 21:09 | |
ash__ | rakudo: my @a = 4...^5; say @a.perl; | 21:11 | |
p6eval | rakudo 215a01: OUTPUT«[4, 3, 2, 1]» | ||
ash__ | so, its doing 4 ... 0 i guess | 21:12 | |
TimToady_ | yes, but it shouldn't throw away the rest of the ^ list | ||
should end up 4 3 2 1 0 1 2 3 4 | 21:13 | ||
... is only supposed to like the first one (or maybe two) elements of the list on the right | |||
s/like/look at/ | |||
21:13
macae left,
cognominal left
|
|||
TimToady_ | and it only looks at the 2nd if the 1st is * or closure | 21:14 | |
and we're not sure about * :) | |||
colomon | did someone else break rat.t, or is that my doing? | 21:16 | |
jnthn | pmichaud: Meta-model changes/fixes/refactorings are looking good. :-) | ||
jnthn is much, much happier with the code now. | |||
ash__ | what is changing in the meta-model? | 21:17 | |
jnthn | ash__: The way I had it before meant the the declarational parts expected to get the metaclass passed as the first parameter. | 21:18 | |
colomon | rakudo: say <a b c>.[4/3] | ||
jnthn | ash__: When it should be the type object really. | ||
p6eval | rakudo 215a01: OUTPUT«maximum recursion depth exceededcurrent instr.: 'perl6;List;get' pc 10199 (src/builtins/Role.pir:40)» | ||
jnthn | And thus Foo.^add_method(...) couldn't work, and the introspection stuff was rather a mess too. | ||
21:19
cognominal joined
|
|||
jnthn | Was a mess-up in my initial implementation, but one that I'm quite glad to resolve. | 21:19 | |
dalek | kudo/master: 4c3dd04 | (Solomon Foster)++ | src/core/Array.pm: Eager implementation of Array.splice. |
21:21 | |
kudo/master: 29b941d | (Solomon Foster)++ | src/core/Array.pm: Tweak Array.splice to handle negative offset and/or size. |
|||
kudo/master: dc301e8 | (Solomon Foster)++ | t/spectest.data: Turn on splice.t. |
|||
colomon | I'm getting a rat.t error in spectest, but as p6eval here showed the same bug before I pushed this code, I'm pretty sure this code is not at fault. | 21:22 | |
jnthn | colomon: I see it too, and that's before I pulled those commits you just made. | ||
colomon | I'm suspecting pmichaud++'s last patch is the culprit. | 21:23 | |
jnthn | I gotta re-test now you've made 'em though! :-P | ||
colomon | :D | ||
pmichaud | colomon: yes, my last patch is probably the culprit | 21:25 | |
rakudo doesn't know what to do with 4/3 | |||
fixing | |||
ash__ | colomon it does that also with decimals, if you do <a b c>.[0.5] it gives you the error you got | 21:26 | |
pmichaud | (I'm guessing it should intify in that case. Or should it numify?) | ||
I'll intify for now. | |||
ash__ | can you have have a non-integer index in [ ] on an @ ? | 21:27 | |
other than * I guess | |||
colomon | pmichaud: intify | ||
ash__: yes | |||
intify or floor? | 21:28 | ||
ash__ | what other kinds of index's are permitted in [ ]? | ||
pmichaud | well, lots of stuff can appear inside of the [ ] :-) | 21:29 | |
@a[3..5] | |||
ash__ | ah, true.. i forgot ranges | ||
21:29
uniejo left
|
|||
pmichaud | also @a[3,4,5] | 21:29 | |
also @a[*] | |||
21:29
ignacio_ left
|
|||
pmichaud | also @a[*-1] | 21:29 | |
:-) | |||
ash__ | but you cant do 0.5, or 7/8's? | 21:30 | |
pmichaud | also @a[@b] | ||
PerlJam | ash__: you can, but you're going to get @a[0] | ||
pmichaud | spectesting fix now | ||
21:33
meppl joined
|
|||
dalek | kudo/master: 0d2009c | jonathan++ | src/ (11 files): Refactor the meta-model to bring it in line with the earlier changes to metamodel.pod, and so things Akshually Work somewhat more like they should. Also should unblock fixing up introspection. |
21:33 | |
21:33
dugg left
|
|||
pmichaud | oops | 21:35 | |
pulling jnthn++'s changes, rebuilding, and *then* spectesting fix | |||
jnthn | ;-) | ||
pmichaud: Good plan - it was > 1000 line diff. | |||
rakudo: Rat.^add_method('lol', method ($what) { say "lol$what" }); 3/4.lol('cat') | 21:37 | ||
p6eval | rakudo 215a01: OUTPUT«No such attribute 'parrotclass'current instr.: 'perl6;ClassHOW;add_method' pc 4303 (src/metamodel/ClassHOW.pir:421)» | ||
jnthn | ETOOSOON. | ||
colomon | yeah, that hasn't even picked up my latest changes yet. ;) | 21:38 | |
pmichaud | fix failed, trying again | ||
jnthn | Oh well, at least the fact it doesn't work in what p6eval curretnly has shows my refactor was worth doing for something. | ||
21:39
clausi left
|
|||
jnthn | .oO( even if it was just so we can add a lol method to Rat ) |
21:39 | |
pmichaud | laughing rats sounds ... disturbing. | ||
jnthn | Of course the non-disgusting way to do it is with augment. :-) | ||
pmichaud | not that augmented rats are much better | ||
TimToady_ | colomon: btw | 21:41 | |
std: rand() | |||
p6eval | std 29769: OUTPUT«===SORRY!===Unsupported use of rand(); in Perl 6 please use rand at /tmp/UNuHZylp41 line 1:------> rand⏏()FAILED 00:01 107m» | ||
pmichaud | rakudo: rand() | ||
p6eval | rakudo dc301e: OUTPUT«Unsupported use of rand(); in Perl 6 please use rand at line 11, near "()"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
21:42
bluescreen left
|
|||
TimToady_ | rakudo: say rand.() | 21:42 | |
colomon | TimToady_: copied obs and the heart of your rand grammar into Rakudo this morning. :) | ||
p6eval | rakudo dc301e: OUTPUT«invoke() not implemented in class 'Float'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
TimToady_ | colomon: okay, still backlogging | ||
pmichaud | std: say rand.() # just curious | ||
p6eval | std 29769: OUTPUT«ok 00:01 105m» | ||
colomon | TimToady_++ # the obs stuff is really cool... | 21:43 | |
TimToady_ | I figger anyone who says .() knows what they're doing | ||
jnthn | Now now, don't get obsessed. | ||
pmichaud | wfm :) | ||
21:44
gabiruh joined
|
|||
TimToady_ | hmm, wonder why I lost my zwiebach | 21:44 | |
21:45
clausi joined
21:46
clausi left
21:47
TimToady_ is now known as TimToady
|
|||
pmichaud | > my @a = 1..10; say @a[7/2] | 21:47 | |
4 | |||
> my @a = 1..10; say @a[2..2] | 21:48 | ||
3 | |||
colomon | \o/ | ||
pmichaud | spectesting now | ||
jnthn | PerlJam: oh btw... | 22:01 | |
> sub foo($x as Int) { say $x.WHAT; say $x; }; foo(7/3) | |||
Int() | |||
2 | |||
;-) | |||
PerlJam | jnthn++ :) | ||
pugs_svn | r29770 | lwall++ | [S04] clarify that leave phasers do not trip till after an exception is handled (and not resumed) | 22:03 | |
TimToady | phenny: tell masak r29770 answers your take question; resumably exceptions don't trigger LEAVE blocks | 22:04 | |
phenny | TimToady: I'll pass that on when masak is around. | ||
jnthn | Tested. Pushed. | 22:07 | |
22:07
Guest5053 left
|
|||
jnthn | Seems we're lacking tests for it though. | 22:07 | |
dalek | kudo/master: f0da535 | jonathan++ | src/ (10 files): Implement coercion ($x as Foo) in signature binding. |
22:08 | |
pmichaud | pushed fix for @a[5/2] | 22:09 | |
jnthn | Nice | 22:10 | |
Who's release manager for tomorrow? | 22:11 | ||
22:11
justatheory left,
jaldhar left
|
|||
pmichaud | looks like Su-Shee | 22:11 | |
22:11
Su-Shee left
|
|||
jnthn | Aha, cool. | 22:12 | |
pmichaud | 2010-02-18 Rakudo #26 (Su-Shee) | ||
22:12
jaldhar joined
22:13
justatheory joined
|
|||
jnthn | pmichaud: Maybe good to add Copenhagen.pm to the suggested releases list now too? | 22:13 | |
s/releas/release nam/ | |||
vamped | colomon asked a question that I didn't see answered. do fractions "intify or floor?" as in @a[15/4] | ||
TimToady | what do you mean by intify, if not floor? | ||
dalek | kudo/master: b517009 | pmichaud++ | src/builtins/Positional.pir: Handle the case where a Position receives a single non-integer index. |
22:14 | |
kudo/master: db3f45a | pmichaud++ | src/ (10 files): Merge branch 'master' of [email@hidden.address] |
|||
vamped | does 15/4 -> 3 or 4 | ||
TimToady | we never round by default | ||
vamped | ok. answered. thanks. | 22:15 | |
TimToady | and having exact rats somewhat takes away the use case for rounding anyway | 22:16 | |
as for floor vs trunction, it doesn't matter for subscripts :) | |||
vamped | I'm very excited about that feature: exact rats | 22:17 | |
TimToady | I hope we can optimize 'em enough to compete with Nums, at least on 64-bit machines | ||
pugs_svn | r29771 | jnthn++ | [t/spec] Add a few basic tests for coercion using the as trait in a signature. | 22:19 | |
jnthn | pmichaud: It may be good to do a little more ROADMAP whacking before the release too. | 22:20 | |
pmichaud: The top three major items are, afaict, done. | |||
Should we just mark them [DONE] or move them to another section of the doc or...? | |||
22:20
nbrown left
22:21
nbrown joined
|
|||
pmichaud | jnthn: I'll work on it tonight. | 22:22 | |
PerlJam | oh, that reminds me ... I think rakudo.org/status needs updating | ||
pmichaud | yes, rakudo.org needs lots of updates | ||
mathw | evening | 22:23 | |
jnthn | oh hai mathw | ||
pmichaud: OK, cool. | |||
mathw | hai jnthn | ||
22:24
Trashlord left
|
|||
pmichaud | hmmm, should we see about moving rakudo.org to wordpress? I thought wordpress worked very well for the advent calendar | 22:25 | |
dalek | kudo/master: a74f35a | jonathan++ | t/spectest.data: Add S06-traits/as.t to spectest.data. |
||
pmichaud | (since we've discussed in the past the possibility of moving rakudo.org to something other than drupal) | 22:26 | |
jnthn | pmichaud: Well....can WordPress handle static pages well too? | ||
pmichaud | I'll look into it a bit. | ||
I would think so. | |||
jnthn | It's not a priority for me, but no objections. | 22:27 | |
Others may feel more strongly. | |||
hudnix | I would think that in the interest of perl Team Spirit, Movable type would be more appropriate. | 22:29 | |
ash__ | wordpress has Pages (static pages) and Posts (the blarg) | ||
so it can do both | |||
22:29
supernovus joined
|
|||
ash__ <-- has to work with wordpress a lot at work | 22:29 | ||
pmichaud | personally, I'm not interested in the underlying language as much as I am how easy it is to work with | 22:30 | |
ash__ | wordpress is almost a defacto standard for blogs, if you want a more bloggish site | ||
pmichaud | well, it's not bloggish so much as we'd like a reasonable cms | 22:31 | |
jnthn | Thing is, we don't want it too blogish. | ||
imo | |||
pmichaud | there are blog-like aspects (e.g., news stories), but it's really more of "where can one get information about ...." | ||
jnthn | Right. News stories is only one part of it. | ||
ash__ | wordpress is a good blog, as a CMS, its not the greatest, it can act as one, but i wouldn't say its a great CMS | ||
MODx is a decent CMS, again this is from my work experience because its what we use at my office | 22:32 | ||
22:35
Chillance left
|
|||
ash__ | but i haven't ever used drupal so, i have no idea how it compares to what you have setup already | 22:35 | |
supernovus | One of my planned "hobby projects" is writing a basic CMS with at least "wiki", "blog", "link db" and "image gallery" modules in Perl 6. Basically, replicate the functionality of my current huri.net site, but in Perl 6 (the current site is using non-Moose Perl 5, and is rather scary dark magic that I'm surprised still works actually...) | 22:38 | |
pmichaud | well, part of the issue we have with drupal is that it doesn't appear to have a good remote admin interface | 22:40 | |
(at least our current instance of it does not) | 22:41 | ||
and we don't have easy access to admin privileges | |||
pugs_svn | r29772 | lwall++ | [S02] copyo spotted by Smylers++ | ||
22:42
brunov left
22:44
iblechbot left
|
|||
jnthn | pmichaud: Yeah, that's my gripe with the current set up. It's not so much I have a problem with how it looks/posting on it. | 22:45 | |
Just management of it. | |||
pmichaud | jnthn: right, that's the only reason I'm looking at/for alternatives. | ||
jnthn | Ah, OK. | ||
22:46
bbear joined
|
|||
jnthn | rakudo: (1,2,3).Array | 22:46 | |
p6eval | rakudo a74f35: OUTPUT«Method 'Array' not found for invocant of class 'Parcel'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
pmichaud | nyi | 22:47 | |
although .Seq works | |||
rakudo: (1,2,3).Seq | |||
p6eval | rakudo a74f35: ( no output ) | ||
jnthn | pmichaud: ah, ok | ||
that'll do me for now. | |||
pmichaud: Arguably .roles(:tree) should be returning nested Seqs anyway. | |||
Or will those flatten? | |||
pmichaud | both Seq and Array flatten, iirc | ||
but they can be Seq of Seq or Array of Array | 22:48 | ||
jnthn | Does putting them inside an ObjectRef prevent that? | ||
pmichaud | having them as a scalar objectref prevents it | ||
that's what happens with circumfix:<[ ]>, for example | |||
jnthn | oh, maybe I can just call that. | ||
If I call that with a parcel, will it DTRT? | |||
pmichaud | yes, that works nicely | ||
yes | 22:49 | ||
in fact, that's what [1,2,3] is :-) | |||
jnthn tries it | |||
Trying to fix up the introspection tests. :-) | |||
22:49
jferrero joined
|
|||
ash__ | rakudo: my @a = 1, 2, 3; say @a.WHAT; | 22:50 | |
p6eval | rakudo a74f35: OUTPUT«Null PMC access in elements()current instr.: 'perl6;SeqIter;get' pc 13733 (src/builtins/Routine.pir:122)» | ||
bbear | Hello. I want begin Perl, but I want begin perl 6 to be not outdated. | ||
What do you think ? | |||
ash__ | that should say "Array()" right? | 22:51 | |
pmichaud | ash__: yes, that's what I'd expect. | ||
not sure why that fails. | |||
vamped | bbear: perl 5 will not be outdated for a very long time (neither will perl 6 be) | 22:52 | |
pmichaud | rakudo: my @a; say @a.WHAT; | ||
p6eval | rakudo a74f35: OUTPUT«Null PMC access in elements()current instr.: 'perl6;SeqIter;get' pc 13733 (src/builtins/Routine.pir:122)» | ||
bbear | Is perl 6 mature to use in prod ? | ||
pmichaud | bbear: probably not. | ||
bbear: depends on your prod requirements | |||
bbear | I want a book to learn perl, but all perl 5 books are exhausted. | ||
ash__ | rakudo: my @a = 1, 2, 3; my $b = @a; say $b.WHAT: | 22:53 | |
p6eval | rakudo a74f35: OUTPUT«Confused at line 11, near "say $b.WHA"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
bbear | prod requirements means 'it works it's enough' , but I would rather to say ' | ||
22:53
justatheory left,
justatheory joined,
athenot joined
|
|||
bbear | when I will finish to learn it, perl 6 will be usable and used on many platforms.' | 22:53 | |
ash__ | oops, i see what I did, i put a : where i meant ; | 22:54 | |
rakudo: my @a = 1, 2, 3; my $b = @a; say $b.WHAT; # still gives there error, oh well | |||
p6eval | rakudo a74f35: OUTPUT«Null PMC access in elements()current instr.: 'perl6;SeqIter;get' pc 13733 (src/builtins/Routine.pir:122)» | ||
bbear | could you give me the name of a good hand book ? | 22:55 | |
ash__ | for perl 6? | ||
bbear | or for perl 5. | ||
so if perl 5 will be not outdated, yes for perl 5. | 22:56 | ||
22:56
pausenclown joined
|
|||
bbear | I will have time to learn perl 6 after learned perl 5. I guess it's not so different. | 22:56 | |
ash__ | are ( ) immutable arrays (or lists)? still? Or did that get changed? | ||
bbear | ash__: so not, a handbook for perd 5 | ||
pmichaud | rakudo: ash__ neither | 22:57 | |
p6eval | rakudo a74f35: OUTPUT«Could not find non-existent sub &neithercurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
pmichaud | oops | ||
ash__: neither | |||
parentheses only group items | |||
in particular, (3) is an Int, not a list or array | |||
ash__ | bbear i liked "Learning Perl" when I was learning perl 5 | ||
22:58
justatheory left
|
|||
dalek | kudo/master: 324f561 | jonathan++ | (2 files): Fix role introspection and turn S12-introspection/roles.t back on. |
22:58 | |
jnthn | bbear: If you're programmed a good bit before, Programming Perl is, imo, very good. | ||
ash__ | so... is there no way to make a list now? just wondering | ||
pausenclown | alpha: @cmd = ('get','put','try','find','copy','fold','spindle','mutilate'); say "go get a copy" =~ / @cmd /; | ||
p6eval | alpha 30e0ed: OUTPUT«Confused at line 10, near "cmd /;"in Main (file <unknown>, line <unknown>)» | ||
pausenclown | alpha: @cmd = ('get','put','try','find','copy','fold','spindle','mutilate'); say "go get a copy" ~~ / @cmd /; | ||
p6eval | alpha 30e0ed: OUTPUT«Confused at line 10, near "cmd /;"in Main (file <unknown>, line <unknown>)» | ||
22:59
payload joined,
lue joined
|
|||
pausenclown | strange. | 22:59 | |
rakudo: @cmd = ('get','put','try','find','copy','fold','spindle','mutilate'); say "go get a copy" ~~ / @cmd /; | |||
p6eval | rakudo a74f35: OUTPUT«Confused at line 11, near "say \"go ge"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
pmichaud | variable interpolation in regexes isn't supported yet | 23:00 | |
ash__ | you forgot my | ||
pausenclown | alpha: my @cmd = ('get','put','try','find','copy','fold','spindle','mutilate'); say "go get a copy" ~~ / @cmd /; | ||
p6eval | alpha 30e0ed: OUTPUT«Confused at line 10, near "cmd /;"in Main (file <unknown>, line <unknown>)» | ||
ash__ | i guess before, it seemed there was a clear distinction between a list made with ( ) and a list made with [ ] in that one was mutable, so, can you still make an immutable list with like the list op or List.new? | 23:01 | |
pausenclown | whenever i wanna try something cool, it doesnt work XP | ||
bbear | I programmed a bit before. | 23:02 | |
pausenclown | I programmed 8! | ||
+) | |||
bbear | ;) | ||
23:04
justatheory joined
|
|||
bbear | intermediate perl is not good ? | 23:05 | |
pausenclown | are you talking about the book? | 23:06 | |
snarkyboojum | bbear: lots of good info at learn.perl.org and learn.perl.org/books.html | 23:07 | |
pmichaud | ash__: ( ) has never meant "make a list" | ||
vamped | "intermediate perl" is 2nd book in series, but "learning perl" is required reading, first. | ||
pmichaud | ash__: it's easy to confuse it that way (e.g., PerlJam did it earlier as well :-) | ||
pausenclown | better learn Perl 6 now. it will be ready on christmas. | 23:08 | |
ash__ | okay, got ya, i guess i was thinking in terms of python still, since they have a [ ] as a mutable array and ( ) as an immutable tuple | 23:09 | |
for some reason i thought that was also true in perl 6 | |||
vamped | ash: i've read that somewhere too. old spec? | ||
23:10
ktne left
|
|||
lue | Hooray! The daleks are gone! (or is that bad...?) | 23:10 | |
23:11
PerlJam left,
Juerd left
23:12
pmichaud left,
hatseflats left,
pugs_svn left,
dukeleto left
|
|||
lue | Aaah! Everyone's timing out. | 23:12 | |
ash__ | freenode does that from time to time | ||
anyway, i gotta go | |||
23:13
ash__ left
23:18
bbear left
|
|||
pausenclown | what the hell does "curmudgeonly" mean? (from exegesis 5) | 23:20 | |
vamped | look at thefreedictionary.com | 23:21 | |
curmudgeon: An ill-tempered person full of resentment and stubborn notions. | 23:22 | ||
that's an interesting word! lol. | |||
pausenclown | ah. lol i parsed it like |curmudge only" | 23:23 | |
and looked up curmudge | 23:24 | ||
which didnt worl | |||
vamped | silly german (?) | ||
pausenclown | how the heck do you know? | ||
vamped | i pay attention to those sort of things -- something said in this channel previously. dunno what. | 23:25 | |
23:25
pugs_svn joined
|
|||
pausenclown | not likely | 23:26 | |
pausenclown goes checking the firewall | |||
=) | |||
23:26
dalek joined
|
|||
pausenclown | rakudo: say "foo" ~~ / < <alpha> - [A-Za-z] >+ / | 23:29 | |
23:29
jnthn joined
|
|||
p6eval | rakudo 324f56: OUTPUT«Confused at line 11, near "say \"foo\" "current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | 23:29 | |
23:29
PerlJam joined,
hatseflats joined
|
|||
pausenclown | rakudo: say "foo" ~~ / < +<alpha> - [A..Za..z] >+ / | 23:30 | |
p6eval | rakudo 324f56: OUTPUT«Confused at line 11, near "say \"foo\" "current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
23:31
pmurias left
|
|||
pausenclown | alpha: say "foo" ~~ / < +<alpha> - [A..Za..z] >+ / | 23:31 | |
p6eval | alpha 30e0ed: OUTPUT«perl6regex parse error: Quantifier follows nothing in regex at offset 278, found '<'in Main (file <unknown>, line <unknown>)» | ||
pausenclown | alpha: say "foo" ~~ / <+<alpha> - [A..Za..z] >+ / | ||
p6eval | alpha 30e0ed: OUTPUT«perl6regex parse error: Error parsing enumerated character class at offset 277, found '<'in Main (file <unknown>, line <unknown>)» | ||
pausenclown | 277? | 23:32 | |
23:35
hatseflats left
23:36
dalek left,
PerlJam left,
jnthn left,
pugs_svn left
23:52
meppl left
23:53
hatsefla1s joined,
PerlJam joined
23:54
jnthn joined,
dalek joined
|
|||
dalek | kudo/master: 1940345 | jonathan++ | src/metamodel/ClassHOW.pir: More introspection fixes, to start getting .^parents and .^attributes back into shape. |
23:56 | |
kudo/master: 5e7d64c | jonathan++ | src/core/Mu.pm: Quick tweak that gets signature unpacking of objects working again. |
|||
23:57
pugs_svn joined
|
|||
jnthn | grr...disconnects. | 23:57 |