The topic for #perl6 is: pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, elf: etc.) (or perl6: for all) | irclog: irc.pugscode.org/
Set by TimToady on 25 November 2008.
00:00 pbuetow left 00:05 ruoso joined
ruoso Hello! 00:07
Limbic_Region salutations
Limbic_Region just had a sick and twisted thought 00:11
rules can contain other rules - right?
is there anything preventing a rule from being circularly defined?
ruoso Limbic_Region, I think it should just work, iirc 00:14
pugs: rule bar { 'a' | <bar> }; 'bbbbbbba' ~~ /<bar>/; 00:17
p6eval pugs: OUTPUT[Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/evalenv/pugs/perl5/Pugs-Compiler-Rule/lib';␤ unshift @INC, '/home/evalenv/pugs/third-party/Parse-Yapp/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runti...
ruoso rakudo: rule bar { 'a' | <bar> }; 'bbbbbbba' ~~ /<bar>/;
p6eval rakudo 34053: OUTPUT[maximum recursion depth exceeded␤current instr.: 'parrot;PGE;Match;new' pc 23 (compilers/pge/PGE/Match.pir:53)␤]
ruoso rakudo: token bar { 'a' | <bar> }; 'bbbbbbba' ~~ /<bar>/; 00:20
p6eval rakudo 34053: OUTPUT[maximum recursion depth exceeded␤current instr.: 'parrot;PGE;Match;new' pc 23 (compilers/pge/PGE/Match.pir:53)␤]
ruoso rakudo: token bar { 'a' | . <bar> }; 'bbbbbbba' ~~ /<bar>/;
p6eval rakudo 34053: RESULT[Method 'perl' not found for invocant of class 'PGE;Match'␤current instr.: '_block11' pc 29 (EVAL_14:16)␤]
ruoso rakudo: token bar { 'a' | . <bar> }; 'bbbbbbba' ~~ /<bar>/; say $/;
p6eval rakudo 34053: OUTPUT[bbbbbbba␤]
ruoso Limbic_Region, ah... there it is...
00:22 pjcj left 00:23 pjcj joined 00:26 DemoFreak left
Limbic_Region I was thinking more along the lines - rule a contains b 00:49
rule b contains c
rule c contains a
infinite expansion
01:02 aindilis` is now known as aindilis 01:11 xiaoyafeng left 01:23 fuzzbox left 01:29 felipe left 01:44 Jonanin joined, Jonanin left
literal perl6: my @foo = <bar>; "@foo[].end" 01:47
p6eval rakudo 34054: RESULT["\@foo[].end"]
..pugs: RESULT["bar.end"]
..elf 24456: RESULT["\@foo\[\]\.end"␤]
literal perl6: my @foo = <bar>; "@foo[]"
p6eval pugs: RESULT["bar"]
..rakudo 34054: RESULT["\@foo[]"]
..elf 24456: RESULT["\@foo\[\]"␤]
literal perl6: my @foo = <bar>; "@foo<>" 01:50
p6eval pugs: RESULT["bar"]
..elf 24456: RESULT["\@foo\<\>"␤]
..rakudo 34054: RESULT["\@foo<>"]
literal pugs: my @foo = <bar>; "@foo«»"
p6eval pugs: RESULT["bar"]
literal perl6: sub foo { 1 }: "&foo.name" 01:52
p6eval elf 24456: OUTPUT[syntax error at (eval 121) line 3, near "(sub foo"␤ at ./elf_f line 3861␤]
..pugs: OUTPUT[*** ␤ Unexpected ": \"&"␤ expecting "::"␤ at /tmp/AYzfy4yIQd line 1, column 14␤]
..rakudo 34054: OUTPUT[Statement not terminated properly at line 1, near ": \"&foo.na"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤]
literal perl6: sub foo { 1 }; "&foo.name"
p6eval pugs, rakudo 34054: RESULT["\&foo.name"]
..elf 24456: RESULT["\&foo\.name"␤]
pmichaud rakudo: sub foo { 1 }; say &foo.name; # just curious 01:55
p6eval rakudo 34054: OUTPUT[Method 'name' not found for invocant of class 'Sub'␤current instr.: '_block11' pc 31 (EVAL_12:19)␤]
pmichaud Limbic_Region: yes, rules can be circular -- that's how parsers work. :-)
02:05 c9s_ joined, adc_penner left 02:08 alanhaggai joined
Limbic_Region pmichaud - well, in a LALR parser you have to do special tricks to avoid left recursion 02:10
pmichaud - I just wondered if it would be a compiler warning or if it would just spin its wheels for a really long time 02:11
pmichaud left recursion in a p6 grammar is generally an infinite loop 02:12
just like if I write a sub : sub foo() { foo(); .... } 02:13
Limbic_Region didn't think that worked
I thought you needed a special token to refer to yourself
before you were finished defining your self
SELF or something like that 02:14
pmichaud in p6, regexes are subs/methods that are written with a different syntax
but yes, we can have a regex that refers to itself: regex xyz { \d+ [ , <xyz> ]? }; 02:15
jnthn Limbic_Region: I expect giving a compiler warning in every case is probably equivalent to the halting problem. This is quite hard to solve, and may be one of the few things out of the scope of the Perl 6 project. ;-)
pmichaud this often isn't the most efficient way of doing things, but it's certainly allowed.
Limbic_Region jnthn - I doubt that it is equivalent to the halting problem but I agree it would be hard to detect in all cases 02:16
I was just wondering out loud
back in the day on a miltary base - you could forward phones phone a could forward to phone b as long as phone b wasn't forwarded to phone a
but if phone a went to b which went to c which went to a 02:17
jnthn :-D
Limbic_Region you could create an infinite ringing loop
jnthn Limbic_Region: I'd have to think harder than I can at this time of night to be sure of whether it's equivalent. 02:18
Limbic_Region well, my doubt wasn't based on anything other than the fact that detecting circular references is a solved problem and I naively assumed it was the same 02:20
pmichaud detecting circular references is possible in a static grammar, yes.
it becomes harder when the grammar can change at runtime.
Limbic_Region right - I agree
jnthn Not to mention the grammar can call code (assertions, embedded closures, etc) and they may call back into the grammar in an undetectable way. 02:21
And that code certainly can be turing complete.
Limbic_Region concedes
jnthn *but* we can probably detect and be helpful about the common cases
pmichaud eh, we don't try to detect and be helpful about infinite recursion in subs, I'm not sure we need it for grammars. 02:22
if we can do it easily, then yes.
jnthn pmichaud: Just because we *can* do something like that, doesn't mean I think we should place much priority on doing so. 02:23
[particle] jnthn: from scrollback... how's enum<>.WHAT roll around in your noggin'?
jnthn hell, how does that parse
enum <>.WHAT I'd expect is enum(<>.WHAT)
Limbic_Region in infinite recursion in sub - there is no way to know if it will eventually terminate
in a grammar - if you find your way back to a previously seen rule - can it ever terminate? 02:24
jnthn If you meant something like (enum <>).WHAT
It's going to give you the proto for Mapping I guess.
Since an anonymous enum constructor gives one of those back.
STD.pm's parse tree output is probably the thing to check to see how it parses. 02:25
Oh, not enum(<>.WHAT) - that's a call.
[particle] ...my work here is done. 02:26
Limbic_Region calls it a night
02:26 Limbic_Region left 02:32 jiing_ joined 02:48 alanhaggai left 02:52 dmq joined
pugs_svn r24457 | lwall++ | [t/spec/S03-operators/smartmatch.t] parsefail 02:59
r24458 | hinrik++ | [util/perl6.vim] correct highlighting of interpolated stuff in single- and double-quoted strings, and a few other fixes 03:12
r24459 | hinrik++ | [util/perl6.vim] remove some cruft 03:17
03:27 jferrero left 03:32 jiing_ left 03:35 c9s_ left 03:47 meppuru joined 03:51 meppl left 03:56 Psyche^ joined 03:57 Patterner left, Psyche^ is now known as Patterner 04:00 elmex left
pugs_svn r24460 | hinrik++ | [util/perl6.vim] improve adverb highlighting in double angles 04:00
04:02 elmex joined 04:05 alech_ left 04:09 meppuru is now known as meppl
meppl good night 04:10
04:11 meppl left
pugs_svn r24461 | hinrik++ | [util/perl6.vim] allow single- and double-quoted strings in double angles 04:17
04:23 Minthe joined, Minthe left, Minthe joined 04:27 Minthe left, Minthe joined 04:54 mpalatnik__ joined 05:02 c9s_ joined 05:04 hercynium joined 05:05 dalek left 05:08 alc joined, allbery_b left 05:09 dalek joined, allbery_b joined 05:13 mberends joined 05:16 mpalatnik__ left 05:18 perlmonkey2 left
rakudo_svn r34059 | coke++ | [codingstd] remove trailing spaces 05:30
05:31 Minthe left 05:34 dalek left, dalek joined 05:48 dalek left, dalek joined 05:56 alester_ joined 06:01 elmex left 06:08 PZt left 06:29 ruoso left 06:31 akl- joined 06:46 adc_penner joined 06:52 iblechbot joined 06:56 ashizawa joined 06:58 DemoFreak joined 07:02 justatheory joined 07:03 iblechbot left 07:37 alester_ left 07:41 alanhaggai joined 07:58 maerzhase joined 08:16 araujo left, maerzhase left 08:18 maerzhase joined 08:19 kane_ joined 08:20 mberends left 08:25 pbuetow joined 08:31 rgs left 08:33 bacek__ left 08:36 pbuetow left 08:42 redicaps joined 08:46 redicaps left 09:00 Aisling_ joined 09:11 alech joined 09:12 Aisling left 09:25 adc_penner left 09:26 funktio joined 09:28 alanhaggai left 09:29 alanhaggai joined, preflex left 09:32 alech_ joined 09:37 alech left, maerzhase left 09:38 alech_ left 09:40 alexn_org joined 09:48 alech joined 09:50 felipe joined 09:51 mberends joined 10:01 alech_ joined
pugs_svn r24462 | azawawi++ | [Syntax::Highlight::Perl6] Bumped version to 0.0291 10:05
r24462 | azawawi++ | [Syntax::Highlight::Perl6] Updated to latest STD and perl6.vim
r24462 | azawawi++ | [Syntax::Highlight::Perl6] Added an executable copy_them to build
r24462 | azawawi++ | [Syntax::Highlight::Perl6] and copy the latest STD and perl6.vim files
r24462 | azawawi++ | [Syntax::Highlight::Perl6] Updated 'Changes'
10:05 alech left 10:07 justatheory left 10:08 ejs joined 10:16 kanru left 10:17 ejs1 joined 10:20 iblechbot joined 10:27 ejs left 10:35 gfldex is now known as Guest47750 10:36 gfldex_ joined 10:37 maerzhase joined 10:50 Guest47750 left 10:51 Southen_ is now known as Southen 10:53 elmex joined 10:54 alexn_org left 10:55 masak joined 10:57 justatheory joined
pugs_svn r24463 | azawawi++ | [STD.pm] Added lexer memory caching to speed up subsequent ->parse 10:57
r24463 | azawawi++ | [STD.pm] calls. This will improve Syntax::Highlight::Perl6 performance.
10:58 pnu_ left 10:59 alanhaggai left
pugs_svn r24464 | azawawi++ | [Syntax::Highlight::Perl6] Cursor.pmc performance++ 10:59
r24464 | azawawi++ | [Syntax::Highlight::Perl6] Updated 'Changes'... Releasing 0.0291 to CPAN
11:20 abebae joined 11:21 araujo joined, abebae left 11:22 vixey joined 11:23 alanhaggai joined 11:29 ruoso joined
ruoso Hello! 11:37
11:49 kanru joined
moritz_ hi ruoso 11:50
11:51 maerzhase left 12:00 ruoso left 12:05 kanru left 12:06 ruoso joined 12:18 kanru joined 12:20 iblechbot left 12:36 pjcj left 12:40 alech_ left 12:42 alech joined 12:48 mj41 left 12:58 ejs2 joined 13:08 ejs1 left 13:27 alech left 13:28 cognominal left, alech joined, alanhaggai left 13:38 [particle] left 13:57 Lorn joined 14:00 kanru left, kanru joined 14:04 broquaint left 14:14 cognominal joined 14:15 apeiron left 14:16 cognominal left, cognominal joined 14:27 wolverian left 14:28 alech left 14:29 wolverian joined, broquaint joined 14:31 [particle] joined 14:46 alester_ joined 14:49 alester_ left 14:50 alester left, alester joined
masak Perl turns 21 today! 14:51
moritz_ so it can finally start to drink in the US 14:52
masak Perl seems to thrive pretty well without alcohol, though. 14:53
14:53 eric256 joined, meppl joined
masak eric256: re comment about November code "still being Perl, if you know what I mean": thanks. :) 14:53
14:56 smtms joined, kanru left
eric256 definitly ;) i was wondering this morning if there is enough raduko in place to start building an IRC bot ;) it can't run perl5 modules yet though right? 14:56
masak eric256: unfortunately not. 14:58
moritz_ eric256: you could improvise by piping both to and from nc (netcat)
14:59 alech joined
eric256 rakduo: for ('a'..'z') Z (1..*) { say $_;} 15:01
rakudo: for ('a'..'z') Z (1..*) { say $_;}
p6eval rakudo 34065: OUTPUT[get_integer() not implemented in class 'Whatever'␤current instr.: 'parrot;Range;!to_test' pc 17343 (src/builtins/op.pir:39)␤]
moritz_ eric256: we don't have lazy lists or ranges yet
masak eric256: (1..*) not implemented yet. 15:02
15:02 exodist_ joined
eric256 well what are you waiting for ;) 15:03
masak eric256: you :)
moritz_ ... and a good specification
eric256 ahh snap, saw that coming
masak eric256: actually, I imagine it's not that far away. 15:04
the lazyness parts of the spec need to be a bit more... specified, that's all
s/zy/zi/
15:07 iblechbot joined 15:10 ashizawa left
pugs_svn r24465 | azawawi++ | [STD.pm] Fix dependency on system 'cp' by using File::Copy 15:11
15:12 kane_ left
pugs_svn r24466 | azawawi++ | [Syntax::Highlight::Perl6] Bumped version to 0.0292 15:17
r24466 | azawawi++ | [Syntax::Highlight::Perl6] Fixed bug 'cp is not recognized' in win32 platforms
r24466 | azawawi++ | [Syntax::Highlight::Perl6] by making Cursor.pmc use File::Copy
r24466 | azawawi++ | [Syntax::Highlight::Perl6] Updated BUGS POD section
r24467 | azawawi++ | [Syntax::Highlight::Perl6] fix copy_them script to actually make STD correctly 15:20
15:22 c9s_ left
pugs_svn r24468 | azawawi++ | [Syntax::Highlight::Perl6] Updated Changes... Releasing 0.0292 to CPAN 15:22
eric256 is there an index var when in for loops? 15:27
moritz_ eric256: no 15:28
eric256: you have to construct one yourself
masak eric256: for @a.kv -> $index, $val { ... }
moritz_ for @a Z ^@a -> $item, $index { ... }
or what masak++ said 15:29
15:29 ejs1 joined
masak moritz_: is my suggestion and yours always equivalent? 15:29
eric256 rakudo: for list('a'..'c').kv -> $index,$val { say "$index -> $val" };
p6eval rakudo 34065: OUTPUT[0 -> a␤1 -> b␤2 -> c␤] 15:30
eric256 thats pretty sweet
masak it is indeed.
I wrote a game the other month that made heavy use of this.
eric256 yea that what i was thinking about, text based dungeon game with options ;) hehe
moritz_ masak: not for shaped arrays (start index != 0)
masak eric256: go for it! 15:31
eric256 is your game in the repo somewhere? is there an examples folder somewhere with working rakudo code?
masak moritz_: thought so.
eric256: I don't feel at liberty to submit that game to the repo, due to copyright issues. but I can email it to you. 15:32
eric256: I know of no such directory in the Pugs repo.
eric256 if you could send it to [email@hidden.address] that would be awsome 15:33
masak coming up. 15:34
eric256: mail sent. 15:36
eric256 svn.pugscode.org/pugs/examples/ i don't think the majority of those work in rakudo
masak eric256: I also bought a LEGO set so that I could play that game.
eric256: no, me neither. but they might soon. (or be changed slightly to work.)
SamB copyright issues ? 15:37
moritz_ SamB: the game that implements the specs is non-free, and the specs have no explicit license statement (iirc) 15:38
15:38 ejs2 left
SamB specs ? 15:39
masak SamB: www.gamerz.net/pbmserv/druid.html
at the bottom of the page, it says that the game rules are copyrighted
I can only interpret that as "don't provide implementations of this game, willy-nilly"
been trying, so far unsuccessfully, to reach the game author. 15:40
eric256 svn.pugscode.org/pugs/examples/games/wizard.pl my original game, but it rakudo doesn't seem to like the optional parameter syntax 15:45
or the syntax changed... i can only imagine what else is broken in there
hehe
masak eric256: optional params should be implemented.
eric256: I could have a look at it if you want.
eric256 i'll mess with it some 15:46
and holler if i can't figure it out
masak sounds good.
moritz_ multi *prompt 15:47
I guess rakudo doesn't like the *
masak I don't, either. what is that? 15:48
eric256 yea why would there be a * there?
and how do i get syntax highlighting for perl6 in vim?
moritz_ to put it into the global namespace
eric256: utils/perl6.vim
masak moritz_: Pugs-specific feature?
moritz_ eric256: link that to ~/.vim/syntax/
masak: no, it's specced, but it might get removed
masak has never seen that before 15:49
anyway, that shouldn't be necessary to get the game to run correctly.
moritz_ at least it was specced, half a ywar ago
15:50 bloonix left 15:52 bloonix joined
moritz_ hurm, that seems to access $_ in several places where it doesn't make sense to mu 15:53
for example line 13
eric256 yea i'm cleaning it up quite a bit, lol 15:56
15:56 gfldex_ left
eric256 =begin END isn't implemented it? 15:58
masak rakudo: (5..8).pick()
p6eval rakudo 34065: RESULT[[6]]
masak eric256: you can use that instead of the &random sub
moritz_ rakudo: say join " ", map { (5..8).pick() }, 1..20 15:59
p6eval rakudo 34065: OUTPUT[5 5 8 8 7 7 5 5 7 8 5 7 8 7 7 6 6 6 7 6␤]
eric256 yea i'm gutting as i go, it was written for an earlier version of pugs that didn't have everything yet
masak rakudo: (5..8).pick(20).perl.say 16:00
p6eval rakudo 34065: OUTPUT[[6, 5, 7, 8]␤]
moritz_ oh, and it defines another infix operator
rakudo doesn't support that
rakudo: (5..8).pick(20, :rep).perl.say
p6eval rakudo 34065: OUTPUT[too many named arguments - 'rep' not expected␤current instr.: 'parrot;Any;pick' pc 9905 (src/builtins/any-list.pir:202)␤]
masak I remember playing this game.
moritz_: :rep is low-hanging fruit. 16:01
16:01 hercynium left
moritz_ rakudo: (5..8).pick(20, :repl).perl.say 16:01
p6eval rakudo 34065: OUTPUT[[7, 7, 6, 6, 6, 5, 5, 6, 7, 5, 6, 6, 8, 7, 7, 5, 5, 8, 8, 8]␤]
moritz_ masak: I just remembered it wrongly
masak oh!
eric256 its it :repl? yea
masak I like this kind of pleasant surprises.
Rakudo is further implemented than I tend to think.
moritz_ the old state of mind of working around stuff :-) 16:02
masak aye.
can't say I particularly miss that, though. 16:03
[particle] @msg azawawi is File::Copy core? you can use the core module ExtUtils::Command to replace many system functions
lambdabot Not enough privileges
[particle] @tell azawawi is File::Copy core? you can use the core module ExtUtils::Command to replace many system functions 16:04
lambdabot Consider it noted.
eric256 rakudo: (1..10).pick.say; 16:06
p6eval rakudo 34065: OUTPUT[9␤]
eric256 for a moment i thought i needed pick()
dunno why
16:07 ejs1 left 16:08 kanru joined
eric256 how do i write this? rakudo doesn't like the map:{ my @choices = %world.{$person.location}.exits.map:{ Option.new( :text($_), :param($_)) }; 16:08
my @choices = %world.{$person.location}.exits.map:{ Option.new( :text($_), :param($_)) };
masak map { ... }, @a; 16:09
eric256 array.map doesn't worky anymore? or just currently broken?
masak rakudo: say [1,2,3].map({ $_ + 5 }) 16:11
p6eval rakudo 34065: OUTPUT[678␤]
masak rakudo: say [1,2,3].map :{ $_ + 5 }
p6eval rakudo 34065: OUTPUT[Statement not terminated properly at line 1, near ":{ $_ + 5 "␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤]
masak rakudo: say [1,2,3].map: { $_ + 5 }
p6eval rakudo 34065: OUTPUT[678␤]
masak oh, it works.
jnthn rakudo: say [1,2,3].map:{ $_ + 5 } 16:13
p6eval rakudo 34065: OUTPUT[Statement not terminated properly at line 1, near ":{ $_ + 5 "␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤]
jnthn I think that may be the bug.
masak reports
16:14 stephens joined
jnthn masak: Already ticketed. 16:14
masak: I knew that bug existed because I reviewed the ticket just yesterday. ;-)
eric256 cool...added space after : and it gives me a new error... argument doesn't array 16:15
no line number though...so i'll commit what i've got done 16:16
lol
16:16 maerzhase joined, iblechbot_ joined
masak jnthn: too late, now you have two tickets. :) 16:17
eric256: sounds interesting.
do commit.
eric256: Rakudo doesn't do line numbers yet.
eric256 all the other errors gave line numbers 16:18
masak really?
as I said, I'm often pleasantly surprised by new features in Rakudo.
eric256 Statement not terminated properly at line 159, near ".?. 20;\n "
masak but maybe this was a runtime error or something.
eric256 ohh runtime don't give line numbers. gotcha 16:19
masak and probably that's what Rakudo doesn't do yet.
eric256 well then...that makes debuging a little more complex
jnthn Yes, no line # on runtime errors yet.
January. :-)
moritz_ eric256: yes, .?. is a user-defined op which rakudo doesn't likke 16:20
16:20 iblechbot left
pugs_svn r24469 | eric256++ | [examples/games/wizard.pl] Cleaned up and began transition to rakudo 16:20
eric256 that was a previous error that had a line number ;) just for example sake
hehe just checked the log, that file has been in there for over 3 years ;) and last updated over 2 years ago 16:21
lookin forward to line numbers for sure 16:22
masak eric256: I'll have a look 16:23
16:23 alc left
masak eric256: I get another error: "Can't find ./v6-alpha in @INC" 16:26
that should be 'use v6;' nowadays. I'll change that for you. 16:27
pugs_svn r24470 | masak++ | [wizard.pl] "use v6-alpha" is "use v6" nowadays 16:28
masak now I got "You passed an initialization parameter that does not have a matching attribute."
...which sounds like a completely reasonable Rakudo error. 16:29
[particle] sure does :)
eric256 hmmm why do i get a different error?
lol
masak eric256: old Rakudo? 16:30
eric256 r33937
oh shoot
masak eric256: that's old.
eric256 yea just realized it didn't match my svn info
how do i keep doing that
masak oh! maybe the error stems from the discussion about constructors and ingeritance.
eric256: no idea. it's really not that hard. :P 16:31
eric256 do i need to make clean everytime or is make perl6 enough?
masak eric256: depends how much changed in Parrot. 16:32
moritz_ eric256: most of the time 'make perl6' is enough
[particle] if something under config/ changed, you probably want to re-run configure.pl 16:33
meppl good night
masak meppl: 'night
meppl ;)
16:34 meppl left
eric256 okay...svn up && make clean && make perl6 16:37
now ./perl6 -v returns revision 33937
which is way behind my svn info
moritz_ eric256: that info might only get updated when you run Configure.pl again 16:39
masak :)
[particle] yep
masak eric256: when running the game, do you get the error I get?
eric256 still rebuilding hang on 16:40
gonna just do svn up && make clean && perl Configure.pl && make perl6 from now on ;)
or i'm gonna shoot myself cause i just did all that an my perl6 still reports revision 33937
moritz_ wrong directory? ;-) 16:41
eric256 i deleted wizard.pl and re svn up'ed it and then perl6 wizard.pl and i get argument doesn't array
masak eric256: I eventually created an alias, so I wouldn't have to type so much every time I wanted to re-make parrot and perl6 16:42
16:42 alech left
masak eric256: I can't reproduce that error here. sorry. 16:42
moritz_ rakudo: say <a b> Z <1 2 3>
p6eval rakudo 34067: OUTPUT[a1b2␤]
masak I could probably dig further into the error I'm getting, though.
I suspect it has to do with Rakudo and inheritance. 16:43
moritz_: unless told otherwise Z stops at shortest length.
[particle] btw see languages/perl6/tools/rebase-rakudo.pl
moritz_ what's the preferred way to fail() from within PIR code? 16:46
(in a Rakudo builtin, that is)
masak moritz_: maybe ask at #parrot?
moritz_ damn, I just noticed that infix:<...> needs lazy lists anyway... 16:49
eric256 hey...can someone else run perl6 -v and see what revision they get, make sure i'm not running in circles 16:51
heh
masak moritz_: infix:<...> ?
what does that do?
moritz_ masak: it continues a list ;-)
masak oh, that one.
moritz_ masak: 1, 1 ... { $^a + $^b } # fibonacci numbers
masak it's pretty new.
moritz_ aye.
eric256 isn't that postfix? 16:52
masak eric256: no, because it appears between the list and the block.
moritz_ @tell Hinrik the ternary operator ( $condtion ?? $true !! $false) mightly confused perl6.vim
lambdabot Consider it noted.
moritz_ actually it's a list infix, like Z and X and others
[particle] rakudo: print $*VM{CONFIG}{revision}
p6eval rakudo 34068: OUTPUT[Use of uninitialized value␤get_pmc_keyed() not implemented in class 'Undef'␤current instr.: 'parrot;Associative;postcircumfix:{ }' pc 1593 (src/classes/Associative.pir:40)␤]
eric256 ohh i was thinking of it as (1, 1...)
[particle] rakudo: print %*VM{CONFIG}{revision} 16:53
p6eval rakudo 34068: OUTPUT[Use of uninitialized value␤Could not find non-existent sub revision␤current instr.: '_block11' pc 43 (EVAL_13:22)␤]
[particle] rakudo: print %*VM{config}{revision}
p6eval rakudo 34068: OUTPUT[Could not find non-existent sub config␤current instr.: '_block11' pc 22 (EVAL_13:17)␤]
[particle] ...it's in there somewhere...
rakudo: print %*VM{CONFIG}{version}
p6eval rakudo 34068: OUTPUT[Use of uninitialized value␤Could not find non-existent sub version␤current instr.: '_block11' pc 43 (EVAL_13:22)␤]
[particle] oh, duh
masak [particle]: why not just look at the source code instead? :)
[particle] rakudo: print %*VM<config><revision>
p6eval rakudo 34068: OUTPUT[34065]
masak oh! 16:54
how come it didn't catch the barewords?
isn't that... a bug?
moritz_ masak: NOOO
masak laughs evilly
moritz_ %hash<key> quotes key, %hash{$key} doesn't
[particle] no, it's not a bug
it's looking for subroutines 16:55
<...> === {'...'}
masak yeah, yeah
rakudo: say config
p6eval rakudo 34068: OUTPUT[Could not find non-existent sub config␤current instr.: '_block11' pc 13 (EVAL_13:13)␤]
moritz_ [particle]: actually <...> = { qw{...} }
[particle] i just can't wake up enough to read an error message properly
masak rakudo: say %*VM{config}
p6eval rakudo 34068: OUTPUT[Could not find non-existent sub config␤current instr.: '_block11' pc 22 (EVAL_13:17)␤]
[particle] wonders if <...> splits on non-breaking spaces, too 16:56
and, should it?
masak rakudo: say CONFIG
p6eval rakudo 34068: OUTPUT[Use of uninitialized value␤␤]
eric256 of freakin ehh.. i was only updating the perl6 directory inside languages not the parrot directory
moritz_ rakudo: my %h = :a<1>, :b<2>; say %h<b a>;
p6eval rakudo 34068: OUTPUT[21␤]
[particle] eric256 you should run rebase-rakudo.pl
moritz_ pmichaud++
eric256 rerunning it, its not very sepcific on what it does so i was a bit worried about running it 16:57
does that update the revisions too?
[particle] it rebuilds parrot, so yes. 17:00
17:00 justatheory left
eric256 do you rebase all the time then? 17:00
[particle] actually, you need --realclean (aka -are)
grr, -r
17:00 justatheory joined
[particle] i rebuild parrot many times a day 17:01
eric256 restarts it with -r
masak eric256: I've never rebased Rakudo. 17:02
I just rebuild Parrot from the ground up. feels easier to me.
17:02 lambdabot left
pmichaud ooooh, I found a highly repeatable -G segfault 17:03
masak (unless it's obvious from the svn commits that Parrot hasn't changed)
pmichaud++
pmichaud I haven't fixed it yet, I just found it.
[particle] masak: that's the same thing
masak [particle]: aye, so I gathered.
pmichaud: kudos anyway.
finding it is half the battle. 17:04
17:05 justatheory left, lambdabot joined
masak wow, the atmosphere here is so different from #perl on irc.perl.org 17:07
[particle] let's keep it that way, m'kay?
lambdabot [particle]: You have 1 new message. '/msg lambdabot @messages' to read it.
masak [particle]: gladly.
[particle] @massages
lambdabot moritz_ said 3d 21h 37m 27s ago: I've glanced over S19 and I think there should be an --encoding option to specify the encoding of the source file
moritz_ that was only 3+1/2 days ago? hard to believe... 17:08
masak should default encoding be utf-8, or platform-dependent? 17:09
moritz_ yes ;-)
masak thinks so too
those are the only two sane defaults. 17:10
moritz_ it's a decision that I'm happy not to make
[particle] meetoo
moritz_ anyway, I think that an option for out-of-band signalling is never a bad idea
pmichaud iirc, default encoding is utf-8 until the source somehow indicates otherwise. 17:11
yes, an option would be good.
(in fact, PCT already provides that option :-)
eric256 yea my revision is correct and now i get the same error you did and a jugt back trace including "*** glibc detected *** perl6: corrupted double-linked list: 0x0a84f8c8 ***"
masak PCT++
moritz_ because if the file is encoded in UTF-16, and utf-8 is assumed, it will through a parse error before it finds an encoding directive
17:11 jhorwitz joined
masak eric256: that still happens sometimes, yes. 17:11
17:11 xiaoyafeng joined
masak eric256: I can explain to you why I think this error occurs. 17:12
rakudo: class Base { has $.foo }; class Deriving is Base {}; say Deriving.new( :foo(5) ).foo() 17:13
p6eval rakudo 34068: OUTPUT[You passed an initialization parameter that does not have a matching attribute.␤current instr.: 'die' pc 14378 (src/builtins/control.pir:188)␤]
masak eric256: that's why.
pmichaud if the file is encoded in UTF-16, it would likely begin with a byte order mark.
masak eric256: but I haven't checked this, it's just my guess.
pmichaud oh, *utf*-16. Hrm.
moritz_ pmichaud: BOMs are for marking byte order, not encodings
pmichaud right.
eric256 yea thats exactly whats happening...so /me moves back to smartlinking tests for a bit
pmichaud I missed the "utf" part. 17:14
masak eric256: there's a way around that, though. if you're interested.
eric256 sure
lol
masak rakudo: class Base { has $.foo }; class Deriving is Base {}; say Deriving.new( Base{ :foo(5) } ).foo()
p6eval rakudo 34068: OUTPUT[5␤]
masak there you go.
eric256 thats...hmmm...is that in the specs to work like that? lol
moritz_ but I think I'm preaching to the choir anyway
masak eric256: aye, but...
eric256: ...there's nothing that says that the current way in wizard.pl doesn't also work. 17:15
moritz_ eric256: aye. If Base and Deriving have an attribute of the same name, they need to be distinguised in some way
masak eric256: it's just not very clearly specced that it should or shouldn't.
moritz_: but they don't.
eric256 ahh gotcha
moritz_ masak: right, I'm just explaining the idea behind this weird syntax
masak moritz_: oh, ok. 17:16
eric256++ # welcome back to Perl 6 hacking!
17:16 azawawi joined 17:17 iblechbot_ left
moritz_ I think it's important for people to understand why a language works the way it does 17:17
azawawi hi
masak moritz_: ack.
moritz_ I tend to learn much better when I know the backgrounds and connections
azawawi: hi
and that's what I tried to communicate in my 5-to-6 blog series
masak moritz_: I have that pattern too.
azawawi dinner & 17:18
TimToady multi *foo is old syntax; you have to say multi GLOBAL::foo now to mean that, and it's not clear that the search includes the GLOBAL space in any case
eric256 "invoke() not implemented in class 'wObject'" ... i think it might be nap time 17:19
TimToady standard multis are imported into prelude lexical scope, not into GLOBAL
moritz_ what's the syntax for declaring things in the prelude scope? 17:20
masak TimToady: do I need to write Derived.new( Base{ :foo<5> } ) if Base has $.foo, but Derived doesn't?
TimToady you can't declare things in the prelude scope unless you're the prelude
17:20 ruoso left
moritz_ and in the prelude...? 17:20
TimToady you have to export your multis into the scope that is using them
in the prelude they're just ordinary multis 17:21
moritz_ so the compiler has to somehow magically know what's prelude and what not?
TimToady prelude is just a lexical scope notionally outside of the current file's scope
I think
I think prelude just snapshots its lexical scope at the end and compiler starts other compilations within that lexical scope 17:22
moritz_ works for me
TimToady though file gets its own lexical scope, so prelude is OUTER to that
prelude defines the standard language, so it wants to be immutable, and all other multis can be imported into file scope 17:23
(as it's being compiled; it becomes immutable at CHECK time) 17:24
azawawi TimToady: Padre::Plugin::Perl6 goes live today with Padre 0.22 17:25
masak azawawi++
azawawi TimToady: First parse takes 1.7 secs on my laptop and the lexer cache in Cursor.pmc cuts it down to 0.4 secs 17:26
17:28 maerzhase left
TimToady there already was a lexer cache; what did you do differently? 17:28
17:28 ruoso joined
TimToady I guess I should just look... 17:29
eric256 rakudo: class Base { has $.foo }; class Deriving is Base {}; class Child is Deriving; say Child.new( Base{ :foo(5) } ).foo()
moritz_ perlcabal.org/svn/pugs/revision/?rev=24463
azawawi fetches the change log for Cursor.pmc 17:30
moritz_ eric256: you have some weird leading unicode character, so p6eval doesn't respond
eric256 ahh darn cut and paste
lol
TimToady oh, looks like you just made it work on windows
eric256 actualy that example works... wasn't the test case i thought i had
azawawi TimToady: perlcabal.org/svn/pugs/revision/?rev=24463
TimToady moritz_: speaking of unicode, is there some reason we're getting ugly NL instead of the pretty unicode replacement char for newline? 17:32
moritz_ TimToady: which one do you consider pretty?
avar 17:33
TimToady hmm, could be my keyboard here...
I recently had a host change, maybe it's my irssi
avar: did you just put the U+2424 char? 17:34
or literal "NL"
moritz_ that was \N{SYMBOL FOR NEWLINE}
both from avar and from p6eval
TimToady okay, it's my problem, nevermind
sorry for maligning p6eval 17:35
moritz_ no problem ;)
azawawi moritz_: im thinking of writing a second highlighter based on perl6.vim (no Text::VIMColor); just pure perl. 17:36
masak TimToady: no opinion on the Base/Derived question? maybe I'm just missing something in the synopses?
TimToady I though it was specced that it looks first for a protoobject of the right name, and if it doesn't find that, just uses the loose args 17:37
masak tries to grok what that means 17:38
TimToady: does that mean that Derived.new( :foo<5> ) would work, even if Derived itself does not define a $.foo ? 17:39
the #debian people are very friendly, too. 17:41
maybe we should just use this as the Rakudo logo: www.fileformat.info/info/unicode/ch.../index.htm
TimToady yes, see S12:681 17:43
masak TimToady: thanks.
eric256 rakudo: class wObject { has Str $.name is rw; }; class Weapon is wObject { has Int $.power is rw}; my $spell = Weapon.new( wObject{ :name("Spell") }, :power(0)); 17:44
p6eval rakudo 34068: OUTPUT[invoke() not implemented in class 'wObject'␤current instr.: '_block11' pc 43 (EVAL_12:23)␤]
TimToady and in general, it's not an error to pass unrecognized initializers
masak TimToady: oh!
TimToady since each class will assume it was intended for a different class
masak _two_ rakudobugs. :)
masak files 17:45
TimToady and we want to allow scope for people splitting classes without having to redo initializers
refactoring++
eric256 what am i doing differently there than the Base/Deriving example above? 17:46
TimToady probably not starting the class with an uppercase char :( 17:47
eric256 is that a no no?
TimToady I hear that restriction is about to be lifted
moritz_ eric256: it's a current rakudo limitation
eric256: that jnthn is working on 17:48
eric256 rakudo: class wObject { has Str $.name is rw; }; class weapon is wObject { has Int $.power is rw}; my $spell = weapon.new( wObject{ :name("Spell") }, :power(0));
TimToady classes should be parsed based entirely on predeclaration
p6eval rakudo 34068: OUTPUT[invoke() not implemented in class 'weapon'␤current instr.: '_block11' pc 34 (EVAL_12:19)␤]
eric256 oh wait...they NEED the upper case letteR?
fudge
lol
moritz_ perl6: class a { }; my $o = a.new; say "alive"; 17:49
masak eric256: only right now, in Rakudo.
p6eval rakudo 34068: OUTPUT[invoke() not implemented in class 'a'␤current instr.: '_block11' pc 28 (EVAL_12:17)␤]
..pugs: OUTPUT[alive␤]
..elf 24470: OUTPUT[Undefined subroutine &GLOBAL::a called at (eval 119) line 8.␤ at ./elf_f line 3861␤]
TimToady looks like elf might make the same booboo
moritz_ perl6: class A { }; my $o = A.new; say "alive"; 17:50
p6eval elf 24470, pugs, rakudo 34068: OUTPUT[alive␤]
moritz_ aye
ruoso hi TimToady 17:58
azawawi TimToady: i need to 'use STD;' at script startup even though i use it in Syntax::Highlight::Perl6; otherwise i get the following error: search.cpan.org/~azawawi/Syntax-Hig...IMITATIONS 18:01
pugs_svn r24471 | eric256++ | [examples/games/wizard.pl] Upper case all names and added base class fudge for parameters 18:02
eric256 perl6: class Base { has $.foo }; class Deriving is Base {}; say Deriving.new( Base{ :foo(5) } ).foo()
p6eval rakudo 34068: OUTPUT[Syntax error at line 1, near "\ufeffclass Bas"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤]
..elf 24470: OUTPUT[Parse error in: /tmp/6AHvHw3EM3␤panic at line 1 column 0 (pos 0): Can't understand next input--giving up␤WHERE: class Base { has $.foo }; cla␤WHERE:/\<-- HERE␤ STD_red/prelude.rb:99:in `panic'␤ STD_red/std.rb:76:in `scan_unitstopper'␤ STD_red/std.rb:224:in `comp_unit'␤
..STD_r...
..pugs: OUTPUT[*** Must only use named arguments to new() constructor␤ Be sure to use bareword keys.␤ at /tmp/jFtcbrsMCT line 1, column 58 - line 2, column 1␤]
eric256 perl6: class Base { has $.foo }; class Deriving is Base {}; say Deriving.new( Base{ :foo(5) } ).foo() 18:03
p6eval rakudo 34068: OUTPUT[5␤]
..elf 24470: OUTPUT[Can't use bareword ("Base") as a HASH ref while "strict refs" in use at (eval 117) line 14.␤ at ./elf_f line 3861␤]
..pugs: OUTPUT[*** Must only use named arguments to new() constructor␤ Be sure to use bareword keys.␤ at /tmp/hqfv6sB2oa line 1, column 58 - line 2, column 1␤]
ruoso moritz_, eric256, that's why mildew declares &a for class a, so a.new can be parsed as &a().new() and just work
eric256 unicode+pidgin != good friends
TimToady ruoso: EXPORTALL is something audreyt put into the spec; I don't know how she was expecting it to work 18:04
ruoso hmmm... right... and how do you think symbol exportation should work?
TimToady so feel free to make it work right, as long as parrotfolx agree 18:05
ruoso ok...
I think Foo::Bar::.EXPORTALL migth be sane then
considering that means calling the method EXPORTALL on the package Foo::Bar
std: Foo::Bar::.EXPORTALL 18:06
p6eval std 24471: OUTPUT[00:05 80m␤]
ruoso hm?
is that a success?
TimToady yes
ruoso ah.. ok
I think being a method of package is sane,
since it will call EXPORT if the package defines one 18:07
we still have the question whether defining EXPORT replaces or complements the default behavior
the most extensible would be for it to replace the default behavior 18:08
(by "default behavior" here I mean exporting the symbols in the EXPORT:: sub-package)
azawawi TimToady: any hint on 'Can't call method "bless" on an undefined value at STD.pm line 5269.' when no use-ing STD in script main
TimToady what is STD.pmc doing at line 5269? 18:10
azawawi checking 18:11
pmichaud (EXPORTALL as method) that was how I was thinking it was going to end up looking, too. Either that or a multisub in some sort of available scope.
azawawi TimToady: $C = $::PARSER->bless($C); 18:12
18:12 iblechbot joined
azawawi TimToady: in sub statement { ... } 18:12
TimToady it's trying to reset the current language whatever the current value of $::PARSER is, so something in the outer context is letting $::PARSER be undefined 18:13
what are you calling as the top rule?
azawawi comp_unit
azawawi is double checking it 18:14
18:14 preflex joined
TimToady statementlist should be setting it 18:14
and add_macro modifies it 18:15
18:15 adc_penner joined
ruoso [particle], pmichaud, jnthn, are you ok with EXPORTALL being a method of Package? i.e.: Foo::Bar::.EXPORTALL instead of Foo::Bar.EXPORTALL ? 18:16
pmichaud I'm fine with that for now. If it doesn't work out we'll let you know. 18:17
[particle] yep, same here 18:18
ruoso TimToady, could that be changed in the spec?
TimToady don't ask silly questions :) 18:19
pmichaud ruoso: spec is in pugs repo... :-)
TimToady and I already said that that part was written by audreyt, not me...
pmichaud in general, if TimToady, myself, jnthn, and ruoso are in agreement on a change, then I think it's pretty safe to put it in the spec. :-) 18:20
ruoso just being polite ;)
hehe
TimToady just ask youself what you'd be doing if I were run over by a bus, and do that, unless I complain :)
if I get run over by a bus, I probably won't complain :) 18:21
pmichaud (and the criteria I just mentioned is intended to indicate clear sufficiency, not a necessary requirement.)
18:21 adc_penner left
TimToady I figure if anyone tries to do a power grab after I'm gone, everyone else will know what to do. :) 18:22
pmichaud seance?
TimToady my theology probably requires me to boycott one of those...
though it worked for Samuel, it seems
pmichaud Besides, TheDamian already established that you're immortal. :-) 18:23
TimToady actually, as soon as he established that, I started turning gray
so maybe I've been cursed now...
eric256 figured TimToady was a bot anyway
pmichaud ah, so immortality only works if nobody else knows about it?
sounds Heisenberg-ish 18:24
"you can live forever, but only if you don't measure how long you've lived"
TimToady
.oO(I'm going to have to move to a new body now...)
ruoso in the meanwhile...
18:25 pbuetow joined
ruoso I think it's a little weird that EXPORT could be a method of a Class instead of a Sub 18:25
pugs_svn r24472 | ruoso++ | [spec] Foo::Bar::.EXPORTALL instead of Foo::Bar.EXPORTALL 18:26
18:27 adc_penner joined
ruoso can you export a method as a method? is export in methods usually means turning it into a subroutine.... 18:28
TimToady can certainly do a normal alias, which doesn't modify any signature trait 18:30
arguably we should mark the sig-mangling case differently when we export
ruoso hmmm... if EXPORT can be called as a method of a class, it means it's inheritable... that might be weird... 18:31
pmichaud that's kinda what I expect, though, if a class is wanting to change how it exports things. 18:32
ruoso my question is whether it makes sense for a Class to export things... 18:35
exportation is a "package" thing, in my mindset
we have Roles to do that with classes
pmichaud my first guess is that EXPORT is part of the Abstraction role 18:38
ruoso I'm not sure I follow 18:39
pmichaud anything that does Abstraction (package, class, etc.) can define an EXPORT 18:40
anyway, I'm only half thinking about it at the moment -- focusing on another rakudo issue right now.
azawawi TimToady: i traced the $::PARSER bug; if i replace it with $Syntax::Highlight::Perl6::PARSER; then it works. 18:42
eric256 where do i find info about string interpolation? 18:45
pmichaud eric256: Synopsis 2 18:46
azawawi moritz_: can u help there? ;-) 18:48
18:54 alech joined
eric256 did $?OS move to something different? 18:55
masak rakudo: say $?OS 18:56
p6eval rakudo 34074: OUTPUT[Lexical '$?OS' not found␤current instr.: '_block11' pc 11 (EVAL_13:13)␤]
masak eric256: doesn't seem implemented.
ruoso wasn't it $*OS? 18:57
rakudo: say $*OS
p6eval rakudo 34074: OUTPUT[linux␤]
masak oh.
what ruoso said :)
18:57 macae joined
masak actually, both $*OS and $?OS are still in the spec, but they refer to runtime and compile time, respectively. 19:09
TimToady $?OS should be the OS of the compiler, while $*OS is the OS of the runtime
darn, you beat me
masak only by a second or so.
azawawi TimToady: i traced the $::PARSER bug; if i replace it with $Syntax::Highlight::Perl6::PARSER; then it works.
azawawi feels a deja-vu 19:10
masak I had to install App::Ack to be able to answer.
alester That's good.
Your machine thanks you.
masak it does, yes.
moritz_ ack++ 19:11
masak I'm still training it in various ways, got it two days ago.
Emacs is perhaps the least obedient program right now, it does tens of annoying things that Aqua Emacs didn't do on the Mac. 19:12
I don't understand how it can differ so much.
masak visits #emacs to complain a bit 19:15
19:17 smtms left 19:21 macae left, smtms joined 19:27 adc_penner2 joined 19:42 adc_penner left 19:43 justatheory joined 19:46 hercynium joined
azawawi moritz_: ping 19:53
19:56 eric256 left, wolverian left, Lorn left, DemoFreak left, orafu left, c9s left, awwaiid left, pbuetow left, iblechbot left, xiaoyafeng left, elmex left, allbery_b left, ryanc left, Trey left, yves left, ilbot2 left, StephenPollei left, lambdabot left, stephens left, broquaint left, charsbar left, jnthn left, szbalint left, hcchien left, nnunley left, pasteling left, hercynium left, Southen left, jan_ left, rhr left, ewilhelm left, araujo left, eternaleye left, lumi_ left, baest left, jjore left, ingy left, IRSeekBot left, silug left 19:57 jhorwitz left, vixey left, dalek left, dmq left, simcop2387 left, nothingmuch left, edenc left, idemal left, japhb left, literal left, c1sung left, justatheory left, bloonix left, kcwu left, buu left, BinGOs left, adc_penner2 left, cognominal left, Patterner left, Jedai left, Maddingue left, preflex left, funktio left, xuser left, pugs_svn left, samlh left, jiing left, ft left, agentzh left, p6eval left, clkao left, LCamel_ left, perlbot left, tcliou|A1ay left, AzureStone_ left, alech left, alester left, masak left, Aisling_ left, aindilis left, yahooooo left, Eevee left, avar left, Caelum left, f00li5h left, smtms left, kanru left, felipe left, PerlJam left, thepler left, rakudo_svn left, diakopter left, Gothmog_ left, Grrrr left, pmichaud left, lisppaste3 left, Khisanth left, SamB left, buubot left, r0bby left, Guest16015 left, szabgab left, sunnavy left, integral left, Tene left, ruoso left, azawawi left, exodist_ left, [particle] left, mberends left, akl- left, yjh left, Lunchy left, spinclad left, cls_bsd left, Ferran left, mtve left, gbacon left, kolibrie left, shachaf left, lizsac left, smg left, TimToady left, zostay left, drbean left 20:00 Helios- left 20:01 TimToady joined, hercynium joined, justatheory joined, adc_penner2 joined, smtms joined, alech joined, pbuetow joined, preflex joined, iblechbot joined, ruoso joined, azawawi joined, xiaoyafeng joined, jhorwitz joined, lambdabot joined, stephens joined, kanru joined, bloonix joined, exodist_ joined, eric256 joined, alester joined, [particle] joined, broquaint joined, wolverian joined, cognominal joined, Lorn joined, vixey joined, araujo joined, masak joined, elmex joined, mberends joined, felipe joined, funktio joined, Aisling_ joined, DemoFreak joined, akl- joined, dalek joined, allbery_b joined, Patterner joined, dmq joined, yjh joined, ryanc joined, orafu joined, Lunchy joined, aindilis joined, kcwu joined, gbacon joined, Trey joined, irc.freenode.net sets mode: +o TimToady, eternaleye joined, charsbar joined, Jedai joined, c9s joined, awwaiid joined, lisppaste3 joined, Khisanth joined, SamB joined, Ferran joined, Southen joined, buubot joined, jan_ joined, simcop2387 joined, PerlJam joined, yves joined, thepler joined, lumi_ joined, xuser joined, r0bby joined, ilbot2 joined, StephenPollei joined, kolibrie joined, Guest16015 joined, jnthn joined, shachaf joined, pasteling joined, hcchien joined, nnunley joined, szbalint joined, nothingmuch joined, edenc joined, rhr joined, yahooooo joined, buu joined, ewilhelm joined, rakudo_svn joined, pugs_svn joined, lizsac joined, zostay joined, smg joined, drbean joined, japhb joined, Eevee joined, agentzh joined, Caelum joined, baest joined, samlh joined, p6eval joined, jiing joined, ft joined, clkao joined, silug joined, IRSeekBot joined, LCamel_ joined, c1sung joined, tcliou|A1ay joined, ingy joined, f00li5h joined, diakopter joined, spinclad joined, Gothmog_ joined, jjore joined, pmichaud joined, BinGOs joined, AzureStone_ joined, perlbot joined, Maddingue joined, idemal joined, literal joined, Tene joined, avar joined, szabgab joined, sunnavy joined, cls_bsd joined, integral joined, mtve joined, Grrrr joined, Helios- joined
[particle] TimToady: ping 20:01
azawawi lambdabot: ping ;-) 20:02
@lambdabot: ping ;-)
lambdabot Unknown command, try @list
azawawi moritz_: i think i found the bug when using STD.pm, context var emulation assumes that 'our var1' will be in main:: but that is not true in use it in another package 20:04
20:05 alech left
azawawi sleep & 20:17
20:19 ejs1 joined 20:22 adc_penner2 left 20:23 adc_penner joined 20:26 alech joined 20:28 bsdperl joined
eric256 i have a number that keeps printing as an Int 20:34
pmichaud which number is that?
20:35 meppl joined
eric256 sorry got distracted ;) the life of my monsters. i can't $.life prints as Int, $.life.perl prints a "Int" and $.life.perl.say prints "Int" 20:36
[particle] you mean it literally prints "Int" ? 20:37
20:37 Lorn left
[particle] that likely means its undefined, and it's printing the stringified name of its prototype 20:37
20:38 justatheory left
eric256 yes 20:39
okay
masak rakudo: my Int $a; say $a.perl 20:40
p6eval rakudo 34077: OUTPUT[Int␤]
eric256 rakudo: my Int $a; say $a 20:41
p6eval rakudo 34077: OUTPUT[Int␤]
eric256 thats a bit odd
lol
masak indeed.
I wouldn't expect that from an int.
pmichaud: should it do that?
20:42 ruoso left
eric256 the odd thing is i am setting it 20:42
somewhere somehow its getting unset
:wq
TimToady [particle]: pong 20:43
pugs_svn r24473 | eric256++ | [wizard.pl] Removed stringification 20:44
20:44 lichtkind joined
TimToady I suspect stringifying an undef should result in '' and a warning 20:44
(where undef is merely a protoobject, not a Failure) 20:45
either that, or it should stringify to something like 'undef(Int)' 20:46
masak submits rakudobug
TimToady in any case, it appears that stringifying a protoobject to its name is probably a mistake in the absence of .perl 20:47
maybe 'Int()' is sufficient to indicate emptiness and non-typename-ness 20:48
[particle] TimToady: i'd appreciate your review of S19, when you have a chance 20:49
i'm working on it some more today
TimToady copious free time, and all that...
[particle] of course. 20:50
TimToady but I'll try to get to it
[particle] one thing... i changed the command line to be more p6-like, in that positional and named can be passed interchangeably
TimToady have you taken into consideration possible confustion with p5 commands? 20:51
[particle] any immediate objection?
TimToady s/t//
[particle] that's on my todo list
thinking about it currently
TimToady and do you have the +RTS before -RTS now? :)
[particle] ++RTS=foo ... --RTS=foo yes
TimToady k
eric256 rakudo: class WObject { has $.name }; class Mortal is WObject { has Int $.life is rw; }; class Monster is Mortal; my $m = Monster.new( WObject{ :name("Test") }, Mortal{ :life(10) } ); say $m.life; 20:52
p6eval rakudo 34078: OUTPUT[Int␤]
TimToady I'll try, but gotta commute to $job now
[particle] there's a grammar in there for you to stare at, too
sure, enjoy the relative movement
eric256 any ideas about that? looks like some sort of multiple inheritance bug cause if you remove the WObject calls it works correctly 20:55
masak eric256: I call bug on that. 20:56
eric256 rakudo: class Mortal is WObject { has Int $.life is rw; }; class Monster is Mortal; my $m = Monster.new( Mortal{ :life(10) } ); say $m.life;
p6eval rakudo 34078: OUTPUT[Attempt to inherit from non-existent parent class␤current instr.: 'die' pc 14378 (src/builtins/control.pir:188)␤]
eric256 rakudo: class Mortal { has Int $.life is rw; }; class Monster is Mortal; my $m = Monster.new( Mortal{ :life(10) } ); say $m.life;
p6eval rakudo 34078: OUTPUT[10␤]
masak rakudo: class A {}; class B is A { has Int $.foo }; class C is B {}; my $m = C.new( B{ :foo<5> } ); say $m.foo; 20:57
p6eval rakudo 34078: OUTPUT[5␤]
masak rakudo: class A {}; class B is A { has Int $.foo }; class C is B; my $m = C.new( B{ :foo<5> } ); say $m.foo;
p6eval rakudo 34078: OUTPUT[5␤]
masak hm.
rakudo: class A { has $.bar; }; class B is A { has Int $.foo }; class C is B; my $m = C.new( A{ :bar<baz> }, B{ :foo<5> } ); say $m.foo; 20:58
p6eval rakudo 34078: OUTPUT[Int␤]
masak aha.
masak submits rakudobug
eric256 thanks
pmichaud (stringifying protoobject) We're just following the spec. :-) :-) 20:59
masak eric256: I can keep going like this all night. :)
pmichaud: :)
eric256 rakudo: class A { has $.bar; }; class B is A { has Int $.foo }; class C is B; my $m = C.new( B{ :foo<5> } ); say $m.foo;
masak eric256: there's that strange character again.
20:59 mj41 joined
eric256 rakudo: class A { has $.bar; }; class B is A { has Int $.foo }; class C is B; my $m = C.new( B{ :foo<5> } ); say $m.foo; 20:59
why don't i see it?
masak eric256: (i.e. p6eval didn't hear you)
eric256 rrakudo: class A { has $.bar; }; class B is A { has Int $.foo }; class C is B; my $m = C.new( B{ :foo<5> } ); say $m.foo;
rakudo: class A { has $.bar; }; class B is A { has Int $.foo }; class C is B; my $m = C.new( B{ :foo<5> } ); say $m.foo; 21:00
p6eval rakudo 34078: OUTPUT[5␤]
eric256 :(
pmichaud note that $m is out of scope
eric256 ;)
pmichaud oh, no it's not
sorry, misread the curlies.
eric256 rakudo: class A { has $.bar; }; class B is A { has Int $.foo }; class C is B; my $m = C.new( B{ :foo<5> } ); $m.bar = 1; $m.foo =2; say $m.foo;
p6eval rakudo 34078: OUTPUT[Cannot assign to readonly variable.␤current instr.: 'die' pc 14378 (src/builtins/control.pir:188)␤]
eric256 rakudo: class A { has $.bar is rw; }; class B is A { has Int $.foo is rw }; class C is B; my $m = C.new( B{ :foo<5> } ); $m.bar = 1; $m.foo =2; say $m.foo; 21:01
p6eval rakudo 34078: OUTPUT[2␤]
eric256 hmm odd, i was trying to work around it by assiging outside the creator, but it was giving me a weird error.
masak constructor.
eric256 true that
rakudo: class Mortal { has Int $.life is rw;}; class Monster is Mortal {}; my $m = Monster.new(); $m.life = (1..5).pick; say $m.life; 21:04
p6eval rakudo 34078: OUTPUT[Type mismatch in assignment.␤current instr.: 'die' pc 14378 (src/builtins/control.pir:188)␤]
masak rakudo: my Int $a = (1..5).pick; say $a
p6eval rakudo 34078: OUTPUT[Type mismatch in assignment.␤current instr.: 'die' pc 14378 (src/builtins/control.pir:188)␤]
masak rakudo: say (1..5).pick.WHAT 21:05
eric256 well yea if you wanted a short case
p6eval rakudo 34078: OUTPUT[List␤]
eric256 lol
masak there's the problem.
although I think it's a bit mean of Rakudo not to accept the only Int in that List.
eric256 aye but whats the solutions?
masak eric256: don't know yet.
eric256 hehe okay
masak rakudo: say (1..5).pick[0].WHAT
p6eval rakudo 34078: OUTPUT[Int␤]
pmichaud current spec for .pick is that it returns a List. There's been discussion that it should return a capture instead.
masak rakudo: my Int $a = (1..5).pick[0]; say $a 21:06
p6eval rakudo 34078: OUTPUT[4␤]
masak eric256: there you go.
not pretty, but there you go. :)
eric256 well i can tell you from the coding side its a bit odd to ask it to pick one Int and not get an Int back
masak eric256: aye.
pmichaud again, I just implement the spec, as given by the synopses and the test suite. :-)
masak pmichaud++ 21:07
eric256 i'm actualy surprised the tests didn't cover that. but they probably didn't have Int on there and i think it works then, can't Int force a List of 1 into 1? hmm
masak eric256: thing is, Rakudo is working according to spec here. as pmichaud pointed out.
eric256: it's the spec that's silly. 21:08
pmichaud our List multi method pick ( @values: Int $num = 1, Bool :$repl )
See? It returns a *List*. :-P
21:08 pmurias joined
masak pmichaud: how would returning a Capture solve anything? 21:09
pmichaud because it would give the first element if assigned to a scalar, and a list if assigned to a list, presumably.
masak ooh, cunning.
eric256 oh i don't doubt its the spec
pmichaud at least I _think_ that's what was said. Checking...
21:10 alech left
masak yes, a Capture then, please. 21:10
eric256 doesn't no the difference between a List a Capture and an array of Int at this point
need to go back to perl school
masak eric256: that's because you are a Perl 5 programmer, presumably. :)
eric256 indeed
masak the line is not that sharp in Perl 5.
21:11 pmurias left, alech joined
eric256 aliases .pick_one to .pick[0] ;) 21:12
masak eric256++
eric256: now you know how it feels to develop a web application in Rakudo :) 21:13
or begin to realise, at least.
21:13 japhb left
eric256 yea no kidding 21:15
getting close to a working game though ;)
masak eric256: did you have time to look at the game I sent you?
masak is curious
eric256 yes. and realized that not understanding the specs or perl6 i wasn't going to get anywhere with it ;) 21:16
lol
masak eric256: the specs are recommended reading. 21:17
eric256: so you didn't try playing it? :)
eric256 no not yet
masak ok, no sweat.
eric256: I remember playing wizard.pl, many years ago. I remember it was quite difficult. 21:19
21:19 japhb joined
masak eric256: once you get it running under Rakudo, consider putting a comment to that effect in the file, along with the Rakudo revision number. 21:20
pugs_svn r24474 | lwall++ | [Spec] redefine WHAT to stringify to typename plus '()'
21:21 Southen_ joined
pmichaud TimToady: is this still the "shortname" plus '()' ? 21:21
21:21 gfldex joined
pmichaud I guess it is (reading the spec) 21:22
does "shortname" here mean the last component of a ::-separate name? I.e., would Foo::Grammar have a shortname of "Grammar"?
TimToady no, Foo::Grammar in this case 21:24
pmichaud okay. so "shortname" as in "name without all of the :auth/:ver/:other stuff attached."
TimToady anything short is always translated to that "short name" immediately by the compiler 21:25
*shorter 21:26
if not the long name...
you can use 'Grammar' within Foo, but the compiler immediately figgers out it's Foo::Grammar
pmichaud that's fine -- I'm just checking what "stringifies to short name" means here :-) 21:27
21:28 TimToady left 21:29 TimToady joined
TimToady @messages 21:31
lambdabot mncharity said 16d 21h 33m 50s ago: fyi, m:P5/a/ doesn't have an atom node (unlike m/a/ and m/:P5 a/). m/:P5(1)a/ and m/:P5()a/ also look odd. those are just fyi. More of a problem, m/:P5 a b/ looks
like it's parsed as p5 /a b/x rather than /a b/. m/:P5 a ?b/ too. Not a blocker, but I'm hoping to pour the p5 re.t through STD_blue at some point.
PerlJam said 16d 5h 10m 44s ago: feature request: expose the "types" (classes, roles,etc.) that perl6 knows about to the user in some way. my @t = ::TYPES; # or something.
azawawi said 5d 5h 51m 30s ago: I've documented the bugs i encountered so far in search.cpan.org/perldoc?Syntax::Highlight::Perl6 . Can we dump Moose.pm dependency for STD.pmc? Moose seems
not to work correctly on my strawberry win32. Thx. TimToady++
masak rakudo: class A::B {}; class A { say B.WHAT } # should this work?
lambdabot mncharity said 4d 22h 27m 53s ago: Just a reminder, since STD was touched - STD_blue elf broke on r24080, and has stopped tracking head, staying with r24067. I've been considering r24080, with
p6eval rakudo 34081: OUTPUT[Failure␤]
lambdabot little thought, a probable STD regression, given the presence of "Unknown routines: sub called at " messages, which seemed at least some sort of STD bug.
21:34 ejs1 left, maerzhase joined 21:36 ejs1 joined 21:37 xuser_ joined, xuser left 21:41 Southen left 21:45 pjcj joined
eric256 is there any way to disable the stack trace? that gets realy annoying 21:50
masak eric256: :) 21:53
tell me about it.
1. ask on #parrot on irc.perl.org
moritz_ 2. submit patch
masak 2. I think it'll get better with time
there are already some bug tickets about that.
hm, moritz_' "2." is decidedly better than mine. :) 21:54
there's one ticket where a person is complaining (based on expectations from Perl 5, I guess) that "die" produces a stack trace 21:55
ISTR that pmichaud|jonathan has said that ideally, the stack trace shouldn't involve Parrot/PCT internals.
moritz_ #56604 "Not all error messages should include a stack trace" 21:56
eric256 yea cause right now i get a stack trace, a backtrace and a memdump 21:57
masak moritz_++
eric256 thats a bit overkill
masak eric256: if there's something I've found, it's that complaining, loudly and repeatedly, tends to help. 21:58
moritz_ like, about lexicals? ;-)
masak that is the prime example.
eric256 and i can segfault it in interactive mode consistently ;) jsut try to redeclare the same class three times
masak eric256: ooh! 21:59
masak tries
moritz_ rakudo: class A {}; class A { }; class A { };
p6eval rakudo 34081: OUTPUT[Class A already registered!␤␤current instr.: '!keyword_class' pc 15712 (src/builtins/guts.pir:352)␤]
eric256 only works in interactive mode, no idea why
masak eric256: not for me.
I wrote `class A {};` three times on the interactive prompt. 22:00
eric256 actualy it stoped for me to
moritz_ it doesn't segfault until I quit the repl
masak ah.
oh.
yes.
redefining it once is enough. 22:01
moritz_ same for eval 'class A is B { }' (where B doesn't exists before)
masak submits rakudobug
moritz_ masak: please attach it to the existing ticket 22:02
eric256 running the following three times in interactive will segfault "class WObject {has $.name;}; class Mortal is WObject {has Int $.life is rw;}; class Monster is Mortal; my $m = Monster.new( WObject{ :name("Test") }. Mortal{ :life(10) } ); say $m.life;"
masak moritz_: the existing ticket?
moritz_ masak: it's all the same stack trace
masak: either eval 'class A is B { }' or declaration-order.t
eric256 opps got a period after the } should be a , 22:03
22:03 apeiron joined 22:04 ChanServ sets mode: +o diakopter
moritz_ masak: #60368 22:04
22:04 diakopter sets mode: +o TimToady
moritz_ afk 22:04
masak moritz_: thanks 22:05
22:09 mberends left
pmichaud disabling the stack trace is definitely something we'd like to do. 22:12
22:12 hanekomu_ joined
pmichaud At the moment Parrot doesn't give us a lot of control over that -- we either get a big stack trace, or none. 22:12
22:17 ejs1 left
eric256 casts a vote for none 22:25
;)
masak maybe you could patch parrot locally to stop bugging you :)
22:27 elmex left
pmichaud I do think we might start using the 'priority field on rt tickets as a way of indicating what needs working on more quickly. 22:32
22:32 maerzhase left, renormalist joined
TimToady I vote for putting the stack trace into a file and mentioning the url of it in the message. 22:34
[particle] that could be fun when your map { eval {...} } 1..* fails 22:35
pmichaud TimToady: 22:12 <pmichaud> At the moment Parrot doesn't give us a lot of control over that -- we either get a big stack trace, or none.
:-)
TimToady and that's why I'm voting :)
pmichaud I'll pass it along to the powers that be.
TimToady the dump of all the exceptions hiding within $! should probably go to the same place, I expect 22:37
[particle] is that $!.perl ? 22:38
TimToady basically, I think we need cockpit recorder, and should not let complaints about verbosity keep us from it
*recorders
pmichaud TimToady: I agree with that very much.
[particle] so, > blackbox.pl 22:39
TimToady [particle]: I suspect $!.perl would be largely unreadable
.html
masak TimToady: btw, happy 21st!
22:39 justatheory joined
TimToady well, I was hoping she'd be a little more grown up by now, but some are just late bloomers... 22:40
masak I think she's doing fine.
[particle] i had a beer and nachos to celebrate, although i've only known her since she was 5.005_03
22:41 adc_penner left
lichtkind if i say inside a class has $antenna no get/setter will generated so its private or what? 22:44
[particle] i'm looking at PERL5OPT now, and noticing the special taint handling. what's the current thoughts on perl 6 taint mode? default? similar syntax/semantics?
lichtkind [particle]: hello .. not seen in a while 22:45
masak lichtkind: S12:530
[particle] lichtkind: perlcabal.org/syn/S12.html#Attributes 22:46
masak++ beat me to it :)
masak only by a second or so.
lichtkind what means :530? 22:47
#530 ?
the attr defined there are all with . or ! i asked what happes if i leave this out 22:48
nonono
is see few lines below everything was there 22:49
thanks
[particle] it means line 530, in the pod
lichtkind yeah but i see it in the brwoser
[particle] i forget where the html with pod line numbers lives, so i couldn't give you the exact location in the html 22:50
22:51 c9s left
lichtkind thanks but "Outside the block, you must use the ! form." this sounds like nonsense since outside the block is outside the class where privates aren't 22:51
and can have a class an $.brain and $!brain ? 22:52
i suppose no
masak no. 22:53
lichtkind thanks 22:54
oop was one of the parts i got arround but now have to since writing part 6 of my tutorial :)
masak lichtkind: you're right about the "Outside the block" sentence. I don't understand it either.
lichtkind masak: the only sense it makes are in classes that inherit 22:55
when my tutorial is finished i will re publish it and hopefully in english :) 22:56
masak lichtkind: I thought about that too, but aren't private attributes supposed to be visible only to the class that defines them? 22:57
22:58 alester left
masak lichtkind: looking forward to a future republishing in English :) 22:58
lichtkind that wouldnt make sence tince when you overload something in inherting classes you have to access
masak lichtkind: but it's _private_.
lichtkind it will be outside the class 22:59
masak aw, maybe you're right.
something like this:
rakudo: class A { has $foo }; class B is A { method x { say $!foo } }; B.new.x
p6eval rakudo 34088: OUTPUT[␤]
23:00 hercynium left
masak rakudo: class A { has $foo = 7 }; class B is A { method x { say $!foo } }; B.new.x 23:00
p6eval rakudo 34088: OUTPUT[␤]
masak is that a bug? :)
lichtkind maybe
i was away for a while
masak rakudo: class A { has $foo = 7; method x { say $!foo } }; say A.new.x
p6eval rakudo 34088: OUTPUT[7␤1␤]
masak oops. 23:01
rakudo: class A { has $foo = 7; method x { say $!foo } }; A.new.x
p6eval rakudo 34088: OUTPUT[7␤]
masak rakudo: class A { has $foo = 7 }; class B is A { method x { say $!foo } }; B.new.x
p6eval rakudo 34088: OUTPUT[␤]
masak looks like a bug to me.
lichtkind i would say too
masak submits
lichtkind btw one of benefits of say over print : s a y are close together 23:02
easy typing
masak aye. TimToady++
lichtkind Mike Cowlishaw++
masak rakudo: class A { has $!foo = 7 }; class B is A { method x { say $!foo } }; B.new.x
p6eval rakudo 34088: OUTPUT[␤]
lichtkind it was invented in rexx twenty years ago
masak oh, this has nothing to do with the absence of ! 23:03
lichtkind en.wikipedia.org/wiki/REXX#Simple_variables
masak lichtkind: ah, nice.
lichtkind maybe its intended or a bug but raising the question is necesary 23:04
masak aye.
lichtkind masak: i saw you in kopenhagen 23:05
i was the 5th from left in 6 row :)
but had also talkes :)
but sorry for the question but hwat exactly is a meta class 23:07
its not the proto object of a class
masak lichtkind: I'm not sure I saw you. :)
lichtkind masak: i held the lightning talk about the editor
masak lichtkind: what makes you think I know about meta classes? :P
lichtkind i just guessed 23:08
23:08 Eevee left 23:09 justatheory left
masak lichtkind: may I recommend this book: www.amazon.com/Putting-Metaclasses-...0201433052 23:09
I haven't read it, but it will most likely tell you more than I can. 23:10
lichtkind i seeked for a one sentence answer :)
23:10 pbuetow left
masak lichtkind: hokay. I'll give it a try. 23:10
23:10 funktio left
masak lichtkind: as far as I know, a meta class is the class of a class. I'm not sure Perl 6 has'em. 23:10
Smalltalk does, however. 23:11
lichtkind of course p6 has everything
masak well, apart from that.
lichtkind but i saw the term meta class in several blog entrys about p6 from jonathan and moritz 23:12
so i suppose yes
23:13 mpeter joined
masak lichtkind: oh, THAT meta class! :) 23:14
lichtkind :) 23:15
masak well, the answer is in S12.
go read that.
lichtkind i searched there for meta but i find it
masak also, a meta class gives you access to interesting things in the class, like its methods.
the word 'meta' in S12: 20 hits 23:17
don't know how you missed them. :)
lichtkind because class you write in german with a k :) 23:18
masak excuses, excuses :)
lichtkind yes sir
how you can smell this 23:19
jnthn returns from the bar
masak jnthn: I have a fresh set of bugs for you, dear sir.
lichtkind jnthn: cheers, ahoj
masak lichtkind: instinct.
lichtkind masak: programmers don't have real life instincts 23:20
masak lichtkind: some do.
pmichaud jnthn: I'm running final tests before merging 'main' branch into trunk.
masak it's taken me years to develop them, though.
jnthn lichtkind: ahoj
lichtkind jnthn: yes we discussed somthing about inheriting privat variables
jnthn pmichaud: Great! :-)
23:20 apeiron_ joined
masak jnthn: yes, see latest rakudobug ticket :) 23:20
pmichaud jnthn: the use code is now straightforward :-)
masak pmichaud++ 23:21
lichtkind pmichaud++
jnthn pmichaud++
pmichaud: It was quite short before. ;-)
pmichaud nopaste.snit.ch/15028 23:22
jnthn pmichaud: Dobre, ale to je 'use'? 23:23
masak :)
jnthn oh, language...
pmichaud: Good, but what's "use" to?
masak _I_ got you.
jnthn s/to/dot/
s/dot/do/
pmichaud it does the work of 'use'
it's the same function we had before for doing use.
jnthn pmichaud: Please learn Slovak, it's the only thing I can speak after beer... ;-)
Ah, cunning. :-) 23:24
pmichaud it finds the appropriate file, compiles it if needed, runs its :load :init code and then its mainline
jnthn Great!
It looks good to me.
pmichaud I already tested it with the CGI/URL/URL::Grammar modules, works great. 23:25
eric256 can we pre-compile modules then?
pmichaud at least, it doesn't crash.
[particle] see what november does....
pmichaud as soon as my various 'make test' runs complete, I'll commit and hopefully people can test.
jnthn pmichaud: Is that, tested it withou the type registry, or with?
pmichaud w/o
jnthn Ok, thought so.
eric256 or compile perl programs to exe with all required modules embeded in compiled form? ;) 23:26
pmichaud but the type registry should jsut be able to look in the namespace now -- no @UNDER_CONSTRUCTION
jnthn pmichaud: Ok, good.
Feel free to play with it.
lichtkind has finally grokes delegation
pmichaud I will, if you're not going to be around.
lichtkind groked
jnthn I'm flying/seeing friends/family I didn't see for quite a long time over the next couple of days.
masak lichtkind: 'grokked', if you ask me. :)
pmichaud that sounds like an excellent idea. I'll make sure to update your karma for all of the type stuff :-) 23:27
jnthn pmichaud: If you go ahead and merge/fix up the branch, I won't mind in the least.
lichtkind masak: i dunno im alien to earth, but glad to be german :)
pmichaud I may indeed do that. I do want to get parameters and signatures done, but the type registry is an important pre-req to that.
jnthn pmichaud: The work was more in putting X in place Y rather than anything clever. 23:28
masak lichtkind: :)
jnthn So if you make sure you register stuff in places my branch does, it should be fine.
eric256 lichtkind: www.parrotblog.org/2008/05/p6object...arrot.html talks about metaclasses somewhat
lichtkind thanks
jnthn Be careful about the subtleties over lexical types. 23:29
23:29 apeiron left
pmichaud yes, I'm thinking you've already uncovered most of the landmines, so it shouldn't be too difficult. 23:29
23:29 apeiron_ is now known as apeiron
jnthn erm, lexical types that do Abstraction 23:29
23:29 renormalist left
jnthn I *think* STD.pm gets the wrong right now, FWIW. 23:29
pmichaud okay, it's possible.
jnthn If it gets them right, I really couldn't see how.
It looked like it just registered the name as a type. 23:30
But I couldn't see how it cleared it up at block exits, when lexical type vars when out of scope.
23:34 vixey left 23:36 exodist_ left
lichtkind jnthn: and by the other way the release i wanted to do on the hackathon in your loft is finally out, better than i thought 23:36
[particle] "by the way" 23:37
masak OTOH, "on the other hand" :) 23:38
pmichaud branch merged. If anyone wants to test November with the latest trunk it would be greatly appreciated. 23:39
jnthn Correct English is overrated.
pmichaud Do we have any tests for MAIN?
masak Goodenuf English FTW.
jnthn lichtkind++
lichtkind thanks but i really wish that kephra will be accepted by perl community 23:40
rakudo_svn r34090 | pmichaud++ | Merge Rakudo 'main' branch (refactor load/init/main) into trunk.
lichtkind this week i added the autopluggable localisation system
jnthn masak: Given that I spend plenty of time speaking to people these days in an approximation of their language, I don't really feel I have any high ground to stand on with regard to English. :-)
masak jnthn: that's good. people who keep standing on that high ground has a tearful future to look forward to. :) 23:41
23:42 Eevee joined
masak as an Esperanto speaker, I tend to have very high understanding for people's lack of mastery of English. but I still believe English is the future. 23:43
it's even the present, to a great degree.
lichtkind [particle] , masak: that "false" english was no mistake :) 23:46
masak pmichaud: compilation error in November.pm
jnthn masak: In trunk? 23:47
masak aye.
jnthn Ah.
masak "attempt to define attribute '' outside of class"
...and I'm pretty sure we don't do that anywhere :) 23:48
jnthn Fixing that case without the type registry not in place, may well make the problem with the type registry break November disappear too. 23:49
masak jnthn: now you're just abusing English for no good reason. :) 23:50
jnthn masak: You underestimate the power of boravicka... :-| 23:51
masak jnthn: np. jnthn++ for still being awake after the beer. 23:52