»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
japhb Gotcha 00:00
TimToady S09 is mostly inspired by PDL in the first place
japhb Right
TimToady as in "How can we make all the PDL-folk not be able to stand not switching to Perl 6" :)
japhb Heh 00:01
TimToady std: my $x = anon %{*}[*] of Int;
camelia std ec3d853: OUTPUT«ok 00:01 127m␤»
TimToady basically a constructor there...
00:02 spider-mario left
TimToady std: my $x = anon %{Any}[3] of Int; 00:02
camelia std ec3d853: OUTPUT«ok 00:01 127m␤»
TimToady in some sense "anon" is the equivalent of other language's "new" 00:03
m: my $obj = anon Int $; $obj++; say $obj 00:04
camelia rakudo-moar 609fb8: OUTPUT«===SORRY!=== Error while compiling /tmp/sok2_qC7wm␤Unsupported use of $; variable; in Perl 6 please use real multidimensional hashes␤at /tmp/sok2_qC7wm:1␤------> my $obj = anon Int $;⏏ $obj++; say $obj␤»
00:04 mtj left
TimToady m: my $obj = anon Int $ ; $obj++; say $obj 00:04
camelia rakudo-moar 609fb8: OUTPUT«===SORRY!=== Error while compiling /tmp/l6jdgcij2R␤anon scoped variables not yet implemented. Sorry. ␤at /tmp/l6jdgcij2R:1␤------> my $obj = anon Int $ ⏏; $obj++; say $obj␤ expecting any of:␤ scop…»
TimToady aww 00:05
00:06 hoverboard left, mtj_- left 00:07 mtj joined, avuserow joined
TimToady std: my $; 00:08
camelia std ec3d853: OUTPUT«===SORRY!===␤Unsupported use of $; variable; in Perl 6 please use real multidimensional hashes at /tmp/ZLCQisZTX1 line 1:␤------> my $;⏏<EOL>␤Parse failed␤FAILED 00:00 121m␤»
TimToady hmm, coulda swore we fixed thatone
n: my $;
camelia ( no output )
TimToady maybe it was in niecza...
00:08 xenoterracide joined
BenGoldberg std: my $ ; 00:10
camelia std ec3d853: OUTPUT«ok 00:00 122m␤»
TimToady maybe I just thought about fixing it and got discouraged when I realized I had to reinstall YAML and Moose yet again 00:12
Successfully installed Moose-2.1208 00:14
35 distributions installed
and Try/Tiny and File/ShareDir
whose bright idea was it to implement a Perl 6 parser in Perl 5, anyway...? 00:17
japhb
.oO( Mu: Your question assumes it was a bright idea ... )
00:19
;-)
00:20 thou left 00:23 hoverboard joined 00:39 jnap left
TimToady had forgotten how hard it is to write in the subset of Perl 6 that translates to Perl 5... 00:40
(not for the above check, but for duplicate chars in a cclass, which needs something like /(.) .*? $0/ )
00:42 rurban joined 00:46 rurban left 00:47 jnap joined 00:50 hoverboard left 00:52 sorear left 00:53 sorear joined, mtj left 00:55 xenoterracide left
TimToady eep, sprint has bought t-mobile...so much for my good phone service... 00:56
rindolf TimToady: hi, can I /msg you? 00:58
TimToady: that sucks. 00:59
00:59 mtj joined 01:00 sorear left 01:01 sorear joined 01:04 hoverboard joined
timotimo glad to see async socket tests land, donaldh++ 01:09
pdurbin d'oh! I'm on t-mobile too. huh. "Sprint and T-Mobile are both majority owned by large, international telecommunications groups" -- dealbook.nytimes.com/2014/06/04/spr...lion-deal/ 01:10
01:10 sorear left 01:12 sorear joined 01:20 rurban joined 01:24 rurban left, fhelmberger joined 01:25 jnap left 01:28 fhelmberger left 01:29 hoverboard left, zengargoyle left
dalek d: 77c9884 | TimToady++ | STD.pm6:
Detect repeat chars in character classes
01:30
d: 0f2049c | TimToady++ | STD.pm6:
Prefer bare sigils over special vars in decls
01:32 sorear left
colomon Funny, I was just this evening wondering if repeat chars would be noticed. 01:33
01:33 sorear joined
colomon when I was committing sins against Unicode like this: $title .= subst(/<[ÔÖÒÓØŌÕ]>/, "O", :global); 01:33
01:34 FROGGS_ joined 01:36 Su-Shee left 01:38 FROGGS left, klapperl_ joined, Su-Shee joined 01:40 revdiablo joined 01:41 telex left 01:42 klapperl left, telex joined 01:51 skids left 01:55 thou joined 01:58 rindolf left 02:00 thou left 02:01 skids joined 02:04 hoverboard joined 02:08 SamuraiJack_ joined 02:21 rurban joined 02:25 rurban left 02:31 sorear left 02:36 sorear joined 02:37 kurahaupo left, xragnar_ joined, xragnar is now known as Guest75912, Guest75912 left, xragnar_ is now known as xragnar 03:05 sorear left 03:11 sorear joined
aindilis` sorear: hey 03:19
I've been trying to talk with you for a couple years now, do you have a moment? 03:20
03:24 rurban joined 03:25 Alula left 03:28 rurban left 03:37 uniejo joined, uniejo left 03:43 SevenWolf left, thou joined 03:44 araujo left 03:46 araujo joined, araujo left 03:48 Alula joined, thou left 03:54 rurban joined 04:04 araujo joined 04:06 raiph joined 04:12 potatogim joined 04:20 potatogim left, potatogim joined 04:22 SamuraiJack__ joined 04:23 bjz joined, SamuraiJack_ left, jack_rabbit joined 04:25 potatogim left, potatogim joined 04:32 FROGGS_ left 04:33 FROGGS_ joined
TimToady std: my $; 04:36
camelia std 0f2049c: OUTPUT«ok 00:01 122m␤»
TimToady std: / <[ '\a' .. "\z" ]> / 04:37
camelia std 0f2049c: OUTPUT«===SORRY!===␤Unrecognized backslash sequence: '\z' at /tmp/VtgTjSrxxr line 1:␤------> / <[ '\a' .. "\z⏏" ]> /␤Potential difficulties:␤ Repeated character (") unexpectedly found in character class at /tmp/VtgTjSrxxr …»
TimToady std: / <[ '\a' .. "\b" ]> /
camelia std 0f2049c: OUTPUT«Potential difficulties:␤ Repeated character (") unexpectedly found in character class at /tmp/xcV9CZa5El line 1:␤------> / <[ '\a' .. "\b" ]⏏> /␤ Repeated character (') unexpectedly found in character class at /tmp/xcV9CZa5El line 1:…»
04:48 potatogim left 04:49 haroldwu joined 04:56 rurban left 04:57 BenGoldberg left 05:01 FROGGS_ left 05:06 raiph left 05:15 FROGGS_ joined 05:21 anaeem1 joined 05:27 rurban joined 05:28 rurban1 joined 05:31 rurban left, kaleem joined 05:32 thou joined, grondilu_ joined 05:33 rurban1 left 05:36 grondilu left 05:37 thou left 05:38 xinming joined 05:40 xinming_ left 05:57 jack_rabbit left 06:06 integral left, integral joined, integral left, integral joined, oetiker left, oetiker_ left 06:07 oetiker joined, oetiker_ joined, Celelibi joined 06:08 _sri joined 06:12 bjz_ joined 06:14 bjz left 06:15 lue left 06:17 hoverboard left 06:26 bjz_ left 06:29 bjz joined
FROGGS_ aindilis`: you might have more luck when you talk to sorear via mail or so... he wasn't here for months 06:31
sergot morning! o/ 06:43
06:43 virtualsue joined
FROGGS_ morning sergot 06:44
sergot FROGGS_: o/ 06:47
06:48 SevenWolf joined 06:49 darutoko joined 06:53 denis_boyun_ joined 06:59 virtualsue left 07:02 bjz left 07:04 bjz joined
dalek p/p6level_slangs: 0820d91 | (Tobias Leich)++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:
disable cursor type caching for now
07:05
p/p6level_slangs: d3566fd | (Tobias Leich)++ | src/QRegex/Cursor.nqp:
try to re-obtain the cursor class

That seems to help in !cursor_capture, but not for !protoregex. It looks like the call to self."$rxname"() explodes...
07:06 PerlJam left, brrt joined 07:07 PerlJam joined 07:08 zakharyas joined
dalek kudo/p6level_slangs: f036260 | (Tobias Leich)++ | src/Perl6/Grammar.nqp:
add a method LANG2 where we can play with :shared

