»ö« 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 c/redesign: 4877afe | Mouq++ | htmlify.p6:
Rewrite find-definition to be single-pass
00:55
xenoterracide privatepaste.com/438b8b19fd github.com/xenoterracide/rakudo/co...nnotations 01:13
the first link contains an error on make, how can I make my modification apply? 01:14
s/apply/build
Mouq I'm getting this weird feeling that EVAL and start don't mix well. Due to the fact that it segfaults if two things are EVALed at the same time 01:37
(On Moar)
Mouq m: my $long-code = (1 xx 500).join(' + '); await start({EVAL $long-code}) 01:41
camelia ( no output )
Mouq m: my $long-code = (1 xx 500).join(' + '); say await start({EVAL $long-code})
camelia rakudo-moar b43091: OUTPUT«500␤»
Mouq m: my $long-code = (1 xx 500).join(' + '); say await start({EVAL $long-code}), start({EVAL $long-code}) 01:42
camelia rakudo-moar b43091: OUTPUT«(signal )»
Mouq ^^
colomon probably already been here, but just in case: corsix.github.io/dynasm-doc/index.html 02:49
Timbus man im excited to see a jit idea again after all these years 03:16
Timbus noo i meant that i really like rurban's perl 5 jit too! 03:19
segomos_ hmm i get '16' when i do a $*SCHEDULER.loads.say .. S17 seems to indicate that isn't desirable. not sure how to figure out what is causing the delays, any clues? 04:07
is there a way to increase what the scheduler can do at once? 04:16
lizmat morning #perl6! 05:26
segomos_: .loads is currently in the repair shop, more or less 05:27
pending spec evaluation
dalek kudo/nom: 0eb8b04 | (Rob Hoelz)++ | src/core/Process.pm:
Add $*PROGRAM

  $*PROGRAM_NAME still needs to be removed, but there a few tests
in roast that need to be cleaned up first
05:52
kudo/nom: 61eaba6 | lizmat++ | src/core/Process.pm:
Merge pull request #281 from hoelzro/hoelzro/special-var-program

Add $*PROGRAM
dalek rl6-bench: c2fa1bc | (Geoffrey Broadwell)++ | perl6/rc-man-or-boy-test:
Get rid of extra 'sub's in perl6-rc-man-or-boy-test

Also do the small optimization of changing '=' to ':=' to match nqp.
06:09
lizmat commute to YAPC::NA& 06:18
dalek c/redesign: f1f0d9f | Mouq++ | / (5 files):
Hack categories into type-graph.txt
06:45
c/redesign: 6de05ab | Mouq++ | / (3 files):
Get redesign good enough to be merged
Heuristic branch merge: pushed 50 commits to doc by Mouq
Mouq .tell moritz My old computer died; can you authenticate me for syncing doc.perl6.org again? ssh public key in PM 06:57
yoleaux Mouq: I'll pass your message to moritz.
dalek c: 1eef7a2 | Mouq++ | / (2 files):
Unbust p6doc
07:15
Mouq doc.perl6.org updated 07:16
moritz \o/ 07:17
yoleaux 06:57Z <Mouq> moritz: My old computer died; can you authenticate me for syncing doc.perl6.org again? ssh public key in PM
dalek c: eeef352 | Mouq++ | lib/HomePage.pod:
Comment out Module page reference
07:19
jnthn Mouq++ 07:20
Mouq: It seems the links on the homepage are busted? 07:21
Go to language rather than langauge.html, for example
FROGGS morning #perl6
moritz or language/ needs an index.html 07:22
FROGGS jnthn: do you have to quack&hack the r-j* problems this evening?
Mouq jnthn: Yeah, I noticed that too, fixing
dalek c: f5e984f | Mouq++ | lib/HomePage.pod:
Make index links go straight to the .html

