»ö« 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.
dalek p: f976687 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/BootJavaInterop.java:
Enable proxy to be used for abstract classes.

Before, it only worked with interfaces.
00:01
kudo/nom: 8ac6bb1 | jnthn++ | src/vm/jvm/core/Threading.pm:
Implement Promise.sleep.

This produces a Promise that is kept after the specified time elapses. Think of it like an asynchronous sleep, that doesn't block a thread.
00:03
jnthn yay, now you can implement sleep sort efficiently without choking up the thread pool :)
my @a = (1..20).pick(*);
await @a.map(-> $n { Promise.sleep($n).then({ say $n }) })
:)
timotimo YES 00:10
finally i can use perl6 in production
00:20 Rotwang left 00:35 adu joined 00:40 adu left, adu joined 00:42 benabik left, adu left 00:43 adu joined 00:45 hypolin joined 00:50 ggoebel left
jnthn sleep & 00:52
00:57 benabik joined 00:59 FROGGS_ joined 01:03 FROGGS left
adu hi jnthn 01:06
01:10 crab2313 joined 01:18 drbean joined 01:22 ggoebel joined 01:28 xinming left 01:32 xinming joined, colomon joined 01:35 ggoebel left 01:37 colomon left 01:41 pnu left 01:43 pnu joined 01:44 timotimo left, Util joined, timotimo joined 01:45 sergot joined 01:46 tadzik joined 01:54 obra left, obra joined 01:55 Maddingue joined 01:57 tomaw_ joined 01:58 FROGGS__ joined 01:59 tomaw left 02:02 FROGGS_ left 02:05 lue left 02:18 lue joined 02:31 fridim__ left 03:03 gdey joined 03:04 gdey left 03:10 wtw_ joined 03:13 wtw left, cognominal left 03:39 preflex left 03:40 preflex joined, ChanServ sets mode: +v preflex 03:54 cognominal joined 04:06 labster left 04:11 adu left 04:17 adu joined 04:18 drbean left 04:19 drbean joined 04:21 labster joined 04:24 drbean left 04:25 drbean joined 04:37 drbean left 04:45 drbean joined 04:54 birdwindupbird joined 04:58 adu left 04:59 raiph left 05:04 drbean left 05:05 FROGGS__ left 05:10 xilo left 05:13 kingbeast left 05:15 drbean joined 05:16 thou joined 05:18 drbean left 05:22 drbean joined 05:24 Ben_Goldberg left 05:25 FROGGS joined 05:42 Mouq joined 05:48 raiph joined 05:51 FROGGS left 05:52 FROGGS joined
diakopter . 05:52
JimmyZ .. 06:04
rom1504 ...
06:05 logie left 06:06 rindolf joined 06:10 crab2313 left
FROGGS .... 06:13
moritz '.' x 5 06:14
grondilu rn: say [**] <4 3 2> 06:19
camelia rakudo 8ac6bb, niecza v24-88-g1f87209: OUTPUT«262144␤»
grondilu rn: say (4**3)**2 06:20
camelia rakudo 8ac6bb, niecza v24-88-g1f87209: OUTPUT«4096␤»
grondilu so the reduction metaoperator preserves associativity? Good to know.
grondilu noticed it while looking at rosettacode.org/wiki/Arbitrary-prec...ed)#Perl_6 06:21
06:24 ssutch left 06:25 ssutch joined 06:26 FROGGS left 06:33 kaleem joined 06:34 drbean left 06:39 FROGGS joined
JimmyZ act.yapc.eu/ye2013/talk/4943 What, it's accepted and scheduled 06:40
and after it is jnthn++'s talk about Perl 6 06:42
FROGGS well, doesnt sounds that bad if you scratch the first line
06:43 rindolf left
nwc10 Until a few months ago, the london.pm hive mind hadn't heard of Pirum. Now we're very aware that they are trying to recruit 06:45
06:45 drbean_ joined 06:46 kaleem left 06:48 drbean_ is now known as drbean
diakopter communiting, for the 4th time today 06:50
well
the first sentence is just plain untrue. 06:51
Perl 6 gets only a tiny amount of attention, creativity, and effort, in the scheme of things.
06:52 drbean left
diakopter bbiab & 06:52
06:56 drbean joined 07:04 drbean left 07:07 drbean joined 07:08 tomaw_ is now known as tomaw 07:12 drbean left 07:16 dmol joined, felipe joined 07:22 thou left 07:27 ssutch left 07:37 dmol left 07:43 leont joined
tadzik lies. Everything bad happens because Perl 6 steals creativity 07:55
masak morning, #perl6 07:57
it's true. I stole a creativity into Perl 6 just a few days ago. 07:59
it turns out that it made features literally disappear from the original language, but it also ended up stealing a couple of developers, since contribution is a zero-sum game. 08:00
I'd feel bad about it if I weren't so devoid of a conscience.
FROGGS hehe 08:03
08:03 domidumont joined
masak I see a not-so-distant future where Perl 6 stops being distracted by "language development" and puts all its energy into the soul-stealing business. 08:04
people will fear us, and close up cities wherever we walk on the face of the Earth. 08:05
"it's the Perl 6 people! hide your semicolons!" 08:06
FROGGS but the good thing is, since other language will have no features anymore by then, the war between them vanishes with them 08:07
jnthn I thought it was their colons they'd need to watch out for more... :P 08:09
moritz colon, semicolon, they are all /colon/ 08:11
jnthn
.oO( Perl 6: I love the smell of it's colon... )
08:12
jnthn yawns and makes coffee 08:13
FROGGS already had three
but w/e, coffee is a good idea
jnthn Yeah but I only just got up :)
FROGGS :o)
jnthn Which is bad prep for tomorrow when I should be doing something useful by 9am...
masak FROGGS: yes, that's the dark side of "every language is really a dialect of Perl 6" -- it's because all the other languages will have to ask us nicely for *their own* features. at a license fee, of course. 08:14
FROGGS coffee makes me type and think faster, but the problem is that it makes me impatient too, when waiting of rakudo to recompile
'course 08:15
:o)
masak solution, give Rakudo coffee.
FROGGS well, even when that works what I do right now (@a >>+<< @b), it wont compile fater :o( 08:16
faster
08:20 domidumont left
diakopter faster 08:31
FROGGS time perl6 -e 'my @a = ^100000; nqp::add_MT(@a, @a, Array); say "done"' # real 0m9.603s user 0m26.792s sys 0m1.716s 08:35
08:36 sqirrel joined
diakopter what's add_MT 08:36
FROGGS add_MT calls parrot's add under the hood, and sometimes it dies in the middle of computing, but at least it uses more than one core
diakopter O_O
FROGGS diakopter: a test op
diakopter +_+
X_X 08:37
-_-
o_-
o_o
FROGGS I just wanted to see if it still only utilizes just one core or not
JimmyZ ^_^ 08:38
diakopter ok, now I'm curious
FROGGS the question is now: since we can't use parrot's add for Ints, what op do I need to call that won't be executed effectively in the main thread? 08:39
diakopter now that moarvm can probably run all the perl6-bench
timotimo: ping
08:42 dmol joined
diakopter bah, requires perl6 08:43
*grumble* 08:44
FROGGS well, it is called *perl6*-bench
not ruby-bench
jnthn I suspect you could use it to do some profiling of NQP on Moar, no? 08:45
diakopter yeah I'm getting morbidly curious about that
building some form of rakudo; *sigh*
.oO( that's a lot of unreachable code )
08:46
"you're unreachable" 08:48
hee hee. "Stage post" shoudln't that be pirt? 08:50
JimmyZ should be Stage Mast?
tadzik it's like Jast which is actually Jost 08:51
JimmyZ and Most ?
tadzik haha, but for Moar it will be Most
.tr pl en most
yoleaux pl in Most (gl → en)
tadzik wat
FROGGS ahhh cool, it is just the debug 'say' statement in pir that is causing the crash
tadzik anyway, Most means Bridge in Polish
diakopter actually qast->mast->.moarvm (both on disk and in memory) 08:52
JimmyZ so we should s/as_mast/as_most/ ?
FROGGS in german it is the state of the apple juice before it is wine
JimmyZ :P
jnthn .tr sk en most 08:53
yoleaux sk a mashed (no → en)
jnthn wtf :)
diakopter: I think the stage just never got renamed :) 08:54
arnsholt Being in Bulgaria ATM, I think "most" around here means bridge. Same in Polish and Slovak?
tadzik in Polish, yes
jnthn In Slovak too
The two main bridges in the capital had very creative names: stary most and novy most :) 08:55
arnsholt Old and New? =)
I like Pont Neuf in Paris. The oldest bridge crossing the Seine still standing =D 08:56
Like New college in Oxford
jnthn yes, old and new ;)
I think "old" was kinda appropriate though, given that for part of my time in Blava they partially closed the bridge 'cus it was at risk of falling down, or something :) 08:57
diakopter here, I'll just manually do nqp parrot vs nqp moarvm
what's the y-axis on test-plots.html 09:02
number of iterations of the loop per second?
er. no. 09:03
JimmyZ still thinks .moarvm is too long :)
mathw we're running out of short and concise filename extensions 09:05
jnthn It's not like you type it explicitly that often :)
At least, I don't :)
diakopter anyone know what the y-axis is?
mathw <tab>
JimmyZ not type it, but most file ext is 3 words 09:06
2~3
09:07 daxim joined
FROGGS .mvm seems unused 09:09
09:10 SmokeMac_ joined, crab2313 joined
JimmyZ .mvm .mbc .moa .mar ? 09:11
tadzik .mor
09:12 SmokeMachine left
arnsholt Having an extension > 3 characters long is a good way to weed out silly platforms, if you ask me =) 09:12
JimmyZ i.e: dos ? 09:13
tadzik also, Configure.pl
come on, it's too long. Should be 8 characters long
Configur.pl
or maybe: Configur.epl 09:14
FROGGS *g*
diakopter while_empty: nqp-moar: 4,911,364/s p5: 20,763,886/s so... 4.2x slower
at 2**12 iterations 09:15
JimmyZ not bad, Did you compile with --omptimize ?
diakopter yeah i think so 09:16
tadzik does --omptimize use OMP? :)
diakopter haha
JimmyZ *optimize
diakopter while_bind at 2**12: nqp-moar: 4,755,446/s p5: not fair 09:18
;) 09:19
ergh, the string ones should be ... interesting. :/ 09:22
JimmyZ fib(35) is faster than p5 09:23
diakopter nice, segfault
09:25 raiph left
diakopter 3x slower on while_concat; hrm. 09:26
tadzik concats gonna conc
diakopter it died on 2**12 but worked on 2**11 09:27
strangly the native variant is a lot slower on moar 09:28
jnthn That sounds odd...
Does the code-gen go boxing somewhere?
diakopter surely..
yeah, like infinitely slower 09:29
mwahaha 09:31
demolishes in the while_push_join
09:32 domidumont joined
diakopter er, no.. 09:33
just 2x as slow as p5
demolishes the other NQPs anyway
while_push segfaults 09:34
*sigh*
er, no it doesn't 09:35
wat.
wel that's just crazy; it segfaults if there's NOT an say('alive') at the end 09:37
tadzik clearly, it's not alive
alive ergo sum
diakopter also, non cogitas 09:38
labster carthago delenda est
09:40 domidumont left 09:41 domidumont joined
diakopter roughly same as nqp parrot for while_array_set 09:42
09:45 kaleem joined 09:46 domidumont left
masak you sort of have to question the modus operandi of people who use Latin phrases for no good reason. 09:48
diakopter usually modus operandi is a synonym for "standard operative procedure" ... oh. 09:50
*operating
jnthn
.oO( carpe cervisia... )
09:51 sqirrel left
diakopter carpe carp 09:51
rnp: 10 COME FROM 10 09:53
camelia rakudo 8ac6bb: OUTPUT«===SORRY!=== Error while compiling /tmp/pUbCITVVV5␤Two terms in a row␤at /tmp/pUbCITVVV5:1␤------> 10 ⏏COME FROM 10␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-infix␤ statement end␤ …
..pugs: OUTPUT«*** ␤ Unexpected "COME"␤ expecting operator␤ at /tmp/BxZS6LOTsA line 1, column 4␤»
..niecza v24-88-g1f87209: OUTPUT«===SORRY!===␤␤Two terms in a row at /tmp/mwReSoc49A line 1:␤------> 10 ⏏COME FROM 10␤␤Parse failed␤␤»
09:53 Rotwang joined
masak diakopter: yes. "operandi" is a gerund. 10:01
literally "way of working". I think there's a partitive genitive, too.
arnsholt would know. :)
jnthn attempts to add some promise combinators :) 10:03
mathw \o/ 10:06
10:12 hypolin left 10:15 dakkar joined
jnthn mathw: yes, they're cute, ain't they... :) 10:17
mathw I just love the idea of combinators for asynchronous things 10:18
without them things tend to get really nasty 10:19
with them, you can pretend some semblance of comprehensible code
10:19 Ulti joined
Ulti r: sub infix:<concat>{$^a~$^b}; 1,2,3 Zconcat 4,5,6; 10:23
camelia rakudo 8ac6bb: ( no output )
Ulti r: sub infix:<concat>{$^a~$^b}; say 1,2,3 Zconcat 4,5,6; 10:24
camelia rakudo 8ac6bb: OUTPUT«14 25 36␤»
Ulti r: say 1,2,3 Z{$^a~$^b} 4,5,6;
camelia rakudo 8ac6bb: OUTPUT«===SORRY!=== Error while compiling /tmp/eFGlrfOWZw␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?)␤at /tmp/eFGlrfOWZw:1␤------> say 1,2,3 Z⏏{$^a~$^b} 4,5,6;␤ expecting any of:…
Ulti is there any practical reason that second example couldn't be made to work? 10:25
jnthn Here's an example of finding the 10000th prime, reporting progress as we go... 10:28
gist.github.com/jnthn/6172897
Ulti jnthn: is that running the same search in parallel and then just taking the result of whichever thread gets there first? 10:29
dalek kudo/nom: 9117969 | jnthn++ | src/vm/jvm/core/Threading.pm:
Implement anyof and allof promise combinators.
10:30
jnthn Ulti: The search isn't being done in parallel, no
Ulti: It's running the search on a thred in the thread pool there.
mathw it's picking up the contents of the array as they're being generated by a different thread?
masak mathw: most statement forms ('if', 'while', etc) are combinators for synchronous things. programming without them also tends to get really nasty ;)
mathw masak: yes, but combinators for asynchronous things are fairly unusual still, and thus highly valued when they appear
masak we're just less wired to think asynchronously. 10:31
jnthn mathw: Not even that. The async block returns a Promise, much like Task in .Net. The task is working to find the 10000th prime
masak that's why we need math and logic, to keep our brains straight.
jnthn mathw: In the main program body, we sit in a loop, waiting for either the result to arrive or a second to elapse. If a second elapses with no result still, we report progress so far and continue looping.
The loop is left when we have a result. 10:32
mathw duh
Ulti jnthn: is there a mechanism to specify you don't mind running the same task several times for speculative execution, sometimes if you are doing a stochastic calculation running a couple of them one might converge quicker for example
mathw sorry I'd not quite picked up on it updating $found from inside the async
jnthn mathw: ah :)
mathw up to the eyeballs in C# today 10:33
jnthn Ulti: Yes, you could build that out of the anyof combinator.
Ulti also thats really cool! :D
10:33 bruges_ left
mathw well, not so much C# but some of the annoying bits it gets involved in... like web.config 10:33
10:33 bruges joined
Ulti okedoke 10:33
mathw jnthn: so Promise.sleep(1) makes a promise that doesn't do anything, but takes a second to do it? 10:34
FROGGS that sounds exactly like my co-workers 10:35
10:37 rindolf joined
jnthn mathw: Yes, using a timer mechanism so it doesn't actually sleep a thread. 10:39
FROGGS jnthn: I create and return an RPMCA within/from pir code, and when I call .gist on the op that returns it, it states it can't call .gist on an QRPA... how can I box it into an array?
jnthn Ulti: gist.github.com/jnthn/6172985 # silly stochastic example for you 10:40
mathw jnthn: handy. Can I assume that normal sleep is/will be smart enough that "await Promise.sleep(10)" doesn't turn out to be more sensible? 10:41
jnthn mathw: for now, sleep itself will always be a normal "sleep this thread" 10:42
mathw probably always will need access to that
sometimes being smart is the wrong choice
jnthn Yeah...at this level, anyway.
mathw the primitives need to be available 10:43
if only because you need them to build other cool stuff out of
jnthn Right. 10:44
JimmyZ: btw, you asked about promises that can be created and explicitly kept. That's now possible: my $p = Promise.new(); and then later $p.keep($value) 10:46
masak jnthn: what's the opposite of .keep ? 10:47
jnthn masak: .break
masak: Just like in real life, you keep promises or break them :)
FROGGS liars! 10:48
masak also, jQuery makes the distinction between "deferreds" (where you can use the .keep or .break equivalents) and "promises" (where you can't). do/will we have anything similar?
it seems Very Bad in some cases to expose the .keep/.break methods to the user. 10:49
Ulti jnthn: neat thanks, I guess you could also just have a function that's an async and just call it four times as parameters to Promise.anyof too?
jnthn Ulti: Yeah, anyof takes a slurpy and expects all the things will be of type Promise
Ulti oh wait that is what you have because the array is that
mathw what does $promise.keep actually do?
Ulti :)
jnthn masak: If you have a Promise that is based around a piece of code and you try to call .keep on it, it will explode. 10:50
Ulti hasnt had coffee or an anti hayfever pill yet
does explode mean raise an exception or actually bomb out
mathw ...
jnthn mathw: Sets the result, sets status to completed, and fires any then 10:51
mathw so what is .keep *for*?
oh so you can have a Promise which has no associated code
jnthn mathw: Setting the result of any Promise that is not backed by some code.
mathw and someone can come along and say 'okay I kept that promise for you'
jnthn Yeah, allowing that to happen seems a bad idea... :) 10:52
mathw so you can use that kind of promise as a synchronisation mechanism
jnthn Right.
That's how Promise.delay(...) works. It sets up the timer, and then when it fires just does .keep
diakopter latch
jnthn Ulti: Exception
mathw where? 10:53
in the thread that's waiting on the promise?
dalek rlito: f8bc871 | (Flavio S. Glock)++ | / (5 files):
Perlito5 - js - fix subroutine reference
clkao win 8
masak hugs clkao, good irrsi user 10:54
irssi*
jnthn mathw: At present, there's a semaphore inside of the Promise. If you block on it, then you're unblocked when keep releases.
10:55 crab2313 left
jnthn The entire code behind this is under 300 lines, fwiw. :) 10:55
10:56 pmurias joined
jnthn (Probably 'cus there's a bunch more to do on it :P) 10:56
mathw hehe
hopefully it'll stay under 300,000 though :) 10:57
jnthn ponders whether, since the thing that underlies anyof and allof is n_of, he should expose that
Ulti yeah maybe if you wanted N possible solutions to something running in parallel 10:58
mathw there might be a case for that
"I want the first two of these things that finish"
Ulti especially if you want to then map the output N at a time
jnthn The thing I ain't got in yet is cancellation
Ulti do you get FailedPromises for all the threads that died for some reason? 10:59
BrokenPromises sorry ;)
mathw cancellation's hard
good luck 11:00
lunch &
jnthn Ulti: It's a Promise, but when you try to use the result it throws the exception. 11:01
Ulti might have to play with this later and port a perl5 script I use with GNU parallel 11:03
is there a Perl5 -> Perl6 regular expression translator anywhere? 11:04
I realise you can use Perl5 regex anyway
jnthn No, that'd be a fun thing to write though...in Perl 6, of course :) 11:05
FROGGS Ulti: but it only support a small subset of P5 regex
supports*
Ulti yeah might give it a go, the bioinformatics stuff I'm doing at the moment is essentially scoring regular expressions in parallel over a large set of strings
people publish regular expressions of sequence motifs that have a biological function :D 11:06
FROGGS: well these are POSIX compatible regex I think
elm.eu.org/elms/browse_elms.html <--- the database of curated regex 11:07
those should be really trivial to translate anyway
then I can blog about some parallel Perl6 code "in production" 11:09
FROGGS ++Ulti
Ulti plus I have the perl5 equivalent laying around to compare against
11:15 PacoLinux joined 11:40 mdxi joined, mdxi left 11:46 berekuk left 11:50 crab2313 joined
JimmyZ jnthn: good 11:56
11:59 colomon joined 12:03 skids left
jnthn afk, stockholm & 12:06
FROGGS AAAAHHHHH, HE GOT KIDNAPPED!!! 12:07
masak so that's what the capital city of my home country gets associated with. 12:13
FROGGS :P 12:16
masak Ulti: parenthesis semantics is a little different between 5 and 6.
Util: in 5 the rule is "label starting at $1 based on the order of opening parentheses" 12:17
Ulti: in 6 the rule is "label starting at $0 based on nesting, taking alternations into account"
$ perl -Mstrict -wE '"foo" =~ /(?:(r)|(f))(oo)/; say $3' 12:19
oo
r: "foo" ~~ /[(r)|(f)](oo)/; say $1
camelia rakudo 911796: OUTPUT«「oo」␤␤»
masak so above, in Perl 5 (r) is $1 and (f) is $2 12:21
but in Perl 6 both (r) and (f) are $0 12:22
Ulti masak: thanks though none of those regex I linked to is actually capturing its just they aren't perl5 regex specifically
as in I'd only ever want $0
oh wait whats the whole match
masak $/ :)
Ulti heh right like grammars
masak in Perl 5, $0 means $*PROGRAM_NAME
Ulti: in fact, in Perl 6, all the capture variables like $5 are just data inside $/ -- $5 is sugar for $/[5] 12:23
Ulti wait not @/[5] 12:24
FROGGS because $/ is the match variabel, not @/ 12:25
Ulti and [] is over ridden for the match object?
FROGGS r: "abc12" ~~ / (\w) $<foo>=[ (\w+) | (\d+) ] /; say $/
camelia rakudo 911796: OUTPUT«「abc12」␤ 0 => 「a」␤ 1 => 「bc12」␤ foo => 「bc12」␤␤»
FROGGS r: "abc12" ~~ / (\w) $<foo>=[ (\w+) | (\d+) ] /; say $/; say $/[1]; say $/<foo> 12:26
camelia rakudo 911796: OUTPUT«「abc12」␤ 0 => 「a」␤ 1 => 「bc12」␤ foo => 「bc12」␤␤「bc12」␤␤「bc12」␤␤»
FROGGS r: "abc12" ~~ / (\w) $<foo>=[ (\w+) | (\d+) ] /; say $1; say $<foo>
camelia rakudo 911796: OUTPUT«「bc12」␤␤「bc12」␤␤»
FROGGS Ulti: is just supports positional operations 12:27
and associative
masak Ulti: anything can have .[] indexing, whether it sits inside a $ variable or a @ variable.
Ulti yeah so its a scalar because its a single object but just has stuff for using those operators
masak scalar in Perl 6 just means "we don't know anything special about the object".
it could still be an array or a hash or something else. 12:28
rn: my $mystery = ["OH HAI"]; say $mystery[0]
camelia rakudo 911796, niecza v24-88-g1f87209: OUTPUT«OH HAI␤»
Ulti ahh yeah I just assigned a list to a scalar I never even thought to try that
which does beg the question why use anything else 12:29
12:31 fridim__ joined
dalek p: 0b93372 | (Solomon Foster)++ | src/HLL/sprintf.nqp:
Proper support for NQP types in Int sprintfs.
12:37
masak I just realized that my biggest kvetch against Perl 5's lookahead (?=) (?!) and lookbehind (?<=) (?<!) operators is that they are not properly strangely consistent. 12:39
at least not in my view.
the lookahead operators should've been (?>=) (?>!)
I think from now on my mnemonic will be "they're like that, except the '>' is missing" :) 12:40
[Coke] pick a list for someone asking question that starts with "I am trying to use the C extention feature with perl6. Although it worked fine with perl5, the C extention is different from perl5 to perl6"
-compiler? -user?
er, -users? 12:41
I'll go with -users.
12:44 PacoLinux left, itz joined 12:46 PacoLinux joined
[Coke] someone trying to use a program that uses Inline::C with perl6. 12:46
12:48 fhelmberger joined
colomon Time::Duration failed tests overnight... 12:48
masak \b means "word boundary" in (p5) regexes, but "backspace" in char classes. TIL. 12:50
$ perl -E 'say "\b" =~ /[\b]/'
1
thanks, Python documentation ;)
(in Perl 6, \b means "backspace" in all three contexts: string, regex, charclass)
12:51 orafu joined 12:57 PacoLinux left
masak interesting module idea: regex coverage checking. 13:01
13:01 konundra left
masak given a list of regexes, see if (a) they cover all possible strings, and (b) there's no overlap. 13:01
13:02 PacoLinux joined 13:09 PacoLinux left
masak ok, "trapped on the surface of a sphere" is my new reply. xkcd.com/1248/ 13:12
13:12 fridim__ left
crab2313 :q 13:14
hugme hugs crab2313, good vi(m) user!
13:15 crab2313 left
masak is it too early yet to port hugme to Perl 6? 13:15
looks like it's 268 lines of POE Perl 5.
daxim first you write/port an event loop framework… 13:16
13:17 PacoLinux joined
masak well, we already have an IRC bot module, so I don't think that's necessary. 13:17
13:18 ajr joined
Ulti masak: if you did that regex covering module I'd coauthor you on my paper ;) 13:18
timotimo well, MuEvent exists
13:18 ajr is now known as Guest56333
masak Ulti: heh :) 13:18
13:18 Guest56333 is now known as ajr_
masak Ulti: I suppose for arbitrary regexes it's too ambitious. 13:18
Ulti: but for a lot of real-world ones it's quite doable.
Ulti I'm especially interested how many regexes are confused in that database, at the momeny I'm just using the output to work it out 13:19
timotimo diakopter: can't run all the benchmarks on moarvm, while_concat segfaults and the benchmark framework still counts that as "success! i should make a bigger task!"
Ulti just something that takes two match objects and tells you the overlap would be useful
rather than looking at the regex
I also want something that works out expectations of a regular expression matching too if you give the expectation of each character 13:21
which gets really tricky for when you have * or + or anything that matches multiple times 13:22
13:23 konundra joined, PacoLinux left
masak Ulti: all of this gets much easier once you view regexes as ASTs. 13:27
Ulti: not super-easy, but definitely within the realm of the achievable.
Ulti I have to finish my thesis before I play ;___; 13:29
13:29 skids joined
masak what's the timeline for your paper? I don't have any time before YAPC::EU, but I think a coverage module is definitely something I could write. 13:31
pmurias isn't coverage in some horrible complexity class? 13:33
masak: a quick google search found this citeseerx.ist.psu.edu/viewdoc/downl...p;type=pdf 13:34
masak pmurias: interesting. 13:37
yes, it's a hard problem in general. 13:38
13:39 fhelmberger left 13:40 alester joined 13:41 logie joined
masak in order to use regexes in Python, you have to `import re` -- hahahaha *sob* 13:41
13:44 xilo joined
[Coke] (IRC bot module) did that ever become usable? 13:44
timotimo perl5: say "Segmentation fault (core dumped)" =~ /core dumped/;
eval: say "Segmentation fault (core dumped)" =~ /core dumped/;
[Coke] ... crap. rakudo-jvm has promises, but not sockets. 13:45
timotimo yes :(( 13:46
i don't know enough about sockets to come up with something acceptable
(and even on parrot, the rakudo sockets are a bit peculiar)
GlitchMr I miss easy sockets in Node.js. 13:47
13:47 nebuchadnezzar left, nebuchadnezzar joined
pmurias masak: 'import re', that should make switching to Perl 6 rules easier ;) 13:49
JimmyZ use v6; use re:from<python>; 13:52
timotimo huh. so the code does my ($out, $err) = capture { $status = system @$compile }, shouldn't i be able to get the output from $out and $err? could also be a bad sign that the segmentation fault message ends up on the console without $err and $out being printed anywhere ... 13:53
[Coke] has a week of vacation coming up and hopes he can get a few days to hack on p6.
FROGGS timotimo: sounds like it dies... you can try warring the system call in an eval (which is Perl 5's version of `try`) 13:55
ohh cool, ++[Coke]
13:56 notjack joined
timotimo what, system dies? 13:56
how exactly do i wrap it in eval? just write it before? do i have to put curlies? 13:57
tadzik system dies if you use autodie
GlitchMr rn: my @array = 2, 0.2; say [*](@array) ** (1 / @array) 13:58
camelia niecza v24-88-g1f87209: OUTPUT«0.63245553203367588␤»
..rakudo 911796: OUTPUT«0.632455532033676␤»
FROGGS timotimo: perldoc.perl.org/functions/eval.html
timotimo i've seen no indication of an exception flying out, but what do *i* know about perl5? :)
FROGGS timotimo: you will see that Perl 5 is a great mess compared to Perl 6
FROGGS hopes that he doesn't get killed for his opinion 13:59
lizmat FROGGS, timotimo: eval in p5 will *never* throw an exception
GlitchMr FROGGS: Perl 5 isn't bad.
FROGGS GlitchMr: I know
GlitchMr There is Try::Tiny module on CPAN to improve exception support. 14:00
FROGGS lizmat: there was no `eval` in timotimo's code at that point
lizmat ah, ok
FROGGS GlitchMr: but having an eval which acts more like try/catch where you have to check for $@ where other ops put things in $! and $@ is just weird 14:01
I mean, you get used to it, but it still is weird :o)
GlitchMr $@ is always eval error in Perl 5.
timotimo oh, i'm silly 14:03
i've of course been looking at the wrong lines altogether
FROGGS timotimo: btw, complains about 'explicit package name' means that something is undeclared 14:04
timotimo in this case it meant i forgot to put parens around the if condition which confused the parser so massively that it started a drunken tumble through the rest of the code, completely unaware of its surroundings, knowing only that nothing seemed quite right 14:05
great, my segfault detection works :) 14:06
FROGGS timotimo++ # yet another Perl 5 hacker :o) 14:07
timotimo now i can run all the tests, hopefully
i'd prefer not to do too much perl5 in the future ~_~
notjack I've had to dust off my perl5 neurons recently 14:12
turns out I may need a scouring pad and some bleach 14:13
14:17 ajr_ left 14:19 _jaldhar left 14:20 ajr joined, ajr is now known as Guest10665 14:21 Guest10665 is now known as ajr_
timotimo it seems like rc-forest-fire was being run, but didn't actually do anything, or should have failed, or something 14:24
i'm running nqp-jvm benchmarks right now, so that moarvm performance can be compared to the other two
FROGGS cool
I'm eager to see it
even when I know that moarvm is not totally optimized atm 14:25
timotimo i'm also eager to see it ;)
[Coke] ... and there's the email. 14:27
14:27 PacoLinux joined
timotimo which one is that? 14:29
[Coke] "Can anyone please help with using inline C in perl6 ? basically I want C extensions in perl6.
I figure the best answer doesn't involve inline'd c, but easy access to it with nativecall. 14:30
14:30 btyler joined
FROGGS [Coke]: there is Inline::C fwiw 14:31
[Coke] for 6? 14:32
FROGGS yes
[Coke] good thing I forwarded him to the list then. ;)
FROGGS but one should choose NativeCall when it comes to using C-libs
it seems I'm missing a list subscription...
[Coke]: which list? 14:33
[Coke] perl6-users
I was cc'd - it might not have made it through spam filters yet 14:34
14:38 Psyche^ joined 14:39 domidumont joined 14:41 Psyche^_ left
masak I finally understand why it's separator.split(str) in Python, not str.split(separator) 14:46
pmurias so it works with regexes? 14:47
leont When lacking multi-methods, it's the most useful way to do it I suppose
masak the full form is actually re.split(pattern, str) -- where pattern=separator
there are seven such methods on re, and all of them have pattern as the first parameter. 14:48
and all of them have alternative forms where instead of passing a (string) pattern as the first parameter, you call them on a compiled regex object.
pmurias masak: so what is the reason? 14:49
timotimo t.h8.lv/p6bench/moarvm_nqp_2013-08-07.html - didn't even look at it myself yet 14:51
wow, why is it so irregular?
14:52 bluescreen10 joined
masak pmurias: consistency. for many of the other of the seven methods, it makes a lot of sense to keep `pattern` as the first parameter. 14:52
timotimo weird. so many are missing
14:52 itz left
FROGGS timotimo: the bigger the better? 14:53
timotimo yes, more up = more good
dalek kudo/nom: 1d15f4d | (Elizabeth Mattijsen)++ | src/core/control.pm:
Tentatively implement "samewith" for calling same method with different params

