»ö« 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 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
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
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++
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 { ... }
.oO( Perl 6: your language for running down the battery faster! )
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
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
.oO( too many subscribables gives you a subscribabylon )
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
.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
.oO( In northern europe, I'm glad they also put windows on the bars... )
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
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
.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
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.
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