»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:00
havenn left
00:03
snearch left
00:04
benabik left
00:07
ab5tract left
00:10
ribayr joined
|
|||
[Coke] | jnthn++ | 00:11 | |
00:16
alester left
00:20
ribayr left
|
|||
jnthn | Also, I blug: 6guts.wordpress.com/2012/02/29/raku...r-2012-03/ | 00:21 | |
00:22
wolfman2000 joined
00:27
libreofficer left
|
|||
jnthn | On-site $dayjob tomorrow, but got another full day of Perl 6 fun on Thursday, all being well. :) | 00:28 | |
00:29
att joined
|
|||
jnthn | sleep & | 00:32 | |
00:41
samlh joined
00:42
havenn joined
00:53
s1n left
00:54
tokuhirom joined,
snearch joined
00:56
sisar joined
01:08
tokuhirom left,
scott___ joined
01:12
replore_ joined
01:14
havenn left
01:16
woosley joined
01:21
havenn joined
01:23
havenn left
|
|||
sorear | Fff. I missed Araq. ;| | 01:24 | |
TimToady | they will be back | 01:26 | |
[Coke] | <charlie brown>I got Araq</charlie> | 01:27 | |
sorear | masak++ # noting the nieczabugs so I don't have to | 01:32 | |
01:34
nsnake joined
|
|||
TimToady | wow, he already got the last two I mentioned... masak++ | 01:36 | |
01:38
libreofficer joined
01:42
a2n joined,
a2n left,
wolfman2000 left
01:44
nsnake left,
fsergot joined
|
|||
[Coke] | feather slow. wonder if it's au. | 01:44 | |
phenny, tell Juerd feather1 is really slow right now and it's not me! | 01:47 | ||
phenny | [Coke]: I'll pass that on when Juerd is around. | ||
[Coke] | ooh, maybe it is. | 01:48 | |
phenny, tell Juerd it was a rogue pugs process, mevermind. | |||
phenny | [Coke]: I'll pass that on when Juerd is around. | ||
Teratogen | nom: 1+1 | 01:51 | |
p6eval | nom e95935: ( no output ) | ||
Teratogen | nom: say 1+1 | ||
p6eval | nom e95935: OUTPUT«2» | ||
Teratogen | IT WORKS! | 01:52 | |
SHIP IT! | |||
geekosaur | works for linux... | 01:53 | |
sorear | strike 1... | 01:54 | |
01:57
benabik joined
02:01
REPLeffect left,
whiteknight left
|
|||
TimToady | .oO("How many times must I forgive my brother? Seven times?") |
02:07 | |
decommuting & | 02:09 | ||
dalek | ast: 74401fd | coke++ | S0 (3 files): pugs fudge |
02:14 | |
gs.hs: 7fb69dc | coke++ | t/spectest.data: run fudged tests |
|||
02:15
wolfman2000 joined
02:16
sisar left
02:17
snearch left
02:22
NamelessTee left
02:25
xinming joined
02:26
stepnem left
02:30
stepnem joined
02:37
sudokode left,
colomon joined
|
|||
colomon | o/ | 02:38 | |
02:39
samlh left
|
|||
sorear | o/ | 02:39 | |
02:42
samlh joined
02:52
Trashlord left
03:01
skids joined
|
|||
sorear | samlh: hi | 03:02 | |
03:05
stepnem left
|
|||
colomon | samlh: any luck? | 03:06 | |
[Coke] | # 02/28/2012 - niecza++ ; pugs (29.38%); rakudo (99.27%) | 03:15 | |
"niecza", 20302, 8, 751, 1539, 22600, 23752 | |||
"pugs" , 5965, 6, 2750, 698, 9418, 23561 | |||
"rakudo", 20154, 28, 605, 1864, 22651, 23762 | |||
03:18
orafu left,
bbkr left,
bbkr joined,
orafu joined
|
|||
[Coke] | b: say 20302*.3-5965 | 03:25 | |
p6eval | b 1b7dd1: OUTPUT«125.6» | ||
[Coke] | b: say 20302*.3333-5965 | ||
p6eval | b 1b7dd1: OUTPUT«801.6566» | ||
benabik | [Coke]: Any particular reason you use b for math? | 03:26 | |
[Coke] | benabik: shortest compiler name. | 03:27 | |
benabik | [Coke]: That's a good one. :-D | ||
(Also thought of that shortly after I hit enter. :-) | |||
03:28
replore_ left
03:45
am0c joined
03:55
sudokode joined
04:10
Timbus left
04:11
Timbus joined
04:13
marmalade left
04:47
sudokode left,
alc joined
04:58
sudokode joined
05:03
drbean_ joined
05:04
drbean left,
drbean_ is now known as drbean,
Tedd1 left
05:07
thou left
05:27
alc left,
localhost joined
05:39
scott___ left,
scott__ joined
05:44
localhost left,
skids left
05:57
mucker joined
05:58
localhost joined
06:04
s1n joined
06:11
birdwindupbird joined
06:23
replore joined
|
|||
moritz | o/ | 06:25 | |
dalek | kudo/nom: 7a58a0d | moritz++ | docs/ChangeLog: update ChangeLog |
06:33 | |
sorear | /o | 06:39 | |
06:48
takesako left
06:54
takesako joined
07:00
noam joined
07:04
kaleem joined
07:08
wtw joined
07:21
am0c left
07:22
am0c joined
07:49
mucker left
08:04
havenn joined
08:32
mucker joined
08:39
noam left,
noam joined
08:45
snearch joined
|
|||
jnthn | morning o/ | 08:47 | |
wow, short backlog | 08:48 | ||
mikec | good morning | ||
sorear | o/ jnthn | 08:55 | |
good morning and welcome, mikec | |||
moritz | jnthn++ # bs branch | 08:57 | |
the startup time improvement is really impressive | |||
and most spectest failures seem to be that code objects come out as the wrong type (Captureproxy) | 08:58 | ||
and memory usage during compiling the setting is also impressively low | 09:03 | ||
(now in the order of 1GB, used to be 1.8GB) | 09:05 | ||
jnthn | Yeah, something is certainly adrift with those | 09:07 | |
Gotta madly hack up $dayjob code for much of today, but will see if I can fathom what's going on with it this evening. | 09:08 | ||
09:09
replore__ joined
09:10
replore__ left,
replore left,
replore__ joined,
mj41 joined
09:13
sisar joined
|
|||
sorear | o/ sisar | 09:14 | |
09:14
ab5tract joined
|
|||
jnthn | moritz: ooc, does compiling the setting take less time also? | 09:16 | |
moritz | jnthn: haven't checked yet | ||
but will do | |||
09:27
woosley left
09:32
replore__ left
09:43
am0c left
09:46
ab5tract left
|
|||
jlaire | perl6: say so any(2,3,4) * any(5,6,7) == 14 | 09:48 | |
p6eval | pugs b927740: OUTPUT«*** No such subroutine: "&so" at /tmp/tfroxOngXZ line 1, column 5 - line 2, column 1» | ||
..rakudo 7a58a0, niecza v15-2-gd19c478: OUTPUT«True» | |||
jlaire | is there a way to know which choices resulted in True? | ||
jlaire sighs at rosettacode.org/wiki/Amb , most solutions either misunderstand amb or ignore it completely, solving the example in an ad-hoc manner | 09:49 | ||
moritz | jlaire: no. | 09:50 | |
jlaire | moritz: okay, thanks | ||
moritz | (it's not what junctions are meant for) | 09:51 | |
jlaire | thought so | ||
it just would've been a really convenient way to implement amb | |||
jnthn | nom: ((2,3,4) X (5,6,7)).tree ==> grep { .[0] * .[1] == 14 } ==> say | 09:52 | |
p6eval | nom 7a58a0: OUTPUT«2 7» | ||
jlaire | that's not too bad | ||
jnthn++ | |||
moritz | though I would s/grep/first/ | ||
jnthn | nom: ((2,3,4) X (5,6,7)).tree ==> first -> [$a, $b] { $a * $b == 14 } ==> say | 09:53 | |
p6eval | nom 7a58a0: OUTPUT«2 7» | ||
09:59
mikemol left
10:00
dakkar joined
10:07
noam left,
noam joined
|
|||
moritz | a wish for UI designers: if a menu item is grayed out, I'd like to know *why* I can't use it | 10:08 | |
Gothmog_ | pious hope | 10:09 | |
bonsaikitten | how about not crashing on unexpected input? :) | 10:10 | |
Gothmog_ | pious hope | 10:12 | |
felher | jnthn++ #blog post and hacking :) | ||
moritz | wow, rakudo star release announcement is on the hackernews homepage | 10:17 | |
news.ycombinator.com/item?id=3647123 | |||
10:18
lestrrat left
10:19
lestrrat joined
|
|||
moritz | jnthn: setting build times: 6m28.066s on nom, 3m28.880s on bs | 10:20 | |
nom: say (6 * 60 + 28) / (3 * 60 + 8) | |||
p6eval | nom 7a58a0: OUTPUT«2.06382978723404» | ||
moritz | \o/ | 10:21 | |
jnthn | moritz: Is that with or without the pir => pbc step? | ||
moritz | jnthn: with | ||
jnthn: I did a complete build, then touch src/core/Mu.pm; time make | |||
10:22
conntrack is now known as eyeofra
|
|||
moritz | and the times are reported from the last step | 10:22 | |
jnthn | OK. The pir => pbc step is still glacial compared to how it should be. | 10:23 | |
I think I can improve things there | |||
But still, nice improvement. :) | |||
moritz | indeed. | ||
(that was measured on a 64bit system, fwiw) | |||
10:25
eyeofra is now known as conntrack
10:29
noam left
10:30
noam joined
10:37
NamelessTee joined
10:39
birdwind1pbird joined
10:43
noam left
10:44
daxim joined,
Patterner left
10:47
noam joined
10:50
pernatiy left
10:54
sisar left
11:01
snearch left
11:06
Psyche^ joined,
Psyche^ is now known as Patterner,
scott__ left
11:17
grondilu joined
11:18
mucker left
|
|||
grondilu | I fixed rmd160 in my crypto module: s0.barwen.ch/~grondilu/Crypto.pm6 | 11:18 | |
11:18
grondilu left
11:23
birdwind1pbird left
11:25
noam left
11:26
noam joined
11:33
Trashlord joined
11:46
benabik left
11:58
libreofficer left
12:06
itz_ left
12:07
itz joined
|
|||
cognominal | perl6: my @a = { :a }; say @a.perl; my %b = :b; @a.push: %b; say @a.perl | 12:28 | |
p6eval | rakudo 7a58a0: OUTPUT«Array.new({"a" => Bool::True})Array.new({"a" => Bool::True}, "b" => Bool::True)» | ||
..pugs b927740: OUTPUT«[{("a" => Bool::True),},][{("a" => Bool::True),}, ("b" => Bool::True)]» | |||
..niecza v15-2-gd19c478: OUTPUT«[{"a" => Bool::True}].list[{"a" => Bool::True}, "b" => Bool::True].list» | |||
cognominal | I probably don't understand context, I would not expect %b to be flattened. | 12:30 | |
12:30
benabik joined
12:32
araujo left
|
|||
au | it's not flattened... | 12:32 | |
perl6: my @a = { :a }; my %b = :b; @a.push: %b; say @a[1].WHAT.perl | |||
p6eval | pugs b927740: OUTPUT«::Pair» | ||
..rakudo 7a58a0, niecza v15-2-gd19c478: OUTPUT«Pair» | |||
moritz | nom: my @a = :a; my %b = :b; @a.push: %b.item; say @a.perl | 12:39 | |
p6eval | nom 7a58a0: OUTPUT«Array.new("a" => Bool::True, {"b" => Bool::True})» | ||
moritz | nom: my @a = :a; my %b = :b; @a.push: %b; say @a.perl | ||
p6eval | nom 7a58a0: OUTPUT«Array.new("a" => Bool::True, "b" => Bool::True)» | ||
moritz | cognominal: % generally flattens, just like @ | ||
cognominal | yes, I just thought that list context was more different from Perl 5. wrong expectations. | 12:41 | |
strange that it did not bit me long ago. | |||
12:42
noam left,
noam joined
|
|||
moritz | the difference is that @a[0] = %some-hash does something sensible | 12:42 | |
cognominal | nom: my @a = :a; my @b = :b; my @c = (item @a, item @b ); say @c.perl | ||
p6eval | nom 7a58a0: OUTPUT«Array.new(["a" => Bool::True, "b" => Bool::True])» | ||
cognominal | I should read the specs because I got my expections all wrong. | 12:43 | |
12:43
havenn left
12:45
tokuhirom joined
|
|||
moritz | well, it's also a precedence thing | 12:45 | |
12:45
Trashlord left
|
|||
moritz | my @a = :a; my @b = :b; my @c = (item @a), (item @b); say @c.perl | 12:45 | |
nom: my @a = :a; my @b = :b; my @c = (item @a), (item @b); say @c.perl | 12:46 | ||
p6eval | nom 7a58a0: OUTPUT«Array.new("a" => Bool::True, "b" => Bool::True)» | ||
moritz | that surprises me though | ||
nom: my @a = :a; my @b = :b; my @c = @a.item, @b.item; say @c.perl | |||
p6eval | nom 7a58a0: OUTPUT«Array.new(["a" => Bool::True], ["b" => Bool::True])» | ||
moritz | that's what I would have expected | ||
cognominal | nom: my @a = :a; my @b = :b; my @c = ( $(@a), $(@b) ); say @c.perl | 12:53 | |
p6eval | nom 7a58a0: OUTPUT«Array.new(["a" => Bool::True], ["b" => Bool::True])» | ||
cognominal | nom: my @a = :a; my @b = :b; my @c = ( $@a, $@b ); say @c.perl | ||
p6eval | nom 7a58a0: OUTPUT«===SORRY!===Invalid hard reference syntax at line 1, near "@a, $@b );"» | ||
moritz | that's supposed to work, but NYI | ||
cognominal | so if it will be just a question of one char, meaning $@a, instead of @a, I am can live with that flattening. | 12:56 | |
I just did not expect it to be the default. | 12:57 | ||
moritz | I think it would be an interesting experiment to get rid of default flattening alltogether | 12:58 | |
cognominal | this will certainly surprise the perl 5 crowd :) | 12:59 | |
12:59
tarch joined
|
|||
cognominal | but somehow I feel it is a fossil behavior from perl 5. | 13:00 | |
13:01
Trashlord joined
|
|||
cognominal | wrong metaphor, because fossils don't "behave". | 13:02 | |
13:06
grondilu joined
|
|||
grondilu | I have difficulties to understand the 'Buf' type. For instance, is it a scalar or an array? | 13:06 | |
are there examples of Buf uses somewhere? | 13:07 | ||
moritz | grondilu: it's both | ||
grondilu: it's a binary string, which can be also used as an array of byte numbers | 13:08 | ||
grondilu | So it is what I need (an array of bytes), but I don't understand how to use it :( | ||
moritz | grondilu: and there are examples of Buf in action in the 2011 advent calendar posts | ||
grondilu googles "perl6 2011 advent" | 13:09 | ||
moritz | nom: say Buf.new(65, 68).decode('ASCII') | ||
p6eval | nom 7a58a0: OUTPUT«AD» | ||
moritz | nom: say Buf.new(65, 68)[0] | ||
p6eval | nom 7a58a0: OUTPUT«65» | 13:10 | |
grondilu | cool, looks like this is exactly what I need. Thanks | ||
moritz | nom: say $*IN.read(10) | ||
p6eval | nom 7a58a0: OUTPUT«Buf:0x<4c 61 6e 64 20 64 65 72 20 42>» | ||
jnthn | nom: say Buf.new(255, 68).decode('utf-8') | ||
p6eval | nom 7a58a0: OUTPUT«Malformed UTF-8 string in method decode at src/gen/CORE.setting:6007 in block <anon> at /tmp/eoDmb3NuVt:1» | ||
jnthn | \o/ | ||
13:10
araujo joined,
araujo left,
araujo joined
|
|||
moritz | grondilu: note that bitwise operations on bufs might not be the fastests (currently implemented in the setting) | 13:11 | |
grondilu: though it's quite possible to speed them up | |||
grondilu | doesn't matter much if it's slow. I can wait for it to get faster. | 13:12 | |
this 2011 advent calendar seems cool. Any way I could download it for offline read ? (I'm not good in using wget) | |||
moritz wonders if Buf should have a .subbuf method just like substr | 13:13 | ||
grondilu: I'm not aware of it. The posts aren't in a common repository or so | |||
jnthn | You'll get stuff if you go to perl6advent.wordpress.com/2011/12/25/ for example | 13:16 | |
grondilu | nom: say buf8.new(42, 42).decode('ASCII') # testing buf8 | ||
jnthn | So can just loop 1..25 | ||
p6eval | nom 7a58a0: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&buf8' called (line 1)» | ||
moritz | grondilu: rakudo's Buf is in effect a Buf8. It just cheats :-) | ||
benabik | nom: my buf8 $test; | ||
p6eval | nom 7a58a0: OUTPUT«===SORRY!===Malformed myat /tmp/dWsls7qm8e:1» | ||
grondilu | So Buf is basically the closest thing from a perl5 binary string, right? | 13:18 | |
moritz | yes | ||
grondilu | ok | ||
13:19
sisar joined
13:30
bluescreen10 joined
|
|||
dalek | kudo/nom: 4726db3 | moritz++ | src/core/Buf.pm: Implement (not-yet-specced) Buf.subbuf; just likst substr, only for buffers |
13:30 | |
[Coke] | au: does pugs have Cool yet? | 13:32 | |
13:33
simcop2387 left
|
|||
[Coke] | au: followup: where's the best place to add coercion methods like .Int, .Num, .Rat, .Str (and helpers like .gist) ? | 13:33 | |
13:34
simcop2387 joined
|
|||
moritz | pugs: Cool | 13:39 | |
p6eval | pugs b927740: OUTPUT«*** No such subroutine: "&Cool" at /tmp/datBP4h8aQ line 1, column 1 - line 2, column 1» | ||
moritz | that's a clear "no" | ||
benabik | perl6: Any.^parents.say | ||
p6eval | pugs b927740: OUTPUT«*** No such method in class Class: "&parents" at /tmp/n_V2B9sATO line 1, column 1 - line 2, column 1» | ||
..niecza v15-2-gd19c478: OUTPUT«Unhandled exception: Unable to resolve method parents in class ClassHOW at /tmp/jBSoX31HrI line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3838 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3839 (module-CORE @ 65)  at … | |||
..rakudo 7a58a0: OUTPUT«» | |||
benabik | Well, that was more variety than I expected... | 13:40 | |
Any's above Cool anyway, isn't it. :-/ | |||
moritz | aye | ||
nom: say Str.^parents(:tree) | |||
p6eval | nom 7a58a0: OUTPUT«use of uninitialized value of type Cool in string contextuse of uninitialized value of type Any in string contextuse of uninitialized value of type Mu in string context » | ||
moritz | nom: say Str.^parents>>.gist | 13:41 | |
p6eval | nom 7a58a0: OUTPUT«» | ||
moritz | huh | ||
jnthn | It's that think TimToady spec'd where it excludes types above certain levels. | ||
moritz | nom: say .gist for Str.^parents | ||
p6eval | nom 7a58a0: ( no output ) | ||
moritz | nom: say .gist for Str.^parents(:all) | ||
p6eval | nom 7a58a0: OUTPUT«Cool()Any()Mu()» | ||
jnthn | s/think/thing/ | ||
moritz | right | ||
benabik | Is parents non-spec, or is it just NYI in niecza? | 13:42 | |
jnthn | It's spec. | ||
moritz | benabik: niecza doesn't seem to do any introspection | ||
or not much | 13:43 | ||
benabik | And pugs's metamodel is just behind the times. I shouldn't go poking at that, I have enough distractions from my thesis already. | ||
13:43
pernatiy joined
|
|||
benabik clones pugs.hs anyway. | 13:45 | ||
13:50
tarch_ joined,
tarch left
13:51
tarch_ is now known as tarch
|
|||
[Coke] | pugs: say Int | 13:56 | |
p6eval | pugs b927740: OUTPUT«Int» | ||
[Coke] | ah. must have confused that for: | 13:57 | |
pugs: say 3.Int | |||
p6eval | pugs b927740: OUTPUT«*** No such method in class Int: "&Int" at /tmp/VMfs0FWvGP line 1, column 5 - line 2, column 1» | ||
[Coke] | benabik: hey, now that you can run a spectest... | ||
benabik | [Coke]: I'll get to that as soon as the Platform is done installing. I apparently haven't used GHC on my new(-ish) laptop | 13:58 | |
[Coke] | yah, first build takes a while. ;) | 13:59 | |
benabik | Does pugs run non-installed? | 14:00 | |
14:02
tarch_ joined,
tarch left
|
|||
benabik | errrrr..... I don't think ghc likes Xcode 4.3 | 14:02 | |
au | pugs does run non-installed | 14:03 | |
and ghc 7.4.1 seem to work OK with Xcode 4.3 (skip the platform) | |||
benabik | Ah. It's just looking for gcc in the wrong place. Have to edit some files. | 14:04 | |
wolverian | xcode-select might help. | 14:05 | |
benabik | wolverian: Nope. 4.3 removed the /Developer directory entirely, which is where ghc is expecting gcc to be. | ||
wolverian | Surely GHC should be looking for it on $PATH? | ||
benabik | That would be nice. | ||
au | [Coke]: re .gist, there's a .guts primop in src/Pugs/Prim.hs +235 | 14:09 | |
re coercion, maybe same file line 215 | |||
op1 "int" = op1Cast VInt | |||
can just be amended with a "Int" clause. (also see same file, +1891 and +1982) | 14:10 | ||
14:11
havenn joined
|
|||
au | an alternative might be hacking Pugs.hs/Pugs/src/perl6/Prelude.pm and compile it in. | 14:11 | |
. | |||
14:12
o_ joined
14:13
wolverian left,
wolverian joined
14:15
havenn left,
samlh left,
havenn joined
|
|||
benabik | So it seems that the Pugs.hs contains a variety of packages in it that all need to be installed before working on Pugs itself? | 14:17 | |
au | benabik: yes, but those are on hackage | 14:21 | |
"cd Pugs.hs/Pugs ; cabal update ; cabal configure ; cabal build" should install the subpackages | 14:22 | ||
benabik | au: From hackage, not the repo? | ||
au | they're exactly the same | ||
(only the Pugs/ subdirectory receives changes at the moment -- of course that may change if e.g. MetaObject/ gets hacked on) | 14:23 | ||
benabik | au: I enjoy doing things the hard way. :-D | ||
au | well then :) | 14:24 | |
benabik | I find it helps me understand the system better. | ||
And I had to completely kill and re-install Platform because apparently my cabal was FUBAR. At least it worked. | |||
au | yay! | ||
grondilu | Is it me or compiling rakudo gets longer and longer with time? I guess it's a good thing since it means that more features are added, but still... It's pretty long and uses a LOT of memory. I'm afraid one of these days I won't be able to compile it (I already need to add about 500Mo swap). | 14:27 | |
benabik | grondilu: There's an in progress branch that's already dropped memory usage by 40%. | 14:28 | |
grondilu | good | ||
grondilu failed to install panda again :( | 14:30 | ||
Method 'at_key' not found for invocant of class 'Any' | 14:31 | ||
in block <anon> at bin/panda:12 | |||
I actually never managed to install this :/ | |||
o_ | grondilu: I am compiling rakudo too (2mins already). How long does it take usually? | 14:32 | |
grondilu | I don't know exactly, but at least 10 minutes | 14:33 | |
benabik | Rakudo is a "go get coffee" compile. | ||
grondilu | :) | ||
o_ | thanks. let me wait then :) | ||
benabik | There's a step that says "This may take a while". It's not lying. :-D | 14:34 | |
grondilu | indeed. Maybe the message should add. Stop watching this screen and go do something else. | ||
:) | 14:35 | ||
o_ | well, it has finished. | ||
... creating makefile | 14:36 | ||
14:37
sisar left
14:40
grondilu left
|
|||
lumi___ | I'm having trouble building pugs with GHC 6.12.3, in pugs-compat | 14:48 | |
benabik | Hm. Pugs.hs/t/run_spectests appears to expect a Pugs.hs/Pugs/pugs, which cabal build didn't create. | ||
au | benabik: it's created by "make" | ||
benabik | Ah. The makefile copes it. Nevermiend. | ||
au | lumi___: nopaste / gist ? | ||
benabik | That's a lot of "Setting locale failed". :-/ | 14:49 | |
au | yeah, I think it's kinda linux specific | ||
14:50
havenn left
|
|||
lumi___ | au: gist.github.com/1941307 | 14:50 | |
au | (the LC_ALL=en_US.ISO-8859-1 part, that is) | ||
14:51
kaleem left
|
|||
dalek | gs.hs: 6f0ee57 | au++ | pugs-compat/ (2 files): * Compatibility with modern versions of stm package; lumi++ |
14:53 | |
au | lumi___: try "cabal update ; cabal install" | 14:54 | |
benabik | [Coke]: Spectest running. :-) | ||
au | (or "cd ../pugs-compat ; cabal install" and resume back in ../Pugs) | 14:55 | |
14:55
havenn joined
14:56
mikemol joined,
itz left
14:59
whiteknight joined
|
|||
lumi___ | au: Still broken, same thing again in Compat.hs | 15:00 | |
au | hmm. did you install from the "git pull"'d repo or from "cabal update"'d hackage? | 15:01 | |
15:02
itz joined
|
|||
lumi___ | au: Sorry, I misexplained. That fixed Pugs.Compat.Monads, but Pugs.Compat also imports STM so it has the same collision | 15:02 | |
au | aha | ||
15:02
samlh joined
15:04
skids joined
|
|||
au | lumi___: try the repo version again? | 15:04 | |
dalek | gs.hs: c32e970 | au++ | pugs-compat/src/Pugs/Compat.hs: * Fix conflict import in Pugs.Compat too; lumi++ |
||
au | (re-uploaded to hackage too) | 15:06 | |
dalek | gs.hs: b5e9ef8 | au++ | pugs-compat/pugs-compat.cabal: * Release to hackage again |
15:11 | |
15:16
o_ left
|
|||
lumi___ | au: pugs-compat passes, Pugs fails: gist.github.com/1941307 | 15:23 | |
So I fixed that by adding TMVar to the imports in Compat, but then I get something else | 15:24 | ||
au: gist.github.com/1941577 | 15:25 | ||
benabik | [Coke]: gist.github.com/1941582 | 15:26 | |
au | lumi___: ok, try limiting imports from Pugs.AST.SIO | ||
src/Pugs/AST/SIO.hs | |||
tadzik | nqp/bs doesn't build on bleed parrot, right? | ||
au | something like "import Control.Concurrent.STM (STM, liftSTM)" and add as needed | 15:27 | |
15:28
noam left,
kaare_ joined
15:30
tokuhirom left
|
|||
jnthn | tadzik: Right. I'll rectify that shortly though. | 15:32 | |
tadzik | oh, cool | ||
jnthn | (this evening, or tomorrow at latest) | ||
moritz | the patch should be similarlish to rakudo's commit 7cb10870622f65244502c351a2f0b005c7a23a70 | ||
benabik | Cherry-picking that commit might be enough. | 15:33 | |
moritz | no | ||
tadzik | different repo, different file :) | ||
jnthn | Right :) | ||
But given the code I have looks identical to the updated code there... | |||
benabik | Oh, it needs to be done in nqp/bs, rather than rakudo/bs? | ||
15:33
o_ joined
|
|||
moritz | benabik: correct | 15:34 | |
15:35
tokuhirom3 left,
jaldhar left
15:37
wtw left
|
|||
[Coke] | benabik: I get 6 known failures, no passing todos. e.g.: t/spec/integration/99problems-01-to-10.t - you show that 18 was a TODO pass, but I get: | 15:37 | |
lumi___ | au: Yay passes! I'll try to commit | ||
[Coke] | not ok 18 - ... even with multi subs # TODO fix by Christmas | ||
# Failed (TODO fix by Christmas) test (t/spec/integration/99problems-01-to-10.pugs line 149, column 13-73) | |||
# Expected: 'a b c a d e' | |||
# Actual: 'a a a a b c c a a d e e e e' | |||
au | lumi++ yay! | 15:38 | |
[Coke] | (that's with b5e9ef8ef58b22c84c0c86cbb114e311fcd130ec of Pugs.hs and 74401fddc70c81f7a79f11269e2d7f35d216b282 of roast) | ||
dalek | gs.hs: 3ec95ac | (Zohar Kelrich)++ | / (2 files): Fix import conflicts from modern stm |
15:39 | |
benabik | [Coke]: I have 7fb69dc1760f1bc20c6b5eed97a59774b5cc588b and 74401fddc70c81f7a79f11269e2d7f35d216b282 | ||
dalek | gs.hs: 57bc5e9 | au++ | pugs-compat/pugs-compat.cabal: * Release to hackage again |
15:41 | |
[Coke] | looks like that just misses some changes from au today. | ||
weird. | 15:42 | ||
benabik | [Coke]: Hmmmmm.... Trying to run it by hand gets me the wrong output. | ||
[Coke] | I presume differences in GHC or platform. | ||
benabik: how are you trying to run it by hand? | |||
you need "t/fudgeandrun S05-mass/rx.t", e.g. (with or without the t/spec) | |||
benabik | [Coke]: Oops, forgot to flatten the array. | ||
[Coke] | because the .t file may not be runnable directly. | ||
I typically do "prove -v -e t/fudgeandrun <spectest>" | 15:43 | ||
benabik | [Coke]: I was trying to run the test by typing it into pugs myself. | ||
15:44
att left
|
|||
benabik | So I could see the output. | 15:44 | |
[Coke] | ah. | ||
15:44
Psyche^ joined
|
|||
benabik | I'm running on 7.0.4 on OS X 10.7.3. | 15:45 | |
fsergot | o/ | ||
15:45
marmalade joined
|
|||
tadzik | gist.github.com/1941829 works for me and passes tests | 15:45 | |
not sure how correct it is, though :) | 15:46 | ||
hello fsergot | |||
[Coke] | benabik: I'm on 7.4.1 on mumblelinux. | 15:47 | |
15:47
tokuhirom3 joined,
o_ left
|
|||
benabik | [Coke]: I guess multis got broken somewhere between 7.0.4 and 7.4.1? | 15:48 | |
15:48
Patterner left,
Psyche^ is now known as Patterner
|
|||
[Coke] | rt.perl.org/rt3//Public/Bug/Displa...?id=111426 looks apply-able. | 15:48 | |
15:48
thou joined
|
|||
moritz | is that the only newly broken test? | 15:48 | |
[Coke] | benabik: I have no clue. I just started fudging the spectest for pugs a few weeks ago. | ||
15:49
ab5tract joined
|
|||
moritz | [Coke]: applying... | 15:50 | |
dalek | p: 7e65c6f | (Mike Small)++ | Configure.pl: Fix build problem in NetBSD. NetBSD's make doesn't look for BSDmakefile. Dyncall manual says to build with -f BSDmakefile. OpenBSD and FreeBSD should be fine as is, since their makes do look for BSDmakefile. Signed-off-by: Moritz Lenz [email@hidden.address] |
||
colomon | so, has someone reserved a Raspberry Pi to test p6 on it? ;) | 15:52 | |
15:53
samlh left
|
|||
moritz | I've decided to wait until the huge rush is over | 15:53 | |
benabik | Are they shipping outside the UL? | 15:54 | |
colomon | I haven't officially decided that, but I'm planning on being lazy about trying to order, which probably amounts to the same thing. :) | ||
benabik | *UK | ||
moritz | benabik: the homepage praises their partners international distribution network | 15:55 | |
benabik | moritz: Awesome. I had heard the initial releases would be UK-only. | 15:56 | |
16:07
Kharec joined,
Kharec left
16:14
icwiener joined,
Trashlord left
|
|||
moritz | nom: say given Date.toay { when .month == 2 && .day == 29 {'Happy leap day' }; default { 'such a boring date' } } | 16:24 | |
p6eval | nom 4726db: OUTPUT«===SORRY!===Confusedat /tmp/ZDZIu9Dvzi:1» | ||
tadzik | toay->today | 16:25 | |
moritz | nom: say do { given Date.toay { when .month == 2 && .day == 29 {'Happy leap day' }; default { 'such a boring date' } } } | ||
p6eval | nom 4726db: OUTPUT«Method 'toay' not found for invocant of class 'Date' in block <anon> at /tmp/OVkoR14w_V:1» | ||
16:25
noam joined
|
|||
moritz | nom: say do { given Date.today { when .month == 2 && .day == 29 {'Happy leap day' }; default { 'such a boring date' } } } | 16:25 | |
p6eval | nom 4726db: OUTPUT«Happy leap day» | ||
tadzik | oh, it's a leap day! | ||
16:26
wolfman2000 left
|
|||
moritz | aye | 16:27 | |
cognominal | that's the birthday of Sapeur Camember, a antihero of a French comic created around 1890 aulas.pierre.free.fr/chr_cam_pro.html | 16:29 | |
16:29
havenn left
|
|||
moritz | it was my projected birth day, and I only missed it by 3 days :-) | 16:30 | |
TimToady | perl6: multi dethunk(&x) { x() }; multi dethunk($x) { $x }; say dethunk 'foo'; say dethunk {'bar'} | 16:31 | |
p6eval | pugs b927740, rakudo 4726db: OUTPUT«foobar» | ||
..niecza v15-2-gd19c478: OUTPUT«fooUnhandled exception: Ambiguous dispatch for &dethunk; matched candidates are: Any Any at /tmp/gT2NTXPOJs line 1 (mainline @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 3838 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3839… | |||
TimToady | nieczabug: ^^ doesn't treat & as Callable type | ||
jnthn | what dethunk? :) | 16:32 | |
tadzik | ;) | ||
16:36
att joined
16:41
havenn joined
|
|||
jnthn | #phasers in 30? If we still phase... :) | 16:59 | |
17:00
snearch joined
|
|||
TimToady | jlaire: I've improved the P6 amb solution somewhat to actually evaluate in unspecified order | 17:04 | |
17:06
MayDaniel joined
|
|||
TimToady | unfortunately it uses hyper, which is not really parallel yet in niecza | 17:06 | |
and not guaranteed to be parallel in any case | |||
so I can't handle thunks that do {sleep 1000000}, only thunks that die | 17:07 | ||
also, hyper guarantees the returned order, so maybe any(@x).&dethunk would be better | 17:08 | ||
(not that any guaruntees parallelism either) | |||
I guess we're missing a primitive | 17:09 | ||
17:09
birdwindupbird left
|
|||
jlaire | TimToady: interesting | 17:10 | |
my mini-rant wasn't specifically about the Perl 6 code | |||
TimToady | maybe a hyper in sink context should guarantee parallel | ||
I know, but I figgered I could do better than just doing backtracking with lazy lists | 17:11 | ||
(and gather does supply a sink context) | |||
moritz | TimToady: I'd prefer it if 'hyper' didn't guarantuee parallelism | 17:12 | |
TimToady | not even in sink context? | ||
moritz | right | 17:13 | |
TimToady | or maybe we're missing a context | ||
maybe async is really a context | |||
and application to a non-hyper, non-junction is just a degenerate case | 17:14 | ||
I note that any(@x).&dethunk also works in niecza++ | |||
jnthn | It doesn't in nom? | 17:15 | |
Or just not tried it? | |||
TimToady | nom is getting a weird error that I can't figure out how to get rid of | ||
17:15
samlh joined
|
|||
TimToady | I thought it was the next out of the X, but maybe not | 17:15 | |
jnthn | nom: any(1,-2,3,-4).abs | ||
p6eval | nom 4726db: ( no output ) | ||
jnthn | nom: any(1,-2,3,-4).&abs | ||
p6eval | nom 4726db: OUTPUT«===SORRY!===Symbol '&abs' not predeclared in <anonymous> (/tmp/MeVuG6dFrd:1)» | ||
jnthn | nom: sub abs($x) { $x.abs }; say any(1,-2,3,-4).&abs | 17:16 | |
p6eval | nom 4726db: OUTPUT«any(1, 2, 3, 4)» | ||
benabik | nom: say &abs | ||
p6eval | nom 4726db: OUTPUT«===SORRY!===Symbol '&abs' not predeclared in <anonymous> (/tmp/g3cTO18s6F:1)» | ||
TimToady | nom: say any(1,-2,3,-4).&prefix:<abs> | ||
p6eval | nom 4726db: OUTPUT«any(1, 2, 3, 4)» | ||
TimToady | it's a prefix, not a sub | 17:17 | |
well, it's a prefix sub :) | |||
jnthn | aha | ||
So Rakudo doesn't need to work on its abs after all :) | 17:18 | ||
17:19
PacoAir joined
|
|||
TimToady | ₐᵣ | 17:19 | |
or how 'bout a junctional thing like each() but specifically unordered parallel dispatch | 17:22 | ||
call it race(@x) or some such | 17:23 | ||
hmm, I wonder how that could work... | 17:24 | ||
probably more general to make it a context like eager and hyper | |||
my @x = race for @x { stuff() } | 17:25 | ||
then @x shows up in order of stuff() finishing | |||
I think I really like that | |||
jnthn | It doesn't promise the order that things will come back? | ||
TimToady | and it's a lazy list in order of finish, so something that never terminates just never adds itself | ||
jnthn | *nod* | 17:26 | |
TimToady | no, it doesn't | ||
jnthn | Cute :) | ||
TimToady | that's what hyper does | ||
and hyper only *allows* parallelism | |||
oh, s:1st/@x/@result/ above | |||
jnthn | fwiw, in Parallel Linq in .Net land they do that by default, and you have to explicitly ask for ordering. | ||
TimToady | I think that's the wrong default for mere mortals | 17:27 | |
one could have a 'use race;' of course | |||
someone should make the 'racist' joke once, and then we'll just not make that joke anymore... | 17:28 | ||
jnthn | TimToady: Well, it's not the default default. It's the default after you've said .AsParallel() on the iterator in order to opt in to parallel processing. | ||
It's not black and white whether anyone would ever make such a joke... | 17:29 | ||
TimToady | well, AsParallel() is a mouthful | ||
jnthn | Of course. Welcome to C#. ;-) | ||
(I like it generally, but yeah, it gets wordy.) | |||
TimToady | can I go home now? | ||
jnthn | :) | ||
We has just about done his C# for the day and can get back to Perl 6 soon. :) | 17:30 | ||
TimToady | Refrigerator Cat has purz | ||
17:31
pernatiy left
|
|||
jnthn | tadzik: Thanks for the patch for bs on bleed Parrot...just trying it out now | 17:32 | |
17:35
packetknife joined
17:37
tarch_ left
17:40
icwiener left,
icwiener joined
17:42
fglock joined
|
|||
dalek | p/bs: 7e65c6f | (Mike Small)++ | Configure.pl: Fix build problem in NetBSD. NetBSD's make doesn't look for BSDmakefile. Dyncall manual says to build with -f BSDmakefile. OpenBSD and FreeBSD should be fine as is, since their makes do look for BSDmakefile. Signed-off-by: Moritz Lenz [email@hidden.address] |
17:46 | |
p/bs: 9ff82b3 | jnthn++ | / (36 files): Merge branch 'master' into bs |
|||
p/bs: 00c5509 | jnthn++ | src/6model/serialization.c: Patch from tadzik++ to get bs building on bleed Parrot. |
|||
kudo/bs: 7a58a0d | moritz++ | docs/ChangeLog: update ChangeLog |
17:47 | ||
kudo/bs: 4726db3 | moritz++ | src/core/Buf.pm: Implement (not-yet-specced) Buf.subbuf; just likst substr, only for buffers |
|||
kudo/bs: c077570 | jnthn++ | / (20 files): Merge branch 'nom' into bs |
|||
kudo/bs: 136ef41 | jnthn++ | tools/build/NQP_REVISION: Update NQP_REVISION to one in the NQP bs branch, to ease trying out the bs branch a bit. |
|||
ecs: 50885ef | larry++ | S02-bits.pod: beyond 'hyper' we now have 'race' |
17:48 | ||
colomon | oh noez!~ | ||
TimToady | we had nothing like hyper that would guarantee parallel execution without caring about order of results | 17:50 | |
there's no metaop for it, only the contextualizer | |||
it's not clear whether .hyper or .race can work either; they'd have to "speak" to the upstream iterator | 17:51 | ||
but 'race' is for intentionally installing race conditions :) | 17:52 | ||
17:52
samlh left
|
|||
colomon | So.... how would you use it? | 17:52 | |
17:53
icwiener left
|
|||
colomon | @results = race @data>>.mutilate ? | 17:53 | |
17:53
PacoAir left,
icwiener joined
|
|||
colomon | and @results[0] is the first result done, no matter which part of @data it comes from? | 17:53 | |
TimToady | that's one way; I'd use it in rosettacode.org/wiki/Amb#Perl_6 to allow some computations to hang | ||
race any(@data).mutilate would presumably have the same effect | 17:54 | ||
race for @data { .mutilate } | |||
colomon | wouldn't that return a junction? # any(@data).mutilate | 17:55 | |
mikemol | TimToady: "guarantee" or "explicitly allow"? | ||
jnthn | I'm dubious about race @data>>.mutilate because >>. immediately does its work since hypers are not lazy | ||
I can see how race for @data { ... } is gonna work | |||
TimToady | we already have "explicitly allow" in hyper | ||
and it's not enough to do what amb wants | 17:56 | ||
17:56
havenn left
|
|||
mikemol | So what would 'race' do in a circumstance where the operating virtual machine can't run two code paths in parallel? | 17:56 | |
TimToady | install a scheduler? | ||
most of the modern Erlang/Go-ish things can handle green threads for this sort of thing | 17:57 | ||
Go in particular knows when any of its green threads are going to block, I believe, and goes back to the scheduler | 17:58 | ||
mikemol does not like RC's description of Amb. | 17:59 | ||
TimToady | no, but the Discussion page is pretty clear on the intent, taken as a whole | ||
17:59
autark joined
|
|||
moritz | wow, somebody actually reads those? | 18:00 | |
moritz amazed | |||
mikemol | Haha...In 2008, I raised a similar concern to the one I was about to raise. "rosettacode.org/wiki/Amb#Perl_6" | ||
TimToady | it was enough for me to make the Perl 6 solution handle dying thunks, anyway, even if we can't handle non-termination yet | ||
mikemol | gahg | 18:01 | |
18:01
samlh joined
|
|||
mikemol | "Can we assume, for the purposes of the task, that the pseudo-randomness of "random" numbers available on PCs without external assistance qualify as non-deterministic? --Short Circuit 22:47, 22 March 2008 (MDT)" | 18:01 | |
TimToady | the literature alluded to seems to want to deal with non-termination | ||
a *.pick isn't going to do that | 18:02 | ||
it could be a bonus think, of course | |||
jnthn dinner & | |||
TimToady | but it alerted me to the fact that P6 is missing a primitive | ||
(race might or might not be that missing primitive, but it's close to it) | 18:03 | ||
in any case, to implement the user-friendly race in terms of async {} is likel to require collaboration of the iterator guts somehow | 18:04 | ||
*ly | |||
18:08
localhost left
|
|||
TimToady | iterators need a .munch_async or a setting that makes .munch spawn threads, or some such | 18:09 | |
18:10
dakkar left
|
|||
TimToady | well, just doctoring .munch is not enough, since you need to gather/take the munches in order of finish | 18:10 | |
moritz | rakudo's List.map doesn't use gather/take at all, iirc | 18:11 | |
18:13
birdwindupbird joined
|
|||
TimToady | the gather/take would be implied by the race; not sayin' there's necessarily one there already | 18:13 | |
but somehow that info has to get into the guts of the iterator(s) | 18:14 | ||
18:14
colomon left,
skids left
|
|||
TimToady | it really only needs to spawn threads for anything thunky; values in the list can just be collected and returned first, maybe with .pick(*) to randomize their order | 18:16 | |
but as specced, hypers and junctions are considered implicitly thunky insofar as they can be used to invoke bits of code | 18:18 | ||
map is thunky, hence for is also thunky | 18:19 | ||
but race probably needs to be a bit macro-y to tell things in its scope to do all that | 18:21 | ||
hence it is currently specced only as a contextualizer | |||
that is, the AST passed to the 'race' macro might need some fixups to make it work right | 18:22 | ||
moritz | heh. Work for masak++ :-) | 18:23 | |
TimToady | one could view 'race' as a mini-pragma that changes the interpretation of parallelizable things | ||
mikemol | That's mostly what I was thinking a moment ago. | 18:24 | |
TimToady | maybe 'hyper' too; though eager can be done just by slurping the list | ||
[Coke] suggests go instead of 'race' to mimic do | |||
TimToady squints | 18:26 | ||
18:27
glass left
|
|||
[Coke] wonders if that's a Bones reference! ;) | 18:28 | ||
TimToady raises an eyebrow | |||
18:28
att left
18:29
mj41 left,
glass joined
|
|||
TimToady | #phasers is even quieter than last week... | 18:29 | |
18:31
icwiener left,
icwiener joined
18:53
localhost joined
|
|||
masak | #perl6! \o/ | 19:03 | |
well, #phasers being quiet is quite understandable. it's not like we've had any big releases lately... | 19:04 | ||
I can't think of a single one, actually. | |||
fsergot | masak! \o/ | 19:05 | |
masak | today's autopun spotting: news.ycombinator.com/item?id=3648001 | 19:06 | |
fsergot | masak: What is #phasers for? | ||
19:09
birdwindupbird left
|
|||
daxim | /set fsergot +stun | 19:12 | |
19:13
birdwindupbird joined
|
|||
fsergot | daxim: :) | 19:13 | |
I just want to know what is the purpose of this channel. :) | 19:15 | ||
jnthn | fsergot: It's mostly an attempt at a weekly Perl 6 implementor's status/discussion meetup. | 19:17 | |
It sometimes works well, though in recent weeks seems to have been a bad fit with everyone's schedule. | |||
fsergot | jnthn++ thank You! :) | 19:18 | |
19:22
plobsing left
19:25
daxim left
19:28
hundskatt left
|
|||
masak | jlaire: that's how I felt about rosettacode.org/wiki/Amb too when I looked at it. | 19:28 | |
I only peeked at the Perl 5 and Perl 6 solutions, and neither felt like they had understood the actual cl^H | |||
s/cl/challenge/ | 19:29 | ||
maybe the article simply needs a better explanation, detailing what counts as a proper solution. | |||
here's my take on it: | |||
my $x = amb <2 3 4 5>; | |||
my $y = amb <4 5 6 7>; | 19:30 | ||
assert $x * $y == 14; | |||
# congratulations, you now find yourself in a universe where $x == 2 and $y == 7 | |||
19:30
mj41 joined
|
|||
masak | this is *exactly* what people (wrongly) expect out of junctions. | 19:30 | |
benabik | A sort of self-winnowing any? | ||
masak | yes, you could say. | 19:31 | |
it's a Prologesque backtracking-y thing. | |||
19:33
havenn joined
|
|||
TimToady | here's a start on rosettacode.org/wiki/Collections#Perl_6 | 19:33 | |
19:33
timotimo left
19:34
MayDaniel left,
pernatiy joined
|
|||
TimToady | masak: I understood the challenge, but there are different bits of it, and implementing an autothreading type outside of Any was not my top priority | 19:35 | |
and also, Haskell cheated with lazy lists, so why not Perl 6? :) | |||
benabik | nom: class Amb is Mu {}; say Amb.^parents(:all) | 19:36 | |
p6eval | nom 4726db: OUTPUT«Mu()» | ||
19:36
skids joined
|
|||
masak | TimToady: you may have understood the challenge -- I'm not questioning that -- but the Perl 6 code on that page does *not* "Define and give an example of the Amb operator." | 19:37 | |
which was my point. | |||
TimToady | well, it defines *an* amb operator, and the task just got demoted to Draft for being unclear anyway :P | 19:39 | |
maybe you only looked at the first amb solution I put up, which didn't define an operator | |||
masak | from the talk page: "The important feature of Amb is backtracking via capturing the continuation." | 19:40 | |
TimToady | which is what lazy lists do, which is what it returns | ||
au | sub amb (*@c) { gather @c».&dethunk } # looks good, actually | ||
TimToady | the problem, noted above, is that hyper requires order on the results, and doesn't actually guarantee threading | 19:41 | |
hence the newly specced 'race' contextualizer | |||
the 'turn this iterator into a set of asyncs' contextualizer | |||
and return things in any order | |||
masak | maybe I'm too attached to the way the real 'amb' operator actually hides itself, just like backtracking in regexes hides itself. | 19:42 | |
TimToady | then we can handle non-termination | ||
masak | that, to me is what's nice about it. | ||
so I don't like the Xlf stuff, which just inserts itself everywhere. | |||
TimToady | maybe you are, but that's just an exercize in lazy junctions, once we have the correct primitives | ||
masak | looking forward to that. | ||
TimToady doesn't suppose that the current autothreader is lazy | 19:43 | ||
it'll need to be for the 'each' pseudojunction as well | 19:44 | ||
masak | moritz: is your birthday in three days? | 19:45 | |
TimToady: I agree with the talk page about non-determinism being a red herring. | 19:47 | ||
TimToady | I note that ordinary junctions could be based on a race when some of the values are likely to be longer running than others | ||
masak | <TimToady> my @x = race for @x { stuff() } | 19:48 | |
missing parens? | |||
TimToady | it is kind of a red herring, but it's easy enough to throw a .pick(*) onto the literal values that we know don't need thunking | ||
missing do? missing gather? race is a statement_prefix? .... | 19:49 | ||
TimToady is more interested in the semantics than the syntax for the moment | 19:50 | ||
masak | "I've only created Perl 6, not proved it correct" *scnr* | 19:52 | |
19:53
samlh left
|
|||
TimToady waves tentacles^Whands | 19:53 | ||
masak | here's nothingmuch's post on amb, which I *think* was where I first read about it: blog.woobling.org/2009/08/abstracti...guity.html | 19:54 | |
nothingmuch++ | |||
TimToady | for the record, I'd be fine with an amb junction, it's basically just an unordered, nullable, lazy each variant, in my mind | 20:01 | |
(with threading to handle non-terminators) | |||
it would be nice to be able to write sleepsort in terms of race though | 20:03 | ||
masak | TimToady: my $x = amb 1..100; say "OH HAI"; assert $x == 100; # in your opinion, how many "OH HAI" are output? | 20:04 | |
I don't see how amb could be defined in Perl 6, since Perl 6 doesn't portably expose continuations to the user. | 20:06 | ||
20:07
havenn left
20:08
havenn joined,
havenn left
|
|||
TimToady | I read the talk page there as singularly uninterested in forcing implementation via continuations | 20:11 | |
'sides, 'say' is a side effect, so you can expect it to blow up the universe :) | 20:19 | ||
20:25
fsergot left
|
|||
itz | whats the min amount of memory (phy+swap) needed for a build? I'm a cheapskate with hw and the OOM killer keeps kicking in | 20:27 | |
Tene | itz: jnthn's boudned serialization work is planned to dramatically reduce the memory requirements for compiling rakudo | 20:28 | |
TimToady | nonetheless, niecza is much likelier to work on a small machine in the near term | ||
20:29
timotimo joined
|
|||
itz | ok I'll try more swap and if that fails niecza | 20:29 | |
actually I should try niecza anyway | |||
20:36
preflex left,
preflex_ joined
20:37
preflex_ is now known as preflex
|
|||
moritz | on 64 bit, rakudo currently needs 1.8GB of virtual memory to build | 20:46 | |
down to ~1.1G in a development branch | |||
20:47
MayDaniel joined,
packetknife left
20:48
fsergot joined
20:49
havenn joined
20:50
bluescreen10 left
20:51
birdwindupbird left
20:57
integral joined,
integral left,
integral joined
|
|||
cognominal | in nom, is there the equivalent of tying a hash? | 21:00 | |
probably, but I have forgotten. | |||
jnthn | my %hash := MyCustomHashType.new(); # is a way | ||
benabik | Creating a class that does Associative and using my %not-a-hash := ... what jnthn said | ||
cognominal | ok, I forgot that was a class. bet time probably. | 21:02 | |
*bed | 21:04 | ||
21:05
bluescreen10 joined
|
|||
Tene | rakudo: class Foo { }; my %h := Foo.new(); %h<a> = 1; | 21:06 | |
p6eval | rakudo 4726db: OUTPUT«Type check failed in binding in block <anon> at /tmp/I8uJ2ZqnJD:1» | ||
jnthn | rakudo: class Foo does Associative { }; my %h := Foo.new(); %h<a> = 1; | ||
p6eval | rakudo 4726db: OUTPUT«Method 'at_key' not found for invocant of class 'Foo' in method postcircumfix:<{ }> at src/gen/CORE.setting:1199 in block <anon> at /tmp/nkrCzkXbLC:1» | ||
jnthn | It needs to do Associative to bind to something with % sigil. | ||
Tene | I was curious if the output would indicate what role it needed to do. | 21:07 | |
jnthn | No, it appears bind failure errors suck. | 21:09 | |
21:24
fhelmberger_ joined
21:25
fglock left
21:26
bluescreen10 left
21:29
colomon joined,
icwiener left
21:33
fhelmberger_ left
21:36
benabik left
21:41
Chillance joined
21:49
thou left
21:56
araujo left
21:57
araujo joined,
araujo left,
araujo joined
|
|||
dalek | kudo/bs: 3e25c39 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm: Fix accidental reliance on closure semantics when we're intentionally taking a static code ref. The upshot was that many parameter traits and various bits of generic instantiation didn't work out. This was the source of the vast majority of the busted spectests; now the bs branch seems to be down to O(10) spectest files with issues. |
21:59 | |
22:00
sECuRE joined
|
|||
sECuRE | i just downloaded rakudo star 2012.02 and i’m wondering whether there’s an easy way to install modules yet (just like cpan)? i’m interested in String::CRC32 which I found on modules.perl6.org/ | 22:01 | |
[Coke] | jnthn++ ! | 22:06 | |
sECuRE: I think the answer is "panda" | 22:07 | ||
sECuRE | [Coke]: thanks, that seems to be what i’m looking for | 22:08 | |
22:08
colomon left
|
|||
sECuRE | unfortunately, the tests of String::CRC32 fail :/ | 22:08 | |
the message i’m getting is: p.nnev.de/2386 | 22:09 | ||
however, the sub exists: github.com/cosimo/perl6-string-crc...C32.pm#L42 | |||
jnthn | Interesting... | 22:12 | |
In the middle of hunting another issue at the moment, will look at that in a bit... | |||
sECuRE | is the file maybe missing a package declaration? or is that not necessary in perl 6 anymore? :) | ||
the UsingPerl6-draft.pdf is not very verbose about that part unfortunately | 22:13 | ||
jnthn | Well, my guess first guess was gonna be that it was missing "our" declarations... | ||
nom: module Foo { our sub bar() { say 42 } }; Foo::bar() | |||
p6eval | nom 4726db: OUTPUT«42» | ||
jnthn | nom: module Foo { our multi bar() { say 42 } }; Foo::bar() | ||
p6eval | nom 4726db: OUTPUT«Could not find symbol 'Foo::&bar' in block <anon> at /tmp/bpK6Dt3NSn:1» | ||
jnthn | Bingo. | ||
That's a bug. | |||
sECuRE | heh, alright | 22:14 | |
will you take care of it or should i report it somewhere? | |||
geekosaur | *blink* and no tests for that? | ||
jnthn | I'm kinda surprised this didn't surface much sooner. | ||
sECuRE: Please drop a mail about this to [email@hidden.address] | 22:15 | ||
sECuRE | ok | ||
jnthn | I'll take care of it, but a ticket to remind me to do so is helpful :) | 22:16 | |
sECuRE | sure | ||
jnthn | Thanks! | ||
And sorry for the bug, it's almost certainly my fault... | |||
sECuRE | is "multi keyword leads to sub not being found" a subject which makes you remember the issue? | ||
(i’m not that accustomed to perl6 terminology yet) | |||
22:17
mj41 left
|
|||
jnthn | That's fine. | 22:18 | |
sECuRE | sent | 22:19 | |
jnthn | Thanks. | ||
[Coke]: I think I just found the root cause of a bunch more of the issues also. :) | 22:20 | ||
22:20
kaare_ left
|
|||
ashleydev | abs() operator: ≈ | 22:21 | |
for assignment | 22:22 | ||
my $x ≈1..4; | 22:23 | ||
22:23
sECuRE left
22:24
NamelessTee left
|
|||
tadzik | good evening :) | 22:26 | |
dalek | kudo/bs: 0d0e062 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm: Fix handling of overriding postcircumfix:<( )>. Seems to fix the much, if not all of the rest of the spectest bustage. |
22:27 | |
jnthn | o/ tadzik | ||
Tene | jnthn: nice work; this is really great to see happening. | 22:28 | |
tadzik | jnthn: was the patch correct? I mean, correct, not working :) | 22:29 | |
I don't really grok the continuations stuff, I just shotgun-coded that one | |||
jnthn | tadzik: Yeah, I think I'd have written it exactly the same. | ||
tadzik | great | ||
jnthn | Tene: Thanks, I'm happy to be getting there with this chunk of work. :) | 22:30 | |
tadzik: If you fancy running spectest on the bs branch, I'd be interested to see the results. | |||
tadzik | jnthn: I'm on it | ||
jnthn | tadzik: Also, in the bs branch prove --exec=perl6 t\pod fails a bunch | ||
tadzik | oh damnit | ||
also: make podtest | 22:31 | ||
jnthn | tadzik: I did nothing to the Pod stuff yet. (mroe) | ||
A lot of the serialization stuff will likely want to go away. | |||
tadzik | probably | ||
jnthn checks they pass on master | 22:32 | ||
well, the R* release I have sat built here anyway... | |||
yeah, all pass | |||
tadzik wonders if podtest is either in 'make test' or in 'make spectest' | |||
jnthn wears a guilty look | |||
tadzik: make test | |||
tadzik | cool | ||
jnthn | I'd really like Pod tests in the spectests. | ||
tadzik | I may poke that during GPW | 22:33 | |
jnthn | tadzik: Actually, the way you've written it, it looks like it should mostly just work. | 22:34 | |
tadzik | you mean the Pod stuff? | ||
(in rakudo) | |||
jnthn | Yeah. | 22:35 | |
I was expecting to find a bunch of stuff I needed the twiddle in Perl6::Pod, but no. | |||
tadzik | strange | ||
tadzik builds to see the failures | |||
maybe the errors will ring a bell | 22:36 | ||
jnthn | It's curious. They're *parse* failures it seems | ||
tadzik | oh gods | ||
jnthn | And they don't all fail. | ||
tadzik | I mean, Horray, I can't wait to debug those! | ||
jnthn | But 03 is just | ||
===SORRY!=== | |||
Confused | |||
at t\pod\03-abbreviated.t:1 | |||
tadzik | I'm wondering how many more Qregex will trigger :) | ||
jnthn | All the places we've cheated on LTM, of course... ;) | 22:40 | |
tadzik | jnthn: ehh, cannot reproduce | ||
gist.github.com/1945085 | 22:41 | ||
jnthn | huh, in bs branch? | ||
tadzik | yep | ||
git pull says "Already up-to-date." | |||
jnthn | Lemme do a clean build. | ||
tadzik | wow, that's something I haven't seen before | 22:43 | |
gist.github.com/1945102 | 22:44 | ||
jnthn | No, they still fail here :( | ||
tadzik | huh | ||
let _me_ do a clean build :) | |||
jnthn | yowser | ||
tadzik | well, I think I did, but I'll double-check | 22:45 | |
jnthn | The other failures are odd too | 22:47 | |
not ok 3 - | |||
# got: '$this = 1 * code('block'); | |||
# $which.is_specified(:by<indenting>);' | |||
# expected: '$this = 1 * code('block'); | |||
# $which.is_specified(:by<indenting>);' | |||
I...can't spot the difference. | |||
tadzik | trailing ws? | ||
jnthn | huh, when I write it to a file it comes out differently | 22:48 | |
# got: '$this = 1 * code('block'); | |||
# $which.is_specified(:by<indenting>);' | |||
# expected: '$this = 1 * code('block'); | |||
# | |||
# $which.is_specified(:by<indenting>);' | |||
22:48
snearch left
|
|||
jnthn | tadzik: Oh, I wonder if this could be about line endings | 22:49 | |
yes, it is. | |||
If I convert one of the failing test files to UNIX line endings, they pass | 22:50 | ||
And my Rakudo Star build was Made On Linux, which means the files in it are UNIX line endings too | |||
So, nothing to do with bs. | |||
tadzik | horray | ||
I proceed with spectest then | |||
22:51
lue joined
|
|||
lue | hello world! o/ | 22:51 | |
22:51
MayDaniel left
|
|||
jnthn | o/ lue | 22:51 | |
tadzik: Yeah. Mebbe we can try and hunt the Win32 line ending issues in Erlangen when we can look over it together. | 22:52 | ||
tadzik: was gist.github.com/1945102 from bs or master? | |||
22:53
wolfman2000 joined
|
|||
tadzik | jnthn: bs | 22:53 | |
lue: hi! | |||
jnthn | ugh | ||
tadzik | maybe it's a matter of TEST_JOBS=3? | ||
jnthn | Also it's in reuse_continuation | 22:54 | |
tadzik | eww | ||
maybe my patch isn't correct after all :) | |||
jnthn | Which we know changed recently | ||
tadzik | aye | ||
jnthn | Well, memory corruption can affect anything, but given we know reuse_continuation is new, it seems reasonably likely it's something to do with that switch. | 22:55 | |
Next up: fixing backtrace printing. | |||
masak | 'night, #perl6 | 22:59 | |
tadzik | 'night masak | ||
masak | 'branoc :) | ||
tadzik | :) | 23:00 | |
23:01
NamelessTee joined
23:06
thou joined
|
|||
dalek | kudo/bs: 08832fd | jnthn++ | src/core/Backtrace.pm: Update backtrace printer to cope with the fact that NQP has code objects these days. |
23:08 | |
kudo/bs: 5518546 | jnthn++ | src/Perl6/BacktracePrinter.pm: Toss a BacktracePrinter class that dates back to the pre-nom days, or heck knows how long. Sure wasn't in the Makefile... |
|||
kudo/bs: 2d91ccc | jnthn++ | src/core/Backtrace.pm: Windows users want the end trimmed of their backtraces too. :-) |
|||
tadzik | Files=616, Tests=22108, 1052 wallclock secs (10.11 usr 2.12 sys + 1593.93 cusr 137.98 csys = 1744.14 CPU) | ||
...before those three :) | |||
jnthn | tadzik: That's all passes? | 23:09 | |
tadzik | nah | ||
I'll just paste the entire thing | |||
jnthn | What fails? | ||
Thanks. | |||
tadzik | gist.github.com/1945260 | ||
one test, it seems | |||
23:10
wooden joined,
wooden left,
wooden joined
|
|||
tadzik | that's absolutely awesome | 23:10 | |
I now wonder how can we precompile modules to have them fast, and not painful, as in "mismatched version of xxx.pm" or something | 23:11 | ||
jnthn | tadzik: Does that one repeatably explode? | 23:13 | |
runs here | |||
jnthn tries it with a debug malloc | |||
Nope. No fail. | 23:14 | ||
tadzik | yeah, reliably | 23:15 | |
gist.github.com/1945286 | |||
gist.github.com/1945286#comments gdb backtrace | 23:16 | ||
jnthn | Aha! | 23:20 | |
If I stick a for 1..1000 { ... } around the test file body I can trigger it too | |||
tadzik | hehe | 23:23 | |
those 16 GBs or RAM of yours... | 23:24 | ||
lue | .oO(16 GiB? Wow.) |
23:27 | |
jnthn | tadzik: Goodish news - it's looking somewhat golfable. | ||
tadzik | cool | 23:28 | |
you'll have to put it in for 1..1000000 {} then ;) | |||
23:30
colomon joined
|
|||
jnthn | tadzik: gist.github.com/1945434 | 23:31 | |
tadzik: Does that trigger it for you? | |||
tadzik | yes | 23:32 | |
jnthn | Same here. | ||
What what, it's the "but". | 23:33 | ||
I guess. | |||
tadzik | I think I'm going to go to bed. Do you want a linux shell for testing? | 23:34 | |
jnthn | tadzik: No, I get it reliably on this box too with the thing I gisted. | 23:35 | |
tadzik | ok, cool | ||
23:36
havenn left
|
|||
tadzik | good night! | 23:37 | |
jnthn | 'night! | 23:38 | |
colomon | o/ | 23:41 | |
23:49
noam__ joined
|
|||
jnthn | Aha. That code actually segfaults in nom branch too, not just in b | 23:50 | |
*bs | |||
23:52
noam left
|
|||
jnthn | aha! | 23:53 | |
TimToady | aha! | 23:55 | |
23:57
Chillance left
23:58
aindilis joined
|