»ö« 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 my␤at /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 context␤use of uninitialized value of type Any in string context␤use 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!===␤Confused␤at /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«foo␤bar␤»
..niecza v15-2-gd19c478: OUTPUT«foo␤Unhandled 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