We survive the call to the foreign statementlist token, but we die when trying to return something from LANG2, or rather when handling the return value in the nqp-ish grammar.
07:08
07:09 denis_boyun__ joined, denis_boyun_ left
dalek kudo/p6level_slangs: 11ef54f | (Tobias Leich)++ | COBOL.pm:
add slang example to play with

This must be loaded by a 'use' statement, not with -M
07:10
FROGGS_ .tell jnthn I made branches in nqp/rakudo called p6level_slangs if you want to poke it... run it as perl6-m -I. -e "use COBOL; 1" 07:11
yoleaux FROGGS_: I'll pass your message to jnthn.
07:16 igorsutton joined 07:17 bjz left, bjz joined
FROGGS_ .tell jnthn what if I create (and return) an NQPCursor in LANG2 after the call to the foreign statementlist? 07:19
yoleaux FROGGS_: I'll pass your message to jnthn.
07:25 fhelmberger joined 07:26 pecastro left 07:30 fhelmberger left 07:31 rurban joined
brrt work on the HTTP modules seems like its shaping up 07:33
07:34 pdcawley joined 07:35 rurban left 07:36 kaare_ joined
moritz aye, sergot++ makes lots of progress and good commits 07:37
07:38 dayangkun left
brrt fun stuff :-) 07:38
brrt wants more tuits 07:39
hmm... can't build nqp with my moar-jit branch 07:40
that may just be my old checkout
07:41 virtualsue joined
virtualsue o/ 07:41
moritz brrt: where's that branch? 07:42
brrt: and can you please make dalek report it here and/or in #moarvm?
see github.com/perl6/mu/blob/master/mi...k-push.txt
07:45 sqirrel joined 07:46 oetiker left, oetiker_ left
brrt dalek reports on it in #moarvm :-) 07:47
github.com/MoarVM/MoarVM/tree/moar-jit 07:48
moritz ok, great 07:52
07:53 kivutar joined, kivutar left 07:54 FROGGS_ left 07:56 domination joined 07:59 oetiker joined, oetiker_ joined 08:01 denis_boyun___ joined, denis_boyun__ left 08:07 FROGGS_ joined
jnthn morning, #perl6 08:09
yoleaux 07:11Z <FROGGS_> jnthn: I made branches in nqp/rakudo called p6level_slangs if you want to poke it... run it as perl6-m -I. -e "use COBOL; 1"
07:19Z <FROGGS_> jnthn: what if I create (and return) an NQPCursor in LANG2 after the call to the foreign statementlist?
sergot jnthn: o/
brrt \o jnthn 08:10
FROGGS_ jnthn: when I return a %*LANG<MAIN>.'!cursor_init' it "succeeds", but of course my action method does not get called 08:11
but still, nice to know what happens
08:17 domination left
jnthn notices that brrt++'s blog ain't on planeteria.org/perl6/ 08:19
brrt no... it isn't yet
moritz what's the URL?
I think I can add it
brrt brrt-to-the-future.blogger.nl/
that'd be awesome :-) 08:20
virtualsue i'm getting resolve 'stage failed for String::Koremutake: Project String::Koremutake not found in the ecosystem'
tadzik is it? :)
moritz brrt: uhm, looks like the wrong URL
tadzik oh, it is indeed 08:21
virtualsue: try 'panda update'?
virtualsue but i can see the module on the modules.perl6.org page
moritz blogspot.nl
brrt is still confused about all the things called blogspot (or not)
virtualsue has a look at panda
tadzik feather.perl6.nl:3000/module/String;Koremutake it's tehre 08:22
virtualsue thanks tadzik
tadzik so panda should know about it if its DB is up to date
you're welcome 08:23
virtualsue panda update fixed it
moritz brrt: I've added yoru blog to planeteria.org/perl6/ but it'll likely take some time before it shows up 08:25
brrt i'll wait 08:26
08:27 dmol joined
moritz wait faster! 08:27
brrt :-) 08:31
08:31 rurban joined 08:33 rurban1 joined 08:34 donaldh joined 08:35 dayangkun joined, rurban left 08:36 brrt left 08:37 rurban1 left
nwc10 dear all, does Swift have closures? 08:40
donaldh yes 08:41
nwc10 oh, interesting. Proper closures? 08:42
donaldh “Functions are actually a special case of closures. You can write a closure without a name by surrounding code with braces ({}). Use in to separate the arguments and return type from the body.”
numbers.map({ 08:43
(number: Int) -> Int in
let result = 3 * number
return result
})
moritz nwc10: I haven't heard anybody complain that the closures aren't "proper", so I'll guess they are :-) 08:44
nwc10 OK. The caveat "proper" was because of what I'd recently learned about Python
08:45 kurahaupo joined
moritz it's actually an interesting idea to put the signature into the curlies 08:45
because then the formal parameter isn't an exception to the scoping rules
in p6, we write -> $x { $x }, and the $x is once outside the curlies, which looks like a violation of the "{} are scope boundaries" rule 08:46
jnthn In that sense, so does sub foo($a) { }, however. :) 08:47
timotimo but then you expect you can put the parameters all over the place inside the curlies, much like our $^a vars
08:50 pecastro joined 08:51 dakkar joined
donaldh Swift has optional trailing closure syntax. Instead of someFunc( { ... } ) you can write someFunc() { ... } 08:51
timotimo that's kinda like ruby's blocks? 08:53
moritz jnthn: yes 08:54
I'm not saying we should change Perl 6 (just for the record :-)
masak antenoon, #perl6 08:58
moritz \o masak 08:59
timotimo kasam o/ 09:00
moritz is drowning in yak wool at $work
jnthn Cool off with a yak tea! 09:03
moritz thinks that at least tea should be vegetarian 09:04
masak I assume jnthn is referrint to en.wikipedia.org/wiki/Butter_tea
referring(
augh, referring*
jnthn masak: yes, that's what I was referrint( to. 09:06
masak heh.
moritz would likely skip lunch if he drank a butter tea now 09:07
tadzik reffermint, is it like peppermint? 09:08
09:08 eternaleye left 09:13 SevenWolf left 09:14 eternaleye joined
timotimo if someone had more experience with gobject, it could be cool to have a "automatically generate low-level perl6 bindings" tool/module/thingy 09:19
allegedly you can "just do that"
jnthn I've heard so too
timotimo though a high-level binding on top of those would probably still be desirable 09:20
09:20 eternaleye left 09:22 kivutar joined, spider-mario joined 09:24 brrt joined 09:33 eternaleye joined 09:34 rurban joined 09:38 rurban left 09:55 fhelmberger joined 10:04 sqirrel left 10:13 denis_boyun___ left
dalek kudo/nom: c0ef75e | jnthn++ | src/core/Supply (2 files):
Implement Supply.on_demand.

Provides an easy way to create on-demand supplies.
10:28
kudo/nom: 7fd39c3 | jnthn++ | src/core/IO/Socket/Async.pm:
Don't leak VM handle from async socket close.
10:29 donaldh left
aindilis` FROGGS_: thanks 10:29
dalek kudo/nom: a83d819 | jnthn++ | src/core/IO/Socket/Async.pm:
Use Supply.on_demand in sockets implementation.
ast: 09c9b75 | jnthn++ | S32-io/IO-Socket-Async.t:
Add missing awaits to ensure correct test output.

Also, due to improvements in IO::Socket::Async, connection failures will always be delivered through a broken Promise, rather than maybe being immediate or maybe breaking the Promise.
10:30
lizmat good *, #perl6
jnthn o/ lizmat 10:32
10:32 donaldh joined, dayangkun left
lizmat jnthn: I assume Supply.for would also need to call on_demand, rather than .new, right> 10:32
?
jnthn lizmat: Well, Supply.for currently implements the same pattern. 10:34
lizmat: That is, it does the work to run per tapping.
lizmat: As does interval
lizmat ah, ok
jnthn lizmat: It would be possible to re-implement Supply.for in terms of Supply.demand.
lizmat is slowly waking up
10:35 rurban joined
jnthn lizmat: Not sure if it's worthwhile, though. 10:35
lizmat indeed...
ok
jnthn Also I think by law of minimum concurrency, Supply.for should also default to CurrentThreadScheduler.
10:35 brrt left
lizmat ah, good one, yes 10:36
as would Supply.interval 10:37
jnthn No
interval *has* to schedule. 10:38
'cus it's time based
lizmat ah, duh, even though each tap has its own :-)
10:39 rurban left
lizmat jnthn: would it be wise to create a new CurrentThreadScheduler object for each call to Supply.for ? 10:39
jnthn No, it's a singleton 10:41
lizmat: To be clear, it always means "schedule immediately" 10:42
lizmat: It's not like some kind of EventLoopScheduler or so that delivers to a single thread that is waiting for work. 10:43
Such a construct could be useful, mind...
lizmat hmmm.. I'm not seeing the singleton part when looking at the CurrentThreadScheduler / Scheduler code 10:44
10:44 xinming left
jnthn lizmat: Singleton is maybe the wrong way to point it; it's more that it has no instance state, so any instance behaves just the same as the type object. 10:44
s/point/put/ 10:45
So creating instances of it is just a waste.
lizmat m: say CurrentThreadScheduler.new.WHICH; say CurrentThreadScheduler.new.WHICH
camelia rakudo-moar 609fb8: OUTPUT«CurrentThreadScheduler|139800738823288␤CurrentThreadScheduler|139800738831856␤»
lizmat so no singleton 10:46
ah, ok, see what you mean
10:47 REPLeffect left
jnthn donaldh: With cancellation implemneted in Moar for listen, I'm now reliably passing all but the final test, which I guess is because read_bytes is NYI yet... 10:51
dalek kudo/nom: 9644b26 | (Elizabeth Mattijsen)++ | src/core/SupplyOperations.pm:
Make Supply.for default to CurrentThreadScheduler
10:55
10:58 REPLeffect joined 11:04 sqirrel joined, ivanshmakov left 11:09 grondilu_ is now known as grondilu, grondilu left, grondilu joined 11:10 ivanshmakov joined 11:12 REPLeffect left 11:14 ivanshmakov left, ivanshmakov joined 11:15 brrt joined 11:16 kivutar left 11:20 denis_boyun joined 11:26 kivutar joined 11:31 lizmat left, lizmat joined 11:34 skids left 11:35 rurban joined 11:39 rurban left
dalek p: 2180903 | jnthn++ | tools/build/MOAR_REVISION:
Bump to a MoarVM with async socket improvements.
11:50
11:51 brrt left
dalek ast: fb9fe03 | (Elizabeth Mattijsen)++ | S17-supply/ (32 files):
We don't need a CurrentThreadScheduler instance
12:00
ast: 7db5a80 | (Elizabeth Mattijsen)++ | S17-supply/delay.t:
Fudge Supply.delay pending further investigation
kudo/nom: 408ebb9 | jnthn++ | tools/build/NQP_REVISION:
Bump to NQP/Moar with async socket improvements.
kudo/nom: 13ffc9e | jnthn++ | t/spectest.data:
Run IO-Socket-Async.t on MoarVM.

May work on JVM too, in which case can simply mark it "# conc" later.
12:02 prevost joined
ribasushi what is the status of perl6 => perl5 code translations, especially when it comes to grammars? 12:03
moritz ribasushi: I'm not aware of any such translation, just some compilation 12:04
perlito does it, to some extend
ribasushi can I have a p6 grammar/actionset as the primary source of logic which produces a data structure, and then have that automagically converted to p5 code to use?
moritz I can't say how good it is, though
ribasushi well, it's patchable I presume 12:05
anything else to investigate apart from perlito?
moritz std.pm has its own traslatoer
which is good enough to bootstrap STD.pm6 12:06
github.com/perl6/std
jnthn errands, bbiab 12:07
lizmat afk for a while 12:11
12:15 sqirrel left
sjn 12:16
timotimo
sjn \o/
12:16 rurban joined
sjn is speechless 12:16
sergot hi sjn ! o/ 12:17
timotimo ribasushi: we can't allow a good translator to exist, we need to make perl5 programmers unable to stand staying on perl5 :P 12:18
so they come over and help out with stuff; using, testing, porting, performance, articles, documentation, ...
sjn hello Filip :)
arnsholt o/ 12:31
[Coke] huh: ebookily.org/txt/perl-6 12:34
wish github had a commit viewer that let you hide whitespace. 12:42
12:44 jnap joined
FROGGS_ [Coke]: there is 12:47
"Adding ?w=1 to any diff URL will remove any changes only in whitespace, enabling you to see only that code that has changed." 12:49
12:54 guru joined, guru is now known as ajr_, rurban left 12:56 rurban joined
timotimo [Coke]: that's like a publisher selling printed-out wikipedia articles on amazon 12:56
12:58 rurban left
[Coke] timotimo: just surprised Perl 6 is on their radar. ;0 12:59
er, :)
jnthn May just be automated...
timotimo automated crawling and such
surely
put as little human work in as possible, get the biggest profit from catching users who don't know what they're dealing with 13:00
donaldh jnthn: yes. what's weird is that the NYI exception goes missing and the last async test hangs. 13:01
[Coke] FROGGS_: that's awesome. now I wish there was a button that did that. :) 13:02
jnthn donaldh: Odd, with latest Moar all pass for me now.
Wait, you mean on JVM
?
donaldh No, it was in answer to your message about Moar. 13:03
read_bytes NYT
NYI even
jnthn yeah, you need latest Moar 13:04
There's no NYI there any more 'cus it now works :) 13:05
sergot m: IO::Socket::INET.new(:host<google.pl>, :port<80>, :timeout<1>);
camelia rakudo-moar 13ffc9: OUTPUT«Type check failed in assignment to '$!port'; expected 'Int' but got 'Str'␤ in block at src/gen/m-CORE.setting:893␤ in method BUILDALL at src/gen/m-CORE.setting:876␤ in method bless at src/gen/m-CORE.setting:865␤ in method new at src/gen/m-CORE…»
sergot m: IO::Socket::INET.new(:host<google.pl>, port => 80, timeout => 1);
camelia ( no output )
jnthn :port(80) # is also just fine.
donaldh When I wrote the test yesterday, Moar was hanging and I couldn't figure out where the NYI exception was being swallowed up. I guess it doesn't matter now. jnthn++
sergot jnthn++
jnthn donaldh: OK. I guess the changes I did maybe helped 13:06
donaldh: Because after the on_demand race-fixing thing but before I implemented the bytes thing, I was reliably getting the NYI.
sergot m: class A { has Int $.timeout is rw = 180; sub a { IO::Socket::INET.new(:host<google.pl>, port => 80, timeout => $.timeout); } }; A.new.a; 13:08
camelia rakudo-moar 13ffc9: OUTPUT«===SORRY!=== Error while compiling /tmp/f5xun9Lpr6␤Variable $.timeout used where no 'self' is available␤at /tmp/f5xun9Lpr6:1␤------> le.pl>, port => 80, timeout => $.timeout⏏); } }; A.new.a;␤ expecting any …»
donaldh k. That explains it. I'll pull the latest of __everything__
jnthn OK. Hopefully then it passes cleanly for you :)
sergot m: class A { has Int $.timeout is rw = 180; sub a { IO::Socket::INET.new(:host<google.pl>, port => 80, timeout => $.timeout); } }; my $a = A.new; $a.a; 13:09
camelia rakudo-moar 13ffc9: OUTPUT«===SORRY!=== Error while compiling /tmp/BnR3Qnw3_g␤Variable $.timeout used where no 'self' is available␤at /tmp/BnR3Qnw3_g:1␤------> le.pl>, port => 80, timeout => $.timeout⏏); } }; my $a = A.new; $a.a;␤ ex…»
sergot Huh, what is wrong here?
oh. sub... 13:10
m: class A { has Int $.timeout is rw = 180; method a { IO::Socket::INET.new(:host<google.pl>, port => 80, timeout => $.timeout); } }; my $a = A.new; $a.a;
jnthn sergot: Trying to use a method call in a sub
camelia ( no output )
13:11 rurban joined 13:13 skids joined 13:17 dayangkun joined
donaldh suspects he misused multi subs in IO-Socket-Async.t 13:20
jnthn I was a little surprised by the factoring, but it works. :)
donaldh I got annoyed typing out repeat clients that did slightly different things. 13:21
But no need for multi subs. Explicitly named subs would be more obvious :)
donaldh admits he was also playing and learning 13:23
13:23 sivoais left 13:24 zengargoyle joined, sivoais joined
jnthn if playing be the food of new spectests, play on! :) 13:25
13:25 ivan`` joined
FROGGS_ [Coke]: maybe there is no button because ?w=1 implies ?no_python=1 and they don't wanna upset pythoniasts :o) 13:26
jnthn
.oO( ?no_project_euler=1&no_lol=1 )
timotimo :80port
FROGGS_ m: IO::Socket::INET.new(:host<google.pl>, :80port, :1timeout); 13:27
camelia ( no output )
FROGGS_ haha
that looks ugly :o)
jnthn oh my... :P
FROGGS_ (for this example)
timotimo aye
but i'm still amused we can do it like that
FROGGS_ yeah
[Coke] I am not amused. :|
FROGGS_ how many pair-ish constructors do we have now? 13:28
jnthn m: :!1amused # :)
camelia rakudo-moar 13ffc9: OUTPUT«===SORRY!=== Error while compiling /tmp/eMzVZbfoV1␤Malformed False pair; expected identifier␤at /tmp/eMzVZbfoV1:1␤------> :!⏏1amused # :)␤»
moritz a negated pair can't have a value
timotimo at least they all start with : :)
FROGGS_ it already has
jnthn Yeah, that's the error I was expecting, but the one we got makes sense too :)
timotimo could easily parse :! <digit>+ and give a more helpful error message in that case 13:29
FROGGS_ [Coke]: it makes sense for Date.add( :1day )
so perhaps for every kind of unit
jnthn Well, the goal was :1st working :)
timotimo i'm not 100% sure i like syntax like Date.add() :1day 13:30
it could very well end up confusing 13:31
but what do i know :)
moritz doctor, it hurts when I write :80port
FROGGS_ it is just a shorter notation for .add( day => 1 )
jnthn try writing it with your left hand instead...
FROGGS_ so, for that particular thing it is nice I think
timotimo i know what it does :) 13:32
[Coke] FROGGS_: i don't think it makes sense there, either. :P 13:37
FROGGS_ [Coke]: bah
:P
[Coke] this is something that shouldn't have been generified, IMO.
also: www.bbc.com/news/health-27695140 - camel infection led to mers death. 13:38
13:41 brrt joined 13:43 prevost left 13:48 btyler joined
donaldh That camel has its handbrake on 13:50
13:52 pdcawley left, pdcawley joined
donaldh do :1st :2nd :3rd all appear as different named attributes? 13:54
dalek kudo-star-daily: 9aaf76c | coke++ | log/ (14 files):
today (automated commit)
jnthn m: sub foo(*%x) { say %x.perl }; foo(:1st, :2nd, :3rd) 13:55
camelia rakudo-moar 13ffc9: OUTPUT«("st" => 1, "rd" => 3, "nd" => 2).hash␤»
[Coke] no change in R* failures (moar, jvm)
jnthn: if you want "1", wouldn't it be better to have it key off the 1 instead of the st?
m: sub foo(*%x) { say %x.perl }; foo(:4th, :5th) 13:56
camelia rakudo-moar 13ffc9: OUTPUT«("th" => 5).hash␤»
[Coke] ^^
13:57 ivanshmakov left
jnthn [Coke]: No, I think it's how it wants to be... 13:58
[Coke] ew.
jnthn [Coke]: Or at least, I don't think turning it around would help
It's the number that tends to vary 13:59
nd/st/th/rd is just a rare case
[Coke] so, it only works for unique suffixes, and you have to know the suffix (or grep the keys) to get the value.
jnthn It's just another way to pass a named arg
14:00 ivanshmakov joined
[Coke] is it specced? only thing I see for "1st" in S06 is for a trait modifier, not a named arg. 14:01
jnthn May be in S02 which specs colon pairs. Also used all over S05. 14:02
PerlJam :3rd looks nice, but :3nth not so much :) 14:04
It's used all over S05, but I don't recall that it was ever generalized
[Coke] finds it in S02. 14:05
[Coke] sighs and moves on. 14:06
PerlJam ah, it is in S02:3778
synopsebot Link: perlcabal.org/syn/S02.html#line_3778
[Coke] that doesn't look right..
donaldh from S05 it looks like 3rd should be an alias for nth(3) so could the same happen for named args?
[Coke] web site is showing the wrong line there. 14:07
moritz donaldh: I'm pretty sure that match/subst is what embeds the knowledge that nth and rd are synonymous, not something generic on the syntax level 14:08
jnthn donaldh: Well, you can always write :nd(:st(:rd(:$th))) or so...
[Coke] ah, and if you want more than one, you do :nth(4,5) (or, possibly :rd(4,5) ) 14:09
PerlJam Hmm. the wording in S02 kind of implies that :3.14foo might also work. (3.14 is a "literal decimal number" is it not?) 14:10
[Coke] m: sub foo(*%x) { say %x.perl }; foo(:3.14th) 14:11
camelia rakudo-moar 13ffc9: OUTPUT«===SORRY!=== Error while compiling /tmp/tbwzH5NHAh␤Malformed radix number␤at /tmp/tbwzH5NHAh:1␤------> sub foo(*%x) { say %x.perl }; foo(:3⏏.14th)␤ expecting any of:␤ number in radix notation␤»
14:11 thou joined
PerlJam fwiw, I lean to the side that :3.14foo should not work and the spec should be updated. That sugar seems more like saccharine to me. 14:14
jnthn Agree
zengargoyle i took 'decimal' to be base 10 14:16
PerlJam also, what about :-15foo ?
(-15 is also a literal decimal number) 14:17
[Coke] m: sub foo(*%x) { say %x.perl }; foo(:-1971th)
camelia rakudo-moar 13ffc9: OUTPUT«===SORRY!=== Error while compiling /tmp/EgbKwDDad_␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/EgbKwDDad_:1␤------> sub foo(*%x) { say %x.perl }; foo(⏏:-1971th)␤ expecting …»
moritz just non-negative integers please :-)
FROGGS_ m: say :829670938021746923185923874658723694856392485639847569384756blurb 14:18
camelia rakudo-moar 13ffc9: OUTPUT«␤»
FROGGS_ m: say :82blurb
camelia rakudo-moar 13ffc9: OUTPUT«␤»
FROGGS_ m: say :blurb
camelia rakudo-moar 13ffc9: OUTPUT«␤»
FROGGS_ ahh
-.-
PerlJam say ate it
FROGGS_ yeah
m: say (:829670938021746923185923874658723694856392485639847569384756blurb)
camelia rakudo-moar 13ffc9: OUTPUT«"blurb" => -9223372036854775808␤»
moritz way to get negative numbers :-) 14:19
PerlJam heh
FROGGS_ there is your negative int :o)
dalek ecs: 10d852e | duff++ | S02-bits.pod:
Clarify :16sweet a bit
14:20
PerlJam m: say (:0foo) 14:21
camelia rakudo-moar 13ffc9: OUTPUT«"foo" => 0␤»
PerlJam (just checking :) 14:22
zengargoyle old rakudo star give a Malfored radix number error
PerlJam yeah, it's a newish featuer
I think jnthn only implemented it yesterday 14:23
zengargoyle ah, that happens to me a lot :)
moritz well, in here we like to showcase new features with the bit 14:26
*bot
zengargoyle i'm going to try and figure out the build process this weekend maybe, been relying on star and rakudobrew so far 14:27
14:29 treehug88 joined
PerlJam Have any of you seen www.youtube.com/watch?v=QQnVTKUSMaA ? 14:29
Perl 6 needs some of that.
14:30 anaeem1 left
PerlJam (I'm not sure that I agree with the premise that mojo does for Perl 5 what rails did for ruby, but the core idea of doing cools stuff and make it pretty seem right) 14:30
moritz enjoyed hashrocket.com/blog/posts/x-men-day...ned-in-git 14:31
14:40 kivutar left
donaldh Oh, I see what Supply.on_demand does. It restarts the listen on each new tap. jnthn++ 14:44
donaldh needs to implement IIOCancelable for AsyncServerSocketHandle and AsyncSocketHandle 14:45
rather: it delays listen until first tap.
jnthn Right. 14:46
14:52 pdcawley left, pdcawley joined, anaeem1 joined 14:53 kivutar joined, bluescreen10 joined 14:55 guru joined, ajr_ left, guru is now known as Guest31596, raiph joined 14:56 Guest31596 is now known as ajr_
hoelzro has anyone written Supply::Depot yet? 14:56
timotimo Supply::Pylons and Supply::Overlords as well 14:57
hoelzro =)
all of the error messages could be from SC
FROGGS_ Supply::Chartreuse?
tadzik won't that mean that it may never come? :o :(
jnthn isn't sure asynchronous chartreuse is a good idea... :) 14:59
sjn Supply::Plural # Supplies feature!! 15:00
15:00 oetiker left, oetiker_ left
sjn apologises for his horrible play on words 15:01
FROGGS_ *g*
15:03 oetiker joined, oetiker_ joined
dalek p: bbaf492 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/io/AsyncServerSocketHandle.java:
Handle unresolved addresss and return same error as moar.
15:04
p: 7a36ff2 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/ (3 files):
Implement cancel for AsyncServerSocketHandle.
donaldh uh oh, there's a snake in my addresss
15:06 salv0 left
FROGGS_ :o9 15:07
:o)
15:07 sqirrel joined 15:15 kaleem left
FROGGS_ m: use QAST:from<NQP> 15:18
camelia rakudo-moar 13ffc9: OUTPUT«===SORRY!===␤Unexpected named parameter 'line' passed␤»
FROGGS_ p: use QAST:from<NQP>
camelia rakudo-parrot 13ffc9: OUTPUT«===SORRY!===␤get_iter() not implemented in class 'Stash'␤»
FROGGS_ j: use QAST:from<NQP>
camelia rakudo-jvm 13ffc9: OUTPUT«(timeout)» 15:19
FROGGS_ dammit, I thought that was working once :/
star-m: use QAST:from<NQP> 15:20
camelia star-m 2014.04: OUTPUT«===SORRY!===␤Unexpected named parameter 'line' passed␤»
FROGGS_ star-p: use QAST:from<NQP>
camelia ( no output )
FROGGS_ huh
star-p: use QAST:from<NQP>; say QAST::Op
camelia star-p 2014.04: OUTPUT«No such method 'gist' for invocant of type 'QAST::Op'␤ in sub say at gen/parrot/CORE.setting:13539␤ in block at /tmp/VKW4RetciV:1␤␤»
15:22 jjk joined 15:23 brrt left 15:33 anaeem___ joined
FROGGS_ ahh, found && fixed 15:34
15:36 anaeem1 left 15:37 igorsutton left
dalek ecs: 44dd6bd | (Nick Patch)++ | S15-unicode.pod:
[S15] typos
15:38
15:39 denis_boyun left 15:42 FROGGS_ left 15:44 ajr_ left 15:45 ajr joined, ajr is now known as Guest40424 15:46 Guest40424 is now known as ajr_
donaldh jnthn: did you say # conc was the annotation to get async tests to execute on both moar and jvm ? 15:50
moritz I'm pretty sure he did 15:51
15:51 treehug88 left
donaldh it's used for supply so yes :) 15:52
jnthn yeah 15:53
15:54 zakharyas left
donaldh github.com/rakudo/rakudo/pull/275 Enable async socket tests on jvm backend 15:55
dalek kudo/nom: 6277d48 | (Donald Hunter)++ | tools/build/NQP_REVISION:
Bump nqp revision to get async cancel on jvm.
15:56
kudo/nom: e6d0182 | (Donald Hunter)++ | t/spectest.data:
Enable IO-Socket-Async.t on jvm.
kudo/nom: c6ff677 | jonathan++ | t (2 files):
Merge pull request #275 from donaldh/async_jvm

Enable async socket tests on jvm backend
15:56 treehug88 joined 15:57 SamuraiJack__ left, xfix left 15:59 ivanshmakov left 16:00 carlin joined 16:01 xfix joined
carlin Hi 16:01
I have updated Crypt::Bcrypt to use LibraryMake 16:02
xfix Hi.
16:02 ivanshmakov joined
carlin could someone please add it to Panda? 16:02
github.com/carbin/p6-Crypt-Bcrypt
16:03 hoverboard joined 16:04 ivanshmakov left, ivanshmakov joined
TimToady std: list(1,2,3): 4,5,6 16:08
camelia std 0f2049c: OUTPUT«ok 00:01 125m␤»
TimToady std: list(1,2,3): { #`[I'm a trailing closure] }
camelia std 0f2049c: OUTPUT«ok 00:01 127m␤»
TimToady nobody actually implements that yet... 16:09
jnthn ins't sure what it does :P
TimToady just the same as if you'd said list(1,2,3,{}) 16:10
jnthn ah
TimToady if we have some mechanism for moving a trailing closure to the & param, that would be independent
dalek osystem: 2811cbf | (Konrad Borowski)++ | META.list:
Add Crypt::Bcrypt to ecosystem.
xfix carlin: done
TimToady and probably only available for a statically known final arg 16:11
xfix (you may want to wait a while, modules.perl6.org takes a while to update)
16:11 FROGGS joined, bjz left
TimToady not gonna go as far as Ruby and have a SEKRIT argument 16:11
er, parameter 16:12
16:12 virtualsue left
TimToady anyway, that's the syntactic direction we'd take if we deemed trailing closures to be in need of more implementation 16:13
but instead of list(1,2,3): {...} we generally just write (1,2,3).list: {...} currently
though, of course, that's a method call, not a function call
so not quite the same 16:14
something to be said for early binding on that
carlin xfix++, thanks 16:17
TimToady well, not with .list, but with .map and .grep
16:18 molaf_ joined
TimToady note that all the existing and proposed trailing closure syntaxes (other than control statements) require that colon to avoid TTIAR ambiguity 16:19
16:19 dwarring left 16:20 sqirrel left
xfix Ruby does that without need for colon, but I guess that Perl 6's syntax is more complex. 16:20
TimToady Perl 6's syntax is more extensible, is the main reason
16:21 molaf left
TimToady we looked really hard at doing it without the colon, and decided it wasn't worth it 16:21
the only way to make it work is to always require () on method calls 16:22
which we deemed to be too high a price
at least for standard p6; slangs will happen, of course :) 16:25
16:27 zengargoyle left
TimToady ribasushi: note that STD's translation of itself to Perl 5 results in code that is 13x bigger, because P5's engine doesn't really have the primitives to do what P6 needs 16:32
ribasushi which is perfectly fine... I think 16:34
I mean take Parse::RecDescent - the compiled grammars are also huge
TimToady also, STD has to be written in a strict subset of P6 that is translatable to P5, which is kind of unfortunate at times 16:35
ribasushi basically I have a semi-grammar and a well defined output of this grammar, I want to get a foot hold into perl6 by migrating the thing to perl6, but keeping my perl5 end-users
is the actual use-case
TimToady well, some viv variant may work for you in that case 16:36
ribasushi to define this even further
I want to change "turn the homegrown LR grammar-joke-of-an-engine into a P::RD thing" to "turn the homegrown engine into a p6 project, which outputs p5 code to include in the cpan offering" 16:37
masak \o/
ribasushi++ 16:38
TimToady I'll point out that STD isn't even capable of translating /(.).*?$0/ correctly yet, as I discovered yesterday :/
ribasushi well, there's room for improvement... I hope? :) 16:39
so then to restate the question from earlier - what is my best (not necessarily fastest) road from A to B?
TimToady well, it'd work in a rule, but not in an action where you run a sub rx
I dunno; there aren't currently longterm plans to continue supporting STD, but hey, it's open source 16:40
ribasushi you mentioned "viv" earlier - what's that? 16:41
xfix The program that converts Perl 6 to Perl 5.
TimToady it's the vi to v translator :)
xfix perl6.org/compilers/std-viv 16:42
16:42 kurahaupo left
TimToady what takes STD.pm6 and turns it into STD.pm5 16:42
ribasushi ok
TimToady but you can see how snippets parse with 'viv -e' which will dump out the AST 16:43
16:43 Rotwang joined
TimToady sorear++ put a lot of work into making that pretty 16:43
16:44 ivanshmakov left
FROGGS \o/ 16:45
TimToady at this point, however, if we wanted a high-quality translation, we'd probably write a P5 backend for rakudo, so that most of the implementation really is in P6, rather than P5 patched together with chewing gum and baling wire
16:45 hoverboard left
FROGGS my "COBOL" slang now makes a QAST::OP in its action method of statementlist that actually gets merged into the ast :o) 16:46
TimToady
.oO(The amazing thing is not that the bear dances well, but that it dances at all.)
FROGGS so I have a hackish slang written in P6
it uses the QAST nqp module, but the grammar and the action class is P6
TimToady FROGGS++
16:46 ivanshmakov joined
ribasushi TimToady: hmmmm 16:47
how hard is that for a dedicated non-stupid individual?
the "write a P5 backend for rakudo"
TimToady there's certainly a lot of prior art on what would need to be spat out P5-wise, so not too difficult, I guess 16:48
16:48 pecastro left, ivanshmakov left, ivanshmakov joined
TimToady basically the lazy list emulation and the cursor model are already sitting there waiting to be reused with a different P5 emitter 16:48
and the LTM engine 16:49
ribasushi I assume you mean the stuff from inside std-viv
16:50 haroldwu left, haroldwu joined
TimToady I mean the lib stuff already written in p5 that gets included with what you emit 16:50
rurban ribasushi: you could also try perlito
FROGGS ribasushi: besides de/serialization you have to make these ops available: github.com/perl6/nqp/blob/master/d...s.markdown 16:51
16:52 pdcawley left, dakkar left 16:53 smls joined
ribasushi rurban: I am aware of perlito, but it seems pretty... it seems like a "first prototype to throw away" kind of thing 16:53
smls Hi #perl6
yoleaux 3 Mar 2014 04:09Z <Mouq> smls: What font is used in imgur.com/a/y1dHo ? It looks like Helvetica or Arial but not quite...
3 Mar 2014 04:16Z <Mouq> smls: And I can't say how much I love the mockup btw. I hope you don't mind if I've done the smallest amount of work getting the docs to look like it. The only thing I note on it is that Routine may need to be broken up into sub-categories
smls oh, has it been that long
ribasushi FROGGS: btw liz mentioned you are working on v5 quite a lot lately 16:54
smls r: my Int @a; say @a ~~ Array[Int] 16:55
TimToady smls: yes it has, welcome back :)
camelia rakudo-{parrot,moar} 13ffc9: OUTPUT«False␤»
..rakudo-jvm 13ffc9: OUTPUT«Unhandled exception: Failed to load config.properties␤ in (gen/jvm/stage2/NQPHLL.nqp:8)␤ in (gen/jvm/stage2/NQPHLL.nqp:8)␤ in (gen/jvm/stage2/NQPHLL.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:78)␤ in load_module (src/vm/jvm/ModuleLoader.nqp:60…»
ribasushi FROGGS: what is the endgoal there if you take in consideration pure-perl stuff exclusively (there is more stuff writen in PP than you realize)
smls ^^ am I doing it wrong?
16:55 araujo left
smls (smart-matching the type of a typed array, that is) 16:56
vendethiel
.oO( are we erasing types yet )
TimToady smls: I believe that's a known bug
smls ok
17:00 jnap left, hoverboard joined 17:03 ajr_ left
smls re "13:37 [Coke] this is something that shouldn't have been generified, IMO.": Yeah, the generalized :sweet(16) eqv :16sweet looks like a solution without a problem that doesn't really "make easy things easy etc." to offset the WATs it causes. 17:05
17:05 denis_boyun_ joined
smls If anything, the :1st/:2nd/... regex modifiers should be generalized along a *different* axis: Keep them restricted to those particular number~suffix combinations, but translate them into :n($number) at the syntax level so any other operator/function that wants a named argument for a positional index can benefit from them. 17:05
That generalization would provide an actual benefit: It would significantly reduce the amount of boilerplate needed to imitate the regex operators' index handling, which as a side-effect will encourage consistency (both within Perl 6, and between built-in and module APIs). 17:06
For example, right now it is easy to trip over the fact that s:2nd/A/B/ works, but .subst(/A/, 'B', :2nd) doesn't.
xfix I believe :2nd is here because of sed, but I agree it should be generalized. 17:07
17:08 prevost joined 17:13 donaldh left 17:17 kaleem joined
FROGGS ribasushi: it is meant to be *the* migration thingy 17:17
move your code base with minimal effort to the rakudo platform, and then perhaps just extend it with P6-only stuff, and later rewrite parts when needed 17:18
ribasushi FROGGS: how far along are you / is there some rough "this is how you try things out" writeup? 17:19
FROGGS ribasushi: github.com/rakudo-p5/v5/blob/master/STATUS-m.md 17:21
I am working on making it installable more easily
bbiab
flussence r: enum Square <_ X O>; class Board { has Player @.p; }; class Player { } 17:35
camelia rakudo-jvm c6ff67: OUTPUT«(timeout)»
..rakudo-moar c6ff67: OUTPUT«===SORRY!===␤cannot stringify this␤Error while constructing error object:Could not locate compile-time value for symbol Undeclared␤»
..rakudo-parrot c6ff67: OUTPUT«Error while constructing error object:Could not locate compile-time value for symbol Undeclared␤===SORRY!===␤Error while compiling, type X::Undeclared␤ what: Type␤ symbol: Player␤ suggestions: 0␤ at line 2, near " @.p; }; c"␤»
flussence if I take that enum out, I get a completely different (and more sense-making) error there... 17:36
m: class Board { has Player @.p; }; class Player { }
camelia rakudo-moar c6ff67: OUTPUT«===SORRY!===␤Type 'Player' is not declared␤at /tmp/yCw_GzKv25:1␤------> class Board { has Player⏏ @.p; }; class Player { }␤Malformed has␤at /tmp/yCw_GzKv25:1␤------> class Board { has ⏏Pla…»
flussence n: enum Square <_ X O>; class Board { has Player @.p; }; class Player { } 17:37
camelia niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Malformed has at /tmp/rhJN5hSt34 line 1:␤------> enum Square <_ X O>; class Board { has⏏ Player @.p; }; class Player { }␤␤Parse failed␤␤»
flussence when I was golfing that down, the 'Could not locate compile-time value for symbol' stayed but the thing after it varied 17:38
seems like a rakudobug...? 17:40
vendethiel std: n: enum Square <_ X O>; class Board { has Player @.p; }; class Player { } 17:44
camelia std 0f2049c: OUTPUT«===SORRY!===␤In has declaration, typename 'Player' must be predeclared (or marked as declarative with :: prefix) at /tmp/j_TJxY4htR line 1:␤------> Square <_ X O>; class Board { has Player⏏ @.p; }; class Player { }␤Mal…»
17:44 brrt joined
xfix It would be fun if camelia would interpret ANSI color sequences, and convert them to IRC sequences. 17:45
brrt does irc have color sequences? 17:47
xfix 03Sure it does. 17:48
cognominal__ nice indeed 17:49
brrt what how i don't even
geekosaur brrt: originally defined by mirc
search for "mirc color codes" for more information 17:50
some of us use scripts in our clients that convert the ANSI to mIRC color codes
brrt i see
colomon Can't serialize an object of type Version 17:51
in sub to-json at lib/JSON/Tiny.pm:45
eleven broke emmentaler?
FROGGS colomon: /o\ 17:52
17:52 sqirrel joined
FROGGS colomon: what do you do to get that? 17:52
colomon run smoker
give me a moment
.say: to-json %log; 17:53
%log<_statistics> = { 17:54
runtime => $end - $start,
compiler => $*PERL<compiler><name>,
version => $*PERL<compiler><ver>,
datetime => DateTime.new(now).Str
}
maybe the issue?
FROGGS colomon: that looks more like lizmat++'s changes to $*PERL did it
colomon m: say $*PERL<compiler><ver>.WHAT
FROGGS m: say $*PERL<compiler><ver>
camelia rakudo-moar c6ff67: OUTPUT«(Version)␤Saw 1 call to deprecated code during execution.␤================================================================================␤$*PERL<compiler><ver> called at:␤ /tmp/PU4AniGZpq, line 1␤Please use $*PERL.compiler.version instead.␤--…»
rakudo-moar c6ff67: OUTPUT«v2014.5.147.gc.6.ff.677␤Saw 1 call to deprecated code during execution.␤================================================================================␤$*PERL<compiler><ver> called at:␤ /tmp/wwyqhDt2oe, line 1␤Please use $*PERL.compiler.version…»
colomon FROGGS: might well be
FROGGS star-m: say $*PERL<compiler><ver> 17:55
camelia star-m 2014.04: OUTPUT«2014.04␤»
17:55 uniejo joined
colomon m: say $*PERL.compiler.version.WHAT 17:55
camelia rakudo-moar c6ff67: OUTPUT«(Version)␤»
colomon yeah, that's probably it
FROGGS yeah
colomon m: say $*PERL.compiler.version.Str
camelia rakudo-moar c6ff67: OUTPUT«2014.5.147.gc.6.ff.677␤»
colomon should json be able to serialize classes? 17:56
17:56 kivutar left
colomon class objects, I mean? 17:56
17:56 uniejo left
FROGGS hmmm... 17:56
xfix Probably not, unless they define to JSON conversion, or something.
17:56 uniejo joined
flussence as in type objects? 17:56
doesn't seem like there'd be a sane default for handling those. 17:57
FROGGS we could make it call .Str on things that are Cool perhaps... 17:58
colomon anyway, for know I've changed my local copy of emmentaler to use $*PERL.compiler.ver.Str, and started the smoke test again.
FROGGS err, nvm
xfix In JavaScript, JSON serializes objects ignoring inherited properties (with exception for Date, which defines toJSON, which causes it to be converted to string). 17:59
colomon is trying to put off sorting out the nasty memory error the new $work library gives him in C++.
FROGGS jnthn: it seems that there are no nqp changes necessary for my slangy stuff btw
colomon JSON::Tiny should maybe check if an object has a to-json method defined.
xfix colomon: have you tried Valgrind? 18:00
colomon xfix: yes
xfix: now I know exactly where in someone else's code the error is happening, without any understanding of what is going on.
xfix Debugging C++ isn't really fun. It's even less fun than C.
Good luck figuring the issue, you will need it. 18:01
18:03 pochi_ left 18:05 itz joined, pecastro joined 18:06 uniejo left 18:12 brrt left
vendethiel colomon: try clang :) 18:14
18:15 rurban left
xfix try -fsanitize=undefined 18:16
masak .oO( -fantasize=undefined ) 18:18
18:20 kivutar joined 18:22 dwarring joined
colomon vendethiel: I think I'm using clang? i686-apple-darwin11-llvm-gcc-4.2 18:22
colomon may be confused on this front
vendethiel "llvm-gcc" seems kinda surprising no ? no idea 18:23
18:24 rurban joined
geekosaur colomon: that would not be clang 18:26
jnthn FROGGS: What changes does it need?
geekosaur it's gcc sitting on top of llvm, but its error messages will be gccish not clang-ish
FROGGS jnthn: gist.github.com/FROGGS/2da7263ffe79d2a6465c 18:27
jnthn: I like it :o)
flussence aha, found something!
m: enum A <X>; whoops
camelia rakudo-moar c6ff67: OUTPUT«===SORRY!===␤cannot stringify this␤Error while constructing error object:Could not locate compile-time value for symbol Undeclared::Symbols␤»
flussence m: enum A <Y>; whoops
camelia rakudo-moar c6ff67: OUTPUT«===SORRY!=== Error while compiling /tmp/2xU3BVRyQ2␤Undeclared routine:␤ whoops used at line 1␤␤»
FROGGS awaits jnthns shock, then resignation, then the ok to apply it *g*
vendethiel that all sounds too familiar ... 18:28
flussence the enum's somehow making any use of X::* horribly confused.
FROGGS well, you don't have X::* anymore in the first case
m: my class X { }; 1 1
camelia rakudo-moar c6ff67: OUTPUT«===SORRY!===␤Error while compiling, type X::Syntax::Confused␤ at line 2, near "1"␤Error while constructing error object:Could not locate compile-time value for symbol Syntax::Confused␤»
FROGGS m: enum A <X>; 18:29
camelia ( no output )
FROGGS that should probably explode nicely?
flussence that one's reasonable and valid code though.
FROGGS but it is some sort of redecl 18:30
I dunno
18:31 sqirrel left
FROGGS jnthn: I did not expect a shock that makes you speechless :P 18:32
jnthn FROGGS: :P 18:34
FROGGS: Sorry, distracted ;)
FROGGS np *g* 18:35
jnthn FROGGS: Is that FOREIGN_LANG call in the use statement control?
FROGGS jnthn: what? it is only used when switching the to another grammar by changing $*MAIN
if this was what you asked for 18:36
so, only that one thing calls that method
18:36 prevost left 18:37 zakharyas joined
FROGGS that is why I think it is okay to make this language switching a little bit more expensive, and let the regex compiler continue cheating 18:37
because we will not switch that often
dalek kudo/nom: 65f5f2c | (Tobias Leich)++ | src/Perl6/ModuleLoader.nqp:
fix loading modules from NQP