This is essentially syntactic sugar for &?ROUTINE.dispatcher()( self, @params );
14:54
JimmyZ what, zero moarmv is worst?
14:55 _jaldhar joined
timotimo ... what? :) 14:55
ah, yes
well, it contains the time for a parrot to start and the cross compiler to compile "nothing" and then for a moarvm to start and run "nothing" 14:56
FROGGS timotimo: if you show me where the code is I would add a precomp-moarvm
JimmyZ no p5 there :(
timotimo sure. gimme a sec.
github.com/timo/perl6-bench/tree/latest-stuff - there you go 14:57
you will probably want to look into components.pl to figure out how the stuff is run 14:58
14:58 _jaldhar left, _jaldhar joined
dalek ast: 184ff24 | (Elizabeth Mattijsen)++ | S12-methods/defer-next.t:
Check new "samewith" functionality
15:02
FROGGS ohh now, I need perl6 modules to run it 15:03
no*
pmurias I could be fun to port a "real" benchamark like Octane that Dart is using www.dartlang.org/performance/
15:04 _jaldhar left 15:05 tsmith joined 15:07 tsmith is now known as thou
masak huh, "samewith" :) 15:07
FROGGS .oO( "laszer" )
-.-
lazer*
masak FROGGS: friggin' ones, on the heads of sharks? 15:09
lizmat well, it's not nextwith
it's for the case where you want to call the same method with different parameters using the same dispatcher 15:10
15:11 kaare_ joined
masak aye. 15:11
15:11 rindolf left 15:12 birdwindupbird left
masak I've never put it down into words, but I'm disappointed at where we ended up with things like $obj.*method() 15:12
it turns out that there are two axes along which there can be "several methods": the mro axis and the multi axis. 15:13
the .* syntax picked the wrong axis, making the syntax much less exciting for Perl 6 programmers.
15:14 itz joined
lizmat yuck. the test for samewith succeeds, but the use case in Hash.classify-list fails :-( 15:14
masak time to write more tests! :)
pmurias masak: you would prefer it to be the multi axis?
lizmat masak: indeed 15:15
masak pmurias: I... I don't know. in a way I still haven't organized my thoughts about this enough. 15:16
pmurias: I really should, and the result should probably be a blog post.
but it needs to be centered around use cases, and I haven't sat down and worked those out.
pmurias masak: .?foo seems usefull to me, .+ and .* seem a bit crazy 15:18
masak yeah. 15:19
r: class A { method foo($x) { say "A" } }; class B is A { method foo(Int $x) { say "B" } }; B.new.*foo(42)
camelia rakudo 1d15f4: OUTPUT«B␤A␤»
masak r: class A { method foo($x) { say "A" } }; class B is A { method foo(Int $x) { say "B" } }; B.new.*foo("not 42")
camelia rakudo 1d15f4: OUTPUT«Nominal type check failed for parameter '$x'; expected Int but got Str instead␤ in method foo at /tmp/lNQCmmJfDD:1␤ in method dispatch:<.*> at src/gen/CORE.setting:1186␤ in block at /tmp/lNQCmmJfDD:1␤␤»
pmurias it seems like something that would make sense to use on methods designed to work with that
masak r: class A { multi method foo($x) { say "generalist" }; multi method foo(Int $x) { say "specialist" }; multi method foo(42) { say "über-specialist" } }; A.new.*foo(42) 15:21
camelia rakudo 1d15f4: OUTPUT«über-specialist␤»
dalek kudo-js: b38ae57 | (Pawel Murias)++ | / (5 files):
Implement/fix things needed for multis.

