Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2008-12-28

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:00 ruoso .handled = 0; # in the beggining of CATCH
00:00 ruoso .handled = 1; # in the beggining of CATCH
00:00 ruoso .handled = 0; # in the end of CATCH
00:01 ruoso then no rethrow would be need
00:01 ruoso *needed
00:02 pmichaud ...except that marking an exception as handled (even temporarily) might roll up the stack?
00:02 ruoso only after the CATCH block was run
00:02 alester joined #perl6
00:02 ruoso not before
00:03 pmichaud unless .handled is the way that the exception decides when to release its information
00:03 pmichaud as opposed to being a simple flag.
00:04 pmichaud (again, I don't have a definite working model -- I just have pieces I've observed from lots of other models, including Parrot)
00:06 pmichaud *other _not-really-complete_ models
00:06 ruoso pmichaud, but do you think the releasing of that information would happen before the CATCH block finishes?
00:07 pmichaud I don't know.  But S04 says:
00:08 pmichaud That is,
00:08 pmichaud the stack is not unwound until some exception handler chooses to
00:08 pmichaud unwind it by "handling" the exception in question.
00:08 pmichaud That seems to imply that "handling the exception" unwinds the stack.
00:08 pmichaud or that it *could* unwinde the stack at that point.
00:08 pmichaud *unwind
00:09 ruoso hmmm
00:09 pmichaud again, I'm not saying it does work that way -- just that the spec seems to leave room for it.
00:09 pmichaud you're correct that we could all use some more definitive statements here :_)
00:09 ruoso is there any way that the smart matching could mark the exception as handled?
00:10 pmichaud I suppose, but I think we're getting to a point where we really need TimToady's ideas of how this all should work (beyond the minimal details given in S04)
00:11 ruoso but I really hope that implicit 'die $!' is just a conceptual note
00:11 ruoso and not really something supposed to be literally there
00:15 ruoso I'd be actually much happier with an implicit '.handled = 1' at the end of each when block inside CATCH
00:16 ruoso (if we have to add implicit things, that is)
00:16 ruoso anyway...
00:16 ruoso sleep &
00:25 cspencer rakudo: my $r = 'A'..'Z'; say $r.perl while (my $i = $r.shift)
00:25 p6eval rakudo 34458: OUTPUT«"B".."Z"␤"C".."Z"␤"D".."Z"␤"E".."Z"␤"F".."Z"␤"G".."Z"␤"H".."Z"␤"I".."Z"␤"J".."Z"␤"K".."Z"␤"L".."Z"␤"M".."Z"␤"N".."Z"␤"O".."Z"␤"P".."Z"␤"Q".."Z"␤"R".."Z"␤"S".."Z"␤"T".."Z"␤"U".."Z"␤"V".."Z"␤"W".."Z"␤"X".."Z"␤"Y".."Z"␤"Z".."Z"␤"AA".."Z"␤»
00:48 Tene ruoso: in rakudo right now, unhandled exceptions are rethrown.  You can prevent that by setting the ['handled'] of the exception, which makes it just .return() instead.  iirc.
00:48 Tene That's what I remember implementing, which is only weak evidence at best.
01:09 dwhipp joined #perl6
01:28 araujo joined #perl6
01:39 brunoV joined #perl6
02:01 alanhaggai__ joined #perl6
02:04 kisu__ joined #perl6
02:10 DemoFreak joined #perl6
02:14 spx2 joined #perl6
02:25 Ehtyar joined #perl6
02:26 alanhaggai joined #perl6
02:34 cspencer rakudo: say "a".succ
02:34 p6eval rakudo 34462: OUTPUT«b␤»
02:35 cspencer rakudo: say "a".pred
02:35 p6eval rakudo 34462: OUTPUT«a␤»
02:41 meppl good night
02:54 kisu_ joined #perl6
02:55 cspencer joined #perl6
02:56 alc joined #perl6
03:11 alanhaggai joined #perl6
03:12 samlh joined #perl6
03:17 pugs_svn r24656 | lwall++ | [Spec] get rid of some fossil uses of * spotted by masak++
03:23 Chillance joined #perl6
03:27 Patterner rakudo: say "@".pred
03:27 p6eval rakudo 34463: OUTPUT«@␤»
03:30 pugs_svn r24657 | lwall++ | [Spec] differentiate $*ARGFILES from the $*ARGS capture, noticed by zev++
03:36 alester joined #perl6
03:36 pugs_svn r24658 | lwall++ | [Spec] remove fossil typecast noticed by masak++
04:01 elmex_ joined #perl6
04:06 alanhaggai joined #perl6
04:20 Guest41571 joined #perl6
04:21 pugs_svn r24659 | lwall++ | [range-by.t] fix parsefail
04:31 signals-signals joined #perl6
04:34 signals-signals left #perl6
04:39 pmichaud @tell TimToady  it feels really odd to me that variable declarations of the form  "my Int $x" end up going through <multi_declarator>.  Any specific reason why that's the case?
04:39 lambdabot Consider it noted.
04:42 TimToady pmichaud: see S04:78 re "my proto $x"
04:42 lambdabot TimToady: You have 7 new messages. '/msg lambdabot @messages' to read them.
04:42 pmichaud seems like it might be easier to parse 'proto' inside of variable declarator
04:43 TimToady you can also mark each declaration with "multi"
04:43 pmichaud ah.
04:43 pmichaud then that's why :-)
04:44 TimToady also gives us "my multi &foo" if we want it
04:44 pmichaud okay.
04:44 pmichaud would 'multi' be used with anything other than a subroutine var?
04:47 TimToady it can be used on any duplicate declaration that you want to suppress warnings on
04:47 pmichaud okay.
04:47 pmichaud thanks for the quick answer.
04:47 TimToady say, if you write a macro containing "my multi $x = foo()"
04:48 TimToady unlike with functions, all those $x are the same var though
04:48 cspencer joined #perl6
04:48 TimToady so we don't have to track interior scopes, just current lexical scope, for eval and such
04:51 TimToady ruoso: I would say that the "die $!" is merely notional, except that we also have to handle real die in a CATCH without requiring every CATCH block to have a CATCH block within it, which would be problematic...
04:52 TimToady I'd say that die within a CATCH block is one way to signal that the current exception was not handled yet.  The new exception needs to be recorded within the the current $!, probably
04:53 TimToady though we should think about whether we want to try to find an exception handler outside the CATCH first, which seems problematic
04:54 TimToady if someone suggests making $! a junction of outstanding exceptions, we can shoot them  :)
04:55 pmichaud hey!  Maybe we should make $! into a junct.... <kapow!>
04:56 TimToady or maybe the original die just calls the first CATCH it finds, and relies on it to call subsequent CATCHes
04:57 TimToady in that case, die would want to see if it's throwing a different exception, and incorporating the old $! if so
04:57 TimToady maybe that's a cleaner model
04:57 TimToady in any case, die doesn't unwind the stack, so it can be used to continue searching if we like
04:58 apeiron joined #perl6
05:00 alester joined #perl6
05:10 abebae joined #perl6
05:11 alanhaggai joined #perl6
05:18 cspencer rakudo: my $r = Range.new(:from(10), :to(1)); $r.minmax.say
05:18 p6eval rakudo 34463: OUTPUT«101␤»
05:19 cspencer rakudo: my $r = Range.new(:from(1), :to(10)); $r.minmax.say
05:19 p6eval rakudo 34463: OUTPUT«110␤»
05:20 cspencer pugs: my $r = Range.new(:from(10), :to(1)); $r.minmax.say
05:20 p6eval pugs: OUTPUT«*** No such subroutine: "&Range"␤    at /tmp/u7FaHZOpjH line 1, column 4-37␤»
05:21 cspencer pugs: my $r = 10..1; $r.minmax.say
05:21 p6eval pugs: OUTPUT«*** No such method in class Array: "&minmax"␤    at /tmp/6UwTRKx8fG line 1, column 16 - line 2, column 1␤»
05:22 TimToady I don't think pugs ever had Range objects
05:22 cspencer that would explain things :)
05:23 cspencer is the output for the first one i'd sent to rakudo correct?
05:23 cspencer it returns "10 1" for the minmax
05:23 cspencer though the :by is positive
05:24 pmichaud iirc, when :by is positive, minmax returns .from and .to
05:24 pmichaud although I wasn't completely clear on that part of the spec.
05:24 pmichaud TimToady: BTW, S02 shows Range as immutable, but I think that must not be the case if it has .pop and .shift
05:25 cspencer ah ok, yes, that's what it says in S03
05:30 TimToady we might be confusing two different concepts under one name
05:40 Tene The difference between Range being immutable and ranges being immutable.
05:44 cspencer rakudo: my $r = Range.new(:from(10), :to(1)); $r.min.say
05:44 p6eval rakudo 34463: OUTPUT«10␤»
05:44 cspencer rakudo: my $r = Range.new(:from(1), :to(10)); $r.min.say
05:44 p6eval rakudo 34463: OUTPUT«1␤»
06:07 alanhaggai joined #perl6
06:38 xinming joined #perl6
06:41 justatheory joined #perl6
06:46 aindilis` joined #perl6
06:55 alc joined #perl6
07:12 Hell_Kaiser joined #perl6
07:16 Matt-W rakudo: class Foo { has $.bar; method baz() { $.bar = 'Wibble'; } } Foo.new.baz();
07:16 p6eval rakudo 34468: OUTPUT«Statement not terminated properly at line 1, near "Foo.new.ba"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
07:25 mberends joined #perl6
07:25 Hell_Kaiser joined #perl6
07:29 azawawi joined #perl6
07:30 azawawi good morning
07:30 Matt-W Morning
07:43 ejs joined #perl6
08:07 xuser_ joined #perl6
08:21 pugs_svn r24660 | azawawi++ | [gimme5] removed extra 'our $DELIM;' that was causing a variable redeclaration warning
08:24 pugs_svn r24661 | azawawi++ | [Syntax::Highlight::Perl6] updated to the latest perl6.vim
08:31 PZt joined #perl6
08:33 iblechbot joined #perl6
08:37 ejs joined #perl6
08:58 DemoFreak joined #perl6
09:30 eternaleye_ joined #perl6
09:53 azawawi @tell TimToady i have managed to write a testcase for a problem i have been recently having with STD (http://sial.org/pbot/34090)
09:53 lambdabot Consider it noted.
10:34 pmurias joined #perl6
10:38 pmurias sorry, about people typing stuff into my terminal
10:44 pmurias moritz_: i installed scons myself
10:44 ejs joined #perl6
11:02 neniro joined #perl6
11:09 barney joined #perl6
11:11 neniro left #perl6
11:16 icwiener joined #perl6
11:16 justatheory joined #perl6
11:29 pugs_svn r24662 | schwarzer++ | fix some minor issues while reading through README & friends
11:29 pugs_svn r24662 | schwarzer++ | - whitespaces (+format)
11:29 pugs_svn r24662 | schwarzer++ | - typos
11:29 pugs_svn r24662 | schwarzer++ | - style
11:29 pugs_svn r24662 | schwarzer++ | nothing of interest, really
11:30 icwiener Should entries that are present in READTOO and READTHEM be removed from READTOO?
11:47 icwiener Ok, I'll just do it since it is mentioned in the READTOO file. :)
11:49 pugs_svn r24663 | schwarzer++ | remove entry that is available in both READTOO and READTHEM
12:01 smtms joined #perl6
12:07 ejs joined #perl6
12:07 pmurias mildew: $OUT.print("works\n")
12:07 p6eval mildew: No output (you need to produce output to STDOUT)
12:28 ejs1 joined #perl6
12:31 icwiener Is there a reason for many smartlinks being # L<S03/Changes to Perl 5 operators/Bitwise operators get a data type prefix> instead of # L<S03/Changes to Perl 5 operators/"Bitwise operators get a data type prefix"> (see the quotes) as stated in the README file?
12:33 alanhaggai joined #perl6
12:34 szabgab Is there an __END__ in Perl 6 ?
12:36 pugs_svn r24664 | pmurias++ | [smop] P5Interpreter.eval can now load XS modules
12:36 pugs_svn r24664 | pmurias++ | commented out the SMOP initialisation code to enable it being used from an embedded p5
12:36 pugs_svn r24664 | pmurias++ | [mildew] updated t/p5.t
12:37 pmurias szabgab: no
12:37 * szabgab reverting to =begin =end for commenting out large chunk of code
12:38 pmurias it's =begin END and $=END
12:38 pmurias see S02:3065
12:42 szabgab thanks
12:43 szabgab STD does not seem to like it
12:51 pugs_svn r24665 | schwarzer++ | fix broken smartlinks
12:51 pugs_svn r24665 | schwarzer++ |
12:51 pugs_svn r24665 | schwarzer++ | - do not use format specifier in paragraph description
12:51 pugs_svn r24665 | schwarzer++ | - adapt to changes in the synopsis' texts
12:52 pmurias szabgab: it doesn't like what?
12:56 jferrero joined #perl6
13:12 idemal joined #perl6
13:18 * ruoso just sent an email to p6-language with all his concerns about compile-time vs run-time
13:28 ejs joined #perl6
14:21 meppl joined #perl6
14:22 Whiteknight joined #perl6
14:27 pmurias joined #perl6
14:28 pmurias ruoso: use happens at parse time
14:29 pmurias ruoso: why can't some modules be staticly linked?
14:30 pmurias * statically
14:32 ejs joined #perl6
14:40 rakudo_svn r34490 | pmichaud++ | [rakudo]: spectest-progress.csv update: 264 files, 5913 passing, 0 failing
15:13 vixey joined #Perl6
15:20 apeiron joined #perl6
15:33 apeiron_ joined #perl6
15:46 ruoso pmurias, some modules require loading symbols that are only available at some specific runtiem
15:47 ruoso i.e.: an apache module
15:57 jhorwitz joined #perl6
16:08 cspencer joined #perl6
16:16 masak joined #perl6
16:17 iblechbot joined #perl6
16:29 pmurias_ joined #perl6
16:29 pmurias joined #perl6
16:29 ruoso how would be a sane way to get the current continuation in Perl 6?
16:30 pmurias ruoso: it's intentionaly not specced
16:30 ruoso because considering that each CATCH/CONTROL block needs to rethrow the exception, we need to store the continuation where the exception refers to into the continuation
16:31 masak ruoso: IIRC, $larry doesn't want to expose continuations, due to differences in implementations/platforms.
16:31 masak ruoso: however, gather/take can be made to provide continuations at least in some cases.
16:31 masak I guess yours is not such a case, however.
16:32 pmurias masak: gather/take provides coroutines
16:32 masak pmurias: yes.
16:32 ruoso unless we assume that when you instantiate an exception (i.e.: .new()), it automatically stores the continuation where it was created
16:33 ruoso pmurias, masak, gather/take doesn't solve my problem because it creates a new coroutine, I need to refer to the current continuation
16:33 masak ruoso: yes, I guessed as much.
16:34 pmurias ruoso: we need a way to refer to the interpreter object
16:34 ruoso er... $*VM ?
16:35 ruoso rakudo: say $*VM;
16:35 p6eval rakudo 34496: OUTPUT«␤»
16:35 pmurias we don't really need to expose it to Perl 6
16:35 ruoso right...
16:36 ruoso some time ago, larry agreed on implementation-specific-macros to be named in a ___FOO___ scheme
16:37 ruoso ___INTERPRETER____
16:38 masak moritz_: ping
16:39 cspencer joined #perl6
16:41 ruoso hmm... I think Code needs an API to call with current continuation
16:41 ruoso CATCH and CONTROL blocks need it
16:42 masak ruoso: does the fact that Perl 6 is meant to be implemented in Perl 6 mean that call/cc needs to be exposed in the language?
16:43 masak or does it just mean that it needs to be exposed in the implementation used to implement Perl 6?
16:43 ruoso hm.... that's not the reason
16:44 ruoso the reason is that the CATCH and CONTROL blocks are executed "with the caller of the enclosing routine as its back"
16:44 vixey you can implement call/cc by turning all the code to CPS form (but I guess that doesn't really say..)
16:44 masak ruoso: "as its back"?
16:45 ruoso masak, as the outer in the stack
16:45 maerzhase joined #perl6
16:45 ruoso to where it would return to
16:45 pmurias vixey: turning all code to CPS form isn't really the nicest thing
16:45 vixey yes
16:45 ruoso meaning that if the CATCH block throws a new exception, it goes straight to block outside the block that encloses the CATCH
16:45 ruoso vixey, but SMOP already does a kind of CPS
16:46 pmurias we do more of a "couroutine passing form"
16:46 masak ruoso: I understand all the words you're saying, but...
16:46 ruoso that's why it's so easy to deal with continuations in SMOP
16:46 masak I don't really see how it all fits together.
16:46 * vixey I haven't looked at SMOP in months.. better check it again :)
16:46 ruoso pmurias, a continuation doesn't need to be re-invokable to be a continuation
16:46 jhorwitz_ joined #perl6
16:47 ruoso conceptually, a continuation is simply something that represents "the rest of the execution"
16:48 masak ruoso: aye.
16:49 kisu_ joined #perl6
16:49 * masak has read Ch 3 of "Lisp In Small Pieces" very carefully and many times
16:49 ruoso masak,  sub foo { fail 1 }; sub bar { foo(); CATCH { fail 2 }; }; sub baz { foo(); {CATCH { when 2 { # it gets here } } } };
16:49 ruoso if you think on the nested blocks
16:49 * pmurias has to borrow "Lisp In Small Pieces" some day from the library
16:50 masak ruoso: hold on, thinking :)
16:50 ruoso the CATCH block is *inside* bar
16:50 ruoso but it goes straight to *outside* bar
16:50 ruoso when it fails...
16:51 ruoso and this all happen before the stack is unwinded from the exception being thrown
16:51 masak wait, wait. I assume that besides declaring three subs, you also call something. which one? baz?
16:51 ruoso yes
16:51 masak and bar is never executed?
16:51 ruoso meh.. baz was supposed to call bar
16:52 masak let's start from a correct example :P
16:52 ruoso ok
16:52 ruoso masak,  sub foo { fail 1 }; sub bar { foo(); CATCH { fail 2 }; }; sub baz { bar(); {CATCH { when 2 { # it gets here } } } }; baz()
16:52 masak also, the CATCH block in baz looks strange.
16:52 ruoso it does have an extra { }
16:52 ruoso but it doesn't care
16:52 masak intentionally?
16:52 masak ok.
16:52 ruoso actually
16:53 ruoso the oppening { is in the wrong place
16:53 ruoso let me re-write it *again*
16:53 masak :)
16:53 ruoso masak,  sub foo { fail 1 }; sub bar { foo(); CATCH { fail 2 }; }; sub baz { bar(); CATCH { when 2 { # it gets here } } }; baz()
16:53 ruoso right... now it should be fine
16:53 masak so the order of events is (1) baz called (2) bar called (3) foo called
16:53 ruoso yes...
16:53 ruoso then foo fails
16:53 masak (4) exception 1 thrown (5) and caught
16:53 ruoso bar tries to catch it
16:54 ruoso but fails again
16:54 masak (6) exception 2 thrown (6) and caught
16:54 ruoso exactly...
16:54 masak and we end up in the `when 2 {}` block
16:54 ruoso yes
16:54 masak what's the problem?
16:54 ruoso but the important thing
16:54 masak seems we just walk down and up the call stack.
16:55 ruoso except that the call stack is not unwinded until the exception is handled
16:55 masak fair enough.
16:55 ruoso note that inside &bar, the exception from foo is *not* handled
16:55 ruoso which means that we have not one, but two exceptions
16:55 masak that just means that we keep stack frames below out current depth.
16:56 ruoso and each of those exceptions point somehow to the continuation where they were thrown
16:56 masak ...so that we kan resume execution from there?
16:56 ruoso eventually, yess
16:57 ruoso (if the exceptino does Resumable, according to TimToady)
16:57 masak could one resume both? :)
16:57 ruoso good question
16:57 masak or will resuming a higher one invalidate the lower one?
16:57 ruoso but the point here...
16:57 ruoso is that the CATCH block doesn't try to CATCH its own exceptions
16:58 ruoso { fail 1; CATCH { fail 2 }}
16:58 masak ah, right.
16:59 masak it only catches things that come in from callees.
16:59 masak but surely that can be solved without continuations? just make the CATCH block recognize and rethrow its own block's exceptions.
17:00 ruoso masak, it actually means that CATCH is executed as if it was called by this routine's caller
17:00 ruoso it never even see its own exceptions
17:01 masak ruoso: ok. I see how that can work too, but it sounds complicated.
17:01 masak why do it that way?
17:02 ruoso it only sounds complicated if you don't support call//cc
17:04 masak ruoso: no, it sounds complicated if you've first thought of the idea of CATCH blocks recognizing and rethrowing their own block's exceptions :)
17:08 pmurias ruoso: how should i "use SMOP" withought installing SMOP?
17:08 ruoso setting -I and LD_LIBRARY_PATH
17:09 * pmurias hates LD_LIBRARY_PATH
17:09 pmurias what should i set LD_LIBRARY_PATH to?
17:09 aindilis joined #perl6
17:10 ruoso to where libsmop.so is
17:11 pmurias if i just -I../smop/SMOP i get an error that the object can't be found
17:12 ruoso have you built SMOP xs?
17:12 ruoso run make test in SMOP/smop
17:12 pmurias perl Makefile.pl;make in smop/SMOP
17:12 ruoso yes
17:13 ruoso if you run make test
17:13 ruoso it will show what you need to add in -I
17:13 cspencer joined #perl6
17:14 pmurias ok
17:14 Matt-W Does rakudo have zip yet?
17:14 masak Matt-W: sure!
17:14 Matt-W Hmm so it's not that then
17:14 masak rakudo: <1 2 3> Z <a b c>
17:14 p6eval rakudo 34497: RESULT«["1", "a", "2", "b", "3", "c"]»
17:15 Matt-W oh
17:16 Matt-W I thought it was called zip()
17:16 masak Matt-W: well, that too.
17:16 masak Matt-W: I'm not sure the function form is implemented.
17:16 masak rakudo: zip(1)
17:16 p6eval rakudo 34502: OUTPUT«Could not find non-existent sub zip␤current instr.: '_block14' pc 55 (EVAL_13:38)␤»
17:16 masak seems not.
17:16 Matt-W ahah
17:16 Matt-W that might be fairly easy to do then
17:16 Matt-W if the operator's alreadydone, which it is
17:17 masak Matt-W: depends.
17:17 Matt-W yeah there could be something hideous
17:17 masak there's supposed to be semicolons in the arg list of zip()
17:17 Matt-W but if I'm going to contribute I need to start somewhere
17:17 masak I don't know if those are supported yet.
17:17 Matt-W hmm they may not be
17:17 masak Matt-W: pmichaud and jnthn will know that.
17:17 Matt-W because I tried doing for zip(blah blah; blah blah) and it said statement not terminated correctly
17:18 * ruoso will consider that Code.postcircumfix:<( )> accepts a named parameter cc to support call/cc
17:18 masak Matt-W: sounds like typical unawareness of intra-arglist semicolon, yes.
17:18 Matt-W but on the bright side
17:18 Matt-W the code I'm trying to write actually works!!
17:18 masak Matt-W++
17:18 pmichaud zip() doesn't exist because we don't have slice context yet.
17:18 Matt-W and I've got to use roles and methods and inheritance and stuff :)
17:19 Matt-W it's like I'm writing code in Perl 6!
17:19 Matt-W oh wait... I am!
17:19 pmichaud (i.e., we don't parse semicolons in argument lists yet)
17:19 Matt-W pmichaud: okay, well at least there's Z, saved me a lot of effort just now
17:19 pmichaud yeah, Z is simpler because the arguments are already parsed the way we expect :-)
17:19 Matt-W :D
17:19 pmichaud I'm working on parameter passing now
17:20 pmichaud (but it's a major refactor, so it'll be a while.)
17:20 Matt-W pmichaud++
17:20 Matt-W Is it just me, or do roles seem far more natural than ordinary inheritance for a lot of things?
17:20 pmichaud it's not just you.
17:20 Matt-W I suspect they're going to be used an awful lot
17:21 Matt-W ooh
17:21 Matt-W I don't suppose rakudo supports heredocs?
17:22 pmichaud not yet.
17:22 Matt-W I'll do it the other way then
17:25 masak heredocs might actually be the last thing I miss in Rakudo.
17:25 masak but I don't miss them very much, since ordinary strings work almost as well.
17:25 Matt-W I tend to use them a fair bit in Perl 5 code, so I miss them in just about every other language
17:26 Matt-W I don't get to use much Perl at work :( so I have to bash my way through C++ a lot and its string handling is of course fairly poor
17:26 Matt-W I believe food is nearly ready
17:26 Matt-W &
17:28 charsbar_ joined #perl6
17:31 OuLouFu joined #perl6
17:34 jnthn joined #perl6
17:34 pmurias joined #perl6
17:34 apeiron joined #perl6
17:34 justatheory joined #perl6
17:34 dalek joined #perl6
17:34 SamB joined #perl6
17:34 broquaint joined #perl6
17:34 hcchien joined #perl6
17:34 nnunley joined #perl6
17:34 szbalint joined #perl6
17:36 alester joined #perl6
17:46 yves joined #perl6
17:55 masak is there some way to make a class internal to a sub?
17:56 ruoso my class
17:56 masak rakudo: sub x { my class A { has $.foo } }; say A.new.foo
17:56 p6eval rakudo 34502: OUTPUT«␤»
17:57 masak that a bug?
18:02 ruoso masak, yes... it should have failed
18:03 ejs joined #perl6
18:03 pugs_svn r24666 | ruoso++ | [smop] CATCH and CONTROL is run with the outer of the block that contains the CATCH block as caller, providing the semantics as explained by TimToady yesterday. the CATCH and CONTROL blocks need to rethrow the exception if they dont handle it
18:03 pugs_svn r24666 | ruoso++ | [smop] adding OutOfItemsException, needed to support Iterator (this need to be spec)
18:03 pugs_svn r24666 | ruoso++ | [smop] $capture.named returns false if the named argument doesnt exist
18:03 pugs_svn r24666 | ruoso++ | [smop] Code.postcircumfix:<( )> accepts :$cc named parameter to support call/cc
18:03 pugs_svn r24666 | ruoso++ | [mildew] move CATCH blocks setup to the top of the block, the same way as CONTROL
18:03 masak I can report it later, when I have web access.
18:05 pugs_svn r24667 | ruoso++ | [smop] $code.($capture, :cc($continuation)) never returns...
18:05 ruoso actually, the above commit message is wrong...
18:06 ruoso $code.postcircumfix:<( )>($capture, :cc($continuation)) never returns
18:06 ruoso $code.() is the same as $code()
18:08 pugs_svn r24668 | ruoso++ | [smop] OutOfItemsException works like ControlExceptionReturn, but looks for CATCH instead of CONTROL
18:09 ruoso TimToady, what do you think about the :cc named parameter to postcircumfix:<( )> ?
18:11 pugs_svn r24669 | ruoso++ | [spec] name OutOfItemsException in the DRAFT S07
18:14 cspencer rakudo: my $r = 1..10; say $r
18:14 p6eval rakudo 34502: OUTPUT«12345678910␤»
18:22 pugs_svn r24670 | ruoso++ | [mildew] a test showing throw inside catch
18:23 ruoso pmurias, now we officially have return again, but now with the proper semantics as explained by TimToady :)
18:25 * ruoso later &
18:35 Psyche^ joined #perl6
18:40 rakudo_svn r34511 | bernhard++ | [doc] Change the filename in PDO to the real filename
18:53 apeiron joined #perl6
18:56 nacho_ joined #perl6
19:06 ejs joined #perl6
19:08 maerzhase joined #perl6
19:38 aindilis` joined #perl6
19:39 spx2 joined #perl6
19:40 maerzhase left #perl6
19:40 maerzhase joined #perl6
19:41 Ehtyar joined #perl6
20:07 cspencer rakudo: my $r = 1..10; while (my $i = $r.shift()) { say "i = $i (" ~ $r.perl ~ ")" }
20:07 p6eval rakudo 34516: OUTPUT«i = 1 (2..10)␤i = 2 (3..10)␤i = 3 (4..10)␤i = 4 (5..10)␤i = 5 (6..10)␤i = 6 (7..10)␤i = 7 (8..10)␤i = 8 (9..10)␤i = 9 (10..10)␤i = 10 (11..10)␤»
20:35 ruoso joined #perl6
20:39 rindolf joined #perl6
21:03 brunoV joined #perl6
21:08 maerzhase joined #perl6
21:09 ruoso joined #perl6
21:30 maerzhase joined #perl6
21:34 donaldh joined #perl6
21:36 gourav joined #perl6
21:37 gourav hi i have been able to download PARROT from SVN
21:37 gourav did make and make test on it but when i am trying to run make install then it says  : "WARNING:
21:37 gourav Installing Parrot may interfere with developing Parrot
21:37 gourav on the same machine.  This is a temporary flaw in the
21:37 gourav Parrot build system.
21:37 gourav To use the make install target, type: make reallyinstall
21:37 gourav /usr/bin/perl -e "exit(1)"
21:37 gourav make: *** [install] Error 1"
21:38 gourav please let me know what should i do now
21:39 ruoso gourav, I'd recommend using parrot in the build directory at this moment
21:40 maerzhase joined #perl6
21:40 gourav how do i do that i am new to perl development and to open source development as well, so i need some step by step guidance
21:42 vixey gourav: well the question is do you really want to install it despite what that message says?
21:44 gourav what i understand is that if i have to modify some parts of the code then i have to rebuild it once again. as it suggests it might interfere with the original code in that case
21:45 c9s_ joined #perl6
21:45 gourav so if you are working on it please guide me on how to proceed
21:45 gourav this is my first time and i know i am asking some really silly questions here
21:47 gourav it is 3:20 am in India and i am determined to start working on PERL6 development provided i get some help
21:51 pmurias gourav: what do you want to proceed with?
21:51 gourav i am a beginner so you tell me the best way to start contributing
21:53 pmurias do you want to contribute to the Parrot VM or to rakudo?
21:53 pmurias you could look at TODO
21:54 pmurias i'm not a parrot guy so it's hard to tell me what's the best way to contribute
21:54 gourav raduko
21:55 gourav so please tell me about raduko
21:56 pmurias i work on an alternative perl6 compiler (mildew) so i'm not the best person to tell you about rakudo
21:58 gourav okies
21:59 gourav so difference b/w Parrot VM and Raduko is it is a Parrot implementation of perl. am i right
22:00 pmurias rakudo is the compiler, parrot is the vm
22:00 gourav got it
22:01 gourav so i am really interested in raduko development
22:01 pmurias what do you want to code in?
22:01 gourav is there any one over there to provide some guidance?
22:01 pmurias there = ?
22:02 gourav that is what someone has to help me with?
22:02 gourav i have absolutely no clues on that
22:09 dmq joined #perl6
22:09 dmq left #perl6
22:15 mberends gourav, is your OS unix compatible?
22:15 gourav yeah
22:15 gourav i work on UBUNTU
22:16 mberends can you make a symbolic link to the perl6 executable in one of the directories in your search path?
22:18 mberends for example, sudo ln -s /home/myname/parrot/languages/perl6/perl6 /usr/local/bin
22:18 mberends that way you can try lots of perl6 commands at the shell prompt
22:22 mberends scrolling back, it looks like you should also do 'make perl6' in the parrot directory
22:22 gourav thanks a lot its 4:00 am here and i have to hit office in another 5 hours. I will surely try this and let you know by tomorrow
22:23 mberends ok
22:31 gourav left #perl6
22:44 cspencer joined #perl6
23:06 nacho_ joined #perl6

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

Perl 6 | Reference Documentation | Rakudo