Since doc.perl6.org server expects them to be in /index.html otherwise
FROGGS jnthn: I slipped the word 'time'... it is clearly too early :o) 07:24
moritz Mouq: for symmetry, it might be nice to have an 'All' link (same as doc.perl6.org/type.html) next to Basic/Composite/Domain-Specific/Exceptions 07:25
Mouq++
very, very nice
jnthn FROGGS: maybe, but getting rm* clean is at least as important...or ist that done already? 07:26
FROGGS jnthn: I need to reset the lwp-simple version back to HEAD^ and test again... but I can't imagine that the failing test will be clean then 07:27
dalek c: f7c8b4f | Mouq++ | htmlify.p6:
Add "All" section to sub-menus
07:32
Mouq smls++ again for imgur.com/a/y1dHo 07:33
There's still work to be done, but as it is, it's an improvement over what we had before, IMO 07:34
jnthn agrees
Mouq++ for working on it, smls++ for design 07:35
Mouq sync'd 07:36
sleep&
sergot morning o/ 07:37
FROGGS morning sergot 07:39
moritz Mouq++, smls++ 07:40
and yes, definitive improvement over before
Ven Oh, "int main(){(([](){})());}" is valid c++ 08:05
I guess larry wall wandered around there ...
jlaire or just [](){}(); :) 08:41
Ven jlaire: [[(]()))]. 08:46
(that means : you must be fun at parties) 08:47
jnthn std: [](){}() 08:50
camelia std 0f2049c: OUTPUT«ok 00:01 125m␤»
jnthn :)
moritz m: $!#aq4#$Q#@%*(&@#$!$%
camelia ( no output )
jnthn :P 08:51
timotimo it's easy if the comment character comes so early :P
jnthn yeah, was gonna say... so comment... :P
thistusooa perl6: say 3; 09:01
camelia rakudo-jvm 61eaba: OUTPUT«(timeout)»
..rakudo-{parrot,moar} 61eaba, niecza v24-109-g48a8de3: OUTPUT«3␤»
jnthn Why do people always pick 3? 09:03
:)]
moritz rp, rm, niecza, timeout: pick 3 :-) 09:04
FROGGS *facepalm* 09:07
jnthn: I know why my r-m* is not clean
FROGGS star refers to a MIME::Base64 from 2012, while there are a lot of updates since then 09:08
masak good antenoon, #perl6 09:09
moritz \o masak
FROGGS and it seems that I messed with it here: github.com/rakudo/star/commit/4990...fddae864d3
wow, the mentioned sha1 is from Jan 2011 09:11
jnthn FROGGS: Oh, so no bugg? 09:12
FROGGS jnthn: well, there still is a bug, and also a pretty old work around
==29549== Syscall param sendmsg(mmsg[0].msg_hdr) points to uninitialised byte(s) 09:19
...
==29549== by 0x4F71AD7: MVM_io_resolve_host_name (in /home/froggs/dev/star/work-m/rakudo-star-2014.05/install/lib/libmoar.so)
FROGGS ahh, nvm, that is just a bug in valgrind... 09:30
timotimo will probably have some cute benchmarks for you soon 09:54
timotimo huh, in these benchmarks, rakudo-parrot/2013.06 beats a completely up-to-date rakudo-parrot in a bunch of benchmarks 10:23
timo@schmand ~/p/bench (master) [1]> perl6-m -e 'for ^32 -> $i { for ^32 -> $j { $i + $j }; 1 }; 1' 10:26
Spesh: failed to fix up handlers (170, -1, 192)
not so good for the benchmarks :S
t.h8.lv/p6bench/2014-06-18-all.html 10:27
kind of amazing that the concat benchmarks are in favor of moarvm; must be because of the excellent start-up time 10:28
interesting that rakudo-moar overtakes nqp-moar on the postwhile_nil_native benchmark 10:29
timotimo huh, 2013.06 rakudo-parrot starts up faster than current rakudo-moar does? o_O 10:34
ah, that was a cold cache vs a hot cache.
2013.06 rakudo-parrot does say 1 in: 0.28user 0.07system 0:00.36elapsed 98%CPU (0avgtext+0avgdata 221112maxresident)k 10:42
current rakudo-parrot does say 1 in: 0.40user 0.09system 0:00.49elapsed 99%CPU (0avgtext+0avgdata 290860maxresident)k 10:43
current rakudo-moar does say 1 in: 0.29user 0.03system 0:00.33elapsed 99%CPU (0avgtext+0avgdata 128308maxresident)k
(and perl5 does "say 1" in an unmeasurable amount of time and only 2 megabytes of ram, but that doesn't load any features ...) 10:50
hmm. startup speed and speed in general even before the jit kicks in is still a very valuable target if we want to offer our users a good tool for short commandline snippets. 10:51
not quite sure how fast our jit is going to kick in ...
i should have a look at the timezone thingie we do at startup time again; last time i looked it was responsible for a sizable chunk of start-up time. 10:53
get-local-timezone-offset, that is
moritz masak++ strangelyconsistent.org/blog/boxes-and-pebbles
timotimo hm, the get-local-timezone-offset calculation takes only 0.01s out of 0.29s start-up time all in all 10:56
psch hi #perl6 11:04
jnthn timotimo: Dunno if lizmat++ already patched this, but our startup time took a bit of a hit this month due to the Inc.pm stuff 11:14
jnthn timotimo: Please file a Moar issue for the spesh fixup bug; I'll look at that tonight 11:24
masak I strongly encourage people to play around with gist.github.com/masak/f865b7d9dd33e535b501 and post any modifications/improvements they make. 12:03
donaldh r: Any ~~ True 12:30
yoleaux 17 Jun 2014 17:27Z <[Coke]> donaldh: Thanks for perservering and getting the eval server stuff working for me. Having these tests run in a fraction of the time makes it much more usable.
camelia rakudo-{jvm,moar} 61eaba: OUTPUT«Potential difficulties:␤ Smartmatch against True always matches; if you mean to test the topic for truthiness, use :so or *.so or ?* instead␤ at /tmp/tmpfile:1␤ ------> Any ~~⏏ True␤use of uninitialized value of …»
..rakudo-parrot 61eaba: OUTPUT«Potential difficulties:␤ Smartmatch against True always matches; if you mean to test the topic for truthiness, use :so or *.so or ?* instead␤ at /tmp/tmpfile:1␤ ------> Any ~~⏏ True␤use of uninitialized value of type…»
[Coke] perhaps we could collapse the responses if they're identical to the length of the response we allow. 12:33
donaldh r: my $x = Any or True; ?$x 12:34
camelia ( no output )
donaldh r: my $x = Any or True; say ?$x
camelia rakudo-{parrot,jvm,moar} 61eaba: OUTPUT«False␤»
donaldh Oh, does = have higher precedence than or ? 12:35
r: my $x = (Any or True); say ?$x
camelia rakudo-{parrot,jvm,moar} 61eaba: OUTPUT«True␤»
timotimo t.h8.lv/p6bench/2014-06-18-all-56.html 12:39
carlin is the module smoke tests report down? 12:41
tadzik apparently so 12:42
it could maybe use a mirror 12:43
colomon's not here either :)
those two cases may be related
carlin ah right, his laptop was getting fixed 12:44
dalek kudo-star-daily: f794cf7 | coke++ | log/ (14 files):
today (automated commit)
12:48
[Coke] looks like autounfudge isn't working. yay, something to hack on during the very long car trip. :) 12:56
carlin autounfudge is fudged 13:05
moritz t/spec/S32-io/IO-Socket-Async.t (Wstat: 0 Tests: 6 Failed: 1) Failed test: 5 13:12
donaldh r: my $x = Any || True; say ?$x 13:20
camelia rakudo-{parrot,jvm,moar} 61eaba: OUTPUT«True␤»
donaldh r: my $x = Any // True; say ?$x
camelia rakudo-{parrot,jvm,moar} 61eaba: OUTPUT«True␤»
donaldh r: my $x = Any or True; say ?$x
camelia rakudo-{parrot,jvm,moar} 61eaba: OUTPUT«False␤» 13:21
donaldh There was me thinking that or was a synonym for ||
Spec says loose or
moritz my $x = Any or True;
is parsed as
(my $x = Any) or True
moritz that's the 'loose' 13:21
the precedence is looser than = 13:22
timotimo aye, if you want tighter or, you use ||
donaldh Yeah. It'll cause a lot of thinkos
timotimo it's for stuff like 'do some stuff or die "error!"'
moritz donaldh: it's actually for preventing a big class of thinkos
my $res = dostuff or die "OH NOEZ" 13:23
donaldh: the knowledge when to use || vs. or is carried in idioms
donaldh Yep. 13:24
thx
Well here's a fix for one of those thinkos: github.com/rakudo/rakudo/pull/282 13:25
dalek kudo/nom: 77698d2 | (Donald Hunter)++ | src/core/Process.pm:
Fix 'or' thinkos.
13:26
kudo/nom: bcd1861 | timo++ | src/core/Process.pm:
Merge pull request #282 from donaldh/process

Fix 'or' thinkos in Process.pm
timotimo good catch
spread over many, many lines, too
moritz donaldh++ 13:27
actually that's something that could warn
useless use of 'or' in sink context
masak aye. 13:29
my pragmatic rule is that I use the symbol forms whenever I'm dealing with expressions, and the word forms whenever I'm dealing with statements.
that's a simplification, but it seems to hold up.
moritz ... but only if the RHS is a constant expression
(re warning) 13:30
masak oh?
moritz my $x = open(...) or die "blerg!" 13:31
shouldn't warn about useless use of 'or'
masak doesn't have more to do with side effects than with constancy?
a referentially transparent function call would also be quite useless.
moritz aye, but that would be constant-folded, I believe 13:32
masak: for a specification POV, you're right that it's about side effects 13:33
masak: but we can only know that an expression is free of side effects when it's a pure expression or a constant
masak *nod*
moritz (so far)
moritz whistles some tunes from Knutsen&Ludvigsen 13:37
donaldh I recall there was a discussion about install layout a few days ago but I cannot find it. 13:39
Did anyone make a proposal for a better layout, rather than just following what parrot does?
FROGGS donaldh: there in an nqp issue about that 13:43
donaldh FROGGS: This one? github.com/perl6/nqp/issues/154 13:47
On JVM it would be good to separate the Java classpath from the module lookup. During bootstrap, nqp relies on the Java classpath containing module directories. 13:48
I'm looking at this just now so could work on a better layout at the same time. 13:49
Also don't know whether it is stylistically better to have -D options for the JVM or add command-line options to nqp and perl6 13:50
I guess if the solution is JVM specific then -D might be preferred. But if it's something shared by backends then it should be a command-line option.
FROGGS donaldh: yes, that one
sergot rakudo release tomorrow! please update the Changelog :) 14:14
FROGGS sergot++ 14:16
:P
hoelzro morning #perl6! 14:26
sergot hoelzro o/ 14:27
m: say <a b> (|) <c d> 14:29
camelia rakudo-moar 61eaba: OUTPUT«set(a, b, c, d)␤»
timotimo m: say <a b> (|) <b a> 14:31
camelia rakudo-moar 61eaba: OUTPUT«set(a, b)␤»
sergot m: say <a b> (|) <> 14:33
camelia rakudo-moar 61eaba: OUTPUT«===SORRY!=== Error while compiling /tmp/pQdAjeNSBs␤Unsupported use of <>; in Perl 6 please use lines() to read input, ('') to represent a null string or () to represent an empty list␤at /tmp/pQdAjeNSBs:1␤------> say <a b> (|) <…»
sergot m: say <a b> (|) < >
camelia rakudo-moar 61eaba: OUTPUT«set(a, b)␤»
sergot m: < <> >.perl.say 14:36
camelia rakudo-moar 61eaba: OUTPUT«"<>"␤»
sergot m: <<>>.perl.say
camelia rakudo-moar 61eaba: OUTPUT«()␤»
timotimo m: <<<>>>.perl.say 14:39
camelia rakudo-moar 61eaba: OUTPUT«Nil␤Cannot call 'Real'; none of these signatures match:␤:(Mu:U \v: *%_)␤ in method Real at src/gen/m-CORE.setting:3737␤ in sub infix:<>> at src/gen/m-CORE.setting:4264␤ in block at /tmp/EpG3lO7fYG:1␤␤» 14:40
atroxaper How can I get value of variable by its name? Something like $('a'); 14:44
I have variable name from signatur.params
FROGGS m: my $a = 42; say ::('$a') 14:45
camelia rakudo-moar bcd186: OUTPUT«42␤»
atroxaper :: ? 14:46
FROGGS indirect lookup
atroxaper Hm... Works.
FROGGS it is the same like: $?PACKAGE.WHO<$a>
m: my $a = 42; say $?PACKAGE.WHO<$a> 14:47
camelia rakudo-moar bcd186: OUTPUT«(Any)␤»
FROGGS hmmm
sergot m: my $a = '$b'; my $b = 1; say ::($a); 14:50
camelia rakudo-moar bcd186: OUTPUT«1␤»
dalek ast: 8ed8c3b | (Rob Hoelz)++ | S (4 files):
Use $*PROGRAM instead of $*PROGRAM_NAME