NQP's load_module method has no named params like 'line' or 'file', also it does not take an opts hash. This allows us to load QAST:from<NQP> again for example.
18:39
jnthn FROGGS: Yeah, makes sense.
TimToady on the subject of :1day, I expect that to be written :day much of the time, at least where Cool and/or coercion is acceptable 18:40
.add(:day) ain't so bad
FROGGS jnthn: so, consensus given, I'd apply that patch as soon as v5 is turned into a P6 grammar+actions
18:41 tmn left
jnthn FROGGS: Yeah, I thin I'm OK with it. I don't think it'll be the final word on the area, but I suspect we need to explore some more real examples to understand it... 18:46
FROGGS yeah...
ahh, also we need to use FOREIGN_LANG instead of LANG in token comp_unit, in case somebody loads a slang via -M, which is very handy 18:47
only when $*MAIN has changed of yourse
course
I hope that works out with eval and other stuff in v5 18:48
[Coke] m: sub foo(*%x) { say %x.perl }; foo(:day) 18:49
camelia rakudo-moar c6ff67: OUTPUT«("day" => Bool::True).hash␤»
jnthn m: say +True
camelia rakudo-moar c6ff67: OUTPUT«1␤»
[Coke] if we auto+, then we have to deal with :day => "12" 18:50
FROGGS why? 18:51
looks like a number
TimToady m: say "12".succ
camelia rakudo-moar c6ff67: OUTPUT«13␤»
FROGGS m: say Date.today.later( :day ) 18:52
camelia rakudo-moar c6ff67: OUTPUT«2014-06-06␤»
FROGGS m: say Date.today.later( day => "12" )
camelia rakudo-moar c6ff67: OUTPUT«2014-06-17␤»
FROGGS m: say Date.today.later( :2day ) 18:53
camelia rakudo-moar c6ff67: OUTPUT«2014-06-07␤»
18:53 jsn_ joined
FROGGS m: say Date.today.later( :4days ) 18:53
camelia rakudo-moar c6ff67: OUTPUT«2014-06-09␤»
FROGGS I love it :o)
TimToady but once we have coercive types, it'll probably be declared Int() :$day
[Coke] m: say Date.today.later( day => "123asdfasdf" )
camelia rakudo-moar c6ff67: OUTPUT«===SORRY!===␤Cannot convert string to number: trailing characters after number in '123⏏asdfasdf' (indicated by ⏏)␤»
[Coke] eh, all looks plausible.
FROGGS that is not P5 here :o)
[Coke] (I would prefer just having an int # of days, though. :)
18:54 brrt joined
masak [Coke]: how do you mean? 18:54
lizmat colomon: sorry to have broken emmenthaler, but I was just following spec
colomon lizmat: just following orders, eh? ;) 18:55
FROGGS *g*
lizmat something like that
well, I think it points to a more general issue, really
FROGGS colomon: you had broken code, you just didn't know :P
lizmat currently, FROGGS++ has implemented CURL::Installation using JSON::Tiny 18:56
FROGGS that we do not have cpantesters yet?
ahh
lizmat but I'm still not sure we can capture all that we need in that respect or proper S11 implementation
colomon FROGGS: I always have broken code. It has been a way of life for decades now...
lizmat my prototype of ~ a year ago, basically used EVAL to deserialize the repo information 18:57
FROGGS lizmat: hmmmm, I don't see any problems in that area
colomon: yeah... :/
lizmat FROGGS: at the moment, I'm just going by memories, and a hunch
FROGGS but I guess it is getting better stability wise
lizmat as soon as I have a proper example of an implementation issue, I will let you know :-)
18:57 raiph left
FROGGS *g* 18:57
I'll listen :o) 18:58
jsn_ hey, haven't tried rakudo in a while (and can't at the moment), but what is the state of perl5 integration? what was that project called again? 19:01
FROGGS okay, turning v5 into pure Perl 6 will be a lot of work I guess :/
jsn_: look ---^ 19:02
:o)
jsn_ heh
FROGGS *g*
soon on CPAN!
19:03 telex left
FROGGS the state is that the basic syntax is supported, but many core modules are not 19:03
so hardly any module from cpan can be used atm 19:04
jsn_ alright i found the repo, looks neat! can i ask how does it work? does it run inside the normal rakudo VM?
FROGGS I am working on making it easier to use, that is that I am making it installable via panda
19:04 telex joined
FROGGS jsn_: it compiles the Perl 5 code to an abstract syntax tree that will be executed by the VM, exactly like Perl 6 code ist turned into an AST and then gets run 19:05
btyler FROGGS: what's the plan for those core modules?
many of them are XS based, right? 19:06
jsn_ oh cool! really appreciate this work. think it will be a great boon to adoption if common CPAN modules can be made to work without too much hassle
FROGGS btyler: rewrite them
jsn_ FROGGS: thx!
btyler FROGGS: ok, cool :) as p6, I assume
FROGGS btyler: because we have the most stuff already in rakudo's 'core'
btyler right
FROGGS jsn_: yes, that is the goal 19:07
making it as easy as possible for people that either have working code or want to use known code or want to port code or ...
:o)
think of List::Util... we have all that stuff as methods most of the time 19:08
btyler that sounds like it'd be a fun excercise to get a handle on more of p6 without having to think up things to write -- can that process be started yet, or is it waiting on p5 to mature a bit? 19:09
*p5 slang, that is 19:10
smls FROGGS: And as operators (P5: List::Util::sum @foo, P6: [+] @foo)
19:11 sorear left
FROGGS btyler: I'd say: wait for it being a proper pandable module, until then it is a little hassle to install 19:12
smls: right
19:13 sorear joined
lizmat colomon: is emmenthaler now broken beyond repair? or is there something that can be done (e.g. by me)? 19:15
colomon lizmat: I'm testing a fix right now
of course, a full smoke takes hours….
19:16 darutoko left 19:19 lue joined
colomon just discovered a major memory bug in this library he has to use for $work 19:21
colomon also did something wrong in his emmentaler patch
m: say $*PERL.compiler.name.Str; say $*PERL.compiler.version.Str 19:22
camelia rakudo-moar c6ff67: OUTPUT«rakudo␤2014.5.147.gc.6.ff.677␤»
colomon is smoking again
19:24 kivutar left, sorear left
masak you know that can kill you. 19:25
FROGGS *groans*
19:25 araujo joined, araujo left, araujo joined
dalek kudo/nom: 28d6725 | (Elizabeth Mattijsen)++ | src/core/Process.pm:
Make $*USER and $*GROUP on-demand
19:25
19:27 sorear joined 19:30 kivutar joined 19:32 lue left 19:35 lue joined 19:36 guru joined 19:37 guru is now known as Guest10757 19:39 Guest10757 is now known as ajr_ 19:41 cognominal__ left
masak lizmat++ 19:49
19:54 kaleem left
colomon has eliminated the $work memory error! o/ 19:54
FROGGS \o/ 19:55
vendethiel colomon++ # fighting with C++
FROGGS colomon++
jnthn nice :)
FROGGS m: my int $i; $i++
camelia rakudo-moar 65f5f2: OUTPUT«Cannot modify an immutable Int␤ in sub postfix:<++> at src/gen/m-CORE.setting:4605␤ in block at /tmp/kGCFDfKhDr:1␤␤»
FROGGS k
dalek rl6-roast-data: 9044565 | coke++ | / (6 files):
today (automated commit)
19:57
[Coke] still no clean rakudo spec test runs. 19:58
*stern glance*
PerlJam maybe if you had something flashing and red, it would get more attention ;> 19:59
[Coke] %F
#5ttff5 20:00
PerlJam: I apparently cannot do that. 20:01
WHAT 20:03
20:03 hoverboard is now known as az 20:04 az is now known as hovercraft
[Coke] looks like I'm supposed to be able to hit Control-C, then a number, then type, and get colored text. nope. 20:04
20:05 dmol left
FROGGS m: use QRegex:from<NQP>; 20:05
camelia ( no output )
[Coke] seen szagab 20:07
.seen szagab
yoleaux I haven't seen szagab around.
FROGGS .seen szabgab 20:08
yoleaux I haven't seen szabgab around.
[Coke] Gabor, whyfor you editing my questions on stackoverflow? please stahp.
FROGGS why would somebody do that? 20:09
[Coke] apparently he's a metacpan proselytiser
lizmat [Coke]: example link? 20:10
[Coke] stackoverflow.com/questions/1922835...xmppclient
I got no email that it had been done, just happened to notice it when hitting stackoverflow today for some other thing. 20:11
PerlJam Coke: you had search.cpan.org links and he changed them to metacpan links? 20:12
[Coke] ayup 20:14
PerlJam szabgab-- 20:15
masak 'night, #perl6 20:17
lizmat gnight masak!
sergot masak: night night ! o/
dwarring [Coke]: szabgab.com/fixing-cpan-links-from-...rflow.html 20:18
that's the driver
20:21 serpent7776 joined
FROGGS rurban++ # comment 20:27
20:30 kurahaupo joined 20:31 spider-mario left 20:32 kaare_ left
FROGGS "SC not yet resolved; lookup failed" :o( 20:34
20:41 aboutGod joined 20:43 pmurias joined, zakharyas left 20:46 aboutGod left 20:47 kivutar left
lizmat [Coke]: fwiw, the last commits for jvm seem to have fixed the fail in t/spec/S17-supply/on.t 20:48
[Coke] yay! 20:51
/awayish 20:52
lizmat m: once if try { note "foo" } { .say } # /me likes being able to say "once if try" 20:54
camelia rakudo-moar 28d672: OUTPUT«foo␤Nil␤»
PerlJam lizmat: you've found TimToady out! Perl 6 was initiated purely for poetic reasons ;)
colomon smoke test worked: 75.134.170.198:3001/report 20:56
vendethiel oh, did parrot merge a branch of some sorts? 20:59
flussence bummer, I've got red tests on there :(
21:01 brrt left
pmurias FROGGS: you are implementing COBOL now? 21:06
FROGGS pmurias: no... that was just a dummy package :o)
PerlJam It would be incredibly bizarre if Perl 6 became the goto language for businesses because of an easy migration path from COBOL to Perl 6. :) 21:07
jnthn DUMMY PACKAGE DIVISION
FROGGS *g* 21:08
vendethiel PerlJam: life's wheel turns, and eventually gets back to where it started :)
huf sunlight, falling on your spear, deadly life is your ideal, life is like a wheel 21:09
21:09 skids left
PerlJam I liked it better when everyone riffed puns from what people said ;) 21:10
21:12 treehug88 left
FROGGS m: my token foo:sym['bar'] { . } 21:13
camelia rakudo-moar 28d672: OUTPUT«===SORRY!===␤Cannot find method 'ast'␤»
FROGGS bug^^
lizmat r: my token foo:sym['bar'] { . }
camelia rakudo-jvm 28d672: OUTPUT«(timeout)» 21:14
..rakudo-moar 28d672: OUTPUT«===SORRY!===␤Cannot find method 'ast'␤»
..rakudo-parrot 28d672: OUTPUT«===SORRY!===␤No such method 'ast' for invocant of type 'NQPMu'␤»
FROGGS it parses that colonpair syntax, but obviously does not make something for that matched branch 21:15
pmurias PerlJam: it's actually quite an old idea: use.perl.org/use.perl.org/_Ovid/jou...39938.html 21:16
PerlJam wow 21:17
(use.perl.org was still operational in Nov 2009?!?) 21:18
21:19 treehug88 joined
FROGGS I like the idea of implementing a COBOL slang, but for now (where now is like the next two years), I am trying to keep my hands on 'useful' stuff 21:19
jnthn: when I compile a module A that uses B which uses C:from<NQP>, it fails with "SC not yet resolved; lookup failed" 21:23
jnthn: any ideas what that might be about?
PerlJam FROGGS: speaking of useful stuff ... how's the CPAN/PAUSE changes coming along?
FROGGS PerlJam: my locally patched panda downloads MIRRORED.BY, ping these servers to build up a top 10 21:24
21:24 rurban left
FROGGS then when you search for a namespace it goes downloading p6dists.json from one of the mirros 21:24
jnthn FROGGS: Does :from<NQP> result in code-gen to actually load the module?
21:24 zengargoyle joined
FROGGS (also p6provides.json and p6binaries.json) 21:24
PerlJam FROGGS: neat! 21:25
FROGGS but these json files are gzipped, and my sucky http client cannot download binary files correctly atm :/
jnthn: good point... 21:26
jnthn FROGGS: gzipped 'cus of HTTP compression?
FROGGS jnthn: no, the server provides p6dists.json.gz files 21:27
jnthn ah, I see
FROGGS "Transfer-Encoding: chunked" was also nice :o)
jnthn: in the P6 Actions a use statement for a module results in Nil 21:29
jnthn FROGGS: Sure, which is fine 21:30
FROGGS: But in Perl6::World, load_module registers a load dependency 21:31
FROGGS yeah, I see it... 21:32
it also gets the %opts
hmmm, at least it does not load the dependencies... 21:42
21:44 anaeem1 joined, smls left 21:47 anaeem___ left
lizmat feels tired and is going to look at stuff tomorrow again 21:51
gnight #perl6!
FROGGS gnight lizmat 21:53
gnight all
jnthn o/ 21:54
jnthn will call it a night too :)
See y'all tomorrow
21:55 bluescreen100 joined 21:57 bluescreen10 left, hovercraft is now known as hoverboard 22:01 bluescreen100 left 22:06 treehug88 left 22:22 Rotwang left 22:25 serpent7776 left 22:27 skids joined
colomon everyone went to bed while I was nomming. 22:27
22:31 ajr_ left 22:34 SevenWolf joined 22:35 avuserow left
kurahaupo good morning colomon 22:37
colomon \o 22:45
22:45 denis_boyun_ left 22:47 anaeem1 left 22:49 avuserow joined 22:51 jsn_ left 22:57 dmol joined 23:30 molaf_ left, cognominal joined 23:31 pmurias left 23:47 btyler left