Handle QAST::BVal, compile the only child of the CompUnit. Fix nqp::setcodeobj,nqp::getcodeobj. Implement nqp::captureposelems,nqp::captureposarg,nqp::usecapture,nqp::savecapture. Implement nqp::curcode. Pass test 75 for that.
masak right. so only works along the mro axis.
15:21 ajr joined 15:22 ajr is now known as Guest65954, ajr_ left, Guest65954 is now known as ajr_
masak thanks to The Last Multi Reform, at least the mro and multi axes are orthogonal ;) that's undoubtedly a plus. 15:22
pmurias masak: it's specced to work on both axes 15:27
15:27 dmol left
masak pmurias: do you have a reference for that? 15:28
15:29 sqirrel joined
masak pmurias: also, does that mean that my last eval above is a rakudobug? 15:29
pmurias S12:924
synopsebot Link: perlcabal.org/syn/S12.html#line_924
dalek kudo/nom: a3eecdc | (Elizabeth Mattijsen)++ | src/core/control.pm:
Small optimization in "samewith"
15:32
15:33 konundra left, konundra joined
daxim sciencevsmagic.net/fractal/#0090,0180,1,2,1,0,5 15:34
15:35 PacoLinux left, PacoLinux joined
dalek kudo/nom: 3ba7f55 | (Elizabeth Mattijsen)++ | src/core/control.pm:
Fix problem with self not being found crying wolf
15:39
kudo/nom: 93ca160 | (Elizabeth Mattijsen)++ | src/core/ (2 files):
Use new "samewith" functionality in (classify|categorize)-list
15:42 kaleem left, konundra left
timotimo i don't know how exactly samewith operates, does the name "againwith" sound applicable? 15:42
masak timotimo: 'samewith' sounds more like 'nextwith' to me, which is probably a good thing. 15:43
masak submits rakudobug
timotimo since there's "nextsame", too, would th equivalent of "samewith" be caled "samesame"? :) 15:44
masak r: class A { multi method x { say "1" }; multi method x { say "2" } }; A.new.*x()
camelia rakudo 1d15f4: OUTPUT«Ambiguous call to 'x'; these signatures all match:␤:(A : Mu *%_)␤:(A : Mu *%_)␤ in method x at src/gen/CORE.setting:510␤ in method dispatch:<.*> at src/gen/CORE.setting:1186␤ in block at /tmp/NijVu67lCH:1␤␤»
masak timotimo: yes. 15:45
15:46 wtw_ is now known as wtw
lizmat fwiw, my initial choice for the name was simply "again" 15:46
but found that too general, second choice was indeed "againwith"
FROGGS that clashes with 'once'
lizmat FROGGS: how ?
FROGGS "again" feels more like the opposite of 'once', no? 15:47
lizmat well, once takes a thunk/block, samewith takes any parameters 15:48
FROGGS and the 'with' in 'nextwith' points somehow to passing arguments, so it feels like it must have to do something with subs/methods
lizmat well, yes, hence the same*with* : ) 15:49
FROGGS right :o)
lizmat anyway, it felt stupid having to repeat the method name, and nextwith() not doing what I needed 15:50
FROGGS yeah
lizmat I'm not really partial to the name, but I am to the functionality
if there's a better way to do it, I'm all for it! 15:51
FROGGS commute &
I like the name fwiw
lizmat cycling and dinner&
15:57 FROGGS left
[Coke] samewith: ENOSPEC 16:04
masak not all things implemented are spec'd. 16:05
[Coke] moritz: irc search logs broken?
masak: they should be spec'd or documented by the implementation. 16:06
moritz: irclog.perlgeek.de/perl6/search/?ni...q=samewith :: no results 16:07
16:07 btyler left 16:08 sjn joined
masak someone reported a couple of days ago that there are no search results after some particular date. 16:08
[Coke] masak: irclog.perlgeek.de/perl6/search/?ni...sak&q= - no results.
so, looks like just no results at this point.
16:12 ssutch joined
[Coke] masak: if it's not spec'd and won't be, why are the tests going in roast? 16:13
masak to recognize regressions when they happen. 16:16
16:17 FROGGS joined 16:19 dmol joined 16:21 pmurias left 16:22 btyler joined
moritz [Coke]: heh, search for nextwith works 16:28
[Coke]: I can only guess that the stemmer and/or stopword analysis make garbage out of samewith
16:33 sqirrel left
moritz masak, [Coke]: fwiw the "no such results after a particular date" bug has been fixed 16:33
masak ok. nice. 16:41
"Basically, every use of resumption had represented a failure to keep separate levels of abstraction disjoint." -- en.wikipedia.org/wiki/Exception_ha..._rationale 16:42
that explains why I've never felt a great need for resumable exceptions.
16:44 census joined
moritz and yet we have them in Perl 6 16:47
(and less obvious in Perl 5 too) 16:48
masak it'd be interesting to see a use case for them. 16:49
geekosaur I've used something similar to resumable exceptions to implement cooperative threading. of course that's not exactly a flagship use case 16:50
masak no, that's a misuse case :P
geekosaur more a "stone knives and bearskins"
16:52 spider-mario joined
timotimo i'm still kind of bummed that running coroutines cannot be pickled away by rakudo :| 16:53
er, running coroutines is of course not sensible
i meant coroutines that are currently not running
leont "pickled away"?
[Coke] saved for later. 16:55
daxim that's why the python serialiser is called pickle
16:55 FROGGS left, colomon left
[Coke] pickling is like... ... ah: from Modula-3: Pkl (or Pickle): Object serialization of any reference types reachable by the garbage collector 16:55
daxim conserved data, hmmmm. p-: 16:56
timotimo that mail didn't reach perl6.users yet, it seems 16:57
16:57 colomon joined
leont Right 16:58
16:58 konundra joined
timotimo continuation passing style web frameworks like nagare (python) or seaside (i think? smalltalk) are really amazing to me 16:59
masak haha, Python has *two* built-in exception types dedicated to tabs and indentation. (IndentationError and TabError, the latter subclassing the former) 17:00
timotimo business (or game) logic that has loops and branches can, in my opinion, be super-nicely mapped to coroutines and friends (that is until you need to change the logic and find out you can't patch currently running instances ...) 17:01
17:01 dmol left 17:03 raiph joined
moritz loved blog.reverberate.org/2012/12/hello-...-jits.html 17:03
17:04 sjn left 17:06 dmol joined
moritz it makes me want to write my own JIT compiler, eventually 17:08
perigrin you're sick ... and infectious ... cause it maks me want to do the same. 17:11
masak yes, that looks pretty interesting.
geekosaur eventually you learn to ignore these little bouts of self-abuse :) 17:12
like every so often I get fed up with mail clients and think about writing a decent one, then I remember how well that worked last time I did it (and things are much worse now...) 17:14
leont Yeah, what perigrin says :-) 17:15
17:19 FROGGS joined 17:20 dakkar left, simonl13 joined 17:23 ajr_ left 17:27 ssutch left
arnsholt geekosaur: I have that same issue with make. It's a horrible tool, but all the options are worse 17:30
17:34 daxim left 17:35 btyler left 17:41 sqirrel joined 17:43 sjn joined
masak arnsholt: twitter.com/mccv/status/350037001384361984 17:45
leont arnsholt: the general concept behind make can be implemented in a few dozen lines of code 17:48
In fact, I was considering doing just that as my first perl 6 program next Sunday
moritz I like the answer "lego"
nwc10 me too :-) 17:50
slava I hate to bug everyone, but in grammars, when I use token, do I need to do something special to match across multiple lines? 17:51
moritz slava: no, you don't 17:52
17:52 PacoLinux left
timotimo i thought tup was kind of cute 17:52
slava moritz: thanks
moritz r: say "a\nb" ~~ /.+/
camelia rakudo 93ca16: OUTPUT«「a␤b」␤␤»
slava sweet
moritz r: say "a\nb" ~~ /\w\s\w/
camelia rakudo 93ca16: OUTPUT«「a␤b」␤␤»
masak leont: you might be interested in cr.yp.to/redo.html if you haven't seen it already 17:53
leont Yeah, I'm vaguely familiar with it
But what I really want right now is a make with subs instead of commands 17:54
timotimo tup has pretty excellent performance: gittup.org/tup/tup_vs_mordor.html
17:55 simonl13 left 17:58 stevan_ left 18:00 btyler joined
arnsholt masak: That about sums it up =D 18:02
18:04 crab2313 joined 18:10 ajr joined 18:11 ajr is now known as Guest78459
FROGGS timotimo: where can I find the timing tests that it runs? 18:15
18:15 berekuk joined
timotimo do you mean microbenchmarks.pl? 18:16
FROGGS ahh yes
18:18 cooper left 18:19 berekuk left, bluescreen10 left 18:20 raiph left 18:21 bluescreen10 joined 18:22 cooper joined, cooper left, cooper joined 18:30 simonl13 joined, stevan_ joined, berekuk joined 18:38 raiph joined 18:41 sqirrel left 18:48 domidumont left, Guest78459 is now known as ajr_
dalek p: d23d885 | jonathan++ | src/vm/jvm/ (2 files):
Add a nqp::jvmisnull op.
18:53
diakopter leont: just make a super-simple subset of miniperl that builds without make... 18:58
"just"
wait, are you trying to eliminate the make dependency entirely? 18:59
what's the question?
dalek kudo/nom: 42758c1 | jonathan++ | src/vm/jvm/core/Threading.pm:
Add a basic Channel implementation.