Bring roast up to speed with S28
The following files still need to be updated, but it's out of my level of expertise:
S02-names/pseudo.t S02-magicals/progname.t
ast: d11634c | (Konrad Borowski)++ | S (4 files):
Merge pull request #44 from perl6/hoelzro/special-var-program

Use $*PROGRAM instead of $*PROGRAM_NAME
atroxaper I found it in S02
FROGGS: Thanks.
sergot: you too :) 14:51
FROGGS also helpful:
m: my $a = 42; say ::
camelia rakudo-moar bcd186: OUTPUT«PseudoStash.new("\$a", 42, "\$!", Nil, "\$/", Nil, "\$_", Nil, "GLOBALish", GLOBAL, "EXPORT", EXPORT, "\$?PACKAGE", GLOBAL, "::?PACKAGE", GLOBAL, "\$=pod", Array.new(), "!UNIT_MARKER", !UNIT_MARKER, )␤»
atroxaper wow :) 14:52
FROGGS m: use Test; say Test:: 14:53
camelia rakudo-moar bcd186: OUTPUT«("EXPORT" => EXPORT).hash␤»
FROGGS star-m: use JSON::Tiny; say JSON::Tiny:: 14:55
camelia star-m 2014.04: OUTPUT«("Actions" => JSON::Tiny::Actions, "EXPORT" => EXPORT, "Grammar" => JSON::Tiny::Grammar).hash␤»
sergot "\$/" 14:57
FROGGS an innocent match
sergot just like happy \o/ because of money :) 14:58
atroxaper FROGGS: It's really useful! Actually I miss about JavaDoc in Perl 6. Many IDE can show any possible methods for the object. And I thinks it's very helpful for beginers.
FROGGS yeah, true
xfix There are #= comments in Perl 6 for this purpose. 15:06
Except there is no editor that can read #= comments.
sergot m: say $?PACKAGE 15:07
camelia rakudo-moar bcd186: OUTPUT«(GLOBAL)␤»
atroxaper xfix: Yes, know. Now I try to write comfortable Pod::To::'Anything' transformation. And one of m goals to generate Perl6Doc like JavaDoc. 15:10
PerlJam m: class C {}; our \x = 5; say GLOBAL::
camelia rakudo-moar bcd186: OUTPUT«===SORRY!=== Error while compiling /tmp/G1joRXyZDf␤our scoped term definitions (only 'my' is supported at the moment) not yet implemented. Sorry. ␤at /tmp/G1joRXyZDf:1␤------> class C {}; our \x = 5⏏; say GLOBAL::[…»
PerlJam m: class C {}; say GLOBAL::
camelia rakudo-moar bcd186: OUTPUT«("C" => C).hash␤»
sergot atroxaper++ 15:12
atroxaper sergot: :-)
hoelzro thanks xfix and lizmat for the merges! 15:15
carlin IO::Path.copy gives the copied file weird file permissions. I'm copying a file with 0644 and the copy ends up with 7755 15:24
FROGGS carlin: perhaps there are weird defaults in MoarVM? 15:25
hoelzro so I did most of the change for $*PROGRAM_NAME -> $*PROGRAM last night 15:27
but I got stuck when it came time to figure out what it means to assign to $*PROGRAM
how should that work?
atroxaper_ Sorry, but I have one more question... If I have function with Junction like q[sub a(:$d where {$d > 2}) {}] and have q[my %h ={d => 3}]. How can I check that %h satisfies &a ? I thought about getting a Junction from each parameter of &a and check. But I don't know what can I do with Junction and value xD 15:50
ThisTusooa any(keys %h) #? 15:55
psch m: sub a(:$d where { $^d > 2 }) { }; my %h = (d => 3); say %h ~~ &a.signature # atroxaper_ 15:56
camelia rakudo-moar bcd186: OUTPUT«True␤»
perigrin
.oO(I have an unction for a function with a Junction )
psch i think that should be it; iirc $a ~~ $b calls $b.ACCEPTS($a)
m: sub a(:$d where { $^d > 2 }) { }; my %h = (d => 1); say %h ~~ &a.signature # atroxaper_
camelia rakudo-moar bcd186: OUTPUT«False␤»
psch yeah, looks good i think :) 15:57
atroxaper_ psch: Wow! Brilliant!
ThisTusooa: that method throws exception and bad case. 15:58
carlin I'm thinking that 16:01
github.com/MoarVM/MoarVM/blob/mast...leops.c#L8
should be 0x01FF?
atroxaper_ psch: why does it works only in % ~~ & order? And doesn't work in & ~~ % order....
psch atroxaper_: that's semantics of ~~. it checks if the rhs accepts the lhs 16:02
atroxaper_ psch: oh... Ok. Many thanks!
psch S03 has details under "Smart matching" 16:03
atroxaper_ It is really cognitive day)
atroxaper_ psch: I'm going to read :-) 16:04
dalek rl6-roast-data: a2172b2 | coke++ | / (6 files):
today (automated commit)
16:16
donaldh looks like we'd benefit from having a threaded version of IO-Socket-INET.t 16:29
moritz donaldh: that would be awesome 16:30
donaldh wonders how easy it will be to 'exec' in a thread on jvm or moar but still spawn a process for parrot, from the same testfile. 16:31
donaldh is too busy messing around with embedding rakudo in Eclipse right now though. 16:34
[Coke] donaldh++ #woohoo 16:46
jnthn back from teaching :) 16:47
jdv79 are there good docs on grammars and rules? I'd like to try to write a parser for a simple little data manip lang. 16:55
well, port one i have a p5 version of.
dalek p/classloading: 2187d95 | (Donald Hunter)++ | tools/build/Makefile-JVM.in:
Start removing bootclasspath
p/classloading: 7b0eabe | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/LibraryLoader.java:
Search for ModuleLoader.jar based on perl6.prefix
p/classloading: 7416a2d | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/GlobalContext.java:
Delegate to the parent classloader.
p/classloading: 3f55626 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
Temp hack to extend the classpath with install dirs.
PerlJam jdv79: S05 16:56
donaldh [Coke]: github.com/donaldh/perl6-eclipse-plugin
[Coke]: Just a prototype so far. At the moment the Eclipse bundle activator executes an embedded script. 16:58
jdv79 ok, thanks
PerlJam jdv79: There's also github.com/perlpilot/perl6-docs/bl...-intro.pod which I wrote a while back (and it's incomplete) 16:59
moritz jdv79: there are also two chapters (one on regexes, one on grammars) in the p6 book 17:04
github.com/perl6/book/
PerlJam moritz++ (for some reason I have forgotten about the book :( ) 17:05
PerlJam jdv79: oh, there's also github.com/perlpilot/perl6-docs/bl...-intro.pod for regex stuff too (also written a while back, but largely "complete" and perhaps a little dated in some areads) 17:07
er, areas
jdv79: and there are a few Advent articles on grammars: perl6advent.wordpress.com/?s=grammar 17:09
vendethiel just convinced a friend that p6 is more elegant than ruby
PerlJam vendethiel: even with the funny symbols? (those always seem to be a contentious item for some people) 17:10
vendethiel PerlJam: I convinced him thanks to static type (and hence names) checks
jdv79 thanks 17:12
how does perf compare to the perl5 regex engine?
PerlJam jdv79: slower but way more powerful (IMHO)
jdv79 the p5 module i'm looking to parse is pretty fast and it get a lot of that from leveraging the regex engine
s/parse/port/ 17:13
vendethiel Slow, yet :P
jdv79 ok, still slower. i thought since its so core to p6 it might be on a faster track in terms of perf.
vendethiel s/Slow,/Not fast,not/
jdv79: perl 6 is not finished ... especially performance-wise ... even if we're making great progress on that :) 17:14
PerlJam jdv79: If you had something that used P5's Parse::RecDescent, you may see a performance boost by porting it to P6 grammars ;-) 17:17
nwc10 iiiinteresting
is it viable to make a convertor from Parse::RecDescent to Perl 6 rules?
has Damian done that yet? 17:18
vendethiel PerlJam: really ?
PerlJam vendethiel: maybe. I haven't kept up with changes to PArse::RecDescent, but the last time I used it, it was quite slow. 17:19
jdv79 its using a combo of a recursive regex and hand built code to do the parsing. 17:35
its also using the regex engine to do the application but i forget exactly how
anyway, lots of good info - thanks
i was going to try to use Conway's new parser, I think its Regexp::Grammars, but at the time p5 broke it so I didn't look into it. 17:36
segomos_ this one isn't very good 17:56
oops
jnthn
.oO( nope, wasn't :P )
17:58
[Coke] donaldh++ # I will try that out when vacation starts :) 18:09
segomos_ jnthn: i discovered that if i do $*SCHEDULER.load that with one request i end up with '16' as the .load and that all processing ceases, is there something i can do to increase that number or handle whatever is going on in $*SCHEDULER and resume processing? 18:14
PerlJam y 18:15
ww
jnthn segomos_: Hm, I think 16 is the max number of threads. That implies that somehow they all hung... 18:18
But that sounds odd.
Can try putting a ThreadPoolScheduler instance into $*SCHEDULER at program start with a higher max threads... 18:19
segomos_ i'll give it a shot 18:20
that makes the jvm work, i need to test to see if i'm leaking promises or something else is happening 18:24
masak someone who did a convertor from Parse::RecDescent to Perl 6 would hit the following roadblock: the data hierarchies returned (in %/ and $/, respectively) are different, and automatically porting access into them is probably Hard. 18:40
timotimo aaw :( 18:41
is there something that's inherently better about the RecDescent structure?
masak yes, I felt that when I was using it. 18:43
but it was a long time ago.
timotimo it could be possible to build a recdescent-compatible parser in nqp, no? 18:47
nwc10 timotimo: yes, until you get to this bit: metacpan.org/pod/Parse::RecDescent#Actions 18:56
An action is a block of Perl code which is to be executed (as the block of a do statement) when the parser reaches that point in a production.
so you're getting to V5 territory
but it might just fly
nwc10 in that, it might stand a chance as a 90% solution, as my hunch is that the code within typical actions wouldn't be excessively "funky", so stands a fighting chance of being parsed by V5 19:00
masak aye.
I'm bummed that we don't have a good story for re-entrant regex matching, whether in code blocks in regexes or in action methods for grammars. 19:01
at least one of us should have seen that one coming. I believe the spec is entirely silent on the matter.
nwc10 masak: which means that the default is "like Perl 5 does", which is, oh, wait... 19:04
:-)
PerlJam somethign that turned the grammary bits of a P::RD grammar into a P6 grammar and stubbed out places where code should go would be a good start probably. 19:16
then all we'd need would be a good p5 -> p6 converter ;)
segomos_ jnthn: is there a limit to the number of threads in the queue? 19:17
PerlJam (or, as soon as v5 is fully formed, we'd just copy the p5 code block directly into the p6 code block with a "use v5;" at the front 19:19
)
[Coke] I will have sporadic access to internet for about 2 weeks starting saturday. Please don't fret if you don't see the daily updates getting pushed (they're still running) 19:21
I'll try to make sure too many don't pile up 19:22
FROGGS [Coke]++ 19:22
masak ++[Coke] 19:25
moritz hopes that spotty internet is caused by vacation 19:34
[Coke] \o/ 19:45
vendethiel suspects : Guest94944 20:30
(,)
timotimo hoelzro: glad to see your name pop up in commit notifications again :D 20:35
[Coke] hoelzro++ thanks! 20:41
hoelzro timotimo: hopefully it'll be a more common occurence in the near future =) 20:45
hoelzro I'm finishing up a project now, and my next one will be a Perl 6 one 20:45
timotimo :3 20:46
lovely
FROGGS \o/ 20:48
FROGGS panda search --github --cpan Inline 20:51
Resources on github:
Inline 1.0.0 use C-code from within Perl
Resources on CPAN:
Inline v1
\o/ also :o)
hoelzro nice 20:53
FROGGS++
jnthn \o/
FROGGS had to pull in NativeCall, Compress::Zlib and HTTP::UserAgent into panda for that though 20:54
now I need to implement installing from CPAN (which is not much work left), and then I need to convince tadzik++ :o) 20:55
jnthn Could we use Panda to install the things it needs to install from CPAN? :) 20:56
FROGGS hehe 20:56
FROGGS like Shell::Command it must be in its repo, or..., we hardcode the url of the tarballs and hope there is a wget and gzip tool on the machine 20:58
:o)
FROGGS rakudo star @moarvm would be clean when this PR get applied: github.com/cosimo/perl6-lwp-simple/pull/33 21:25
moritz FROGGS: merged. 21:27
FROGGS \o/ 21:28
moritz: github.com/cosimo/perl6-lwp-simple/pull/32 :D
moritz++ btw
FROGGS I always forget that you have a commit bit there 21:29
moritz too 21:44
psch neither valgrind nor ASAN nor trying to follow what happens in memory help so far - 32bit moar can't handle Scalar as a type object for reasons beyond my current understanding... 21:56
psch i'll get myself a 64bit vm for things that aren't trying to figure out that segfault i think 21:57
FROGGS psch: a few minutes ago jnthn++ fixed an issue about istype optimizations...
so you could pull and make install MoarVM, without to reinstall nqp or rakudo 21:58
without the need to*
psch FROGGS: i'll pull and rebuild, thanks for the heads-up 21:59
FROGGS psch: if that does not help... can you no-paste a code snippet that shows the problem? I have a 32bit VM somewhere
psch gist.github.com/peschwa/863b4d839e0024388052 there's a bunch of stuff i tried here 22:00
FROGGS Invalid read of size 4 <-- that is interesting 22:01
I'll take a look tomorrow... gnight
psch thanks FROGGS++, it's definitely beyond my knowledge of moar and c in general 22:02
jnthn psch: Please try applying this patch to moar: gist.github.com/jnthn/c885ee5263406d17e3d0 22:06
psch: Actually, updated version there now 22:08
psch jnthn: the first version fixed the most basic case, i.e. 'say Scalar' 22:11
i'm building with the current one right now
i guess i'll run spectest now?
jnthn Can do; I've got a run going here too 22:12
psch welp, it's gonna be some 15 minutes or so for me
i'll report about that tomorrow though, now's sleep & 22:15
jnthn Well, Moar release is now-ish, but if this patch looks good for my run I'll include it. 22:16
psch oh, alright, if you need my test results i can stay up a bit 22:17
i gotta rebuild rakudo too though, i'm a bit behind there. e.g. the $*PROGRAM_NAME deprec didnt arrive here yet
jnthn psch: OK. It looked good here, fwiw. 22:32
masak 'night, #perl6 23:01
psch g'night masak 23:02
jnthn: fair to say 15 minutes was a bad guess; i'm in S14 now, looks clean afaict
jnthn psch: OK, thanks 23:03
psch: I think that's enough to know.
psch alright, i'll leave it running and check back tomorrow but will be afk for now, night o/ 23:04
jnthn 'night 23:06
timotimo Yay for glowing bear 23:16