»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
[Coke] phenny: tell jnthn I bisected the segfault on build failure to github.com/perl6/nqp/issues/64 01:09
phenny [Coke]: I'll pass that on when jnthn is around.
skids
.oO(Are &= and |= junctive assignment useful enough that they should not be simply caught as C-isms during syntax)
03:36
TimToady if you're really doing bit-oriented ops, chances are that the variable is declared int32 or some such anyway, which would rule out a junction 03:38
skids That sounds reasonable, 03:42
moritz \o 04:48
phenny moritz: 27 Oct 20:11Z <rindolf> tell moritz that's OK - I found juerd's E-mail address in a an old E-mail.
sorear o/ 05:33
azawawi hi #perl6 06:12
phenny azawawi: 27 Oct 08:22Z <moritz> tell azawawi I'll upgrade p6eval once 2012.10 is released
moritz r: sub f(|$a) { } 06:31
p6eval rakudo 9d50d6: OUTPUT«Obsolete use of | or \ with sigil on param $a␤»
moritz r: sub f(|$a) { }; say 'alive';
p6eval rakudo 9d50d6: OUTPUT«Obsolete use of | or \ with sigil on param $a␤alive␤»
dalek ar: 25a969b | moritz++ | docs/announce/2012.10:
update deprecations

include those from rakudo 2012.10, and remove one that was carried out in .09
06:33
dalek kudo/nom: ccc4d74 | moritz++ | src/core/IO.pm:
carry out IO::Path.dir deprecation
07:12
cognominal nr: my @a := < 1 2 3 > 07:40
rn: my @a := < 1 2 3 > 07:42
jnthn morning 10:24
phenny jnthn: 01:09Z <[Coke]> tell jnthn I bisected the segfault on build failure to github.com/perl6/nqp/issues/64
masak good antenoon, #perl6 10:44
jnthn o/ masak 10:45
masak hehe. the backlog on feather's irssi contains two repetitions of the interval 02:00 -- 03:00 :P
tadzik ha :)
jnthn The daylight. It has been saved. 10:46
masak "where were you at 02:45 last night?" -- "which 02:45 do you mean, officer?"
tadzik ahaha
you can write a crime story based on that 10:47
"Time is difficult"
masak similarly, there's a whole hour in the end of March which *does not exist*. 10:48
dalek kudo/Q: 6fcac2e | jnthn++ | src/Perl6/Actions.pm:
Add postprocessor invocation.
11:13
kudo/Q: f0291ac | jnthn++ | src/Perl6/Grammar.pm:
Switch comments from quote_EXPR to quibble.
pmurias jnthn: the values in a .symtable are shared for all instances of the lexpad? 11:47
jnthn pmurias: Things in symtable with a value will, I think always, have had things arranged so that the symbol is in the static lexpad (and thus each invocation of a frame gets that value). 12:02
dalek kudo/Q: 1d1d0bf | jnthn++ | src/Perl6/ (2 files):
Replace qx and qqx special forms with x quote_mod.
12:12
kudo/Q: 1a1ee94 | jnthn++ | src/Perl6/ (2 files):
Implement :w, and eliminate special-cased qw.
pmurias jnthn: so serialising them to js, and then just looking them up seems a sane approach? 12:22
jnthn pmurias: The way NQP does it is when the runtime pad is created, it gets all of the things from the static lexpad copied into it. 12:26
pmurias so it's the same way as I'm planning to do 12:29
jnthn: would looking them up directly from the static lexpad make a difference?
jnthn pmurias: I think not in NQP. Rakudo does one extra bit of magic here though; it can be set to clone things as it copies. Thus a scalar container installed in the static lexpad is fresh per invocation. 12:34
jnthn bah, star Makefile doesn't work out too well.... 12:52
tar: unrecognized option `--xform'
nwc10 jnthn: sorry if I'm pre-empting a blog post explanation, or missed this earler, but what's the benefit of Q? More grammar shared with std? 13:25
jnthn nwc10: STD convergence (including getting a bunch of quoting things right that we currently get wrong), supporting quote adverbs (mostly easy to implement once these changes are done), and having things factored in a way that makes doing heredocs approachable. 13:27
nwc10 Rakudo doesn't have heredocs yet? So Perl 3 is better than Perl 6, for some things? :-) 13:29
jnthn For heredocs, sure :)
jnthn personally doesn't miss heredocs terribly, but plenty of folks seem to really want them 13:30
nwc10 it's a slippery slope - give them herdocs, and then they'll be asking for formats 13:36
and then typeglobs :-)
jnthn Formats aren't my problem, because they're not in the core language, but pushed out into module space. :D 13:37
cognominal rn: for gather for 1..2 { say "take $_"; take $_ } { say "gathered $_" } 13:47
p6eval rakudo ccc4d7: OUTPUT«take 1␤take 2␤gathered 1␤gathered 2␤» 13:48
..niecza v22-14-g136ddcf: OUTPUT«take 1␤gathered 1␤take 2␤gathered 2␤»
dalek kudo/Q: d530f01 | jnthn++ | src/Perl6/ (3 files):
Switch quote words over.

A little fiddly as this affected colonpair in name handling. Also had to move shell words over, though this isn't completely done yet, so a few tests fail.
14:41
kudo/Q: 2f83583 | jnthn++ | src/Perl6/ (2 files):
Move shell world handling over.

This unbusts the shell words spectests broken by the previous commit.
jnthn r: say <>.WHAT 14:41
p6eval rakudo ccc4d7: OUTPUT«===SORRY!===␤Unsupported use of <>; in Perl 6 please use lines() to read input, ('') to represent a null string or () to represent an empty list␤at /tmp/WSq1zspgTT:1␤»
jnthn r: (class { method postcircumfix:<{ }>(\a) { say a.WHAT } })<x> 14:42
p6eval rakudo ccc4d7: OUTPUT«Str()␤» 14:43
jnthn r: (class { method postcircumfix:<{ }>(\a) { say a.WHAT } })<x y>
r: (class { method postcircumfix:<{ }>(\a) { say a.WHAT } })<>
p6eval rakudo ccc4d7: OUTPUT«Parcel()␤»
rakudo ccc4d7: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in method postcircumfix:<{ }> at /tmp/LAv8sX4T5t:1␤ in block at /tmp/LAv8sX4T5t:1␤␤»
jnthn r: say qw//.WHAT 14:44
p6eval rakudo ccc4d7: OUTPUT«Parcel()␤»
jnthn away for a bit 14:55
bowtie is there an equivalent of the llama for perl6, please 15:13
geekosaur github.com/perl6/book but it's still in progress 15:15
bowtie geekosaur, thanks
masak bowtie: in general, check out perl6.org/documentation/ 15:31
the book is nice but is considered an abandoned project at this point.
bowtie masak, thanks for that 15:33
masak you're welcome. good luck with your Perl 6 learning. we're here for any questions you have.
dalek kudo/Q: 7226b0a | jnthn++ | src/Perl6/ (2 files):
Switch postcircumfix angles over.

Following STD more closely here seems to get us passing a few TODO'd tests also.
15:35
masak TimToady: STD.pm6 doesn't use 'let' or 'temp' anywhere. are there places where it could but doesn't? 15:38
dalek kudo/Q: 28d4bf1 | jnthn++ | src/Perl6/Actions.pm:
Delete dead code.
15:50
jnthn Q is looking fairly good. Only two mentions of quote_EXPR (calls to the old quote handling) remain in Grammar.pm. 15:51
masak nice.
jnthn Has been more straightforward than I'd feared.
masak why those two, ooc?
jnthn Just didn't get to them yet. One is mostly LHF. 15:52
The other one is the s/// one.
And I want to look more closely at what STD does there.
masak *nod*
jnthn Also want to do some tidying up once they're done, and deal with quote adverbs. 15:54
masak r: macro twice($code) { quasi { {{{$code}}}; {{{$code}}} } }; my $counter = 0; twice $counter++; say $counter 15:55
p6eval? 15:56
jnthn p6eval is hazing a slow Sunday
p6eval rakudo ccc4d7: OUTPUT«0␤»
masak should be 2.
jnthn o rly? 15:57
:)
masak :)
flussence "response hazy, try again later"
masak goal: fix this.
the '{{{$code}}}' things in the one-liner above are replaced, at macro apply time, with the macro argument '$counter++'. 15:58
however, they currently don't get the right environment. they get something static instead of the runtime lexpad that contains the $counter we want to ++. 15:59
jnthn bah 16:00
masak current consensus is that the solution that needs to be applied already exists in the Rakudo codebase: it's what's being done to make roles get the right environment, even if they are applied "early".
jnthn So the box I was gonna do the * release on at first has...a versin of tar that doesn't support something the Makefile needs.
So I thought...fine...I set up an Ubuntu virtual box...they have the latest shit
Try to log into it and...compiz crashes, whatever that is. :/ 16:01
masak jnthn: "Compiz is a 3D desktop for your computer." 16:02
jnthn 'cus that's just what I want! 16:03
masak because to be really productive, your desktop needs to have an axis that intersects with your nose.
masak jnthn: srsly, stick with Debian. 16:03
it's like Ubuntu, except that it works.
jnthn bah, screw this, now the thing hangs on startup while doing some network config 16:04
OK. * release isn't happening today. 16:05
(Unless somebody else cuts it.)
linux-- 16:06
flussence what's the thing tar doesn't support?
jnthn flussence: -xfrom, whatever that is.
masak uh? 16:07
I have an -x flag, but no -xfrom.
oh, -xform!
also known as --transform
jnthn uh, xform
masak `use sed replace EXPRESSION to transform file names` 16:08
flussence erm 16:08
jnthn github.com/rakudo/star/blob/master...kefile#L30
flussence my tar doesn't have that either
jnthn pmichaud++ must just have tar from the future or something... :)
masak I do, too, then.
flussence it's got --transform though...
masak it's GNU tar, fwiw. 16:09
tar (GNU tar) 1.26
flussence "tar (GNU tar) 1.26" 16:09
jnthn "tar (GNU tar) 1.20" on the box I used to do the * releases on. 16:10
jnthn masak: so, uh, if I want to upgrade my tar program on a Debian box...? :) 16:10
flussence oh wait... it has it in --help but not in the manpage...
geekosaur manpages are typically crap for gnuware 16:11
'cause the only legitimate documentation format in existence is texinfo
tadzik 'evening 16:13
masak jnthn: apt-get upgrade <package> ?
tadzik! \o/
tadzik \o/
flussence geekosaur: yeah, but Debian usually does a good job of fixing them so other people can actually use them :) 16:14
geekosaur masak: only if you're willing to switch to testing or unstable
(the latter of which is called "sid" for a reason...)
masak oh, I see.
moritz \o 16:15
tadzik sid, like the boy who broke toys 16:16
jnthn masak: hm, and apt-get thinks I already have unmet dependencies and offers to upgrade 100 packages for me to help. No thanks...
hi moritz
moritz tadzik: speaking of broken toys, did you already review my panda branch? 16:17
(I hope I didn't break that toy in the branch= 16:18
s/\=/)/
tadzik nah, was partying the entire day :) I'll have tuits in handy this evening, I have a few things to look atk :)
sorry for this taking so long
flussence jnthn: I'm no debian expert, but if you run aptitude and pick "Cancel pending actions" from the F10 menu it should stop trying to upgrade everything for the time being 16:22
TimToady masak: STD uses temp, but only on dynamic variables 16:45
masak oh, I missed those. 16:46
I thought the common use case for temp was on dynamic variables. 16:47
TimToady well, temp was supposed to replace local, but with copy-down semantics when you don't initialize it 16:48
we just borrowed the semantics of temp %*FOO initializing %*FOO to whatever it was outside contextually
and left beind the normal localization of a variable by copying its value to a save stack 16:49
it's true that STD doesn't temporize any normal variables, but that's mainly because we emulate contextuals with local anyway 16:50
masak *nod*
jaffa4 r: my $progline; my $pos_progline = 0; $progline ~~ m:c($pos_progline)!\N*?\*\/\s*!; 17:49
p6eval rakudo ccc4d7: OUTPUT«===SORRY!===␤Confused␤at /tmp/MBFupSA1N7:1␤»
jaffa4 std: my $progline; my $pos_progline = 0; $progline ~~ m:c($pos_progline)!\N*?\*\/\s*!; 17:50
p6eval std edd7715: OUTPUT«===SORRY!===␤Regex missing terminator (or semicolon must be quoted?) at /tmp/Fco1T_aE6_ line 1 (EOF):␤------> ine ~~ m:c($pos_progline)!\N*?\*\/\s*!;⏏<EOL>␤Parse failed␤FAILED 00:00 45m␤»
jaffa4 std: my $progline; my $pos_progline = 0; $progline ~~ m:c($pos_progline)x\N*?\*\/\s*x; 17:51
p6eval std edd7715: OUTPUT«===SORRY!===␤Alphanumeric character is not allowed as delimiter at /tmp/QDnfLcbKjL line 1:␤------> ne = 0; $progline ~~ m:c($pos_progline)⏏x\N*?\*\/\s*x;␤ expecting any of:␤ desigilname␤ statement modifier loop␤
..twigil␤Parse f…
masak std: my $progline; my $pos_progline = 0; $progline ~~ m :c($pos_progline)!\N*?\*\/\s*!;
p6eval std edd7715: OUTPUT«===SORRY!===␤Regex missing terminator (or semicolon must be quoted?) at /tmp/g7y9KClhar line 1 (EOF):␤------> ne ~~ m :c($pos_progline)!\N*?\*\/\s*!;⏏<EOL>␤Parse failed␤FAILED 00:00 45m␤»
jaffa4 it does not like ! 17:52
std: my $progline; my $pos_progline = 0; $progline ~~ m:c($pos_progline)/\N*?\*\/\s*/;
p6eval std edd7715: OUTPUT«ok 00:00 45m␤»
jnthn std: 'abc' ~~ m!foo!; 17:59
p6eval std edd7715: OUTPUT«ok 00:00 43m␤»
jnthn std: 'abc' ~~ m:c(42)!foo!;
p6eval std edd7715: OUTPUT«ok 00:00 44m␤»
jnthn std: 'abc' ~~ m :c(42)!foo!;
p6eval std edd7715: OUTPUT«ok 00:00 44m␤»
adu hi jnthn
jnthn o/ adu 18:00
jaffa4: I need to keep an eye on my nom cooking, but it doesn't seem to be the !
adu anyone here in the US? 18:01
[Coke] yes.
adu everyone's freaking out about the storms in the northwest, and southeast 18:02
diakopter oblivious
adu I stocked up on Chai :)
hopefully we won't loose power, so I can do some hacking 18:03
masak is "loose power" when the power hose jumps free and starts thrashing around on the lawn? 18:06
adu masak: hahaha, I meant "lose" 18:12
masak :P 18:13
pmurias jnthn: nqp::istype doesn't work on metaobjects? 18:22
jnthn pmurias: Meta-objects are just objects, so it should work 18:39
r: say Int.HOW ~~ Metamodel::ClassHOW # for example
p6eval rakudo ccc4d7: OUTPUT«True␤»
jnthn r: say nqp::p6box_i(nqp::istype(Int.HOW, Metamodel::ClassHOW)) 18:40
p6eval rakudo ccc4d7: OUTPUT«1␤»
jnthn r: say nqp::p6box_i(nqp::istype(Int.HOW, Metamodel::GrammarHOW))
p6eval rakudo ccc4d7: OUTPUT«0␤»
masak r: Int.HOW ~~ Str.HOW 18:47
p6eval rakudo ccc4d7: ( no output )
masak r: say Int.HOW ~~ Str.HOW
p6eval rakudo ccc4d7: OUTPUT«False␤»
masak r: say Int.HOW.HOT ~~ Str.HOW.HOT
p6eval rakudo ccc4d7: OUTPUT«No such method 'HOT' for invocant of type 'Perl6::Metamodel::ClassHOW'␤ in block at /tmp/V5Wm7gFP4U:1␤␤»
masak er. 18:48
jnthn HOT?
masak r: say Int.HOW.HOW ~~ Str.HOW.HOW
p6eval rakudo ccc4d7: OUTPUT«No such method 'ACCEPTS' for invocant of type 'NQPClassHOW'␤ in block at /tmp/mgZ44krZSV:1␤␤»
masak jnthn: Freudian slip, apparently :)
jnthn Congrats, you went two levels up and left the Perl 6 type system :P
masak jnthn: the keys are right next to each other. 18:48
jnthn :P 18:49
moritz r: nqp::say(nqp::istype(Int.HOW.HOW, Str.HOW.HOW)
p6eval rakudo ccc4d7: OUTPUT«===SORRY!===␤Unable to parse expression in argument list; couldn't find final ')' at line 2, near ""␤»
moritz r: nqp::say(nqp::istype(Int.HOW.HOW, Str.HOW.HOW))
p6eval rakudo ccc4d7: OUTPUT«0␤»
moritz r: say Int.HOW.HOW
diakopter r: print .HOW.HOW.HOW
p6eval rakudo ccc4d7: OUTPUT«No such method 'gist' for invocant of type 'NQPClassHOW'␤ in sub say at src/gen/CORE.setting:7304␤ in block at /tmp/PTWaNFl0Fg:1␤␤»
rakudo ccc4d7: OUTPUT«No type check cache and no type_check method in meta-object␤ in method print at src/gen/CORE.setting:7482␤ in sub print at src/gen/CORE.setting:7298␤ in block at /tmp/BFJ7IbqKUj:1␤␤»
diakopter I win
moritz r: say Str.HOW.HOW
p6eval rakudo ccc4d7: OUTPUT«No such method 'gist' for invocant of type 'NQPClassHOW'␤ in sub say at src/gen/CORE.setting:7304␤ in block at /tmp/5GMuuiMAIs:1␤␤»
diakopter jnthn: 6model error ^^ 18:50
jnthn diakopter: It's probably telling the truth... :)
diakopter yeah
jnthn diakopter: But I'm surprised we get it...
moritz diakopter: not 6model error, rather metacicularity error, I think
diakopter "always try print when say will do" 18:51
jnthn diakopter: No, you did one more .HOW :) 18:52
diakopter how now brown cow 18:53
masak did I ever list this as an autopun? bash.org/?3936 18:54
moritz jnthn: are you aware of any Rakudo LHFs I might attack tonight?
jnthn moritz: hered...<duck> 18:55
masak hereducks?
moritz jnthn: here, have a document :-)
jnthn moritz: If you want to help with the quote branch, quote adverbs should be very do-able now :)
(I did much of the things already)
moritz: But I'm happy to do that also.
moritz: I was looking at the features page earlier and wondered why we miss andthen and orelse 18:56
moritz jnthn: because of the exception-y bits
currently the are synonyms for || (or was it //?) and && 18:57
but IMHO they are supposed to do a bit more
jnthn Yes, looking at S03 at the moment
masak yes, they do more.
they contextualize on stuff.
jnthn I can't see anything fundemental that we're missing, fwiw 18:58
I guess the trick is to thunk anything that's not already a block
So for: test1() orelse -> $! { test2() }
Thunk the left argument, then pass them along to an infix:<orelse> that goes through its arguments, calls them in order until one works out, and uses .count to know whether to pass the exception, or so. 18:59
moritz r: say 1 andthen 2 19:00
p6eval rakudo ccc4d7: OUTPUT«===SORRY!===␤Confused␤at /tmp/abFHh8m4TZ:1␤»
jnthn r: say 1 orelse 2 19:01
p6eval rakudo ccc4d7: OUTPUT«1␤»
moritz multi infix:<orelse>(Mu \a, Mu \b) { a // b } 19:02
jnthn moritz: STD has it as list associative.
moritz r: say 1 orelse say 42
p6eval rakudo ccc4d7: OUTPUT«1␤»
moritz I don't see how there the thunking happens 19:03
jnthn moritz: Which means it really can be done the loopy way I suggested :)
moritz: You'd have to thunk it in Actions.
lemme find an example...
moritz jnthn: but my example above shows that it already thunks
r: say 1 orelse say 42
p6eval rakudo ccc4d7: OUTPUT«1␤»
moritz no 42
so it thunks 19:04
but it's not even mentioned in Actions.pm
jnthn moritz: Oh
moritz oh
jnthn Becuase || is special
moritz :pasttype<defor>
jnthn Yeah
So I'm not sure if it ever calls the thing in the setting.
moritz ah, it's probably only there for reduction meta ops 19:05
jnthn Yeah, I think so
moritz: xx_op shows you how xx ends up thunked. 19:06
well, one side of it 19:07
moritz block_closure(make_thunk_ref($lhs, $/)),
jnthn *nod*
Apart from it's list associative (or should be) so you'd not end up with an lhs and rhs, but rather loop over the things. 19:08
jnthn Also things that are already blocks needn't be thunked 19:08
moritz how do I check if a QAST node is a Perl 6 block? 19:16
with .returns?
jnthn moritz: No, it will have a <past_block> set on it 19:17
if $ast<past_block> { ... } 19:18
moritz jnthn: takk
masak .oO( it's as if Norwegians get Swedish spelling almost right... ) :P 19:24
jnthn
.oO( but why mention the roof? )
19:25
moritz r: say (-> $a, $b?).arity 19:29
p6eval rakudo ccc4d7: OUTPUT«===SORRY!===␤Missing block␤at /tmp/LQyV_JLPQo:1␤»
moritz r: say (-> $a, $b? {}).arity
p6eval rakudo ccc4d7: OUTPUT«1␤»
sorear o/ 19:31
jnthn o/ sorear 19:32
moritz r: sub f($x) { say $x }; f |2 19:47
p6eval rakudo ccc4d7: OUTPUT«2␤»
moritz ack -l andthen t/spec/|wc -l 20:01
0
:(
moritz catches himself adding a trailing 1; to a Perl 6 file 20:09
tadzik better safe than sorry :)
moritz at work we have each function in a separate file, and a magic Loader.pm that adds package declarations and sorta-lazily loads them. That loader needs trailing 1;s 20:10
tadzik moritz: did you have a chance to test your branch on windows? 20:11
panda/custom-lib, that is
moritz tadzik: no
tadzik moritz: I must say I don't quite get github.com/tadzik/panda/compare/ma...-lib#L2R10 :)
oh, $prefix 20:12
I read that as 'my $prefix' for some reason, nevermind me
moritz fwiw the branch works locally 20:13
moritz though I guess it doesn't handle all corner cases directly 20:13
tadzik yeah, I'm just double-allergic to touching bootstrap.pl after it finally started working on windowses :) 20:14
I'm testing it locally now, it looks ok by looking at it
moritz like if there's a non-writable panda dir, it'll simply bootstrap into another one 20:14
not sure if that's the correct thing to do, or if it should die instead
moritz phenny: ask FROGGS if we he could please test the panda/custom-lib branch on windows (requires a pretty recent rakudo, for example the 2012.10 release) 20:15
phenny moritz: I'll pass that on when FROGGS is around.
tadzik seen FROGGS? 20:16
aloha FROGGS was last seen in #perl6 2 days 3 hours ago joining the channel.
tadzik moritz: when do we plan the star release? 20:17
jnthn tadzik: I tried to make it today and failed :/
tadzik jnthn: star release? Panda? Panda/custom-lib?
jnthn tadzik: star release.
armitage81 hi 20:18
tadzik hello armitage81
armitage81 i have a question
about perl5
tadzik jnthn: could you test the last one?
armitage81 if you can help me
tadzik armitage81: perl5 is better asked at #perl probably
this channel is dedicated to Perl 6
armitage81 nobody is answer there 20:18
tadzik I'm there 20:19
they may react better to questions than to "hi"s though :)
pmurias has anyone looked into the results for Rakudo::Star on cpantesters? 20:22
looking at the UNKNOWN results there a build failures 20:23
moritz so far I've seen "permission denied" while installing, and a segfault during building CORE 20:27
pmurias s/a/are 20:29
moritz: the first one in a wierd linker error
www.cpantesters.org/cpan/report/033...3e3b6b8117 20:30
the second a wierd header error: www.cpantesters.org/cpan/report/1a8...090e115ead 20:31
but that seems something more for #parrot
pmurias but if somebody managed to build Rakudo::Star on all those machine we could likely make cpan testers test perl6 modules 20:41
dalek kudo/nom: c82a6d5 | moritz++ | / (4 files):
implement infix:<andthen>
20:43
moritz thats as a nice LHF, but I was so unconcentrated that I needed many, many recompile cycles, which took up all of the time 20:44
(even though I implemented the actual operator in userspace first; you can't believe how many typos and thinkos I can make in the small piece of code in Actions.pm) 20:45
jnthn moritz++ 20:46
moritz: while ($i < $e) { # don't need no parens ;-) 20:47
moritz: Looks like the sub andthen can become a sub cascade_op that takes 'andthen' or 'orelse' as a parameter too, once orelse is built in a similar way :) 20:48
masak moritz++ # andthen 21:30
flussence it makes slightly less sense to me than a monad :( 21:31
masak flussence: the comparison is apt, though. the do notation does (structurally) something very similar to what andthen does. 21:35
the do notation in Haskell, I mean.
[Coke] anyone have any suggestions on my nqp segfault? 23:54
or is there more data I can provide/ 23:55
?