Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2008-06-03

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 TimToady you only need to wrap warn() if you want to capture control before any of those handlers do.
00:01 TimToady but if you merely want to override the default warn handler, that's just the one in the outermost dynamic scope
00:01 TimToady so any dynamic scope inside that can override the outer handler
00:11 eternaleye joined #perl6
00:35 alc joined #perl6
01:04 cornelius_ joined #perl6
01:05 cornelius_ joined #perl6
01:08 japhb joined #perl6
01:11 Auzon pugs: my @a = 1 .. 10; my %h = @a; say %h.perl
01:11 exp_evalbot OUTPUT[{("1" => 2), ("3" => 4), ("5" => 6), ("7" => 8), ("9" => 10)}␤]
01:25 Ched- joined #perl6
01:39 Maghnus pugs: my @a = 1 .. 9; my %h = @a; say %h.perl
01:39 exp_evalbot OUTPUT[*** Odd number of elements found where hash expected: VList [VInt 1,VInt 2,VInt 3,VInt 4,VInt 5,VInt 6,VInt 7,VInt 8,VInt 9]␤    at /tmp/OQq3SCWurd line 1, column 17-27␤]
01:46 alanhaggai joined #perl6
02:17 sri_work joined #perl6
02:23 bacek_ joined #perl6
02:52 Auzon perl6: my $x = 1; $x ++; say $x
02:52 exp_evalbot kp6 r20630: OUTPUT[syntax error at position 14, line 1 column 14:␤my $x = 1; $x ++; say $␤              ^ HERE␤]
02:52 exp_evalbot ..pugs: OUTPUT[2␤]
02:52 exp_evalbot ..rakudo r28040: OUTPUT[2␤]
02:52 exp_evalbot ..elf r20630: OUTPUT[Parse error in: /tmp/sImoTprkeu␤panic at line 1 column 11 (pos 11): Can't understand next input--giving up␤WHERE: my $x = 1; $x ++; say $x␤WHERE:           /\<-- HERE␤  STD_red/prelude.rb:98:in `panic'␤  STD_red/std.rb:76:in `scan_unitstopper'␤  STD_red/std.rb:224:in
02:52 exp_evalbot ..`comp_unit'␤  STD_red/std.rb:210:in `_UNIT'␤  ./../STD_red/STD_red_run:1...
02:54 Auzon pugs: sub infix:<++> ($a, $b) {2*($a + $b)}; my $a = 1; my $b = 2; say $a ++ $b;
02:54 exp_evalbot OUTPUT[*** ␤    Unexpected "$b"␤    expecting operator, ":" or ","␤    at /tmp/o0jwpFzpxu line 1, column 72␤]
02:54 Auzon pugs: sub infix:<++> ($a, $b) {2*($a + $b)}; my $a = 1; my $b = 2; say $a ++, $b;
02:54 exp_evalbot OUTPUT[12␤]
02:54 Auzon tsk.
02:54 c1sung joined #perl6
03:08 Auzon perl6: »*« 1..6
03:09 Auzon Oops
03:09 exp_evalbot joined #perl6
03:09 bacek_ Auzon: its all your fault :)
03:09 Auzon Indeed. I should investigate why that happens.
03:48 cjfields joined #perl6
03:49 cjfields left #perl6
04:57 alc joined #perl6
05:04 Maghnus_ joined #perl6
05:21 bacek_ perl6: say reduce { $^a + $^b }: 100, (1..6)
05:21 exp_evalbot kp6 r20630: OUTPUT[syntax error at position 24, line 1 column 24:␤say reduce { $^a + $^b }: 100, (1..6␤                        ^ HERE␤]
05:21 exp_evalbot ..pugs: OUTPUT[121␤]
05:21 exp_evalbot ..rakudo r28042: OUTPUT[Statement not terminated properly at line 1, near ": 100, (1."␤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)␤
05:21 exp_evalbot ..elf r20630: OUTPUT[syntax error at (eval 14) line 3, near ") :"␤ at ./elf_f_faster line 4492␤]
05:23 bacek_ rakudo: say reduce { $^a + $^b }, 100, @array
05:23 exp_evalbot rakudo r28042 OUTPUT[Scope  not found for PAST::Var '@array'␤current instr.: 'parrot;PCT::HLLCompiler;panic' pc 156 (src/PCT/HLLCompiler.pir:103)␤
05:23 bacek_ rakudo: say reduce { $^a + $^b }, 100, (1..6)
05:23 exp_evalbot rakudo r28042 OUTPUT[No applicable methods.␤current instr.: '_block11' pc 73 (EVAL_13:27)␤
05:53 moritz_ good morning
05:53 Auzon good evening moritz_ :)
05:54 Auzon Do you have any ideas why evalbot occasionally segfaults?
05:54 moritz_ no :(
05:55 Auzon Did it happen before I added elf support?
05:55 Auzon I don't remember it happening before, and I see it mostly happen when people use 'perl6'
05:55 moritz_ yes, it happened before
05:57 redicaps joined #perl6
05:59 Auzon OK. Well, I think I can easily adjust the 'perl6' usage to process and return the output for one implementation at a time. That way, we can at least see which one dies.
06:00 Auzon Plus, it'd be nice for the output to not hang on all of them.
06:02 moritz_ aye
06:13 bacek_ pugs: say reduce { }, (1..5);
06:13 exp_evalbot OUTPUT[*** Cannot cast from VList [VInt 1,VInt 2,VInt 3,VInt 4,VInt 5] to Pugs.AST.Internals.VCode (VCode)␤    at /tmp/0s34iW4H9r line 1, column 5-23␤]
06:13 bacek_ pugs: say reduce { -1 }, (1..6);
06:13 exp_evalbot OUTPUT[*** Cannot reduce() using a unary or nullary function.␤    at /tmp/Y4UdIUNjjl line 1, column 5-26␤]
06:14 Auzon moritz_: I took a look at doing that for evalbot, but I'll need to review the docs for Bot::Basicbot. I'll handle that in the morning. night &
06:15 moritz_ Auzon: good night
06:29 BinGOs joined #perl6
06:33 luqui joined #perl6
06:43 meppl joined #perl6
07:07 masak joined #perl6
07:20 mj41 joined #perl6
07:28 fullermd joined #perl6
07:31 redicaps left #perl6
07:36 mj41_ joined #perl6
07:44 mj41 joined #perl6
08:00 Torment joined #perl6
08:10 masak does prefix ++ in perl 6 return an lvalue?
08:11 moritz_ dunno. Why would anyone want to assign to it?
08:11 masak just wondering if `++$var++` is allowed syntax :)
08:11 moritz_ if you want to assign to it, there's no point in incrementing it
08:12 moritz_ masak: don't think so
08:12 masak there is in the above case
08:12 masak (not advocating it, just curious)
08:17 moritz_ I can find no evidence in the specs, but I think that it's forbiddne, much like in C and perl 5
08:21 masak if the specs are silent, it's likely the same as in perl 5, yes
08:21 elmex joined #perl6
08:22 bacek_ pugs: my $x=1; say ++$x++;
08:22 exp_evalbot OUTPUT[*** Can't modify constant item: VInt 2␤    at /tmp/dhBKWga9Ub line 1, column 14-20␤]
08:22 pmurias joined #perl6
08:22 bacek_ perl6: say my $x=1; say (++$x)++;
08:23 exp_evalbot kp6 r20630: OUTPUT[syntax error at position 23, line 1 column 23:␤say my $x=1; say (++$x)++␤                       ^ HERE␤]
08:23 exp_evalbot ..pugs: OUTPUT[1␤*** Can't modify constant item: VInt 2␤    at /tmp/nRyP7H6vTZ line 1, column 18-26␤]
08:23 exp_evalbot ..rakudo r28044: OUTPUT[Method 'lvalue' not found for invocant of class 'PAST::Stmts'␤current instr.: 'parrot;PAST::Compiler;as_post' pc 2554 (src/PAST/Compiler.pir:684)␤
08:23 exp_evalbot ..elf r20630: OUTPUT[Can't modify preincrement (++) in postincrement (++) at (eval 14) line 4, near ")++"␤ at ./elf_f_faster line 4492␤]
08:23 bacek_ elf++
08:23 bacek_ :)
08:23 moritz_ bacek_: that seems like an error message from perl 5
09:19 zamolxes joined #perl6
09:41 moritz_ pugs: say $?PUGS_VERSION
09:41 exp_evalbot OUTPUT[Perl6 User's Golfing System, version 6.2.13, October 17, 2006 (r18093)␤]
09:47 chris2 joined #perl6
09:48 b_jonas joined #perl6
09:48 ruoso joined #perl6
09:58 bacek joined #perl6
10:08 ruoso :) SMOP grant was approved :) for those who didn't see the news :)
10:09 moritz_ ruoso: congratulations
10:09 moritz_ (I did see it, but I didn't see you on IRC ;)
10:09 ruoso I was on vacations in amsterdam
10:09 ruoso 4 days offline ;)
10:11 moritz_ a nice city with quite some perl mongers ;)
10:12 ruoso yeah... few friends of mine work at booking...
10:42 pmurias ruoso: when will the grant start?
10:42 ruoso I will need a couple weeks before starting...
10:42 bacek rakudo: say (1+undef).WHAT;
10:42 exp_evalbot rakudo r28046 OUTPUT[Failure␤]
10:43 bacek rakudo: my $a = 1 + undef; say $a; say $a.WHAT;
10:43 exp_evalbot rakudo r28046 OUTPUT[1␤Failure␤]
10:43 ruoso pmurias, but the grant manager wasn't assigned yet
10:43 pmurias will you use kp6 or elf?
10:43 bacek Ho! Gotcha!
10:44 bacek rakudo: my $a = 1 * undef; say $a; say $a.WHAT;
10:44 exp_evalbot rakudo r28046 OUTPUT[0␤Int␤]
10:45 pmurias bacek: that behaviour is correct
10:45 moritz_ maybe infix:<+> is just missing a multi?
10:45 pmurias bacek: the second one that is ;)
10:47 ruoso pmurias, I should get to creating the Ast object types...
10:47 ruoso which means that something might generate C code that will be initialized as the ast tree itself
10:47 ruoso maybe that will already be something runnable
10:48 ruoso which would mean that it wouldn't really be AST, but more higher-level SLIME nodes
10:49 ruoso my priority is getting p6opaque done
10:49 ruoso because that is really the most important milestone
10:49 ruoso after that, we can have the s1p compiler to write other classes...
10:49 ruoso and I think we'll then advance in a faster pace...
10:51 ruoso and maybe even port kp6 or elf to bootstrap in SMOP
10:58 pmurias is the option to have multiple -e's and input files in elf usefull?
10:59 moritz_ pmurias: usually everything after the input file or the first -e is used for  @*ARGV
10:59 moritz_ pmurias: how would you distinguish these two cases?
11:00 pmurias the current elf design uses "--"
11:01 pmurias kp6 only allowes multiple -e's
11:13 hanekomu joined #perl6
11:13 ruoso pmurias, moritz_, I've just uploaded a new version of the "Perl 6 is just a SMOP" talk slides... would you like to take a look and comment ;) ?
11:13 ruoso http://people.debian.org/~ruoso/SMOP.pdf
11:14 moritz_ ruoso: looking...
11:18 moritz_ ruoso: in Perl 6 you'd say "Int $a = something()"
11:18 moritz_ not Integer
11:18 ruoso ops...
11:19 ruoso moritz_++, thanks
11:23 * ruoso replacing "KP6 backend" by "kp6/elf backend" in the "things to come" slide...
11:24 moritz_ ruoso: how long is the talk?
11:24 ruoso 40 minutes
11:24 ruoso I realise I'll have to skip some parts
11:24 moritz_ don't think so
11:25 moritz_ 2 slides per minute on average
11:25 moritz_ that's fast, but most slides contain only a few words
11:25 ruoso some of these slides are entirely entertaining...
11:25 moritz_ yes
11:25 moritz_ like mOOOOse
11:25 ruoso yeah...
11:26 ruoso one thing I'd like to see in the near future (as soon as I finish p6opaque) would be SMOP::P6Opaque as a Moose metainstance...
11:29 moritz_ does that mean you have to interact with perl 5 on the C level?
11:29 b_jonas wow,
11:29 ruoso only to implement SMOP::P6Opaque...
11:29 ruoso after that, it would be only in Moose level
11:29 b_jonas you mean a uniform p6 interface to any p5 moose object?
11:30 ruoso b_jonas, my point is that this is what P6 is all about...
11:30 b_jonas or the reverse, a p5 moose interface for any p6 object?
11:30 ruoso I think both scenarios are very likely
11:31 ruoso both perl5 embeded in SMOP
11:31 ruoso as SMOP embeded in perl5
11:31 b_jonas rouso: yeah, but uniform interfaces are the part of parrot and p6 are what I least believe in
11:31 ruoso b_jonas, not really...
11:31 b_jonas I don't like automatic uniform interfaces between languages
11:31 ruoso parrot intends to uniform them in the syntax level
11:31 b_jonas as such, I don't like the Inline:: p5 modules
11:31 ruoso all of them would be compiled targeting parrot
11:32 b_jonas really, there are two things I don't like
11:32 ruoso this is different from interfacing with another language's runtime
11:32 b_jonas one is _transparent_ interfaces between two language's objects
11:32 ruoso which is how I think it should be done...
11:32 ruoso there's no "transparent" interface... this is something that I still couldn't find to be doable...
11:33 ruoso you have an "abstraction layer"
11:33 ruoso just like XS
11:33 SamB what is "transparent"?
11:33 ruoso but less ugly
11:33 b_jonas that is, I dislike an interface that wants to fool you that the foreign object has the interface similar to native objects
11:33 ruoso SamB, transparent means "without typemap"
11:33 moritz_ or "hidden"
11:33 b_jonas rouso: no, without typemap is the second thing I dislike
11:33 b_jonas that I call automatic interfaces
11:34 b_jonas like when they promise you'll be able to call any C function from perl6 without any wrapper writing
11:34 ruoso b_jonas, the thing is... if you get your protocol to a lower level (meta-object-protocol) you're not hiding...
11:34 ruoso you're simply communication in a lower level
11:34 SamB b_jonas: ludicrous
11:34 b_jonas SamB: yeah, they said it a bit differently
11:34 b_jonas and for parrot handling it actually
11:36 b_jonas on the same conference where Leo later answered to my question -- if I remember correctly -- that blocking c extension functions for parrot will have to be stackless because they don't want all the setcontext magic ruby does for threads
11:36 ruoso b_jonas, once you have typing (which you don't in p5), you can have type coercion, then you can coerce Perl 6 Int to C int in the runtime...
11:36 ruoso only using the MOP
11:38 SamB how C int can implement MOP?
11:38 ruoso it's not C int that implements it
11:38 ruoso but the invocation code that calls the C function
11:38 ruoso just like XS
11:39 SamB why does "XS" make me think of the deathstar?
11:39 ruoso but you can use the runtime's type coercion to always receive Perl 6 native int
11:39 ruoso and avoid dealing with all the perl magic
11:39 b_jonas ruoso: yes, the haskell c interface for example does a quite good job with it
11:39 b_jonas but that doesn't mean you can use any c function
11:39 ruoso and that's the big difference from XS
11:39 b_jonas there are still lots of requirements a c function you want to call from haskell can do
11:40 pmurias it should be possible to use any c function from smop withought writing any wrappers
11:40 SamB lots?
11:40 b_jonas (not surprising, since just a 'c function' can do _anything_)
11:40 SamB the main restriction is that you need to know the types of the arguments
11:40 b_jonas SamB: there's more than that
11:40 ruoso SamB, not really... there are IO issues and all other sort of hidden traps
11:41 SamB the second one is that it can't deal in structs...
11:41 pmurias SamB: lots refered to?
11:41 b_jonas I guess you'll probably still easily be able to wrap _lots_ of c functions
11:41 SamB well, that is, it can't deal in directly-passed-or-returned structs
11:41 b_jonas like most from libgsl
11:41 b_jonas I think libgsl still doesn't have a full wrapper in _any_ language because it has lots of functions
11:42 b_jonas even the haskell interface wraps just some of them
11:42 b_jonas it's huge like lapack
11:42 b_jonas anyway, ttl
11:42 b_jonas bye
11:43 ruoso SamB, one big difference in P6 is that this struct can be the value itself... not a SV* with an int that happens to be the pointer address of that struct...
11:43 ruoso and if the library implements some kind of OO-like API... you can actually map it directly...
11:44 ruoso instead of fake-ing everything in p5land to dispatch the methods...
11:44 SamB so you have gtk bindings?
11:44 ruoso yes...
11:44 ruoso you can actually have that today in p5
11:45 SamB that use this principle of operation?
11:45 ruoso but only thanks to a whole set of dark magic implemented by the perl-gtk guys
11:45 ruoso SamB, perl-gtk uses a lot of tricks to make it work...
11:45 ruoso it would be natural in P6 to have different object systems co-existing
11:46 ruoso like...
11:46 ruoso instead of the p5 interpreter dispatching the method call
11:46 ruoso to a fake method in p5 land that dispatches the real method in the gtk land
11:46 bacek pugs: my $a = 1 + undef; say $a; say $a.WHAT;
11:46 exp_evalbot OUTPUT[1␤Int␤]
11:46 moritz_ ruoso: re slides, the "only exceptions are native types" lacks a bit context
11:48 ruoso moritz_, ok... I'll work on it... maybe I don't even need to mention it, as it's a technical detail...
11:53 pmurias ruoso: it's possible to encapsulation with other types too, it's just not socially accepted ;)
11:53 pmurias * break encapsulation
11:53 SamB you don't have anything like __getattr__ in p5?
11:53 ruoso pmurias, sorry... I missed the context...
11:54 ruoso SamB, __getattr__?
11:55 SamB Python thing...
11:55 ruoso SamB, you mean, from python?
11:55 ruoso no... actually you can't
11:55 SamB p5 hasn't got anything like that?
11:56 ruoso because in p6 the interpreter can't assume to know the internal format of the object
11:56 ruoso except for the native types
11:56 pmurias ruoso: it's possible to break the encapsulation (assume internals knowledge) with non-native types, hoping nothing bad happens
11:57 ruoso it's a gray-area
11:57 ruoso because SMOP actually uses it for its benefit...
11:57 SamB eh?
11:57 ruoso but it only does that after checking for a known responder interface
11:58 ruoso for bootstrapping reasons
11:58 SamB __getattr__ is implemented by the object...
11:58 ruoso SamB, oh sorry... I misunderstood it
11:58 SamB you must be thinking of getattr()
11:58 SamB ;-P
11:59 SamB if you think those look kinda similar, you'd be right ... they are quite closely related
11:59 ruoso but the "get attr by name" thing might not be doable in p6
11:59 SamB hmm. what did you mean by "fake method"?
11:59 ruoso because there are no "public attributes" in p6
12:00 ruoso SamB, a method that simply proxies to the real method
12:00 SamB where do they come from?
12:00 ruoso SamB, the fake methods? they are declared somewhere in gtk initialization...
12:00 ruoso but I'm not really sure...
12:01 SamB ah, so they aren't transient?
12:02 ruoso transient?
12:03 SamB eh, I should read up on perl objects...
12:03 bacek perl6: say (1..4).map({$^a+$^b+$^c})
12:03 exp_evalbot kp6 r20630: OUTPUT[syntax error at position 4, line 1 column 4:␤say (1..4).map({$^a+$^b+$^c}␤    ^ HERE␤]
12:03 exp_evalbot ..pugs: OUTPUT[64␤]
12:03 exp_evalbot ..rakudo r28046: OUTPUT[64␤]
12:03 exp_evalbot ..elf r20630: OUTPUT[Global symbol "$c" requires explicit package name at (eval 14) line 3.␤ at ./elf_f_faster line 4492␤]
12:03 SamB what was the manpage for that again?
12:03 moritz_ S12 (for Perl 6)
12:05 pbuetow joined #perl6
12:07 ruoso moritz_, you think I could remove the "native types" part of the presentation/
12:07 ruoso ?
12:07 moritz_ ruoso: yes
12:07 ruoso nice
12:12 Simor joined #perl6
12:13 * ruoso updated the slides...
12:14 wknight8111 joined #perl6
12:15 bacek rakudo: say (1+undef)+undef
12:15 exp_evalbot rakudo r28046 OUTPUT[MMD function __add not found for types (102, 102)␤current instr.: 'infix:+' pc 9730 (src/gen_builtins.pir:6757)␤
12:15 SamB that's really ugly
12:16 SamB why does it say types 102,102
12:16 ruoso SamB, that's probably the id of the type...
12:16 bacek pugs: say (1+undef)+undef
12:16 exp_evalbot OUTPUT[1␤]
12:16 SamB well it's a stupid-looking sort of id
12:17 moritz_ SamB: I agree, but what would you do about anonym types?
12:18 SamB hmm.
12:18 SamB not sure...
12:18 SamB avoid having them?
12:18 ruoso SamB, that's absolutely impossible
12:19 moritz_ SamB: no way
12:19 moritz_ SamB: $variable but $role; creates an anynyom type
12:19 ruoso there's no way to bootstrap a type system without anonymous types
12:19 SamB hehehe
12:20 SamB I have not seen a single anonymous type in Haskell or Coq or Agda 2...
12:20 moritz_ SamB: usually that's the point of them, you don't see them at all ;-)
12:20 ruoso ok... which type does the namespace have?
12:21 SamB namespace?
12:21 ruoso I mean... the namespace implementation
12:21 ruoso you need an anonymous type to implement namespace
12:21 * SamB points out that none of those systems is object oriented
12:21 ruoso that's not the point...
12:21 ruoso they are not bootstrapped type systems
12:21 ruoso that's the point
12:22 SamB oh
12:22 SamB not familiar with that terminology
12:22 bacek rakudo: say  ~(1,2,3,4).map({ $^a+$^b+$^c+$^d+$^e })
12:22 exp_evalbot rakudo r28047 OUTPUT[10␤]
12:22 ruoso in SMOP, for instance, everything is SMOP__Object*
12:22 ruoso even the interpreter
12:22 bacek rakudo: say  ~(1,2).map({ $^a+$^b+$^c+$^d+$^e })
12:22 exp_evalbot rakudo r28047 OUTPUT[MMD function __add not found for types (102, 102)␤current instr.: 'infix:+' pc 9730 (src/gen_builtins.pir:6757)␤
12:24 ruoso SamB, that means that even the SMOP Object is implemented using SMOP Object...
12:24 ruoso that's a bootstrapped type system
12:24 pmurias isn't it a bootstrapped object system?
12:25 ruoso and all of those types are anonymous so far, as SMOP doesn't have namespaces yet
12:25 ruoso pmurias, I can't really tell the difference between type system and object system...
12:25 SamB oh, a bit like Agda with type-in-type? apparantly that admits a form of russel's paradox...
12:26 SamB i.e. it gives an inconsistant logic
12:26 ruoso that's the precise reason of why it's named "bootstrap"
12:27 SamB so, I hope you weren't planning on using Perl 6's typesystem as a formal logic
12:27 SamB ;-P
12:29 bacek perl6: say undef + 1 + undef
12:29 exp_evalbot kp6 r20630: OUTPUT[1␤]
12:29 exp_evalbot ..pugs: OUTPUT[1␤]
12:29 exp_evalbot ..rakudo r28047: OUTPUT[MMD function __add not found for types (102, 91)␤current instr.: 'infix:+' pc 9730 (src/gen_builtins.pir:6757)␤
12:29 exp_evalbot ..elf r20630: OUTPUT[Use of uninitialized value in addition (+) at (eval 14) line 3.␤Can't call method "Str" on an undefined value at ./elf_f_faster line 617.␤ at ./elf_f_faster line 4492␤]
12:30 cjfields joined #perl6
12:31 cjfields left #perl6
12:48 vixey joined #PERL6
12:57 ruoso one interesting thing to do (that anyone could try) would be to implement the default HOW of Perl 6 in Perl 6
12:58 ruoso http://www.perlfoundation.org​/perl6/index.cgi?smop_oo_api describes the API it should implement...
12:58 lambdabot Title: SMOP OO API / Perl 6
12:59 ruoso http://svn.pugscode.org/pug​s/v6/smop/src-s1p/Object.pm is an example of how that code could look like
12:59 ruoso maybe the .^! calls in Object.pm should be turned into .^ calls
13:00 ruoso or maybe even the code that call those .^! methods should reside into the HOW implementation
13:00 bacek perl6: say undef - 1
13:00 exp_evalbot kp6 r20630: OUTPUT[-1␤]
13:00 exp_evalbot ..pugs: OUTPUT[-1␤]
13:00 exp_evalbot ..rakudo r28047: OUTPUT[MMD function __subtract not found for types (102, 91)␤current instr.: 'infix:-' pc 9743 (src/gen_builtins.pir:6765)␤
13:00 exp_evalbot ..elf r20630: OUTPUT[Can't call method "Str" on an undefined value at ./elf_f_faster line 617.␤ at ./elf_f_faster line 4492␤]
13:02 bacek pugs: say undef - "123"
13:02 exp_evalbot OUTPUT[-123␤]
13:03 alanhaggai joined #perl6
13:12 FurnaceBoy joined #perl6
13:19 pugs_svnbot r20631 | ron++ | just a subversion test
13:19 pugs_svnbot r20632 | ron++ | just a subversion test
13:42 rdice joined #perl6
13:45 rakudo_svn r28049 | pmichaud++ | [perl6]:
13:45 rakudo_svn r28049 | pmichaud++ | * Fix a number of operators to do proper casting.
13:45 pugs_svnbot r20633 | diakopter++ | [yap6] reverting to earlier MJD system; using CPS instead...
13:45 diakopter ruoso: congrats
13:45 ruoso diakopter, thanks
13:45 pmichaud yes, ruoso, congrats
13:45 pmichaud I'm glad to see it funded
13:46 ruoso :)
13:47 ruoso did you two see the slides I'm preparing...
13:47 ruoso for the portuguese perl workshop
13:48 ruoso pmichaud, diakopter, http://people.debian.org/~ruoso/SMOP.pdf
13:54 moritz_ pugs: say {$^a**2}.reduce: 1, 2, 3, 4
13:54 exp_evalbot OUTPUT[<SubBlock(<anon>)>␤*** Cannot cast from VList [VInt 1,VInt 2,VInt 3,VInt 4] to Pugs.AST.Internals.VCode (VCode)␤    at /tmp/LLg4znQI5A line 1, column 1 - line 2, column 1␤]
13:57 ruoso moritz_, the ":" indicates the invocant...
13:58 ruoso are you sure that was your intention?
13:58 bacek pugs: say (1..2).reduce({$^a})
13:58 exp_evalbot OUTPUT[*** Cannot reduce() using a unary or nullary function.␤    at /tmp/8sPcrFY8Qz line 1, column 5 - line 2, column 1␤]
13:58 moritz_ ruoso: I know, I just didn't look up in which class the reduce() was defined
13:58 moritz_ but List makes much more sense than Code
13:58 bacek pugs: say 'for pmichaud :)'; say (1..2).reduce({$^a})
13:58 exp_evalbot OUTPUT[for pmichaud :)␤*** Cannot reduce() using a unary or nullary function.␤    at /tmp/L24ZyG9TBV line 1, column 28 - line 2, column 1␤]
13:59 Simor left #perl6
14:00 Lorn joined #perl6
14:02 cmarcelo joined #perl6
14:03 ruoso pugs: sub foo (*@args) { @args.join(',') }; (1..5).reduce(&foo)
14:03 exp_evalbot OUTPUT[*** Cannot reduce() using a unary or nullary function.␤    at /tmp/OORfmYsbKK line 1, column 39 - line 2, column 1␤]
14:04 ruoso pugs: sub foo (*@args --> String) { @args.join(',') }; say (1..5).reduce(&foo)
14:04 exp_evalbot OUTPUT[*** Cannot reduce() using a unary or nullary function.␤    at /tmp/VSwh18zPrI line 1, column 54 - line 2, column 1␤]
14:04 ruoso what does "unary or nullary function" means here?
14:05 moritz_ pugs: say $*PROGRAM_NAME
14:05 exp_evalbot OUTPUT[␤]
14:06 ruoso perl6: sub foo (*@args --> String) { @args.join(',') }; say (1..5).reduce(&foo)
14:06 diakopter ruoso: I hope you don't mind I stole smop's former name (yapc)
14:06 pugs_svnbot r20634 | diakopter++ | [yapc] removing calculator POC
14:06 diakopter yap6
14:06 ruoso diakopter, of course I don't...
14:06 exp_evalbot joined #perl6
14:06 diakopter ok thanks
14:06 ruoso what are you using it for?
14:06 diakopter a continuation-passing-style recursive-descent parser for Perl 6 in Perl 5
14:06 ruoso cool
14:06 diakopter based on MJD's code in Higher Order Perl
14:06 meppl joined #perl6
14:07 iblechbot joined #perl6
14:07 diakopter exp_evalbot: come back
14:07 diakopter oh, it's back
14:08 pmichaud pugs:  multi sub foo() { 0; }    multi sub foo($a, $b) { $a + $b };   say (1..10).reduce(&foo);
14:08 exp_evalbot OUTPUT[55␤]
14:08 * moritz_ is glad he started evalbot in a 'while true; do $start_evalbot; done' loop
14:08 pmichaud pugs:  multi sub foo() { 0; };   say (1..10).reduce(&foo);
14:08 exp_evalbot OUTPUT[*** Cannot reduce() using a unary or nullary function.␤    at /tmp/ZvRPKwxZSt line 1, column 31-51␤]
14:09 pmichaud pugs:  multi sub foo($a, $b) { $a + $b; };  multi sub foo() { 0; };   say (1..10).reduce(&foo);
14:09 exp_evalbot OUTPUT[55␤]
14:11 ruoso pugs: multi sub foo (*@args --> String) { @args.join(',') }; say (1..5).reduce(&foo)
14:12 exp_evalbot OUTPUT[*** Cannot reduce() using a unary or nullary function.␤    at /tmp/GSMNAjBLcf line 1, column 60 - line 2, column 1␤]
14:12 ruoso pugs: multi sub foo ($a, $b --> String) { @args.join(',') }; say (1..5).reduce(&foo)
14:12 exp_evalbot OUTPUT[*** ␤    Unexpected "."␤    expecting "::"␤    Variable "@args" requires predeclaration or explicit package name␤    at /tmp/48Pu6zAtl2 line 1, column 42␤]
14:12 ruoso pugs: multi sub foo ($a, $b --> String) { ($a,$b).join(',') }; say (1..5).reduce(&foo)
14:12 exp_evalbot OUTPUT[1,2,3,4,5␤]
14:12 ruoso weird...
14:12 ruoso pugs: multi sub foo ($a, $b, $c --> String) { ($a,$b,$c).join(',') }; say (1..5).reduce(&foo)
14:12 exp_evalbot OUTPUT[1,2,3,4,5␤]
14:13 ruoso pugs: multi sub foo ($a, $b, $c --> String) { ($a,$b).join(',') }; say (1..5).reduce(&foo)
14:13 exp_evalbot OUTPUT[1,2,4␤]
14:13 ruoso weird...
14:13 moritz_ ruoso: why is that weird?
14:13 ruoso the *@args version was supposed to wok
14:13 ruoso work
14:13 moritz_ at least the first seems very intuitive to me
14:13 ruoso or is that a known bug?
14:14 ruoso pugs: multi sub foo (*@args --> String) { @args.join(',') }; say (1..5).reduce(&foo)
14:14 exp_evalbot OUTPUT[*** Cannot reduce() using a unary or nullary function.␤    at /tmp/9qeKf8xSJy line 1, column 60 - line 2, column 1␤]
14:14 ruoso this is not a unary function
14:15 moritz_ ruoso: probably .arity doesn't return the right thing for slurpy signatures
14:15 ruoso pugs: multi sub foo (*@args --> String) { @args.join(',') }; say &foo.arity
14:15 exp_evalbot OUTPUT[1␤]
14:15 ruoso pugs: multi sub foo ($a, $b --> String) {  }; say &foo.arity
14:16 exp_evalbot OUTPUT[2␤]
14:16 ruoso hmm
14:16 moritz_ it should probably return Whatever for a slurpy sig
14:16 ruoso actually Infinity
14:16 moritz_ or better, a range
14:16 moritz_ ruoso: no, it doesn't accept infinitely many arguments
14:16 ruoso moritz_, actually it does
14:17 ruoso my $capture = some_funky_sub(); foo(|$capture)
14:17 moritz_ a range can describe things like sub foo($a, *@rest_args) more accurately than a simple Infinite
14:17 ruoso but you can't figure out what the end of the range is..
14:18 moritz_ the end of the range is Infinity, sure
14:18 ruoso oh...
14:18 ruoso ok... I see.
14:18 ruoso but :(*@args) is still just Inifinity
14:19 ruoso but :($something, *@args) is then 1 .. Infinity
14:19 moritz_ why? it won't fail if you pass 1 arg
14:19 moritz_ and 1 != Infinity
14:19 ruoso but you can actually pass 0 arguments as well...
14:20 ruoso but it's just semantics, actually
14:20 ruoso returning a range kinda implies the ($some, $foo, *@args) scenario...
14:21 moritz_ ruoso: the specs are a bit more explicit in the case of the 'want' builtint...
14:21 moritz_ Their difference is that C<.arity> considers only mandatory parts,
14:21 moritz_ while C<.count> considers also optional ones, including C<*$>:
14:21 ruoso as well as for ($some, $foo?, $bar?)
14:21 ruoso ah...
14:21 ruoso ok
14:21 ruoso that would make the arity for *@args to 0
14:21 moritz_ and .count to Infinity
14:22 ruoso pugs: multi sub foo (*@args --> String) {  }; say &foo.count
14:22 exp_evalbot OUTPUT[*** No such method in class Sub: "&count"␤    at /tmp/52l5Q1Iqin line 1, column 45 - line 2, column 1␤]
14:23 ruoso so reduce should use .count instead of .arity
14:23 moritz_ if (
14:23 moritz_ urks
14:23 moritz_ ruoso: yes
14:26 cmarcelo left #perl6
14:47 polettix joined #perl6
14:47 froh-doh joined #perl6
15:11 TJCRI joined #perl6
15:16 Psyche^ joined #perl6
15:45 jhorwitz joined #perl6
15:47 IllvilJa joined #perl6
15:51 pugs_svnbot r20635 | moritz++ | [spec] cleared old pugs specific environment variable
15:53 justatheory joined #perl6
15:54 pugs_svnbot r20636 | moritz++ | [spec] removed superfluous TODO marking from radix.t
15:56 pmurias reduce with a 3 argument sub only works on odd number of elements?
15:58 ruoso pmurias, multipliers of 3, maybe....
15:58 pmurias ?
15:59 pmurias how would you reduce 6 elements?
16:00 moritz_ actually S29 says the function has to work with two items at a time
16:01 pmurias just seen it
16:01 pmurias ;)
16:01 pmurias but it's possible to write a reduce version for a sub which takes $n elements
16:01 pmurias the problem is would it be usefull?
16:01 moritz_ $res = &$expression($res, $cur);
16:02 moritz_ is the '&' mandatory here?
16:02 pmichaud no.
16:02 moritz_ good
16:02 pmichaud my $foo = sub { ... }; .....  $foo();
16:04 ruoso moritz_, S03 'Reduction operators' seems to imply that it might receive as many arguments as it wants
16:05 ruoso it might actually receive the entire list
16:05 moritz_ ruoso: actually reduction operators don't rely on reduce() at all
16:05 ruoso sure sure...
16:05 moritz_ ruoso: for example they take associativity into account
16:06 ruoso but it says that, 1 foo 2 foo 3, can be written as [foo] 1, 2, 3 -- wich seems to imply that 1,2,3 are arguments to foo
16:07 moritz_ I don't understand that conclusion
16:07 pmurias infix operators take 2 arguments
16:07 pmichaud infix:,  has list associativity, and thus may take more than 2 arguments
16:09 pugs_svnbot r20637 | pmurias++ | [elf] -I's are .push'ed instead of being .unshift'ed and reversed
16:10 pmurias pmichaud: infix list operators take all the argments
16:10 pmurias * arguments
16:11 pmichaud i was simply pointing out that some infix: operators don't have 2 arguments.
16:11 pmichaud or
16:11 pmichaud that there exist some infix: operators that work with more or less than 2 arguments.
16:11 pmurias pmichaud: how can they work with less arguments?
16:12 pmurias s/less arguments/1 argument/
16:12 pmichaud if they're invoked directly, as in   &infix:<,>($x)
16:12 pmichaud or consider the case of  (1,)
16:13 pmurias are ones which take exactly 3 allowed?
16:13 pmichaud I don't know about that.  Doesn't seem like it.
16:13 ruoso but...
16:14 ruoso it wouldn't be that nice to have that kind of instrospection for every infix operation...
16:15 ruoso maybe do something at bind-time
16:15 ruoso to realise how many arguments were bound
16:15 pmichaud afk (errands, lunch)
16:16 ruoso and "consume" the items of the list to the next call
16:16 ruoso that actually might work very nicely
16:17 clkao win 53
16:17 moritz_ win 53, loose 52 - that's life.
16:17 ruoso the capture sent to the operator would keep the state of which arguments were already subject to bind
16:18 ruoso and the capture would then be reused in the next call
16:18 moritz_ sounds kinda tricky ;)
16:19 ruoso sounds the kind of tricks that will make Perl 6 cool ;) ;) ;)
16:20 moritz_ hehe
16:20 ruoso it's even performance-friendly
16:20 ruoso as it would keep using the same capture as argument
16:20 ruoso instead of creating a new capture everytime
16:20 moritz_ but not very parrot-friendly
16:20 moritz_ because it doesn't use explict captures for all sub/method/op calls
16:20 ruoso capture doesn't support foreign captures?
16:21 ruoso like... a capture that is actually bound to a C int array?
16:21 moritz_ actually I don't know
16:21 moritz_ perhaps there is a way to reuse captures in parrot, and I don't know about it
16:23 ruoso the question is... is the invocation in parrot static?
16:23 ruoso if so, rakudo will have to implement an abstraction layer on top of it
16:23 ruoso to support different invocations...
16:24 * moritz_ only hopes that parrot supports powerful incantations
16:35 Auzon ruoso: congrats on your grant :)
16:35 ruoso Auzon, thanks
16:35 ruoso :)
16:36 spinclad ruoso: 'What is in the way?':  do you mean 'What is blocking the way', or 'What is on the way, coming' ?
16:36 ruoso what is on the way, coming...
16:37 ruoso would "What is on the way?" be more correct?
16:37 spinclad a case of english's 'in/on' distinction... yes, 'on the way'
16:38 ruoso thanks...
16:38 * ruoso fixing...
16:38 spinclad 'in the way': sitting in the road; 'on the way': moving down the road
16:39 ruoso spinclad++, thanks... I've just uploaded a new version with that fix...
16:39 Psyche^ joined #perl6
16:40 Auzon pugs: say log 0
16:40 exp_evalbot OUTPUT[-Inf␤]
16:43 spinclad 'i was on my way till this cow got in my way'
16:45 pmurias ruoso: new version of what?
16:45 ruoso pmurias, the slides...
16:52 Auzon pugs: say ('A' .. 'Z').elems
16:52 exp_evalbot OUTPUT[26␤]
16:52 Auzon pugs: say elems('A' .. 'Z')
16:52 exp_evalbot OUTPUT[26␤]
17:17 stevan_ joined #perl6
17:25 justatheory joined #perl6
17:26 sri_work joined #perl6
17:45 Jedai joined #perl6
17:48 moritz_ pugs_svnbot: you're late
17:48 pugs_svnbot r20638 | moritz++ | [irclog] #parrotsketch should link to its logs
17:48 moritz_ pugs_svnbot: thank you
17:54 justatheory_ joined #perl6
18:04 meppl good night
18:07 sscaffidi joined #perl6
18:07 sscaffidi joined #perl6
18:10 b_jonas joined #perl6
18:16 sscaffidi joined #perl6
18:17 jhorwitz joined #perl6
18:19 sri_work_ joined #perl6
18:29 * ruoso home &
18:31 wknight8111_ joined #perl6
18:41 justatheory joined #perl6
18:46 andy123 joined #perl6
19:01 pugs_svnbot r20639 | diakopter++ | [yap6]
19:01 pugs_svnbot r20639 | diakopter++ | Nested error handling (and reporting!) working; the parser author
19:01 pugs_svnbot r20639 | diakopter++ | can define helpful syntax error messages.  Also, trace output
19:01 pugs_svnbot r20639 | diakopter++ | considerably improved.
19:05 sscaffidi joined #perl6
19:12 cjfields joined #perl6
19:16 jhorwitz_ joined #perl6
19:27 alester joined #perl6
19:39 sscaffidi joined #perl6
19:45 pmurias joined #perl6
19:51 avar $ ../../parrot perl6.pbc -h
19:51 avar perl6.pbc
19:51 avar Usage: perl6 [switches] [--] [programfile] [arguments]
19:51 ruoso joined #perl6
19:51 avar Is this rakudo still?:)
19:53 Ched- joined #perl6
19:55 moritz_ avar: what else could it be? ;-)
19:58 avar nothing really, I just checked out with git-svn and figured I might be getting something ancient:)
19:58 avar I thought they'd updated -h to say rakudo even if the directory was still called perl6
20:00 moritz_ avar: I think it's mostly the standard HLL compiler template thingy
20:02 [particle] no, i modified it for rakudo i think, but when you build rakudo, it makes an executable called 'perl6'
20:02 [particle] not called 'rakudo'
20:04 avar Oh the humanity!
20:14 pmurias avar: do you think the kp6 CLI could be improved?
20:14 avar No wai man, it's PERFECT
20:14 avar >:)
20:14 vixey What's CLI?
20:14 pmurias command line interface
20:14 pmurias avar: ;)
20:15 pmurias elf's CLI sucks, so i thought it might be a good idea to steal kp6's
20:16 avar yeah it was pretty neat
20:16 avar I remember cleaning it up, could still use some more cleanup:)
20:16 avar stole most of it from pugs's
20:18 mncharity joined #perl6
20:19 pmurias mncharity: hi ;)
20:19 pmurias s/;)/:)/
20:19 mncharity hi pmurias.  just stopping by briefly to ping stevan_.
20:19 mncharity :)
20:19 pmurias avar: you mean cleaning up internals or implementation?
20:20 avar the command line switches
20:20 avar e.g. -B ad -C
20:21 pmurias mncharity: i'm replacing the CLI is elf's abilitity to load multiple files at once ./elf file1 file2 usefull?
20:25 diakopter use no warnings 'recursion'; # finally found it
20:26 diakopter no warnings 'recursion'; # I mean
20:31 Auzon Is printf() dead?
20:31 Auzon rakudo: say sprintf('%%');
20:31 exp_evalbot rakudo r28052 OUTPUT[Could not find non-existent sub sprintf␤current instr.: '_block11' pc 28 (EVAL_10:17)␤
20:31 Auzon hm.
20:33 pmurias Auzon: printf lives :(
20:33 jferrero joined #perl6
20:33 Auzon It's not in S29.
20:34 Auzon Why the sad face though?
20:34 Auzon It's easy enough to implement in P6, I think.
20:34 chris2 joined #perl6
20:34 pmurias it's in S29
20:34 pmurias it's in IO.pod
20:35 pmurias Auzon: it's trival with sprinf
20:35 Auzon Yeah.
20:35 Auzon doh. I don't have a local S29.
20:36 moritz_ http://svn.pugscode.org/pugs/​docs/Perl6/Spec/Functions.pod
20:37 pugs_svnbot r20640 | diakopter++ | [yap6]
20:37 pugs_svnbot r20640 | diakopter++ | Still further improved error handling/reporting.
20:37 pugs_svnbot r20640 | diakopter++ | Non-trace-mode source filter speeds up execution by lots%
20:37 pugs_svnbot r20640 | diakopter++ | no warnings 'recursion'; # eliminates that parse-time warning.
20:37 pugs_svnbot r20640 | diakopter++ | Next task: produce an AST instead of evaluating arithmetic expressions
20:37 pugs_svnbot r20640 | diakopter++ | synchronously.
20:37 Auzon Ah. It's in Pugs, not whatever syn repo I'm using
20:37 mncharity pmurias: re CLI, my impression of what's about to happen is elf/ is going to get very conservative, moving towards having a release process, and most elf-ish development is going to move into a new elfish/on_perl5/ .
20:38 pmurias we can do a release at any point
20:38 mncharity more specifically, re is useful, yes, definitely.
20:38 diakopter mncharity: where can I find a specification/description of the AST format that elf expects
20:39 mncharity pmurias: but one of the objectives of the split is to allow folks to do arbitrary changes without the worry of "is it the right thing" and "will it break every one who is using elf".
20:40 mncharity so we avoid the longstanding pugs issue of "you want to refactor aggressively, and exploratorily, but there are other people (including yourself when you are working on other things) who depending on stability, so refactoring/exploration is badly impaired".
20:41 pmurias it think just creating a stable branch would be sufficent
20:41 pmurias mncharity: i'm not sure which calling convention should i implement
20:42 mncharity a single unitary unstable branch requires intensive communication and commonality of vision among all the developers.  part of the reason git is displacing svn is that is expensive and hard to come by.
20:42 pmurias CAPTURE($capture), NAMED([...],{...}) and FAST($arg1,$arg2,$arg3,[@slurpy])?
20:43 mncharity diakopter: re "AST format that elf expects", one problem is divergence of what parrot and elf call an ast.  the Match tree resulting from parsing
20:45 mncharity is generated by STD_red's std.rb, based on STD.pm (old, with exceptions noted by NONSPEC flag comments), and consumed by IRx1_FromAST_create.pl.  No other spec/desc.   The IR nodes are
20:47 mncharity described in IRx1_nodes_create, with some additional (and soon to grow) methods in IRx1_Analysis.  Semantics are implicit in IRx1_Analysis and EmitSimpleP5, and somewhat in flux (ie, undef vs empty array for missing or non-applicable list-of-something fields).  No other spec/desc.
20:47 diakopter mncharity: thanks! :)
20:48 mncharity IRx1_FromAST_create has a couple of code massage regexps at bottom.
20:49 mncharity s/Semantics are implicit in(.*)/IRx1_FromAST, $1/
20:49 pmurias mncharity: POSITIONALS_ONLY() would be propably usefull to for p5 compat
20:52 mncharity pmurias: re calling convention, there are a couple of possibilities.  but it may be better to defer named arguments for some days, as my impression is Emit is about to be gutted, with much of it moved into IRx1_Analysis.
20:56 mncharity or, a different answer, might be to set up an elfish/on_perl5 now (a makefile like showcode's can be used) and start experimenting...
20:57 pmurias mncharity: i'm thinking of add a different backend
20:58 mncharity me too.  :)
20:59 moritz_ parrot? smop? lisp? javascript?
20:59 mncharity which is the main motivation for moving anything p6-ir-and-semantics-related out of Emit.
20:59 pmurias it thought a p5 with named arguments ;)
21:00 pmurias but any of the ones moritz wants are fine
21:00 pmurias smop is a bit too young
21:00 Patterner CamelFish is the JavaScript in Parrot, right?
21:01 spinclad ecmascript methinks
21:01 moritz_ Patterner: there's 'eclectus' and 'ecmascript' in languaes/ in parrot trunk
21:01 pmurias mncharity: re javascript oo, it's crapy so i wouldn't bet on it maping to anything cleanly
21:02 mncharity re "p5 with named arguments", neat.  elfish/on_perl5_wna/  :)   I don't currently expect to do much IR change, so simply copying Emit and modifying it should work.
21:03 mncharity elfish/on_perl5_named/
21:04 mncharity eh
21:04 pmurias mncharity: why keep it in a seperate directory?
21:05 Auzon elf: 31 -12
21:06 exp_evalbot RESULT[19␤]
21:07 pugs_svnbot r20641 | pmurias++ | [elf] a new incomplete command line iterface
21:07 pugs_svnbot r20641 | pmurias++ | (checking it in so i don't accidently screw up anything ;)
21:07 mncharity elf/ is the production compiler.  it just happens to be one folks can easily make derivatives of.  such derivative projects go elsewhere, just as pugs derivatives have gone elsewhere than src/pugs/.  the elf/ compiler will draw changes from the various derivatives, in a git like manner, but can be depended upon to always work, unlike, obviously, the derivatives.
21:08 Auzon pugs: say sprintf('%u', -42);
21:08 exp_evalbot OUTPUT[*** Ix{Integer}.index: Index (-42) out of range ((0,15))␤    at /tmp/xAH0EbFQBA line 1, column 1-23␤]
21:08 Auzon kp6: say sprintf('%u', -42);
21:08 exp_evalbot kp6 r20640: OUTPUT[syntax error at position 11, line 1 column 11:␤say sprintf('%u', -42)␤           ^ HERE␤]
21:08 Auzon elf: say sprintf('%u', -42);
21:08 exp_evalbot OUTPUT[4294967254␤]
21:08 Auzon elf: say sprintf('%04u', -42);
21:08 exp_evalbot OUTPUT[4294967254␤]
21:09 mncharity the other question is why misc/elfish/on_foo/  rather than  misc/whatever_foo.  and that's to simplify collective regression testing and such.
21:09 Auzon Evalbot must run on a 32 bit computer...
21:10 mncharity i'm out.  back... probably tomorrowish.  last questions?
21:11 spinclad mncharity: having fun?
21:11 mncharity :/
21:11 spinclad :\
21:11 mncharity moritz_: re langauges, not sure yet.
21:12 mncharity cheers &
21:12 mncharity left #perl6
21:23 pmurias moritz_: re languages, any you're willing to help with? ;)
21:26 Torment joined #perl6
21:31 moritz_ pmurias: good question. I have to admit that I know nearly no language besides perl 5 good enough
21:32 moritz_ there are a few rather unpopular (like Eiffel) that don't seem to fit at all
21:34 moritz_ and currently I'm selling my soul to the test suite and rakudo, so there's just a little tiime slice left - not enough to really influence the choice of a backend language
22:53 Limbic_Region joined #perl6
23:06 polettix joined #perl6
23:24 poletti joined #perl6
23:30 cjfields joined #perl6

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

Perl 6 | Reference Documentation | Rakudo