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 exceededcurrent 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 exceededcurrent 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 -> a1 -> b2 -> 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 expectedcurrent 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 valueget_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 valueCould not find non-existent sub revisioncurrent instr.: '_block11' pc 43 (EVAL_13:22)] | ||
[particle] | rakudo: print %*VM{config}{revision} | ||
p6eval | rakudo 34068: OUTPUT[Could not find non-existent sub configcurrent 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 valueCould not find non-existent sub versioncurrent 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 configcurrent 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 configcurrent 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/6AHvHw3EM3panic at line 1 column 0 (pos 0): Can't understand next input--giving upWHERE: class Base { has $.foo }; claWHERE:/\<-- 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 foundcurrent 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 classcurrent 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[71] | ||
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 |