Same idea as channels from Go. Also add a select primitive that can take a list of pairs of channels and code objects, and invokes the code object for whichever channel has a value first. The select implementation is an utter hack, but it will let us play with the idea and API.
Both await and select can be used with promises, so you could use a Promise.sleep(2) along with a channel in a select to time out if the channel does not have a value within two seconds.
19:06
19:08 hashref joined 19:09 Rotwang left 19:11 crab2313 left 19:22 crab2313 joined 19:24 hashref left 19:31 sqirrel joined 19:33 simonl13 left 19:35 Rotwang joined
lizmat I guess diakopter will need to see leont's talk at YAPC::EU 19:43
masak just tried the motivating example with the horrible graph in swtch.com/~rsc/regexp/regexp1.html
lizmat [Coke]: wrt ENOSPEC of "samewith": I found out the hard way that people react better to code being implemented than specs being written 19:44
masak in Perl 5.14.2, it takes no time at all. `time` says 0m0.008s real time. which is nothing at all.
lizmat so nowadays I lean towards implementing first, rather than speccing
masak lizmat++ # I think that's a good idea
spec backed by at least one implementation is likely to have better survivability, too. 19:45
less slushy from the start.
19:46 xenoterracide left, BabsSeed joined
thou rn: my $r = "tire"; $r .= subst(rx/(t)? ire/, { $0 ?? "flag" !! "vinegar" }); $r.say; 19:46
camelia niecza v24-88-g1f87209: OUTPUT«flag␤»
..rakudo 42758c: OUTPUT«vinegar␤»
BabsSeed Hi all
thou rn: my $r = "tire"; $r = $r.subst(rx/(t)? ire/, { $0 ?? "flag" !! "vinegar" }); $r.say;
camelia rakudo 42758c, niecza v24-88-g1f87209: OUTPUT«flag␤»
thou o/ 19:47
tadzik jnthn: what would you say about a Go-like select(), which runs a default coderef when no awaitables are ready?
masak hi BabsSeed 19:48
BabsSeed Hi masak 19:49
I'm new here, have been using perl5 for a long time though
thou ^ is that a known rakudo bug with $r .= subst() not passing $/ (it takes $/ from caller's scope instead of passing $/ to closure), vs. correct behavior when $r = $r.subst()?
masak thou: no, I think it's new. very weird.
thou: want to submit it, or shall I? 19:50
lizmat jnthn is detraining atm
masak BabsSeed: welcome to here. :)
masak .oO( and tomorrow jnthn will be training... others )
colomon Isn't subst supposed to set $/ in the caller's scope? (Mind you, I disagree strongly with that behavior…)
19:51 berekuk left
lizmat on that note, I would like to announce that in cooperation with Edument, we have found jnthn willing to give a 2 day workshop about Rakudo and NQP internals 19:51
Provisional program at gist.github.com/lizmat/6177720
masak \o/
BabsSeed Is there any MVC framework for web for perl6 yet?
masak Edument++ lizmat++
BabsSeed: no, only slightly smaller-scale things, like Bailador. 19:52
lizmat The workshop will be given somewhere in Europe late August / September 2013
tadzik I'd be very interested in atteding that
PerlJam BabsSeed: Bailador 19:53
thou masak: I'll submit, thanks
colomon video it and post?
diakopter stream it
PerlJam BabsSeed: Web::App::MVC
masak PerlJam: which is not an MVC framework.
PerlJam masak: it can be used as such :)
masak Bailador, that is.
colomon which is to say, I'd love to see it, but there's no way I'm making it to Europe in the next month.
lizmat Suggestions for place and time are welcome! 19:54
masak PerlJam: sure, by *building* an MVC framework on top of it!
lizmat Well, maybe we should have it in Iceland ?
that would still be Europe ?
thou There's Plackdo, I never see it mentioned.
19:55 berekuk joined
tadzik lizmat: sounds cool :0 19:55
lizmat I might add that attendance to this workshop is free, but only available on a first come, first served basis
tadzik so if your flight is late then you're not attending? :P
lizmat eh, no, not like that 19:56
and anyway, you probably want to get there the night before: the days are going to be packed and very intensive, I would gather
masak aye -- I've seen the abstract.
diakopter intense, like camping.
masak both days are packed with nice stuff.
BabsSeed PerlJam: Thanks, will look at those 19:57
diakopter intense, like camping intense.
BabsSeed I'm willing to build on top of something, not looking for a Catalyst replacement :P
masak diakopter: *groan*
diakopter groan, like a flower.
19:57 sqirrel left
diakopter win++ 19:57
BabsSeed lizmat: My vote goes for NL or BE 19:58
:D
diakopter prereq "A reasonable knowledge of the Perl 6 language" - but.. how can anyone meet that qualification
lizmat I'll let jnthn clarify that when he's back online :-) 19:59
PerlJam diakopter: maybe "know enough to be dangerous" qualifies?
diakopter masak: re horrible graph, that's b/c they implemented that non-backtracking stuff
masak diakopter: I'm curious when that happened. 20:00
curious enough to build a lot of Perl versions and find out, if no-one knows the version offhand.
maybe reading release notes is faster :)
nwc10 masak: find a fast machine and use Porting/bisect.pl from blead
masak diakopter: are you saying that all existing knowledge of the Perl 6 language is less-than-reasonable? :P 20:01
diakopter nwc10: first, am I right that it got that capability?
nwc10 I don't know.
masak sure seems like it.
diakopter ok. I'm not certain. I just think I read/heard it
20:01 crab2313 left
masak I tried with $N = 1_000 instead of $N = 29, and it's still sickeningly fast. 20:01
diakopter one could also look at the source code.
moritz OH NOEZ, it seems we lost the module loading traces :(
masak so there can't be anything exponential in there. 20:02
diakopter: oh, good idea ;)
diakopter oh wait, that's even more less than reasonable..
20:02 kaare_ left
diakopter kidding... seriously, I find the p5 source just fine to read. 20:03
(but I can see why others would complain)
20:03 xenoterracide joined
lizmat BabsSeed: does that mean you're willing to participate ? 20:05
masak .oO( participants will be punished to the fullest extent of the law ) 20:08
lizmat well, I don't want too many people to attend: I want jnthn just for myself for 2 days :-) 20:09
FROGGS *g* 20:10
PerlJam lizmat: feather.perl6.nl <--- meet near feather and Juerd :) 20:13
lizmat Ok, that's a good idea: I hope Juerd will agree :) 20:14
Juerd??
timotimo hmm. my parents live rather close to the .nl border ... 20:17
lizmat timotimo: would that make it easier for you to attend? 20:19
20:19 bruges_ joined 20:21 bruges left
timotimo depends strongly on the date. after exams or during? 20:22
lizmat so what would be good for you? 20:23
masak ok, I think I found the release: 5.10.0 -- perldoc.perl.org/5.10.0/perldelta.h...imisations 20:25
timotimo don't make it all up to me :)
masak that "Trie optimizations" thing sounds very much like it.
lizmat Q to people living in the US: would it make sense to have the workshop in Iceland ?
masak I'm not 100% sure, though.
dalek kudo-star-daily: 585bf62 | coke++ | log/ (5 files):
today (automated commit)
20:26
20:26 notjack left
PerlJam masak: ask demerphq on #p5p. I think he's the guy who did it. 20:27
20:27 notjack joined
dalek rl6-roast-data: 9bb2131 | coke++ | / (3 files):
today (automated commit)
20:27
[Coke] huh. no changes in the daily run for either rakudo since yesterday. I thought I broke something.
PerlJam oh, yes. It even says so on that page you mentioned.
20:27 berekuk left 20:28 berekuk joined
[Coke] do we have a document in rakudo anywhere that marks things experimental? 20:28
Juerd lizmat: lizmat> Ok, that's a good idea: I hope Juerd will agree :) <-- To what?
lizmat to have gist.github.com/lizmat/6177720 near feather ? 20:29
20:29 BenGoldberg joined
masak what would be the advantage of having it near feather? 20:30
lizmat warm feelings ?
:-)
BabsSeed lizmat: I'd be tempted if it was close enough yeah
I really want to get into perl6 in the near future 20:31
lizmat into perl6 as in contributing to its development ?
timotimo don't have time to check my calendar at the moment
lizmat or into perl6 as a user
?
masak here's a Markdown version of the same abstract: gist.github.com/jnthn/696e9cbaa60fa86b8952
BabsSeed lizmat: Module author/docs contributor probably 20:32
lizmat documenting NQP / QAST would be very beneficial indeed
:-)
Juerd lizmat: Feather will soon be in a data centre... But currently it's still in Dordrecht.
lizmat: How many participants are expected?
masak this course is for more-than-module-authors, though.
lizmat max 12 people 20:33
20:33 Vlavv left
BabsSeed Oh 20:33
masak it's for compiler hackers-to-be.
[Coke] it's for internals you say?
lizmat yes
[Coke] Definitely sounds interesting. 20:34
masak aye, see abstract.
BabsSeed Not sure I'll be able to commit to core language development, I'd be interested in working on something like Catalyst
masak gist.github.com/jnthn/696e9cbaa60fa86b8952
lizmat My line of thought was this:
masak BabsSeed: I'm sure you'll be able to find people here to collaborate with on something like that.
BabsSeed: they may or may not be awake or active right at this moment, though.
20:35 xenoterracide left
BabsSeed masak: I hope so 20:35
lizmat 1. I'm frustrated by not being able to contribute to rakudo efficiently because of lack of docs/knowledge/background in NQP / QAST, etc
Juerd lizmat: Our new office has a meeting room and some desks :). And it's really close to where feather currently is. Also, feather will probably move to our new office eventually.
lizmat 2. I want jnthn to teach me this in a 2 day workshop
Juerd lizmat: There are two hotel nearby.
s/hotel/hotels/
lizmat 3. then why keep it just for me?
slava where is this and when? 20:36
lizmat well, the when is late August / September
BabsSeed lizmat: I have OCD, documentation is what I do :P
lizmat trying to figure out a good period for maximum attendance
personally, I can be there at most any time in August /Sep 20:37
BabsSeed++
jnthn is more restricted
[Coke] I would vote for september, if I could figure out how to get there.
Juerd lizmat: A weekend? Work days?
lizmat with other $dayjob work
BabsSeed You probably want at least 21 days if its eekdays
[Coke] I assume you're trolling for attendees at the moment? ;)
lizmat Juerd: don't known yet
BabsSeed so people can get vacation :P 20:38
weekdays*
lizmat [Coke]: I wouldn't call it trolling
Juerd lizmat: If it's a weekend I can accommodate workspace, but during weekdays not really.
lizmat Juerd: thank you, so noted!
Juerd Also, the office building is still mostly empty so if small groups like to have a stand-up meeting in a secluded space, that's entirely possible. 20:39
lizmat I'm not sure how jnthn would feel sacrificing a weekend
*about
Juerd lizmat: Well, the space is also available during week days but then we'd need to rent tables and chairs... That's annoying.
jnthn can work a weekend and have a couple of weekdays off :)
Also, finally made it to Stockholm 20:40
ingy waves o/
jnthn Swedes. They really can't run railways.
BabsSeed They cant run much
:(
Except tax collection
jnthn :P
Juerd Oh, and then there's RevSpace in The Hague. It's available 24/7 (but not for sleeping) but not quite close to Feather :)
lizmat ok, so doing it in a weekend is definitely in
geekosaur suspects they do railways better than the US does...
jnthn geekosaur: Yes, but Sweden is in *Europe*. :P 20:41
lizmat jnthn: how about Sep 14/15 ? 20:42
geekosaur jnthn: 'zactly. "can't run" is relative :p 20:43
[Coke] tickets to iceland are pricy. 20:44
jnthn Wait, we're going to run the training in Iceland?!
lizmat more expensive than say to Frankfurt or so?
jnthn Or did I get the wires crossed? :) 20:45
lizmat jnthn: it was an idea I was toying with, to get more US based people involved ?
20:45 Vlavv joined
[Coke] lizmat: ah, no. about the same. cheaper from JFK. 20:45
jnthn lizmat: It's as easy as most places in Europe for me, or probably easier than many 20:46
lizmat: I've got direct CPH - Rejkjavik flights
lizmat I figured as much :-)
jnthn mmmm...Iceland. :) 20:47
lizmat but for US people it doesn't seem to matter much, [Coke] ?
jnthn: is Iceland a + or - for you?
[Coke] it's about 100-200 cheaper (depending) when leaving from a more major airport, with no layovers.
jnthn lizmat: It's no harder travel wise and I adore the place :) 20:48
20:48 ggoebel joined
jnthn lizmat: The hardest thing will be dragging myself away after the course. :) 20:48
lizmat: So a + I guess
There's nothing I have to get to by the 16th so no conflict that side fo the dates 20:49
12th/13th there's a currently unbooked but scheduled-if-anybody-books-it course deliv.
But an actual booked delivery will always beat a scheduled-but-unbooked one of course 20:50
So very likely the dates can work.
arnsholt Venue-wise, I could probably get space at the Uni. of Oslo over a week-end for a hackathon 20:51
lizmat ok, so let's assume the dates will be 14/15 September
arnsholt Not as awesome as Iceland though =) 20:52
lizmat arnsholt: thank you, noted
well, Iceland would be nice, but if the tickets there are too expensive for people to get there 20:53
and in Iceland I don't have any local contacts
jnthn Aye...it's only a good idea if it is a net win on participatability
[Coke] iceland shaves a few hundred off the price, but I still won't be able to make it, so don't count me in. 20:54
lizmat [Coke]: are the dates a problem?
[Coke] lizmat: nope. september looks pretty open. 20:55
masak rn: class X {}; my $y = set X.new; say $y.pick.^name 20:56
camelia rakudo 42758c, niecza v24-88-g1f87209: OUTPUT«Str␤»
masak sets still only take Str elements, eh?
lizmat [Coke]: so the price would be a problem?
*ticket price
[Coke] lizmat: ay. 21:00
21:06 konundra left
moritz would be interested in attending, and of course would love something not too far away from .de 21:11
21:12 stevan_ left
timotimo isn't really the flying type 21:12
arnsholt If we do end up in Oslo, you can take the ferry from Kiel =)
moritz usually prefers rails too
lizmat I'm also considering Amsterdam, Frankfurt or Paris, because of their big hubs and good train connections
moritz Frankfurt! 21:13
arnsholt Yeah, those are easy to get to
timotimo frankfurt would be very good for me personally
and cheap
lizmat I see also for moritz
jnthn can do Frankfurt by train or plane :)
lizmat I guess I should contact the people of Frankfurt.pm 21:14
21:14 skids left
jnthn
.oO( Can we get a Perl 6 thing onto a schedule in Frankfurt, though? :P )
21:15
21:15 jlaire joined
leont Frankfurt is like the least interesting hub in Europe, which is either a good or a bad thing ;-) 21:15
masak jnthn: and will it be sweltering hot there? hm, probably.
lizmat last year's heat in Frankfurt was extraordinary
I wouldn't expect it to be much hotter than 25 degrees max there 21:16
jnthn Yes, I would prefer Iceland temperatures :P
21:16 berekuk left
moritz and it was earlier in the year too, no? 21:16
August vs. September
lizmat weatherspark.com/averages/28638/9/...en-Germany 21:17
moritz has de.wikipedia.org/wiki/Frankfurt_am_Main#Klima open
lizmat more like 20 around that date
[Coke] checks with the wife, and anything in that date range is fine. whee.
lizmat ok, I guess we need a venue in Frankfurt then 21:19
moritz woah. A non-zero chance to meet [Coke]++ in person
21:19 simonl13 joined 21:20 simonl13 left
moritz but now: sleep. 21:20
lizmat gnight moritz!
masak dream of non-zero chances and around-20 temperatures! 21:21
lizmat jnthn: if getting a venue in Frankfurt for 12/13 would be easier, would that also work for you? 21:23
jnthn lizmat: That could be less easy
lizmat ok, so 14/15 weekend would be best for you
[Coke] commutes
jnthn lizmat: I seem to have Mon-Wed that week booked, so it'd depend on getting an evening flight.
lizmat and I guess for most participants ?
jnthn lizmat: 16th/17th is open.
lizmat ah, good point
ok, so either 14/15 or 16/17 21:24
Sep
jnthn yeah
lizmat I'll post a mail on Frankfurt.pm to see if they can help us find a venue for those dates 21:25
jnthn 9th-11th is marked up as Goteborg, which I dunno if I can get an evening flight to Frankfurt from.
masak probably yes, but better check. 21:26
21:27 berekuk joined 21:32 stevan_ joined, stevan_ left, stevan_ joined
lizmat mail sent to Frankfurt.pm 21:34
tadzik: would 14/15 work for you? 21:37
21:41 itz left 21:43 fridim__ joined
lizmat gnight #perl6! more on RaNIW tomorrow 21:48
21:48 dmol left
lizmat Rakudo and NQP Internals Workshop, 14/15 Sep 2013, Frankfurt, Germany 21:48
sleep& 21:49
21:52 spider-mario left 21:54 vk_ left, ggoebel left 22:04 alester left 22:10 dorlamm joined 22:11 franek joined, franek left 22:13 raiph left
jnthn 'night, #perl6 22:13
22:18 FROGGS left
masak 'night, #perl6 22:27
22:28 notjack left 22:31 dorlamm left 22:38 skids joined 22:41 fgomez left 23:01 fridim__ left 23:14 raiph joined
Util Ulti: I just wrote the "Perl5 -> Perl6 regular expression translator" that you asked about: 23:23
raw.github.com/Util/Blue_Tiger/mas...e_regex.pl
It does not handle every bit of perlre yet, but I think it translates all of "the database of curated regex". 23:24
Just let me know if I missed anything that you have immediate need of.
23:25 berekuk left
Util ( Earlier conversation: irclog.perlgeek.de/perl6/2013-08-07#i_7420578 ) 23:25
23:27 btyler left 23:31 FROGGS joined 23:33 zwut00 left 23:38 FROGGS left 23:44 bluescreen10 left 23:54 ajr_ left