»ö« 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.
00:00 kupopo left 00:12 nbrown_ left, Akagi201 joined 00:13 PZt left 00:14 lizmat joined 00:17 Akagi201 left 00:32 gmunoz left 00:33 gmunoz joined 00:42 aborazmeh joined, nbrown_ joined 00:43 aborazmeh left 00:46 aborazmeh joined 00:49 dolmen joined 00:53 nbrown_ left 00:55 aborazmeh left 01:06 gmunoz left 01:11 xenoterracide joined, erkan left 01:13 Akagi201 joined, gmunoz joined 01:17 Akagi201 left 01:22 FROGGS_ joined 01:24 Sqirrel left 01:25 FROGGS left 01:48 nbrown_ joined 01:53 nbrown_ left 01:58 klaas-janstol joined 01:59 kst` joined 02:00 dolmen left 02:01 kst left 02:02 klaas-janstol left 02:04 Akagi201 joined 02:15 jimmyz joined
jimmyz r: constant fib = 0, 1, *+* ... *; say fib[100000] 02:15
camelia rakudo-{parrot,jvm} c793d8: OUTPUT«(timeout)» 02:16
..rakudo-moar c793d8: OUTPUT«P6opaque: no such attribute '$!storage'␤ in method reify at src/gen/m-CORE.setting:7722␤ in method reify at src/gen/m-CORE.setting:7716␤ in method gimme at src/gen/m-CORE.setting:8205␤ in method exists_pos at src/gen/m-CORE.setting:8193␤ in …»
jimmyz TimToady, jnthn: ^^
fib[99999] works 02:19
02:22 nbrown_ joined 02:26 nbrown_ left 02:28 gtodd1 joined 02:29 gtodd left
jimmyz masak: ^ 02:31
02:32 jimmyz left
btyler .tell colomon I added a rough draft for encoding values to JSON::Jansson, next up is adding an option to parse JSON into perl6 data structures (rather than preserving them as jansson objects)...or something more pressing for your use case, if you have something in mind 02:33
yoleaux btyler: I'll pass your message to colomon.
02:35 akaseki joined
btyler for other folks -- any feedback much appreciated: github.com/kanatohodets/p6-json-jansson 02:35
one trouble with the approach I'm taking is that I end up needing to implement all of positional/associative, and it isn't clear to me what exactly needs implementing in order to confidently say "this will behave just like a p6 array/hash/etc" 02:36
02:38 Salai left 02:39 kurahaupo joined 02:41 noganex_ joined 02:43 noganex left 02:46 Sqirrel joined 02:49 PZt joined
gtodd1 perlgeek.de/blog-en/perl-6/2013-repl-trick.html still digging the REPL trick 02:53
02:53 gtodd1 is now known as gtodd 03:04 _sri left 03:06 kst`` joined 03:07 kst` left, _sri joined 03:25 BenGoldberg left 03:44 jack_rabbit joined 03:52 fling left 03:53 fling joined
masak morning, #perl6 03:57
m: constant fib = 0, 1, *+* ... *; say fib[99999] 04:01
camelia rakudo-moar c793d8: OUTPUT«1605285768272981969703501699166323590285867163980464844832239016803082277106148858007382799983341986487069902980550885975477322351434706230637004409049784072899949196507083084156794116251699801486721736223390722427570186888655751529235613410338408870193727…»
masak m: constant fib = 0, 1, *+* ... *; say fib[100_000] 04:02
camelia rakudo-moar c793d8: OUTPUT«P6opaque: no such attribute '$!storage'␤ in method reify at src/gen/m-CORE.setting:7722␤ in method reify at src/gen/m-CORE.setting:7716␤ in method gimme at src/gen/m-CORE.setting:8205␤ in method exists_pos at src/gen/m-CORE.setting:8193␤ in …»
masak yeah, that seems like an arbitrary limit...
m: constant fib = 0, 1 ... *; say fib[100_000] 04:03
camelia rakudo-moar c793d8: OUTPUT«P6opaque: no such attribute '$!storage'␤ in method reify at src/gen/m-CORE.setting:7722␤ in method reify at src/gen/m-CORE.setting:7716␤ in method gimme at src/gen/m-CORE.setting:8205␤ in method exists_pos at src/gen/m-CORE.setting:8193␤ in …»
masak m: constant fib = 0, 1 ... *; say fib[99_999]
camelia rakudo-moar c793d8: OUTPUT«99999␤»
masak m: constant fib = 0 xx 100_000; say fib[99_999] 04:04
camelia rakudo-moar c793d8: OUTPUT«0␤»
masak m: constant fib = 0 xx 100_000; say fib[100_000]
camelia rakudo-moar c793d8: OUTPUT«Nil␤»
masak m: constant fib = 0 xx 100_001; say fib[100_000] 04:07
camelia rakudo-moar c793d8: OUTPUT«P6opaque: no such attribute '$!storage'␤ in method reify at src/gen/m-CORE.setting:7722␤ in method gimme at src/gen/m-CORE.setting:8205␤ in method exists_pos at src/gen/m-CORE.setting:8193␤ in method at_pos at src/gen/m-CORE.setting:8166␤ in…»
masak m: constant fib = 0 xx 100_001; say fib[99_999]
camelia rakudo-moar c793d8: OUTPUT«0␤»
masak m: constant fib = 0 xx 100_002; say fib[100_000]
camelia rakudo-moar c793d8: OUTPUT«P6opaque: no such attribute '$!storage'␤ in method reify at src/gen/m-CORE.setting:7722␤ in method gimme at src/gen/m-CORE.setting:8205␤ in method exists_pos at src/gen/m-CORE.setting:8193␤ in method at_pos at src/gen/m-CORE.setting:8166␤ in…»
04:07 kaare_ joined
masak ok, so it doesn't necessarily involve infix:<...> 04:08
I'm now going for breakfast, and then I'll be scope-down until my talk.
& 04:09
lizmat morning masak 04:13
morning #perl6
please note the the title and the tone of my presentation has changed: act.yapc.eu/ye2014/talk/5704
04:15 kaare__ joined, Pleiades` left 04:16 Pleiades` joined
lizmat also does a scope down until the talk 04:17
04:17 kaare_ left 04:20 thou left 04:25 xinming_ joined, xinming left 04:36 Psyche^_ left 04:37 Psyche^ joined 05:05 kst``` joined 05:06 rindolf joined 05:07 kst`` left 05:13 rindolf left 05:14 rindolf joined 05:16 Akagi201 left 05:23 kurahaupo left 05:24 woolfy joined 05:30 SamuraiJack joined 05:35 dolmen joined 05:37 akaseki is now known as Salai 05:45 rindolf left, rindolf joined 05:48 kurahaupo_ joined 06:02 pmurias joined 06:03 thou joined 06:06 FROGGS[mobile] joined 06:08 thou left
FROGGS[mobile] morning 06:08
nwc10 morning
FROGGS[mobile] masak++'s talk is starting in 22 minutes? 06:09
nwc10 I hope not. I think it's 82 minutes
FROGGS[mobile] ohh, okay
06:11 rindolf left, rindolf joined 06:13 erkan joined, erkan left, erkan joined 06:14 gmunoz left
masak FROGGS[mobile]: don't scare me like that! :P 06:22
FROGGS[mobile] *g* 06:23
sorry, I just woke up and subtracted the tz offset twice 06:24
06:26 xenoterracide left 06:27 rindolf left 06:28 rindolf joined 06:32 gmunoz joined
pmurias CALLER stops inlining unless it's absence is proven by static analysis? 06:37
06:37 gmunoz left 06:38 Ven joined 06:39 dolmen left
Ven o/, #perl6 06:40
06:41 rindolf left 06:42 rindolf joined 06:43 rindolf left, rindolf joined 06:44 gmunoz joined 06:50 gmunoz left 06:51 Salai is now known as akaseki 06:53 akaseki is now known as Salai
woolfy Good morning... 07:03
lizmat and I are in a very nice big room in Sofia, at YAPC::EU. We invite all Perl 6-ers and other Perl-people to a hackathon in our room. We have 18 seats and excellent connection. And food and drinks. 07:04
It will be on Monday 25th in room 10.01 in the Metropolitan Hotel, starting as soon as we wake up. Can be as early as 10:00. 07:05
I will make sure that the front desk give people who mention "Perl Hackathon" access to the elevator. 07:06
I will add a page to the wiki of YAPC::EU. 07:08
07:10 rindolf left, rindolf joined
tadzik half of the talks I'm planning for today are done by female speakers 07:12
and there are collisions!
I can't get over how fantastic that is
07:12 gmunoz joined
Ven tadzik: not sure why you think collisions are so great. :P 07:16
tadzik Ven: I'm not happy about them, but it's a sign of good times that they're there
Ven tadzik: I'm kidding, I'm kidding. It's a great news indeed :) 07:17
tadzik :) indeed
07:17 gmunoz left 07:18 gmunoz joined 07:24 gmunoz left 07:25 gmunoz joined
Ven masak++ up next 07:26
woolfy Hackathon on Monday (of course, we hope some Perl6-ers can make it): act.yapc.eu/ye2014/wiki?node=Hackathon 07:27
07:27 FROGGS_ is now known as FROGGS
FROGGS woolfy: I'll join remotely :/ 07:28
07:29 darutoko joined 07:30 gmunoz left, gmunoz joined
FROGGS I have no sound!! /o\ 07:30
ahh, better :o) 07:31
masak: hello :o)
woolfy FROGGS: nice
TimToady lack of sound considere harmful 07:34
*red
Ven .o( red means harm, as usual ) 07:35
wut 07:36
TimToady at least I'm not the only one misspelling things around here 07:37
tadzik is there a reason why .get() is a part of Socket::INET rather than than Socket itself? 07:42
TimToady YOU_ARE_HERE 07:51
07:51 thou joined
TimToady this is more or less what we do for the setting 07:52
Ven you goto? 07:56
07:56 thou left
Ven
.oO( Gotta use that to build an adventure where you are the hero )
07:59
TimToady thought that was called a cactus stack...
woolfy Oh my, in 27 minutes lizmat's talk will begin and we're still in the hotel 08:01
She has been working frantically since 06:00 this morning.
Because jnthn++ and masak++ and even mst++ changed lots of stuff the last few days with their talks 08:02
TimToady LoL works!
so does lol!
m: say LoL, lol;
camelia rakudo-moar c793d8: OUTPUT«(LoL)␤»
tadzik what a bargain
you don't even need slangs 08:03
TimToady term:<LOL>
nwc10 we can heckle-by-proxy if you like. :-)
TimToady you're authorized :)
woolfy One more time plugging the Hackathon: act.yapc.eu/ye2014/wiki?node=Hackathon 08:04
TimToady pause is just the YOU_ARE_HERE of the rest of the block as a continuation; we just limit YOU_ARE_HERE to a call scope currently 08:05
that's what the SETTING does 08:06
08:07 lizmat left, woolfy left 08:09 dolmen joined
TimToady the setting can do that too 08:10
maybe we just write the setting in terms of a pause
well, the compiler kinda does that too with the setting, compiling code and then jumping to it 08:12
so the primitives are already kinda there
Ven oh c'mon, lisp has been doing that forever ;-) 08:13
TimToady mention the YOU_ARE_HERE as a kind of pause if you like 08:15
08:15 dolmen left 08:16 pmurias left
FROGGS masak: so, how do we make subclassing Perl6::Grammar/Actions work? :o) 08:18
TimToady rewrite the compiler in Perl 6 :)
FROGGS use: Perl6::Grammar :from<NQP>
m: use Perl6::Grammar:from<NQP>
08:18 mrf joined
camelia ( no output ) 08:18
08:18 zakharyas joined
FROGGS m: use Perl6::Grammar:from<NQP>; grammar Foo is Perl6::Grammar { }; say Foo 08:19
camelia rakudo-moar c793d8: OUTPUT«No such method 'gist' for invocant of type 'Foo'␤ in sub say at src/gen/m-CORE.setting:14117␤ in block <unit> at /tmp/xwyN0EDvdi:1␤␤»
FROGGS TimToady: I don't wanna do that :o)
I mean, it would be awesome and perhaps helpful in the end, but it would also be like five times slower than it is now 08:20
what I am thinking about now is that masak wants to change method statementlist too perhaps, without breaking future changes of that method too often 08:22
08:22 dolmen joined
FROGGS would it be possible to inherit from a class, take a method from the parent class and inject/remove statements, and the expose that method as our own? 08:22
TimToady we merely have to write it in the subset that compiles down at least as efficiently as nqp :P 08:23
FROGGS true
how?
:D
08:23 dwarring left
TimToady that's obvious, torment the implementors! duh! 08:23
you just need to treat the continuation of the current statement as the YOU_ARE_HERE that you serialize 08:24
FROGGS I'd think hllizing grammars and cursors might be enough
TimToady well semantically 08:25
FROGGS hmmm
TimToady messing with that concept syntactically is of course an interesting problem that remains
FROGGS what I'd like to see first is that we would be able to add rules to statement_control and so on 08:26
TimToady but pause is sort of a {YOU_ARE_HERE} that is null, and just returns, much like the -n and -p settings return to the loop around your program
your program is already in a sequence of statements within the setting 08:27
masak thanks to my lovely audience for all the nice heckling :> 08:31
TimToady yeah, they offered to, and then they didn't :) 08:32
nwc10 is t/spec/S17-supply/watch_path.t expected to spectest fail on OS X?
masak oh, there was some heckling :)
nwc10 you could ask liz for me :-)
TimToady what you get for talking on the morning of the last day of the conference :P
masak heh :) 08:33
masak lizzens to lizmat
nwc10 oh, nice
ok 1 - make sure we don't have a file 1..22
Trace/BPT trap
I can't debug that during a talk
TimToady is silent right now :) 08:37
Ven I actually decided that, instead of trying to mess up with the parent process' bit to change something's, I'll just generate `alias`es in some .sh file :P 08:38
TimToady splat! 08:39
oh, thought it was a windshield :)
masak heh :)
TimToady: no, the butterfly has a 10 feet wingspan!
08:40 SamuraiJack left
masak "the new Perl is Perl 6" -- it's too early to pull that lever, IMHO. 08:40
Ven masak: who said that? 08:41
TimToady it's me!
masak Ven: watching a lizmat talk live.
TimToady it's just like a...a pause! 08:42
TimToady is pretty stupid... 08:43
'this death star is fully operational' 08:44
yes, use the mic 08:46
FROGGS TimToady: I like you anyway :o)
Ven masak: one, that one talk :P
masak :P
Ven oh, it's that one talk, but a new one instead
masak yes.
Ven wow, she just said I was stupid :P
AAAH
masak data point: we have too many outsider-facing names.
08:46 gfldex joined
masak ideally, it should be just "Perl 6" -- but it tends to be Perl 6, rakudo, moar, panda, rakudobrew... 08:47
maybe nqp too.
FROGGS and parrot
masak right.
Ven that's what happens when you take the internals for granted :P 08:48
masak there's nothing wrong with all of these sub-projects, but we should provide paths/onramps where they don't constitute an obstacle.
TimToady INTERCAL backend!!!
nwc10 sat with my work colleague for breakfast - he was only aware of parrot and JVM, and JVM was not his faviourite thing
TimToady we'll get threading for free!!
Ven That question was staged! I know it!
TimToady NFG
masak Ven: nope. :)
jnthn No, it was certainly asked off-stage... :P 08:49
TimToady well, we'll see about that... 08:52
we've already implemented several 80%s...
FROGGS I think we are better then 80/80 to over Perl 6 1.0 08:53
cover*
ribasushi: I care, and the many deps need to be written 08:54
08:55 zakharyas left
masak frowns in the general direction of predictions, promises, and estimates 08:55
FROGGS ribasushi: and it takes time for me to write all DBIx::Class deps...
masak: I do not make any promise :o)
so, making lists of what needs to be done is the right thing here 08:56
perhaps this will pull ppl in
nwc10 lists of lists? ;-)
FROGGS *g*
indeed 08:57
Ven the person doing what?
masak Ven: p5-p6 interop.
Ven: there was a TPF grant for doing that. 08:58
Ven that is, FROGGS, or something else?
masak Ven: not FROGGS.
FROGGS no, diakopter
masak Ven: lizmat is being discrete and not naming names :)
Ven I got that, but I was wondering mostly about the project itself
TimToady batteries are supplied by distributors, not core 08:59
someone point out the success of the Linux model
Perl 6 is just the kernel, in that model
nwc10 jnthn: 30% of setting load was rel2abs? 09:00
09:02 dg joined
TimToady thanks 09:02
jnthn nwc10: Seems so, from the profiler, yes. 09:03
moritz is that because rel2abs is so slow, or because it's called so often?
Ven so, jnthn++'s async talk is this afternoon, right?
nwc10 I believe that's still "left as an excercise to the readler"
FROGGS moritz: isnt it always a mix of both? :o) 09:04
TimToady Ven: yes, 1450 Sofia time
someone point out the success of the Linux model:)
FROGGS *g*
TimToady oops.
which is, conveniently, 450 here
darn scrolling touchpad... 09:05
FROGGS you can glue it to your desk
TimToady it sees both my hands and thinks I'm doing two-fingered scrolling
FROGGS or shorten then cable
Ven that means 1350 my time, eh.
TimToady so, time for another nap here... 09:07
zzz &
moritz FROGGS: often enough one of them clearly dominates
09:08 dolmen left 09:11 Ven left, Ven joined
masak is now re-enjoying speakerdeck.com/stevan_little/perl...a-dead-end 09:12
09:15 jack_rabbit left 09:27 psch left 09:28 Ven left 09:29 isBEKaml_mobile joined 09:31 Ven joined
Ven masak: well, what happened to moe? 09:32
09:40 thou joined 09:44 thou left, Ven left
FROGGS m: my $b = Buf.new(1, 2, 3); $b[1] = 22; say $b # jnthn: would you mind allowing that? 09:46
camelia rakudo-moar c793d8: OUTPUT«Cannot modify an immutable Int␤ in method assign_pos at src/gen/m-CORE.setting:1812␤ in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:2511␤ in block <unit> at /tmp/Dv3VyArOYs:1␤␤»
09:46 Ven joined 09:50 isBEKaml_mobile left 09:55 anaeem1 joined 09:57 kst```` joined
masak Ven: I'd kinda like to hear stevan's answer to that, too. 09:57
Ven well, my goto.p6 is done \o/ 09:58
FROGGS O.o
09:58 kst``` left
Ven which has nothing in common with masak++'s talk, btw. 09:58
masak Ven: the second-hand stories I hear vary between (a) the more he evolved it, the more he realized he was rebuilding Perl 6, and (b) he realized that building a language/compiler is hard work. 09:59
FROGGS yeah, that nothing you can do on a sunday afternoon 10:00
10:01 lizmat joined
masak niner++! # github.com/niner/Inline-Perl5/blob...e_perl5.pl 10:02
tadzik aww yiss 10:03
masak what's the coolest thing we can do with this new Awesome Powar?
tadzik cgi.pm 10:04
nine_ tadzik: where are you right now?
tadzik hides
nine_: hidden
FROGGS under a table perhaps :o)
tadzik :)
nine_ just realized that maybe I don't want to know... 10:05
mrf nine_: now I want an imbedded perl interp inside mod_perl imbedded in perl6 :D 10:08
10:14 Ven left
lizmat around the 6th Lightning Talk will be one of mine:"A State Of Perl 6" 10:20
slightly updated from the OSCON one
masak \o/
10:21 Akagi201 joined
masak m: say "foo".encode.WHAT 10:24
camelia rakudo-moar c793d8: OUTPUT«(utf8)␤»
masak m: say "foo".encode.^mro
camelia rakudo-moar c793d8: OUTPUT«(utf8) (Any) (Mu)␤»
masak m: say utf8.^methods 10:25
camelia rakudo-moar c793d8: OUTPUT«decode encoding new elems bytes chars Numeric Int list subbuf unpack contents of Str at_pos Bool Stringy gist perl␤»
10:25 BizarreCake joined
masak m: say utf8.^methods(:local) 10:25
camelia rakudo-moar c793d8: OUTPUT«decode encoding new elems bytes chars Numeric Int list subbuf unpack contents of Str at_pos Bool Stringy gist perl␤»
FROGGS jnthn: the Digest module segfaults in one of its tests :/ (MVM_gc_worklist_add) 10:26
masak m: say Buf.^methods(:local)
camelia rakudo-moar c793d8: OUTPUT«new elems bytes chars Numeric Int decode list subbuf unpack contents encoding of at_pos Bool Str Stringy gist perl␤»
FROGGS masak: they do the Blob role that implements these
masak m: say Buf.^methods>>.name.Set === utf8.^methods>>.name.Set 10:28
camelia rakudo-moar c793d8: OUTPUT«True␤»
masak m: say utf8.^does(Blob)
camelia rakudo-moar c793d8: OUTPUT«True␤»
masak m: say Buf.^does(Blob)
camelia rakudo-moar c793d8: OUTPUT«True␤»
10:29 jaffa4 joined
FROGGS jnthn: and this segfault goes away by using MVM_SPESH_DISABLE=1 10:29
masak FROGGS: try unsetting it and setting MVM_SPESH_OSR_DISABLE=1 instead 10:30
10:30 spider-mario joined
FROGGS jnthn: it segfaults with MVM_SPESH_OSR_DISABLE=1 # masak++ 10:31
10:31 spider-mario left
FROGGS jnthn: it passes with MVM_SPESH_INLINE_DISABLE=1 10:31
10:34 spider-mario joined 10:35 mj41 joined
masak the current talk by Mark Overmeer in Vitosha is crazy. 10:35
he's talking about how an important CPAN module Digest::SHA got broken by an "improvement" that treats the bytestream input as UTF-8 strings. 10:36
10:36 kst````` joined
itz File::Slurp (and probably much more) is also broken wrt utf-8 10:37
masak Perl 5 programmers don't have it easy; this whole talk wouldn't have existed if they'd had the Str/Buf distinction.
moritz only possible (and likely) due to p5's deep-rooted confusion about byte strings and text strings
masak aye.
10:38 dolmen joined, kst```` left
masak but all levels of the chain (p5, core, modules, module author, module users) are compounding the problem. 10:38
moritz I've done my best to inform people about the problem, but it seems like a struggle against wind mills 10:39
for everybody who understands it, there three more who try but don't, and five more than don't even try 10:40
masak moritz: the questions part seems to confirm this. 10:41
moritz in some sense, it's a really tough problem in p5 design space
masak moritz: the first question/comment started "I think you're basically wrong about everything..."
jaffa4 what is the time over there?
moritz p5 is really "only different types for things with different shapes"
masak jaffa4: 13:41
moritz a scalar and a hash have different-enough shapes to warrant separate types ($ vs. %), but there's no real mechanism for core-types below the scalar level 10:42
which is why still no good solution has been found 10:43
a partial solution might be to have three user-introspectable string types, "byte only", "text only", and "polymorphic" (which is what's currently used)
and mixing text-only and byte-only strings would be fatal 10:44
10:44 Ven joined 10:45 anaeem1 left
FROGGS (at runtime) 10:45
moritz sure
mj41 lizmat: new charts github.com/mj41/Perl6-Analytics-re...opm-prev1/ (data are a few hours old) ... feel free to use any of them
moritz but it's really just a tiny patch over a huge spasm between the type model that p5 offers, and the type model that modern programmers want/need 10:46
masak hehe... "huge spasm" :P
that may be a typo, but it's a brilliant one.
moritz in gloomy philosphy mode
yes, I meant "chasm" 10:47
masak "spasm" is funnier
masak .oO( "but I don't *like* spasm!" )
moritz is funniest when he doesn't mean to
jaffa4 What was your lecture about, masak? 10:48
Ven lizmat: slides somewhere? :) 10:50
the new shiny ones
lizmat not yet.... in a moment...
dolmen Looks like trying to build rakudo/jvm from a non-ASCII path is a bad idea...
paste?
masak "are we starting from 0?" -- guy in the third row :P 10:52
jaffa4: "implementing goto in 16 hours"
jaffa4 you have good memory, nice 10:53
masak ;)
10:54 lizmat_ joined
masak jaffa4: it was about how to pretend that delimited continuation exists in the language, through painstaking-but-eventually-straightforward code generation, slightly modified Perl 6 grammar, and slangs. 10:55
Ven aka cheating :D 10:58
10:58 lizmat left
masak jaffa4: vlodtz was active on the channel back in 2005. he came up to me after the talk and said that the talk made him decide to start looking into Perl 6 again. 10:58
Ven: yes, definitely cheating. 10:59
Ven: but given that Perl 6 will never support continuations in core, that's the option I could think of.
nwc10 I'm sure I should know hte answer - does MoarVM support continuations? 11:00
masak nwc10: oh yes. 11:01
nwc10: see src/core/continuation.c :)
nwc10 aha yes. 11:02
nine_ tadzik: github.com/niner/Inline-Perl5/comm...d97731f79c 11:03
tadzik: we now have working two way communication between Perl 5 and Perl 6 :)
nwc10 ship it!
masak o.O 11:04
nine_++
tadzik nine_: awesome :)
nine_: now we can send 64bit ints and encode json inside
:>
nwc10 haters are particularly going to hate that their nice pure untainted Perl 5 code is now being used by Perl 6 :-) 11:05
tadzik . o O ( Perl 5 Only Artistic License )
lizmat_ nine_++ 11:06
huf perl5 code pure? running on _that_ vm? 11:07
it's lots of things but pure isnt even remotely applicable :)
masak huf: one almost suspects that nwc10 was being sarcastic or something. 11:08
11:09 lizmat_ is now known as lizmat
huf masak: nah, sarcasm aint real. 11:09
lizmat this just on CNN: A 6.0-magnitude earthquake hit the northern San Francisco Bay area early Sunday, the U.S. Geological Survey said. 11:10
nwc10 I'm not sure how many different nuances I'm thinking.
lizmat hope TimToady was not woken up by this
nwc10 The statement was made in good faith as a somewhat contraversial observational joke
but I suspect it's both "many a true word said in jest" and "resistance is futile. you will be assimilated" 11:11
dolmen rakudo.org/how-to-get-rakudo/ should be the home page of rakudo
the current home page shows Star releases that are outdated
masak dolmen: +1
dolmen Star releases are advertised "for early adopters", but "early adopters" want instead the latest in development features 11:13
lizmat Ven: slides up at www.liz.nl/C-DayIsComingYAPCEU.pdf
dolmen the amzing stuff we read in jnthn blogs posts
11:15 lizmat_ joined
masak dolmen: ideally, Star releases should have that, too. 11:15
11:19 lizmat left
Ven lizmat: thanks & thanks for the mention :P 11:20
nine_ tadzik: where are you? 11:23
tadzik nine_: at sawyer's
11:24 mj41 left
nine_ tadzik: ah right next to the column 11:24
tadzik oh yes :)
Ven lizmat_: "if your using" little typo here :) 11:26
11:26 lizmat_ is now known as lizmat
tadzik nine_: u wot m8 11:26
that's crazy things :)
I love YAPC
nine_ tadzik: yes, I'm using Inline::Python from within Inline::Perl5 from within Perl 6 :)
tadzik :D 11:27
Ven I'm very much agreeing with the c-day talk
lizmat fixed and uploading, Ven++
11:28 thou joined
masak nine_: o.O 11:31
11:31 lizmat_ joined
Ven masak: y'know about the rabbit hole ? well that's about it 11:31
I guess you need some some slang around it to build the universe (xkcd.com/224/) 11:32
(lisp slang, that is)
masak not sure which rabbit hole you're referring to.
11:32 thou left
masak the original Alice one? 11:32
the Matrix/Morpheus one? 11:33
or the proverbial one?
you can't just say "the rabbit hole" :P
Ven masak: Matrix's is just alice's, really.
11:33 dolmen left
masak troo 11:33
Ven Sure I can, that's the point: you don't even know which one you're dwelving :P
masak ok, so what I've gathered so far is that you're talking about *a* rabbit hole. fine. :) 11:34
11:34 telex left
Ven let's go with alice. This nesting is already making my brain hurt enough, I don't need metaphors to hurt it more 11:34
11:35 lizmat left 11:36 lizmat joined
masak :) 11:36
11:36 telex joined
jaffa4 What is the state of calling perl5 from Perl6? 11:36
masak jaffa4: it works! 11:37
nine_++
11:40 lizmat_ left
jaffa4 I am reading the slide "Too stupid to contribute?" 11:40
lizmat and?
Ven I took that one badly :(
lizmat seriously?
jaffa4 not PC?
masak it's... perhaps not the ideal formulation :/ 11:41
Ven no, not seriously, but it's not well said.
lizmat well, I wasn't going for subtle
masak "we value all contributions" is a better start
Ven "if you're writing a tutorial instead of commiting, you're stupid LOL" <- not exactly the best way to get ppl involved
masak the current one implies that non-dev contributions are worth less, because the contributors are too stupid to code. 11:42
it's a dev perspective, a very common one, and wrong.
jaffa4 I write code and doc, so I am both stupid and smart 11:44
masak clearly :)
Ven jaffa4: congratulations, you're now a heisencake
(if your username is "jaffathecake")
TimToady actually, I was awoken by the earthquake, but I'm a Californian so I admired the tinkling noises from some glass bells and the dog barking next door, then promptly fell back asleep
masak TimToady: glad to hear you weren't more shook up than that. 11:45
TimToady it only felt like a 4.0 here
lizmat good it's only just that
11:45 tgt joined
lizmat in the early 90's, I woke up like that once in Amsterdam 11:45
a 3.1 earthquake about 200km away
TimToady and I knew it wasn't huge because it wasn't long enough, but I knew it was larger than 4 because it went on too long for that :)
Ven I'm not sure I could live someplace with earthquakes :o) really needs to get habituated
nine_ And now we handle strings returned from Perl 5 to Perl 6 :) 11:46
TimToady well, they happen seldom enough to be interesting, but all you can do is make sure everything is bolted to the wall
timotimo pro: i just tuned in when jnthn started setting up for his talk. con: i've gotta go again in about 10 minutes >_< 11:47
flussence yayitsjnthn!
TimToady other than that, you can't see 'em coming like a hurricane or even a tornado
11:47 mj41 joined
Ven timotimo: is he in now? 11:47
masak jnthn is about to begin, yes. 11:48
TimToady oh, and I also looked at my watch, so I know the earthquake was at 3:21 local
11:49 kaare__ is now known as kaare_ 11:51 lizmat_ joined, dolmen joined
flussence I ended up missing masak's talk, because some fire engines went down the road here at 3am... :( 11:52
Ven woke up one hour too early, but caught the talk :o) 11:53
11:54 lizmat__ joined
flussence braces for awesome 11:54
11:55 lizmat left, lizmat__ is now known as liizmat, liizmat is now known as lizmat 11:58 lizmat_ left
timotimo *sigh*, slides not visible :( 11:59
lizmat :-( 12:00
visible here :-)
TimToady the video person doesn't think code is interesting... 12:01
Ven :(
timotimo ah, finally 12:02
12:03 mj41 left 12:04 ecocode joined
Ven m: my @a = True, False, True; say @a.grep(!*) 12:07
camelia rakudo-moar c793d8: OUTPUT«False␤»
Ven oh, he used it :P 12:08
timotimo .o( shake your closure-maker )
flussence m: say signal(SIGINT).perl 12:11
12:11 lizmat_ joined
camelia rakudo-moar c793d8: OUTPUT«Supply.new()␤» 12:11
flussence m: say Signal.enums
timotimo m: say signal(SIGINT).Promise
camelia rakudo-moar c793d8: OUTPUT«("SIGBREAK" => 2, "SIGHUP" => 3, "SIGINT" => 1, "SIGWINCH" => 4).hash␤»
rakudo-moar c793d8: OUTPUT«Promise.new(scheduler => ThreadPoolScheduler.new(initial_threads => 0, max_threads => 16, uncaught_handler => Callable), status => PromiseStatus::Planned)␤»
flussence oh, sigint was one of the ones already there :)
12:12 lizmat__ joined
timotimo "await $proc.start" kinda sounds like "wait for the process to start", d'oh 12:13
flussence that might read better as "$proc ==> start ==> await" (if that even works...) 12:14
12:14 lizmat left 12:15 dolmen left
timotimo probably want to use .start instead, as that's a method call on $proc 12:15
while await is a subroutine call
12:16 lizmat_ left
timotimo i'd be interested in seeing how you can do good exception handling with this pattern, as any of these promises may be broken instead of kept, right? 12:17
Ven I didn't even know `.<>` worked. Though I already used *<foo> P 12:18
timotimo the boolean value of the promise will be True on "Broken", so it'll at least kick those out of the @work stuff
yeah, .<> is for $_, *<> is for making a little closure
Ven hehe
doesn't @working need a rw for .= ? 12:19
timotimo i kind of think so
FROGGS do arrays need that?
timotimo well, .= does an assignment ...
Ven yea
grep itself isnt destructive
timotimo m: sub test(@arr) { @arr .= sort }; my @a = <a b x y r s t>; test(@a); say @a 12:20
camelia rakudo-moar c793d8: OUTPUT«a b r s t x y␤»
timotimo ah.
Ven that seems kinda bad :o)
Ven would be interested in the spec part about that
FROGGS I think it is not trivial to make it ro 12:21
timotimo oh gotta run 12:22
Ven m: sub test(@arr) { @arr = @arr.sort }; my @a = <a b x y r s t>; test(@a); say @a
camelia rakudo-moar c793d8: OUTPUT«a b r s t x y␤»
Ven m: sub test(@arr) { @arr = 1, 2, 3; }; my @a = <a b x y r s t>; test(@a); say @a
camelia rakudo-moar c793d8: OUTPUT«1 2 3␤»
lizmat__ same kind of problem as making ::+ work
Ven eh.
lizmat__ ::= rather
12:22 lizmat__ is now known as lizmat 12:23 ecocode left
Ven eh? 12:23
12:24 ecocode joined
lizmat S03:2348 12:25
synopsebot Link: perlcabal.org/syn/S03.html#line_2348
12:27 Salai left
Ven yes, I know about ::=, I don't know about what's wrong with making it work tho 12:27
12:28 akaseki joined, ecocode left
nine_ Aaaand....now we're able to call parameterless return value less Perl 5 functions from Perl 6 :) 12:29
I really should switch to preparing the lightning talk about this now...
Ven nine_: are there tests :)? 12:30
flussence yayitsmasak!
nine_ Ven: not yet. But I've also moved the code to a module so it's easier to write tests. 12:31
Ven grate!
nine_: what's your talk about, btw? :) 12:33
about that, I guess.
12:33 brrt joined
jaffa4 there is gui for Perl6? 12:34
nine_ Ven: yes, it's my very first Perl 6 program, and since it's essentially a fancy hello world, I might as well show it ;)
Ven gtk bindings
FROGGS nine_++ 12:36
12:36 kaare_ left 12:38 brrt left
dalek c: 2ed8f99 | moritz++ | lib/Language/traps.pod:
new language document "traps" (common errors)
12:39
12:42 lizmat left
TimToady -> 3rd nap & 12:42
12:42 dolmen joined
Ven good 12:43
moritz feedback on traps.pod very welcome
another one I want to write is that BUILD stops attribute default assignment 12:44
sergot moritz++ 12:50
12:52 Sqirrel left
cognome jnthn's talk is in vitosha? I don't see him on the feed 12:53
12:53 ecocode joined 12:54 Ven left
cognome is that masak in the second raw? 12:55
FROGGS[mobile] cognome: the talk is over 12:57
cognome I got the schedule wrong?
what time is it in sofia? 12:58
moritz 15:58
cognome that's why :(
moritz date --utc + 3 hours :-)
12:59 Ven joined
cognome so far east 12:59
masak cognome: Not Quite The Far East
cognome masak, for Europe, yes 13:00
Ven has litchkind++ put up his slides yet?
13:05 __sri joined
moritz m: class A { has $.x; has $.y; submethod BUILDALL(|c) { nextsame; $!y = 18; self; } }; A.new(x => 42).x 13:06
camelia ( no output )
moritz m: class A { has $.x; has $.y; submethod BUILDALL(|c) { nextsame; $!y = 18; self; } }; say A.new(x => 42).x
camelia rakudo-moar c793d8: OUTPUT«(Any)␤»
moritz what am I doing wrong here?
13:06 dolmen left
masak m: class A { has $.x; has $.y; submethod BUILDALL(|c) { nextsame; $!y = 18; self; } }; say A.new(x => 42).y 13:07
camelia rakudo-moar c793d8: OUTPUT«18␤»
moritz oh, should it be a method instead of a submethod?
m: class A { has $.x; has $.y; method BUILDALL(|c) { nextsame; $!y = 18; self; } }; say A.new(x => 42).x 13:08
camelia rakudo-moar c793d8: OUTPUT«42␤»
masak ah; that was it.
13:08 dolmen joined
jaffa4 the quality of string is quite good unlike in Kiev 13:08
streaming
masak so BUILDALL is a method, but BUILD is a submethod? 13:09
moritz yes
BUILDALL builds the whole thing
so it's called once
(which is why you need to nextsame)
and BUILD is per class
13:09 klaas-janstol joined
ecocode seems rakudobrew fails to build perl6 with moarvm on macosx ? it works with parrot though 13:10
colomon just realized he slept through jnthn's talk today.
yoleaux 02:33Z <btyler> colomon: I added a rough draft for encoding values to JSON::Jansson, next up is adding an option to parse JSON into perl6 data structures (rather than preserving them as jansson objects)...or something more pressing for your use case, if you have something in mind
tadzik ecocode: what's the error message? Also, does it work without rakudobrew?
colomon ecocode: is it " 13:11
is it "make: write error"? If so, it mostly works, and it's rakudo's fault (well, make's, really) rahter than rakudobrew's
ecocode yep that's it 13:12
Ven then it's ok
ecocode ah ?
ok not to build ?
Ven it worked, don't worry 13:13
ecocode weird 13:15
13:15 klaas-janstol left
Ven osx make bug. Just `make install` and off you go :) 13:15
13:16 thou joined
ecocode rakudobrew switch seems to do the job 13:16
still
weird ;) 13:17
are there any statictics on module releases to panda ?
jnthn Slides from my talk: jnthn.net/papers/2014-yapceu-async.pdf 13:20
moritz stackoverflow.com/questions/8134572...ng-on-lion suggestss trying 'ulimit -s hard' before running make
can somebody on OS X please test that?
colomon ecocode: the downside is that if you later on upgrade the build with rakudobrew, it won't automtically update panda as well, because it stops on the error. But the building rakudo part still works, and you can update panda by hand.
13:21 thou left
ecocode ok 13:21
colomon moritz: trying
ecocode moritz:fails 13:22
jaffa4 what is rakudobrew? 13:23
ecocode perlbrew for perl6 13:24
jaffa4 Does it work under Windows? 13:26
ecocode would not know... test it ;)
Ven no 13:27
doesnt
moritz ecocode: :( 13:29
ecocode: but thnaks for testing it
13:29 _sri is now known as ___sri
moritz is there a difference between await @todos; and await Promise.allof(@todos); ? 13:29
13:30 __sri is now known as _sri
Ven moritz: was wondering the same 13:31
moritz I guess it's the same, but the motivation becomes clear later on 13:32
Promise.anyof($kill, Promise.allof(@todos))
when you do that step, you need the allof combinator 13:33
colomon moritz: I got the same result ecocode++ did. 13:37
moritz hmpf. Still, worth a try
13:39 Ven left
moritz jnthn++ # slides, talk 13:39
masak moritz: they're the same.
moritz masak: jnthn, talk and slides? :-) 13:40
masak :P
colomon moritz: totally worth a try! 13:41
tadzik: hmmm, maybe rakudobrew should issue "make" twice in a row? I think that would work around the OS X bug without too many sicde effects?
13:49 kaare_ joined, Ven joined
ecocode that would seem to solve the problem 13:50
I just tried from scratch
tgt make >/dev/null (or wherever) also causes it to run to completion if that means anything. 13:51
ecocode no clue why the second run doesn't show the error (again)
this seems to be the command that causes the prob : perl -MExtUtils::Command -e chmod 755 perl6 13:52
13:55 tgt left 13:56 tgt joined
timotimo i'm briefly at the keyboard again to ask: were there interesting questions at the end of jnthns asynchrony talk? 13:59
and afk again :)
Ven er, can we cancel promises 14:00
masak oh right.
that was a good question.
Ven answer no, mainly because of api design, but can cancel supplies 14:01
and the other one .. can't remember. WTB edeitic memory :)
masak the thing you can't do is cancel threads. I got the feeling that canceling promises came close to that.
Ven (okay, edeitic memory doesn't have anything to do with vocal questions)
masak: yeah, that's kinda the problem 14:02
to quote jnthn "we don't want to make people think they can stop it from processing, so we want to make it explicit that a promise is breakable"
masak *nod* 14:04
14:04 dolmen left
masak and "you can't stop a thread because it might have taken a lock" 14:05
14:05 kst`````` joined 14:06 kst````` left
dalek c: 5cd0d2a | moritz++ | lib/Language/traps.pod:
[traps] BUILD and attribute initialization
14:07
14:10 dolmen joined
Ven moritz: add explicit comment about BUILDALL being a method mayb? 14:10
tadzik colomon: huh, if it indeed helps I don't see a reason to not have it :) 14:11
colomon shall I try to figure out how to do it locally and see what happens?
tadzik as longs as it has #damnitOSX next to it
colomon ;)
14:13 Ven left
dalek c: 039575e | moritz++ | lib/Language/traps.pod:
[traps] comment why BUILDALL is a method, not a submethod
14:14
14:17 ___sri left 14:22 smls joined
smls Are any recordings of Perl 6 related YAPC:EU talks uploaded yet? 14:29
tadzik I don't think any of the recordings are available yet 14:30
smls ok 14:31
14:38 klaas-janstol joined
colomon hmmm, p6 way to figure out if we are on OS X? 14:38
jnthn m: say $*OS
camelia rakudo-moar c793d8: OUTPUT«linux␤Saw 1 call to deprecated code during execution.␤================================================================================␤$*OS called at:␤ /tmp/qiNYRnC9st, line 1␤Please use $*DISTRO.name instead.␤---------------------------------…»
tadzik :)
jnthn What the warning said :P
colomon jnthn++
jnthn Wish I could keep up with Perl 6... :P 14:39
masak m: say $*DISTRO.name 14:40
camelia rakudo-moar c793d8: OUTPUT«linux␤»
masak m: say $*DISTRO.keys
camelia rakudo-moar c793d8: OUTPUT«0␤»
mr-foobar using ruby after a long time. something i felt like writing --lexical.foobar.systems/is-ruby-perl6.html
masak m: say $*DISTRO.^attrs
camelia rakudo-moar c793d8: OUTPUT«No such method 'attrs' for invocant of type 'Perl6::Metamodel::ClassHOW'␤ in block <unit> at /tmp/EsGKViGEed:1␤␤»
masak m: say $*DISTRO.^attributes
camelia rakudo-moar c793d8: OUTPUT«Str $!release Bool $!is-win Str $!path-sep Str $!name Str $!auth Version $!version Blob $!signature Str $!desc␤»
jnthn m: say $*DISTRO.^methods 14:41
camelia rakudo-moar c793d8: OUTPUT«BUILD release gist Str <anon> <anon> <anon> <anon> <anon> <anon> <anon>␤»
jnthn ah
colomon whoops, rakudobrew is in perl 5
masak mr-foobar: '1) is jvm now' -- what? 14:42
tadzik "What is unique to Perl6 1) One vm to rule them all"
I don't think that's right :)
masak mr-foobar: that is false no matter whether you mean Ruby (whose main VM is written in C) or Perl 6 (Parrot, JVM, MoarVM)
tadzik colomon: hmm, maybe you can just type 'make' twice in there :)
jnthn "one vm to rule them all" was a Parrot thing, not a Perl 6 one.
tadzik if it succeeded, it won't do a thing on the second run 14:43
colomon tadzik: yeah, I thought it might be better to make it OS X specific
14:43 SamuraiJack joined
tadzik colomon: do what feels right :) 14:43
mr-foobar masak: i was pointing out how jvm is now the most targeted vm ( vs parrot )
masak mr-foobar: wtf 14:44
mr-foobar: everyone and his dog uses moar.
mr-foobar: also, '2) First Class Grammars to describe them all' -- '2) is a bootstrap nightmare' -- what in the world do you mean?
tadzik timotimo++!
masak timotimo++ 14:45
flussence I dunno what this is about but... timotimo++!
(something at yapc? I'm on 3G atm so can't watch :)
mr-foobar masak: "the first class" part meaning something that is changable during runtime. 14:46
masak flussence: his weekly newsletters were mentioned in nine's lightning talk
mr-foobar isn't it tricky to get right ?
masak flussence: which is AWESOME, by the way.
mr-foobar: I mean, it's very nice of you to write blog posts, but I'd rather they not be FUD.
mr-foobar: hope you understand. 14:47
flussence I'm gonna have to watch most of these on youtube/etc... I've missed a ton of cool people
masak flussence: he ran some Python inside Perl 5 inside Perl 6. 14:48
colomon tadzik: what I've got seems to be working for me, now.
14:48 xenoterracide joined
tadzik colomon: awesome 14:48
do you have a commit bit?
mr-foobar masak: yes agreed. i really think there is a great payoff for perl6's goals. no one is targeting that level of interop.
colomon tadzik: I'm a little hesitant to just check it in, for fear of breaking things on other platforms. 14:49
tadzik: and I don't have a commit bit
masak mr-foobar: you can't just write "is a bootstrap nightmare" without meaning anything specific by it.
colomon tadzik gist.github.com/colomon/c30f1ea8c4d67054bff6 14:50
masak mr-foobar: re the first list: Perl 6 has 1, 2, 4, 5, 6, and 7.
mr-foobar masak: i might be mistaken. i remember that before nqp there was one more bootstrap no ? My guess is grammars (+ runtime) are intricate to get right. 14:51
masak mr-foobar: ok, absent *actual data*, please assume you're mistaken. 14:53
TimToady I'm here kinda
masak TimToady++
tadzik :)
colomon tadzik++ 14:55
want me to get that?
tadzik colomon: of course
masak mr-foobar: perhaps most glaringly, the question "Is Ruby and acceptable Perl6 ?" is *crazy*, somewhat offensive, stupid, and it doesn't feel like you address it with your lists.
tadzik it makes stuff work, that's always good :)
TimToady course, we just changed smartmatch last month :) 14:56
masak ssshh!
flussence question about doc.perl6.org: does it extract signatures and stuff programatically and discard the bits without documentation, or is it all manually written? my point being, IMO, it'd be useful to have a complete API reference there even if there's large chunks of descriptive text missing.
colomon tadzik: there you go 14:58
tadzik colomon++ 14:59
masak an*
tadzik colomon: it was just advertised by lizmat++ on the YAPC :)
it'll now make mac users happier 15:00
masak mr-foobar: I think a big improvement of your article would be to replace it, in its entirety, with "No." 15:01
mr-foobar masak: yeah I guess I'll modify it :) what do you think are most challenging implementation aspects of rakudo / moarvm ? Are there any novel problems like register vm or accurate parsing ? 15:02
15:02 Alula_ left 15:03 molaf joined
masak biggest challenge is FUD on the web, I think. 15:03
mr-foobar i want to understand the flexibility perl6 is trying to achieve. my lotr analogy obviously sucked :)
masak lotr analogy? 15:04
15:05 thou joined
mr-foobar "One vm to rule them all" <-- 15:05
masak it was true back in 2012 or so.
no, not really.
because Pugs and Niecza.
moritz pugs was pretty much dead in 2012 15:09
15:09 thou left
masak indeed, but it still existed enough for "one VM to rule them all" to be false. 15:10
mr-foobar "First Class Grammars to describe them all" <-- my understanding is that perl6 grammars can host an umberrella of langs. 15:12
moritz that is correct 15:13
mr-foobar is that difficult is implement ? are there any research challenges ?
*to
moritz the p6 grammar itself has several sub-grammars ("slangs"): regexes, quotes, char classes in regexes etc.
15:14 SamuraiJack left
moritz mr-foobar: difficult for whom? for the author of a grammar? or for the person writing the grammar engine? 15:14
geekosaur no real research challenges, the "new" thing is designing it into the core language from the start 15:15
mr-foobar the latter. I honestly donno if I can attempt a thirdy party engine in another lang.
moritz well, writing the grammar engine wasn't easy 15:16
but as a Perl 6 user, that's done for you.
masak I don't see what that has to do with anything.
the question is "Is Ruby an acceptable Perl 6?"
moritz oh
the answer to that question is "no".
masak whether grammars are in some sense hard is irrelevant.
yes, the answer is "no". of course it is. 15:17
mr-foobar oh i am editing it. the answer is no.
masak I suggested to mr-foobar that he replace the entire body of his post by "no".
15:17 guru joined
masak that's the only way it'd be acceptable to me, I think. 15:17
mr-foobar i want write how perl6 is different and why no one can equal p6
15:17 dolmen left
masak no, not the only way. 15:17
15:17 guru is now known as Guest58427
masak but it's not a net good right now. 15:17
15:18 Guest58427 is now known as ajr_, Alula_ joined
moritz mr-foobar: well, grammars are a significant Perl 6 feature that very few (or none) languages can compare with 15:21
mr-foobar: also, gradual typing 15:22
good support for both OO and functional programming
very expressive
mr-foobar moritz: agreed. 15:23
dalek Heuristic branch merge: pushed 138 commits to roast/S26-WHY by hoelzro 15:25
Heuristic branch merge: pushed 100 commits to rakudo/S26-WHY by hoelzro
timotimo yay i was mentioned :) 15:26
wish i could have seen it live on the stream.
watching the recording should be fine :) 15:27
tadzik they just said that they'll hopefully be up in a couple o weeks 15:28
15:29 _sri left
masak EOYAPC::EU 15:32
tadzik :(
masak ):
jnthn aww
masak it was a very good YAPC.
jnthn aye
time to leave & 15:34
timotimo a couple of weeks. hmm 15:39
maybe I should have run rtmpdump or something like that 15:40
are stream dumps going to be available semi - officially? :) 15:41
afk again, walk & 15:42
tgt I've golfed the Makefile issue down to gist.github.com/tgt/5424dcb00f874c0375ef if anyone has any suggestions about where to go next? 15:43
15:45 _sri joined 15:47 petercommand joined
tgt Actually, the second line can be anything with >= 1024 characters as long as the first runs nqp-m 15:47
mr-foobar masak moritz: do note that my blog has an avg viewership of 1.5; one is me and the other has a more pressing tab to click -- lexical.foobar.systems/is-ruby-perl6.html 15:53
16:11 rindolf left 16:12 brrt joined 16:14 rindolf joined
jaffa4 what is gradual typing? 16:16
16:34 lizmat joined 16:37 woolfy joined 16:53 thou joined 16:56 raiph joined 16:57 thou left 17:12 SamuraiJack joined
jaffa4 native call is working 17:20
FROGGS were there interesting lightening talks today? 17:21
I've missed everything after jnthn's talk because I was forces to go outside :/
jaffa4 there was a talk about a guy's favourite movies and series 17:22
moritz tgt: first of all, open a bug report with apple 17:23
tgt: then we can investigate; what line in our Makefile is longer than 1024 chars? 17:24
FROGGS jaffa4: this could have been Getty, I've seen such a talk in march
moritz tgt: and try to find a workaround
tgt I've submitted a report to Apple. 17:25
Line 384 once expanded.
moritz for me that's $(M_NQP) $(M_GEN_CAT) $(M_CORE_SOURCES) > src/gen/m-CORE.setting
tgt Actually, not that line. One sec.
17:25 raydiak joined
jaffa4 there was another about how you should not format your Perl code 17:26
colomon tgt++
tgt Ah, line 374: $(M_NQP) $(M_GEN_CAT) $(M_METAMODEL_SOURCES) > src/gen/m-Metamodel.nqp 17:27
moritz ok, that's a pretty long strong 17:28
the $(M_METAMODEL_SOURCES)
about 1.7k characters 17:29
I wonder if we could shorten it by extracing the common prefix
src/Perl6/Metamodel/{Arechetypes,Naming,Documenting,...}.nqp 17:30
does windows make (or cmd.exe) support the brace expansion?
if not, we'll have to put the list of file names into a file 17:31
and then teach gen_cat to read the list of file names from a file 17:32
(and Configure.pl must read the same file, and generate the string that's now in the makefile, to get the dependencies right)
17:36 anaeem1 joined 17:41 anaeem1 left 17:43 raiph left
moritz nqp: say(nqp::trim(' abc ')); 17:45
camelia nqp-jvm: OUTPUT«(signal )#␤# There is insufficient memory for the Java Runtime Environment to continue.␤# pthread_getattr_np␤»
..nqp-parrot: OUTPUT«Error while compiling op trim (source text: "nqp::trim(' abc ')"): No registered operation handler for 'trim'␤current instr.: 'as_post' pc 60313 (gen/parrot/stage2/QAST.pir:21515) (gen/parrot/stage2/QAST.nqp:3860)␤»
..nqp-moarvm: OUTPUT«No registered operation handler for 'trim'␤ at gen/moar/stage2/QAST.nqp:1406 (/home/p6eval/rakudo-inst-2/languages/nqp/lib/QAST.moarvm:compile_op:64)␤ from gen/moar/stage2/QAST.nqp:5006 (/home/p6eval/rakudo-inst-2/languages/nqp/lib/QAST.moarvm:compile_node…»
moritz how do I combine two array in nqp? 17:47
like a flattening unshift
tgt How can I assign src/Perl6/Metamodel/{Archetypes.nqp,...} to COMMON_BOOTSTRAP_SOURCES? It doesn't expand it, calls stat on the unexpanded thing and complains about the filename being too long.
moritz tgt: than that's not a viable solution
tgt: I'm working on the other solution now I mentioned above
tgt Ah. I thought it might be some make magic.
Okay. 17:48
moritz nqp-m: my @a := [1, 2, 3]; my @b := [4, 5, 6]; nqp::unshift(@b, |@a); say(nqp::join(', ', @b));
camelia nqp-moarvm: OUTPUT«This representation (VMArray) cannot unbox to a native string␤ at /tmp/_xvn10HqHz:1 (<ephemeral file>:<mainline>:52)␤ from gen/moar/stage2/NQPHLL.nqp:1230 (/home/p6eval/rakudo-inst-2/languages/nqp/lib/NQPHLL.moarvm:eval:172)␤ from gen/moar/stage2/NQPHLL.…»
moritz nqp-m: my @a := [1, 2, 3]; my @b := [4, 5, 6]; say(nqp::join(', ', @b));
camelia nqp-moarvm: OUTPUT«This representation (P6int) cannot unbox to a native string␤ at /tmp/ob12nH5GaQ:1 (<ephemeral file>:<mainline>:51)␤ from gen/moar/stage2/NQPHLL.nqp:1230 (/home/p6eval/rakudo-inst-2/languages/nqp/lib/NQPHLL.moarvm:eval:172)␤ from gen/moar/stage2/NQPHLL.nq…»
moritz nqp-m: my @a := [1, 2, 3]; my @b := [4, 5, 6]; say(@b); 17:49
camelia nqp-moarvm: OUTPUT«cannot stringify this␤ at gen/moar/stage2/NQPCORE.setting:681 (/home/p6eval/rakudo-inst-2/languages/nqp/lib/NQPCORE.setting.moarvm:print:13)␤ from gen/moar/stage2/NQPCORE.setting:687 (/home/p6eval/rakudo-inst-2/languages/nqp/lib/NQPCORE.setting.moarvm:say:…»
moritz nqp-m: my @a := [1, 2, 3]; my @b := [4, 5, 6]; nqp::unshift(@b, |@a); for @b -> $x { say($x) }
camelia nqp-moarvm: OUTPUT«cannot stringify this␤ at gen/moar/stage2/NQPCORE.setting:681 (/home/p6eval/rakudo-inst-2/languages/nqp/lib/NQPCORE.setting.moarvm:print:13)␤ from gen/moar/stage2/NQPCORE.setting:687 (/home/p6eval/rakudo-inst-2/languages/nqp/lib/NQPCORE.setting.moarvm:say:…»
FROGGS nqp-m: my @a := [1, 2, 3]; my @b := [4, 5, 6]; nqp::unshift(@b, |@a); for @b -> $x { say(~$x) } 17:50
camelia nqp-moarvm: OUTPUT«cannot stringify this␤ at /tmp/fPULqIe7YM:1 (<ephemeral file>:<mainline>:61)␤ from gen/moar/stage2/NQPHLL.nqp:1230 (/home/p6eval/rakudo-inst-2/languages/nqp/lib/NQPHLL.moarvm:eval:172)␤ from gen/moar/stage2/NQPHLL.nqp:1423 (/home/p6eval/rakudo-inst-2/la…»
17:51 raiph joined
FROGGS nqp-m: my @a := [1, 2, 3]; my @b := [4, 5, 6]; nqp::unshift(@b, |@a); for @a -> $x { say($x) } 17:51
camelia nqp-moarvm: OUTPUT«1␤2␤3␤»
FROGGS so, you cannot unshift an array
nqp-m: my @a := [1, 2, 3]; my @b := [4, 5, 6]; nqp::unshift(@b, $_) for @a; for @b -> $x { say($x) } 17:52
camelia nqp-moarvm: OUTPUT«3␤2␤1␤4␤5␤6␤»
jaffa4 Is there any tool to convert c headers to Perl native definitions?
17:52 akaseki is now known as Salai
FROGGS jaffa4: maybe LibraryMake? not sure 17:52
17:53 BizarreCake left 17:56 anaeem1_ joined
moritz how do I strip newlines in nqp? 17:57
moritz is very rusty
FROGGS using a regex? 17:58
moritz nqp-m: my $x := "abc\n"; say(substr($x, /\s+/, ''));
camelia nqp-moarvm: OUTPUT«Cannot invoke null object␤ at /tmp/zcvZm68Dyf:1 (<ephemeral file>:<mainline>:57)␤ from gen/moar/stage2/NQPHLL.nqp:1230 (/home/p6eval/rakudo-inst-2/languages/nqp/lib/NQPHLL.moarvm:eval:172)␤ from gen/moar/stage2/NQPHLL.nqp:1423 (/home/p6eval/rakudo-inst-…»
FROGGS nqp::substr
moritz t/nqp/62-subst.t seems to use subst 17:59
FROGGS err, what are ya doing?
subst
nqp-m: my $x := "abc\n"; say(subst($x, /\s+/, ''));
moritz argl
camelia nqp-moarvm: OUTPUT«abc␤»
moritz nqp-m: my $x := "abc\n"; say(subst($x, /\s+/, ''));
camelia nqp-moarvm: OUTPUT«abc␤»
FROGGS :o)
17:59 ajr_ left
dalek kudo/makefile-line-length: dea7adf | moritz++ | / (5 files):
Read bootstrap sources from file

because make on Mac OS X has a line length limit in commands
  (symptom: "write error")
18:03
moritz tgt++ # golfing the error 18:04
ok branch makefile-line-length should remove that particular instance of that problem
s/remove/work around/
and make it pretty easy to solve other intances the same way 18:05
colomon woah, rakudobrew actually handles it if you give it a branch! tadzik++
moritz I fear M_CORE_SOURCES needs the same approach 18:06
18:06 molaf_ joined 18:10 molaf left
tgt Yup, M_CORE_SOURCES is also too long. 18:10
dalek kudo/makefile-line-length: c693d75 | moritz++ | / (3 files):
Do not pass M_CORE_SOURCES on the command line

it is too long for Mac OS X make
18:14
moritz tgt: could you please test with that branch?
tgt Am doing.
moritz it builds for me on linux :-)
jnthn: tests of the makefile-line-length rakudo branch on windows would be greatly appreciated 18:15
tgt It works! 18:16
moritz \o/ 18:17
colomon moritz: looks like it works here, too.
moritz++
tgt++
moritz jnthn: and if it builds on windows, please merge into nom; should fix the "Write error" bug on mac os X
ingy just checking... does rakudo have pcre/p5 support yet? :) 18:18
(re: regexes)
bbl 18:19
18:27 thou joined, smls left 18:31 BizarreCake joined
tgt moritz: re: your first commit message. Commands with more than 1024 characters run fine unless they follow a command using nqp-m (or moar, but not perl6-m weirdly) 18:31
timotimo ingy: partial support for P5 regexes via our regular grammar engine 18:33
18:35 silug left
BizarreCake Is type checking done completely at compile time (when types are given)? 18:36
or is there some runtime checking involved?
18:37 zakharyas joined 18:38 silug joined
timotimo BizarreCake: partially compile-time, partially run-time 18:39
m: my Str $foobar = 1; say "alive"
camelia rakudo-moar c793d8: OUTPUT«Type check failed in assignment to '$foobar'; expected 'Str' but got 'Int'␤ in block <unit> at /tmp/laV9JoNRcI:1␤␤»
tadzik colomon: really? cool :) 18:40
japhb BizarreCake: Am I correct that you are the one working on a new Perl 6 interpreter in C++?
timotimo m: say "alive"; my Str $foobar = 1;
camelia rakudo-moar c793d8: OUTPUT«alive␤Type check failed in assignment to '$foobar'; expected 'Str' but got 'Int'␤ in block <unit> at /tmp/0Xh8i2Q9Ef:1␤␤»
timotimo as you can see, this was done at run-time
BizarreCake Hmm
timotimo m: say "alive"; sub foobar(Str $a) { say $a }; foobar(1);
camelia rakudo-moar c793d8: OUTPUT«===SORRY!=== Error while compiling /tmp/fRhRiLv9VS␤Calling 'foobar' will never work with argument types (int)␤ Expected: :(Str $a)␤at /tmp/fRhRiLv9VS:1␤------> "alive"; sub foobar(Str $a) { say $a }; ⏏foobar(1)…»
timotimo ^- this was done at compile time
BizarreCake japhb: Yes.
japhb Are you familiar with github.com/japhb/perl6-bench ?
BizarreCake timotimo: So it performs type checking at compile time when it can, but defers the rest to later? 18:41
timotimo yes
BizarreCake japhb: Nope, I'm pretty new to things here haha
timotimo the reason why we have compile-time type checking for routines is that we try to do type-based multiple dispatch in the optimizer. that's the spot where we can figure out that some calls can never work, like the one i demonstrated above 18:42
BizarreCake timotimo: Not exactly what I wished it to be.. but okay.
timotimo m: say "alive"; class Foo { method !foobar(Str $a) { say $a }; method test { self!foobar(1) } }; 18:43
camelia rakudo-moar c793d8: OUTPUT«alive␤»
BizarreCake These checks cost CPU cycles D;
timotimo that's why we have spesh in moarvm
18:44 jaffa4 left
BizarreCake I thought about having the compiler analyze the types used in a typed expression, and have it throw an error if it sees something whose type it can't determine. 18:44
japhb That's a collection of benchmarks (mostly microbenchmarks at the moment, but also a few minibenchmarks too), plus programs to manage timing and analysis. But the idea is that once a new compiler is defined for it, it can clone, build, time, and otherwise manage it along with all the others it knows.
timotimo yeah, that'd be pretty cool
except you'll have to deoptimize properly if classes aren't open or solid or whatever
18:44 anaeem1_ left
BizarreCake That would make it possible to have all the checks done at compile time, but it would make (I'm assuming) a lot of Perl 6 programs invalid. 18:45
timotimo oh, you want to require type annotations everywhere?
that's not a problem, just set any type annotation that the programmer didn't specify to "Any"
:P
that's like python's static typing ... every variable is defined to hold an "object" or any subclass thereof 18:46
(well ... old-style classes and blah blah ...)
japhb BizarreCake: So, we just need to add entries in github.com/japhb/perl6-bench/blob/...nents.json and github.com/japhb/perl6-bench/blob/...mpilers.pl for your compiler, and you can then compare it against Rakudo, NQP, Perl 5, ... 18:47
BizarreCake japhb: That sounds wonderful, but mine is still lacking in functionality. 18:48
It's still only able to interpret relatively simple programs.
timotimo i wonder how much ram would be required to actually properly dump the profiler data collected during the compilation of the core setting 18:49
japhb BizarreCake: As long as it understands a "-e" style option, you can get a long way with just the microbenchmarks in github.com/japhb/perl6-bench/blob/...chmarks.pl
BizarreCake: perl6-bench is smart enough to skip tests that the compiler fails on, as long as the failure mode is either crashing (so that there's a detectable signal), or non-zero exit code. 18:50
BizarreCake what should the -e flag do?
timotimo accept a program to be run from the command line
BizarreCake Ah
Read it from stdin? 18:51
timotimo nah, as commandline argument
BizarreCake Alright
japhb BizarreCake: As timotimo said, it's for doing one-liners, instead of having the tests be script files. And all the microbenchmarks are designed as one-liners.
BizarreCake japhb: I will add that in then .
japhb As in: perl6 -e 'say "hello"' 18:52
timotimo can i has the link to the github repository again? :) 18:53
BizarreCake For my compiler?
timotimo yup
BizarreCake github.com/BizarreCake/Arane
New name, thanks to masak :3
japhb timotimo: Do you want to do the components.json and compilers.pl updates, or shall I?
timotimo ah, masak++ :) 18:55
japhb: feel free to go ahead, i can't really compile stuff here, i forgot to bring my power brick
given low usage, it'll last at least 1.5h, but if i try to compile multiple times ... :\
18:56 FROGGS[mobile] left
japhb Heh, yeah 18:56
BizarreCake: The other thing that's helpful is that on your regular release schedule (if you have one yet), or whenever you make major changes, tag your tree with some ascending sequence. For example, Moar, NQP, and Rakudo use YYYY.MM tags (e.g. 2014.08) for their monthly release. Niecza used to use vNN (e.g. v21) for its releases. 18:58
18:59 kaare_ left
BizarreCake Got it :) 18:59
japhb Because perl6-bench has the ability to plot historical performance across a series of tags.
(Plus until I finish the code to provide an alias for a particular git rev + build options, tags are much easier to work with than raw git revs everywhere) 19:00
timotimo BizarreCake: i'm looking forward to seeing how flexible your compiler will end up being :) 19:02
custom operators, for example, would be an interesting thing
BizarreCake In time haha. 19:03
And custom operators, although I do to have the compiler comply with the spec, are something that I'm a bit worried about 19:04
do plan*
I didn't get to it yet, but I'm afraid of having to perform full dynamic method dispatches whenever two numbers are being added. 19:05
in case the + operator is overloaded.
timotimo oh, that's no problem 19:07
operators are defined lexically
as soon as you reach the + statement, you know exactly what candidates you have
BizarreCake Ah, that's perfect then.
japhb BizarreCake: Can you lower the CMAKE_MINIMUM_REQUIRED(VERSION 3.0) requirement? My best build machine is still running the previous Ubuntu LTS release (as opposed to the current one from this spring) and only has version 2.8.7. 19:09
BizarreCake Sure
Done. 19:11
japhb Thanks! That got me through the cmake portion, but make still dies with "cc1plus: error: unrecognized command line option ‘-std=c++11’" 19:14
BizarreCake g++ version?
japhb hmm, perhaps i need an upgrade after all 19:15
lemme check
gcc version 4.6.3
BizarreCake Yeah.. should be 4.7-4.8
japhb ah, ok
19:17 darutoko left
diakopter BizarreCake: were you named after [or named with awareness of] the Dr. J.Z. 19:20
*the* Dr. J.Z., I mean
BizarreCake .. Nope xD
19:21 raiph left
timotimo is that the rapper? 19:21
diakopter lol no; Jacob Zhitomirsky
BizarreCake lol
That's my name.
I'm not doctor though
no* 19:22
19:22 raiph joined
diakopter ... I'm referring to Lenin's Bolshevik agent in Berlin in 190x 19:23
BizarreCake Oh wait, for a second there I thought you referred to "BizarreCake".
and I questioned how the two were related.
diakopter wut
same name, I thought 19:24
BizarreCake I'm russian, so it's possible that I might be related to him.
diakopter cool 19:25
BizarreCake Not likely though :P 19:26
dalek kudo-star-daily: ad68955 | coke++ | log/ (10 files):
today (automated commit)
19:30
rl6-roast-data: 8c547f7 | coke++ | / (6 files):
today (automated commit)
19:31 yoleaux left 19:32 Ven joined
dalek rl6-bench: 31ce56d | (Geoffrey Broadwell)++ | components.json:
Add clone and build instructions for Arane
19:33
BizarreCake ;D!
19:33 mberends joined
dalek c: aa5926c | Nami-Doc++ | lib/Language/traps.pod:
[traps] fix typo
19:37
rl6-bench: c13e4e0 | (Geoffrey Broadwell)++ | compilers.pl:
Add compilers.pl entry for Arane
19:38
japhb BizarreCake: With that, you should be able to use perl6-bench for Arane, assuming you have implemented -e and --version already. I can't test because of aforementioned old gcc. 19:40
BizarreCake Alright, once I finish implementing big integers, which I'm almost done, I'll add those two flags in :) 19:41
Thanks
japhb BizarreCake: No problem. Glad to have a new compiler to add to the mix. :-) 19:42
[Coke] thought he something in backscroll about the moar-rakudo-os x build being fixed, but doesn't see a commit. 19:45
19:46 brrt left
tgt It's on github.com/rakudo/rakudo/commits/m...ine-length atm so someone can test on windows before merging. 19:47
dalek osystem: 7603a72 | (Tobias Leich)++ | META.list:
add Digest::PSHA1
19:48 SamuraiJack left
Ven just in case, windows *Doesnt* support brace expansion (sorry if stale backlogging) 19:48
timotimo what does PSHA1 do? 19:51
FROGGS it is one method used to sign XML documents
timotimo .o( also, isn't SHA1 supposed to be too insecure for common cryptographic use? ) 19:52
FROGGS (to generate a key our of two secrets)
I think it is good enough for integrity checks
that XML doc signing is stupid anyway 19:53
you calculate a digest of two timestamps of the document by default (not of the body)
and then you sign the block that contains the digest
so the body of the document is not even involved
timotimo .. what ... 19:54
FROGGS :o)
Ven BizarreCake: I don't think the spec forbids you to do every single type-checking at compile-time :P
timotimo that's correct :) 19:55
BizarreCake I wondered if it's possible to do that without rendering otherwise valid Perl programs invalid.
Ven well, it should. 19:56
Else those program would throw a runtime type error
s/Else/Otherwise/ # english pls
BizarreCake lol 19:57
I asked because I started implementing type constraints
Ven is all for type erasure all the way
BizarreCake and I wondered what should be done if I assign an abitrary expression to a local variable whose type I know.
if the expression contains variables whose types are not known at compile time, then it can't be done without deferring those checks until later. 19:58
timotimo that's right
19:58 klaas-janstol left
BizarreCake I thought about having the compiler throw an error on such scenarios 19:58
timotimo also, do you know of subset types?
BizarreCake a type that can have custom constraints defined to it? 19:59
japhb BizarreCake: Note that one thing that catches people out in Rakudo is type-constrained arrays, which people tend to find rather confusing, so when using Rakudo people tend to fall back to unconstrained arrays. Something to be careful of in your compiler.
timotimo that's right
m: subset Even of Int where * %% 2; my Even $foo = 2; my Even $bar = 3;
camelia rakudo-moar c793d8: OUTPUT«Type check failed in assignment to '$bar'; expected 'Even' but got 'Int'␤ in block <unit> at /tmp/6jzBM_UDLx:1␤␤»
japhb m: subset Even of Int where * %% 2; say so 3 ~~ Even; say so 4 ~~ Even; 20:00
camelia rakudo-moar c793d8: OUTPUT«False␤True␤»
20:00 klaas-janstol joined
BizarreCake Is that done at runtime? 20:00
moritz yes
though you're free to do as much of it at compile time as you want
BizarreCake pastebin.com/c27kRRrD 20:02
^So having the compiler throw on error on that one is allowed by the spec? 20:03
moritz the spec allows it
japhb BizarreCake: Why would that be an error?
BizarreCake If type checking was done strictly at compile time, then I thought it should be. 20:04
That's why I'm asking.
moritz right
but perl 6 is gradually typed (type declarations are optional)
japhb I may be missing something. Assigning something with unknown type to something with known type is not an error. Assigning something with incompatible type is.
moritz BizarreCake: btw I got an error "No such file or directory" on #include "runtime/bigint.hpp"
BizarreCake So type checking *must* be done at runtime in that case. 20:05
moritz BizarreCake: correct
BizarreCake moritz: It's possible I didn't add that file :o
One moment
Ven fwiw, I'm pretty sure we could achieve timotimo++'s kind of type-checking at compile-time.
japhb Yes, if you have all the types specified, you're allowed to move checks to compile time. But when the typing is gradual, you're required to do it at runtime.
moritz japhb: you're not missing anything, BizarreCake is just slowly approaching questions you might have figured out long ago
Ven I thought about using the "pure" markers
timotimo Ven: the timotimo type checking system? %) 20:06
japhb TTCS
Ven timotimo: how performant are you?
japhb
.oO( How long does it take for him to determine someone is his type? )
timotimo :43 20:07
:3
20:10 anaeem1_ joined
BizarreCake moritz: I've made some big/breaking changes to bigint.cpp, so it will have to wait a bit. 20:13
20:13 yoleaux joined, ChanServ sets mode: +v yoleaux
moritz BizarreCake: no hurry 20:16
20:19 colomon left 20:22 colomon joined
tadzik lizmat: woolfy don't want to text on this hour, but I'd love to come to the hackathon tomorrow ;) 20:25
BizarreCake moritz: Should work now :) 20:35
moritz BizarreCake: build worked, thanks 20:37
BizarreCake Was able to get pastebin.com/jrfSqHjL to run in 0.23s :3 20:39
20:39 klaas-janstol is now known as kjs_ 20:40 kjs_ is now known as klaas-janstol, klaas-janstol is now known as kjs_
FROGGS BizarreCake: implement more stuff :o) 20:40
moritz BizarreCake++
BizarreCake: github.com/perl6/nqp/tree/master/t/nqp has a few test files that might be easy-ish to get to run
kjs_ BizarreCake: I’m on MacOS, and can’t find <malloc.h>
20:41 dolmen joined
FROGGS I mean, rakudo's setting is 20k lines long... that takes some time to load 20:41
BizarreCake kjs_: lol, I'm not really sure I can help you with that.
moritz: Thanks, I will check those out.
kjs_ BizarreCake: I think <stdlib.h> is more portable 20:42
moritz BizarreCake: especially the first few ones
BizarreCake kjs_: I've picked up a habit of always including <malloc.h> instead of <stdlib.h> a long time ago. 20:43
FROGGS BizarreCake: MoarVM also does not include malloc.h but stdlib.h
BizarreCake since it added a bunch of other stuff into the namespace.
Okay, I'll change it.
20:43 Ven left 20:44 Ven joined
BizarreCake kjs_: Changed it. 20:44
kjs_ thanks will try again
BizarreCake: that works perfectly on MacOS now. thanks 20:47
BizarreCake :D
ingy timotimo: how hard would a pcre binding be?
Ven ingy: like :P5? in what? 20:48
ingy Ven: earlier I asked 20:50
just checking... does rakudo have pcre/p5 support yet? :)
and timotimo said, partially via p6rules
the short of it is that I want to make a Pegex.pm6 implementation 20:51
that is as fast as it is in other langs
FROGGS m: say "foo" ~~ m:P5/(?{ say 1 })/ 20:52
camelia rakudo-moar c793d8: OUTPUT«1␤「」␤␤»
ingy FROGGS: what are you implying? 20:53
FROGGS that we have P5 regex support, but not by using an external library
ingy that doesn't look like a p5 regex 20:54
20:54 Rotwang left
ingy m: say "foo" ~~ m:P5/(fo*)/ 20:55
camelia rakudo-moar c793d8: OUTPUT«「foo」␤ 0 => 「foo」␤␤»
ingy m: say "foo" ~~ m:P5/(fo*x)/ 20:56
camelia rakudo-moar c793d8: OUTPUT«False␤»
ingy ok, well I can start with that at least
FROGGS ingy: look at perldoc.perl.org/perlre.html#Extended-Patterns for (?{ code }), that is P5 syntax 20:57
m: say "foo" ~~ m:P5/(?<bar>foo)/ 20:58
camelia rakudo-moar c793d8: OUTPUT«「foo」␤ bar => 「foo」␤␤»
FROGGS ohh, even that works
ingy: when I hit missing bits in v5 I usually implement that in nqp to make it available both to v5 and rakudo 20:59
dalek c: 1ac3899 | (Steve Mynott)++ | htmlify.p6:
the the fixed
21:00
21:07 gfldex left 21:08 anaeem1_ left, raiph left
dalek c: f373a21 | (Steve Mynott)++ | lib/Language/containers.pod:
fix minor spelling errors
21:12
c: 103d690 | (Steve Mynott)++ | lib/Language/Sets_Bags_and_Mixes.pod:
fix minor spelling errors
c: d6d2e70 | (Steve Mynott)++ | lib/Language/traps.pod:
fix minor spelling errors
21:13
moritz yay, fixes
21:14 BizarreCake left
Ven yay, pselling :) 21:15
21:16 anaeem1 joined 21:17 kjs_ left
dalek c: 9fc6dd0 | (Steve Mynott)++ | lib/Type/ (3 files):
fix minor spelling errors and typos
21:32
21:52 dolmen left 21:53 zakharyas left 21:59 tgt left 22:00 dolmen joined 22:03 telex left 22:04 telex joined
timotimo FROGGS++ # v5 and :P5 improvements 22:11
22:15 kjs_ joined 22:18 ecocode left, ecocode joined 22:23 ecocode left 22:28 dolmen left 22:32 kjs_ left 22:36 dolmen joined, spider-mario left 22:37 xenoterracide left, xenoterracide joined 22:42 xenoterracide left 22:43 anaeem1 left 22:57 xragnar_ joined, xragnar is now known as Guest79716, Guest79716 left, xragnar_ is now known as xragnar 23:09 anaeem1_ joined, anaeem1_ left, anaeem1_ joined 23:12 jack_rabbit joined 23:13 anaeem___ joined 23:16 xenoterracide joined, anaeem1_ left 23:20 kst`````` is now known as kst
lizmat .tell tadzik looking forward to seeing you 23:32
yoleaux lizmat: I'll pass your message to tadzik.
23:38 dolmen left, BenGoldberg joined, raiph joined 23:43 erkan left 23:55 mberends left 23:56 Ven left