»ö« 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:11 ajr_ left 00:12 Psyche^_ joined 00:15 jnap joined 00:16 Psyche^ left 00:33 lizmat left 00:43 araujo left 00:44 araujo joined, araujo left, araujo joined
ingyfoo japhb: looks like I don't have to :) 00:46
00:46 ingyfoo is now known as ingy 00:47 xinming left, ingy left, ingy joined 00:50 stevan_ left, xinming joined, Shellcat joined 00:55 stevan_ joined
japhb__ heh 00:56
01:12 labster joined 01:28 risou_awy is now known as risou 01:35 araujo left 01:40 wrp6 joined 01:45 risou is now known as risou_awy 01:46 pmurias left 01:50 jnap left 02:04 johnny5_ left 02:05 johnny5_ joined
BenGoldberg So, does anyone think that this bit of perl5 code: scsys.co.uk:8002/273932 is insane? 02:06
02:10 Shellcat left
TimToady apparently :) 02:22
02:53 eternaleye joined
BenGoldberg Well, besides me ;) 02:59
03:04 risou_awy is now known as risou 03:25 raiph joined
BenGoldberg r-p: my $c = { say $^a }; $c.(1) 03:39
camelia rakudo-parrot 2a0f6c: OUTPUT«1␤»
BenGoldberg r-p: my $c = { say @^a }; $c.(1)
camelia rakudo-parrot 2a0f6c: OUTPUT«1␤»
BenGoldberg r-p: my $c = { say \^a }; $c.(1)
camelia rakudo-parrot 2a0f6c: OUTPUT«===SORRY!=== Error while compiling /tmp/TpEFTkQ0jX␤Undeclared routine:␤ a used at line 1␤␤»
BenGoldberg r-p: my $c = \a -> { say a }; $c.(1)
camelia rakudo-parrot 2a0f6c: OUTPUT«===SORRY!=== Error while compiling /tmp/awy5g8mi30␤Undeclared routine:␤ a used at line 1␤␤»
BenGoldberg r-j: sub c(\a) { say a }; c(1) 03:40
camelia rakudo-jvm 882e33: OUTPUT«Unhandled exception: java.lang.OutOfMemoryError: Java heap space␤ in (src/Perl6/Grammar.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:62)␤ in (src/vm/jvm/ModuleLoader.nqp:52)␤ in load_module␤ in ␤␤»
BenGoldberg r-p: sub c(\a) { say a }; c(1)
camelia rakudo-parrot 2a0f6c: OUTPUT«1␤»
BenGoldberg r: print «Unhandled exception: java.lang.OutOfMemoryError: Java heap space␤ in (src/Perl6/Grammar.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:62)␤ in (src/vm/jvm/ModuleLoader.nqp:52)␤ in load_module␤ in ␤␤» 03:46
camelia rakudo-parrot 2a0f6c: OUTPUT«Unhandledexception:java.lang.OutOfMemoryError:Javaheapspacein(src/Perl6/Grammar.nqp)in(src/vm/jvm/ModuleLoader.nqp:62)in(src/vm/jvm/ModuleLoader.nqp:52)inload_modulein»
..rakudo-jvm 882e33: OUTPUT«Unhandled exception: java.lang.OutOfMemoryError: Java heap space␤ in (src/Perl6/Grammar.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:62)␤ in (src/vm/jvm/ModuleLoader.nqp:52)␤ in load_module␤ in ␤␤»
BenGoldberg r: print "Unhandled exception: java.lang.OutOfMemoryError: Java heap space␤ in (src/Perl6/Grammar.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:62)␤ in (src/vm/jvm/ModuleLoader.nqp:52)␤ in load_module␤ in ␤␤"
camelia rakudo-parrot 2a0f6c, rakudo-jvm 882e33: OUTPUT«Unhandled exception: java.lang.OutOfMemoryError: Java heap space␤ in (src/Perl6/Grammar.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:62)␤ in (src/vm/jvm/ModuleLoader.nqp:52)␤ in load_module␤ in ␤␤» 03:47
03:50 risou is now known as risou_awy 03:51 risou_awy is now known as risou 03:56 xinming left 03:59 BenGoldberg left 04:00 xinming joined 04:09 risou is now known as risou_awy 04:10 xenoterracide joined 04:14 rurban joined 04:51 preflex left 04:52 preflex joined, ChanServ sets mode: +v preflex 05:02 rurban left 05:23 fridim_ left 05:24 logie joined 05:35 logie left 06:03 logie joined 06:29 logie left 06:45 araujo joined, araujo left, araujo joined 06:49 lizmat joined 06:52 lizmat_ joined, lizmat left 06:55 raiph left 07:01 [particle] left 07:02 SamuraiJack joined 07:03 woolfy joined 07:14 nnunley left 07:39 woolfy left 07:45 ponbiki joined
Woodi_ morning channel :) 07:47
07:48 Woodi_ is now known as Woodi
Woodi hmm, Parrot is quite dead, NQP (Not Quite Parrot ;) is new middleware for v6. Forget a code/design/years_of problems for a while. But maybe some Parrot part is still good for something ? Maybe some Parrot idea still looks promising for civilization ? 07:56
07:56 lizmat_ left
Woodi Parrot had problems with jit, Moarvm moved jit part to TODO - warning led should be on... 07:59
dalek p: 11384fe | dwarring++ | examples/rubyish/ (4 files):
rubyish heredocs, literal and interpolating
08:01
08:01 darutoko joined 08:14 lizmat joined 08:16 lizmat left, tobyink joined 08:35 eternaleye left 08:40 nnunley joined 08:44 nnunley left 08:46 tobyink left 09:02 PacoAir left, kivutar joined 09:07 denis_boyun joined, lizmat joined
lizmat morning from the APW 09:08
jnthn Woodi: MoarVM JIT is at the same place in the roadmap as it always has been :) 09:09
09:12 dmol joined 09:14 kivutar left, SamuraiJack left 09:23 ssutch left 09:26 kivutar joined 09:37 dmol left
moritz am I the only one who reads "rubyish" as "rubbish"? :-) 09:37
09:38 dmol joined
jnthn yes :P 09:39
09:42 darutoko left 09:53 PZt left 09:56 darutoko joined 09:59 PZt joined 10:00 PacoAir joined 10:03 spider-mario joined, dmol1 joined 10:04 dmol left 10:08 lizmat_ joined, lizmat left 10:16 denis_boyun_ joined 10:17 denis_boyun left, lizmat_ is now known as lizmat
diakopter miritz: no 10:24
10:26 isBEKaml joined
diakopter lizmat: ty for tuits 10:28
lizmat yw
10:28 nnunley joined 10:29 jaffa4 joined
jaffa4 hi 10:29
is there use lib in perl 6?
diakopter (wool<TAB> ...)
isBEKaml hey guys, what settings do you use for setting max heap in building nqp/rakudo jvm ? 10:31
I set 2GB and it still failed with OOME.
10:33 nnunley left 10:38 mtk joined
lizmat r: use lib '.' 10:41
camelia ( no output )
..rakudo-jvm 882e33: OUTPUT«Unhandled exception: java.lang.OutOfMemoryError: Java heap space␤ in (src/Perl6/Grammar.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:62)␤ in (src/vm/jvm/ModuleLoader.nqp:52)␤ in load_module␤ in ␤␤»
lizmat jaffa4: I guess not on the JVM
(yet)
10:43 isBEKaml left 10:51 pippo joined
pippo r: say (^20_000).join(',').split(','); 10:53
camelia rakudo-parrot 2a0f6c: OUTPUT«(timeout)»
..rakudo-jvm 882e33: OUTPUT«Unhandled exception: java.lang.OutOfMemoryError: Java heap space␤ in (src/Perl6/Grammar.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:62)␤ in (src/vm/jvm/ModuleLoader.nqp:52)␤ in load_module␤ in ␤␤»
pippo r: say gather {for ^10_000 {take $_}}; 10:54
camelia rakudo-jvm 882e33: OUTPUT«Unhandled exception: java.lang.OutOfMemoryError: Java heap space␤ in (src/Perl6/Grammar.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:62)␤ in (src/vm/jvm/ModuleLoader.nqp:52)␤ in load_module␤ in ␤␤»
..rakudo-parrot 2a0f6c: OUTPUT«0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 …»
10:55 Rotwang joined
Timbus need heaps more space 10:55
:3
pippo No gather and take has a problem. Cannot take all that heap space for just this say gather {for ^10_000 {take $_}}; 10:56
No gather and take has a problem. Cannot take all that heap space for just this: "say gather {for ^10_000 {take $_}};" 10:57
No. "gather" and "take" has a problem. Cannot take all that heap space for just this: "say gather {for ^10_000 {take $_}};"
10:57 PacoAir left 10:59 kivutar left
pippo jnthn: ping. 11:03
lizmat jnthn just did his first presentation at the APW, and preparing his second 11:04
don't expect much from jnthn for the next 4 hours or so 11:05
nwc10 pippo: his next presentation ends at 14:45 GMT (unless we ask too many questions and make it overrun) so it's probably best to ask after then
pippo lizmat: nwc10: Thanks 11:06
11:10 fridim_ joined 11:29 pmurias joined
arnsholt moritz: --prefix is ../nqp/install same thing happens if it's set via config.default or command line 11:31
moritz arnsholt: how is tools/build/create-jvm-runner.pl invoked? 11:32
pmurias Woodi: re some parrot design good for something, I think the "good parts" are being taken, but personally I would prefer to keep the design as far from parrot as possible
11:34 broquaint joined
arnsholt $(PERL) tools/build/create-jvm-runner.pl dev . . $(NQP_PREFIX) $(NQP_JARS) 11:35
That's $(RUNNER):
11:35 lizmat left
arnsholt Other times: $(PERL) tools/build/create-jvm-runner.pl install "$(DESTDIR)" $(PREFIX) $(NQP_PREFIX) $(NQP_JARS) 11:35
Oh. But DESTDIR is never set, for some reason 11:36
11:39 broquaint left
moritz it's something that package builders can use 11:40
11:40 isBEKaml joined
moritz arnsholt: but what's the actual call to create-jvm-runner.pl on your system which triggers the error? 11:40
11:40 broquaint joined
arnsholt Oh, derp. Sorry 11:43
tools/build/create-jvm-runner.pl install "" ../nqp/install/ /home/arne/programming/perl/nqp/install /home/arne/programming/perl/nqp/install/languages/nqp/runtime/asm-4.1.jar:/home/arne/programming/perl/nqp/install/languages/nqp/runtime/asm-tree-4.1.jar:/home/arne/programming/perl/nqp/install/languages/nqp/runtime/jline-1.0.jar:/home/arne/programming/perl/nqp/install/languages/nqp/runtime/jna.jar:/home/arne/programming/perl/nqp/install/languages/
's what happens when I try to do things before coffee 11:44
11:46 denis_boyun_ left
moritz so the problem is that Configure.pl doesn't translate ../nqp/install into an absolute path 11:46
rjbs Reading about Julia. Hey, look, hyperoperators! 11:49
11:50 denis_boyun joined 11:51 xenoterracide left
arnsholt moritz: Looks like catfile strips the .. 11:51
Inside sub install, $bindir is ../nqp/install/bin but $install_to is /nqp/install/bin/perl6-j 11:52
dalek kudo/nom: c95b6d9 | moritz++ | Configure.pl:
[Configure] make sure prefix is an absolute path, arnsholt++
11:53
moritz arnsholt: please try again after reconfigure (with --no-clean if you want) 11:54
arnsholt Cheers!
11:54 denis_boyun left
isBEKaml moritz: when building nqp, how much heap do you allocate? -Xmx2048m -Xms1024m ? 11:57
is there an env variable or something that holds this? JAVA_OPTS, maybe? (I'm still looking at your logs and building my script) :-)
12:14 denis_boyun joined 12:16 nnunley joined 12:31 risou_awy is now known as risou 12:38 rurban joined 12:40 denis_boyun_ joined
jaffa4 Where can I find Qregex? 12:40
12:41 denis_boyun left
isBEKaml what do you mean? github.com/perl6/nqp/tree/master/src/QRegex? 12:45
13:17 fridim_ left 13:27 lizmat joined, isBEKaml left 13:30 SamuraiJack joined 13:31 xinming left 13:33 xinming joined 13:41 rurban left 13:51 rurban joined 13:55 raiph joined 13:59 Chat1912 joined
Chat1912 Hi 13:59
nwc10 hi Chat1912
13:59 jnthn left
Chat1912 Do you have imvu 14:00
14:00 Chat1912 left, jnthn joined
pippo jnthn: ping 14:01
lizmat jnthn is about to give his presentation 14:02
pls check again in an hour or so :-)
pippo lizmat: thank you again. I'll wait... :-))
14:03 pippo left 14:05 broquaint left 14:06 broquaint joined 14:09 SamuraiJack left 14:12 xinming left 14:13 xinming joined 14:19 xinming left 14:20 xinming joined
arnsholt jnthn: I get an UnwindException when I do an Ops.findmethod. Is that supposed to happen? 14:24
FROGGS moritz: I tuned it a little, I am pretty happy with it: gist.github.com/FROGGS/6f8989611659551dae1f
lizmat arnsholt: jnthn is in the middle of act.useperl.at/apw2013/talk/5183 14:26
FROGGS lizmat: will it be recorded?
arnsholt Oh, right 14:27
nwc10 sadly not
arnsholt I'll prod him again later, then =D
nwc10 but I think that it will be repeated
14:33 Guest80537 joined 14:39 pdurbin joined
nwc10 he's just got to sleepsort and caused one member of the audience to crease up in supressed gigles 14:40
I don't think that she'd met it before 14:41
arnsholt Hehe. Sleepsort is a neat trick =D 14:43
masak though if you want to sort negative numbers, you have to find the minimum -m first, and then add +m to all the numbers during the sort. 14:58
and I guess sleepsort is not guaranteed to be stable -- it hits race conditions exactly when two numbers have the same magnitude.
worse than that, actually. I bet there's some threshold epsilon s.t. two numbers that are closer together than epsilon might come out the wrong order. like, can you guarantee that 3.0 and 3.000001 will be output in that order? 15:05
masak .oO( what do you mean "taking the joke too seriously"? ) :P
15:05 telex left 15:06 telex joined 15:14 Gwyxx joined 15:19 SamuraiJack joined 15:22 cognominal__ left 15:25 logie joined
TimToady always misreads 'rubyish' as 'rubbish', but wasn't going to say it because someone might take it seriously... :) 15:25
timotimo if it's rubbish, perhaps someone will go take it out 15:27
TimToady also always sees "power outrage" 15:30
masak clearly what the Hulk is suffering from. 15:31
TimToady and lots of CATION signs on the road
masak .oO( proceed with cation ) 15:33
15:36 [Sno] left
TimToady thinks the opposite of cation should be dogion... 15:36
nwc10 jnthn has now finished his talk, but I don't think that he's back at his laptop post break 15:38
15:38 [Sno] joined
nwc10 and we're now drinking the pumpkin liquor :-) 15:39
jnthn phew, survived my talk :) 15:43
15:43 tobyink joined
lizmat and what a talk it was! 15:43
jnthn not sure if I'll survive the pumpkin liqour. wtf is this stuff!
lizmat pure green
jnthn I'm still trying to decide if I love it or hate it
Problby it gets better the more you drink ;) 15:44
masak no, that's just your judgement settling down to the level of the liquor.
nwc10 jnthn: I suspect that it's base spirit + cream + pumpkin seed oil, plus some pumpkin seeds, blended
masak cream!?
nwc10 masak: baileys is booze + cream + stuff + binding agent 15:47
jnthn tastes like :)
dalek kudo/nom: 42f2a5f | jonathan++ | src/vm/jvm/core/Threading.pm:
Fix map/filter Subscribable combinators.
kudo/nom: a58b135 | jonathan++ | src/vm/jvm/core/Threading.pm:
Implement Publish.interval.
kudo/nom: 3164ca4 | jonathan++ | src/vm/jvm/core/Threading.pm:
Add :U constraint to avoid type obj attr access.
15:48 lizmat left, ajr joined
TimToady maybe you should be putting this stuff into rakudo/pumpkin for now :P 15:48
masak nwc10: I haven't really grokked baileys yet, to be honest.
15:49 ajr is now known as Guest13076
masak feels Perl 6 needs to capitalize on having async stuff 15:49
in other words, we should all do what jnthn++ is doing :) 15:50
TimToady docs?
nwc10 masak: totally. if Moore's law is now playing out as more cores, then in 10 years we will have maybe 100-fold more cores 15:52
15:52 lizmat joined
nwc10 so phones with 100+, laptops with 400+ and servers with thousands 15:52
lizmat I don;t like the word "async" much
how about "godo" ?
godo { ... }
TimToady
.oO( Perl 6: your language for running down the battery faster! )
15:53
nwc10 although as jnthn made me realise (and I hadn't figured this out for myself), existing *symmetric* multiprocessing won't scale that far
so even what we have today isn't going to work
japhb__ lizmat: async works well on my ears, but maybe because I hear it all the time.
TimToady we could use "also"...oh wait...
jnthn TimToady: I'm working on a heretical S17 that describes all this stuff. Should land in the next few days. :) 15:54
TimToady wish
lizmat and when we have to wait to long for the result of the "godo", we're doing a "godot" -)
timotimo is german windows the only windows where "documents and settings" has a localized name?
15:54 Guest13076 left
lizmat *too 15:54
geekosaur I thought most of them did that now
timotimo OK 15:55
geekosaur with some freakish stuff where it acts like a symlink to a common name
japhb__ nwc10: Yeah, last time I paid attention Moore's law was no longer about purely more cores, it was about more *types* of cores on the same die: CPU, GPU, codec, etc.
japhb__ wonders what the next trend for using transistors will be when they run out of different generally useful core types.
geekosaur moore's law is about transistors and cares now what they're doing :p 15:56
jnthn Even more cache :P
geekosaur *carees not
...
kanot tip3
TimToady someone needs to create a Perl 6 regex core
masak nwc10 (and others): I recommend www.gotw.ca/publications/concurrency-ddj.htm and then herbsutter.com/welcome-to-the-jungle/ as a kind of required reading for discussion on the present and future of concurrency.
lizmat jnthn: fwiw, I'm welcoming any changes to S17
15:56 ajr_ joined
nwc10 TimToady: wasn't that sort of what your previous employer was starting in the direction of? 15:57
TimToady well, it was a separate chip
and only really did 8-bit matching
jnthn lizmat: I'm just going to check in a S17-concurrency-jnthn.pod and let the community decide how to proceed :)
Rather than stomp on the existing one without any consensus :) 15:58
nwc10 TimToady: but that's more than enough for DNA?
timotimo japhb__: originall, moore's law is about density of transistors or something similar
rurban_ I came up with this: github.com/perl11/p2/wiki/Concurre...sign-study
japhb__ timotimo: I know. I was speaking loosely.
timotimo k
japhb__ I meant more "How it is being applied to the current pile of more usable transistors" 15:59
rurban_ Probably following Clojure-style immutable data, but with shared subkeys. The scheduler uses lock-free bags
masak rurban_: "There are essentially 2 opposing philosophies for MTP." -- and then you list 9 things... 16:00
rurban_ Yes, for each "thing" there are two opposites 16:01
Sometimes a third in the mix
16:02 colomon left
japhb__ jnthn: Would you mind linking your latest presentation(s) from jnthn.net? 16:02
jnthn japhb__: Yeah, just uploading them now
japhb__ Oh, excellent.
16:03 colomon joined
masak rurban_: ok, with your explanation it's less confusing. just noting that it's confusing as it stands. 16:03
jnthn jnthn.net/papers/2013-apw-conc.pdf and jnthn.net/papers/2013-apw-lessons.pdf
nwc10 jnthn++ 16:04
lizmat std: ||-> ($foo) {... }
camelia std 8adbc60: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix > instead at /tmp/1vV4zwzEnd line 1:␤------> ||-⏏> ($foo) {... }␤Parse failed␤FAILED 00:01 121m␤»
masak jnthn++ # composability 16:06
jaffa4 r: :name('MATCH')
masak category theory! it's everywhere!
camelia ( no output )
jaffa4 r: say :name('MATCH').perl
camelia rakudo-parrot c95b6d, rakudo-jvm 882e33: OUTPUT«"name" => "MATCH"␤»
jnthn masak: I told my CT meme too :D
masak jnthn: which one? I forget... :)
16:07 hummeleB1 joined
lizmat is that the one where jnthn misses his foot? 16:07
masak jnthn: I (provisionally) disagree that callbacks are uncomposable, fwiw. 16:08
japhb__ jnthn: I notice that you're using method-local lexical classes a lot in the concurrency implementation, especially the pubsub work. Why is that? Are you settling on any rules of thumb for making that design decision?
masak they're composable, and nested callbacks result, and they're bad because languages have poor syntactic support for them.
not because they don't compose.
TimToady callbacks compose much better on the front end than on the back end 16:09
or rather, they compose just fine, except for the composing part
FROGGS ??? 16:10
jnthn masak: cdn.meme.li/i/peanw.jpg
TimToady if you end up with three separate hunks of code, I don't see what is being composed :P
arnsholt jnthn: I get an UnwindException when I do an Ops.findmethod. Is that supposed to happen? 16:11
jnthn arnsholt: no
It typically means somewhere that shold be letting one pass through is catching it
masak jnthn: :P
jnthn: case in point: jQuery's Deferred objects are chainable, syntactically easing the pain of nested callbacks. 16:12
jnthn: the chaining *is* composition.
TimToady though arguable the callback is often inside the first hunk of code, which is why I say they compose better on the front end than the back end
jnthn masak: Yes, the point being that it's the Deferred objects are the composable thing.
masak jnthn: well, it's the same thing as nesting, really.
nesting is composition, too.
TimToady yes, I know I'm just playing with the words here like a linguist ought to :)
lizmat std: \/-> ($foo) {... } 16:13
camelia std 8adbc60: OUTPUT«===SORRY!===␤Unrecognized regex metacharacter - (must be quoted to match literally) at /tmp/nu08jesj4x line 1:␤------> \/-⏏> ($foo) {... }␤Can't call method "from" on unblessed reference at STD.pm line 54407.␤FAILED …»
arnsholt jnthn: Somewhere that should be catching it is letting it through, you mean?
lizmat std: /\-> ($foo) {... }
camelia std 8adbc60: OUTPUT«===SORRY!===␤Unable to parse regex; couldn't find final '/' at /tmp/Ayt4i4XtKD line 1:␤------> /\-⏏> ($foo) {... }␤ expecting any of:␤ quantifier␤ regex atom␤ sigmaybe␤Parse failed␤FAILED 00:01 121m␤»
FROGGS is happy to be here
jnthn arnsholt: No, you're meant to let them escape
arnsholt Oh
jnthn arnsholt: I suspect somewhere has a catch (Throwable t) { ... } that then reports the UnwindException
arnsholt It looks like it's escaping all the way to the toplevel though
jnthn When it should just let it go on through towards its target
Yeah, the other possible problem is it's trying to unwind somewhere not on the stack... 16:14
But it's usually the fist
first
arnsholt I'm calling findmethod in NativeCallOps, if it matters
jnthn Does that have a catch somewhere?
And does it have a case for ControlException that just re-throws it?
arnsholt Ooh, no it doesn't 16:15
That might be it
masak jnthn: typo on slide 20: s/syncrhony/synchrony/
jnthn ah, no it doesn't
catch (Throwable t) {
throw ExceptionHandling.dieInternal(tc, t);
}
arnsholt But I thought findmethod returned null when it didn't find the method?
jnthn There are other ways things could go wrong I guess
japhb__ typo on slide 7: whenever then please -> whenever they please 16:16
jnthn this is what I get for finishing the talk 10 minutes before giving it :P 16:17
And on 2 hours sleep
jnthn waits for more typos and will upload a version with all the fixes
16:18 logie left
masak jnthn: I'm glad to see the "keeper" object making it into the design. 16:18
FROGGS awwww, poor poor jnthn :o)
16:18 Guest80537 left
japhb__ jnthn: While you're waiting, any thoughts on my method-local lexical class question above? 16:18
jnthn japhb__: It's because they are simply an implementation detail, not for direct use. 16:19
That is, you're not ever meant to talk about them.
You're only meant to talk about things as subscribables in the general sense. 16:20
FROGGS jaffa4: you had the chance to test froggs.de/perl6/rakudo-star-2013.10-RC1.msi yet?
16:20 hummeleB1 left
arnsholt Oh, I'm calling the wrong findmethod 16:21
jaffa4 FROGGS: no chance
16:21 Guest80537 joined
lizmat
.oO( too many subscribables gives you a subscribabylon )
16:21
jnthn masak: Yes, keeper seems reasonably nice way to handle the problem ;)
*:)
FROGGS jaffa4: panda should work now
arnsholt jnthn: Two different findmethods is a bit confusing, FYI =p
jnthn arnsholt: Sorry :P
In my defense, they do both find methods :P
japhb__ jnthn: I kinda thought that was your reasoning. What about hackability? Are the method-local lexical classes only for things that make no sense to subclass and extend? 16:22
jaffa4 FROGGS: I will check it in 5 minutes
arnsholt True, but I still have no idea what's the difference between findmethod(ThreadContext, SixModelObject, String) and findmethod(SixModelObject, String, ThreadContext) =)
jnthn japhb__: Yes. You'll note that some combinators are done in terms of "on" rather than a lexical class.
japhb__: The way to hack is to write a combinator that does what you want. 16:23
Maybe using the existing ones from the outside
arnsholt: The second one is certainly the one nqp::findmethod maps to
'cus tc always comes last in those 16:24
japhb__ OK. I've got a nagging feeling at the back of my head on this one, but I'm suspending disbelief until I see how it shakes out.
jnthn So the first is internaly-er :)
japhb__: I'm not to attached to those, they're mostly inspired by the way Rx factored it
jaffa4 FROGGS: Failed to remove the directory '.work\1383409485_1\lib\XML\Parser\Tiny': rmdir failed: The directory is not empty. 16:25
jnthn japhb__: Though I didn't come up with a better way yet 16:26
FROGGS jaffa4: damn, it works here :/
japhb__ Sure. But I'm willing to believe it's reasonable partially because this encourages users to get out of the subclassing comfort zone and think in terms of combinators instead. Sometimes it's the gentle push in the right direction that is the most valuable part of an API design.
jaffa4 FROGGS: why?
jnthn japhb__: I kinda want the freedom to change the combinator implementations.
FROGGS jaffa4: why? I dunno
jnthn japhb__: So I really, really mean the lexical classes as an implementation detail 16:27
japhb__ Sure, I get that. 16:28
16:28 Guest80537 left
arnsholt jnthn: Right, that's a good rule of thumb. Using that one instead fixes the immediate problem 16:28
japhb__
.oO( OK, *now* I'm putting bars on the window. )
arnsholt Now I get to where I can start debugging the CStr REPR 16:29
16:29 rurban left
jnthn
.oO( In northern europe, I'm glad they also put windows on the bars... )
16:29
japhb__ jnthn: What was the aside about promises in void context? 16:30
*sink context 16:31
masak japhb__: because it's always a good idea to save the promise...
jnthn japhb__: Wondering if async { ... } in sync context should add a .then that takes breakage and makes sure it doesn't vanish into the ether
*sink
lol
masak japhb__: if it's in sink context, then something is wrong.
jnthn: "synth context" :)
jnthn masak: It's wrong but maybe we can make it righter... :)
masak .oO( the promise is in a synth concert )
TimToady makes me think promises are just a funny-looking unthrown exception... 16:32
16:32 eternaleye joined
jnthn TimToady: Yes, when broken. 16:32
TimToady or vice versa
I promise not to tell the world if you pay me off... 16:33
lizmat
.oO( some people think promises will be kept, and some think they will be broken. It's really a bottle half full / empty discussion ;-)
japhb__ masak: I understood *why*, I just thought he might have commented at more length than was captured in the slide.
jnthn japhb__: There's not much more to it than that :)
16:33 kaare_ joined
japhb__ wants ALL THE DETAILS :-) 16:34
... especially since the talk wasn't recorded.
jaffa4 FROGGS: I could install couple of modules actually except XML\Parser\Tiny
jnthn method sink() { self.then(-> $res { if $res.status == Broken { ...do stuff... } }); }
FROGGS jaffa4: k, will check
jnthn japhb__: I didn't say much about it :)_
TimToady wants docseses!
jaffa4 FROOGS: it is short , it is much better than it was, usable. 16:35
jnthn japhb__: I'll give it again at NPW ;)
16:35 Guest4825 joined
FROGGS jaffa4: what is short? I don't get it 16:36
japhb__ NPW gets recorded, I take it? :-)
jaffa4 FROGGS: in short, it is usable
FROGGS ajj
ahh 16:37
lizmat NPW: act.yapc.eu/npw2013/ only 3 weeks from now!
16:37 Rotwang left
jnthn japhb__: I...have no idea 16:37
japhb__: Why take the risk? Visit Copenhagen!
FROGGS jaffa4: thanks for testing! I'll see what I can do about XML\Parser\Tiny, and then we'll release it
jaffa4 FROGGS: MIME\Base64.pm6 does not work either
TimToady Docs are more composable than talks. :P 16:38
jnthn TimToady: I'm working on it :P
TimToady: The talk had a slightly tighter deadline :P
TimToady just think of docs as a data structure :)
16:39 raiph left, Guest4825 left
japhb__ jnthn: If I only could do that. Maybe in years to come. 16:40
jaffa4 FROGGS: Text::Diff as well, problematical
jnthn uploaded version of conc talk with fixed typos; thanks :) 16:41
FROGGS jaffa4: but these fail due to precompilation issues 16:44
jnthn japhb__: Well, hopefully the docs will help you get somre than the talks too
There's a hackathon here tomorrow; I guess I should use it as a docathon :)
jaffa4 FROOGS: Failed to remove the directory '.work\1383410309_1\lib\Algorithm': rmdir failed: The directory is not empty. ???????
FROGG: it looks like bad directory delete command 16:45
FROGGS When pre-compiling a module, its dependencies must be pre-compiled first. 16:46
Please pre-compile C:\rakudo\.work\1383410612_2\lib/Text/Diff/OldStyle.pm
Failed to remove the directory '.work\1383410612_2\lib\Text\Diff': rmdir failed:
16:47 denis_boyun_ left
jaffa4 FROGGS: question is where is the fauilt? in panda or algoritm? 16:47
FROGGS either in panda or in the module's META.info file
16:47 raiph joined
jaffa4 FROGGS: but it says rmdir failed, bad rmdir? 16:48
dalek p: 5212954 | (Arne Skjærholt)++ | src/vm/jvm/runtime/org/perl6/nqp/ (2 files):
Implement CStr REPR on JVM.
jaffa4 FROGGS: nevertheless, should not rmdir work?
TimToady jnthn: slide14 ~~ s/form/from/
jnthn argh, after I uploaded the fixed version :P 16:49
TimToady read the other talk first
jnthn ;)
FROGGS jaffa4: it should, but I think it fails because the code before failed, which has an opened filehandle to a file which should be deleted
dalek volaj: 8a9727b | (Arne Skjærholt)++ | t/03-simple-returns.t:
Un-TODO working test.
16:50
volaj: c785176 | (Arne Skjærholt)++ | lib/NativeCall.pm6:
Decontainerize class in explicitly-manage.
volaj: 7f8b309 | (Arne Skjærholt)++ | t/02-simple-args.t:
Run CStr tests on JVM.
jaffa4 FROGGS: i see
arnsholt jnthn: I think I more or less know how to implement CArray for value types as well now
jnthn \o/
FROGGS cool! 16:51
jnthn arnsholt++
arnsholt Modulo some shenanigans with sizes, but JNA should have support for that
nwc10 arnsholt++
arnsholt I think objects should be doable based on that as well
jnthn As in CStruct?
arnsholt Yeah
Or, CStructs/CPointers in CArrays 16:52
Still mulling over CStruct, but it's definitely doable
Just have to figure out how to do it properly
16:53 zakharyas joined
TimToady btw, the s/async/wish/ suggestion was at least semi-serious 16:53
jnthn TimToady: I'm fully expecting that when I put the doc up, you're going to go through renaming some things ;) 16:54
FROGGS .oO( the author )
TimToady and I'm fully expecting you to carp about it :)
jnthn I mostly like async because it's very clear that you're doing something asynchronously... 16:55
FROGGS and it is short enough
jnthn So long as what we pick is clearly saying "and this will get on with things in the background" or so, I'll be happy enough :) 16:56
lizmat I dislike async because it is has been used with different semantics already in Perl 5
jnthn wish does nicely capture the "your wish may not be granted" aspect f it.
lizmat: Has async been used widely enough in Perl 5 to make us worry about stealing it? 16:57
TimToady isn't "async" one of the things you had to define specially because it's not obvious? :P
16:57 Rotwang joined
lizmat tuit { ... } 16:57
TimToady want { ... } 16:58
please { ... }
FROGGS maybe { ... }
TimToady sched { ... }
todo { ... }
lizmat godo { ... }
16:58 tobyink left
FROGGS +1 for async :o) 16:58
TimToady doesn't like words like "switch" and "case" that just talk about what you're talking about 16:59
16:59 jferrero left
FROGGS hmmm 17:00
TimToady agrees that asynchrony should be explicit, but not by saying "async"
FROGGS I see
TimToady errand & 17:01
lizmat aside { ... }
jnthn
.oO( errand { ... } )
jaffa4 Is npq fully comparible with Perl6> 17:02
Is npq fully comparible with Perl6?
arnsholt NQP is a subset of Perl 6
spider-mario is your question whether nqp code is valid in Perl6?
jaffa4 spider-mario: yes
nwc10 IIRC the fuller answer was "NQP syntax is a strict subset of Perl 6 syntax, but there is a difference in that NQP permits binding to variables with native types" 17:03
lizmat r: nqp::say("yes")
17:03 Guest21184 joined
camelia rakudo-parrot 3164ca, rakudo-jvm 882e33: OUTPUT«yes␤» 17:03
jnthn What nwc10 said
spider-mario I didn’t know that camelia now ran rakudo-jvm as well
jnthn There are some other semantic differences
nwc10 is that an answer for a FAQ or glossary?
jnthn nqp-m: say("Runs NQP on MoarVM too \o/") 17:04
camelia nqp-moarvm: OUTPUT«Unrecognized backslash sequence: '\o' at line 2, near "\\o/\")"␤panic␤»
nwc10 doesn't know the other differences
jnthn lol
nqp-m: say('Runs NQP on MoarVM too \o/')
camelia nqp-moarvm: OUTPUT«Runs NQP on MoarVM too \o/␤»
jnthn nwc10: Other major one is now array flattening.
*no
jaffa4 i can := is used a lot in NPQ
jnthn jaffa4: NQP doesn't have =
nwc10 jaffa4: NQP only has binding. It has no assignment
FROGGS jnthn: and the lax mode :o) (in a gist) 17:05
jaffa4 will NQP binding work well in Perl6?
jnthn jaffa4: Yes, except to natives, where Perl 6 forces
=
FROGGS: url?
jaffa4 what do you mean natives?
FROGGS jnthn: gist.github.com/FROGGS/6f8989611659551dae1f
jnthn jaffa4: int/num/str 17:06
jaffa4 I can see that subst($r, /\s*$$/, ''); works in NQP, but on in Perl6
not in Perl 5 17:07
5>>>6
masak std: 5>>>6 17:08
camelia std 8adbc60: OUTPUT«===SORRY!===␤Missing << or >> at /tmp/LzrG2JA230 line 1:␤------> 5>>>⏏6␤ expecting infix_circumfix_meta_operator␤Parse failed␤FAILED 00:01 121m␤»
jnthn seems we're moving out... & 17:09
FROGGS jnthn: have fun!
lizmat moving out as well &
17:09 lizmat left
arnsholt jnthn: Is there a way 17:10
Bah 17:11
jnthn: Is there a way for NativeCall's CArray class to specify information to be passed via nqp::compose?
17:17 nofks joined
spider-mario hm, I passed --prefix=$HOME/.perl6/ --gen-nqp to Rakudo’s Configure.pl, but then: 17:36
/usr/bin/perl -MExtUtils::Command -e chmod 755 /usr/bin/nqp-p
it doesn’t seem to take my prefix into account
17:36 nofks left
spider-mario I do have a system-wide parrot, did the build script maybe take its prefix from it? 17:37
(e.g. parrot_config) 17:38
(+via)
17:38 denis_boyun joined
retupmoca iirc, nqp-p will try to install to `parrot_config bindir` 17:40
spider-mario I will install a local parrot in my prefix, then
diakopter arnsholt: we talked about that a while back 17:43
trying to remember what was said
17:44 ssutch joined
diakopter arnsholt: ping 17:49
17:49 denis_boyun_ joined 17:50 denis_boyun left
arnsholt diakopter: Pong 17:52
diakopter arnsholt: i think he said something about 17:58
TimToady maybe we should rename "threads" to "genies" so we can have a genie pool to process your wishes... 18:02
arnsholt diakopter: Oh, that sounds promising. Remember roughly when? 18:03
TimToady
.oO( Lamp.rub )
18:05 kivutar joined, ssutch left
FROGGS hehe 18:05
diakopter arnsholt: maybe two monh0ths on moarvm
*months 18:06
18:06 ssutch joined
arnsholt Cool. That narrows it down a bit 18:08
diakopter arnsholt: i seem to recall he was open to creating an api/protocol to trigfer some kind of initializer
*trigger
18:09 silug joined
diakopter arnsholt: implementing/overriding some hooked method? 18:10
arnsholt: but I'm not sure how that would translare to the reprdata thing 18:12
arnsholt: unless it triggered native code 18:13
japhb__ jnthn: $architecture.slide6 ~~ s/form/from/ 18:15
FROGGS nqp: nqp::spawn(["echo", "\$PWD"], "/tmp", {}) # is that supposed to work on the JVM? 18:17
camelia nqp-parrot: OUTPUT«/tmp␤»
..nqp-jvm: OUTPUT«$PWD␤»
..nqp-moarvm: OUTPUT«Error while compiling op spawn (source text: "nqp::spawn([\"echo\", \"\\$PWD\"], \"/tmp\", {})"): No registered operation handler for 'spawn'␤frame_name_1108␤»
diakopter arnsholt: I'd bet he'd be ok with what you come up with... or at least it won't be too far off
FROGGS TimToady: should there be a more obvious way to enable strict-mode rather than doing 'use v6' ? 18:23
TimToady well, what's the matter with "use stict;"? 18:24
other than the spelling? 18:25
FROGGS ohh, that is specced? 18:26
use strict is allright...
18:26 zakharyas left
FROGGS TimToady: should a 'use v6' in a nested block enable strict et all? 18:27
or a '6;' disable it? 18:28
or is this a special thin of a unit/file?
thing*
TimToady 'use strict' would fall under S01:27 18:29
synopsebot Link: perlcabal.org/syn/S01.html#line_27
FROGGS ahh, I see :o)
I guess camelia here could/should be lax too 18:31
TimToady I'd be fine restricting 6; to the first statement of a unit
FROGGS yeah
brb
TimToady dunno, I kinda like a strict Camelia
diakopter she's a good mistress 18:33
pmurias FROGGS: doesn't 'no lax' enable strict mode? 18:37
18:43 darutoko left
diakopter arnsholt: do you see what I mean aboit thd api 18:44
moritz arnsholt: I missed most of the backlog, so sorry if you already said it... did my Configure patch fix the install for you? 18:46
18:46 tobyink joined 18:59 pecastro_ left 19:01 pecastro joined
Rotwang hi 19:04
jaffa4 I have problem,. I run a program and there is no response, no output, there shouild be outout 19:06
Rotwang is there something similar to open(FH, "| cat"), so I can get both, program output AND exit status? 19:07
FROGGS jaffa4: no-paste the program 19:09
jaffa4 I tried to make the Perl6::Grammar work 19:10
I can zip the whole thing and send it to you
FROGGS hmmm
jaffa4: you are talking about rakudo?
jaffa4 rakudo 19:11
written in nqp, I changed the extension to pm6 and change some code to make it compile
FROGGS jaffa4: why?
19:11 dansamo joined
jaffa4 I would like to parse perl6 in perl6 19:11
FROGGS ahh, so you want to make `Perl6::Grammar.parse( $code )` work... 19:12
19:13 dalek left, dalek joined, ChanServ sets mode: +v dalek
jaffa4 if ($str ~~ /<Perl6::Grammar::TOP>/) 19:13
FROGGS one problem is that it is nqp code, which requires nqp modules (like QRegex)
jaffa4 I commented them out
19:13 baest left
jaffa4 but I do not get an error 19:14
FROGGS you need to change these lines to: use QRegex:from<nqp>;
jaffa4: that would not work out :o)
r: use QRegex:from<nqp>
camelia rakudo-parrot 3164ca, rakudo-jvm 882e33: OUTPUT«===SORRY!===␤Do not know how to load code from nqp␤»
FROGGS huh
jaffa4 should that work? 19:15
FROGGS I thought this was already in nom
I thought so
ahh
r: use QRegex:from<NQP>
camelia ( no output )
FROGGS works 19:16
TimToady: the spec disagrees with jnthn about -e being lax be default... what do you think? 19:18
19:18 dalek left
FROGGS S19:429 that is 19:19
synopsebot Link: perlcabal.org/syn/S19.html#line_429
19:19 dalek joined, ChanServ sets mode: +v dalek
FROGGS pmurias: there is nothing about 'no lax' in the spec 19:20
jaffa4 r: "use Perl6::Grammar:from<NQP>" 19:21
camelia ( no output )
jaffa4 r: "use Perl6::Grammarx:from<NQP>"
camelia ( no output )
jaffa4 r: "use Perl6::XXXXGrammarx:from<NQP>"
camelia ( no output )
FROGGS weird
err
dont put that in quotes
r: use Perl6::Grammar:from<NQP>
camelia ( no output )
jaffa4 r: use Perl6::XXXXGrammarx:from<NQP>
camelia rakudo-jvm 882e33: OUTPUT«===SORRY!===␤java.nio.file.NoSuchFileException: Perl6/XXXXGrammarx␤»
..rakudo-parrot 3164ca: OUTPUT«===SORRY!===␤"load_bytecode" couldn't find file 'Perl6/XXXXGrammarx.pbc'␤»
FROGGS good
jaffa4 ao I can import the grammar directly 19:22
FROGGS r: use Perl6::Grammar:from<NQP>; say Perl6::Grammar.parse( "sub a { }" )
camelia rakudo-jvm 882e33: OUTPUT«Could not locate compile-time value for symbol Block␤ in any find_symbol at src/Perl6/World.nqp:2192␤ in any stub_code_object at src/Perl6/World.nqp:907␤ in any comp_unit at src/Perl6/Grammar.nqp:859␤ in any TOP at src/Perl6/Grammar.nqp:345␤ …»
..rakudo-parrot 3164ca: OUTPUT«Could not locate compile-time value for symbol Block␤ in any at src/Perl6/World.nqp:2196␤ in any find_symbol at src/Perl6/World.nqp:2144␤ in any stub_code_object at src/Perl6/World.nqp:907␤ in any at src/Perl6/Grammar.nqp:933␤ in any com…»
FROGGS r: use Perl6::Grammar:from<NQP>; say Perl6::Grammar.parse( "1" ) 19:23
jaffa4 r: use Perl6::Grammar:from<NQP>; say Perl6::Grammar.parse( "my $b=4;" )
camelia rakudo-jvm 882e33: OUTPUT«Could not locate compile-time value for symbol Block␤ in any find_symbol at src/Perl6/World.nqp:2192␤ in any stub_code_object at src/Perl6/World.nqp:907␤ in any comp_unit at src/Perl6/Grammar.nqp:859␤ in any TOP at src/Perl6/Grammar.nqp:345␤ …»
..rakudo-parrot 3164ca: OUTPUT«Could not locate compile-time value for symbol Block␤ in any at src/Perl6/World.nqp:2196␤ in any find_symbol at src/Perl6/World.nqp:2144␤ in any stub_code_object at src/Perl6/World.nqp:907␤ in any at src/Perl6/Grammar.nqp:933␤ in any com…»
rakudo-jvm 882e33: OUTPUT«===SORRY!=== Error while compiling /tmp/MOepToh8At␤Variable '$b' is not declared␤at /tmp/MOepToh8At:1␤------> m<NQP>; say Perl6::Grammar.parse( "my $b⏏=4;" )␤ expecting any of:␤ postfix␤»
..rakudo-parrot 3164ca: OUTPUT«===SORRY!=== Error while compiling /tmp/K0rZbpU6nt␤Variable '$b' is not declared␤at /tmp/K0rZbpU6nt:1␤------> m<NQP>; say Perl6::Grammar.parse( "my $b⏏=4;" )␤ expecting any of:␤ postfix␤»
FROGGS jaffa4: dont put variables in qq-strings, they will interpolate
jaffa4 r: use Perl6::Grammar:from<NQP>; say Perl6::Grammar.parse( "my \$b=4;" )l
FROGGS use q-strings or escape the sigil
camelia rakudo-jvm 882e33: OUTPUT«===SORRY!=== Error while compiling /tmp/ZJybjKfpyG␤Two terms in a row␤at /tmp/ZJybjKfpyG:1␤------> say Perl6::Grammar.parse( "my \$b=4;" )⏏l␤ expecting any of:␤ postfix␤ infix stopper␤ …»
..rakudo-parrot 3164ca: OUTPUT«===SORRY!=== Error while compiling /tmp/mLcRAUWRDt␤Two terms in a row␤at /tmp/mLcRAUWRDt:1␤------> say Perl6::Grammar.parse( "my \$b=4;" )⏏l␤ expecting any of:␤ postfix␤ infix stopper…»
jaffa4 r: use Perl6::Grammar:from<NQP>; say Perl6::Grammar.parse( 'my \$b=4;' )l 19:24
camelia rakudo-parrot 3164ca: OUTPUT«===SORRY!=== Error while compiling /tmp/kVmoRYV0Mq␤Two terms in a row␤at /tmp/kVmoRYV0Mq:1␤------> say Perl6::Grammar.parse( 'my \$b=4;' )⏏l␤ expecting any of:␤ postfix␤ infix stopper…»
..rakudo-jvm 882e33: OUTPUT«===SORRY!=== Error while compiling /tmp/2WKMk5tgOX␤Two terms in a row␤at /tmp/2WKMk5tgOX:1␤------> say Perl6::Grammar.parse( 'my \$b=4;' )⏏l␤ expecting any of:␤ postfix␤ infix stopper␤ …»
FROGGS strip the l
jaffa4 r: use Perl6::Grammar:from<NQP>; say Perl6::Grammar.parse( 'my \$b=4;' );
camelia rakudo-parrot 3164ca: OUTPUT«Could not locate compile-time value for symbol Block␤ in any at src/Perl6/World.nqp:2196␤ in any find_symbol at src/Perl6/World.nqp:2144␤ in any stub_code_object at src/Perl6/World.nqp:907␤ in any at src/Perl6/Grammar.nqp:933␤ in any com…»
..rakudo-jvm 882e33: OUTPUT«Could not locate compile-time value for symbol Block␤ in any find_symbol at src/Perl6/World.nqp:2192␤ in any stub_code_object at src/Perl6/World.nqp:907␤ in any comp_unit at src/Perl6/Grammar.nqp:859␤ in any TOP at src/Perl6/Grammar.nqp:345␤ …»
FROGGS sad that it was not that easy :o)
19:24 kreoso joined
jaffa4 why not? 19:25
FROGGS I guess it expects some initialization before you actually invoke the grammar 19:26
19:26 baest joined
FROGGS jnthn can probably explain better 19:27
std: use strict
camelia std 8adbc60: OUTPUT«===SORRY!===␤Cannot locate module strict at /tmp/uzYgDqXufM line 1 (EOF):␤------> use strict⏏<EOL>␤Check failed␤FAILED 00:01 120m␤»
FROGGS std: no strict
camelia std 8adbc60: OUTPUT«ok 00:01 120m␤»
jaffa4 then it is not so bad 19:28
FROGGS r: no strict
camelia rakudo-jvm 882e33: OUTPUT«===SORRY!=== Error while compiling /tmp/TU48307F8M␤Undeclared routines:␤ no used at line 1. Did you mean '&on'?␤ strict used at line 1␤␤»
..rakudo-parrot 3164ca: OUTPUT«===SORRY!=== Error while compiling /tmp/rMVF8Olj5a␤Undeclared routines:␤ no used at line 1␤ strict used at line 1␤␤»
FROGGS implements 'no' now
19:29 Rotwang left
japhb__ In src/Perl6/Metamodel/BOOTSTRAP.nqp, why does any class other than Attribute use BOOTSTRAPATTR? (Or once Scalar is defined, scalar_attr()?) 19:30
lue hello world o/ 19:35
FROGGS hi lue 19:36
TimToady S01:148 says -e is lax by default 19:37
synopsebot Link: perlcabal.org/syn/S01.html#line_148
FROGGS ahh, okay 19:38
TimToady actually, nowadays, we should probably use *; instead of 6; :)
FROGGS I didn't read the paragraphs containing relax
19:38 denis_boyun_ left
FROGGS use whatever? 19:38
well, it fits "I don't care" better 19:39
TimToady or maybe, *, dude;
FROGGS yeah
TimToady and maybe ; by itself also turns on all the golfing options :) 19:41
FROGGS we should totally give a \W characters a meaning in sink context :o) 19:42
like < would execute in reverse order
TimToady yeah, like #
FROGGS s/a/all/ 19:43
TimToady afk to avoid further damage & 19:44
FROGGS *g*
o/
19:44 Rotwang joined
FROGGS k, use/no strict works now 19:46
japhb__ Gah, gotta run. If anyone answers my BOOTSTRAPATTR question, I'll backlog, and be around again tonight PDT. & 19:48
19:51 cognominal joined 19:54 SamuraiJack left 20:02 ssutch left 20:04 kivutar_ joined
arnsholt moritz: Yeah, it worked perfectly, thanks! 20:11
diakopter: Yeah, I think I see. I'll ponder it a bit and get back to you/jnthn
20:15 denisboyun joined, benabik joined 20:19 raiph left 20:20 benabik left, risou is now known as risou_awy 20:21 risou_awy is now known as risou
arnsholt diakopter: In fact, looking at the actual code, it looks like the plumbing I need is already in place 20:25
Guess I should've done that first
Rotwang where can I find docs on the "run" subroutine? 20:27
20:30 Mouq joined
moritz Rotwang: S29 has a bit on run 20:30
Rotwang thanks 20:33
moritz but I'm not sure how much of the spec rakudo actually implements 20:34
20:39 risou is now known as risou_awy 20:40 Gwyxx left, hummeleB1 joined
Rotwang shell() does the thing I need, it would be nice if something like open(my $fh, "prog_name |") existed in p6 though 20:41
moritz open :p does that in rakudo (non-standard though) 20:42
:p, :w for writing to a pipe 20:43
Rotwang r: say "success" if shell("false") 20:44
camelia rakudo-jvm 882e33: OUTPUT«(timeout)»
..rakudo-parrot 3164ca: OUTPUT«shell is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting:2␤ in sub shell at src/RESTRICTED.setting:7␤ in block at /tmp/OiaXZ4WEBE:1␤ in any at /tmp/OiaXZ4WEBE:1␤ in any at gen/parrot/stage2/NQPHLL.nqp:1146…»
Rotwang anyway it prints success in rakudo 2013.09, but probably shouldn't [; 20:45
moritz iirc we had some recent changes for that in rakudo 20:46
FROGGS yes, just a week ago 20:50
shell() and run() return a Proc::State now, before they just returned the exit code
20:52 ajr_ left
arnsholt rp: my class Foo[$param] { ... }; say "alive"; 20:52
camelia rakudo-parrot 3164ca: OUTPUT«===SORRY!=== Error while compiling /tmp/m6SKRHtNDj␤Unable to parse class definition␤at /tmp/m6SKRHtNDj:1␤------> my class Foo⏏[$param] { ... }; say "alive";␤ expecting any of:␤ scoped declarator…»
arnsholt rp: my role Foo[$param] { ... }; say "alive"; 20:53
camelia rakudo-parrot 3164ca: OUTPUT«alive␤»
arnsholt Huh. I thought classes could be parametric as well
FROGGS std: my class Foo[$param] { ... }; say "alive";
camelia std 8adbc60: OUTPUT«===SORRY!===␤Unable to parse class definition at /tmp/mV2KwhR5Nv line 1:␤------> my class Foo⏏[$param] { ... }; say "alive";␤ expecting any of:␤ name␤ trait␤Parse failed␤FAILED 00:01 120m␤»
Mouq lue: Did you do the CLA stuff? 20:54
FROGGS arnsholt: I only see a ParametricRoleHOW, not a Class~ one
lue Mouq: I have it on my desk, but neither signed nor scanned yet. /me kinda wants to finish the NQP slides before sending it in *for some reason*. 20:55
20:56 raiph joined
Mouq lue: Ah. I just signed (+ had my parent sign) and scanned mine 20:56
Mouq is trying to figure out where to email it 20:58
Ah, I knew someone said something a while ago (10/26): “<diakopter> lue: don't send it to webmaster... send it to karen@; she'll be glad to route it I'm sure” 21:00
lue I was just going to say :)
FROGGS r: run('echo', '$TERM') # jvm is right here btw 21:04
camelia rakudo-jvm 882e33: OUTPUT«Unhandled exception: java.lang.OutOfMemoryError: Java heap space␤ in (src/Perl6/Grammar.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:62)␤ in (src/vm/jvm/ModuleLoader.nqp:52)␤ in load_module␤ in ␤␤»
..rakudo-parrot 3164ca: OUTPUT«run is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting:2␤ in sub run at src/RESTRICTED.setting:8␤ in block at /tmp/ptboO0djLI:1␤ in any at /tmp/ptboO0djLI:1␤ in any at gen/parrot/stage2/NQPHLL.nqp:1146␤ …»
FROGGS err, no
it isnt
it should print '$TERM' instead of interpolating it
Mouq r-j: 1
camelia rakudo-jvm 882e33: OUTPUT«Unhandled exception: java.lang.OutOfMemoryError: Java heap space␤ in (src/Perl6/Grammar.nqp)␤ in (src/vm/jvm/ModuleLoader.nqp:62)␤ in (src/vm/jvm/ModuleLoader.nqp:52)␤ in load_module␤ in ␤␤» 21:05
FROGGS only shell() should go through a shell
nqp: nqp::spawn(["echo", "\$PWD"], "/tmp", {}) # this is what I meant
camelia nqp-parrot: OUTPUT«/tmp␤»
..nqp-jvm: OUTPUT«$PWD␤»
..nqp-moarvm: OUTPUT«Error while compiling op spawn (source text: "nqp::spawn([\"echo\", \"\\$PWD\"], \"/tmp\", {})"): No registered operation handler for 'spawn'␤frame_name_1108␤»
FROGGS I implemented it wrong-ish on parrot 21:06
nqp: nqp::shell(["echo", "\$PWD"], "/tmp", {}) # checking 21:07
camelia nqp-jvm: OUTPUT«Cannot stringify this␤ in (/tmp/wQIYmOCP3u:1)␤ in (gen/jvm/stage2/NQPHLL.nqp:1100)␤ in eval (gen/jvm/stage2/NQPHLL.nqp:1086)␤ in evalfiles (gen/jvm/stage2/NQPHLL.nqp:1292)␤ in command_eval (gen/jvm/stage2/NQPHLL.nqp:1196)␤ in command_line (gen/jvm…»
..nqp-parrot: OUTPUT«sh: 1: 2: not found␤»
..nqp-moarvm: OUTPUT«cannot stringify this␤frame_name_0␤»
FROGGS uhh
nqp: nqp::shell(echo \$PWD", "/tmp", {}) # my fault
err
camelia nqp-parrot: OUTPUT«Confused at line 2, near "nqp::shell"␤current instr.: 'panic' pc 16305 (gen/parrot/stage2/NQPHLL.pir:6018) (gen/parrot/stage2/NQPHLL.nqp:426)␤»
..nqp-moarvm: OUTPUT«Confused at line 2, near "nqp::shell"␤panic␤»
..nqp-jvm: OUTPUT«Confused at line 2, near "nqp::shell"␤ in panic (gen/jvm/stage2/NQPHLL.nqp:379)␤ in comp_unit (gen/jvm/stage2/NQP.nqp:922)␤ in TOP (gen/jvm/stage2/NQP.nqp:820)␤ in parse (gen/jvm/stage2/QRegex.nqp:1247)␤ in parse (gen/jvm/stage2/NQPHLL.nqp:1378)␤ in…»
FROGGS nqp: nqp::shell("echo \$PWD", "/tmp", {}) # my fault
camelia ( no output ) 21:08
..nqp-jvm, nqp-parrot: OUTPUT«/tmp␤»
FROGGS good
21:09 benabik joined
diakopter . 21:09
21:12 Guest21184 is now known as denysonique 21:15 dansamo left 21:22 PacoAir joined 21:26 PacoAir left 21:27 PacoAir joined 21:28 ssutch joined 21:45 Rotwang left 21:46 kreoso left 21:56 dmol1 left 22:00 Rotwang joined 22:01 sizz joined, sizz left, PacoAir left 22:05 sizz joined 22:07 REPLeffect joined 22:11 ggoebel14 joined 22:12 dmol joined 22:14 PacoAir joined, ggoebel13 left 22:15 jaffa4 left 22:16 kivutar_ left 22:20 kivutar left 22:21 risou_awy is now known as risou 22:22 pmurias left, denisboyun left 22:23 Rotwang left 22:37 Rotwang joined 22:38 risou is now known as risou_awy 22:41 PacoAir left 22:44 kaare_ left 22:58 tobyink left 23:01 xenoterracide joined 23:04 spider-mario left 23:19 BenGoldberg joined
lue Does anyone know why my attempts at Exercise 7.4 lead to "Could not find sub &postfix:<>" (if it's that "but it won't run" statement at the end of 7.4, does 7.5 fix it?) 23:23
Rotwang what exercise? 23:35
FROGGS github.com/edumentab/rakudo-and-nq...ercises.md 23:37
Mouq lue: You can try --target=parse/ast 23:49
I've always found it massively useful
23:59 Rotwang left