Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-01-05

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:12 Mouq joined #perl6
00:22 BenGoldberg joined #perl6
00:23 rurban1 joined #perl6
00:32 unclefester2 left #perl6
00:35 sivoais joined #perl6
00:42 colomon joined #perl6
01:29 colomon joined #perl6
01:34 jnap joined #perl6
01:35 hoverboard joined #perl6
01:36 rurban1 joined #perl6
01:42 daniel-s_ joined #perl6
01:45 dalek rakudo-star-daily: af07b0e | coke++ | log/ (5 files):
01:45 dalek rakudo-star-daily: today (automated commit)
01:45 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/af07b0e592
01:45 dalek perl6-roast-data: 0f29ebf | coke++ | / (5 files):
01:45 dalek perl6-roast-data: today (automated commit)
01:45 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/0f29ebf087
01:47 [Coke] moar: 73.40%
01:49 raiph joined #perl6
01:54 thou joined #perl6
01:55 raiph http://perlmonks.org/?node_id=1068630 # of interest to timotimo?
02:03 colomon joined #perl6
02:05 timotimo meh :)
02:16 lue looking at S05, I'm wondering about "5) Declaration with least number of 'uses' wins"
02:17 lue Does 'use' mean something specific (e.g. the use statement), or is just referring generally to the number of times a declaration is used in some fashion?
02:17 timotimo i seem to recall having learnt about this once
02:18 diakopter lue: it's got to be the latter
02:19 lue so /<alpha> <alpha>/ would be using "alpha" twice, and (I'm guessing) /(<alpha>)+/ would be using it once.
02:20 diakopter I think it means overlapping uses in that stem prefix
02:21 lue .oO('Use' is too generic a verb for this methinks)
02:21 timotimo agreed.
02:21 timotimo even if it's in scare quotes
02:22 lue The fact that you'll never encounter the tie-breaker unless you do MONKEY_PATCHING type things doesn't help one's understanding :)
02:22 timotimo right
02:22 timotimo "you'll never see this! why are we even explaining it to you?!"
02:23 diakopter "stop reading this!"
02:23 lue r: $/ = 5; say $/;
02:23 camelia rakudo-parrot e5268b, rakudo-jvm e5268b: OUTPUT«5␤»
02:24 lue That should've stopped me and made me wish for a  no warnings :perl5  thing :)
02:24 timotimo should it give a warning instead?
02:25 lue $/ = $x;   # "Unsupported use of $/ variable as input record separator"
02:25 lue so says the spec
02:25 diakopter heh, oh
02:26 timotimo r: $/ = "hi"; say $/;
02:26 camelia rakudo-parrot e5268b, rakudo-jvm e5268b: OUTPUT«hi␤»
02:26 timotimo i saw that warning once before somewhere
02:26 lue n: $/ = 5; say $/;
02:26 camelia niecza v24-109-g48a8de3: OUTPUT«(timeout)[auto-compiling setting]␤»
02:29 * lue agrees with rakudo's current behavior though :)
02:36 colomon joined #perl6
02:52 moritz
02:52 timotimo
02:53 * moritz not alone sleepless in .de
02:53 * timotimo is watching a talk from the 30c3
02:53 timotimo (recht auf remix)
03:00 rurban1 joined #perl6
03:05 lue I just discovered the :c adverb, and I get the strangest feeling it would've come in handy a few times before :)
03:08 timotimo closure interpolation?
03:09 lue timotimo: I was thinking rx:c, not Q:c
03:09 timotimo oh?
03:09 timotimo i don't know what that does, to be honest
03:09 timotimo oooooh, continue
03:09 timotimo that's cute!
03:10 lue r: "foo123" ~~ m/<alpha>+/ && m:c/<digit>+/;
03:10 camelia rakudo-jvm e5268b: OUTPUT«Cannot call 'match'; none of these signatures match:␤:(Cool:D : $target, *%adverbs)␤  in any  at gen/jvm/BOOTSTRAP.nqp:1201␤␤»
03:10 camelia ..rakudo-parrot e5268b: OUTPUT«Cannot call 'match'; none of these signatures match:␤:(Cool:D : $target, *%adverbs)␤  in any  at gen/parrot/BOOTSTRAP.nqp:1218␤  in any  at gen/parrot/BOOTSTRAP.nqp:1209␤  in method match at gen/parrot/CORE.setting:3487␤  in block  at /tmp/TgDu…»
03:11 lue r: "foo123" ~~ m/<alpha>+/; say m:c/<digit>+/;
03:11 camelia rakudo-jvm e5268b: OUTPUT«Cannot call 'match'; none of these signatures match:␤:(Cool:D : $target, *%adverbs)␤  in any  at gen/jvm/BOOTSTRAP.nqp:1201␤␤»
03:11 camelia ..rakudo-parrot e5268b: OUTPUT«Cannot call 'match'; none of these signatures match:␤:(Cool:D : $target, *%adverbs)␤  in any  at gen/parrot/BOOTSTRAP.nqp:1218␤  in any  at gen/parrot/BOOTSTRAP.nqp:1209␤  in method match at gen/parrot/CORE.setting:3487␤  in block  at /tmp/arMa…»
03:13 lue What the hell is @() supposed to mean?
03:13 timotimo in what context?
03:13 timotimo isn't it a shorthand for @($/)?
03:13 lue is it?
03:14 lue r: say @().perl if "abracadabra" ~~ m:ov/a (.*) a/;
03:14 camelia rakudo-parrot e5268b, rakudo-jvm e5268b: ( no output )
03:14 lue r: say @().perl if "abracadabra" ~~ m/a (.*) a/;
03:14 camelia rakudo-parrot e5268b: OUTPUT«(Match.new(orig => "abracadabra", from => 1, to => 10, ast => Any, list => ().list, hash => EnumMap.new()),).list␤»
03:14 camelia ..rakudo-jvm e5268b: OUTPUT«(Match.new(to => 10, hash => EnumMap.new(), ast => Any, list => ().list, orig => "abracadabra", from => 1),).list␤»
03:15 timotimo it may be a shorthand to extract the .ast if it exists
03:16 Pleiades` joined #perl6
03:16 rurban1 joined #perl6
03:16 * lue also isn't too clear on what exactly the difference between :ov and :ex are.
03:16 timotimo easy
03:17 timotimo "the first match from every position is returned" vs "every match is returned
03:17 timotimo let me demonstrate
03:17 timotimo r: say "aaaaaa" ~~ m:ov/a+/
03:17 camelia rakudo-parrot e5268b, rakudo-jvm e5268b: OUTPUT«False␤»
03:17 timotimo ... er ...
03:17 timotimo r: say "aaaaaa" ~~ rx:ov/a+/
03:17 camelia rakudo-jvm e5268b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/pgEcbiYhM7�Adverb ov not allowed on rx�at /tmp/pgEcbiYhM7:1�------> [32msay "aaaaaa" ~~ rx:ov/a+/[33m�[31m<EOL>[0m�»
03:17 camelia ..rakudo-parrot e5268b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/ZZsWOdj0jW�Adverb ov not allowed on rx�at /tmp/ZZsWOdj0jW:1�------> [32msay "aaaaaa" ~~ rx:ov/a+/[33m�[31m<EOL>[0m�»
03:17 timotimo r: say "aaaaaa" ~~ m:overlap/ a+ /
03:17 camelia rakudo-parrot e5268b, rakudo-jvm e5268b: OUTPUT«False␤»
03:17 timotimo ... why?!
03:18 lue Oh, I'm currently reading S05, in case you can't tell :) . Trying to see how difficult that ol' libp6regex idea would be.
03:18 timotimo yes, i'm on S05 as well
03:18 timotimo but why does that give false?
03:18 timotimo r: say "aaaaaa" ~~ m/ a+ /
03:18 camelia rakudo-parrot e5268b, rakudo-jvm e5268b: OUTPUT«「aaaaaa」␤␤»
03:18 timotimo r: say "aaaaaa" ~~ m:ex/ a+ /
03:18 camelia rakudo-parrot e5268b, rakudo-jvm e5268b: OUTPUT«False␤»
03:18 timotimo ... wat ...
03:18 lue r: say "abaccadddaaea" ~~ m:ov/ a <-[a]>* a /
03:18 camelia rakudo-parrot e5268b, rakudo-jvm e5268b: OUTPUT«False␤»
03:20 timotimo are those just b0rken?
03:20 timotimo if i could have demonstrated, you would have seen the following results:
03:21 timotimo with overlapping: aaaaaa, aaaaa, aaaa, aaa, aa, a
03:21 timotimo with exhaustive: aaaaaa, aaaaa, aaaa, aaa, aa, a, aaaaa, aaaa, aaa, aa, a, aaaa, aaa, aa, a, aaa, aa, a, aa, a
03:21 atroxaper joined #perl6
03:21 lue timotimo: I wouldn't be surprised if they are broken.
03:21 timotimo :(
03:22 lue Ah, so ov it's "one match per spot", and ex is "every match per spot".
03:22 timotimo yup
03:22 timotimo "first match per spot" even
03:23 lue (incidentally your specific example looks like a permutations/combinations demonstration :P)
03:23 timotimo :D
03:23 lue or at least is reminiscent of one.
03:28 colomon joined #perl6
03:38 lue r: say "a" ~~ / <alpha> & <alnum> /
03:38 camelia rakudo-jvm e5268b: OUTPUT«「a」␤ alnum => 「a」␤ alpha => 「a」␤␤»
03:38 camelia ..rakudo-parrot e5268b: OUTPUT«「a」␤ alpha => 「a」␤ alnum => 「a」␤␤»
03:40 timotimo yup, the & is really nifty
03:40 timotimo i also love that you can capture inside the right-hand-side of the % operator
03:40 timotimo and with that, i go to bed
03:41 lue ♞ timotimo o/
03:46 TimToady we have no decent way of printing Rats with consistent number of fractional digits; see http://rosettacode.org/wiki/Currency#Perl_6
03:46 lue What's $¢.pos nowadays?
03:46 TimToady maybe we need an optional argument to .base
03:47 TimToady well, it's still $¢.pos in STD...
03:48 TimToady $/.CURSOR.pos or some such, iirc
03:48 lue I almost want to bring back ¢, just so the artifacts in the spec stop popping up all the time :)
03:49 TimToady $¢ has nothing to do with the old ¢ sigil
03:50 lue r: say "abc" ~~ / <alpha> {say $¢.pos} <alpha>+ /
03:50 camelia rakudo-jvm e5268b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/iACnz6bVBbâ�¤Unsupported use of $¢ variableâ�¤at /tmp/iACnz6bVBb:1â�¤------> [32msay "abc" ~~ / <alpha> {say [33mâ��[31m$¢.pos} <alpha>+ /[0mâ�¤    expecting any of:â�¤        argument listâ�¤ …»
03:50 camelia ..rakudo-parrot e5268b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/YKMsAzljIaâ�¤Unsupported use of $¢ variableâ�¤at /tmp/YKMsAzljIa:1â�¤------> [32msay "abc" ~~ / <alpha> {say [33mâ��[31m$¢.pos} <alpha>+ /[0mâ�¤    expecting any of:â�¤        argument list…»
03:51 lue TimToady: I know, I just keep thinking ¢ looks cool. I think my feelings on ¢ in P6 are similar to ß in German :P (In particular Swiß German, what with its removal of the letter)
03:52 rurban1 joined #perl6
03:56 lue TimToady: "f   a floating-point number, in fixed decimal notation"  Is that not what you could use for currency, or am I misreading that?
03:56 * lue is not a printf expert
04:00 TimToady unfortunately that attempts to translate to floating-point first, and overflows
04:00 colomon joined #perl6
04:01 TimToady p: printf("%0.2f", 12345123451234512345)
04:01 camelia rakudo-parrot e5268b: OUTPUT«12345123451234512896.00»
04:01 TimToady note the inaccuracy
04:01 lue Ah. Maybe we could introduce %r for Rat then, and %R for FatRat perhaps :)
04:02 lue (though there's a problem of if that %r would print a fraction or decimal.)
04:03 TimToady I suspect the 'f' is supposed to mean 'fixed point'
04:03 TimToady so maybe we should just make that work
04:05 lue Yeah, I wouldn't be surprised if the "floating-point" bit in the original printf was an issue of C's capabilities, rather than the preferred way to get to fixed point.
04:05 lue (just for %f that is)
04:08 Mouq "This example is incorrect. It does not accomplish the given task. Please fix the code and remove this message. " http://rosettacode.org/wiki/Parametric_polymorphism#Perl_6
04:11 TimToady maybe the task changed?
04:11 TimToady Grondilu marked it incorrect
04:12 colomon TimToady: fixing that has been on my to-do list for a while now.  no time, though….
04:13 colomon (the %f thing, not the rosettacode thing)
04:13 * TimToady hates to put workarounds into rosettacode...
04:13 TimToady but whenever...
04:14 Mouq It's strange; this seems like the logical golf:
04:14 Mouq r: role A[::T] {method test(T $t) {say $t}}; class B does A[Int] {}; B.test(4)
04:14 camelia rakudo-parrot e5268b, rakudo-jvm e5268b: OUTPUT«4␤»
04:14 Mouq But it works?
04:16 TimToady sorry, family doings (The Third Noël, or so), so distracted...
04:18 TimToady not to mention having driven from Seattle to SoCal in the last two days...
04:19 itz joined #perl6
04:20 kaare joined #perl6
04:20 Mouq r: role A[::T] {has T $.n; method assign(T \t) {$.n = t;}}; my $golf = (class B does A[Int] {}).new; $golf.assign(4); say $golf.n
04:20 camelia rakudo-parrot e5268b: OUTPUT«No such method 'item' for invocant of type 'T'␤  in method assign at /tmp/ecZVQz7Sqv:1␤  in block  at /tmp/ecZVQz7Sqv:1␤␤»
04:20 camelia ..rakudo-jvm e5268b: OUTPUT«No such method 'item' for invocant of type 'T'␤  in method assign at /tmp/C0iVA9deQD:1␤␤»
04:38 preflex_ joined #perl6
04:54 TimToady lue: it means how deep in 'use Module' nesting the declaration is; a module that is used directly counts as closer than a module that is used by a module that you use
04:55 lue Those scare quotes should say 'use's then :)
04:56 lue (I had a feeling it was something like that.) so does 'use MONKEY_TYPING' count, or is that simply what can cause tiebreaker #5 to be reached most easily?
04:57 TimToady MONKEY_TYPING has nothing to do with #5, unless the declaration in question was pulled in somehow by 'use MONKEY_TYPING;', which I sincerely doubt
04:58 lue so you're saying MONKEY_TYPING pulling in a module would require some serious... MONKEY_BUSINESS then?
05:09 newbie_Perl6 joined #perl6
05:15 TimToady Mouq: yeah, definitely looks like a rakudobug of some sort
05:18 TimToady https://gist.github.com/TimToady/8264706  <-- this works
05:19 TimToady changed 'has $!value;' to use . instead
05:19 TimToady and changed the .?'s to use 'if defined' instead
05:19 TimToady so maybe the T !=== Int is a red herring of some sort
05:23 rurban1 joined #perl6
05:35 rjbs joined #perl6
05:35 geekosaur joined #perl6
05:37 simcop2387 joined #perl6
05:39 newbie_Perl6 joined #perl6
05:44 TimToady p: say '言' ~~ /<alpha>/
05:44 camelia rakudo-parrot e5268b: OUTPUT«「言」␤ alpha => 「言」␤␤»
05:48 TimToady p: say 'º' ~~ /<alpha>/
05:48 camelia rakudo-parrot e5268b: OUTPUT«「º」␤ alpha => 「º」␤␤»
05:49 TimToady p: say '°' ~~ /<alpha>/
05:49 camelia rakudo-parrot e5268b: OUTPUT«Nil␤»
05:49 * TimToady keeps wondering why people use º for degrees when it's just as easy to get to °
05:49 lue TimToady: me too
05:50 TimToady easier, in fact, with a compose key, since it's just compose-o-o
05:50 newbie_Perl6 joined #perl6
05:50 atroxaper joined #perl6
05:50 TimToady of course, then there's why people use °F when there's a precomposed ℉
05:51 lue r: say ord("℉")
05:51 camelia rakudo-parrot e5268b, rakudo-jvm e5268b: OUTPUT«8457␤»
05:51 newbie_Perl6 joined #perl6
05:52 TimToady p: say ord('℉').base(16)
05:52 camelia rakudo-parrot e5268b: OUTPUT«2109␤»
05:52 * TimToady also doesn't understand why people use decimals for unicode codepoints :)
05:54 lue I was just too lazy to type the .base(16) part :P
05:54 * lue doesn't understand why ord doesn't produce a hex string, as that's what people tend to be going for anyway in Unicode-land :)
05:56 TimToady well, we could return an IntStr, I guess...
05:56 TimToady but it seems like a low-lux feature
05:56 lue use radix :16th  could be another solution :)
05:57 lue my $a = 2A; and such
05:58 * lue half-proposes that 0d123 change to 0i123, as that's the first letter in "decimal" that doesn't show up in hex.
06:20 raydiak is there any reason ":!$foo" couldn't be used to mean ":foo(!$foo)"?
06:25 darutoko joined #perl6
06:38 kurahaupo_mobile left #perl6
06:43 TimToady .oO(This means the opposite of what you think it means...)
06:49 raydiak it'd be useful when you have recursive routines that tend to toggle flags before passing them to the next level, which seems to emerge in my designs from time to time; is it just me?
06:50 TimToady I really don't see a reason to encourage people to flip the polarity of "foo" like that; it's a design smell most of the time, and not worth huffmanizing the rest of the time, methinks
06:50 TimToady and in the cases where you'd want it, toggle => !$toggle would be much clearer
06:52 raydiak all true...keep the more frightening things more difficult to type, I suppose
06:52 lue I have to say, I've always felt a bit weird that :adv/:!adv was some sort of weird trinary thing by default, except that you need to check two things for that trinariness.
06:53 TimToady also, :!$ is just a bit too much punctuation in a row for most sane people :)
06:54 TimToady bad enough we can have :$^foo and such
06:54 TimToady or even :$:foo :)
06:55 raydiak does :$!foo work?
06:55 TimToady should
06:55 lue raydiak: sure, that's :foo($!foo)
06:55 lue .oO(  :!$@!attr  )
06:56 TimToady "What is that, swearing?"  --Heidi
06:57 TimToady Appearances to the contrary notwithstanding, we are not optimizing Perl 6 for golf.  :)
07:00 raydiak haha. I really should avoid using line noise syntax, whther it's valid or not...obsessive compulsions die hard I suppose
07:02 berekuk joined #perl6
07:35 sjohnson joined #perl6
07:35 rurban1 joined #perl6
08:31 bonsaikitten joined #perl6
08:37 Rotwang joined #perl6
08:52 masak "It was dishonest to call it Python." -- https://news.ycombinator.com/item?id=7013438
08:52 masak (just as some people want Perl 6 to have been called something else.)
08:52 masak 'morning, #perl6
08:55 raydiak \o good morning masak
08:58 Pleiades` joined #perl6
09:02 tadzik wow, imagine Perl 5 users saying "booo, 5.10 is not Perl anymore, dishonest!"
09:04 tadzik but maybe that's the point here; it's not different enough to justify the migration hassle
09:11 xfix Is there max() function that returns lvalue?
09:11 xfix It would be nice for https://codegolf.stackexchange.com/questions/17577/izwhatzforbrekfatz-added-to-largest-length-item-in-array
09:26 sqirrel joined #perl6
09:30 raydiak japhb: since you were trying to use it, thought you'd want to know that deintersection not only runs without errors, but also now actually functions :)
09:34 xinming joined #perl6
09:37 rurban1 joined #perl6
09:47 sue_ joined #perl6
10:09 araujo joined #perl6
10:18 atroxaper joined #perl6
10:29 kivutar joined #perl6
10:55 [Keith] joined #perl6
10:55 moritz \o
10:58 virtualsue greets
10:58 moritz hello virtualsue
11:15 dmol joined #perl6
11:40 spider-mario joined #perl6
11:46 berekuk joined #perl6
11:51 rindolf joined #perl6
12:21 darutoko- joined #perl6
12:32 denisboyun joined #perl6
12:43 masak tadzik: the Perl community tried a Big Upgrade. it took several years, and people got tired of waiting and started advocating forgetting Perl 6 and sticking with Perl 5.
12:43 masak tadzik: the Python community tried a Small, Limited Upgrade. it took several years, and people got tired of waiting and started advocating forgetting Python 3.x and sticking with Python 2.7.
12:46 mohij joined #perl6
12:50 kivutar joined #perl6
12:59 masak maybe the lesson simply is "however you do it, some people will lose patience and/or advocate sticking with $?OLD_VERSION"
13:02 nwc10 there is at least one difference. Python 3 has declared itself "production ready" for about 5 years (while Perl 6 hasn't), but the end user Python upgrade plan always assumed a flag day change. (effectively)
13:02 nwc10 we've not yet seen what will pan out once Larry (and @Larry) says "Perl 6 is ready"
13:09 berekuk joined #perl6
13:11 espadrine joined #perl6
13:11 masak troo.
13:11 masak in practice, I doubt there will be much migration of Perl 5 projects to Perl 6, whatever time scale you choose to look on.
13:21 nwc10 my assumption also. Not much working Perl 5 code is going to get re-written as Perl 6.
13:21 nwc10 The trick is to make it easier to run a hetrogeneous Perl 5/Perl 6 environment than a hetrogeneous Perl 5/$other
13:22 masak aye.
13:23 nwc10 although, another significant difference betwen 2 and 3 vs 5 and 6 is that 3 doesn't really have many exciting features over and above 2. Particularly, it still has a GIL. Whereas 6 offers at least one obvious relevant feature - less insane concurrency
13:23 nwc10 Python 2 is already too damn good
13:24 masak yeah, that's what I meant by "Big Upgrade" vs "Small, Limited Upgrade".
13:31 yogan joined #perl6
14:07 darutoko joined #perl6
14:11 gcole joined #perl6
14:13 hoelzro joined #perl6
14:14 atta joined #perl6
14:19 colomon joined #perl6
14:20 rindolf joined #perl6
14:25 virtualsue joined #perl6
14:37 PacoAir_ joined #perl6
14:44 timotimo o/
14:46 masak \o
14:49 FROGGS o/
14:56 ggoebel118 joined #perl6
14:56 ajr joined #perl6
14:58 kivutar joined #perl6
15:10 timotimo how can perl6's concurrency be anything other than insane if it doesn't have a GIL? :)
15:37 nnunley joined #perl6
15:42 zakharyas joined #perl6
15:49 arnsholt Well, it's going to be concurrent. Which probably guarantees a certain amount of insanity^Whilarity =)
15:53 beastd joined #perl6
15:58 Psyche^ joined #perl6
16:13 thou joined #perl6
16:19 kivutar joined #perl6
16:20 masak well, if anything is to ensue, it might as well be hilarity.
16:26 thundergnat joined #perl6
16:27 thundergnat r: say (max map {.chars => $_},<juicypacakes sweetchickeneggs tastycheezezzz yourmomzez countchoclatez>).value~'izwhatzforzbrekfatz';
16:27 preflex thundergnat: you have 1 new message. '/msg preflex messages' to read it.
16:27 camelia rakudo-parrot e5268b, rakudo-jvm e5268b: OUTPUT«sweetchickeneggsizwhatzforzbrekfatz␤»
16:28 thundergnat xfix: ^^ not exactly what you were looking for... but close.
16:32 berekuk joined #perl6
16:42 kivutar joined #perl6
16:49 timotimo max-rw and min-rw does sound really convenient
16:49 timotimo (no matter if it's to replace max or be a separate operator)
16:58 dalek rakudo-star-daily: 65ed5eb | coke++ | log/ (5 files):
16:58 dalek rakudo-star-daily: today (automated commit)
16:58 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/65ed5eb012
16:59 raiph joined #perl6
17:03 FROGGS p: my role Hurz; 1 does Hurz; # masak, a  bug for you :o)
17:03 camelia rakudo-parrot e5268b: OUTPUT«(signal KILL)»
17:04 pmurias joined #perl6
17:07 timotimo [...]None of the parametric role variants for 'Hurz' matched the arguments supplied.
17:07 timotimo maximum recursion depth exceeded
17:07 timotimo o_O
17:07 timotimo there aren't even parameters for that role >_<
17:07 FROGGS adding the role's body helps :o)
17:08 timotimo oh!
17:08 timotimo of course
17:08 timotimo it's a semicolon definition of the role
17:08 timotimo like class Foobar;
17:12 johnmilton joined #perl6
17:13 arnsholt r: my class Foo; my Foo $foo .= new;
17:13 camelia rakudo-parrot e5268b, rakudo-jvm e5268b: ( no output )
17:23 colomon joined #perl6
17:26 timotimo r: class Test { say "oh my" };
17:26 camelia rakudo-parrot e5268b, rakudo-jvm e5268b: OUTPUT«oh my␤»
17:26 timotimo what time does that run?
17:32 colomon r: class Test { say "oh my" }; BEGIN { say "begin"; }; say "end?";
17:32 camelia rakudo-parrot e5268b, rakudo-jvm e5268b: OUTPUT«begin␤oh my␤end?␤»
17:33 colomon r: say "sackbut"; class Test { say "oh my" }; BEGIN { say "begin"; }; say "end?";
17:33 camelia rakudo-parrot e5268b, rakudo-jvm e5268b: OUTPUT«begin␤sackbut␤oh my␤end?␤»
17:34 djanatyn joined #perl6
17:36 timotimo so ... compose time?
17:36 timotimo oh, just run time i guess
17:37 Tene joined #perl6
17:37 colomon class creation time, I think, which is regular run time, right?
17:38 timotimo may be
17:42 djanatyn joined #perl6
17:45 xinming joined #perl6
17:53 cognominal joined #perl6
17:57 spider-mario joined #perl6
18:13 berekuk joined #perl6
18:26 [Sno] joined #perl6
18:27 timotimo can we please spec something that makes the "highwater" stuff available in arbitrary grammars? :\
18:27 timotimo getting a partial parse tree, for exmaple
18:32 virtualsue joined #perl6
18:39 BenGoldberg joined #perl6
18:41 FROGGS +1, since that question comes often from various ppl
18:46 clsn__ How would I refer to a method as code, as opposed to calling it?  That is, sub foo {...} can later be referred to as &foo, but what about class A { method bar {...} } ?
18:46 arnsholt There's a call find_method in the MOP, IIRC
18:48 clsn__ I can do A.^methods[0] I think, or other tricks like that, but that seems sort of roundabout.
18:48 arnsholt r: class A { method foo { say "foo" } }; my A $a .= new; my $m = $a.^find_method("foo"); $m($a); # clsn__
18:48 camelia rakudo-parrot e5268b, rakudo-jvm e5268b: OUTPUT«foo␤»
18:48 clsn__ Thanks.
18:53 clsn__ Can't find private methods that way I think.  Hm.
18:53 moritz sure; they are private :-)
18:53 moritz if you could find them, you could call them
18:54 clsn__ I mean, you can't even find them from inside the class that way.
18:54 moritz r:my $n = 1e2; my @methods := $n.^can('sqrt'); say @methods[0]($n)
18:54 moritz p: my $n = 1e2; my @methods := $n.^can('sqrt'); say @methods[0]($n)
18:54 camelia rakudo-parrot e5268b: OUTPUT«10␤»
18:55 moritz clsn__: there's a find_private_method
18:55 clsn__ orly?  I didn't know.
18:55 moritz I just found by looking into src/Perl6/Metamodel/PrivateMethodContainer.nqp
18:56 clsn__ not sure it's working... lessee...
18:56 ajr joined #perl6
18:56 clsn__ Aha, no, it works.
18:56 moritz p: class A { method !foo { say 42 } }; A.^find_private_method('foo')(A)
18:56 camelia rakudo-parrot e5268b: OUTPUT«42␤»
18:58 clsn__ Mm, that shouldn't work from outside the class though.  Makes the private public.
18:58 moritz there are no access restrictions when going meta
18:59 moritz just like you can inspect private attributes and all that
18:59 moritz because in the end, everything builds on the MOP
18:59 moritz in the end, it's still "we're all adults around here"
19:00 moritz Perl 6 goes a step further to make access to foreign private stuff more inconvenient
19:00 clsn__ I guess.
19:00 moritz but it doesn't really treat it as hard barrier
19:00 moritz just like C++ for example (where you can still grab a pointer to private methods if you do enough black magic)
19:00 [Coke] r: say 22311 - 20883 ; # moar improvement
19:00 camelia rakudo-parrot e5268b, rakudo-jvm e5268b: OUTPUT«1428␤»
19:01 [Coke] (based on today's waiting-for-the-jvm-to-finish daily run)
19:03 FROGGS very nice!
19:06 timotimo clsn__ o/
19:06 clsn__ o/
19:09 Guest31073 joined #perl6
19:11 clsn__ Rix: class D { has Int $.x; has &!setter=method ($self: $v) { $!x=$v; }; method val is rw { Proxy.new(FETCH=>method {$.x*10}, STORE=>method ($s: $f) {&!setter($f-10)}) } }; my $a=D.new; $a.val
19:11 clsn__ Argh.
19:12 clsn__ r: class D { has Int $.x; has &!setter=method ($self: $v) { $!x=$v; }; method val is rw { Proxy.new(FETCH=>method {$.x*10}, STORE=>method ($s: $f) {&!setter($f-10)}) } }; my $a=D.new; $a.val
19:12 camelia rakudo-jvm e5268b: OUTPUT«Unhandled exception: java.lang.StackOverflowError␤  in <anon> (/tmp/G1HSkE_rWe)␤  in  (gen/jvm/BOOTSTRAP.nqp:300)␤  in <anon> (/tmp/G1HSkE_rWe)␤  in  (gen/jvm/BOOTSTRAP.nqp:300)␤  in <anon> (/tmp/G1HSkE_rWe)␤  in  (gen/jvm/BOOTSTRAP.nqp:300)␤ …»
19:12 camelia ..rakudo-parrot e5268b: OUTPUT«(signal SEGV)»
19:12 clsn__ (auto nick completion)
19:12 clsn__ woo, segv.
19:20 Mouq clsn__: what are you trying to do? method != sub
19:22 Mouq or... wait :P
19:23 clsn__ well,simpler cases cause the problem; I think there mighgt be some infinite regress using $.x in FETCH.
19:23 clsn__ But look, all this is various attempts to do something that ought to be simple.
19:24 clsn__ Let's say I have a class temperature.  It stores its value internally as kelvins.  There's a method .celcius that gives me the celcius equivalent.  I'd like to make .celcius rw, so I could set it to a celcius temp, and it would do the conversion internally.
19:24 Mouq you can do that
19:24 clsn__ This is really tough with a proxy object, since the proxy obj doesn't have access to the private attributes.
19:25 clsn__ So I was thinking about passing in a setter closure to the proxy obj etc...
19:27 Mouq we don't have methods that are... first class(???) like that, I'm pretty sure. You can do that, I think, but methods only exist in the first level of the class/role/grammar's body AFAIK
19:27 Piers joined #perl6
19:27 clsn__ Yeah, that's why I started trying stuff like "has &!setter" instead of "method setter".  How would you do it?
19:29 sergot_ joined #perl6
19:29 moritz_ joined #perl6
19:29 sftp_ joined #perl6
19:30 mathw_ joined #perl6
19:30 daxim_ joined #perl6
19:30 zakalwe_ joined #perl6
19:30 zakalwe_ joined #perl6
19:30 Mouq I'm not actually sure what Proxy does. :P I'm just saying that using method anywhere other than at the statement level of class Whatev { ... } is gonna cause trouble :PP
19:30 rhr joined #perl6
19:30 nebuchad` joined #perl6
19:31 clsn__ heh. ok.
19:31 mtj_- joined #perl6
19:31 Mouq You might be able to get away with making closures out of 'sub's and/or '->'s that capture self somehow, though I wouldn't be surprised if you run into bugs
19:31 rindolf joined #perl6
19:32 Mouq r: class D { has Int $.x; has &!setter=sub ($v) { $!x=$v; }; method val is rw { Proxy.new(FETCH=>sub {$.x*10}, STORE=>sub ($f) {&!setter($f-10)}) } }; my $a=D.new; $a.val
19:32 camelia rakudo-jvm e5268b: OUTPUT«Unhandled exception: Too many positional parameters passed; got 1 but expected 0␤  in  (/tmp/GkK7EmC85X)␤  in  (gen/jvm/BOOTSTRAP.nqp:300)␤  in MAIN (gen/jvm/main.nqp:46)␤  in  (gen/jvm/main.nqp:41)␤  in  (gen/jvm/main.nqp)␤␤»
19:32 camelia ..rakudo-parrot e5268b: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤current instr.: '' pc 355 ((file unknown):206) (/tmp/qzxm0nxOH7:1)␤called from Sub '' pc 14044 (src/gen/perl6-bootstrap.pir:3858) (gen/parrot/BOOTSTRAP.nqp:315)␤called from Sub 'MAIN' pc 3…»
19:32 cxreg2 joined #perl6
19:33 Mouq r: class D { has Int $.x; method export-setter { sub ($v) { $!x=$v; } }; }; my $a=D.new; my $b = $a.export-setter; $b(5); say $a.x
19:33 camelia rakudo-parrot e5268b, rakudo-jvm e5268b: OUTPUT«5␤»
19:33 Mouq \o/
19:33 Mouq That's pretty awesome
19:34 clsn__ Now to shoehorn that into a Proxy somehow...
19:35 genehack_ joined #perl6
19:35 thundergnat left #perl6
19:35 Mouq r: class D { has Int $.x; method val is rw { Proxy.new(FETCH=> ->{$.x*10}, STORE=> ->$f{$!x=$f-10}) } }; my $a=D.new; $a.val
19:35 camelia rakudo-jvm e5268b: OUTPUT«Unhandled exception: Too many positional parameters passed; got 1 but expected 0␤  in  (/tmp/FUQEXDc21K)␤  in  (gen/jvm/BOOTSTRAP.nqp:300)␤  in MAIN (gen/jvm/main.nqp:46)␤  in  (gen/jvm/main.nqp:41)␤  in  (gen/jvm/main.nqp)␤␤»
19:35 camelia ..rakudo-parrot e5268b: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤current instr.: '' pc 277 ((file unknown):159) (/tmp/a11f63PJK_:1)␤called from Sub '' pc 14044 (src/gen/perl6-bootstrap.pir:3858) (gen/parrot/BOOTSTRAP.nqp:315)␤called from Sub 'MAIN' pc 3…»
19:35 Mouq hmm
19:35 BenGoldberg I wish Proxy were better documented :(
19:36 Mouq I wish Proxy were better documented and threw better errors :/
19:37 clsn__ Yeah.  I'm not sure it's powerful enough to do all that we ask of it.
19:37 Mouq r: class D { has Int $.x; method val is rw { Proxy.new(FETCH=> ->{$x*10}, STORE=> ->$f{$!x=$f-10}) } }; my $a=D.new; $a.val
19:37 camelia rakudo-parrot e5268b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/agHOmwzH6eâ�¤Variable '$x' is not declaredâ�¤at /tmp/agHOmwzH6e:1â�¤------> [32mthod val is rw { Proxy.new(FETCH=> ->{$x[33mâ��[31m*10}, STORE=> ->$f{$!x=$f-10}) } }; my $[0mâ�¤    expecting a…»
19:37 camelia ..rakudo-jvm e5268b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/6b4tSNqvHnâ�¤Variable '$x' is not declaredâ�¤at /tmp/6b4tSNqvHn:1â�¤------> [32mthod val is rw { Proxy.new(FETCH=> ->{$x[33mâ��[31m*10}, STORE=> ->$f{$!x=$f-10}) } }; my $[0mâ�¤    expecting any …»
19:37 Mouq oops
19:37 Mouq r: class D { has Int $.x; method val is rw { Proxy.new(FETCH=> ->{$!x*10}, STORE=> ->$f{$!x=$f-10}) } }; my $a=D.new; $a.val
19:37 camelia rakudo-jvm e5268b: OUTPUT«Unhandled exception: Too many positional parameters passed; got 1 but expected 0␤  in  (/tmp/3pwDe3BOgl)␤  in  (gen/jvm/BOOTSTRAP.nqp:300)␤  in MAIN (gen/jvm/main.nqp:46)␤  in  (gen/jvm/main.nqp:41)␤  in  (gen/jvm/main.nqp)␤␤»
19:37 camelia ..rakudo-parrot e5268b: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤current instr.: '' pc 277 ((file unknown):195980479) (/tmp/jRxRDXVYfF:1)␤called from Sub '' pc 14044 (src/gen/perl6-bootstrap.pir:3858) (gen/parrot/BOOTSTRAP.nqp:315)␤called from Sub 'MAIN…»
19:40 clsn__ Adding some slurpy *@_ params here and there would at least suppress that error message.
19:41 Mouq r: class D { has Int $.x = 0; method val is rw { my $n := $.x; Proxy.new(FETCH=> sub {@_;$n*10}, STORE=> sub {$n=@_[0]-10}) } }; my $a=D.new; $a.val
19:41 camelia rakudo-parrot e5268b, rakudo-jvm e5268b: ( no output )
19:43 Mouq It should really be easier than that, but that's the simplest I got it
19:43 clsn__ class E { has Int $.x; method !export-setter { sub ($v) { $!x=$v; } }; method val($self:) is rw { Proxy.new(FETCH=>sub (*@_) {$self.x*10;},STORE=>sub ($s,$v) { ($self!export-setter)($v-10) }) } }; my $a=E.new(x=>10); $a.val
19:43 clsn__ r: class E { has Int $.x; method !export-setter { sub ($v) { $!x=$v; } }; method val($self:) is rw { Proxy.new(FETCH=>sub (*@_) {$self.x*10;},STORE=>sub ($s,$v) { ($self!export-setter)($v-10) }) } }; my $a=E.new(x=>10); $a.val
19:43 camelia rakudo-parrot e5268b, rakudo-jvm e5268b: ( no output )
19:44 clsn__ huh, that worked for me...
19:44 clsn__ r: class E { has Int $.x; method !export-setter { sub ($v) { $!x=$v; } }; method val($self:) is rw { Proxy.new(FETCH=>sub (*@_) {$self.x*10;},STORE=>sub ($s,$v) { ($self!export-setter)($v-10) }) } }; my $a=E.new(x=>10); $a.val=8
19:44 camelia rakudo-parrot e5268b, rakudo-jvm e5268b: ( no output )
19:44 clsn__ r: class E { has Int $.x; method !export-setter { sub ($v) { $!x=$v; } }; method val($self:) is rw { Proxy.new(FETCH=>sub (*@_) {$self.x*10;},STORE=>sub ($s,$v) { ($self!export-setter)($v-10) }) } }; my $a=E.new(x=>10); say $a.val
19:44 camelia rakudo-parrot e5268b, rakudo-jvm e5268b: OUTPUT«100␤»
19:44 clsn__ r: class E { has Int $.x; method !export-setter { sub ($v) { $!x=$v; } }; method val($self:) is rw { Proxy.new(FETCH=>sub (*@_) {$self.x*10;},STORE=>sub ($s,$v) { ($self!export-setter)($v-10) }) } }; my $a=E.new(x=>10); say $a.val=8
19:44 camelia rakudo-parrot e5268b, rakudo-jvm e5268b: OUTPUT«-20␤»
19:44 clsn__ There, that works.
19:45 clsn__ Sprinkled *@_ around just to shut up error messages.
19:45 genehack joined #perl6
19:46 rhr_ joined #perl6
19:46 daxim__ joined #perl6
19:46 Ben_Goldberg joined #perl6
19:48 xinming_ joined #perl6
19:51 Rotwang1 joined #perl6
19:52 kaare joined #perl6
19:54 ribasushi_ joined #perl6
19:56 spider-mario joined #perl6
19:58 genehack joined #perl6
20:01 berekuk_ joined #perl6
20:02 colomon joined #perl6
20:02 raydiak_ joined #perl6
20:02 tadzik1 joined #perl6
20:02 [Coke]_ joined #perl6
20:03 shlomif joined #perl6
20:04 [Sno]_ joined #perl6
20:05 ashleyde1 joined #perl6
20:07 broquain1 joined #perl6
20:08 ribasushi joined #perl6
20:09 Rotwang joined #perl6
20:13 broquaint joined #perl6
20:14 simcop2387 joined #perl6
20:18 colomon r: say 2.log
20:18 camelia rakudo-jvm e5268b: OUTPUT«0.6931471805599453␤»
20:18 camelia ..rakudo-parrot e5268b: OUTPUT«0.693147180559945␤»
20:18 zakalwe joined #perl6
20:21 nnunley_ joined #perl6
20:21 Piers joined #perl6
20:22 baest_ joined #perl6
20:23 mattp_ joined #perl6
20:23 raydiak__ joined #perl6
20:24 sergot joined #perl6
20:24 brother| joined #perl6
20:25 Juerd_ joined #perl6
20:25 genehack_ joined #perl6
20:26 cooper_ joined #perl6
20:26 lue joined #perl6
20:27 brandon__ joined #perl6
20:27 cooper joined #perl6
20:28 synopsebot joined #perl6
20:29 Pleiades` joined #perl6
20:29 atta joined #perl6
20:34 araujo joined #perl6
20:35 sorear_ joined #perl6
20:35 ivan``_ joined #perl6
20:37 mtj_ joined #perl6
20:39 raiph joined #perl6
20:39 bonsaikitten joined #perl6
20:39 sivoais joined #perl6
20:39 FOAD joined #perl6
20:39 retupmoca joined #perl6
20:39 wooden joined #perl6
20:39 timotimo joined #perl6
20:39 pjcj_ joined #perl6
20:39 frettled joined #perl6
20:39 amkrankr1leuen joined #perl6
20:39 ilogger2 joined #perl6
20:39 renormalist joined #perl6
20:39 charsbar_______2 joined #perl6
20:39 lee__ joined #perl6
20:39 larks joined #perl6
20:39 szbalint joined #perl6
20:39 Yappo__________ joined #perl6
20:39 crazedpsyc joined #perl6
20:39 anocelot joined #perl6
20:39 ivanshmakov joined #perl6
20:39 berekuk joined #perl6
20:42 hugme joined #perl6
20:48 pmurias r: class E { has Int $.x; method val($self:) is rw {  Proxy.new(FETCH=>sub (*@_) {$!x*10;},STORE=>sub ($s,$v) { $!x = $v-10 }) } }; my  $a=E.new(x=>10); $a.val=8; say $a.val;
20:48 camelia rakudo-parrot e5268b, rakudo-jvm e5268b: OUTPUT«-20␤»
20:48 pmurias clsn__: ^^ you don't need to define helper setter methods
20:50 FROGGS r: class E { has Int $.x; method val($self:) {  Proxy.new(FETCH=>sub (*@_) {$!x*10;},STORE=>sub ($s,$v) { $!x = $v-10 }) } }; my  $a=E.new(x=>10); $a.val=8; say $a.val;
20:50 camelia rakudo-parrot e5268b, rakudo-jvm e5268b: OUTPUT«-20␤»
20:50 FROGGS and no 'is rw'
21:01 krunen joined #perl6
21:02 clsn__ I thought the is rw was key.  OK.
21:03 Mouq joined #perl6
21:15 clsn__ Not clear what goes on in that *@_ slurpy param.  When I try to print it out before returning the value, it never returns.  When I return @_, I get an empty array.
21:23 lue clsn__: have you tried using something other than @_ for slurpy, see if that somehow is the issue?  /me doesn't recall what, if any, weird stuff @_ does.
21:34 berekuk joined #perl6
21:39 nebuchadnezzar joined #perl6
21:41 clsn__ Name doesn't matter; it looks like it contains the Proxy object, but printing that out causes things to thrash.  I can print out +@_ or @_[0].WHAT.
21:41 pmurias FROGGS: re no 'is rw' isn't that a rakudo bug?
21:43 masak pmurias: no, $!x is always writable.
21:43 masak (because it's the underlying storage)
21:43 clsn__ But shouldn't the method have to be marked is rw?
21:43 FROGGS pmurias: I'm not sure... I tend to think that the proxy is always writeable if you make its STORE method that way...
21:44 pmurias r: my $foo; $foo = 1; sub foo { $foo };foo = 123;say $foo
21:44 camelia rakudo-jvm e5268b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/jyTiriQKsZ�Preceding context expects a term, but found infix = instead�at /tmp/jyTiriQKsZ:1�------> [32my $foo; $foo = 1; sub foo { $foo };foo =[33m�[31m 123;say $foo[0m�»
21:44 camelia ..rakudo-parrot e5268b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/4OPj_aUdI6�Preceding context expects a term, but found infix = instead�at /tmp/4OPj_aUdI6:1�------> [32my $foo; $foo = 1; sub foo { $foo };foo =[33m�[31m 123;say $foo[0m�»
21:44 pmurias r: my $foo; $foo = 1; sub foo { $foo };foo() = 123;say $foo
21:44 camelia rakudo-jvm e5268b: OUTPUT«Cannot assign to a readonly variable or a value␤␤»
21:44 camelia ..rakudo-parrot e5268b: OUTPUT«Cannot assign to a readonly variable or a value␤  in block  at /tmp/JfWT0Csz0K:1␤␤»
21:44 pmurias r: my $foo; $foo = 1; sub foo is rw { $foo };foo() = 123;say $foo
21:44 camelia rakudo-parrot e5268b, rakudo-jvm e5268b: OUTPUT«123␤»
21:45 pmurias masak, FROGGS: is rw seems to be required
21:46 FROGGS you don't have a proxy there
21:46 clsn__ r: class A  { has Int $.x; method val($self:) {Proxy.new(FETCH=>sub ($d) { $!x*10}, STORE=>sub ($a,$v) { $!x=$v-10})}}; my $a=A.new(:x(10)); say $a.val
21:46 camelia rakudo-parrot e5268b: OUTPUT«(signal SEGV)»
21:46 camelia ..rakudo-jvm e5268b: OUTPUT«100␤»
21:46 clsn__ Interesting!  I only have rakudo-p, I kept getting segvs.
21:47 FROGGS the proxy is in charge to handle fetch and store, so why don't you let it handle it?
21:47 pmurias S06:535
21:47 synopsebot Link: http://perlcabal.org/syn/S06.html#line_535
21:47 clsn__ It's okay if the $d is *@d, but not $d.
21:47 pmurias r: class A  { has Int $.x; method val($self:) is rw {Proxy.new(FETCH=>sub ($d) { $!x*10}, STORE=>sub ($a,$v) {  $!x=$v-10})}}; my $a=A.new(:x(10)); say $a.val
21:47 camelia rakudo-parrot e5268b: OUTPUT«(signal SEGV)»
21:47 camelia ..rakudo-jvm e5268b: OUTPUT«100␤»
21:48 clsn__ It's the signature of the FETCH that it doesn't like somehow.
21:48 pmurias actually according to the spec Proxy takes methods
21:48 FROGGS r: class A  { has Int $.x; method val($self:) is rw {Proxy.new(FETCH=>sub ($d) { $self.x*10}, STORE=>sub ($a,$v) {  $!x=$v-10})}}; my $a=A.new(:x(10)); say $a.val
21:48 camelia rakudo-parrot e5268b: OUTPUT«(signal SEGV)»
21:48 camelia ..rakudo-jvm e5268b: OUTPUT«100␤»
21:49 FROGGS r: class A  { has Int $.x; method val($self:) is rw {Proxy.new(FETCH=>sub ($d) { $self.x*10}, STORE=>sub ($a,$v) {  $self.x=$v-10})}}; my $a=A.new(:x(10)); say $a.val
21:49 clsn__ Yeah, I'd been trying with methods on the proxy before but at least the subs worked.
21:49 camelia rakudo-parrot e5268b: OUTPUT«(signal SEGV)»
21:49 camelia ..rakudo-jvm e5268b: OUTPUT«100␤»
21:57 masak personally, I like "100" a lot better.
21:59 FROGGS depends... is "signal SEGV" a type object?
22:01 FROGGS p: Int.HOW.set_name(Int, "signal SEGV"); say my Int $x # /o\
22:01 camelia rakudo-parrot e5268b: OUTPUT«(signal SEGV)␤»
22:01 lue FROGGS: no(t yet, perhaps)
22:01 lue ( notice how your example has ␤ after the () )
22:01 FROGGS :P
22:02 FROGGS we should invent a game: abuse the MOP
22:02 lue I forget if SIGSEGV is one of those uncatchable signals (I'm guessing no, but...)
22:10 geekosaur it's catchable, just dubious
22:10 geekosaur since it's entirely likely that something is now too screwed up for you to be able to do anything
22:11 benabik joined #perl6
22:14 hoverboard joined #perl6
22:32 masak 'night, #perl6
22:47 raiph joined #perl6
23:07 Mouq joined #perl6
23:25 berekuk joined #perl6
23:49 colomon joined #perl6
23:51 raiph joined #perl6
23:54 * jnthn is home from the Christmas/New Year travels :)
23:54 preflex jnthn: you have 1 new message. '/msg preflex messages' to read it.
23:55 timotimo oh hey jnthn :)
23:56 timotimo can you quickly sketch out what method bind_sig is supposed to do when it gets a BIND_RESULT_JUNCTION back from the binder?
23:56 timotimo it seems like all i have to do is call Junction.AUTOTHREAD($caller, $sig)
23:57 timotimo but if that was all, it wouldn't have been stubbed with a nqp::die that's about as many characters of code as the corresponding implementation
23:59 timotimo ah, no, that's not quite right
23:59 timotimo i think i have to keep the signature, but prepend the code to be called to it and invoke the method with that resulting signature perhaps?

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo