»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by lichtkind on 5 March 2010. |
|||
lue | hi! (oh masak and your puns :) ) | 00:00 | |
00:01
masak` joined
00:02
masak left
|
|||
lue | oh hello masak with a ` | 00:03 | |
00:04
masak` is now known as masak
|
|||
masak | lue: I accidentally my hotel wifi. | 00:05 | |
masak shouldn't that meme all the time | |||
wallberg | masak: i don't think so. where does viklund work? :-) | 00:06 | |
masak | wallberg: in Siv Anderssons group. | 00:07 | |
wallberg: I was just randomly guessing that he might have inspired you to check #perl6 out. but maybe you're just a naturally enlightened person. :) | 00:08 | ||
wallberg | masak: ooops. haha. *that* viklund. yes I am. or rather, I were. i finished my PhD last year and has been on paternity leave since (yes I am Swedish). | ||
masak | last time I heard from viklund, he was on paternity leave too. | 00:09 | |
dalek | kudo: 3cc313f | jonathan++ | src/Perl6/Module/Locator.pm: Include alternative versions of modules in the candidate list too. |
00:10 | |
kudo: 8b2fb24 | jonathan++ | build/PARROT_REVISION: Bump PARROT_REVISION to get readdir that works on Win32. |
|||
kudo: aa8c65e | jonathan++ | (5 files): Identify version and authority properly for each module in the candidate list. Choosing latest if multiple versions are found now appears to work (though requesting specific version/authority is NYI). |
|||
wallberg | true. LOL, that is all we do around here. | ||
i have not had a chat about Perl 6 with him yet. is he much involved in this? | 00:11 | ||
masak | he used to be slightly more involved. | ||
he and I wrote a wiki engine of some repute eighteen months ago. | 00:12 | ||
after that, he seems to have become understandably distracted by suddenly having a family. | 00:14 | ||
wallberg | yup | ||
say masak, are you still at farmbio? | 00:15 | ||
masak | I work there, yes. | ||
it brings me the money to sustain my unhealthy Perl 6 habits. :P | 00:16 | ||
wallberg | are there any local Perl groups in the Uppsala area? | ||
masak | no. should we form one? | 00:17 | |
lue | masak: so you only pay for electricity then? :D | ||
wallberg | would you (and perhaps viklund) by any chance be interested in starting one with me? | ||
:-) | |||
masak | wallberg: yes! | ||
lue: there's also wifi, and some form of nutrition, and shelter. and Perl conferences. :) | 00:18 | ||
wallberg: so, when's the next local meeting? | 00:19 | ||
lue | you can get the water out of your laptop's cooling unit, and h2g2 ought to tell you about restaurants in your area giving P6 programmers free food :) | ||
wallberg | gr8! the only other geek group I know of in Uppsala is ULUG, which is pretty densely populated with network/sysadmin people. perhaps we should announce our intentions there too? | 00:21 | |
00:21
am0c joined
|
|||
wallberg | masak: I have a cold atm. perhaps the next week or so? | 00:21 | |
lue | "Hello! We wish to disseminate you!" :) | ||
00:24
masak left
|
|||
wallberg | masak: have you started doing any seirious bioinformatics programming in Perl 6 yet? | 00:24 | |
00:25
jaldhar joined
|
|||
wallberg | ?seirious? | 00:25 | |
00:26
lestrrat is now known as lest_away
|
|||
wallberg | oh he left | 00:26 | |
well see ya. bye! | |||
00:26
wallberg left,
kensanata left
00:27
masak joined
|
|||
masak | wallberg: no, I didn't leave! my wifi got dead... :/ | 00:28 | |
arnsholt | Hopefully he'll be back | ||
lue | your wifi needs a defibrilliator+pacemaker :P | ||
arnsholt | Or you could try to reach him through viklund | ||
masak | I'll email him. | 00:29 | |
hopefully he checks his work address. | |||
s/hopefully/hopeably/ :P | |||
lue | It's not just what I said...it's what I sed. | 00:31 | |
masak | lue++ | 00:32 | |
That's what she sed! | |||
colomon loves that we are currently sitting at revision 30,000 in the pugs svn. | 00:37 | ||
masak | 5,000 commits a year. | 00:38 | |
that's 170 commits a day. \o/ | 00:39 | ||
oh wait no. | |||
13 commits a day. | |||
on average. | 00:40 | ||
lue | that's more like it :) | ||
00:42
coke joined
|
|||
coke | does rakudo's test harness support TEST_JOBS or something like it? | 00:42 | |
colomon | coke: I believe so. | 00:43 | |
masak | time for me to sleep for a few hours. o/ | 00:44 | |
00:44
masak left
|
|||
coke | colomon: ok. TEST_JOBS isn't it. any suggestions? =-) | 00:48 | |
colomon | darn, I kind of thought it was TEST_JOBS. | 00:49 | |
bkeeler_ | Last time I skimmed the code, it seemed that 'make spectest' had parallism, but test_summary.pl had none | ||
coke | s/isn't it/doesn't seem to work on 'make test'/ | ||
colomon | bkeeler: true, I'm thinking of make spectest here. | ||
bkeeler_ | I don't recall it being driven by any particular environment variable | 00:50 | |
colomon | might be as simple as make -j4 spectest... | ||
coke | oh bother. is t/harness p5 or p6? | ||
bkeeler_ | p5 I think | ||
colomon | p5 | ||
arnsholt | colomon: I don't think -j will work | 00:51 | |
colomon | for sure, there's no use strict or use warnings in p6 yet. | ||
coke | that would do it. this is a brand new box with an old system perl. installing a fresh 5.10.1... | ||
bkeeler_ | It's probably about time we wrote a nice harness in p6 | ||
lue | -j is for # of cores, right? | ||
coke | basically. (# of jobs.). cores+1 is the typical # I see used. | 00:52 | |
colomon | irclog.perlgeek.de/perl6/2010-02-18#i_2004892 | ||
that link suggests TEST_JOBS is correct. | |||
arnsholt | -j is the number of subprocesses make spawns at a time, IIRC | ||
colomon | something like TEST_JOBS=5 make spectest | 00:54 | |
irclog.perlgeek.de/perl6/2009-10-04#i_1568365 | |||
lue is tempted to run make -j4096 and see what happens :) | |||
01:01
lest_away is now known as lestrrat
01:14
yinyin joined
01:27
Limbic_Region left
|
|||
lue | afk& | 01:31 | |
coke | yay, TEST_JOBS does work if you have an updated Test::Harness. | ||
colomon++ | |||
colomon | sorry I just didn't know the answer off the top of my head. :) | ||
01:36
xomas left,
xomas joined,
xomas left,
xomas joined
|
|||
coke | is there a git-ack or something that just searches non-generated files? | 01:39 | |
[facepalm] git grep it is. | 01:40 | ||
01:41
Chillance left
|
|||
colomon | really? sweet | 01:41 | |
01:50
wknight8111 left
|
|||
coke | do infinite ranges work yet? | 01:53 | |
TimToady | define "work" | 01:55 | |
coke | enough to close: rt.perl.org/rt3/Ticket/Display.html?id=57992 | ||
TimToady | rakudo: say (1..*).max | 01:58 | |
p6eval | rakudo aa8c65: OUTPUT«!whatever_dispatch_helper» | ||
TimToady | perhaps not quite | ||
alpha: say (1..*).max | |||
p6eval | alpha 30e0ed: OUTPUT«!whatever_closure» | ||
TimToady | rakudo: say (1..Inf).[42] | 01:59 | |
p6eval | rakudo aa8c65: OUTPUT«Method 'postcircumfix:<[ ]>' not found for invocant of class 'Range'current instr.: '!postcircumfix:<[ ]>' pc 10559 (src/builtins/Role.pir:90)» | ||
TimToady | rakudo: say (1..Inf).max | ||
colomon | errr... what do you expect (1..*).max to return? | ||
p6eval | rakudo aa8c65: OUTPUT«Inf» | ||
TimToady | that | ||
02:00
ShaneC left
|
|||
colomon | TimToady: pmichaud and I had a discussion on that. what would you expect | 02:00 | |
('a'..*).max to return? | |||
TimToady | Inf, actually | ||
colomon | So Inf should work for non-numeric, too? | 02:01 | |
TimToady | S03:1340 | ||
colomon | well, I'll be. | 02:02 | |
TimToady | nobody ever reads the specs :) | ||
colomon | TimToady: well, there's a lot of them, and it's frequently not obvious where to look... :) | 02:03 | |
and someone's always changing them. | |||
TimToady | I believe that particular bit is several years old :) | 02:04 | |
coke has enough to walk away from that ticket. | |||
coke wonders how to find the current git revision. | |||
colomon | git log on your end. | ||
github.com/rakudo/rakudo/commits/master on github | 02:05 | ||
coke just wants "git log | head -1" | 02:06 | ||
(and short.) (coke is sure to backup his .gitconfig this time. :P) | 02:07 | ||
colomon | Probably a way to do that, too, but I'm just barely competent at git myself. :) | 02:08 | |
02:08
k23z__ joined,
k23z__ left,
k23z__ joined
|
|||
coke | std: for (my $i = 1; $i <= 3; $i++) { say $i; } | 02:11 | |
p6eval | std 30000: OUTPUT«===SORRY!===Unsupported use of C-style "for (;;)" loop; in Perl 6 please use "loop (;;)" at /tmp/KIPXncZzEo line 1:------> for ⏏(my $i = 1; $i <= 3; $i++) { say $i; }FAILED 00:01 107m» | ||
coke | rakudo: for (my $i = 1; $i <= 3; $i++) { say $i; } | ||
p6eval | rakudo aa8c65: OUTPUT«Unsupported use of C-style "for (;;)" loop; in Perl 6 please use "loop (;;)" at line 11, near "(my $i = 1"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
colomon | rakudo: loop (my $i = 1; $i <= 3; $i++) { say $i; } | 02:13 | |
p6eval | rakudo aa8c65: OUTPUT«123» | ||
colomon | but really... | ||
rakudo: for 1..3 -> $i { say $i } | |||
p6eval | rakudo aa8c65: OUTPUT«123» | ||
coke | hurm. if rakudo has a passing spec test, does that count for "this must be tested before we can close the ticket." ? | 02:14 | |
also, if I wish to mark an RT as "needs tests", what's the protocl? | 02:15 | ||
is it still "assign to moritz"? | |||
colomon | I would think yes in the first case. | ||
I don't know what the protocol is in the second case. | |||
pugssvn | r30001 | colomon++ | [t/spec] Some tests for :f. | 02:17 | |
coke | colomon: if you're writing spec tests, I'll leave 62478 to you. =-) | ||
colomon | usually I mostly write tests for code I am actually working on. :) | 02:18 | |
but if I can find the RT in my e-mail, I'll take a look. | |||
See if I know how to do it. | |||
coke: do you have a link to the ticket? (my RT skills are less than awesome) | 02:22 | ||
02:22
ShaneC joined
|
|||
coke | colomon: rt.perl.org/rt3/Ticket/Display.html?id=62478 | 02:23 | |
colomon | oh, I see. | 02:24 | |
It would be good to have a test for that, I think I've seen something like that in the tests before.... | 02:25 | ||
rakudo: eval("for (my $i = 1; $i <= 3; $i++) { say $i; }") | 02:30 | ||
p6eval | rakudo aa8c65: OUTPUT«Symbol '$i' not predeclared in <anonymous>current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)» | ||
colomon | rakudo: eval('for (my $i = 1; $i <= 3; $i++) { say $i; }') | ||
p6eval | rakudo aa8c65: ( no output ) | ||
colomon | rakudo: try { eval('for (my $i = 1; $i <= 3; $i++) { say $i; }') } | 02:31 | |
p6eval | rakudo aa8c65: ( no output ) | ||
colomon | rakudo: try { eval('for (my $i = 1; $i <= 3; $i++) { say $i; }') }; say $!.WHAT | 02:32 | |
p6eval | rakudo aa8c65: OUTPUT«Failure()» | ||
colomon | rakudo: try { eval('for (my $i = 1; $i <= 3; $i++) { say $i; }') }; say $!.Str | 02:33 | |
p6eval | rakudo aa8c65: OUTPUT«No exception handler and no messagecurrent instr.: 'perl6;Perl6Exception;throw' pc 14421 (src/builtins/Seq.pir:77)» | ||
colomon | rakudo: try { eval('for (my $i = 1; $i <= 3; $i++) { say $i; }') }; say ~$! | ||
p6eval | rakudo aa8c65: OUTPUT«No exception handler and no messagecurrent instr.: 'perl6;Perl6Exception;throw' pc 14421 (src/builtins/Seq.pir:77)» | ||
02:33
perpetrator left
|
|||
colomon | rakudo: eval('for (my $i = 1; $i <= 3; $i++) { say $i; }'); say "$!" | 02:34 | |
p6eval | rakudo aa8c65: OUTPUT«Unsupported use of C-style "for (;;)" loop; in Perl 6 please use "loop (;;)" at line 1, near "(my $i = 1"» | ||
colomon | bingo! | ||
coke | LHF? | 02:36 | |
colomon | I dunno if it's LHF, but I think I can write the test. | 02:37 | |
And I learned useful stuff in the process, coke++ | |||
coke | no, what is "LHF?" | ||
colomon | low-hanging fruit | ||
02:39
JimmyZ joined
|
|||
coke | ah. danke. | 02:39 | |
LHF is low hanging fruit. | |||
LHF? | |||
what, no purl? =-) | |||
colomon | blast. I wrote the tests in for.t, which isn't actually turned on. | 02:41 | |
coke | is rt.perl.org/rt3/Ticket/Display.html?id=70664 closable? (has tests, seems to work.) | 02:42 | |
02:46
k23z__ left,
perpetrator joined
|
|||
coke | std: say Rat.new.perl | 02:48 | |
p6eval | std 30001: OUTPUT«ok 00:01 104m» | ||
colomon is on an epic quest to get for.t working... | 02:49 | ||
02:50
cdarroch left
|
|||
coke | rakudo: 3, | 02:51 | |
p6eval | rakudo aa8c65: OUTPUT«Confused at line 11, near "3,"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
02:58
xomas left
|
|||
coke | there are a lot of tickets with "This is an automatically generated mail to inform you that tests are now available in" | 03:00 | |
JimmyZ | std: 3, | ||
p6eval | std 30001: OUTPUT«ok 00:01 107m» | ||
colomon | rakudo: for "hello" { .say } | 03:02 | |
p6eval | rakudo aa8c65: OUTPUT«hello» | ||
colomon | rakudo: for "hello" { .lc.say } | 03:05 | |
p6eval | rakudo aa8c65: OUTPUT«hello» | ||
colomon | rakudo: { .lc.say } for "hello" | ||
p6eval | rakudo aa8c65: ( no output ) | ||
colomon | rakudo: { .lc.say } for "hello"; | 03:07 | |
p6eval | rakudo aa8c65: ( no output ) | ||
colomon | rakudo: for(0..5) { .say } | 03:11 | |
p6eval | rakudo aa8c65: OUTPUT«012345» | ||
pugssvn | r30002 | colomon++ | [t/spec] Massive refudge and tweaks to get for.t working in Rakudo, plus new tests for RT #62478. | 03:14 | |
colomon | rakudo: say 0 <=> -1/2 | 03:15 | |
p6eval | rakudo aa8c65: OUTPUT«1» | 03:16 | |
colomon | rakudo: say 0 <=> 1/2 | ||
p6eval | rakudo aa8c65: OUTPUT«-1» | ||
colomon | rakudo: say 1/2 <=> 1/2 | ||
p6eval | rakudo aa8c65: OUTPUT«0» | ||
coke | rakudo: class Foo { }; my $x = "Foo"; my $y = $x.new; $y.WHAT.say; | 03:17 | |
p6eval | rakudo aa8c65: OUTPUT«Foo()» | ||
pugssvn | r30003 | colomon++ | [t/spec] Add new file to test comparisons without Order enum | 03:22 | |
03:24
nsh left
03:25
nsh joined
|
|||
pugssvn | r30004 | colomon++ | [t/spec] Actually get the file converted. | 03:26 | |
JimmyZ | rakudo: for(0...*) { .say } | 03:29 | |
p6eval | rakudo aa8c65: ( no output ) | ||
TimToady | std: for(0...*) { .say } | 03:31 | |
03:31
rv2733 joined
|
|||
p6eval | std 30003: OUTPUT«===SORRY!===for() interpreted as function call at line 1; please use whitespace instead of parensUnexpected block in infix position (two terms in a row) at /tmp/1i1bGuIzjf line 1:------> for(0...*) ⏏{ .say } expecting any of: | 03:31 | |
..bracketed i… | |||
JimmyZ | rakudo: for 0...* { .say } | 03:32 | |
std: for(0..5) { .say } | |||
p6eval | rakudo aa8c65: ( no output ) | ||
std 30003: OUTPUT«===SORRY!===for() interpreted as function call at line 1; please use whitespace instead of parensUnexpected block in infix position (two terms in a row) at /tmp/F61QDwozbC line 1:------> for(0..5) ⏏{ .say } expecting any of: | |||
..bracketed in… | |||
03:35
JimmyZ left
|
|||
dalek | kudo: b093791 | (Solomon Foster)++ | t/spectest.data: Turn on S04-statements/for.t. |
03:36 | |
kudo: 0162536 | (Solomon Foster)++ | t/spectest.data: Add test file S03-operators/comparison-simple.t. |
|||
03:38
nsh left,
nsh joined
03:49
synth joined
04:01
ShaneC left
04:09
zostay left
04:10
tuxdna joined,
zostay joined
|
|||
diakopter | NNNNNNNNNNN | 04:11 | |
04:12
synth left
04:14
synth joined
04:15
am0c left
04:17
lifeng left
04:18
synth left
04:24
lestrrat is now known as lest_away
04:26
synth joined
|
|||
pugssvn | r30005 | bcmb++ | Update smartlink | 04:27 | |
04:30
synth left,
synth joined
04:37
[synth] joined,
synth left
04:42
zostay left
04:43
[synth] left
04:50
synth joined
|
|||
diakopter | \\o// | 05:00 | |
got to stage2. stage1's boss was tricky | 05:03 | ||
05:09
alester left
05:10
mikehh left
05:13
ihrd joined,
mikehh joined
|
|||
diakopter -Ofun lately | 05:16 | ||
05:21
araujo left
05:34
[synth] joined
05:36
ihrd left
05:38
synth left
05:40
arthur-_ left
05:44
araujo joined
05:45
[[synth]] joined
05:49
[synth] left
05:58
[[synth]] left
06:28
lest_away is now known as lestrrat
06:39
k23z__ joined
06:53
kaare joined
06:54
kaare is now known as Guest51467
07:03
mberends joined
07:05
uniejo joined
07:20
Su-Shee joined
|
|||
colomon | diakopter++ | 07:20 | |
Su-Shee | good morning | 07:21 | |
colomon | o/ | 07:23 | |
diakopter | \\o// | ||
07:25
tuxdna left
|
|||
mberends | the four-armed diakopter is taking butterfly wings | 07:25 | |
07:25
tuxdna joined
|
|||
diakopter | two arms moving quickly | 07:26 | |
flapping. | |||
or hand waving. | |||
or trying not to drown | 07:31 | ||
or desperately/urgently waving for attention | 07:32 | ||
or do I repeat (project onto?) myself? | |||
mberends | with four arms, all of the above. it also suggests a dragonfly | 07:36 | |
diakopter | \\o// | 07:38 | |
\|/ | |||
falling through the atmosphere at terminal velocity | 07:39 | ||
diakopter gets back to compiling a compiler-compiler | 07:40 | ||
mberends | diakopter: that makes you the compiler compiler compiler | 07:41 | |
diakopter | heh | ||
07:42
masak joined
|
|||
masak yawns | 07:42 | ||
colomon | o/ | ||
diakopter | well, in this case Visual Studio is; more properly, I'm commanding the compilation of a compiler compiler | ||
whee | |||
mberends | masak: good morning! | ||
diakopter | masak: right back at ya | ||
colomon | diakopter: so you're back to .NET again, are you? | ||
diakopter | colomon: today yes | ||
masak | diakopter: you seem happy. did you code something cool? | ||
diakopter | yes indeed | ||
at least, I finally found the bug/solution for which I was searching for 5 hours | 07:43 | ||
colomon would love to see a working Perl 6 on .NET... | |||
diakopter | you keep saying that :P | ||
masak | diakopter: congrats! | ||
diakopter | thanks | 07:45 | |
colomon | diakopter: I keep meaning it, too. :) | 07:46 | |
I think a pretty good percentage of the work I've done on Rakudo in just in pure Perl 6, and ought to port pretty easily to another Perl 6 system.... ;) | 07:47 | ||
diakopter | you'll have the strongly-typed/statically-resolved/single-inheritance-class-declarations/scalars-only/full-closures/most-of-grammars subset of Perl 6, at least | ||
colomon | :) | 07:48 | |
diakopter | ... on which some variant of STD/Cursor could be run | ||
not some subset, some variant/transliteration | |||
07:48
justatheory left
|
|||
diakopter | (see what I wrote last night about this time in the irclog yesterday) | 07:49 | |
masak | that sounds awesome. | ||
diakopter | I have no idea whether it would be any faster than it is on Perl 5. literally no clue. it could go either way, very drastically. | ||
the other option, of course, is to continue down the path of extending it to be Perl 6 itself... an option I'll probably prefer while people torture p6eval/mono/sprixel | 07:51 | ||
diakopter goes back to it | |||
masak | ++diakopter | 07:54 | |
thickas replies to my post that "Alogol 68 is not in any way remembered fondly by people wishing to write code partly because even if you like the ideas there were so few implementations that it was higly unlikely they would run." | 07:57 | ||
I'm thinking about what to write that doesn't immediately paint me as a dystopian. :) | |||
mberends | masak: sometimes silence is golden ;) | 07:59 | |
masak | mberends: I thought about writing three dots: '...' | ||
:) | |||
but maybe I'll simply cut that part out instead. | |||
08:01
mssm joined
|
|||
masak | std: 3, | 08:02 | |
p6eval | std 30005: OUTPUT«ok 00:01 107m» | ||
moritz_ | good morning | 08:03 | |
masak | o/ | ||
moritz_ | masak, jnthn: did you have breakfast already? | ||
colomon | \o | ||
masak | moritz_: pretty sure neither of us did. | ||
(even without having met jnthn yet) | |||
moritz_ | masak: I'll take a shower pretty quickly, then I'm ready | 08:04 | |
masak | likewise. | ||
masak.take-shower(:pretty-quickly); | |||
mberends wishes he could re-join the Breakfast Club | 08:06 | ||
masak | mberends: the Breakfast Club will have this session's last meeting today. | 08:18 | |
so if you're to rejoin, you'll have to hurry! :) | |||
moritz_ tumbles out of the shower and is now ready | 08:20 | ||
masak too | 08:21 | ||
08:21
masak left
|
|||
moritz_ | lock | 08:22 | |
08:24
coke is now known as Guest44442
08:58
quester joined
09:08
dakkar joined
09:12
iblechbot joined
09:29
payload left
09:31
uniejo left
09:33
masak joined
|
|||
masak | you know, you were allowed to say things while we were having breakfast. :P | 09:34 | |
09:34
lestrrat is now known as lest_away
|
|||
baest | masak: NO :) | 09:34 | |
masak: moritz_ said lock so I thought that meant the channel was locked | |||
masak | 哈哈 | 09:35 | |
oops, I made reddit: www.reddit.com/r/programming/commen..._algol_68/ | 09:36 | ||
mberends | masak: it's polite not to say anything with a full mouth ;) | 09:38 | |
it seems perfectly possible that Perl 6 becomes the first Algol 68 of the 21st century | 09:39 | ||
masak | mberends: if you can say "HA", chances are your mouth is not full :) | 09:40 | |
09:43
uniejo joined,
yinyin left
|
|||
diakopter hungry & sleepy | 09:49 | ||
diakopter svn commits | |||
moritz_ | TimToady: how do we know if a user-defined operator is iffy enough to apply the ! prefix meta operator to it? | 09:50 | |
jnthn | oh morning | 09:53 | |
moritz_ | rakudo: my @a; say @a.list | 09:58 | |
p6eval | rakudo 016253: OUTPUT«» | ||
baest | moritz_: nice, that was crash last time I tried | 10:00 | |
moritz_ | baest: aye; jnthn++ fixed it yesterday | ||
baest | wheee | ||
glorious | |||
moritz_ | and we had two tickets for it, one with .list, on with .perl | 10:01 | |
baest | cool | ||
(that the ticket can be closed) | 10:02 | ||
s | |||
pugssvn | r30006 | moritz++ | [t/spec] unfudge a test for rakudo in for.t | 10:03 | |
moritz_ | rakudo: my $a = "string".new(''); | 10:09 | |
p6eval | rakudo 016253: OUTPUT«Null PMC access in get_string()current instr.: 'perl6;Mu;CREATE' pc 1777 (src/builtins/Mu.pir:208)» | ||
moritz_ | btw we're at 26860 passing tests right now | ||
rakudo: say "peer".subst(/e/, 'o', :g); | 10:10 | ||
p6eval | rakudo 016253: OUTPUT«poor» | ||
moritz_ | rakudo: say "peer".subst(/e/, 'o', :global); | ||
p6eval | rakudo 016253: OUTPUT«poer» | ||
10:14
xabbu42 joined
10:18
pmurias joined
10:21
lest_away is now known as lestrrat
10:24
vamped joined
10:28
arthur-_ joined
|
|||
dalek | kudo: de996e9 | moritz++ | src/core/Any-str.pm: fix RT #73120: Str.subst should allow both :g and :global |
10:28 | |
10:29
tlb joined
10:30
orafu left
10:31
araujo left
10:32
araujo joined
10:35
uniejo left,
uniejo joined
|
|||
masak | moritz_: my @a = 1, 2, 3; sub foo(@a is copy) { say @a.WHICH };ay @a.WHICH; foo(@a) | 10:37 | |
rakudo: my @a = 1, 2, 3; sub foo(@a is copy) { say @a.WHICH };ay @a.WHICH; foo(@a) | |||
p6eval | rakudo 016253: OUTPUT«Could not find non-existent sub &aycurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
masak | argh. :) | ||
rakudo: my @a = 1, 2, 3; sub foo(@a is copy) { say @a.WHICH }; say @a.WHICH; foo(@a) | |||
p6eval | rakudo 016253: OUTPUT«4736129158643247361291485872» | ||
masak | moritz_: if arrays get cloned by 'is copy', why not objects? | 10:38 | |
10:39
pmurias left
|
|||
jnthn | If it has assignment semantics I guess that's what falls out. | 10:39 | |
masak | rakudo: my %h = foo => 1; sub foo(%h is copy) { say %h.WHICH }; say %h.WHICH; foo(%h) | 10:40 | |
p6eval | rakudo 016253: OUTPUT«4777982361750447779825617608» | ||
masak | by assignment semantics, the hashes should be the same, no? | ||
oh wait. | |||
moritz_ | masak: the container is cloned; in the case of the array, the container *is* the object you're interested in | ||
masak | rakudo: my %h = { foo => 1 }; sub foo(%h is copy) { say %h.WHICH }; say %h.WHICH; foo(%h) | ||
p6eval | rakudo 016253: OUTPUT«4744641786992847446421692824» | ||
jnthn | my %h = %foo; # different | ||
moritz_ | alpha: my $i = 0; say 'hello'.subst(/l/,{$i++}); | 10:46 | |
p6eval | alpha 30e0ed: OUTPUT«he0lo» | ||
vamped | alpha: my $i = 1; say 'hello'.subst(/l/,{$i++}, :g); | 10:47 | |
p6eval | alpha 30e0ed: OUTPUT«he12o» | ||
moritz_ | vamped: if you git pull and recomile, you have that in master too | 10:55 | |
10:55
arthur-_ left
|
|||
moritz_ | *recompile | 10:56 | |
masak | alpha: my $i = 1; say 'all the vowels in this sentence have been replaced by monotonically increasing numbers'.subst(/<[aeiou]>/, {$i++}, :g) | ||
p6eval | alpha 30e0ed: OUTPUT«1ll th2 v3w4ls 5n th6s s7nt8nc9 h10v11 b1213n r14pl15c16d by m17n18t19n20c21lly 22ncr2324s25ng n26mb27rs» | 10:57 | |
dalek | kudo: 16efb68 | moritz++ | src/core/Any-str.pm: implement Str.subst($matcher, Code, :g) |
||
masak | moritz_++ | ||
10:58
arthur-_ joined
|
|||
vamped | moritz: i'll update. thanks. | 10:58 | |
moritz_ | rakudo: say <a b c>.join | 11:00 | |
p6eval | rakudo de996e: OUTPUT«abc» | ||
11:00
tlb left
11:03
tlb joined,
payload joined
11:05
Baggio joined
|
|||
moritz_ | rakudo: my $x = *; say $x.WHAT | 11:08 | |
p6eval | rakudo de996e: OUTPUT«Block()» | ||
moritz_ | now that's... confusing | ||
masak | nod. | ||
11:08
tlb left
|
|||
moritz_ | rakudo: say *.WHAT | 11:08 | |
masak | rakudo: say Block ~~ Whatever | ||
p6eval | rakudo de996e: OUTPUT«Whatever()» | ||
rakudo de996e: OUTPUT«0» | |||
masak | rakudo: my Whatever $x = * | 11:09 | |
p6eval | rakudo de996e: ( no output ) | ||
masak | rakudo: my Whatever $x = *; say $x.WHAT | ||
p6eval | rakudo de996e: OUTPUT«Block()» | ||
masak submits rakudobug | |||
11:12
jonasbn joined
|
|||
jonasbn | hep | 11:12 | |
moritz_ | oh hai jnthn | 11:13 | |
erm, jonasbn | |||
jonasbn | hehe | ||
moritz_ | moritztabfail | ||
jonasbn | been pretty busy all morning, are you guys up for lunch? | ||
masak | do you mean 'are you hungry?' or 'would you like to join me for lunch?' ? :) | 11:14 | |
because the answers are different... :) | |||
moritz_ is slowly becoming hungry | |||
masak | (in the good sense) | ||
jonasbn: where and when do we meet? | |||
moritz_ | masak: maps.google.com/maps?f=q&source...h&z=16 | 11:15 | |
vamped | so is ~15 minutes to "git pull" and recompile near average? | ||
moritz_ | vamped: don't think so | ||
masak | vamped: the 'git pull' should be almost instantaneous. | ||
moritz_ | unless you need to recompile parrot too, on a single core machine | ||
jonasbn | masak: if you could come by DK Hostmaster? | ||
that is down the street as I pointed out in the map yesterday | 11:16 | ||
vamped | did "git pull"; perl Configure.pl --gen-parrot; make; sudo make install; | ||
any shortcuts? | |||
masak | jonasbn: sure, no prob. | ||
jonasbn | I think we just have to be there before 13:00 | ||
moritz_ | then we should break up here pretty soon :-) | 11:17 | |
jonasbn | I am sorry about the short notice, but I was busy and I guessed lunch is a universal concept | ||
if you would prefer hacking it is fine by me :) | |||
masak | no, lunch is fine. | 11:18 | |
jonasbn | I just don't want you to leave .dk on an empty stomach and all skinny | ||
masak hugs jonasbn :) | |||
jnthn | lunch is want | 11:19 | |
moritz_ | rakudo: say *.defined | ||
p6eval | rakudo 16efb6: OUTPUT«1» | ||
11:21
masak left
|
|||
moritz_ | jonasbn: we're going now (which means first bringing the luggage into my room, so we'll actually leave in ~10min | 11:21 | |
jonasbn | moritz_: no problem | 11:22 | |
11:31
vamped left
11:34
untaken joined
11:44
payload left
11:50
meteorjay joined
11:58
lichtkind joined
|
|||
lichtkind | dukeleto: ping | 11:58 | |
11:59
quester left
12:05
payload joined
12:09
k23z__ left
12:11
rob___ joined
|
|||
mathw | rakudo: multi foo(@a where {.length == 0}) { say 'woo'; }; my @b; foo(@b); | 12:19 | |
p6eval | rakudo 16efb6: OUTPUT«Method 'length' not found for invocant of class 'Array'current instr.: '_block55' pc 491 (EVAL_1:188)» | ||
mathw | doh | ||
wake up | |||
rakudo: multi foo(@a where {.elems == 0}) { say 'woo'; }; my @b; foo(@b); | |||
p6eval | rakudo 16efb6: OUTPUT«woo» | ||
mathw | rakudo: multi foo(@a where {.elems == 0}) { say 'woo'; }; my @b = 1, 2, 3; foo(@b); | 12:20 | |
p6eval | rakudo 16efb6: OUTPUT«No applicable candidates found to dispatch to for 'foo'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
mathw | rakudo: multi foo(@a where {.[1] == 2}) { say 'woo'; }; my @b = 1, 2, 3; foo(@b); | ||
p6eval | rakudo 16efb6: OUTPUT«woo» | ||
mathw | \o/ | ||
12:22
ruoso joined
|
|||
colomon | moritz_: you're passing @chunks[$i] to &replacement as an argument -- shouldn't it actually be passed as $/ instead? | 12:25 | |
(in subst, that is.) | |||
colomon will feel rather sheepish if it turns out the thing stopping him from implementing that version of subst was just a misunderstanding of how the method is supposed to work.... | 12:31 | ||
afk # breakfast | |||
hejki | rakudo: my %h; say %h.WHAT; | 12:32 | |
p6eval | rakudo 16efb6: OUTPUT«Hash()» | ||
hejki | rakudo: my %h; say "foo" if %h.WHAT eq "Hash" | ||
p6eval | rakudo 16efb6: ( no output ) | ||
hejki | rakudo: my %h; say "foo" if %h.WHAT eq "Hash()" | ||
p6eval | rakudo 16efb6: OUTPUT«foo» | ||
hejki | rakudo: multi foo($h where {.WHAT eq "Hash()"}) { say "i has hash" }; my $x = {}; foo($x); | 12:33 | |
p6eval | rakudo 16efb6: OUTPUT«i has hash» | ||
hejki | \o/ | ||
12:34
Baggio left
12:35
Baggio joined
12:37
masak joined
12:38
jonasbn left
|
|||
moritz_ | colomon: I think assigning to $/ doesn't work, because $/ is searched in outer scopes first, not in the caller's scope | 12:39 | |
rakudo: { 'a' ~~ /a/; sub f { say $/ }; }; 'b' ~~ /./; f() # if it says a, it won't work | 12:40 | ||
p6eval | rakudo 16efb6: OUTPUT«Could not find non-existent sub &fcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
moritz_ | rakudo: { 'a' ~~ /a/; our sub f { say $/ }; }; 'b' ~~ /./; f() # if it says a, it won't work | ||
p6eval | rakudo 16efb6: OUTPUT«b» | ||
moritz_ | rakudo: { 'a' ~~ /a/; say $/; our sub f { say $/ }; }; 'b' ~~ /./; f() # if it says a, it won't work | ||
p6eval | rakudo 16efb6: OUTPUT«ab» | ||
moritz_ | rakudo: my $a = 'a' ~~ /a/; 'b' ~~ /b/; $/ := $a; say $/ | 12:43 | |
p6eval | rakudo 16efb6: OUTPUT«:= binding of variables not yet implementedcurrent instr.: '&die' pc 16804 (src/builtins/Junction.pir:373)» | ||
moritz_ | rakudo: my $a = 'a' ~~ /a/; 'b' ~~ /b/; $/ = $a; say $/ | ||
p6eval | rakudo 16efb6: OUTPUT«a» | ||
12:44
hanekomu joined
|
|||
colomon | moritz_: I certainly don't know how to assign to $/. | 12:46 | |
jnthn | Maybe see implementation of match. | 12:47 | |
moritz_ | colomon: it seems to just work when assigning to $/ :-) | ||
colomon | moritz_: wait, seriously!? | ||
colomon looks carefully at example. | 12:48 | ||
dang. | |||
12:49
mssm left
|
|||
colomon | I've been trying to find examples in the spec of how this should work. | 12:53 | |
there's this: s:g/(\w+)/{ucfirst $1}/ | |||
If that's supposed to also be subst(/(\w+)/, {ucfirst $1}, :g), then we've got a model. | 12:54 | ||
moritz_ has a better implementation of subst locally; need to wait for a spectest run... | 12:55 | ||
colomon | jnthn: looks like match might return the match object rather than setting $/ ? | ||
jnthn | ah | ||
hmm | |||
maybe it's Regex.ACCEPTS or some such that sets it. | 12:56 | ||
colomon | I'm willing to accept that match might be wrong. :) | 12:58 | |
moritz_ | colomon: it might be not very specced, but it would be *very* nice | 12:59 | |
13:00
ignacio_ joined
|
|||
moritz_ tries the pir::store_dynamic_lex__vSP('$/', $match); | 13:00 | ||
now | 13:01 | ||
13:02
mssm joined
|
|||
moritz_ | doesn't seem to have any impact | 13:06 | |
colomon | looks like there aren't any .match tests in S05-match? | 13:07 | |
moritz_ | colomon: correct | 13:08 | |
(and as always, patches welcome) | |||
takadonet | morning all | ||
colomon | of course, I was looking at S05-match to see what it thought .match should do, so the lack of actual .match examples is a big drawback. | 13:09 | |
pugssvn | r30007 | moritz++ | [t/spec] fudge subst.t for rakudo | ||
moritz_ | S05-substitution/match.t maybe? | ||
colomon | hmmm, looks like yes. | 13:10 | |
moritz_ | rakudo: say ('a' ~~ /a/).WHAT | ||
p6eval | rakudo 16efb6: OUTPUT«Regex::Match()» | ||
moritz_ | rakudo: say ('a' ~~ /a/) ~~ Match | ||
p6eval | rakudo 16efb6: OUTPUT«Could not find non-existent sub &Matchcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
colomon | doesn't tell us anything about $/, though. | 13:11 | |
masak submits rakudobug | |||
colomon | I'm inclined to think .match should set $/. | ||
moritz_ | I'm inclinde to think it shouldn't | 13:12 | |
you have ~~ $regex for syntactic sugar and magic | |||
the method forms should stay mostly straight forward, IMHO | |||
pugssvn | r30008 | moritz++ | [t/spec] fudge match.t for rakudo | 13:15 | |
r30009 | moritz++ | [t/spec] test Str.subst(..., :global) | |||
13:15
quester joined
|
|||
dalek | kudo: 3fba2c3 | moritz++ | (2 files): implement :x in Str.subst; implement :all in Str.split(Str) |
13:16 | |
13:18
quester left
13:19
payload left
|
|||
moritz_ | std: 3, | 13:20 | |
p6eval | std 30006: OUTPUT«ok 00:01 107m» | ||
moritz_ | rakudo: 3, | ||
p6eval | rakudo 16efb6: OUTPUT«Confused at line 11, near "3,"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
masak | std: 3 , | 13:22 | |
p6eval | std 30006: OUTPUT«ok 00:01 105m» | ||
masak | rakudo: 3 , | ||
p6eval | rakudo 16efb6: OUTPUT«Confused at line 11, near "3 ,"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
moritz_ | rakudo: 'try { die "Goodbye cruel world!" }; say $!.^isa("Exception") | 13:26 | |
p6eval | rakudo 16efb6: OUTPUT«Confused at line 11, near "'try { die"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
moritz_ | rakudo: try { die "Goodbye cruel world!" }; say $!.^isa("Exception") | 13:31 | |
p6eval | rakudo 16efb6: OUTPUT«1» | ||
moritz_ | rakudo: class Boo does Snorkable { }; | ||
p6eval | rakudo 16efb6: OUTPUT«Null PMC access in type()current instr.: 'perl6;Boo;!class_init_11' pc 353 (EVAL_1:161)» | ||
moritz_ | rakudo: say (0,1).grep: {!($^x%2)} | 13:36 | |
p6eval | rakudo 16efb6: OUTPUT«0» | ||
moritz_ | rakudo: say (0,1).grep: !(*%2) | ||
p6eval | rakudo 16efb6: OUTPUT«Method 'Num' not found for invocant of class 'Block'current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)» | ||
moritz_ | rakudo: say (0,1).grep: 0==(*%2) | ||
p6eval | rakudo 16efb6: OUTPUT«Method 'Num' not found for invocant of class 'Block'current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)» | ||
moritz_ | std: /( )/ | 13:40 | |
p6eval | std 30009: OUTPUT«===SORRY!===Null pattern not allowed at /tmp/sklz92aAea line 1:------> /( ⏏)/FAILED 00:01 107m» | ||
moritz_ | rakudo: /( )/ | ||
p6eval | rakudo 16efb6: ( no output ) | ||
masak | alpha: /( )/ | ||
p6eval | alpha 30e0ed: OUTPUT«Null PMC access in find_method('reduce')in Main (file <unknown>, line <unknown>)» | ||
jnthn | rakudo: say "" ~~ /( )/ | ||
p6eval | rakudo 16efb6: OUTPUT«» | ||
pugssvn | r30010 | colomon++ | [t/spec] Fudge two tests for Rakudo. | 13:42 | |
moritz_ | rakudo: multi f(Num $x) { say "Num" }; multi f(Int $x) { callsame; say "Int" }; f(42) | 13:43 | |
p6eval | rakudo 16efb6: OUTPUT«Null PMC access in clone()current instr.: '&callsame' pc 17316 (src/builtins/assign.pir:21)» | ||
13:43
iblechbot left
|
|||
moritz_ | rakudo: class A { class A::B {} }; A::B.new | 13:43 | |
p6eval | rakudo 16efb6: OUTPUT«Null PMC access in invoke()current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
dalek | kudo: 85ef035 | (Solomon Foster)++ | t/spectest.data: Turn on S05-match/blocks.t. |
13:45 | |
moritz_ | rakudo: say (grep { $^a == $^b }, 1, 1, 2, 3, 4, 4).perl | 13:46 | |
p6eval | rakudo 16efb6: OUTPUT«Too many positional parameters passed; got 7 but expected 2current instr.: 'grep' pc 249925 (src/gen/core.pir:6503)» | ||
moritz_ | std: when 42 { say "This should fail" } | 13:55 | |
p6eval | std 30009: OUTPUT«ok 00:01 105m» | ||
moritz_ | rakudo: when 42 { say "This should fail" } | ||
p6eval | rakudo 3fba2c: OUTPUT«Use of type object as valuecurrent instr.: 'perl6;Perl6Exception;throw' pc 14421 (src/builtins/Seq.pir:77)» | 13:56 | |
moritz_ | rakudo: say (11/10).Rat | 13:57 | |
p6eval | rakudo 3fba2c: OUTPUT«1.1» | ||
masak | moritz_: S04:905 | 13:59 | |
moritz_ | rakudo: class A { method Str() { for ^1 {} } }; say ~A.new | 14:00 | |
p6eval | rakudo 3fba2c: OUTPUT«get_string() not implemented in class 'ArrayIterator'current instr.: 'perl6;A;Str' pc 394 (EVAL_1:168)» | ||
moritz_ | masak: THX | ||
masak | NP | ||
moritz_ | rakudo: class A {}; class B does A {} | 14:01 | |
p6eval | rakudo 3fba2c: OUTPUT«Method 'postcircumfix:<[ ]>' not found for invocant of class ''current instr.: 'perl6;ClassHOW;add_composable' pc 3928 (src/metamodel/ClassHOW.pir:186)» | ||
moritz_ | rakudo: class A::B {}; A.foo | ||
p6eval | rakudo 3fba2c: OUTPUT«Could not find non-existent sub &Acurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
moritz_ | rakudo: sub self() { say "OH HAI" }; self | 14:02 | |
p6eval | rakudo 3fba2c: OUTPUT«OH HAI» | ||
moritz_ | rakudo: sub foo { @_[0] = "bah" }; my $a = "!"; foo($a); say $a | ||
p6eval | rakudo 3fba2c: OUTPUT«!» | ||
14:03
rob___ left
|
|||
moritz_ | rakudo: sub foo($a = 1, $b) { say $a }; foo(3) | 14:03 | |
p6eval | rakudo 3fba2c: OUTPUT«Not enough positional parameters passed; got 1 but expected between 1 and 2current instr.: 'foo' pc 180 (EVAL_1:77)» | ||
moritz_ | rakudo: "".subst(/x/, "").trans() | ||
p6eval | rakudo 3fba2c: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expectedcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
moritz_ | rakudo: say ''.trans() | 14:04 | |
p6eval | rakudo 3fba2c: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expectedcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
14:04
SmokeMachine joined,
payload joined
|
|||
moritz_ | rakudo: augment class List { { method d { for self.kv { .say } }; <a b c>.d | 14:05 | |
p6eval | rakudo 3fba2c: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 11current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)» | ||
moritz_ | rakudo: augment class List { { method d { for self.kv { .say } } }; <a b c>.d | ||
p6eval | rakudo 3fba2c: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 11current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)» | ||
moritz_ | rakudo: augment class List { method d { for self.kv { .say } } }; <a b c>.d | ||
p6eval | rakudo 3fba2c: OUTPUT«Method 'd' not found for invocant of class 'Parcel'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
moritz_ | rakudo: augment class Parcel { method d { for self.kv { .say } } }; <a b c>.d | ||
p6eval | rakudo 3fba2c: OUTPUT«0a1b2c» | ||
masak | rakudo: grammar G { regex TOP { <ls> }; regex ls { <l>+ }; regex l { l } } | 14:09 | |
p6eval | rakudo 3fba2c: ( no output ) | ||
moritz_ | rakudo: my Int $i = Mu; say $i.WHAT | ||
p6eval | rakudo 3fba2c: OUTPUT«Type check failed for assignmentcurrent instr.: '&die' pc 16804 (src/builtins/Junction.pir:373)» | ||
masak | rakudo: grammar G { regex TOP { <ls> }; regex ls { <l>+ }; regex l { l } }; G.parse('llll') or die 'aie!' | ||
p6eval | rakudo 3fba2c: ( no output ) | ||
masak | rakudo: grammar G { regex TOP { <ls> }; regex ls { <l>+ }; regex l { l } }; G.parse('llll') or die 'aie!'; say $/<ls>.WHAT | ||
p6eval | rakudo 3fba2c: OUTPUT«Method 'postcircumfix:<{ }>' not found for invocant of class ''current instr.: '!postcircumfix:<{ }>' pc 13479 (src/builtins/Code.pir:119)» | ||
masak | awww. | ||
moritz_ | std: List | 14:11 | |
p6eval | std 30010: OUTPUT«ok 00:01 106m» | ||
moritz_ | rakudo: say Array ~~ List | ||
p6eval | rakudo 3fba2c: OUTPUT«0» | ||
masak | rakudo: say Franz ~~ Liszt | 14:12 | |
p6eval | rakudo 3fba2c: OUTPUT«Could not find non-existent sub &Lisztcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
colomon | Huh. I just got a big batch of failures testing using test_summary.pl on my 64-bit platform. | 14:13 | |
ruoso | std: sub foo {}; foo(:bar</bla/$ble>); | ||
p6eval | std 30010: OUTPUT«ok 00:01 105m» | ||
lisppaste3 | colomon pasted "Failures on 64-bit platform, 85ef035ff8c461a9ed45af0ee8e37bcf37c4554b" at paste.lisp.org/display/96160 | 14:14 | |
pugssvn | r30011 | moritz++ | [t/spec] fudge and update type.t | 14:15 | |
jnthn | colomon: ouch. | 14:16 | |
colomon: I did bump PARROT_REVISION yesterday. | |||
Wonder if a 64-bit Parrot bug sneaked in... :-/ | |||
moritz_ | colomon: do you get lots of non-zero return values if you run 'make spectest'? | 14:17 | |
Guest44442 wonders if any of those are parrot rel.... | |||
dalek | kudo: 2302b7c | moritz++ | t/spectest.data: enable type.t |
||
Guest44442 | jnthn: that is possible. might be helpful to make sure smolder is getting 64-bit reports. | ||
colomon | I dunno, I had similar huge failures running make spectest on 32-bit OS X yesterday. | ||
moritz_ | rakudo: my $a = 1, 2, 3; my @a = |$a; say @a.perl | ||
14:17
Guest44442 is now known as CokeHatesFreenod
|
|||
p6eval | rakudo 3fba2c: OUTPUT«[Capture.new()]» | 14:17 | |
moritz_ | rakudo: my $a = 1, 2, 3; my @a = |$a; .say for @a | 14:18 | |
p6eval | rakudo 3fba2c: OUTPUT«Capture()<0x47592129055552.000000>» | ||
colomon | Makes me wonder if there is an uninitialized return case somewhere in our testing procedures.... | ||
(running make spectest on 64-bit platform now.) | 14:19 | ||
masak | alpha: say :16(0x47592129055552) | 14:20 | |
p6eval | alpha 30e0ed: OUTPUT«unrecognized character: .in Main (file <unknown>, line <unknown>)» | ||
moritz_ | rakudo: my Int $a = Inf | ||
p6eval | rakudo 85ef03: OUTPUT«Type check failed for assignmentcurrent instr.: '&die' pc 16804 (src/builtins/Junction.pir:373)» | ||
masak | std: class multi {} | 14:23 | |
p6eval | std 30010: OUTPUT«ok 00:01 104m» | ||
masak | std: class multi {}; class A { our multi method foo() {} } | ||
p6eval | std 30010: OUTPUT«ok 00:01 106m» | ||
CokeHatesFreenod wonders how much of the traffic in #perl6 is folks testing the bots. =-) | 14:24 | ||
masak | hm. guess there's nothing illegal about being deliberately confusing. | ||
CokeHatesFreenod | masak: perhaps not in YOUR jurisdiction. | ||
masak | CokeHatesFreenod: why do you hate Freenod? :( | ||
masak .oO( Freenod fries ) | 14:25 | ||
14:25
bluescreen joined,
k23z__ joined
|
|||
colomon | make spectest works perfectly on my 64-bit Linux platform | 14:25 | |
m6locks | works pretty ok here on OS X 10.6.2 | 14:26 | |
colomon | (That is to say, the one that failed all the tests using test_summary a couple of minutes ago.) | ||
CokeHatesFreenod | masak: it's an extension of my dislike of irc. =-) | 14:27 | |
masak | here on #perl6 we're more into Freehug anyways. | ||
CokeHatesFreenod | the nick registration. | ||
CokeHatesFreenod backs away, slowly. | 14:28 | ||
masak | CokeHatesFreenod: I've never experienced problems with nick registration. | ||
[particle] | masak: you're not named after the most popular beverage on earth | ||
CokeHatesFreenod prefers lily over irc, and xmpp over lily. (but no one has heard of lily.) | 14:29 | ||
[particle] | and no, i don't mean water. | ||
masak | :) | ||
14:29
CokeHatesFreenod is now known as CokeGod
|
|||
CokeGod | there, I'll go with the slightly longer version of my nick for now. | 14:29 | |
masak | CokeHatesFreenod: one of the finest moments of #perl6 was when mst came in here, immediately adapted our customs, and hugged a troll happening to pass by. | 14:30 | |
14:30
Baggio left
|
|||
CokeGod | mst? | 14:30 | |
masak | Matt S Trout. | ||
CokeGod | ... that story sounds fishy to me. | ||
masak | he usually takes another approach to trolls. | ||
moritz_ | rakudo: "b" ~~ /b| / | ||
p6eval | rakudo 85ef03: ( no output ) | ||
masak | CokeGod: want me to find the backlog for you? | 14:31 | |
CokeGod | masak - i have no idea who matt S trout is, so the story probably lacks some impact for me. | ||
masak | CokeGod: wow. | ||
CokeGod doesn't dislike the community. Just the technology. | |||
masak | well, I didn't either a year or so ago... | ||
CokeGod | I mean, I know he's "someone involved with perl" | ||
masak | CokeGod: mst is this guy: www.shadowcat.co.uk/blog/matt-s-tro...ck-perl-6/ | 14:32 | |
"So fuck Perl 6. Fuck python. Fuck ruby. Fuck PHP in the eye with a rusty nail." | |||
mathw | my highlighting is going crazy | ||
CokeGod | me would say "mathw?" but has by now learned that there is no infobot here. | 14:33 | |
moritz_ | rakudo: my &*x | ||
p6eval | rakudo 85ef03: ( no output ) | ||
mathw | Hi CokeGod | 14:34 | |
CokeGod | ~~ | ||
14:35
krr joined
|
|||
masak | that's a smart wave. | 14:35 | |
colomon | CokeGod++ # for getting me working on for.t last night. :) | ||
14:35
payload left
|
|||
moritz_ | rakudo: (Block.new)(); | 14:36 | |
p6eval | rakudo 85ef03: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expectedcurrent instr.: 'perl6;Code;new' pc 12561 (src/builtins/Num.pir:45)» | ||
14:36
payload joined
|
|||
CokeGod | colomon: I am glad that I was able to inadvertently inspire you. | 14:37 | |
14:37
masak left
|
|||
jnthn | Time to go hoooome! | 14:37 | |
colomon | BTW, masak... | ||
CokeGod | masak good read, danke. | ||
colomon | rakudo: .say for "hello"; | ||
p6eval | rakudo 85ef03: OUTPUT«hello» | ||
moritz_ | rakudo: /::a/ /::a/ /::a/ /::a/ /::a/ /::a/ /::a/ /::a/ /::a/ | 14:38 | |
14:38
k23z__ left
|
|||
p6eval | rakudo 85ef03: OUTPUT«:: not yet implemented at line 11, near "a/ /::a/ /"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | 14:38 | |
jnthn | o/ | ||
colomon | hey, I actually duplicated my back test result this time, instead of getting a different bad result... | ||
\o | |||
moritz_ | rakudo: my Int $a = 74; Int.WHAT = Str; say $a.WHAT | 14:39 | |
p6eval | rakudo 85ef03: OUTPUT«Cannot assign to readonly valuecurrent instr.: '&die' pc 16804 (src/builtins/Junction.pir:373)» | ||
dalek | ok: 30f69d7 | masak++ | src/grammars.pod: [grammars.pod] Various editorial changes |
14:40 | |
m6locks | imma build my book now, got it working after a long and hard messing around with CPAN modules | 14:41 | |
lisppaste3 | colomon pasted "Weirdness with 32-bit OS X make spectest" at paste.lisp.org/display/96163 | ||
pugssvn | r30012 | moritz++ | [t/spec] (un)fudge what.t for rakudo | 14:49 | |
moritz_ | rakudo: my $x; ($x = 'hi').HOW = Block; say $x.WHAT | 14:51 | |
p6eval | rakudo 2302b7: OUTPUT«Cannot assign to readonly valuecurrent instr.: '&die' pc 16804 (src/builtins/Junction.pir:373)» | ||
moritz_ | colomon: that's bad | ||
colomon | my paste? | 14:52 | |
dalek | kudo: 24faa67 | moritz++ | t/spectest.data: enable what.t |
||
14:52
rv2733 left
|
|||
moritz_ | colomon: yes | 14:52 | |
colomon | yeah, it's definitely worrisome. | ||
moritz_ | we crossed the line of 700 open tickets. Downwards. | ||
colomon | \o/ | 14:53 | |
mathw | \o/ | ||
moritz_ | rakudo: sub x (:@args) { say @args.perl }; x :args(3, 4) | ||
p6eval | rakudo 2302b7: OUTPUT«(3, 4)» | ||
moritz_ | rakudo: say 'aa' ~~ /(.)$1/; say $0.to | 14:54 | |
p6eval | rakudo 2302b7: OUTPUT«a1» | ||
moritz_ | rakudo: say 'aa' ~~ /(.)$1/; say ?$0 | 14:55 | |
p6eval | rakudo 2302b7: OUTPUT«a1» | ||
moritz_ | it shouldn't match, since $1 is undefined | ||
CokeGod | er, at a quick glance, isn't $1 == 'a' ? | 14:56 | |
moritz_ | no, that's $0 | ||
colomon | moritz_: Are you sure? I thought $1 would be defined after the capture finished, which is before the reference to $1.... | ||
oh, right. | |||
moritz_ | the capture numbers start at 0 in Perl 6 | ||
CokeGod | mrfl. | ||
moritz_ | (re tickets: plus 9 tickets that are fixed but are waiting for tests) | 14:57 | |
CokeGod | ok. then doesn't undef stringify to '' ? | ||
moritz_ | CokeGod: undefined variables don't stringify in regexes; they make the match fail | ||
at least they should | |||
rakudo: 'a' ~~ /a/; say ($/.orig).rindex('a', 1) | |||
p6eval | rakudo 2302b7: OUTPUT«Method 'rindex' not found for invocant of class 'CodeString'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
moritz_ | rakudo: class A::B { }; say A::B.new.isa('A::B') | 14:58 | |
p6eval | rakudo 2302b7: OUTPUT«0» | ||
14:59
Guest51467 left
|
|||
CokeGod | moritz_: rt.perl.org/rt3/Ticket/Display.html?id=67790 no longer fails and haza test. | 15:00 | |
moritz_ | CokeGod: will you close it, or shall I? | ||
CokeGod | I don't know if the test is actually being run. | 15:01 | |
it's one of those "here's an automated test" thingee. | |||
just verified that evalbot liked it, is all. | |||
moritz_ | it is actually run | ||
FYI you can see that in github.com/rakudo/rakudo/blob/maste...ctest.data | 15:02 | ||
CokeGod | moritz_: the file is run. I haven't bothered to figure out the todo syntax for the spectest files. | 15:03 | |
colomon | moritz_: So, test_summary.pl runs completely clean on my 32-bit OS X box. :\ | ||
pugssvn | r30013 | moritz++ | [t/spec] another test for .perl no HOW | 15:06 | |
15:09
alester joined
15:12
payload left
15:13
Psyche^ joined,
Patterner left,
Psyche^ is now known as Patterner
15:14
payload joined
15:21
krr left
|
|||
CokeGod | no WAY | 15:21 | |
colomon | ? | 15:22 | |
CokeGod | 10:05 < pugssvn> r30013 | moritz++ | [t/spec] another test for .perl no HOW | ||
moritz_ | what's wrong with that? | ||
CokeGod | "no way, no how". english idiom meaning "under no circumstances." | 15:23 | |
moritz_ | oh | ||
colomon | ah. | 15:24 | |
TimToady | knowhow++ | ||
CokeGod | knowhow+=battle/2 | ||
15:24
uniejo left
|
|||
CokeGod | ... that /really/ won't translate well. | 15:25 | |
colomon | TimToady: so, about .match -- should it set $/ ? | ||
CokeGod | TimToady: ... I actually did something on perl6 this week. | ||
... and nothing exploded. | |||
moritz_ | rakudo: say Mu.notdef | 15:31 | |
p6eval | rakudo 24faa6: OUTPUT«1» | ||
moritz_ | rakudo: say NaN ~~ NaN | 15:33 | |
p6eval | rakudo 24faa6: OUTPUT«Method 'ACCEPTS' not found for invocant of class 'Num'current instr.: 'infix:<~~>' pc 226340 (src/gen/perl6-actions.pir:17196)» | ||
moritz_ | rakudo: say NaN == NaN | ||
p6eval | rakudo 24faa6: OUTPUT«0» | ||
moritz_ | rakudo: say 1.2e0 ~~ 1.2e0 | 15:34 | |
p6eval | rakudo 24faa6: OUTPUT«Method 'ACCEPTS' not found for invocant of class 'Num'current instr.: 'infix:<~~>' pc 226340 (src/gen/perl6-actions.pir:17196)» | ||
15:35
nihiliad joined
|
|||
pugssvn | r30014 | moritz++ | [t/spec] smart match fudges | 15:36 | |
dalek | kudo: ad6b5d8 | moritz++ | t/spectest.data: turn on more smartmatch tests |
15:38 | |
15:47
uniejo joined
15:53
payload left
15:55
payload joined
16:01
mberends left
|
|||
TimToady | hmm, a displacement operator... | 16:05 | |
[particle] | hey, nice, an rtfm response to the mailing list from TimToady :) | 16:07 | |
TimToady | :) | 16:08 | |
moritz_ | I've actually written a verbose response earlier, but it seems to hang in the moderation filter | ||
the hotel wifi wouldn't let me conntect to my usual smtp server, so I had to use a different From email address | 16:09 | ||
TimToady | I hope it wasn't too rtfmy | ||
[particle] | no, you weren't at all | ||
it was quite friendly | 16:10 | ||
TimToady | well, I really should have attached the reply to Matthew's article to avoid the appearance of trying to scare off a newbie | 16:11 | |
16:12
cdarroch joined,
cdarroch left,
cdarroch joined
|
|||
TimToady | in the reddit discusion on www.reddit.com/r/programming/commen..._algol_68/ there's mention of Algol 68's 'displacement' operator | 16:13 | |
does this have any use case in Real Life™ | |||
16:13
jaldhar left
16:14
abra joined,
jaldhar joined
|
|||
TimToady | we probably handle it in Perl 6 with ($a,$b,$c) = ($b,$c,$d) or some such | 16:15 | |
moritz_ | looks like it can be done with list assignment much more readable | 16:16 | |
aye | |||
TimToady | except that it's not obvious what's happening unless you look at the two sides cross-eyed | ||
just trying to think if there's any primitive that can turn a single item into an rvalue for its left side and an lvalue for its right side | 16:17 | ||
something similar is going on for $a < $b < $c, with respect to $b | 16:18 | ||
but it's still a single value | |||
hanekomu | so the :=:= means having various assignment with different precendences? | 16:19 | |
TimToady | $a++ splits into lvalue/rvalue but only makes the old value available | ||
CokeGod | $a = $b = $c = $d ! | ||
TimToady | I read it as a shift operator | ||
CokeGod | (if you're trying to be evil. =-) | ||
TimToady | it means $a = $b; $b = $c; $c = $d | ||
maybe I reddit rong | 16:20 | ||
CokeGod | if you're trolling through old languages, I suggest Modula-3, also. =-) | ||
(not to distract you, but I really liked M3) | |||
TimToady | well, it was masak that was trolling :) | 16:21 | |
CokeGod | heh. | ||
spinclad | rakudo: my %h = { :foo }; sub foo(%h is copy, $h-which) { say %h.WHICH - %h-which; say $h.WHICH }; foo(%h); say %h.WHICH | ||
p6eval | rakudo ad6b5d: OUTPUT«Symbol '%h-which' not predeclared in foocurrent instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)» | ||
TimToady | .oO(troll the ancient yuletide Algol) |
||
spinclad | rakudo: my %h = { :foo }; sub foo(%h is copy, $h-which) { say %h.WHICH - $h-which; say %h.WHICH }; foo(%h); say %h.WHICH | 16:22 | |
p6eval | rakudo ad6b5d: OUTPUT«Not enough positional parameters passed; got 1 but expected 2current instr.: 'foo' pc 267 (EVAL_1:91)» | ||
spinclad | rakudo: my %h = { :foo }; sub foo(%h is copy, $h-which) { say %h.WHICH - $h-which; say %h.WHICH }; foo(%h, %h.WHICH); say %h.WHICH | ||
p6eval | rakudo ad6b5d: OUTPUT«-1880404741718036782447417180555864» | ||
spinclad | rakudo: my %h = { :foo }; sub foo(%h is copy, $h-which) { say %h.WHICH <=> $h-which; say %h.WHICH }; foo(%h, %h.WHICH); say %h.WHICH | ||
p6eval | rakudo ad6b5d: OUTPUT«-14707266862577647072668813816» | ||
16:23
colomon left
|
|||
spinclad | (dunspamming) | 16:23 | |
TimToady | spinclad: you shouldn't really be assuming UMA | ||
spinclad | UMA? | 16:24 | |
TimToady | !NUMA | ||
there's no guarantee that memory addresses are orderable | |||
mostly I was speculating on dispacement operators in case masak wanted to answer the question on reddit of whether Perl 6 has the operator yet. | 16:26 | ||
spinclad | so the best one can rightly ask is === (and if one can get the objects into the same scope, one can do === on them directly) | ||
TimToady | the answer is 'no', but that's one of hard things that should be possible, not one of the easy things that should be easy | ||
16:27
breinbaas left
|
|||
TimToady | I think of eqv as more basic than ===, actually | 16:28 | |
since === is defined as $x.WHICH eqv $y.WHICH | |||
the only requirement here is that .WHICH return a value type, not an object type | |||
maybe we should represent NUMA addresses as Complex :) | 16:29 | ||
spinclad | (but who needs more than 640K, anyway?) | 16:30 | |
TimToady | that was already non-uniform in its way :) | ||
16:31
payload left
|
|||
TimToady | though memory models went through a rather more non-uniform period shortly after that, due to the 640K limitation and other limitations | 16:31 | |
hejki | rakudo: my $sand; say "my {$sand.WHICH} is tasty" | 16:32 | |
p6eval | rakudo ad6b5d: OUTPUT«my 47585366335592 is tasty» | ||
TimToady | maybe .WHICH should encrypt memory addresses so people aren't tempted to subtract them... | 16:33 | |
:) * 0.5 | |||
makes it a little harder to write peek() and poke() too | 16:34 | ||
spinclad | just don't make them Numeric | ||
TimToady | I know, we'll return the decimal number as a string with 0x on the front--that'll confuse 'em | 16:35 | |
16:35
breinbaas joined
16:36
iblechbot joined
|
|||
TimToady | or how 'bout hex with the digits reversed | 16:36 | |
hejki | rakudo: say .WHAT, .WHO ~ " am i?"; | ||
p6eval | rakudo ad6b5d: OUTPUT«No applicable candidates found to dispatch to for 'infix:<~>'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
spinclad | but should they canonicalize before eqv'ing, or should they allow ineqv .WHICHes to the same object? | ||
TimToady | biab & | 16:37 | |
spinclad | class WHICH { has IO $.file; has Seek $.seek; has Int $.offset; } # comparing .file names is hard | 16:39 | |
hejki | rakudo: say "jermu", " on" ~ " pantteri!" | 16:40 | |
p6eval | rakudo ad6b5d: OUTPUT«jermu on pantteri!» | ||
spinclad back to backlogging | |||
16:45
mantovani joined
16:47
justatheory joined
16:52
ruoso left,
colomon joined
|
|||
TimToady | moritz_: the default iffy setting would come in with the prec and associativity under 'is equiv' | 16:57 | |
16:58
tuxdna left
|
|||
moritz_ doesn't really understand | 16:58 | ||
TimToady | all those things are really just keys in a hash | ||
and 'is equiv' just copies the hash into the new operator | 16:59 | ||
dukeleto | lichtkind: pong | ||
moritz_ | TimToady: and what about operators that aren't defined with 'is equiv' but 'is tighter'? | ||
TimToady | those get more generic defaults | 17:00 | |
moritz_ | I don't quite see how that answers my question | 17:01 | |
multi sub infix:<yikes> is :tighter(&infix:<*>) { ... }; # is !yikes allowed or not? | 17:02 | ||
TimToady | by default, unlikely | ||
iffy is pretty exclusive | |||
moritz_ | so how would I signal that I want to allow !yikes? | ||
with a trait? | |||
TimToady | in current parse rules, that is supplied via <O(:iffy, ...) | 17:03 | |
we need to think about whether we'll require 'is parsed' to change those values, or whether it can be done with traits | |||
arguably, 'is assoc' could go away if we required 'is parsed' to set <O> to other the the default | 17:04 | ||
since the assoc comes through O too | 17:05 | ||
see line 128 or so of STD.pm | |||
%chain is all those things for the chaining prec level | |||
%chaining rather | |||
moritz_ | wouldn't 'is parsed' make it harder to write multiple such operators that can peacefully coexist? | 17:06 | |
TimToady | coexist? | ||
it's all still subject to LTM | |||
not sure what you're asking, I guess | 17:07 | ||
moritz_ | let's try it differently... how would an 'is parsed' infix op with a non-default assoc look like? | 17:08 | |
17:09
ruoso joined
|
|||
TimToady | ah, okay, you'd have to rely on it picking one named arg over another in the list, if you said <O(|%multiplication, :assoc<non>)> or some such | 17:11 | |
*multiplicative | |||
it would probably be better to have a trait specifically for overriding defaults | |||
or sneak a 'but' sort of thing in there somehow | 17:12 | ||
17:13
eternaleye left
|
|||
TimToady | that might imply that iffy, diffy, etc are really some kind of roles, long term | 17:14 | |
otoh, we don't really have a mechanism for un-mixing-in | |||
and :!iffy is handier for that | |||
17:16
ruoso left
|
|||
TimToady | almost makes one want a 'but' variant that overrides keys in a hash: %stuff but :this(42) :!that | 17:17 | |
colomon | pmichaud: ping? | 17:18 | |
TimToady | std: %_ but :this(42) :!that | ||
p6eval | std 30014: OUTPUT«===SORRY!===Placeholder variable %_ cannot be used in this kind of block at /tmp/A9IcKvJ3qU line 1:------> %_⏏ but :this(42) :!that expecting any of: POST postfix postfix_prefix_meta_operatorFAILED 00:01 107m» | ||
TimToady | heh | ||
std: my %stuff but :this(42) :!that | |||
p6eval | std 30014: OUTPUT«ok 00:01 105m» | ||
TimToady | well, it's syntactically valid... | ||
do we already have a decent way to write that, other than the (%stuff, :this(42), :!that) semantics, which are kinda sucky? | 17:19 | ||
moritz_ no idea | 17:20 | ||
TimToady | well, seems like multi dispatch could easily sort out infix:<but>(Associative, List[Pair]) or whatever the type of the right side is | 17:21 | |
moritz_ | should be Parcel or so | 17:22 | |
TimToady | ja | ||
17:23
payload joined
|
|||
TimToady | anyway, for the moment, anything you like can be done inside <O()>, so we're not under much pressure to invent trait sugar | 17:24 | |
unless we're writing a book. :) | |||
well, back to backlogging... | |||
moritz_ | that's not why I asked for | ||
TimToady | didn't think it was. :) | 17:25 | |
17:27
rv2733 joined
|
|||
TimToady | it is kinda weird that, since 'is parsed' already assumes the <sym> on the front, the 'is parsed' would typically contain *only* the <O()> | 17:29 | |
more like 'is reduced' :) | 17:30 | ||
so maybe any equiv overrides should just be 'is reduced(:iffy,:!diffy)' or some such | |||
I dunno, that's still kinda opaque from a user perspective | 17:31 | ||
sorry, just thinking out loud | |||
moritz_ | no problem; I'm listening :-) | 17:32 | |
TimToady | there are also some polymorphism issues here, since the language we're modifying might be known only at the last minute, and that might include polymorphic precedence tables | 17:34 | |
currently they're hardwired to hashes, but it's possible such information should also come down through inheritance | |||
17:35
ruoso joined,
colomon left
|
|||
TimToady | that tends to push things more in the traits direction, and away from explict mention of hashes | 17:35 | |
17:35
rv2733 left
|
|||
TimToady | but that argues that we're really doing equiv more on infix:sym<+> (the rule) rather than infix:<+> (the operator) | 17:37 | |
though perhaps the latter tracks the former | |||
TimToady collapses in a pile of paulis and heisenbergs | 17:38 | ||
[particle] | now that the wave function has collapsed, we can view the answer! | ||
TimToady | sure, just pick the right universe | 17:39 | |
[particle] | details, details... | ||
TimToady | well, it's not like we can't retarget equiv later based on type | 17:40 | |
equiv could even take a list, where the extra arguments are overrides | |||
spinclad | makes some sense that <O()>ish things apply to the rule parsing the operator more than to the operator | 17:41 | |
pugssvn | r30015 | moritz++ | fudge comb.t for rakudo | ||
TimToady | yeah, esp considering things like assignment | ||
17:41
cdarroch left
|
|||
TimToady | which actually choose an O based on the left argument! | 17:41 | |
see STD:3803 | 17:42 | ||
oh wait, my lines will be different | |||
guts of '=': | 17:43 | ||
|| <?{ $*LEFTSIGIL eq '$' }> | |||
<O(|%item_assignment)> | |||
|| <O(|%list_assignment)> | |||
moritz_ | rakudo: class Dog {}; say Dog.defined; Dog .= new; say Dog.defined | 17:44 | |
p6eval | rakudo ad6b5d: OUTPUT«0Cannot assign to readonly valuecurrent instr.: '&die' pc 16804 (src/builtins/Junction.pir:373)» | ||
17:47
meppl joined
|
|||
pugssvn | r30016 | moritz++ | [t/spec] fudge S12-construction/new.t for rakudo | 17:47 | |
17:48
xomas joined
|
|||
dalek | kudo: 62d70b7 | moritz++ | t/spectest.data: enable two more test files |
17:50 | |
jnthn back from hackathon at Home.new | |||
17:50
cdarroch joined,
cdarroch left,
cdarroch joined
|
|||
alester | Great, jnthn, you just instantiated a new Home, and then destroyed it by not keeping a reference to it. | 17:51 | |
moritz_ | \o/ | ||
alester | How wasteful. | ||
jnthn | :-P | ||
moritz_ | alester: it's still accessible through OUTER:: for jnthn :-) | ||
jnthn | Yeah, the constructor is...a little impure. :-) | 17:52 | |
17:57
dakkar left
|
|||
jnthn is glad the mmobile broadband worked straight away anyways...and eagerly awaits his hopefully faster DSL. | 17:57 | ||
18:00
breinbaas left
18:01
breinbaas joined
|
|||
TimToady | the problem with not setting $/ in .subst is that a replacement closure's $/ defaults to OUTER::<$/>, not CALLER::<$/> | 18:05 | |
18:08
breinbaas left
|
|||
lichtkind | dukeleto: then i was away, stillthere | 18:09 | |
18:17
breinbaas joined
|
|||
TimToady | sure would be nice if any messages involving types would actually tell you what the types involved are... | 18:21 | |
SWN messages are LTA | 18:22 | ||
(Something's Wrong Near...) | |||
well, SWNs are better than SWs, I suppose | 18:23 | ||
PerlJam | better than "error. please fix" for sure ;) | 18:24 | |
dukeleto | lichtkind: which channel are we going to settle on? ;) | ||
TimToady | which, in turn, is better than simply Not Halting | 18:25 | |
jnthn | Rakudo has multiple "XXX Awesomize this error" comments. | ||
TimToady | is that LHF? | ||
18:25
mberends joined
|
|||
jnthn | It's probably fairly often LHF if anyone wants to grep thorugh for them. | 18:25 | |
mberends! | |||
mberends | welcome home jnthn | ||
TimToady | maybe one of the lurquers would like to take a crack at those | 18:26 | |
jnthn | mberends: Thanks. It feels weird to think of it as home so far. :-) | ||
mberends | :) | ||
arnsholt | jnthn: Did you make those round tuits yourself? | ||
jnthn | But I'll probably settle in quickly. | ||
mberends | it's a nice place | ||
jnthn | arnsholt: No, I was given them at the Dutch Perl Workshop and encouraged to spread them. :-) | ||
mberends: Yes, it is. | 18:27 | ||
arnsholt | Right | ||
jnthn has a hungry and needs to nom | |||
bbl | |||
18:33
stephenlb joined
|
|||
TimToady | std: "b" ~~ /b| / | 18:34 | |
p6eval | std 30016: OUTPUT«===SORRY!===Null pattern not allowed at /tmp/k2pxHSGrN1 line 1:------> "b" ~~ /b| ⏏/FAILED 00:02 107m» | ||
TimToady | std: /::a/ /::a/ /::a/ /::a/ /::a/ /::a/ /::a/ /::a/ /::a/ | 18:35 | |
p6eval | std 30016: OUTPUT«ok 00:01 106m» | ||
TimToady | how...diakopterian++ian | 18:36 | |
s/ian/ | |||
diakopter | yar | ||
TimToady | you can kinda tell where I am in backlogging by what I'm feeding to std :) | 18:37 | |
diakopter | rakudo: my Hash $hash; $hash{"hi"} = "foo"; | 18:39 | |
p6eval | rakudo 62d70b: OUTPUT«Type objects do not have state, but you tried to access attribute $!storagecurrent instr.: 'perl6;Hash[];postcircumfix:<{ }>' pc 362032 (src/gen/core.pir:48887)» | ||
diakopter | nice way of saying "Null Reference Exception" or "Null Pointer Exception" | 18:40 | |
TimToady | 'do not have state' is perhaps confusing to people who think it's referring to the state declarator | 18:41 | |
moritz_ | would you prefer "do not have attributes"? | 18:42 | |
TimToady | 'are abstract and have no attributes, but you tried to access $!storage | ||
moritz_ will change after nom | 18:44 | ||
18:45
Su-Shee left,
uniejo left
18:46
k23z__ joined,
uniejo joined,
japhb left
18:50
b_jonas joined
18:53
Su-Shee joined
18:58
payload left
|
|||
TimToady | perhaps even "Type objects like Hash are abstract.... | 19:01 | |
otoh, that particular example should have autovivified a hash, I suspect | 19:02 | ||
moritz_ | that particular example should have been a type check failures | 19:03 | |
s/s$// | |||
19:04
japhb joined
|
|||
TimToady | p5 will autovivify if you say $variable->{"hi"} = "foo" | 19:04 | |
19:05
Chillance joined
|
|||
moritz_ was a bit confused | 19:05 | ||
you're right | |||
I somehow thought that diakopter++ had used the % sigil | 19:06 | ||
19:06
xabbu42 left
|
|||
TimToady | np | 19:06 | |
19:13
pmurias joined
19:25
fglock joined
19:31
ShaneC joined,
Su-Shee left,
Su-Shee joined
|
|||
fglock | re Timeline - I think v6.pm could be added | 19:32 | |
19:34
eternaleye joined
|
|||
fglock | v6-pugs-0.001.tar.gz - 26-Jun-2006 in backpan | 19:36 | |
mberends | thanks fglock, that's a good idea. will edit it in soon :-) | 19:37 | |
19:37
jaldhar left
|
|||
fglock | also lrep, the original bootstrap used for building Pugs::Compiler::Rule | 19:38 | |
dalek | kudo: e42042c | moritz++ | src/pmc/p6opaque.pmc: awesome error message when you try to access attributes of type objects, as suggested by TimToady++ |
19:39 | |
mberends | lrep, that's a cute anagram. btw, what sort of content would you like to see in the Perlito wiki | ||
fglock | lrep was announced in march 2009 | ||
www.mail-archive.com/perl6-compiler...01326.html | |||
I mean, 2006 :) | |||
mberends: looking... | 19:42 | ||
cj | hiya fglock | 19:43 | |
fglock | another nice project was svn.openfoundry.org/pugs/misc/old_p...5_backend/ - I think Moose.pm started there | 19:45 | |
cj: hi | |||
19:45
hudnix left
|
|||
moritz_ | rakudo: (\(1,2),\(3,4)).perl.say | 19:48 | |
p6eval | rakudo 62d70b: OUTPUT«(Capture.new(), Capture.new())» | ||
19:49
hudnix joined
19:54
TiMBuS joined
|
|||
moritz_ | rakudo: multi sub a { }; say &a ~~ Callable | 19:56 | |
p6eval | rakudo 62d70b: OUTPUT«1» | ||
moritz_ | rakudo: multi sub a() { 1; }; multi sub a($x) { $x; }; sub b(&x) { &x() }; b(&a); | ||
p6eval | rakudo 62d70b: ( no output ) | ||
19:57
abra left
|
|||
fglock | mberends: I can't explain Perlito easily - I think some quotes from the docs could be useful | 19:58 | |
"The VM is responsible to provide coroutines, threads, sockets, etc etc; | |||
if it's missing in the VM, it's _not_ our job to emulate them by drastically | |||
change the emitting strategy to e.g. CPS. All Value/Container classes do is | |||
to bridge the native VM API with Perl 6 class/method API." | |||
(audreyt wrote this) | 19:59 | ||
lichtkind | fglock: perlito is basis of kp6? | 20:00 | |
20:00
zostay joined
|
|||
mberends | fglock: is that the sort of content you would like to see in the Wiki? Or is it feasible to encourage users to write small scale applications for Perlito? | 20:00 | |
fglock | yes - kp6 is a Perl6 implementation that uses miniperl6 as a "VM" | 20:01 | |
mberends: nferraz is working on making Perlito "usable" - he created the site and suggests features | 20:02 | ||
mberends | ah, thanks :) | ||
fglock | I think it can be used for apps | 20:03 | |
I'm mostly using it to (re)write itself | |||
20:04
masak joined
|
|||
masak | oh hai from a train, #perl6. | 20:04 | |
fglock | masak: hi from a couch | 20:05 | |
PerlJam | masak: how fast are you traveling? | ||
20:05
hercynium left
20:06
ShaneC1 joined
20:07
ShaneC1 left
|
|||
masak | PerlJam: hard to estimate,but looks like more than 100 km/h. | 20:07 | |
20:07
ShaneC left
|
|||
moritz_ has now 40 tickets owned in the perl6 RT queue that just need a test but are actually fixed in Rakudo | 20:08 | ||
CokeGod | that sounds like LHF. | 20:09 | |
mantovani | why Perl 6 has various implementations not one like Perl 5(I think)? | ||
PerlJam | mantovani: variety is the spice of life :) | ||
mberends | mantovani: natural selection, survival of the fittest | ||
b_jonas | perl 5 has only one implementation becasue of the weight of historical features stuck to it | ||
PerlJam | mantovani: because perl 6 is being defined by a series of specifications rather than by an implementation (as perl 5) | 20:10 | |
mantovani: also, multiple implementations focus on different areas and the lessons learned help the other implementations. | 20:11 | ||
20:11
masak left,
ruoso left
|
|||
PerlJam | mantovani: pugs focused on getting most of the perl 6 syntax implemented, Rakudo focused on getting the regex engine going so that the syntax could be implemented in terms of perl 6, SMOP focuses on the underlying object model, etc. | 20:12 | |
mantovani | thanks, I want to join in Google Summer 2010 and I chose Perl 6 | ||
fglock | and Perlito... runs everywhere it can | 20:13 | |
b_jonas | runs everywhere... isn't that perl 5? | ||
moritz_ | mantovani: that's great... do you have any particular topic of interest? | ||
Perl 6 is a large field :-) | 20:14 | ||
mantovani | I'm thinking about it | ||
mberends | mantovani: excellent, we're here to help you help us :) | ||
mantovani | thanks | ||
fglock | b_jonas: runs everywhere in a transfinite way | 20:15 | |
PerlJam | has anyone updated the perl 6 stuff on www.perlfoundation.org/perl5/index....0_projects ? | 20:16 | |
moritz_ | PerlJam: I've added a few ideas that immediately came to mind | ||
but it could use more work actually | |||
mantovani | the fglock told to me to see the see the difference between the compilers | 20:17 | |
the fglock told to me to see the the difference between the compilers* | |||
PerlJam | Apparently I don't get to edit that page as I can't seem to get registered. | 20:18 | |
20:18
rv2733 joined,
ShaneC joined
|
|||
moritz_ | PerlJam: using openid works just fine for me | 20:18 | |
PerlJam | It didn't for me when I tried it the other day :( | ||
20:19
masak joined
|
|||
PerlJam tries again. | 20:19 | ||
b_jonas | I hope perl 6 will get strings and character encodings right (or rather, the way I like them). that synopsis isn't written yet so there's hope. | ||
PerlJam | yep ... when I login using openid, it looks like it succeeds, but then I'm not logged in. | 20:20 | |
moritz_ | b_jonas: there's also hope because I'll break havoc if there's no good model | ||
b_jonas: and I occasionally work on them | |||
b_jonas: the underlying idea is just to store byte streams in Buf types and text strings in Str objects | 20:21 | ||
and there are .encode and .decode methods | |||
but trying to concatenate a Buf and Str must die | |||
20:21
rv2733 left,
rv2733 joined
20:22
pmurias_ joined
|
|||
jnthn back | 20:23 | ||
[particle] | b_jonas: there's a better chance perl 6 will get strings and character encodings they way you like them if you write the spec. | ||
pmurias_ | fglock: hi | ||
20:23
pmurias_ left
|
|||
fglock | pmurias: hi :) | 20:23 | |
20:23
masak left
|
|||
b_jonas | [particle]: the problem is, I'm not really sure how exactly it should work, I only have some particular properties in mind that I need (and hope they're not contradictory), but not a full spec. | 20:25 | |
fglock | b_jonas: writing a prototype impl might help | 20:26 | |
moritz_ | b_jonas: then a start would be to share these ideas with us | ||
[particle] | in p6, of course | ||
20:29
ruoso joined
|
|||
moritz_ | rakudo: regex foo-bar { foobar }; say "foobar" ~~ /<foo-bar> | 20:35 | |
p6eval | rakudo e42042: OUTPUT«You can not add a method to a module; use a class or rolecurrent instr.: 'perl6;Perl6;Compiler;Module;methods' pc 28491 (src/gen/package_pm.pir:369)» | ||
moritz_ doesn't like that error message | |||
b_jonas | the real error is that a slash is missing? | ||
mberends doesn't understand that error message at all | 20:36 | ||
moritz_ | b_jonas: yes, but it doesn't even get that far | ||
b_jonas: it tries to install the regex as a method, and fails because it's not inside a class, grammar or role | |||
b_jonas | rakudo: regex foo-bar { foobar }; say "foobar" ~~ /<foo-bar>/ | 20:37 | |
p6eval | rakudo e42042: OUTPUT«You can not add a method to a module; use a class or rolecurrent instr.: 'perl6;Perl6;Compiler;Module;methods' pc 28491 (src/gen/package_pm.pir:369)» | ||
spinclad | rakudo: regex foo-bar { foobar } | ||
p6eval | rakudo e42042: OUTPUT«You can not add a method to a module; use a class or rolecurrent instr.: 'perl6;Perl6;Compiler;Module;methods' pc 28491 (src/gen/package_pm.pir:369)» | ||
20:38
ignacio_ left
|
|||
mberends | would it be easy to quote the identifier 'foo-bar' in the above error message? | 20:41 | |
jnthn | yes | 20:42 | |
moritz_ | the error message is thrown from src/Perl6/Compiler/Package.pm | 20:44 | |
bkeeler_ | Last time that was brought up the concensus seemed to be that regexes/rules/tokens were strictly just methods and thus didn't belong outside of a class | 20:45 | |
And good afternoon, #p6 by the way :) | 20:46 | ||
moritz_ | that would be sad; even then the error message sucks in many ways | ||
it says method, not regex | |||
it doesn't say which regex, and which package | |||
bkeeler_ | Yeah, I wrote a better error message, but it gets preempted | ||
jnthn | You can get it to say regex probably by outputting $*METHODTYPE | ||
moritz_ | b_jonas: preemted? how? | 20:47 | |
erm, I meant bkeeler_, sorry | 20:48 | ||
bkeeler_ | Well, I copied the logic from method_def, but I think the check that it does to see if it's in a class or not is wrong | 20:49 | |
And therefore it hits the die in Package.pm when it tries to call methods on it | 20:50 | ||
I'll take another look and see what I can come up with, patch-wise | |||
20:52
colomon joined
|
|||
dukeleto | can some people send an email to the parrot-dev list with the most important Parrot bugs that need fixin' before Rakudo* ? we have set aside this week as "Rakudo bug week" | 20:53 | |
moritz_ hilights jnthn++ and pmichaud++ for that | 20:54 | ||
bkeeler_ | Can you make it like two orders of magnitude faster? kthnxbai | ||
20:54
ignacio_ joined,
uniejo left
|
|||
moritz_ now has a patch that at least says "regex" instead of "method" | 20:55 | ||
20:55
xabbu42 joined
20:57
k23z__ left
21:04
Su-Shee left
|
|||
bkeeler_ also has a patch :) | 21:05 | ||
21:05
ruoso left
|
|||
moritz_ | "show me yours I'll show you mine" | 21:05 | |
bkeeler_ | Oooh | ||
I haven't tested mine | |||
I gotsta rebuild everything cos you've bumpted parrot_revision | 21:06 | ||
lisppaste3 | moritz_ pasted "improved error message" at paste.lisp.org/display/96179 | ||
moritz_ | my spectest is still running | 21:07 | |
bkeeler_ | Now that I think about it mine is still wrong | ||
Though you could have yours say 'rule' and 'token' instead of regex | 21:08 | ||
where appropriate | |||
21:08
masak joined
|
|||
moritz_ | I've noticed that, and changed locally already | 21:09 | |
jnthn | lolitsmasak | ||
moritz_ | and now starting over the spectest | ||
bkeeler_ | And perhaps have the error message say 'use a class, role or grammar' | ||
masak | lolonatrain | 21:10 | |
21:10
chromatic joined
|
|||
jnthn | masak: choooochooo! | 21:10 | |
:-) | |||
masak: My first shop in Sweden included Bilar! | |||
spinclad | ohaiitschromatic! | 21:11 | |
chromatic | jnthn, pmichaud, how much value is there to Rakudo * of Parrot allowing non-PMC lexicals? | ||
bkeeler_ | I'm thinking we can ditch the action code that looks like: | ||
masak | I just came in here to say that if you decide that regex/token/rule declarations don't belong outside of a grammar just because the latest and greatest data model seems to claim that, I'll be very disappointed in you. :) | ||
bkeeler_ | our @PACKAGE; unless +@PACKAGE { $/.CURSOR.panic("Can not declare method outside of a package"); } | ||
masak | jnthn: :) | ||
bkeeler_ | Since that logic is wrong (there's always something in @PACKAGE) | ||
masak | jnthn: Det finns bara ett sätt att stoppa dem! | ||
jnthn | chromatic: pre-Rakudo *, I don't expect we'll do native types. There's just too many other things to do. | 21:12 | |
bkeeler_ | And the real error is thrown from Module.methods | ||
jnthn | chromatic: They are *very* much wanted for post-R* development though. | ||
colomon | Did y'all break 27,000 passing tests while I was out having adventures? | ||
chromatic | I have a very good idea of how to make them work. If I thought they'd give a measurable performance improvement, I could probably get them in the next couple of weeks. | ||
moritz_ tried hard not to break tests | |||
colomon | chromatic: How hard would bigints be? | 21:13 | |
masak | moritz_: twice now I've been trying to say on IRC that I've liked seeing you hammer on RT... twice I've been cut off by a crappy IRC connection. | ||
moritz_: anyway, when the inbox vibrates from incoming RT mails, someone is doing something right. :) moritz_++ | |||
chromatic | colomon, more difficult, depending on what you want. | ||
bkeeler_ | masak: I think TimToady declared that regex/rule/token don't belong outside a class. I'll see if I can find the irclog... | 21:14 | |
masak: You can still use anonymous ones anywhere though | |||
masak | I am not amused. | ||
jnthn | chromatic: Most likely gains would be in nqp-rx, if they'll be anywhere, pre-R*. | ||
masak | bkeeler_: though I must admit that I do see the surface reason for that restriction. | 21:15 | |
colomon | chromatic: I was just curious. Mostly at the moment I'm chaffing under the difficulties of getting long numbers working at all in Rakudo -- things like pi to 30 digits break the system completely. | ||
bkeeler_ | And I can certainly see why one would want to delcare them elsewhere | ||
chromatic | jnthn, that sounds like what I remember pmichaud saying. Do you think there's any improvement in R* from nqp-rx improvements? | ||
PerlJam | colomon: pi works just fine if you define it to be 3.14 ;) | ||
[particle] | isn't there a list of things rakudo needs from parrot, and a list of rakudo features with a timetable? | ||
bkeeler_ | masak: I was dissappointed with how few S05-grammar/*.t I could turn on | ||
masak | bkeeler_: patience :) | 21:16 | |
moritz_ | [particle]: pmichaud sent such a list to parrot-dev some time ago | ||
bkeeler_ | but...but... | ||
moritz_ | [particle]: it included things like LEAVE handlers for subroutines/blocks | ||
[particle] | github.com/rakudo/rakudo/blob/maste...cs/ROADMAP | ||
jnthn | chromatic: Only if someone has chance to make said improvements. | 21:17 | |
[particle] | is the roadmap up-to-date? | ||
masak looks around for snarkyboojum, not finding same | |||
moritz_ | [particle]: afaict yes | ||
bkeeler_ | masak: Actually the majority didn't pass because they want to call subrules with :: in them, like <Foo::Bar::baz> | ||
chromatic | That requires someone who understands nqp-rx, or who can fake it sufficiently. | ||
bkeeler_ | And nqp-rx doesnt suppose that | ||
*suupport | |||
jnthn | chromatic: Resources are scarce in the face of a Lot To Do. I'd hate to commit to us being able to use something fruitfully pre-R* and then fail to. I can say they'll likely be useful post-R*. | ||
chromatic | jnthn, I'm asking because I'm looking for things I can fix in or add to Parrot that I know how to do with relative ease that will improve performance or unblock features. | 21:18 | |
(methods in namespaces is still a priority) | |||
jnthn | chromatic: Block exit handlers would, as moritz_ mentioned, help us. | ||
masak | that surface-tension fellow on reddit is saying plenty of sensible things about creating a better Perl 6 image, on www.reddit.com/r/programming/commen..._algol_68/ | 21:19 | |
chromatic | I'll twist Tene's arm on that again. | ||
Tene | eh? | ||
Tene reads scrollback | |||
oh, those. | |||
jnthn | chromatic: One thing I'm hearing increasingly is that memory consumption while compiling certain large spectests and gen_core.pm is *huge*. | 21:20 | |
masak | I can attest to that. | ||
chromatic | I think there's something in compact_pools. | ||
jnthn | chromatic: Any analysis on that would likely be welcome. | ||
chromatic | Will do. | ||
jnthn | Thanks. | ||
masak | ++chromatic | ||
PerlJam | jnthn: indeed! | ||
chromatic++ | 21:21 | ||
jnthn | Over the last couple of days at the hackathon I've heard that one a lot - even more so than before. | ||
chromatic++ | |||
masak | it's definitely changed as of branch formerly known as ng. | ||
s/branch/the branch/ | |||
jnthn | chromatic: One problem I'm seeing that's at PIR level...runtime errors give as a line-number the top line in the sub. | 21:22 | |
Not the line the error actually happened one. | 21:23 | ||
*on | |||
chromatic | jnthn, I'll look at that too. | ||
jnthn | This makes debugging a bit tricky, but also I think is why annotations can sometimes we so far off the mark too. | ||
21:23
ignacio_ left
|
|||
spinclad | chromatic: while unsure of use INS lexicals before R*, they would be tremendously useful shortly after for sure. | 21:23 | |
*making use of | 21:24 | ||
jnthn | spinclad: Aye, that's what I was trying to convey. :-) | ||
chromatic: Basically, after R*, one focus is on native types and compact structs and so forth. | |||
masak | put it like this: (1) why does a regex need to be in a grammar? (2) how come it worked before? | 21:25 | |
mberends | chromatic: it may not be specifically for yourself to do, but some move to replace trac.parrot.org/parrot/browser/trun...thunks.nci with a more general or dynamic replacement would allow Rakudo to act a bit more like duct tape. | ||
jnthn | mberends: Ah, yes, that to. | ||
chromatic | mberends, there's some work on that. | ||
jnthn | chromatic: Do you know what the latest is, or what approach has been chosen? | 21:26 | |
Last I saw, there were quite a few options (libffi/libjit/write our own...) | |||
chromatic | plobsing is working on that. | ||
Assume that "write our own" is unlikely. | 21:27 | ||
TimToady | except that every external dependency tends to cut down on portability | ||
masak: methods/regexen are allowed to be declared anywhere, but if the pointer to the code is being thrown away, the compiler is allowed to warn. | 21:28 | ||
otoh, our regex ... is fine | |||
chromatic | TimToady, an external dependency that exists and works somewhere tends to work more places than an internal dependency that doesn't exist and doesn't work anywhere. | 21:29 | |
TimToady | for the moment :) | ||
bkeeler_ | What about "our method foo..." | ||
TimToady | is fine | ||
you can then poke &foo into someplace where it can funtion as a method | |||
chromatic | If someone showed up with a patch for a working thunk builder that I thought we could maintain over the long term, I would not look askance at external dependencies. | 21:30 | |
bkeeler_ | So it would be installed in the package namespace with a & sigil? | ||
TimToady | yes | ||
masak | TimToady: thanks, that's what I was hoping for. | ||
TimToady | it's just code | ||
PerlJam | bkeeler_: binding is your friend | ||
TimToady | that happens to know that its first arg is an invocant | ||
masak | (regexes being allowed to be declared anywhere, that is) | 21:31 | |
jnthn: all 10 tests in Tardis pass! \o/ | |||
TimToady | a rule just happens to know that its invocant is a Cursor of some sort | ||
PerlJam | though I wonder if there's any utility to an anonymous class/grammar that houses methods/regex declared outside of classes/grammars ? | ||
(anonymous, but with a handle you can get at) | |||
TimToady | one could envision a system where you import methods from a module | 21:32 | |
it's not the default, of course | |||
masak | phenny: tell snarkyboojum that all tests in Tardis pass now. \o/ -- time for the next iteration of spec/test/implementation... :) | ||
phenny | masak: I'll pass that on when snarkyboojum is around. | ||
TimToady | but it allows people to come up with other systems to handle generic code besides the ones we provide | 21:33 | |
[particle] | masak: check if those 10 tardis tests passed yesterday. | ||
jnthn | masak: Nice! | ||
masak | [particle]: I expect to hear a lot more of that kind of autopun. :) | ||
[particle] | :) | 21:34 | |
jnthn | .oO( can we switch them to manual? ) |
||
masak | [particle]: in fact, I just came back from the near future... turns out there will be lots more of them. | ||
jnthn: a more fitting term than 'autopun' is very much welcome. | 21:35 | ||
21:35
bluescreen left
|
|||
b_jonas | autopun? | 21:35 | |
spinclad | (the pun that makes itself) | ||
masak | jnthn: the term should describe the thing that creates humour just by exhibiting the same thing as the one under discussion. | ||
b_jonas | TimToady: import methods from a module -- isn't that called a trait? | 21:36 | |
TimToady | more like a mixin | ||
[particle] | tautopun? | ||
CokeGod | The first rule about Perl 6 is... | 21:37 | |
masak | [particle]: yes, but it has relatively little to do with tautologies as such... | ||
jnthn | masak: I wasn't complaining about the term. :-) | ||
b_jonas | well, what ruby calls Modules are stuff you can't instantiate but you can still mix in (methods and other stuff from them) to classes | ||
spinclad | (the ineluctable pun, it forces itself on you) | ||
masak | jnthn: no, just deliberately misreading it, I know. :) | ||
TimToady | most of our modules of that sort we call "roles" | ||
jnthn | It's not like I'm want to do such things. :-) | 21:38 | |
masak | spinclad: sure, except it is often done quite willingly. | ||
TimToady | but if you think about, it doesn't make sense to install a method in a role either, only in the class to which it is composed | ||
b_jonas | anyway, I think the ruby way doesn't make sense: | ||
masak | example: "Are there productive suffixes in English." -- "Yes. Well, yes-ish..." | ||
PerlJam | masak: heh | ||
TimToady | let's have a yesathon! | ||
Yes! | 21:39 | ||
masak | Ish! | ||
spinclad | masak: then the pun rides a willing vehicle | ||
b_jonas | but I'm not exactly sure what the right thing is | ||
PerlJam | tar! | ||
TimToady | we're aiming to make the right thing available with roles | ||
moritz_ | rakudo: say ('abc'.match(/./, :g)).elems | ||
p6eval | rakudo e42042: OUTPUT«3» | ||
PerlJam | spinclad: sounds more symbiotic. | 21:40 | |
TimToady | but we don't claim that we're gonna get it perfect | ||
21:40
Chillance left
|
|||
[particle] | mimetic pun? | 21:40 | |
masak | rakudo: say ('a'.match(/./, :g)).WHAT | ||
p6eval | rakudo e42042: OUTPUT«GatherIterator()» | ||
masak | [particle]: now we're talking. | ||
21:40
Chillance joined
|
|||
masak | rakudo: say ('a'.match(/./, :g)).elems | 21:40 | |
p6eval | rakudo e42042: OUTPUT«1» | ||
[particle] | actually, we're typing. | ||
spinclad | memetic pun | ||
[particle] | :) | ||
spinclad | (or are they all?) | ||
masak | think so. | 21:41 | |
masak liked 'mimetic' | |||
spinclad | +1 | ||
TimToady | well, it's all a charade | ||
masak | actually, 'metacircular pun' sorta-kinda captures it, too. | ||
TimToady wonders what a metacircle looks like... | |||
masak | at least in the cases I can think of. | ||
[particle] | a pun walks into a bar... | ||
masak | TimToady: it's a bit bent... | 21:42 | |
[particle]: *lol* | |||
b_jonas | I think there should be at least three levels: classes you can instantiate; abstract classes that you can't instantiate but can still be both subclass or superclass of real classes; and traits or whatever that are such that they can be mixed in but you never want to declare a variable or parameter with such a type. | ||
masak | [particle]: that's a higher-order pun... | ||
TimToady | [particle]: ... and says ouch | ||
b_jonas | I'm not sure though. | ||
PerlJam | b_jonas: Perl 6 allows all of that. | ||
TimToady | b_jonas: sure, but we call those roles, not traits | 21:43 | |
traits are something else in p6 | |||
traits are used only on declarations in p6 | |||
moritz_ | perl6 rt queue: closed about 80 tickets in the last 36 hours, 40 more pending spectests | ||
masak | moritz_++ | ||
b_jonas | I see | ||
CokeGod | moritz_: ah, excellent. now I don't have to do anythign! | 21:44 | |
Tene | TimToady: dunno, I never meta circle that was sufficiently meta. | ||
masak | CokeGod: and I have to work harder... :) | ||
Tene: clearly you need to do more Smalltalk. | |||
TimToady | "Anything you can do, I can do meta! I can do anything meta than you!" --Ada Oakley | 21:45 | |
b_jonas | what I'm not sure is whether it might make sense to have modules (or singletons) that aren't class-like in that they or their subclasses can never be instantiated but they can still be mixed in or even inherited by other modules | ||
mberends | TimToady++ | ||
b_jonas | (or maybe if the classless guys are right) | ||
(I think they aren't but I'm not sure) | 21:46 | ||
spinclad | singleton means one instance, no? | ||
b_jonas | spinclad: I'm not sure | ||
CokeGod | hai. | ||
(in general, no clue on this context =-) | |||
PerlJam | b_jonas: Perl 6 doesn't preclude those possibilities either. :) | ||
masak | TimToady: Doug Hofstadter recounts that a very similar quote was pinned on him, and that he couldn't convince people that he hadn't actually originated it. | ||
b_jonas | PerlJam: sure, but I still want to know if those are actually useful | ||
TimToady | I believe I made it up at one point, but it could have been independent discovery. | 21:47 | |
when did he say this? | |||
PerlJam | b_jonas: the only way anyone would know is by trying to use them. | ||
chromatic | I never metamodel not obsessed with reflection. | ||
masak | TimToady: in the notes section of "I am a strange loop". | ||
TimToady: unless you mean the quote, which he says he didn't actually say. :) | |||
Tene | I've got that book at home. I've been too busy to read it yet, though. | ||
b_jonas | probably this thing is timtowtdi, there's no one right oo model | 21:48 | |
PerlJam bets TimToady read the book and subconciously absorbed the quote | |||
masak | Tene: it transformed me a bit. those that do that are the good books. | ||
21:48
bluescreen joined
|
|||
masak | time to detrain. | 21:48 | |
o/ | |||
21:48
masak left
|
|||
TimToady | \o | 21:48 | |
Tene | So I've heard. I haven't finished GEB yet either, though. | ||
bye, masak! | |||
TimToady wonders if masak can be retrained... | 21:49 | ||
21:49
quester joined
|
|||
moritz_ | and then redetrained... | 21:49 | |
Tene issues moritz a pope card. | |||
TimToady | I don't want him deprogrammed just yet... | ||
frettled | Tene: he doesn't need a pope card to be a pope. Everybody is a pope. | 21:50 | |
Tene | frettled: he reminded me of "To excommunicate, de-ex-communicate, re-ex-communicate, and de-re-ex-communicate (no backsies!) both his-/her-/it-/them-/your-/our-/His-/Her-/It-/Them-/Your-/Our-self/selves and others (if any)." | ||
dalek | kudo: 5b81dfe | moritz++ | src/Perl6/ (2 files): awesomize error message for regexes in packages a bit (though allowing them would really be preferrable) |
21:51 | |
diakopter | well, everybody is a vicar | ||
frettled | that's a vicarious argument | ||
moritz_ | Q: is there a cardinal higher than the pope? A: sure, two to the pope | ||
diakopter feels like a spur | |||
21:51
frettled sets mode: +oooo Tene moritz_ diakopter chromatic,
frettled sets mode: +o PerlJam
|
|||
jnthn | moritz_++ # awesomization | 21:51 | |
b_jonas | moritz_++ | 21:54 | |
TimToady | moritz_: not if the pope is 0 or 1 | ||
colomon | TimToady++ | 21:55 | |
And isn't the pope frequently negative? ;) | |||
b_jonas | TimToady: what? even in that case 2^pope is greater | ||
2^0 is 1, and 2^1 is 2 | 21:56 | ||
colomon | b_jonas++ | ||
b_jonas | 2^k is always greater than k for any cardinal k | ||
TimToady | ah, yes | ||
I was comparing two to the pope | |||
b_jonas | by the diagonalization thing | ||
TimToady | and there's only one of him | ||
I was think of square popes | 21:57 | ||
*thinking | |||
[particle] | your son would tell you, like any good physicist, that you should assume all popes are round. | ||
chromatic | What about the reptilian space pope? | ||
[particle] | any good *theoretical* physicist, anyway | 21:58 | |
bkeeler_ | I've always found the pope to be rather hyperbolical | ||
b_jonas | a square pope would be convenient, for it would fit on the tv screen | ||
[particle] | and the popemobile | ||
b_jonas | I mean it's a communications role anyway | ||
Tene | Assuming we have a spherically-symmetric cow, radiating milk uniformly in all directions... | ||
b_jonas | though that only applies to normal tellies, not these stupid widescreen ones | ||
jnthn | Imagine a spherical cow! | ||
TimToady | I don't have to imagine one | 21:59 | |
Tene | Hmm, I think I read that lovecraft novel... | ||
diakopter | Q:"didn't Someone say not to let people call you teacher, master, father?" A:"Good thing Pope didn't mean father... oh wait..." | ||
A:"Good thing Mister didn't mean master... oh wait..." | |||
A:"Good thing Doctor didn't mean teacher... oh wait..." | 22:00 | ||
TimToady | good thing Mrs doesn't mean...ahem | ||
[particle] | i think a curtsie is appropriate here | 22:01 | |
m6locks | lol | ||
TimToady | in any case, my son is not much interested in spherical cows unless they have an event horizon | 22:02 | |
Tene | www.gizmag.com/first-commercially-a...ack/14423/ -- jetpack! | ||
[particle] | utter darkness... | 22:03 | |
PerlJam | TimToady: There are no black cows. Those are just a myth | ||
TimToady | well, they aren't exactly naked cows... | ||
diakopter | only naked emperors | ||
moritz_ | they are actually black sheep beaten into a diferent shape to appear as cows | ||
PerlJam | moritz++ | ||
TimToady | if they're large enough, they don't have to be beaten; gravity will do it for you | 22:04 | |
see dwarf planets | |||
not to be confused with Planet of the Dwarfs | |||
[particle] goes bowling | |||
frettled | better than bawling | ||
[particle] | oh, i guess i got confused. | ||
TimToady | watch out for spherical bowling balls | ||
esp if they moo | 22:05 | ||
[particle] | it'd be easier with spherical pins! | ||
diakopter | and bawling bowels | ||
PerlJam | ouch | ||
TimToady | if it walks like a duckpin, and quacks like a duckpin | ||
spinclad | avoid bowling balls with a large gravitational constant | ||
22:06
alester left
|
|||
[particle] | thank goodness this kind of creative energy isn't being unleashed on something useful. | 22:06 | |
diakopter | oh, you mean those in the future :P | ||
TimToady | most bowling balls with a large gravitational constant suck, and therefore aren't constant | ||
moritz_ | more like, avoid universes with a large gravitational constant :-) | ||
[particle] | constant is a relative term. | 22:07 | |
TimToady | that too, but if the ball is large enough, it makes a new universe inside | ||
araujo | hehe | ||
TimToady | we just have to find the holes | ||
22:07
snarkyboojum joined
|
|||
PerlJam | There's a sphincter pun in there somewhere | 22:08 | |
TimToady | I wasn't going to mention that about the cow balls | ||
*cow bells | |||
diakopter | I thought only bulls... | ||
[particle] | MOAR COWBALL! | 22:09 | |
TimToady | oh when those cow bolls get a rotton, you can't pick very much carton | ||
*rotten | |||
PerlJam | TimToady: the boll/cotton pull was just too strong | 22:10 | |
TimToady | my son particularly dislikes string theory | ||
justatheory is integer theory | |||
moritz_ | TimToady: how very understandable | ||
justatheory | or rather, just a theory | 22:11 | |
22:11
SmokeMachine left
|
|||
TimToady | at least you're that, unlike string theory | 22:11 | |
PerlJam | If the string theorists ever get around to making testable predictions, it may not matter if string theory is likable or not :) | ||
moritz_ | s/string theory/string formalism/ # I wouldn't qualify these stringy thingies as a "theory" | ||
TimToady | which is more like a religion | ||
spinclad | Maybe a Theory = Just a Theory | Nothing | 22:12 | |
justatheory | string theory more like string idea | ||
justatheory cries | |||
spinclad hugs justatheory | |||
moritz_ | spinclad: that would be justamonad | ||
TimToady | string notion, which is why you buy yarn at a notions store | ||
PerlJam | look back 2000 years or so to when these indivisible components of everything called "atoms" were proposed. | ||
diakopter | or quanta | 22:13 | |
frettled | non-atomic atoms | ||
moritz_ | quanta is a HTML editor. | ||
PerlJam | (string theory may just need another millenia or two to get into a good groove) | ||
frettled | Quantas is an airline. | ||
justatheory | quants, meanwhile, destroyed our economy. www.huffingtonpost.com/2010/01/23/t...34309.html | ||
frettled | or, in Br.English: Quantas are … | ||
TimToady | yeah, but we'll need to schedule another Dark Ages first. | ||
frettled | TimToady: we're working on it | 22:14 | |
diakopter | Oracle is working on it | ||
b_jonas | heh | ||
frettled | Microsoft is, too. | ||
diakopter | bah | ||
frettled | I heard they got Apple and Google on the team. | ||
TimToady | is that why they consumed Sun? | ||
araujo | there is no spoon | ||
frettled | TimToady: exactly! | ||
TimToady | I get most of the jokes, eventually... | 22:15 | |
frettled | you're a collector? | ||
TimToady | I even get myself from time to time. | ||
PerlJam | schizophrenia notwithstanding? | ||
TimToady | Solaris collector? | ||
moritz_ | I thought that was the job of the Eclipse foundation | 22:16 | |
frettled | does that have any basis in truth? | ||
diakopter | btw, solaris x86 is going away, effectively, apparently | ||
TimToady | the absense of smoke proves the globe is not warming | 22:17 | |
moritz_ | diakopter: don't even try to get half ways on topic | ||
[particle] | i've often wondered if we can make perl 6 an entropy-neutral programming language. | 22:18 | |
TimToady | the only thing we have to sphere is sphere itself. --Plato | ||
diakopter | the earth isn't rising, either | ||
spinclad | (when the Dragon eats the Sun, there will be darkness at noon) | ||
22:18
bluescreen left
|
|||
b_jonas | [particle]: it's multiparadigm so perhaps you could program it in an entropy neutral style, but it can't be always entropy-neutral. | 22:19 | |
TimToady | one of my sons published papers is about proving the generalized 2nd law | ||
PerlJam | [particle]: the universe would hate perl 6 if it were entropy neutral | ||
TimToady | it would be kinda like a superflid | ||
fluid | |||
diakopter | would it take more energy than in existence to prove it? | ||
[particle] | gaelic is almost entropy-neutral | 22:20 | |
TimToady | hmm, heisenberg tells us we can't know if it's Christmas yet, but Pauli says it can't be Christmas as long as PHP exists | ||
[particle] | talk about a vacuum.... | 22:21 | |
TimToady | I was talking about negative energy | ||
PerlJam | You heard ... er saw him! TimToady just encouraged us to kill PHP! :) | ||
[particle] | that's dark. | ||
frettled | PerlJam: they're working on it themselves | 22:22 | |
TimToady | .oO(Will no one rid me of this language...) |
||
spinclad | those who don't observe Christmas will never know | ||
diakopter | TimToady: usually people want tongues... | ||
spinclad | (ref: xkcd++) | ||
TimToady | PHP isn't a tongue, it's a finger | 22:23 | |
yes, that one | 22:24 | ||
b_jonas | TimToady: as in xkcd.com/679/ ? | ||
[particle] | an impudent finger. | ||
22:25
jmarti joined,
IllvilJa left
|
|||
[particle] | which means the supreme court is now deciding whether or not it's protected free-speech. | 22:25 | |
TimToady | I will check my mailbox for rattlesnakes now. | 22:26 | |
spinclad | b_jonas: yes, that one | ||
TimToady | there's this spherical object, with fangs...should I be worried? | ||
b_jonas | TimToady: does it have eyes? or is it an eye? | 22:27 | |
TimToady | .oO(an eye for an eye, and a fang for a fang...) |
22:28 | |
[particle] | the economic meltdown has led to sale prices for eyes and fangs | 22:29 | |
PerlJam | not an aye for an aye? | ||
TimToady | and a truth for a truth? | ||
PerlJam | sooth for sooth | 22:30 | |
TimToady | use Mooth; | ||
[particle] | an oy for an oy. | ||
TimToady | there oughta be a law... | ||
22:31
bkeeler_ left
|
|||
spinclad goes have chicken soup for lunch^Wdinner | 22:32 | ||
[particle] | the second law? | ||
22:32
bkeeler_ joined
22:43
cotto_work left,
wallberg joined
22:44
cotto_work joined
|
|||
lichtkind | is slurp an alias to open("").get(); ? | 22:45 | |
22:46
alester joined
|
|||
TimToady | well, it has to close it too | 22:47 | |
I doubt slurp calls get in any case | |||
there's nothing to iterate | 22:48 | ||
22:50
mberends left
22:56
nihiliad left,
alester left
22:57
arthur-_ left
23:00
TiMBuS left
|
|||
japhb | Is there a Perl 6 idiom for unflattening a hash from a list of alternating key and value? | 23:03 | |
colomon | %hash.kv | ||
23:03
iblechbot left
|
|||
japhb working around an NQP-rx limitation, and might as well make it look like Perl 6. | 23:03 | ||
colomon | oh, wait, you want the other way around? | ||
japhb | colomon, that flattens, the opposite ... yeah | ||
colomon | isn't that just $hash = kv-list ? | ||
%hash = kv-list, I mean | 23:04 | ||
23:04
meppl left
|
|||
PerlJam | NQP doesn't have assignment. | 23:04 | |
colomon | rakudo: say %hash = 1, 2, 3, 4; say %hash.perl | ||
p6eval | rakudo 5b81df: OUTPUT«Symbol '%hash' not predeclared in <anonymous>current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)» | ||
colomon | rakudo: my %hash = 1, 2, 3, 4; say %hash.perl | ||
p6eval | rakudo 5b81df: OUTPUT«{"1" => 2, "3" => 4}» | ||
PerlJam | (but, if it did, that would work :) | 23:05 | |
japhb | yeah, I wish I could do that .... | ||
PerlJam | japhb: does nqp grok hash literals ? my %hash := { 1,2,3,4 } # ? | ||
japhb | PerlJam, nope. | 23:06 | |
Or at least, not last I looked. | |||
Have to fake it with: | |||
23:06
quester left
|
|||
japhb | sub hash(*%hash) { %hash } | 23:06 | |
PerlJam | It didn't the last time I looked either, but I thought it was slated to be added "soon" | ||
japhb | Which is fine and all, but that assumes you already have pairs. | ||
colomon is very confused by this conversation.... | |||
japhb | My core problem is that NQP-rx doesn't understand a fat-arrow unless the LHS is ident-ish | 23:07 | |
colomon | rakudo: say (1, 2, 3, 4).Hash.perl | ||
p6eval | rakudo 5b81df: OUTPUT«Method 'Hash' not found for invocant of class 'Parcel'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
japhb | So I was going to make a hash with these nasty string keys by making a little helper function that unflattened a list. But I just wanted to know if there was already an idiom. Of course the idiom in Perl 6, as colomon pointed out, is 'assignment, not binding'. | 23:08 | |
Tene | japhb: when you had me implement that for you, I asked you "is simple idents only on the LHS sufficient?", and you told me that it would be. Are you now trying to tell me that you're not completely precognitive? | ||
PerlJam | heh | 23:09 | |
japhb | Tene, it was sufficient for *me*. Just apparently not sufficient for fperrad++. ;-) | ||
I maintain my record is spotless. | |||
Tene | Heh. | ||
23:09
rgrau joined
|
|||
lisppaste3 | japhb pasted "It's all fperrad++'s fault ..." at paste.lisp.org/display/96186 | 23:12 | |
japhb | NQP-rx barfs on that at line 28 (the building of the pir_nqprx hash). | 23:13 | |
Heh. Looks like I pasted my editor state while typing in unflatten .... | |||
PerlJam | so you want to change the grammar to grok quoted strings on the LHS of => ? | 23:14 | |
23:14
mssm left
|
|||
PerlJam | (as long as you're not doing full expression parsing, that seems fairly simple) | 23:15 | |
(maybe even then, but I haven't given it but 2 seconds though) | |||
er, thought | |||
japhb | PerlJam, Heck yeah, that would be fantastic. | ||
23:15
jmarti left
|
|||
japhb | I had gotten the feeling from Tene way back when that that would be non-trivial ... easier now? | 23:16 | |
PerlJam | oops, gotta go. See you guys later. japhb if someone hasn't beaten me to the punch, i'll look at it later tonight. :) | ||
japhb | PerlJam, thanks! | ||
23:19
wknight8111 joined
|
|||
colomon | oh, heh, looks like the test failures I'm getting on my 64-bit linux box from test_summary may be ICU related? | 23:34 | |
S32-str/words.rakudo...............................no ICU lib loaded | |||
current instr.: 'perl6;HLL;Actions;charname' pc 17178 (ext/nqp-rx/src/stage0/HLL-s0.pir:5367) | |||
for instance. | 23:35 | ||
TimToady | .oO(external dependencies...mutter...mutter...) |
23:36 | |
diakopter | sputter, sputter... | 23:42 | |
23:44
arthur-_ joined
23:49
nadim left
23:50
nadim joined
23:51
synth joined
|