»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by Juerd on 28 August 2009. |
|||
00:00
solarion left
|
|||
pugs_svn | r28509 | lwall++ | [viv] process alternate nibbler from regexen | 00:06 | |
00:07
crythias joined
|
|||
diakopter | ++TimToady | 00:07 | |
diakopter prepares to lob more bugs over the wall | |||
00:08
rhr_ joined
00:21
rhr left
|
|||
TimToady hides in plain sight *poof* | 00:22 | ||
pugs_svn | r28510 | carlin++ | [S02-magicals/config.t] Add a test for $*OSVER. | 00:26 | |
00:28
xinming left
|
|||
pugs_svn | r28511 | carlin++ | [S02-magicals/config.t] Wrong plan number. carlin-- | 00:28 | |
00:28
rhr joined
00:34
lambdabot left
|
|||
mikehh | rakudo (c8181aa) builds on parrot r41567 - make test / make spectest_smolder (up to r28509 -> #28343) PASS - Ubuntu 9.04 amd64 | 00:36 | |
00:39
msmatsko joined
00:42
rhr_ left
00:46
msmatsko left,
msmatsko joined
00:48
araujo left
00:51
rhr_ joined
01:00
alester left
01:01
wayland joined
01:02
rhr left,
araujo joined
01:16
orafu left,
orafu joined,
wayland76 left
01:26
rhr_ left
01:29
rhr joined
01:31
hudnix joined
01:32
wayland is now known as wayland76
01:37
nihiliad joined
01:40
rhr_ joined
|
|||
crythias | yeah, baby | 01:41 | |
01:43
solarion joined
01:53
__ash__ left,
rhr left
01:54
__ash__ joined
01:55
__ash__ left
01:59
Whiteknight left
02:15
stephenlb left
|
|||
pugs_svn | r28512 | colomon++ | [docs/Perl6] postfix:<i> should return a Complex. | 02:30 | |
02:36
patspam joined,
patspam1 left
|
|||
diakopter | I'd be perfectly healthy if it weren't for this doggone hypochondria! | 02:38 | |
02:51
hercynium left
02:53
crythias left
03:45
msmatsko left
04:03
patspam left,
patspam joined
04:09
xinming joined
04:12
tak11 left
04:15
Caelum_ joined
04:17
jaldhar joined
04:18
Caelum left,
PZt left
04:25
justatheory left
04:53
PZt joined
04:56
Student left
05:11
payload left
05:12
quietfanatic joined
|
|||
quietfanatic | I am currently fighting an incorrugible bug whereby an auspiciously declared array becomes unwilling to store anything but Ints. | 05:14 | |
05:16
nihiliad left
|
|||
quietfanatic | Caught it! | 05:18 | |
rakudo: our Int @A1; our @A2; @A2[0] = "Str" | 05:19 | ||
p6eval | rakudo c8181a: OUTPUT«Assignment type check failed; expected Int, but got Strin Main (/tmp/mVjCqSxaqo:0)» | ||
quietfanatic | The first array being declared as Int messes with the second array as well. | 05:20 | |
rakudo: my Int $a; my $b; $b = "Str" | 05:23 | ||
p6eval | rakudo c8181a: ( no output ) | ||
quietfanatic | rakudo: my Int @a; my @b; @b[0] = "Str" | ||
p6eval | rakudo c8181a: OUTPUT«Assignment type check failed; expected Int, but got Strin Main (/tmp/Nwq34ys7uq:0)» | ||
quietfanatic | rakudo: my Int %a; my %b; %b<a> = "Str" | ||
p6eval | rakudo c8181a: ( no output ) | ||
quietfanatic | I am submitting this. | 05:25 | |
05:34
patspam left,
patspam1 joined
06:01
Confield left
|
|||
pugs_svn | r28513 | lwall++ | [Cursor] de-dup importation code | 06:11 | |
r28513 | [STD etc.] id field now indirect to avoid string duplication | |||
06:11
NorwayGeek left
|
|||
diakopter | phenny: tell mberends I'll be offline-ish for a day or two... | 06:41 | |
phenny | diakopter: I'll pass that on when mberends is around. | ||
06:42
NorwayGeek joined
06:49
mberends joined
|
|||
mberends | thanks phenny, from the future ;) | 06:50 | |
phenny | mberends: 06:41Z <diakopter> tell mberends I'll be offline-ish for a day or two... | ||
mberends | diakopter: np, I'm gonna try making a new fudging test harness, in Perl 5 for bootstrapping reasons (that almost came out botstrapping ;) | 06:52 | |
06:55
ihrd joined,
ihrd left
06:56
barney joined
07:00
browser_zzz joined
07:04
envi^home joined
07:08
payload joined
07:09
iblechbot joined
07:10
pdcawley left
07:14
rfordinal joined
07:21
NorwayGeek|Away joined,
NorwayGeek left
|
|||
moritz_ | rakudo: my $x = 2; $x **= 4; say $x | 07:22 | |
p6eval | rakudo c8181a: OUTPUT«16» | ||
07:28
NorwayGeek|Away left
07:31
mariuz joined
07:37
NorwayGeek joined,
NorwayGeek|Away joined
07:39
NorwayGeek left
07:48
ejs joined,
ejs left
|
|||
mikehh | rakudo (c8181aa) builds on parrot r41572 - make test / make spectest_smolder (up to r28513 -> #28357) PASS - Ubuntu 9.04 amd64 | 07:51 | |
moritz_ | rakudo: say "34".Num | 08:01 | |
p6eval | rakudo c8181a: OUTPUT«Method 'Num' not found for invocant of class 'Str'» | ||
moritz_ | ou.ch | ||
08:02
athomason joined
08:03
meppl joined
|
|||
moritz_ | colomon: roots.t down to two failures (Inf and NaN related) | 08:08 | |
08:16
payload left
08:18
dukeleto joined
08:24
am0c joined
|
|||
am0c | OH HAI | 08:24 | |
moritz_ | moin | 08:25 | |
Matt-W | o/ | 08:36 | |
moritz_ | \o | 08:42 | |
am0c | \o | 08:43 | |
08:46
patspam1 left
|
|||
moritz_ | whoa, google tells me that my blog has 289 subscribers. It amazes me every time I find evidence that people read blogs, because I always though that most blogs were "write once, read never" or so :-) | 08:51 | |
frettled | :) | ||
I think it's safest to write to them as if lots of people read them, but expect that there are none. ;) | 08:52 | ||
08:52
envi^home left
|
|||
frettled | Oh, I found a new use for Camelia, BTW - as (one of several) logos on a cycling team shirt. :D | 08:52 | |
moritz_ | :-) | 08:53 | |
sjohnson | hi to Matt-W , moritz_ , and frettled | 08:54 | |
are you all still awake? you guys must be in different parts of the world from me :) | |||
Matt-W | I'm awake | ||
it's 10am here | |||
frettled | nearly 11 here | ||
sjohnson: but yeah, 59°56′58″N 10°45′23″E | 08:56 | ||
sjohnson | are you guys in Europe? | ||
2am here <--- Vancouver Canada timezone | 08:57 | ||
frettled | ah, waaaay south ;) | ||
moritz_ | Europe, yes | 08:58 | |
sjohnson | does anyone here speak a nice sounding European language? | ||
( `ー´) | 08:59 | ||
moritz_ | does German qualify as "nice sounding"? (probably not...) | ||
I learned a bit French in school, too | |||
frettled | Foreigners have been known to accuse Norwegians of «singing» our language, but I'm not sure I agree. | ||
moritz_ | frettled: in some sense I can agree with that, though I wouldn't call that an accusation | 09:00 | |
09:01
riffraff joined
|
|||
huf | judging by the reactions of americans, the only thing they hear out of hungarian speech are the 'r'-s | 09:02 | |
which probably disqualifies it as a nice sounding language for an anglophone | |||
frettled | what about Canadians? | ||
huf | never been to canadia | 09:03 | |
Matt-W | I speak English with a southern accent | 09:05 | |
That might be considered nice until you look into the grammar, English is a hideous mishmash really | |||
masak is Swedish, that's quite a nice-sounding language I think | |||
I also like German, but I'm odd like that (it's also the only other language I speak worth anything) | |||
huf | nah, english is a really nice sounding language | 09:06 | |
Matt-W | English is a very versatile language | ||
huf | imho it has better flow and sounds nicer than my native language | ||
Matt-W | Probably because of its messiness | ||
I'm not familiar with Hungarian | |||
huf | you havent heard of "speak the hungarian rapper"? | 09:07 | |
anyway, sample of the language: www.youtube.com/watch?v=BDXyCUNczg0...playnext=1 | 09:08 | ||
09:17
jaffa8 joined
09:19
jaffa8 is now known as jaffa4
09:23
pmurias joined
09:32
NorwayGeek|Away left
09:34
NorwayGeek joined
09:35
NorwayGeek left
09:40
NorwayGeek joined,
NorwayGeek left
09:44
NorwayGeek joined
09:54
eiro left
|
|||
wayland76 | Oi cn say things in good Strine :) | 09:55 | |
huf | "strine"? | 09:56 | |
wayland76 | www.abc.net.au/civics/globalcitizen...strine.htm | ||
huf | ah. | ||
wayland76 | "Strine" is what it sounds like when an Australian says "Australian" with an Australian accent | 09:58 | |
huf: nice sample. I didn't watch all of it, but it sounded good :) | |||
09:59
PZt left
10:05
browser_zzz left
10:06
eiro joined
10:08
BooK left
10:11
krunen left,
krunen joined
|
|||
pmurias | diakopter: hi | 10:16 | |
10:17
|theJackal| is now known as kent\n
10:32
iblechbot left
10:36
NorwayGeek left
10:39
ruoso left
10:43
NorwayGeek joined
10:47
payload joined
10:50
rff joined
10:57
riffraff left
11:05
pmurias left
|
|||
frettled | wayland76: Bruce! | 11:09 | |
colomon | moritz_: \o/ you didn't say roots.t had the only two failures left in our branch!!!!! that's awesome! | 11:11 | |
11:13
simcop2387 left
|
|||
frettled | and grandsome! | 11:18 | |
or was that grawsome? | |||
11:19
NorwayGeek left
|
|||
wayland76 | frettled: How are ya, Bruce? | 11:19 | |
grandsome/grawsome I'm not familiar with, but I grew up with no TV | 11:20 | ||
11:20
simcop2387 joined
|
|||
frettled | wayland76: just fine, mate! | 11:27 | |
and you? | |||
«grandsome»/«grawsome» were suggestions for solving the «awesome»/«grand» problem | |||
jaffa4 | hi | 11:36 | |
tell me something that should be implemented for Perl 6. | 11:37 | ||
11:38
masak joined
|
|||
masak | good day, temporal camels. | 11:39 | |
11:39
envi^home joined
|
|||
moritz_ | \o/ | 11:42 | |
frettled | masak: that's only temporary ;) | ||
11:43
NorwayGeek joined
|
|||
colomon | rakudo: say (1i)i; | 11:43 | |
p6eval | rakudo c8181a: OUTPUT«-1+0i» | ||
moritz_ | rakudo: say roots(Inf, 3) | 11:44 | |
p6eval | rakudo c8181a: OUTPUT«InfNaNi-InfInfi-Inf-Infi» | ||
frettled | rakudo: say sqrt(-1); | ||
p6eval | rakudo c8181a: OUTPUT«NaN» | ||
moritz_ | that's just weird... | ||
frettled | rakudo: say sqrt(0i-1); | ||
p6eval | rakudo c8181a: OUTPUT«0+1i» | ||
moritz_ | I'd rather say we return 3 NaNs for roots(Inf, 3) | 11:45 | |
frettled | moritz_: yeah, that one was cute | ||
jaffa4 | tell me something that should be implemented for Perl 6. | ||
moritz_ | jaffa4: feed operators | ||
jaffa4 | what is feed operator? | ||
moritz_ | search for ==> in the synopsis | 11:46 | |
colomon | moritz_: I was just looking at the spec for postfix:<i>. I fixed it to return a Complex (rather than Num) last night, but it also says it takes a Num, which is wrong too. | 11:47 | |
moritz_: agreed wrt to roots(Inf, 3) | 11:48 | ||
moritz_ | colomon: according to our spec update from yesterday it should probably take a Numeric and return a Complex | ||
colomon | Numeric is a role which can include Complex? | ||
moritz_ | yes | ||
I highly recommend reading r28502 | 11:49 | ||
we now have Numeric (Complex + Real), Real (Num, Rat, Int, ...) | 11:50 | ||
colomon | Heh. So when do we start changing Rakudo to match? ;) | 11:53 | |
moritz_ | after the native-complex branch landed | ||
pugs_svn | r28514 | colomon++ | [docs/Perl6] postfix:<i> should take a Numeric. | 11:54 | |
jaffa4 | moritz_, can you tell me another important thing to implement? | ||
moritz_ | jaffa4: macros | ||
jaffa4: string handling at various Unicode levels | 11:55 | ||
11:55
rff left,
iblechbot joined
|
|||
jaffa4 | moritz_, nothing is implemented for macros | 11:57 | |
11:57
nbrown04 joined
|
|||
jaffa4 | Do you say that nothing is implemented for macros? | 11:57 | |
moritz_ | well, STD.pm surely contains some hooks | ||
jaffa4 | Are you replying me? | 11:58 | |
moritz_ | yes | ||
11:58
nbrown04 left
|
|||
jaffa4 | but I cannot use STD.pm | 11:58 | |
moritz_ | jaffa4: what can you use? | 11:59 | |
jaffa4 | If I am correct rakudo is based on something else. | ||
moritz_ | yes | ||
jaffa4: but that's the first time you mentioned rakudo | |||
jaffa4 | so what did you menition std.pm? | ||
moritz_ | jaffa4: other implementations use it already (mildew, sprixel) | ||
jaffa4: and you didn't ask about rakudo, specifically | |||
jaffa4 | i thought it was obvious. | 12:00 | |
moritz_ | well, it wasn't, at least not to me | ||
jaffa4 | nothing else is in good state. | ||
Or do you know otherwise? | |||
moritz_ | anyway, things that need implementing in rakudo: threads, native types, ... the ROADMAP if full of them | ||
jaffa4 | What is the state of other implementations? | 12:01 | |
moritz_ | varying | ||
12:01
NorwayGeek left
|
|||
jaffa4 | Are they worst than rakudo? | 12:02 | |
mberends | perl6: say "hello " x 3 | 12:03 | |
moritz_ | depends on your point of view | ||
p6eval | elf 28514, pugs, rakudo c8181a, sprixel 28513: OUTPUT«hello hello hello » | ||
mberends | 4 implementations agree :) | ||
moritz_ | and I wouldn't call rakudo's state "bad" | ||
jaffa4 | I did not say bad. | 12:04 | |
moritz_ | well, "worst" the superlative of "bad" | ||
12:04
PZt joined
|
|||
jaffa4 | Are they worsethan rakudo? | 12:04 | |
masak | jaffa4: you sometimes have a careless way of expressing yourself. | ||
moritz_ | jaffa4: since rakudo's state isn't bad, your question is based on a false assumption | 12:05 | |
masak | jaffa4: I know you don't mean any harm, just that you have an infirm grasp of the language. but be a bit careful. | ||
12:06
payload left
|
|||
jaffa4 | the question that are they worse than rakudo does not imply for me that rakudo is bad. | 12:06 | |
masak | jaffa4: it's very easy to interact with people in here, by default. less easy if you piss them off. | ||
12:06
NorwayGeek joined
|
|||
moritz_ | jaffa4: to me it sounds like it anyway | 12:06 | |
mberends | jaffa4: you began by asking what needs to be implemented. Answer: lots. How would you be able to contribute? | 12:07 | |
jaffa4 | I can do anything I want. | ||
12:07
payload joined
|
|||
mberends | jaffa4: that's bold. Can you write in PIR? | 12:08 | |
jaffa4 | at least the programming task required by rakudo I do not think they are beyond my abillities. | ||
moritz_ wishes he could do everything he wants, too | |||
jaffa4 | watch out, I corrected myself! | ||
masak wishes he had more tuits of clones | |||
moritz_ | jaffa4: then let me point you to docs/ROADMAP in the Rakudo repository, it's full of things that needs to be done | ||
and it also explains what needs to be done first, if applicable | 12:09 | ||
jaffa4 | mberends,I can write some PIR, yes | 12:10 | |
and I wrote a small compiler for PIR> | |||
moritz_ | though it's a tad outdated - for example (C) seems to be done already (at least mostly) | ||
masak | jaffa4: have you been using Rakudo some? I always maintain that it's a good way to get involved. | ||
mberends | jaffa4: If you could add the fork() function to Rakudo, I would be grateful. If you don't write it, pmichaud++ must do it, and we need his time for more important tasks. | 12:11 | |
moritz_ | mberends++ # proposing small-scale, workable tasks | ||
mberends | be aware that Rakudo fork() relies on Parrot fork(), no idea of the status of that | 12:14 | |
moritz_ | be aware that windows doesn't have a fork() system call | ||
masak | Matt-W: Swedish, a nice-sounding language? I wish I could step away from it enough to hear how it actually sounds. :P | 12:15 | |
moritz_ | I have a completely unrelated question... when pmichaud and others talk about proto regexes, they seem to assume/imply/know/* that proto regexes will imply some significant speed gains | ||
it was never obvious to me. Why? | 12:16 | ||
masak | good question. | 12:17 | |
yes, I've been hearing that for over a year now. | |||
let me have a guess at it: because they essentially turn the parsing at that particular place into one big jump table. | 12:18 | ||
or something. | |||
moritz_ | but they don't, at least not in the general case | ||
well, maybe there are some clever optimizations that can exploit the fact that in STD.pm many proto regxes start with a constant rule | 12:19 | ||
masak | 'a constant rule'? | ||
moritz_ | one which matches a literal | 12:20 | |
sorry, bad wording | |||
moritz_ would like to hire masak for line 182 of the ROADMAP | |||
masak | I think something like that might be used to optimize, yes. | ||
I'm on it. :) | |||
today I've been mulling over how best to make info leaflets for Web.pm so that people can get going quickly. | 12:21 | ||
I want to be inspired by the info things for Chrome and Shoes. they're nice. | |||
moritz_ praises whiteknight++ for wknight8111.blogspot.com/2009/09/ar...model.html | 12:22 | ||
12:24
ruoso joined
|
|||
Matt-W | masak: seemed like it to me. Sort of bubbly. | 12:25 | |
masak | aye, we do a lot of stuff with phrase melody. | 12:26 | |
a way for Swedes to mock each other is to pretend that the other one speaks English that way, too. :) | 12:27 | ||
Matt-W | nothing much wrong with that | 12:28 | |
the English is still intelligible | |||
I also quite like Swedish accents :) | |||
masak | .oO( bork, bork, bork ) |
12:29 | |
frettled | encheferize! | ||
12:31
arthur-_ joined
12:32
NorwayGeek left
12:35
NorwayGeek joined
|
|||
masak | whiteknight++ # really good post | 12:40 | |
mdxi | here's my summation: "A software architect should be like Hari Seldon, except that they tell people what's going on now instead of making holo-recordings to be played after 10,000 years" | 12:41 | |
and yes. good post :) | |||
12:41
iblechbot left
12:42
NorwayGeek left
12:45
NorwayGeek joined
12:52
payload left
13:00
araujo left
|
|||
masak | rakudo: role Answer[:$default = 42, $d = $default] { method Str { "The {$d == $default ?? '' !! "modified " }answer is $d" } }; say Answer.new; say Answer[43].new | 13:00 | |
p6eval | rakudo c8181a: OUTPUT«Potential internal error: bindability check may have done more than just binding.The answer is 42Potential internal error: bindability check may have done more than just binding.The modified answer is 43» | ||
masak | I still don't grok when that warning is triggered. | 13:01 | |
moritz_ | masak: some cases of non-trivial dispatch to parameterized roles. | ||
masak | well, yes. | 13:02 | |
but which ones? | |||
and is there something really potentially dangerous with the above code? | |||
moritz_ | well, it's wrong | ||
masak | oh? | ||
moritz_ | having a positional argument after a named one is wrong | ||
masak | I thought they just couldn't be mixed. | 13:03 | |
maybe I'm out-of-date. | |||
moritz_ | I think the cases are cross-dependencies with default values, and where-blocks | ||
std: role Answer[:$default = 42, $d = $default] { } | |||
p6eval | std 28514: OUTPUT«===SORRY!===Can't put optional positional parameter after variadic parameters at /tmp/0GV0rUspi2 line 1:------> ole Answer[:$default = 42, $d = $default⏏] { } expecting any of: standard stopper terminator whitespaceFAILED | ||
..00:01 104m» | |||
masak | ah. | ||
rakudo: sub foo(:$named, $positional) {} | 13:04 | ||
p6eval | rakudo c8181a: ( no output ) | ||
masak | rakudo: sub foo(:$named, $positional) {}; say 'alive' | ||
p6eval | rakudo c8181a: OUTPUT«alive» | ||
masak | is that one in RT? | ||
moritz_ | I think so, but not sure. | ||
13:04
ruoso left
|
|||
PerlJam | hello #perl6 | 13:05 | |
moritz_ | \o/ | ||
masak | rakudo: sub foo(:$) {}; say 'an anonymous named parameter!?' | ||
p6eval | rakudo c8181a: OUTPUT«an anonymous named parameter!?» | ||
moritz_ | :-) | ||
masak | std: sub foo(:$) {} | ||
p6eval | std 28514: OUTPUT«ok 00:01 102m» | ||
masak | well, shoot in yourself foot, I guess. | ||
13:05
ruoso joined
|
|||
masak | erm, 'foot in yourself shoot'. | 13:05 | |
moritz_ | why? foo(|{ '' => 'foo'}) | 13:06 | |
masak | moritz_: that's a pair, no? | ||
not a named argument. | |||
oh, | | |||
masak tries | |||
moritz_ | right | ||
and the name is the empty string :-) | |||
masak | hey, wait a minute :) | ||
Matt-W | that's not anonymous | ||
masak | there's no way to test if it got passed. | ||
Matt-W | that's just named with the empty string | 13:07 | |
heh even if you can do it it's of no use whatsoever | |||
masak | Matt-W: '$' in signatures means a anon scalar. | ||
Matt-W | unless... can a routine introspect the parameters it was passed and do a .perl on them? | ||
moritz_ | rakudo: sub foo(:$) { say 'foo' }; foo(|{'' => 'bar'}) | ||
p6eval | rakudo c8181a: OUTPUT«argument doesn't arrayin sub foo (/tmp/wixb9JIzjQ:1)called from Main (/tmp/wixb9JIzjQ:0)» | ||
masak | it can. | ||
Matt-W | so you can get at them then | ||
even if they don't have names | |||
moritz_ | Matt-W: probably only if it receives a raw signature | 13:08 | |
masak | rakudo: sub foo(:$) {}; say &foo.signature.perl | ||
p6eval | rakudo c8181a: OUTPUT«:(Any $?)» | ||
moritz_ | that's wrong :-) | ||
13:08
am0c left
|
|||
Matt-W | BUG | 13:08 | |
masak | why? | ||
moritz_ | it's not a positional | ||
masak | oh, right. | ||
masak submits rakudobug | |||
Matt-W | and it's not called ?, either | ||
moritz_ | and the "argument doesn't array" doesn't look too bright either | ||
masak | Matt-W: no, that's a postfix. | ||
Matt-W | oh yes sorry | 13:09 | |
optional | |||
moritz_ | Matt-W: the ? means "optional" here | ||
moritz_ too slow | |||
Matt-W | but it should be a named optional | ||
:$? | |||
moritz_ | right | ||
rakudo: my %h = '' => 3; sub foo(:$) { say 5; }; foo |%h | |||
p6eval | rakudo c8181a: OUTPUT«FixedIntegerArray: index out of bounds!in sub foo (/tmp/lbCKj1pGvo:1)called from Main (/tmp/lbCKj1pGvo:0)» | 13:10 | |
moritz_ | yet another bug... masak? :-) | ||
masak submits | |||
rakudo: sub foo(:$a) {}; say &foo.signature.perl | |||
p6eval | rakudo c8181a: OUTPUT«:(Any :$a?)» | ||
masak | it gets that one right. | ||
Matt-W | rakudo: sub foo(:$, :$) {}; say $foo.signature.perl | 13:12 | |
p6eval | rakudo c8181a: OUTPUT«Symbol '$foo' not predeclared in <anonymous> (/tmp/8OMTadSqa4:2)in Main (src/gen_setting.pm:3469)» | ||
Matt-W | rakudo: sub foo(:$, :$) {}; say &foo.signature.perl | ||
p6eval | rakudo c8181a: OUTPUT«:(Any $?, Any $?)» | ||
13:14
crythias joined
13:20
icwiener joined
|
|||
masak | a follow-up on my continuations rant from yesterday: S04:627 specifies C<gather> as being lazy. how will this be carried out on a VM without continuations? | 13:20 | |
s/carried out/pulled off/ | 13:21 | ||
moritz_ | masak: continue your rant when TimToady is present :-) | ||
PerlJam | masak: through the magic of turing equivalence (in other words, painfully :) | ||
masak | how meta. | 13:22 | |
colomon | moritz_: where does roots live now? | ||
moritz_ | colomon: spread all over the place, actually | ||
masak | PerlJam: my (obvious) point is that if the pain can be abstracted in that case, why not for continuations in general? | ||
moritz_ | colomon: the real implementation in Complex.pm | ||
colomon | just remembered I could use ack. | ||
13:22
pmurias joined
|
|||
moritz_ | ack++ # one of the most useful development tools | 13:23 | |
masak | I'll settle for 'delimited' continuations, even though I don't know exactly what they are. | ||
moritz_ | colomon: somehow I haven't been able to make sin(Complex) dispatch to Complex.sin | ||
colomon | moritz_: somehow missed the version in Complex.pm the first time I looked this morning. | ||
masak | ack++ # like grep, but prettier | ||
moritz_ | anyway, we have failures in two files left | 13:24 | |
colomon | what two files? I only got failures in roots.t when I tried spectest this morning. | ||
moritz_ | the roots.t should be rather trivial to fix by a couple of 'return NaN if $thing ~~ Inf|NaN' | ||
jaffa4 | what is ack? | ||
colomon | moritz_: that's why I was asking where roots is. ;) | 13:25 | |
PerlJam | jaffa4: betterthangrep.com/ | ||
mdxi | jaffa4: andy lester's better-than-grep grep | ||
moritz_ | colomon: trig.t fails for me | ||
colomon | really? | ||
moritz_ | aye | ||
colomon | (trying it again now) | 13:26 | |
moritz_ | colomon: do you have local modifications to the test file? | ||
colomon | moritz_: no, I've been doing all my trig modifications to the new-trig.t files. | ||
Errr... but wait, how the heck does it work on mine? we shouldn't have Complex.sin or Complex.cos now! | 13:27 | ||
moritz_ | why not? I think I uncommented the implementions in Complex.pm | ||
colomon | oh, you did. hmmm. | 13:28 | |
yeah, trig.t passes for me. | |||
I bet new-trig.t fails, let's see... | |||
new_trig.t, perl 6 is leading me to confuse _ and - with disturbing regularity | 13:29 | ||
moritz_ | how exceedingly strange | ||
colomon | what failures are you getting? | ||
moritz_ | colomon: it dies after test 126 | 13:30 | |
when it tries to calculate sin($complex_number) | |||
and redispatches to Any.sin() | |||
and thus tries to coerce the Complex to Num, which obviously doesn't work | 13:31 | ||
colomon | sin(Complex) is actually defined in trig.t right now. | ||
moritz_ | it shouldn't be :/ | 13:32 | |
colomon | Hmmm, new_trig.t does fail with the "You can't just coerce a Complex to Num" error. | 13:33 | |
moritz_: clearly it shouldn't be! but the weirdness that forced it to be was why we are on this branch. | 13:34 | ||
moritz_ | yeah, right | ||
I added that error to get a better backtrace (and because it's true) | |||
colomon | new_trig.t is failing in Any::asin. | ||
moritz_ | and your rakudo is on 65af3ca0376198b88d0ccd3a37fc935407e5a704 without local modifications? | 13:35 | |
colomon | yup. | ||
I didn't do a Configure --gen-parrot this morning when I pulled, could that make a diff? | |||
moritz_ | maybe | ||
but maybe my local rakudo checkout has problems | 13:36 | ||
colomon | trying with new configure now. | ||
moritz_ | and maybe my parrot is newer | 13:37 | |
I'll try a fresh clone, and a a Configure --gen-parrot | |||
colomon | make finished, trying trig.t again now. | 13:40 | |
masak | rakudo: sub foo($a = $default, :$default = 42) {}; say "alive" | 13:43 | |
p6eval | rakudo c8181a: OUTPUT«alive» | ||
masak | std: sub foo($a = $default, :$default = 42) {} | ||
p6eval | std 28514: OUTPUT«ok 00:02 104m» | ||
masak | rakudo: sub foo($a = $default, :$default = 42) { say $a }; foo | 13:44 | |
p6eval | rakudo c8181a: OUTPUT«Null PMC access in isa()in sub foo (/tmp/lROEg7zEa4:1)called from Main (/tmp/lROEg7zEa4:0)» | ||
masak submits rakudobug | |||
today is a day of good harvest :) | |||
moritz_ | uhm, why STD.pm complain about $default not being defined? | 13:45 | |
masak | it doesn't. | ||
moritz_ | that's what I wanted to write | ||
why doesn't it complain? | |||
masak | STD bug? | ||
moritz_ | STD bug. | ||
masak hightlights TimToady | 13:46 | ||
rakudo: sub foo($a = $default, :$default = 42) { say 'alive' }; foo | 13:47 | ||
p6eval | rakudo c8181a: OUTPUT«Null PMC access in isa()in sub foo (/tmp/9yQXQGoWdm:1)called from Main (/tmp/9yQXQGoWdm:0)» | ||
13:48
NorwayGeek left
|
|||
colomon | moritz_: trig.t still works for me after configure and rebuild. | 13:49 | |
13:50
NorwayGeek joined
13:51
NorwayGeek left
|
|||
moritz_ | colomon: works here too, now | 13:52 | |
colomon | \o/ | ||
moritz_ | "suddenly success" | ||
13:53
NorwayGeek joined
|
|||
colomon | I've got to do some $work now, but if you get the roots patch in place, I'll try to get the full suite of trig functions up and running later today. | 13:53 | |
moritz_ | I'm slightly suspicious now... updating to the newest parrot to see if it changes anything | ||
colomon | k | 13:54 | |
I'm also going to noodle around and add new tests in complex.t, I think. | 13:57 | ||
moritz_ | ok | 13:58 | |
13:58
icwiener_ joined
|
|||
diakopter | sprixel: say "43".Num # for moritz_ | 14:04 | |
p6eval | sprixel 28514: OUTPUT«43» | ||
colomon | rakudo: say "43".Num; | ||
p6eval | rakudo c8181a: OUTPUT«Method 'Num' not found for invocant of class 'Str'» | ||
moritz_ | sprixel++ | ||
diakopter++ | |||
diakopter | sprixel: say "43.3325".Int | 14:05 | |
p6eval | sprixel 28514: OUTPUT«43» | ||
14:06
iblechbot joined
14:07
abra joined
|
|||
diakopter | sprixel: say "0b10010".Int | 14:08 | |
p6eval | sprixel 28514: OUTPUT«18» | ||
diakopter is still offline-ish | 14:11 | ||
masak | mberends: I made one more commit to temporal-flux-perl6syn. I wonder whether the 'P0.5Y' is a net win or a net fail. it's practical, but it seems to me it inevitably introduces a calendarish type of rounding errors which could otherwise be avoided. | 14:12 | |
14:13
Student joined,
icwiener left
14:16
justatheory joined
14:23
SmokeMachine joined
14:27
Psyche^ joined
14:29
Patterner left,
rfordinal left
14:38
FCO joined
14:39
jaffa4 left,
jaffa4 joined
14:40
SmokeMachine left
|
|||
mberends | masak: just read your remark. I want to think it over a bit before forming my opinion. Temporal is such a Bikeshed type subject... | 14:41 | |
masak | mberends: that's OK, you have time. :P | ||
by the way, re your hesitation towards s/DateTime/Time/, namely "Date is date-only, Time is time-only, DateTime is both." -- I spent some time wondering how much that opinion is biased by having implemented the last iteration of DateTime. :) | 14:44 | ||
not saying you're wrong, or even that you shouldn't be biased. | |||
14:44
riffraff joined
|
|||
frettled waves a cardboard placard with Time::UTC and Time::TAI. | 14:46 | ||
14:46
[particle] left
14:48
[particle] joined
|
|||
masak | I think this is the first time someone has waved a cardboard placard in here. I'm unsure as to the symbolism of it. | 14:49 | |
Matt-W | cardboard placards are flammable | ||
masak | that might factor into it somehow. | ||
I got the impression that it was a scoreboard, and that Time::UTC and Time::TAI were going to have a race. | 14:50 | ||
but maybe frettled is just a peaceful demonstrator. | |||
14:51
zloyrusskiy joined
|
|||
jnthn | pmichaud++ # pct-rx branch commits aplenty | 14:51 | |
masak | jnthn! | ||
jnthn | masak! | ||
masak pulls, er updates | |||
jnthn has hand wonderful day out thanks to (korean friends)++, and is a bit tired to read those tonight. | 14:52 | ||
frettled | masak: it was rather peaceful, I hope. Those are current CPAN modules which bear some relevance to Temporal. | 14:53 | |
jnthn: goodie, you probably deserved it! | 14:54 | ||
masak | is 'frugal' the new 'eager'? or is it something else? | ||
Matt-W | I tried to look at the pct-rx branch changes, but I found parrot SVN's web interface very unhelpful | ||
masak | Matt-W: git-svn | ||
jnthn | Matt-W: Was the trac timeline diffs any better? | 14:55 | |
jnthn read that | |||
Matt-W | that doesn't give me a nice shiny web interface | ||
jnthn: didn't know about that | |||
jnthn | trac.parrot.org | ||
see timeline | |||
Matt-W | all I found was a horrible thing that wanted me to enter revision numbers :o | ||
which seemed like a step back in time even for SVN | |||
jnthn | Matt-W: That's where you get grateful it's svn revision numbes, not git sha-1s ;-) | 14:56 | |
14:56
Psyche^ is now known as Patterner
|
|||
Matt-W | true | 14:56 | |
it'd be nice if I could filter this timeline by branch | |||
Woodi | anyone can tell me how to exit from rakudo interpreter ? how to end ./perl6 ? | 14:57 | |
Matt-W | ctrl-C | 14:58 | |
moritz_ | can I tell git-svn not to "aggressively search" for "old history"? | ||
Woodi | and other way ? | ||
masak | Matt-W: trac.parrot.org/parrot/log/branches/pct-rx | ||
moritz_ | Ctrl+D | ||
Matt-W | exit, possibly | ||
jnthn | kill | ||
Matt-W | maybe die | ||
moritz_ | exit doesn't work | ||
jnthn | no, repl catches exceptions | ||
Matt-W | aaah | ||
masak | REPL-- | ||
jnthn | I fear even exit, though maybe that should chain... | ||
14:58
jaffa8 joined
|
|||
jnthn | well, catcing die is good | 14:58 | |
Woodi | exit no, die no, quit no, return no... | ||
jnthn | Catching exit exceptions probably is not. | ||
Matt-W | Woodi: ctrl-C then | ||
jnthn | But it's treating em all the same ATM | 14:59 | |
moritz_ | Ctrl+D works here, too | ||
Woodi | i cannot accept ^C :) | ||
moritz_ | why not? | ||
[particle] | Q:PIR{end} | ||
Woodi | but ^D is ok and work :) | ||
i prefer p6 interpreter can be civilised | |||
Matt-W | what's uncivilised about SIGINT | ||
it's when you have to send it a SIGKIL that you're getting into uncivilised territory | 15:00 | ||
Woodi | kill -9/-15 is kinda administrative | ||
but ^D eq EOT | 15:01 | ||
masak | aye, seems 'frugal' means :? | 15:02 | |
Woodi | and if no way to exit from p6 interpreter i think better to not enter there... | ||
[particle] | rakudo needs something like: multi method exit(Int $x) { Q:PIR {$P0 = find_lex '$x'; $I0 = $P0; exit $I0 } } | ||
jnthn would support exit working in the reply | |||
Woodi | you ant to scary new user ? | ||
jnthn | erm | ||
repl | |||
[particle]: suspect we already have one | |||
Matt-W | the repl generally needs some work | ||
jnthn | [particle]: exit iirc throws an exception | ||
Matt-W | it's not deliberately scary | 15:03 | |
[particle] | ok, so the handlers need changing. that's straightforward. | ||
jnthn | [particle]: and the repl's "code threw an exception" handler just doesn't have stuff in place to rethrow exit exceptions. | ||
[particle]: Yeah, if there's agreement, it should be. | |||
I've not got any thoughts why exit should not actually exit the repl. | |||
15:04
rfordinal joined
|
|||
Woodi | anyway i think ^D should send NL before finish, unix tools do this | 15:04 | |
[particle] | it should absolutely exit. | ||
moritz_ | btw this worked for me: git svn clone --no-metadata -r41479:HEAD svn.parrot.org/parrot/branches/pct-rx/ | ||
jnthn | [particle]: Patches (or ticket) welcome. :-) | 15:05 | |
moritz_ | there's already a ticket for that | ||
[particle] | et viola. | ||
jnthn | there we are then | ||
somebody just needs to write a little code ;-) | |||
Matt-W | hell | 15:06 | |
that sounds like something even I could do | |||
but right now, I'm going home | |||
moritz_ mentally hears Mark Knopfler - Going Home (Theme from the "Local Hero") | 15:07 | ||
15:07
zloyrusskiy left,
justatheory left
|
|||
moritz_ | too many cow-orkers around to actually play music :-) | 15:08 | |
15:08
zloyrusskiy joined
15:10
Caelum_ is now known as Caelum
15:14
cahek joined
15:15
rfordinal left
15:16
jaffa4 left
|
|||
TimToady | masak: on VMs without continuations, laziness must be emulated with closures, as STD does on Perl 5. | 15:18 | |
15:18
cahek left
15:19
cahek joined,
cahek left
|
|||
masak | TimToady: I'm running up against some situations where first-class continuations would be very useful. that's why I'm thinking of this lately. | 15:20 | |
pugs_svn | r28515 | lwall++ | [STD] complain about non-existent default vars, just for masak++ | ||
masak | \o/ | ||
15:21
cahek joined
|
|||
masak | or maybe not even first-class, but some mechanism such as Ruby's 'yield'. | 15:22 | |
TimToady | just implement Haskell on the VM, and then finish pugs :P | 15:23 | |
masak | it feels strange that we have gather/take and pipes, but no local way to make the same kind of control flow. | ||
TimToady | that's because I like to keep my laziness orthogonal to sub cals | 15:24 | |
*calls | |||
masak | I see. | ||
Seaside and Lift are two web applications which make good use of continuations. PGE and other parsers use them liberally. I'm still trying to figure out which contortions are necessary to port such applicationa to pure Perl 6. | 15:25 | ||
TimToady | and I very much don't like co-routines that change their signature depending on whether they're initting or continuing, though making yield return new arguments is a sop to fix that | ||
masak | s/applicationa/applications/ | ||
15:25
kidd` joined
|
|||
masak | hm, yes. co-routines changing signatures feels wrong, I agree. | 15:26 | |
TimToady | I thought those were just "web continuations" | ||
masak | the point is that they're syntactically supported. | ||
mberends | masak: Temporal.pod now has week-of-year twice in the same list. Also, surely for Duration "D0.5Y" is more intuitive than "P0.5Y". | ||
TimToady | well, basically, lazy lists are our continuation syntax primitive | 15:27 | |
moritz_ | rakudo: say "NaN" ~~ NaN | ||
p6eval | rakudo c8181a: OUTPUT«1» | ||
masak | mberends: the 'P' is from ISO 8601. | ||
TimToady | lazy lists are also a poor-man's monad | ||
making sure time happens in the right order :) | 15:28 | ||
PerlJam | But I thought Perl 6 made us rich! | ||
TimToady | prophetic past tense is tricky | ||
masak | TimToady: either I'm missing something major from the 'lazy lists are our continuation syntax primitive', or I'm simply dissatisfied with it. | ||
s:2nd/'/' viewpoint/ | 15:29 | ||
15:29
silug left
|
|||
TimToady | continuations are like naked singularities, but the event horizon is a lazy list | 15:29 | |
masak | TimToady: I'll do some research to try to understand your hesitation towards naked-singularity continuations. | 15:31 | |
15:31
zloyrusskiy left
15:32
jaffa8 left
|
|||
masak | mberends: (duplicate attribute) fixed. I also alphabetized the attributes while I was at it. | 15:32 | |
mberends++ # for noticing | |||
15:33
cahek left
15:35
KyleHa joined
|
|||
masak | more to the point, I can see with some difficulty how a lazy list might help replace continuations in a regex parser, and not at all in the case of a Seaside-like web framework. | 15:37 | |
15:40
mberends left
15:41
zloyrusskiy joined
15:42
KyleHa left
15:43
ejs joined
|
|||
moritz_ | colomon: in the branch root(NaN, 1) does the Right Thing[tm] IMHO, but it returns (for example) a Complex.new(NaN, 0) intead of just a NaN. Smart-matching that against NaN fails... | 15:48 | |
colomon: IMHO it would be OK to fudge these tests for now, and merge the branch | |||
15:49
riffraff left
15:51
snearch joined
|
|||
moritz_ | rakudo: say (NaN+0i) ~~ NaN | 15:54 | |
p6eval | rakudo c8181a: OUTPUT«1» | ||
moritz_ | that's the actual thing we'll be regressing, not the roots() function | ||
pmichaud: would you like to review the native-complex branch before merging? (I could very much understand if you don't, because of your other "distractions" at the moment :-) | 15:56 | ||
masak | (pmichaud's "distractions")++ | 15:57 | |
15:57
nihiliad joined
|
|||
moritz_ | the ~~ NaN thing is something we can fix | 15:57 | |
but since masak++ moved some operators to the setting in master it's some code I'm not too eager to touch in the branch | 15:58 | ||
16:01
cdarroch joined
|
|||
masak | moritz_: merge in the branch, and then fix it, perhaps? | 16:02 | |
16:03
crythias left
|
|||
moritz_ | masak: in principle yes, but I'd like to get an answer from pmichaud++ first | 16:03 | |
masak | aye, sure. | 16:04 | |
16:05
lanny joined
16:06
kidd` left
|
|||
mikehh | rakudo (c8181aa) builds on parrot r41579 - make test / make spectest_smolder (up to r28515 -> #28385) PASS - Ubuntu 9.04 amd64 | 16:07 | |
16:10
justatheory joined
16:12
NorwayGeek|Away joined
|
|||
colomon | moritz_: I would think of Complex(NaN, 0) as being the wrong thing, actually, but perhaps I don't completely grok how NaN and types are supposed to work together. | 16:12 | |
lanny | rakudo: my @xs=<0 1 3.14 0xA 0755 bar>; say @test.map: -> $n {"$n={$n.Int}, "}; | 16:13 | |
p6eval | rakudo c8181a: OUTPUT«Symbol '@test' not predeclared in <anonymous> (/tmp/2bWZne3PvN:2)in Main (src/gen_setting.pm:3469)» | ||
16:13
gbacon left,
NorwayGeek left
|
|||
lanny | bah. cut/paste ftw | 16:13 | |
rakudo: my @xs=<0 1 3.14 0xA 0755 bar>; say @xs.map: -> $n {"$n={$n.Int}, "}; | |||
p6eval | rakudo c8181a: OUTPUT«0=0, 1=1, 3.14=3, 0xA=10, 0755=755, bar=0, » | ||
lanny | Is there a way to tell Int to use a different base? | 16:16 | |
masak | rakudo: say :4<101> | ||
p6eval | rakudo c8181a: OUTPUT«17» | ||
lanny | Thanks. | 16:17 | |
masak | rakudo: my $foo = '1010'; say eval ":4<$foo>" | ||
p6eval | rakudo c8181a: OUTPUT«68» | ||
moritz_ | rakudo: my $foo = '1010'; say :16($foo) | 16:18 | |
p6eval | rakudo c8181a: OUTPUT«4112» | ||
moritz_ | rakudo: my $foo = '1010'; say :4($foo) | 16:19 | |
p6eval | rakudo c8181a: OUTPUT«68» | ||
moritz_ | there ya go, without eval :-) | ||
diakopter | sprixel: my $foo = '1010'; say :4($foo) | ||
p6eval | sprixel 28515: OUTPUT«68» | ||
moritz_ impressed | |||
lanny | rakudo: my @xs=<0 1 3.14 0xA :8(0755) bar>; say @xs.map: -> $n {"$n={$n.Int}, "}; | 16:20 | |
p6eval | rakudo c8181a: OUTPUT«0=0, 1=1, 3.14=3, 0xA=10, :8(0755)=0, bar=0, » | ||
lanny | rakudo: my @xs=<0 1 3.14 0xA :8(755) bar>; say @xs.map: -> $n {"$n={$n.Int}, "}; | ||
p6eval | rakudo c8181a: OUTPUT«0=0, 1=1, 3.14=3, 0xA=10, :8(755)=0, bar=0, » | ||
lanny | aha | 16:22 | |
rakudo: my @xs=<0 1 3.14 0xA 0o755 bar>; say @xs.map: -> $n {"$n={$n.Int}, "}; | |||
p6eval | rakudo c8181a: OUTPUT«0=0, 1=1, 3.14=3, 0xA=10, 0o755=493, bar=0, » | ||
lanny | better. Can't wait for: grok radix | ||
16:24
snearch left,
barney left
|
|||
lanny | Course if I could have remembered the term 'radix' I could have just grepped. | 16:25 | |
rakudo: my @xs=<< 0o755 :8<755> >>; say @xs.map: -> $n {"$n={$n.Int}, "}; | |||
p6eval | rakudo c8181a: OUTPUT«0o755=493, :8<755>=493, » | ||
16:30
TopoMorto joined
|
|||
TimToady | moritz_: in blog s/If found/I've found/ | 16:31 | |
moritz_ | TimToady: thanks, fixed (fix percolating to the site right now) | 16:32 | |
lanny | sub f(Int @xs) of Int { [+] @xs; }; my @av=<2 3 4>; f(@av.map: {$_.Int}).say; | 16:37 | |
rakudo: sub f(Int @xs) of Int { [+] @xs; }; my @av=<2 3 4>; f(@av.map: {$_.Int}).say; | 16:38 | ||
p6eval | rakudo c8181a: OUTPUT«Parameter type check failed; expected Positional[Int], but got List for @xs in call to fin sub f (/tmp/yD4QWVo9DV:1)called from Main (/tmp/yD4QWVo9DV:0)» | ||
lanny | rakudo: sub f(Int @xs) of Int { [+] @xs; }; my @av=<2 3 4>; f([@av.map: {$_.Int}]).say; | ||
p6eval | rakudo c8181a: OUTPUT«Parameter type check failed; expected Positional[Int], but got Array for @xs in call to fin sub f (/tmp/KkfWrtmQ9V:1)called from Main (/tmp/KkfWrtmQ9V:0)» | ||
lanny | Isn't @xs an Array of Int? | ||
moritz_ | no | 16:39 | |
it's an untyped array | 16:40 | ||
and it holds Str's actually | |||
rakudo: say <2 3 4>[0].WHAT | |||
p6eval | rakudo c8181a: OUTPUT«Str()» | ||
16:40
stephenlb joined
|
|||
lanny | Right. That's @av. | 16:40 | |
I'm asking of @xs in sub f | |||
moritz_ | erm, sorry | ||
jnthn | lanny: If you are going to pass an array into a routine that ones a typed array, you need to pass in a typed array. | 16:41 | |
*wants* | |||
16:41
Intensity joined
|
|||
lanny | Ok. I see. | 16:42 | |
TimToady | moritz_: re proto regexen, they participate fully in LTM as alternatives, so they do speed things up in the general case, assuming you have LTM as STD has it | ||
lanny | Is there a way of doing that anonymously rather than building a temp variable for it? | ||
jnthn | In Rakudo at the moment, I think not - in the future the syntax Array[Int](1,2,3) may do it. | 16:43 | |
16:43
mariuz left
|
|||
jnthn | Or maybe not. I figure there's a way... | 16:43 | |
moritz_ | TimToady: and LTM is fast... because it's DFAish? is that the point? | ||
jnthn | If not that, perhaps an adverb to the circumfix [....] | ||
lanny | Yes. Would think so too. | ||
jnthn | TimToady: Answers welcome. ;-) | ||
TimToady | moritz_: yes, or some fast form of parallel NFA matching | 16:44 | |
moritz_ | TimToady: thanks, that explains things | 16:45 | |
16:45
TiMBuS left
|
|||
TimToady | STD currently fakes DFA with a trie on constant strings and brute force otherwise, but the semantics are right | 16:46 | |
16:46
ruoso left
|
|||
moritz_ | in token foo:sym<bar> { <sym> ... } do you recognize that <sym> is basically a literal? | 16:47 | |
16:47
TopoMorto left
|
|||
moritz_ | s/you/STD.pm + Curser.pmc/ | 16:48 | |
(+ grammar fixes ;-) | |||
TimToady | certainly | ||
see src/perl6/lex/STD/foo to see the LTM table for foo (in an active STD dir) | 16:49 | ||
16:52
rindolf joined
16:53
payload joined
|
|||
masak | hah! according to lex/STD/twigil, the dot is a twigil! :) | 16:54 | |
moritz_ | what is the ?? prefix? | ||
TimToady | where is there a ?? prefix? | 16:56 | |
moritz_ | lex/STD/prefix | ||
\?\?(?#::)(?#FATE7 prefix STD::prefix__S_318QuestionQuestion ) | |||
TimToady | std: say ?? $x | 16:57 | |
p6eval | std 28515: OUTPUT«===SORRY!===Preceding context expects a term, but found infix ?? instead at /tmp/94nOv2CD42 line 1:------> say ??⏏ $xFAILED 00:01 104m» | ||
TimToady | it can detect that reasonably since ? ? $x is non-sensical | 16:58 | |
moritz_ | ah | 16:59 | |
TimToady | likewise, there's still a + twigil | ||
std: $+foo | |||
p6eval | std 28515: OUTPUT«Potential difficulties: The + twigil is deprecated, use the * twigil instead at /tmp/kP46gdZPw0 line 1:------> $+⏏foo The + twigil is deprecated, use the * twigil instead at /tmp/kP46gdZPw0 line 1:------> $+⏏foook 00:01 101m» | ||
TimToady | and that's why | ||
lanny | rakudo: sub f(Int @xs) { [+] @xs }; f(1..5).say; | 17:01 | |
p6eval | rakudo c8181a: OUTPUT«Parameter type check failed; expected Positional[Int], but got Range for @xs in call to fin sub f (/tmp/7W1GMmyENd:1)called from Main (/tmp/7W1GMmyENd:0)» | ||
17:01
crythias joined
17:02
omega left
|
|||
TimToady | jnthn: Array[Int](...) looks like a perfectly good cercion to me, assuming Array partakes of the role nature | 17:03 | |
*coercion | |||
17:03
omega joined
|
|||
jnthn | TimToady: Well, it's parametric, so I guess it needs to. | 17:03 | |
TimToady | arguably, of course, you can't coerce to a role in any case | ||
jnthn | TimToady: Well, yeah, that's why I was like "hmm" | 17:04 | |
TimToady | there's some punning/delegation going on there, I expect | ||
jnthn | Of course, if we spec that as "it's a coercion to the punned class" then the problem "goes away" | ||
I probably need to figure out how to pun faster than Rakudo currently does if things like array are gonna be roles. | 17:05 | ||
moritz_ | what are parameterized roles punned into? I mean there's no parametric class... | ||
17:05
mberends joined
|
|||
jnthn | moritz_: A class that does the parametric role. | 17:05 | |
moritz_ | ok | ||
TimToady | to the class it's just a part of its name, kinda | ||
jnthn | (the class is "anonymous" in so far as it has no direct reference from the package or lexpad.) | ||
moritz_ feels a bit stupid today | 17:06 | ||
jnthn | (but for debugging purposes I think that it may be nice to pack the class thing its name is matching the name of the role that was punned) | ||
TimToady | your intelligence is worse today :) | ||
jnthn | erm, to make the class... | ||
my typing sucks, but it just went 2am :-) | 17:07 | ||
17:07
masak left
|
|||
TimToady waves his hands vaguely in jnthn++'s direction | 17:07 | ||
17:07
ruoso joined
|
|||
jnthn yawns | 17:08 | ||
I think time to sleep. I want to go see some interesting places tomorrow. :-) | |||
TimToady | g'night | ||
jnthn | o/ | ||
17:10
silug joined
|
|||
TimToady | std: sub foo($a = $default, :$default = 42) {} | 17:14 | |
p6eval | std 28515: OUTPUT«Potential difficulties: Variable $default is not predeclared at /tmp/1AKbdNCsky line 1:------> sub foo($a = $default⏏, :$default = 42) {}ok 00:02 104m» | ||
17:21
TimToady sets mode: +v phenny
17:23
justatheory left,
ejs left
17:24
TimToady sets mode: +oooo [particle] colomon cognominal frettled,
TimToady sets mode: +oooo japhb Matt-W mberends moritz_,
TimToady sets mode: +oo sjohnson szbalint,
TimToady sets mode: +v hugme,
TimToady sets mode: +o PerlJam
17:26
TimToady sets mode: +o wayland76
17:28
Confield joined
17:30
payload left
17:34
justatheory joined,
justatheory left
17:35
justatheory joined
17:42
envi^home left
17:53
szabgab joined
|
|||
colomon | moritz_: does the roots commit (from two hours ago) mean all spectests pass now? | 17:54 | |
17:55
iblechbot left
|
|||
moritz_ | no | 17:56 | |
17:57
lucs left
|
|||
colomon | darn | 17:57 | |
17:57
abra left
|
|||
pmichaud | moritz_: I don't feel I need to review the native-complex branch before merging. | 17:57 | |
moritz_ | rakudo: say +(2+3i) | ||
pmichaud: ok | |||
p6eval | rakudo c8181a: OUTPUT«2+3i» | ||
pmichaud | (haven't looked to see if this happened yet) | ||
pugs_svn | r28516 | diakopter++ | [sprixel] add some JS libraries written largely by me | 17:58 | |
moritz_ | rakudo: say (2+3i).Num | ||
pmichaud | I just peeked in to make sure the protoregex spec hasn't changed on me today :) | ||
p6eval | rakudo c8181a: OUTPUT«Method 'Num' not found for invocant of class 'Complex'» | ||
colomon | moritz_: we need to overload + for Complex, IMO. | ||
diakopter | mberends: take a look at those libraries I just committed... there's a lot there :) | ||
colomon | prefix+, I mean. which means moving it to the setting | 17:59 | |
moritz_ | colomon: I think prefix:<+> is allowed to return any Numeric | ||
so it's a no-op on Complex | |||
17:59
lucs joined
|
|||
colomon | right, but if you try it right now on our branch, it tries to call .Num on it. | 17:59 | |
moritz_ | rakudo: class A { method Num { NaN } }; say A.new ~~ NaN | ||
pmichaud | prefix:<+> likely means "numeric context", which may be very different from "coerce to Num" | ||
p6eval | rakudo c8181a: OUTPUT«1» | ||
mberends | diakopter: wow, lots of goodies! | 18:00 | |
moritz_ | pmichaud: with yesterday's spec changes in mind it might mean 'coerce to Numeric' | ||
colomon: oh. | |||
pmichaud | oh, I didn't see those spec changes, then. | ||
I'll have to look. | |||
later, when I'm ready for a break from protoregexes | |||
moritz_ | don't hurry | ||
colomon | I'm not sure if I like the 'coerce to Numeric' idea. | 18:01 | |
I've been thinking of it conceptually as 'coerce to something you can do math on'. | |||
diakopter | mberends: none of it's really ready use directly in sprixel yet (except the ToJS() function, which I ported from the ToJS.pm I wrote, so I can have pretty printed serialization of possibly-self-referential JS objects without duplication). | ||
the rest of it is from the parser-generator/grammar-interpreter metalanguage system I wrote in JS | 18:02 | ||
moritz_ | colomon: and Numeric is the role which means "somethiing you can do math on" | ||
colomon | so for instance, if you've got a Vector class, prefix:<+> would return itself | ||
moritz_ | hm | ||
good point | |||
unless it adds a prefix:<+> multi | |||
colomon | moritz_: as I understand it, Numeric is complex or maybe real | ||
pmichaud | for those who are wondering why protoregexes should help parsing speed, take a look at the "statement_control" rule in Rakudo's grammar.pg file | ||
and imagine you're about to parse a 'for' statement | |||
colomon has to take his dog for her shots. back soon. | 18:03 | ||
pmichaud | as things stand now, the parser first tries (and fails) all of the alternatives above the <for_statement> subrule | 18:04 | |
moritz_ | pmichaud: but that's an LTM feature, not a protoregex feature, no? | ||
pmichaud | it's a protoregex feature also | ||
well.... | |||
I should say that the first cut of protoregexes will recognize initial string prefixes | 18:05 | ||
moritz_ | so it's an optimization too | ||
pmichaud | I tend to think of "optimizations" as being things that go beyond the spec. This behavior is mandated by the spec. (more) | ||
anyway, when I have protoregexes implemented, we'll be able to do statement_control:for instead, and when we go to parse a <statement_control> subrule it'll jump immediately to the correct protoregex candidate(s) | 18:06 | ||
instead of attempting all of the false candidates | |||
moritz_ | so it will match \w+\b (in perl 5 regexes) first, and then look for a jump candidate? | 18:07 | |
pmichaud | no | ||
it'll have a list of all of the initial strings | |||
from all of the candidates | |||
moritz_ | ok | ||
pmichaud | and then it will check for those initial strings | ||
TimToady | it's even better than that | ||
pmichaud | in the full implementation case it's even better, yes. | 18:08 | |
I'm talking about the "first cut" at the moment :) | |||
TimToady | because it only matched all the alternatives at statement, and determined a fate | ||
so it already has its fate determined by the time it reaches the statement_control rule | |||
18:08
gbacon joined
|
|||
pmichaud | my initial implementation probably won't have fates done yet | 18:09 | |
and this is where I tend to draw a distinction between "protoregex" and "ltm" :) | 18:10 | ||
for me, "ltm" includes all of the subrule processing; I won't have that part yet. | |||
18:11
zpmorgan left
|
|||
mberends | diakopter: does your sprixel run num.t and radix.t? here it says 'Can't locate object method "Str" via package "Test"'. t/01-sanity/04-if.t works fine. | 18:12 | |
TimToady | speaking of which, I see I have a bug, since lex/STD/statement_02 doesn't include all the termish prefixes | ||
18:13
mspaulding left
|
|||
diakopter | oh noes | 18:13 | |
diakopter sees the cycle of breakage/fixage between std/sprixel begin | |||
TimToady | oh, it won't change anything visible to sprixel | 18:14 | |
it's just trying all the statement_controls before it tries EXPR, but the structure is the same | |||
diakopter | ok; but np if it does in the future; I'm tongue-in-cheek | ||
I just thought of a truly wicked way to implement multiple inheritance using JS' prototype system | 18:18 | ||
TimToady | pmichaud: I don't see any problem with that approach, since every rule also has to work standalone when the Fates are off visiting Mt Olympus | 18:19 | |
diakopter | let's just say it involves temporarily changing the .__proto__ member of the involved object prototypes (basically creating a resolution chain at resolution time) | ||
18:19
zloyrusskiy left
|
|||
pmichaud | TimToady: right (more) | 18:21 | |
TimToady: I figure I want to get a basic protoregex implementating working first, move Rakudo and NQP to be using protoregex-and-contextual based parsing, and then work on optimizing the engine for full ltm semantics including fates | 18:22 | ||
but even the basic protoregex implementation should give us some parsing speed improvement | |||
if nothing else, we get to avoid a lot of method calls and creation of cursor/match objects that exist just to say "false." | 18:23 | ||
18:23
ssm left,
jantore left,
lucs left,
Confield left,
mberends left,
reqamst left,
japhb left,
meteorjay left,
c1sung left,
kcwu left,
rafl left,
renormalist left,
yath left,
bionoid left,
hatseflats left,
Juerd left,
pnu left
|
|||
diakopter | mberends: to answer your question, I don't know | 18:26 | |
18:29
kidd joined
|
|||
PerlJam | pmichaud: Are there some benchmarks handy that will show the parsing speed difference, or is it just eye-ball the time it takes rakudo to build ? | 18:32 | |
pmichaud | PerlJam: it'll have to be eye-ball | ||
because the grammar has to change significantly in order to tell | |||
and I don't expect those changes to happen "overnight" | |||
PerlJam | it could ... if there were a hackathon specifically for updating the grammar. | 18:33 | |
:-) | |||
pmichaud | it's more than just updating the grammar, it's also updating all of the action methods that go along with it | ||
and one of the whole points of doing these changes now is that we need contextuals in our grammar, so that we can refactor the action methods | |||
and I doubt those refactors will happen in the span of a day | 18:34 | ||
put another way, I suspect that much of october and november will be working on cleaning up regressions from the switches jnthn++ and I will be making | 18:35 | ||
s/switches/refactors and changes | |||
moritz_ | but if all goes right, the usage of proto regexes can happen gradually, no? | ||
so that you only port one rule at a time | |||
pmichaud | if we're only porting rules, then perhaps yes. | 18:36 | |
but there's a lot of other stuff that needs to change as well | |||
and some of those changes aren't "gradual" | |||
e.g., switching "is also" to "augment" isn't a gradual change -- it's a significant change to how we process the ast internally | 18:37 | ||
18:37
frederico joined
|
|||
pmichaud | same for lexical handling of namespaces, classes, and subroutines | 18:37 | |
rindolf | «No one knows all of Perl - not even Larry Wall. Except Chuck Norris, who knows all of Perl 5, Perl 6 and can answer questions about the design of Perl 7. » | 18:38 | |
18:42
mberends joined,
lucs joined,
Confield joined,
reqamst joined,
japhb joined,
meteorjay joined,
ssm joined,
c1sung joined,
kcwu joined,
rafl joined,
pnu joined,
jantore joined,
yath joined,
hatseflats joined,
bionoid joined,
renormalist joined,
Juerd joined,
irc.freenode.net sets mode: +ooo mberends japhb Juerd
18:53
justatheory left
18:56
zloyrusskiy joined
|
|||
Juerd | mberends: Pong | 19:04 | |
19:05
zloyrusskiy left
19:07
rjh left
19:08
ruoso left
19:11
justatheory joined
19:25
NorwayGeek|Away left
19:26
NorwayGeek joined,
zloyrusskiy joined
|
|||
pugs_svn | r28517 | colomon++ | [t/spec] Add some basic tests for complex addition and subtraction. | 19:33 | |
19:35
iblechbot joined
|
|||
mberends | hi Juerd, with this netsplit I was wondering if there was any channel left. Also, you mentioned a few days back that you can provide feather accounts and perl6 subdomains. If it's possible, I'd like to develop a blogging website using Rakudo and masak++'s web.pm. Is it feasible for feather to host something like that? | 19:36 | |
Juerd | Certainly. | 19:37 | |
If you want a feather account, mail me your real name and preferred username. | |||
mberends | :) willdo | 19:38 | |
Juerd | Note that feather is DIY; you can run a web server, but it's not a hosting platform, so there's no Apache set up for your project or anything. | ||
moritz_ | if you need any other directions you can also talk to me; I'm admin on feather1 and feather2 | ||
Juerd | The global Apache is non-development, but a reverse proxy or redirect can be set up. | 19:39 | |
mberends | with http-daemon, Rakudo is its own webserver ;) | ||
Juerd | Yes. | ||
The suggested port number for your own project is 7000 + uid :) | |||
mberends | ok, sensible. | ||
thanks both of you, I'll start in a day or so | 19:41 | ||
19:41
mspaulding joined
19:42
zloyrusskiy left
19:53
justatheory left
|
|||
Juerd | mberends: Better send that email now, 'cause I might be slow to respond :) | 19:54 | |
mberends | ok :) | 19:55 | |
TimToady | phone | 20:00 | |
mberends | Juerd: sent, but take your time :) | 20:02 | |
Juerd | ok :) | ||
pugs_svn | r28518 | lwall++ | [gimme5] generate EXPR__PEEK so it propagates LTM | 20:05 | |
mberends | diakopter: are those JS libs guaranteed free of licensing issues? There are so many authors named in there, people who have nothing to to with Perl... | 20:06 | |
*to do | |||
lanny | rakudo: sub f($x) { $x > 255 ?? 0 :: $x; } | ||
p6eval | rakudo c8181a: OUTPUT«ResizablePMCArray: Can't pop from an empty array!» | ||
lanny | ah. | 20:08 | |
moritz_ | lanny: known bug | 20:09 | |
it's ?? !! instead of ?? :: FYI | |||
lanny | The one where I can't type? :) | ||
moritz_ | the error message is... less than awesome | ||
TimToady | std: sub f($x) { $x > 255 ?? 0 :: $x; } | ||
p6eval | std 28517: OUTPUT«===SORRY!===Please use !! rather than :: at /tmp/6aV9smNfkv line 1:------> sub f($x) { $x > 255 ?? 0 ⏏:: $x; } expecting any of: bracketed infix infix stopper standard stopper terminatorFAILED 00:01 104m» | ||
lanny | Yes. Started grepping through tests to see and noticed the !! | ||
20:13
hercynium joined
20:20
justatheory joined
|
|||
mberends wrote ?? :: quite a few times before learning the Right Way | 20:22 | ||
moritz_ | which is why a more awesom error message would be great in rakudo | 20:23 | |
20:31
icwiener_ left
|
|||
diakopter | how is some less than full, if awefull is less than awesome? | 20:34 | |
20:38
crythias left
|
|||
TimToady feels fullsome | 20:41 | ||
moritz_ | colomon: trying to move prefix:<+> to the setting resulted in horrible failures - no idea what I did wrong | 20:44 | |
TimToady | perhaps defined it in terms of something that things + is more primitive? | 20:47 | |
*thinks | |||
moritz_ | no, I defined it in PIR, which triggered vtable method calls, which are as primitive as you can get | 20:48 | |
20:55
lambdabot joined
|
|||
pugs_svn | r28519 | moritz++ | [t/spec] more tests for Complex arithmetics | 20:58 | |
20:59
rindolf left
21:00
[particle]1 joined
|
|||
colomon | moritz_: yeah, I had the same thing happen to me the day before you started the complex branch. | 21:02 | |
moritz_: though I figured it was just because my attempt was too stupid to survive. | |||
moritz_ | that could be very well the case with my attempt too ;-) | 21:03 | |
anyway, 've merged native-complex into master locally, and now I'm about to move Num.accepts into the setting to fix the last two remaining test failures | |||
colomon | moritz_: my conclusion after fiddling around is that the actual generic object to num conversion happens magically in the Parrot code. | ||
sweet! | 21:04 | ||
21:04
szabgab left
|
|||
moritz_ | colomon: yes, it's the get_number vtable methods | 21:04 | |
s/s$// | |||
21:04
frew_ left
|
|||
moritz_ | oh wow, that looks scarry | 21:05 | |
there's a .sub 'Num::ACCEPTS' :anon :method | |||
ah, that's for $stuff ~~ Num, not for $suff ~~ $instance_of_Num | |||
lisppaste3 | moritz_ pasted "would you think this is a sane ACCEPTS method?" at paste.lisp.org/display/87969 | 21:11 | |
moritz_ | I'm not sure if the spec talks about Complex ~~ Num, but it seems the most sensible thing for me to do | 21:12 | |
21:16
abra joined
21:17
abra left,
[particle] left
21:18
athomason left,
abra joined
21:19
abra left,
asdadasd joined
21:20
cognominal left,
bigpresh_ left,
bigpresh_ joined,
abra joined,
cognominal joined
21:21
iblechbot left
21:22
abra left
21:23
abra joined
21:24
asdadasd left
21:33
frew_ joined
21:40
abra left
21:43
crythias joined
21:48
abra joined
21:49
mberends left
21:51
pmurias left
|
|||
pugs_svn | r28520 | moritz++ | [t/spec] $thing ~~ "NaN" is not the same as $thing ~~ NaN | 21:55 | |
21:56
MartinTSW joined,
abra left
21:58
MartinTSW left
|
|||
moritz_ | The Big Merge has landed | 22:00 | |
22:00
dalek left,
dalek joined
|
|||
moritz_ | and spammed #parrot ;-) | 22:01 | |
lanny | Is numeric bit manipulation past 32 bits a known issue? | 22:06 | |
moritz_ | in Rakudo yes | ||
lanny | I wonder if I still have a pugs commit bit. I don't see any tests for that. | 22:08 | |
dalek | kudo: ffe6481 | moritz++ | docs/ChangeLog: [docs] ChangeLog updates |
22:12 | |
22:21
MartinTSW joined
22:22
FCO left
|
|||
diakopter | lanny: what's your email address; I'll look | 22:23 | |
22:26
mspaulding left,
[particle] joined
|
|||
lanny | Well it's changed since I got laid off. :/ | 22:26 | |
So my new one is [email@hidden.address] | |||
22:26
MartinTSW left
|
|||
lanny | it was [email@hidden.address] (or maybe I used [email@hidden.address] even back then) | 22:27 | |
22:29
alfieANDfred joined
22:32
alfieANDfred left,
alfieANDfred joined,
alfieANDfred left,
alfieANDfred joined
22:33
alfieANDfred left
22:41
[particle]1 left
22:43
crythias left
|
|||
TimToady | lanny: and do you want your svn nick to be lanny? | 22:50 | |
lanny | I would. That's not the same as the nick listed on commitbit.pugscode.org? | 22:51 | |
TimToady | you were at lan3ny | 22:52 | |
you want that addr instead? | |||
or the new one? | |||
lanny | I'll go with 'lanny'. | ||
Far fewer folks than I would think get the Tom Lehrer reference. | 22:53 | ||
TimToady | I mean the Lanny.Ripple addr | ||
lanny | oh. I've got lan3ny@gmail as well so I'll keep that one. | ||
TimToady | I can resend the commitbit if you don't remember your password | ||
lanny | I did happen to remember it so that won't be needed. | ||
TimToady | okay | 22:54 | |
lanny | Even put it on a yellow sticky this time. | ||
TimToady | welcome back aboard :) | ||
lanny | Thanks. | ||
22:58
buubot left
22:59
buubot joined,
nihiliad left
23:03
lanny left
23:06
cdarroch left
23:26
meppl left
23:31
ihrd joined
23:33
ihrd left,
tak11 joined
23:34
alfieANDfred joined
23:43
Maddingue left
23:48
mikehh left
23:52
araujo joined
|