perl6-projects.org/ | nopaste: sial.org/pbot/perl6 | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/ | ~290 days 'til Xmas Set by mncharity on 6 March 2009. |
|||
00:07
justatheory joined
|
|||
TimToady | sparc_: not any more, you also have to get rakudo these days | 00:09 | |
sparc_ | oh ok, cool :) | ||
Sartak | rakudo.org/how-to-get-rakudo it's very easy nowadays | ||
sparc_ | i just got rakudo downloaded, and used the --gen-parrot option | ||
it's a nice install process so far, gracias :p | 00:10 | ||
00:10
justatheory left
|
|||
sparc_ | Sartak: ossum, thanks | 00:11 | |
00:11
Ariens_Hyperion left
00:20
ZuLuuuuuu left
00:25
alester is now known as AndyAway
|
|||
pugs_svn | r25741 | putter++ | [elf_h] Flatten some logical infix op applications before emitting. | 00:26 | |
r25741 | putter++ | Eg, &&(&&(2,3),4) -> &&(2,3,4). For elfblue, to keep code emitted from STD_red and STD.pm trees identical. | |||
r25742 | lwall++ | [STD] give intelligent error message when placeholder fights with signature | 00:30 | ||
00:36
meppl left
|
|||
pugs_svn | r25743 | lwall++ | [implicit-parameter.t] placeholder conflict requires eval_die_ok | 00:39 | |
00:43
M_o_C left
00:46
mikehh left
00:47
[particle]1 joined
|
|||
mncharity | hmm, STD.pm/gimme5 is looking more and more like a p6 implementation, rather than merely a parser. | 00:47 | |
00:49
M_o_C joined
|
|||
mncharity | TimToady: a random question, what is your vision for STD.pm with respect to scope? | 00:51 | |
00:52
protorom joined
|
|||
mncharity | as time passes, my impression is STD.pm keeps getting bigger, mostly with p6 code embedded in the regexen, and is moving beyond "just enough analysis to do a correct parse" towards... full lexical analysis? a full p6 implementation? | 00:53 | |
diakopter | he said yesterday (here) that he didn't have that purpose... he wants to port gimme5 to viv's emitp5 | 00:54 | |
first, at least | |||
but, (imho) in order to do that... a lot of that p6 code in those regexen needs to be understood/interpreted... :P | 00:55 | ||
00:56
justatheory joined
|
|||
diakopter | I think it was yesterday. | 00:57 | |
maybe it was the day before. | |||
00:57
M_o_C left
|
|||
pugs_svn | r25744 | putter++ | [elfparse] Fork src/perl6/STD.pm and gimme5, r25030. | 01:00 | |
r25744 | putter++ | Elf had been tracking STD.pm HEAD, then stumbled and stopped on r25030. This forking makes it easier to non-linearly chase after the current STD.pm. | |||
mncharity | diakopter: ah, thanks! pondering... | 01:01 | |
01:02
protorom left
01:04
[particle] left
01:12
sparc_ left
|
|||
mncharity | irclog.perlgeek.de/perl6/2009-03-06#i_961681 thru irclog.perlgeek.de/perl6/2009-03-06#i_961938 | 01:19 | |
01:20
c1sung left
|
|||
diakopter | mncharity: yeah.. "translate gimme5 to viv" | 01:20 | |
mncharity | "just trying to get other people to do my work"... hmm... so if I go away, gimme5 might be translated into p6 and... oh, viv is p5. | 01:22 | |
so a p6->p5 compiler written in p5. which might then be translated into p6. | |||
diakopter | well, a compiler of just the parser | 01:23 | |
mncharity | yeah... sigh. | ||
diakopter | but yeah I guess ... theoretically... | ||
it could source translate the entire way | |||
mncharity builds rakudo. though I suspect rakudo.org/status 's "accessing outer lexicals from eval" and "nested package/grammar/class declarations" mean rakudo can't run elf, and "Perl 6 closures in regexes" than it can't run STD.pm. ah well. | 01:27 | ||
hmm, actually, STD_red-based elf might not need "accessing outer lexicals from eval"...? | 01:28 | ||
cspencer | what does a "Non-Positional argument for @vals in call to foo" imply? | 01:34 | |
01:38
justatheory left
|
|||
mncharity | context? | 01:39 | |
cspencer | sure, let me get an example here, one second... | 01:40 | |
mncharity | oh, it's a rakudo error message? | 01:41 | |
cspencer | yes :) | ||
rakudo: class Any is also { multi method foo(@vals:) { say "vals is a: " ~ @vals.WHAT } }; 2.foo; | |||
p6eval | rakudo ed4cd1: OUTPUT«Non-Positional argument for @vals in call to foocurrent instr.: 'die' pc 16289 (src/builtins/control.pir:204)» | 01:42 | |
cspencer | so i'm aware that "2" isn't an array, but i suppose i was expecting @vals to slurp it in or something... | ||
or do i need to write another multi method for that case? | |||
rakudo: class Any is also { multi method foo(@vals:) { say "vals is a: " ~ @vals.WHAT } }; (2).foo; | 01:43 | ||
p6eval | rakudo ed4cd1: OUTPUT«Non-Positional argument for @vals in call to foocurrent instr.: 'die' pc 16289 (src/builtins/control.pir:204)» | ||
diakopter | class Any is also { multi method foo(@vals:) { say "vals is a: " ~ @vals.WHAT } }; 2.foo(3); | 01:44 | |
rakudo: class Any is also { multi method foo(@vals:) { say "vals is a: " ~ @vals.WHAT } }; 2.foo(3); | |||
p6eval | rakudo ed4cd1: OUTPUT«No applicable candidates found to dispatch to for 'foo'current instr.: 'parrot;P6metaclass;dispatch' pc 320 (src/classes/ClassHOW.pir:161)» | ||
diakopter | oh, I see | ||
rakudo: class Any is also { multi method foo(@vals:) { say "vals is a: " ~ @vals.WHAT } }; ([2]).foo(); | |||
p6eval | rakudo ed4cd1: OUTPUT«vals is a: Array» | ||
cspencer | rakudo: class Any is also { multi method foo(@vals:) { say "vals is a: " ~ @vals.WHAT } }; (2,).foo; | ||
p6eval | rakudo ed4cd1: OUTPUT«vals is a: Array» | 01:45 | |
mncharity | "regression fudge"... tasty fudge which is turning itself back into flour and sugar...? | 01:49 | |
diakopter | or fudge that, when eaten, helps one regress... | 01:50 | |
mncharity | hmm, so fudge that reminds one of grad school talk snacks, or childhood treats | 01:52 | |
mncharity wonders "what's a $*foo ?". It seems assorted $+foo's have turned into them... | 01:57 | ||
wait, that's just a global... curious... | 01:58 | ||
02:01
tcliou|Away left,
LCamel left,
brunoV left
02:04
DemoFreak left
|
|||
Sartak | a contextualizable global I think | 02:06 | |
mncharity | thanks :) | 02:10 | |
TimToady | yes, we encourage all access to globals through context vars now | 02:13 | |
as for executing p6 closures, it's not really much problem for gimme5, so I don't see why it would be much more problem when viv translates p6 to p5 | 02:14 | ||
I do have to write some things oddly for gimme5 that viv would find it easier to backtraslate | |||
and there are aspects to the backtranslation that assume p5 is doing things that it really isn't, like context vars emulated with local | 02:15 | ||
mncharity: see above | 02:16 | ||
groceries & | |||
02:16
orafu left
|
|||
bacek | rakudo: my $c = &infix:<cmp>; say 5 &$c 42; | 02:25 | |
p6eval | rakudo ed4cd1: OUTPUT«Statement not terminated properly at line 1, near ":<cmp>; sa"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
bacek | std: my $c = &infix:<cmp>; say 5 &$c 42; | ||
p6eval | std 25744: OUTPUT«############# PARSE FAILED #############Syntax error (two terms in a row?) at /tmp/QRQxXFHKzd line 1:------> my $c = &infix:<cmp>; say 5 &$c 42; expecting any of: infix or meta-infix infix stopper standard stopper statement modifier loop | ||
..terminatorFAILED... | |||
02:26
orafu joined
|
|||
bacek | std: my $c = &infix:<cmp>; say &$c(5, 42); | 02:26 | |
p6eval | std 25744: OUTPUT«ok 00:03 48m» | ||
bacek | rakudo: my $c = &infix:<cmp>; say &$c(5, 42); | ||
p6eval | rakudo ed4cd1: OUTPUT«Statement not terminated properly at line 1, near ":<cmp>; sa"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
02:27
orafu left
|
|||
bacek wears masak's hat | 02:27 | ||
02:27
orafu joined
|
|||
mncharity | re context vars, nod. I'm not sure I follow the rest. If it's a "you can do a transliteration from p6 to p5 with little analysis, don't really need a compiler" suggestion, I don't see how containers, etc, can be either compiled away or implemented without crippling performance, without a non-trivial compiler. | 02:30 | |
02:31
Maghnus left
02:32
Maghnus joined
|
|||
mncharity | The "smop is so brute fast we don't have to be smart" argument, while I don't buy it, has some plausibility... well, at least it's been argued. But I don't see how to do p6 on p5 without at least type analysis, which seems beyond the scope of viv. Or I'm just missing the point entirely... :) | 02:35 | |
02:35
Maghnus_ joined
|
|||
diakopter | the amount of substitutions in gimme5.... | 02:36 | |
mncharity | drat. not the right thing. svn revert, and I'll make another try at :my another day. | ||
02:36
Maghnus_ left
|
|||
mncharity | ...? | 02:36 | |
diakopter | and the code generation.... it's definitely non-trivial, imho. | ||
mncharity | ok. but my impression is it's all local. no "we know this variable is doesn't escape scope and is never mumbled, so instead of the slow general p6 variable thing, we'll do simple and fast instead". | 02:38 | |
gimme5 seems to do "everything simple and fast". | 02:39 | ||
the "fast" of which I am almost daily grateful. :) | |||
diakopter | my guess is that his Perl 6 code is very Perl 5y. | 02:40 | |
mncharity | but the "everything simple" doesn't seem to get you full p6 on p5. | ||
02:40
c9s__ joined
|
|||
mncharity | re p5y, perlcabal.org/svn/pugs/view/src/perl6/STD.pm , dunno | 02:42 | |
end of day for me. cheers, and thanks all. | 02:43 | ||
diakopter | ttyl | 02:44 | |
02:45
alester joined
|
|||
mncharity | You'd think you could get a good number for the diameter of a hydrogen atom without having to read primary literature, "please pay $30 to see this article" literature, but it seems no. sigh. :/ | 02:46 | |
good numbers can rarely be counted on | |||
02:47
mncharity left
|
|||
alester | t/harness can miss options. :-( | 02:50 | |
02:51
Maghnus left
03:06
Maghnus joined
03:22
Whiteknight left
03:28
Chillance left
03:30
orafu left,
OuLouFu joined
|
|||
bacek | rakudo: my $x=-7; $x min= -9; say $x | 03:32 | |
p6eval | rakudo ed4cd1: OUTPUT«-9» | ||
03:35
OuLouFu is now known as orafu
03:46
literal left
03:50
literal joined
|
|||
bacek | rakudo: multi sub foo(Code $c, *@values) { ... }; say foo(1..5); | 03:53 | |
p6eval | rakudo ed4cd1: OUTPUT«No applicable candidates found to dispatch to for 'foo'current instr.: '_block14' pc 89 (EVAL_18:45)» | ||
bacek | rakudo: multi sub foo(Code $c = sub { ... }, *@values) { ... }; say foo(1..5); | ||
p6eval | rakudo ed4cd1: OUTPUT«No applicable candidates found to dispatch to for 'foo'current instr.: '_block14' pc 89 (EVAL_18:45)» | ||
bacek | perl6: multi sub foo(Code $c = sub { ... }, *@values) { ... }; say foo(1..5); | ||
p6eval | elf 25744: OUTPUT«Parse error in: /tmp/6tIb4SID36panic at line 1 column 30 (pos 30): Missing right braceWHERE: multi sub foo(Code $c = sub { ... }, *@values) { ... }; say WHERE: /\<-- HERE STD_red/prelude.rb:99:in `panic' STD_red/std.rb:255:in `_block_rest' | 03:54 | |
..ST... | |||
..pugs: OUTPUT«*** Unimplemented stub called at /tmp/s8iVjAWyVW line 1, column 61-70 /tmp/s8iVjAWyVW line 1, column 50-54» | |||
..rakudo ed4cd1: OUTPUT«No applicable candidates found to dispatch to for 'foo'current instr.: '_block14' pc 89 (EVAL_18:45)» | |||
bacek | perl6: multi sub foo(Code $c = sub { ... }, *@values) { say ~@values }; say foo(1..5); | ||
p6eval | rakudo ed4cd1: OUTPUT«No applicable candidates found to dispatch to for 'foo'current instr.: '_block14' pc 89 (EVAL_19:45)» | ||
..pugs: OUTPUT«1» | |||
..elf 25744: OUTPUT«Parse error in: /tmp/uORW50A4aApanic at line 1 column 30 (pos 30): Missing right braceWHERE: multi sub foo(Code $c = sub { ... }, *@values) { say ~@valueWHERE: /\<-- HERE STD_red/prelude.rb:99:in `panic' STD_red/std.rb:255:in `_block_rest' | |||
..ST... | |||
03:58
literal left,
literal joined
|
|||
bacek | rakudo: my $f = sub { ... }; say $f ~~ Code; | 03:59 | |
p6eval | rakudo ed4cd1: OUTPUT«1» | ||
bacek | rakudo: say -3 cmp -9 | 04:01 | |
p6eval | rakudo ed4cd1: OUTPUT«1» | ||
bacek | rakudo: say -3 <=> -9 | ||
p6eval | rakudo ed4cd1: OUTPUT«1» | ||
04:01
literal left,
literal joined
|
|||
TimToady | rakudo: say '-3' cmp '-9' | 04:04 | |
p6eval | rakudo ed4cd1: OUTPUT«-1» | ||
TimToady | bug in cmp | ||
er, no | |||
sorry | |||
confusing with p5 | 04:05 | ||
bacek | :) | ||
TimToady | rakudo: say -3 leg -9 | ||
p6eval | rakudo ed4cd1: OUTPUT«-1» | ||
TimToady | nevermind | ||
bacek | perl6: say min(<5 -3 7 0 1 -9>) | ||
p6eval | pugs: OUTPUT«-9» | ||
..rakudo ed4cd1: OUTPUT«-3» | |||
..elf 25744: OUTPUT«Undefined subroutine &GLOBAL::min called at (eval 123) line 3. at ./elf_h line 4377» | |||
bacek | Looks like pugs is correct here... | 04:06 | |
diakopter | rakudo: say 'a' leg 'b' | ||
p6eval | rakudo ed4cd1: OUTPUT«-1» | ||
TimToady | perl6: say min <d e a d b e e f> | ||
p6eval | rakudo ed4cd1: OUTPUT«a» | ||
..pugs: OUTPUT«d» | |||
..elf 25744: OUTPUT«Undefined subroutine &GLOBAL::min called at (eval 123) line 3. at ./elf_h line 4377» | |||
TimToady | rakudo gets that one right | ||
and pugs worng | |||
there's a lovely word | |||
diakopter | EALLWORNGOUT | 04:07 | |
TimToady | at least elf is consistent :) | ||
bacek | perl6: say min { $^a cmp $^b } <5 -3 7 0 1 -9> | 04:08 | |
p6eval | pugs: OUTPUT«***  Unexpected "7" expecting operator, ":" or "," at /tmp/bGjr8kdnZs line 1, column 31» | ||
..rakudo ed4cd1: OUTPUT«Statement not terminated properly at line 1, near "7 0 1 -9>"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | |||
..elf 25744: OUTPUT«Parse error in: /tmp/iaTks5N6PJpanic at line 1 column 0 (pos 0): Can't understand next input--giving upWHERE: say min { $^a cmp $^b } <5 -3 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... | |||
bacek | perl6: say min { $^a cmp $^b }, <5 -3 7 0 1 -9> | ||
p6eval | pugs: OUTPUT«*** Cannot cast from VCode (MkCode {isMulti = False, subName = "<anon>", subType = SubBlock, subOuterPads = [PRuntime {pr_pad = MkPad (padToList [("$_",PELexical {pe_type = (mkType "Scalar"), pe_proto = <Scalar:0xb651a6e9>, pe_flags = MkEntryFlags {ef_isContext = True}, pe_store ... | ||
..elf 25744: OUTPUT«Use of uninitialized value $a in string comparison (cmp) at ./elf_h line 4283.Use of uninitialized value $b in string comparison (cmp) at ./elf_h line 4283.Undefined subroutine &GLOBAL::min called at (eval 124) line 3. at ./elf_h line 4377» | |||
..rakudo ed4cd1: OUTPUT«-3» | |||
04:08
sparc_ joined
|
|||
bacek | perl6: say min { $^a cmp $^b }, <-3 -9> | 04:09 | |
p6eval | elf 25744: OUTPUT«Use of uninitialized value $a in string comparison (cmp) at ./elf_h line 4283.Use of uninitialized value $b in string comparison (cmp) at ./elf_h line 4283.Undefined subroutine &GLOBAL::min called at (eval 124) line 3. at ./elf_h line 4377» | ||
..rakudo ed4cd1: OUTPUT«-3» | |||
..pugs: OUTPUT«*** Cannot cast from VCode (MkCode {isMulti = False, subName = "<anon>", subType = SubBlock, subOuterPads = [PRuntime {pr_pad = MkPad (padToList [("$_",PELexical {pe_type = (mkType "Scalar"), pe_proto = <Scalar:0xb661cb51>, pe_flags = MkEntryFlags {ef_isContext = True}, pe_store ... | |||
diakopter | rakudo: [Rcmp] -1,0,1,0,-1,0,1,0,-1 | ||
p6eval | rakudo ed4cd1: OUTPUT«Could not find non-existent sub Rcmpcurrent instr.: '_block14' pc 53 (EVAL_16:38)» | ||
diakopter | eh | ||
what'd I do wrong there | 04:10 | ||
TimToady | perl6: say [min] <d e a d b e e f> | ||
p6eval | elf 25744: OUTPUT«Undefined subroutine &GLOBAL::min called at (eval 133) line 3. at ./elf_h line 4377» | ||
..rakudo ed4cd1: OUTPUT«a» | |||
..pugs: OUTPUT«***  Unexpected end of input at /tmp/d4WdTTUQf7 line 2, column 1» | |||
diakopter | rakudo: [cmp] -1,0,1,0,-1,0,1,0,-1 | 04:11 | |
p6eval | rakudo ed4cd1: OUTPUT«Could not find non-existent sub cmpcurrent instr.: '_block14' pc 53 (EVAL_16:38)» | ||
TimToady | perl6: say [min] <5 -3 7 0 1 -9> | ||
p6eval | elf 25744: OUTPUT«Parse error in: /tmp/Jm4TJb0bXzpanic at line 1 column 0 (pos 0): Can't understand next input--giving upWHERE: say [min] <5 -3 7 0 1 -9>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_red/st... | |||
..rakudo ed4cd1: OUTPUT«-3» | |||
..pugs: OUTPUT«***  Unexpected "7" expecting operator, ":" or "," at /tmp/glBjVEOt6P line 1, column 17» | |||
bacek | diakopter: there is no reduce metaop for cmp | ||
TimToady | yes, because it's "diffy" | ||
diakopter | rakudo: [eqv] -1,0,1,0,-1,0,1,0,-1 | ||
p6eval | rakudo ed4cd1: OUTPUT«Could not find non-existent sub eqvcurrent instr.: '_block14' pc 53 (EVAL_16:38)» | ||
04:12
nekobaka joined
|
|||
diakopter | rakudo: [eqv]() -1,0,1,0,-1,0,1,0,-1 | 04:12 | |
p6eval | rakudo ed4cd1: OUTPUT«Could not find non-existent sub eqvcurrent instr.: '_block14' pc 53 (EVAL_16:38)» | ||
TimToady | std: [eqv]() -1,0,1,0,-1,0,1,0,-1 | ||
p6eval | std 25744: OUTPUT«ok 00:02 37m» | ||
TimToady | heh, took the - as binary | 04:13 | |
bacek | rakudo looks totally wrong returning -3 for [min] <5 -3 7 0 1 -9>... | ||
TimToady | probably using leg on it | ||
bacek | and "min <5 -3 7 0 1 -9>" as well | ||
TimToady: no. | 04:14 | ||
It actually uses infix:cmp | |||
TimToady | which is picking leg | ||
bacek | my @array = <5 -3 7 0 1 -9>; | ||
# Tests for C<min>: | |||
is @array.min, -3, "basic method form of min works"; | |||
is min(@array), -3, "basic subroutine form of min works"; | |||
TimToady | or leg semantics | ||
bacek | this is from t/spec. Is it correct? | ||
diakopter | rakudo: [>=] -1,0,1,0,-1,0,1,0,-1 | ||
TimToady | - comes before '0' | ||
p6eval | rakudo ed4cd1: RESULT«Bool::False» | ||
diakopter | rakudo: [<=] -1,0,1,0,-1,0,1,0,-1 | 04:15 | |
p6eval | rakudo ed4cd1: RESULT«Bool::False» | ||
TimToady | I don't see any way that -3 can be the correct answer | ||
oh, wait, I see what's happening | 04:16 | ||
<...> is returning strings | |||
perl6: say [min] +«<5 -3 7 0 1 -9> | |||
diakopter | rakudo: min(-3, 7, 0) | ||
p6eval | pugs: OUTPUT«***  Unexpected end of input expecting block, "\\", variable name, "\187" or "\171" at /tmp/JqjjymoOim line 2, column 1» | 04:17 | |
..rakudo ed4cd1: OUTPUT«say requires an argument at line 1, near " [min] +\x{ab}<"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | |||
..elf 25744: OUTPUT«Parse error in: /tmp/LOyoUEDumzpanic at line 1 column 13 (pos 13): Error in quotesnabberWHERE: say [min] +«<5 -3 7 0 1 -9>WHERE: /\<-- HERE STD_red/prelude.rb:99:in `panic' STD_red/std.rb:1324:in `quotesnabber' (eval):1:in `__quote_7233927' | |||
..STD_red/prelude.r... | |||
bacek | oh.. | ||
p6eval | rakudo ed4cd1: RESULT«-3» | ||
TimToady | perl6: say [min] +<< <5 -3 7 0 1 -9> | ||
p6eval | pugs: OUTPUT«***  Unexpected end of input expecting block, "\\", variable name, ">>" or "<<" at /tmp/OkgFSJFM3D line 2, column 1» | ||
..rakudo ed4cd1: OUTPUT«say requires an argument at line 1, near " [min] +<<"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | |||
..elf 25744: OUTPUT«Undefined subroutine &GLOBAL::min called at (eval 125) line 3. at ./elf_h line 4377» | |||
TimToady | perl6: say [min] map {+$_}, <5 -3 7 0 1 -9> | ||
p6eval | elf 25744: OUTPUT«Parse error in: /tmp/L1OTI3l5dJpanic at line 1 column 0 (pos 0): Can't understand next input--giving upWHERE: say [min] map {+$_}, <5 -3 7 0WHERE:/\<-- HERE STD_red/prelude.rb:99:in `panic' STD_red/std.rb:76:in `scan_unitstopper' STD_red/std.rb:224:in `comp_unit' | 04:18 | |
..STD_r... | |||
..rakudo ed4cd1: OUTPUT«-9» | |||
..pugs: OUTPUT«***  Unexpected "map" expecting operator, ":" or "," at /tmp/lKOkmKCgCV line 1, column 11» | |||
TimToady | there you go | ||
but seems like if all the strings are numbers, the dwimmy thing to return is a list of numbers | 04:19 | ||
not a list of strings | |||
04:20
Limbic_Region left
|
|||
TimToady | course, if you really mean numbers, (5,-3,7,0,1,-9) is no longer than the <> form | 04:21 | |
bacek | rakudo: say "-3" cmp "7" | 04:23 | |
p6eval | rakudo ed4cd1: OUTPUT«-1» | 04:24 | |
04:24
Kimtaro left
|
|||
bacek | rakudo: say "5" cmp "-3" | 04:25 | |
p6eval | rakudo ed4cd1: OUTPUT«1» | ||
04:28
Kimtaro joined
04:35
WootKit joined
04:41
WootKit left
05:21
masak joined
|
|||
masak | good morning! | 05:22 | |
05:22
alester left
|
|||
cspencer | masak: good morning! | 05:22 | |
masak | I'm being visited by my kid sister this weekend, so not much time for Perl 6. but I have this two-hour window before she wakes up. :) | 05:24 | |
cspencer | heh :) | 05:25 | |
congrats on your november wiki prize winning :) | 05:28 | ||
masak | thank you. :) | 05:29 | |
05:32
araujo left
|
|||
masak | rakudo: for any(1,2) -> $x {} | 05:32 | |
p6eval | rakudo ed4cd1: OUTPUT«No exception handler and no messagecurrent instr.: 'return' pc 15956 (src/builtins/control.pir:39)» | ||
masak | bug? | 05:33 | |
bacek | masak: actually no. | ||
masak | why not? | ||
bacek | rakudo: for any(1,2) -> $x {}; 1 | ||
p6eval | rakudo ed4cd1: OUTPUT«No exception handler and no messagecurrent instr.: 'return' pc 15956 (src/builtins/control.pir:39)» | ||
masak smiles | |||
bacek | rakudo: for any(1,2) -> $x { ; }; | ||
p6eval | rakudo ed4cd1: OUTPUT«No exception handler and no messagecurrent instr.: 'return' pc 15956 (src/builtins/control.pir:39)» | ||
bacek | rakudo: try { for any(1,2) -> $x {}; } | 05:34 | |
p6eval | rakudo ed4cd1: RESULT«Null PMC access in find_method()current instr.: '_block14' pc 77 (EVAL_17:44)» | ||
masak submits rakudobug | |||
bacek | rakudo: sub foo { for any(1,2) -> $x {}; }; foo | ||
p6eval | rakudo ed4cd1: RESULT«any(undef, undef)» | 05:35 | |
masak | there's a return in there somewhere. | ||
bacek | in REPL | ||
rakudo: sub foo { return }; foo | |||
p6eval | rakudo ed4cd1: RESULT«undef» | ||
masak | what REPL? it behaves the same from the command line. | 05:36 | |
bacek | masak: command line REPL :) | 05:37 | |
masak | bacek: :P | 05:38 | |
bacek | rakudo: my $f = -> { {} }; &f | ||
p6eval | rakudo ed4cd1: RESULT«Null PMC access in find_method()current instr.: '_block14' pc 77 (EVAL_18:44)» | ||
masak | rakudo: &f | 05:39 | |
p6eval | rakudo ed4cd1: RESULT«Null PMC access in find_method()current instr.: '_block14' pc 77 (EVAL_16:44)» | ||
masak submits | |||
oh, moritz_++ already submitted the first of those. | 05:41 | ||
masak should read already submitted bugs before submitting | |||
rakudo: <> | 05:43 | ||
p6eval | rakudo ed4cd1: RESULT«[]» | ||
masak | rakudo: <STDIN> | ||
p6eval | rakudo ed4cd1: RESULT«"STDIN"» | ||
masak | those two were low-hanging fruit. ;) | ||
masak submits them | |||
bacek waves masak with "pull request" :) | 06:13 | ||
masak | :) | 06:14 | |
06:14
Maghnus left
|
|||
bacek | I've moved List.min/max into settings and fixed Range.min and Range.max. Last 4 commits in my master bracnh | 06:14 | |
branch | |||
masak | cool. | 06:15 | |
bacek | Ah. List.reduce as well | ||
afk & kids time | |||
06:16
nihiliad left
06:41
Maghnus joined
06:42
WootKit joined
06:47
cspencer left
06:48
awarefish joined
06:52
awarefish left
06:56
WootKit left
|
|||
masak sometimes gets bitten by the false friend `grep { !/<regex>/ }, @a` | 06:57 | ||
06:59
Tene joined
07:05
sri_kraih joined
07:06
masak left
07:07
finanalyst joined
07:10
SamB left
07:11
Tene_ left
07:12
nikn left
07:16
NoirSoldats joined
07:21
NoirSoldats left
07:36
NoirSoldats joined,
NoirSoldats left
07:37
Helios left
07:41
Helios joined
07:45
eternaleye joined
|
|||
bacek | std: my @list; my @result = @list.map():{ $_ * 2 }; | 07:48 | |
p6eval | std 25744: OUTPUT«ok 00:02 35m» | ||
07:57
kate21de joined
08:35
kate21de left
08:36
DemoFreak joined
08:37
kate21de joined
08:39
NoirSoldats joined
|
|||
pugs_svn | r25745 | finanalyst++ | Added descriptions to standard rules, regrouped rules, added new rule <word> to enable definition of <wb>. | 08:43 | |
r25745 | finanalyst++ | Eliminated deprecated <lt><gt><dot><sp>. | |||
r25745 | finanalyst++ | Changed deprecated <null> to <?> and deprecated <fail> to <!>. | |||
bacek | perl6: my @array = <a b c d>; @array.map: { $_ ~= "c"; $_ ~ "d" }; say ~@array; | 08:46 | |
p6eval | rakudo ed4cd1: OUTPUT«ac bc cc dc» | ||
..pugs: OUTPUT«*** Can't modify constant item: VStr "a" at /tmp/9N3L5nB60J line 1, column 38-47» | |||
..elf 25745: OUTPUT«Permission denied at ./elf_h line 315.» | |||
bacek dislike mutating map... | 08:47 | ||
08:47
ejs joined
08:48
NoirSoldats left
08:49
Sepheebear left
08:50
NoirSoldats joined
08:52
Sepheebear joined
|
|||
bacek | perl6: my @array = <a>; @array.map: { $^a ~= "A"; $^b ~= "B" }; say ~@array; | 08:52 | |
p6eval | pugs: OUTPUT«*** Can't modify constant item: VStr "a" at /tmp/anjhypUtEd line 1, column 32-42» | ||
..elf 25745: OUTPUT«Use of uninitialized value in subroutine entry at ./elf_h line 188.Can't use string ("") as a subroutine ref while "strict refs" in use at ./elf_h line 188. at ./elf_h line 4377» | |||
..rakudo ed4cd1: OUTPUT«Cannot assign to readonly variable.current instr.: 'die' pc 16289 (src/builtins/control.pir:204)» | |||
bacek | heh. And it actually doesn't work. | 08:53 | |
08:56
duke_leto joined,
Sepheebear left
08:58
Sartak left
08:59
Sepheebear joined
09:04
barney joined
09:09
Kimtaro_ joined
09:26
Kimtaro left
09:40
NoirSoldats left
09:41
NoirSoldats joined
09:51
ejs left
09:55
araujo joined
09:59
NoirSoldats left
10:02
NoirSoldats joined
10:08
NoirSoldats left,
mikehh joined
10:19
NoirSoldats joined
10:29
duke_leto left,
c1sung joined
10:38
NoirSoldats left
10:42
M_o_C joined
10:45
NoirSoldats joined
10:49
elmex left,
elmex joined
10:56
NoirSoldats left
11:03
elmex left,
elmex joined
11:09
explorer joined
11:15
elmex left
|
|||
dalek | kudo: 4947aea | (Moritz Lenz)++ | docs/ChangeLog: [ChangeLog] mention last/next working in grep() |
11:37 | |
pugs_svn | r25746 | moritz++ | [t/spec] tests for last and next in grep | 11:38 | |
11:58
NoirSoldats joined
12:00
pmurias joined
12:05
Ariens_Hyperion joined
|
|||
mikehh | Hi, when I run the rakudo make spectest it no longer threads. It takes me 30 minutes now rather than about 15 | 12:07 | |
is there any reason it has been disabled | 12:08 | ||
and how do I get it back - I remember some config option but I can't find it at the moment | |||
12:12
abra joined
12:14
abra left,
abra joined
|
|||
bacek | commit 5944501430c79ff16647469d383750c4a301bd16 | 12:19 | |
Author: pmichaud [email@hidden.address] | |||
Date: Tue Feb 24 20:38:51 2009 -0600 | |||
Updated harness that doesn't rely on Parrot::Test::Harness. | |||
This version doesn't honor the --jobs option; patches welcome | |||
to re-add that feature. Also needs testing on Win32. | |||
mikehh: that's reason why | |||
12:21
pidus left
|
|||
mikehh | ok - I'll have a look | 12:22 | |
12:25
[particle] joined
12:33
pidus joined
12:37
[particle]1 left
|
|||
pugs_svn | r25747 | moritz++ | [t/spec] tests for RT #63710, bare <> and <STDIN> should be disallowed | 12:38 | |
dalek | kudo: 137dcfa | (Cory Spencer)++ | src/ (2 files): Implement .map in Pure Perl 6 commit cc76a676174b883e5b9025d36fdd34e9b7e13fe0 Merge: f1d4f77... ed4cd14... Author: Cory Spencer <cspencer@sprocket-2.local> Date: Sat Mar 7 19:03:50 2009 -0800 Merge branch 'master' of git://github.com/rakudo/rakudo into any-pm Conflicts: src/setting/Any-list.pm commit f1d4f77de8c5a46ecfed86bf9060d2eb5dc9072a Author: Cory Spencer <cspencer@sprocket-2.local> Date: Sat Mar 7 18:09:59 2009 -0800 Remove the PIR map method and replace with a Perl 6 version. commit a8824fac6d139c91352ee9f775a5e37eca4d446c Author: Cory Spencer <cspencer@sprocket-2.local> Date: Sat Mar 7 12:55:10 2009 -0800 Removed PIR of grep and replaced with P6 version. Signed-off-by: Moritz Lenz [email@hidden.address] |
12:48 | |
moritz_ | @tell cspencer sorry for being inaccurate earlier... if you did only one commit, you don't need to --squash the commit (that only adds more clutter in that case) | 12:49 | |
lambdabot | Consider it noted. | ||
12:54
elmex joined,
meppl joined
13:07
barney left
|
|||
dalek | kudo: 8b2a4ad | (Cory Spencer)++ | src/ (2 files): Replaced the PIR Any.pairs method with a Perl 6 version. |
13:14 | |
13:48
orafu left
13:51
SamB joined
13:52
Whiteknight joined
|
|||
dalek | kudo: a6bd3a0 | (Moritz Lenz)++ | docs/running.pod: [docs] added a man page as docs/running.pod |
14:03 | |
14:30
WootKit joined
14:35
Ariens_Hyperion left
14:41
simcop2387 left
14:42
cspencer joined
|
|||
cspencer | good morning! | 14:44 | |
lambdabot | cspencer: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
pugs_svn | r25748 | lwall++ | [STD] shorten parsefail message to get more into irc message | 14:45 | |
14:51
WootKit left
14:54
simcop2387 joined
|
|||
pmurias | diakopter: ping | 15:04 | |
diakopter | pmurias: ppong | ||
pmurias | hi | ||
diakopter | howdy | ||
pmurias | when will you import ironperl into the git repo? ;) i want to see what it would take to integrate it with mildew | 15:05 | |
15:09
jan_ left
|
|||
diakopter | well, I need to identify whether Tim's parser (C++) can be used on mono/linux (if it can be translated trivially to C++/CLI), or if it needs to be swapped out for another parsing system first | 15:09 | |
however... | |||
pmurias | what do you use Tim's parser for? | 15:11 | |
diakopter | that's what I was just thinking. I suspect the parser is needed only for parsing the tycho language. | 15:12 | |
so, if (and this sounds funny to me) all that needs to occur is to translate/reformat mildew's output to the C# VM api of tycho, then the parser is not needed. | 15:13 | ||
I spent 6 hours or so yesterday stepping through various test programs on tycho to familiarize myself with the codebase. | 15:14 | ||
a tough decision is whether to fork his codebase or to build upon it. | 15:15 | ||
...(more) | |||
pmurias | so you are building ironperl on top of tycho | 15:16 | |
one problem i can see with it that tycho seems to a very dynamic sort of language, and in Perl 6 it's possible to infer quite a lot of type information which seems to be a potential performance loss | 15:18 | ||
diakopter: if you are having problems with git you can always import ironperl into the pugs repo | 15:19 | ||
diakopter | that's the question... (whether or not to fork the codebase) | 15:20 | |
because there's already a lot of VM features that are *close* to Perl 6's requirements, but not exactly matching | |||
it's GPLv2, btw | 15:21 | ||
(tycho) | |||
I haven't had problems with git | 15:23 | ||
I've just committed the one test entry | |||
just watching rakudo's patch queue build up makes me look askance | |||
pmurias: are you on linux? | 15:24 | ||
pmurias | yes | ||
diakopter | which kernel/distro? | ||
pmurias | debian lenny | 15:25 | |
diakopter | ok. I'm using ubuntu jaunty. if you want to prepare, you could build mono 2.5 from svn | 15:26 | |
pmurias | i have windows vista too but i prefer not to use it unless i'm forced too | ||
diakopter | hrm, probably the first thing to do, then, is see if I can get tycho to run purely from its API without using the parser. | 15:27 | |
15:28
duke_leto joined
15:29
explorer is now known as Guest84032
|
|||
pmurias | why doesn't the parser run on linux? | 15:30 | |
diakopter | well, it is pure C++, but it would have to be built differently from how it's built now (visual studio) to run on mono | 15:32 | |
so, the .net calls to the C++ library would have to be a different calling convention, of sorts. | 15:33 | ||
and that just seems like a bit more infrastructure work than necessary for now.. | |||
it's a naive recdescent parser.. | |||
let me see if it will run on mono in pure C#... | 15:35 | ||
I'm thinking that forking is going to be the way to go... | |||
regarding what you said about dynamic vs. type inference | 15:36 | ||
yes I'm sure there will be large performance overheard. | |||
well, until tycho's "native types" can be ported/renamed to Perl 6's primitives | 15:37 | ||
then it can just use those. esp the immutable ones. | |||
15:38
netsquire joined
|
|||
diakopter | but actually, there are plenty of other options | 15:38 | |
pmurias | what does using tycho give us? | ||
15:38
Guest84032 left
|
|||
diakopter | scopes, captures, multiple and hierarchical namespaces, object references/proxies, an optional type system | 15:39 | |
s/captures/closures/ | |||
and two numeric systems (and the standard operators) for integers and Reals | 15:40 | ||
along with arrays, sets, bags | |||
and lazy lists | |||
well, and lazy anything | 15:41 | ||
so, a decent chunk of what parrot provides. | |||
however, perhaps the biggest thing.... it has a module system | 15:42 | ||
and importing of existing .dlls (including everything accesible to mono, which is gigantic) | |||
so really, creating "native" tycho types that are wrappers around things from, say, the www.goletas.com/solutions/collections/ library.... would be excellent. | 15:44 | ||
since tycho's type system piggybacks on top of .Net's type system, it has generics (with covariance/contravariance, using an open-source C# extension lib) | 15:46 | ||
pmurias | train& | 15:48 | |
15:48
pmurias left
|
|||
diakopter | tycho's AnyObject type is analogous to the DLR's DynamicObject type, which is essentially equivalent to C#'s 'dynamic' type (marker), which just means make all method dispatching runtime instead of compiletime. it's still a static type, per instance. | 15:50 | |
C#4, I mean | |||
pmichaud | good morning, all | 15:53 | |
diakopter | 'morn | ||
s1n | morning | 15:55 | |
15:55
nihiliad joined
16:04
jan_ joined
|
|||
diakopter | it also has a macro system, but it's dependent on the parser (of course) | 16:07 | |
16:08
[particle] left
16:10
[particle] joined
16:15
duke_leto left
16:28
[particle]1 joined
|
|||
diakopter | wow, that's a testament to good software design. | 16:28 | |
all the runtime unit tests work just fine after commenting out any blocks/classes/methods that are dependent on the parser... | 16:29 | ||
dalek | kudo: a7214ac | (Moritz Lenz)++ | src/ (2 files): re-implement List.min in Perl 6; Patch courtesy by bacek++ |
16:30 | |
literal | is it preferred to have builtins implemented in Perl 6? isn't PIR faster? | 16:36 | |
diakopter | cuter in Perl? | 16:37 | |
moritz_ | Perl 6 offers several advantages | ||
cuter | |||
cspencer | literal: i believe the perl 6 builtins get compiled down to PIR | ||
moritz_ | you can do parametric roles | ||
you can get interfaces correct that you can't in PIR | 16:38 | ||
literal | cspencer: and it all gets compiled down to machine code at some point... | ||
moritz_ | but yes, plain PIR is faster | ||
and for example next() and last() work automatically in grep and map as they should | 16:40 | ||
16:45
Ariens_Hyperion joined
16:47
sri_kraih_ joined,
[particle] left
16:51
Tene_ joined
17:01
Whiteknight left
17:02
Tene left,
abra left
17:03
jhorwitz joined
17:07
sri_kraih left
17:08
Kimtaro joined
17:11
lisppaste3 left
17:13
Kimtaro_ left
17:22
shyfx joined
17:23
shyfx left
|
|||
pmichaud | re: 137dcf -- I'd prefer to not see type constraints on invocants. | 17:27 | |
Also, we should not constrain the invocant to be an array. | 17:28 | ||
any thoughts as to the best way to send comments on these commits? | 17:30 | ||
17:30
nekobaka left
|
|||
pmichaud | 0 | 17:31 | |
+ for @list -> $x { | 17:32 | ||
0 | |||
+ if (&$by($res, $x) > 0) { | |||
0 | |||
+ $res = $x; | |||
0 | |||
+ } | |||
0 | |||
ooops, sorry. | |||
cut-n-paste from github doesn't work. | |||
bacek, moritz: ping | 17:33 | ||
moritz_ | pmichaud: pong | 17:34 | |
pmichaud: send them p6c? | |||
pmichaud | it's kinda hard to get the relevant diff into the message, it appears. | 17:35 | |
moritz_ | git-show 137dcf | ||
then copy+paste | |||
pmichaud | okay, that could help. | ||
moritz_ | I can remove the type constraints | ||
(although it'll have to way ~2 hours) | |||
pmichaud | yes, in general I think type constraints on invocants should be a no-no. _Especially_ in Any. | 17:36 | |
moritz_ | ok | ||
pmichaud | also, the multi sub for min() is incorrect. In places where we know the code to be incorrect, we should comment it as such. | 17:37 | |
moritz_ | ok, min() does require an ordering | 17:40 | |
I'll also fix that | |||
shame on me for not checking that earlier | |||
pmichaud | it's a multi method. There's a sub that has an ordering, and one that doesn't (iirc, unless it's changed) | ||
moritz_ | For a C<min> function that does not require an ordering, see the | ||
C<[min]> reduction operator. | |||
pmichaud | Yes. I think (especially in converting PIR methods to Perl 6) we need to make sure that we re-verify them against the spec before we commit them. | 17:41 | |
Why does map() have to have two methods? Can't it be done with just one? | 17:43 | ||
ick! We're using postcircumfix:<[ ]> in map!?!? | |||
bad bad bad | |||
moritz_ | how should it be done? | 17:44 | |
with an iterator? | |||
pmichaud | Yes, of some sort. | ||
map is supposed to be lazy, iirc | |||
@values.end causes that to not be the case. | |||
lambdabot | Unknown command, try @list | ||
moritz_ | right | ||
17:45
Ariens_Hyperion left
|
|||
pmichaud | for any type of "iterator" operation, I think using indices is likely the wrong way to do it. | 17:45 | |
moritz_ | is a Perl 6-level for() OK? | ||
pmichaud | should be okay for Rakudo. | ||
moritz_ | then I'll re-write it like that | 17:46 | |
pmichaud | oh, I see why the subscripting is being done -- it's to get the correct arity in the map. | 17:47 | |
hmmm. | |||
moritz_ | that can be done differently | ||
pmichaud | anyway, I definitely don't want the two separate map() methods. | ||
should be just one. | |||
moritz_ | for self.list -> $x { @a.push($x); take expr(|@a) if @a == arity } | 17:48 | |
pmichaud | oh, that's nicer, yes. | ||
moritz_ | ok | ||
I'll fix that tonight | 17:49 | ||
pmichaud | should I send comments like these to the list? Or should we just fix them and move on? | 17:50 | |
moritz_ | send them to the list so that others can learn from it | ||
17:53
Ariens_Hyperion joined
|
|||
pmichaud | should I do it as a reply to the ticket, or just a new thread? | 17:53 | |
I'm replying to (and reopening) the tickets. | 18:01 | ||
moritz_ | perl6: my $x = { 2 * $_ }; say $x.arity | 18:14 | |
p6eval | elf 25748: OUTPUT«Use of uninitialized value $_ in multiplication (*) at (eval 123) line 3.Can't call method "arity" without a package or object reference at (eval 123) line 4. at ./elf_h line 4377» | ||
..pugs: OUTPUT«1» | |||
..rakudo a7214a: OUTPUT«0» | |||
moritz_ | isn't that wrong? | ||
cspencer | pmichaud: sorry for the bad map implementation, that was me! | ||
i couldn't quite figure out a single map method implementation that worked for all types | 18:15 | ||
that's probably on account of my own inexperience though :) | |||
moritz_ | a 'for $values.list { ... }' should work | ||
cspencer | ok, that's what i'd done in grep, i'll redo it like that too | 18:16 | |
(unless you'd already started on it) | |||
pmichaud | I won't have time to do many of these fixes today. | ||
moritz_ | pmichaud: I guess cspencer and I will figure it out | ||
pmichaud | Indeed, it looks like most of my time is going to be spent reviewing other people's commits and not writing code :-| I guess that's the role of the pumpking, though. :-) | 18:17 | |
cspencer | i've got the next couple of hours, i'll resubmit them later for review | ||
pmichaud | I'm fine with being the reviewer and not the fixer. :-) | ||
cspencer | and i'm happy to fix my mistakes! :) | ||
moritz_ | ;-) | ||
pmichaud | I agree with masak, I'd prefer to tell others what I'd like to see different than to change them myself. | ||
that gives more people more experience | 18:18 | ||
s/masak/moritz | |||
cspencer | that works for me | ||
pmichaud | I do think the "Any" methods are the likeliest candidates for moving to setting at this point. | ||
cspencer | if i've got questions re: implementation, should i send them to the list? | ||
pmichaud | I looked at most of the other classes and it appeared to me that they needed to stay in PIR a bit longer. | ||
maybe I can just publish a list of candidate PIR methods to be migrated, and let others do the migration. | |||
cspencer: yes, I'd send questions to the list. | 18:19 | ||
questions are good. | |||
cspencer | alright, i'm off to the ferry, i'll send in fixed up Any methods later on tonight or tomorrow | 18:20 | |
pmichaud | someone else might beat you to them :-) | ||
but that'd be great. | |||
I'm off as well, have a soccer game shortly. bbl. | |||
18:20
Maghnus_ joined
18:21
Ariens_Hyperion left
|
|||
moritz_ | I think I have a fix for map | 18:26 | |
will spectest now, and commit later | |||
18:33
Psyche^ joined
18:37
Maghnus left,
Maghnus_ is now known as Maghnus,
cspencer left
|
|||
pugs_svn | r25749 | moritz++ | [t/spec] bring minmax.t more in line with current S32 | 18:44 | |
18:45
justatheory joined
|
|||
dalek | kudo: 167e251 | (Moritz Lenz)++ | src/setting/Any-list.pm: make .map more Perlish, and fix complaints by pmichaud++ * removed some type constraints on invocants * .map should work when lists become lazy, ie not querying @list.end |
18:46 | |
18:50
Patterner left,
Psyche^ is now known as Patterner
|
|||
pugs_svn | r25750 | moritz++ | [S32/Containers] remove nonsensical return value from min/max | 18:52 | |
18:54
Ariens_Hyperion joined
|
|||
pugs_svn | r25751 | moritz++ | [S32/Containers] forgot to bump version number; fixed date from the future | 19:00 | |
19:00
jhorwitz left
|
|||
dalek | kudo: 0f1c600 | (Moritz Lenz)++ | src/setting/Any-list.pm: Remove type constraints that either don't make sense or aren't checked anyway |
19:08 | |
19:14
cxreg left,
yves left,
scrottie left,
gbacon left,
szbalint left,
gravity left,
allbery_b left,
ilbot2 left,
f00li5h left,
mj41 left
19:15
mj41 joined,
gravity joined,
allbery_b joined,
szbalint joined,
f00li5h joined,
cxreg joined,
yves joined,
ilbot2 joined,
scrottie joined,
gbacon joined
|
|||
pugs_svn | r25752 | moritz++ | [t/spec] test next() and last() in map | 19:33 | |
19:37
ujwalic joined
|
|||
ujwalic | is this for Rakudo | 19:38 | |
19:40
ujwalic left,
ujwalic joined
|
|||
ujwalic | is this for Rakudo | 19:40 | |
19:40
ffbb left
|
|||
moritz_ | what is for Rakudo? | 19:41 | |
ujwalic | moritz_: github.com/rakudo/rakudo/tree/master | 19:42 | |
moritz_ | yes | ||
ujwalic | I am building it for win32 it needs parrot/parrot_config | 19:43 | |
moritz_ | did you do a 'perl Configure.pl --gen-parrot'? | ||
ujwalic | yes | ||
moritz_ | did it succeed? | 19:44 | |
ujwalic | failed in between | ||
moritz_ | so what was the failure? | ||
ujwalic | lost internet connection, power failure | 19:45 | |
moritz_ | then try a 'make parrot' | ||
and then 'make' | |||
or re-try the Configure step | |||
ujwalic | let me re-try | ||
dalek | kudo: 051ad51 | (Moritz Lenz)++ | src/setting/Any-list.pm: remove implicit type constraint in .pairs |
19:47 | |
ujwalic | where to put OpenGL (GLUT) src in parrot to recognise it | 19:48 | |
19:48
justatheory left
|
|||
japhb | ujwalic: Parrot is expecting GL and GLUT headers to be installed into system paths (or /usr/local on unix systems) | 19:49 | |
19:49
finanalyst left,
Ariens_Hyperion left
|
|||
ujwalic | me on win32 PATH or INCLUDE env varable | 19:49 | |
japhb | rurban on MAGnet:#parrot keeps altering that | 19:50 | |
but yes, I think it should work if you have it in INCLUDE | |||
let me update and check the login | 19:51 | ||
er | |||
logic | |||
ujwalic | let me try them | 19:52 | |
japhb | ujwalic: looking at the code in config/gen/opengl.pm, it looks like $ENV{INCLUDE} needs to include one or more directories that contain a subdirectory named 'gl', in which should be all the .h files. | 19:55 | |
That's for MSVC. For cygwin, it looks in /usr/include/w32api/GL/*.h | |||
ujwalic | japhb: me using MSVC, my INCLUDE contains both GL/gl.h and GL/glut.h | 19:57 | |
japhb | You can run the gen::opengl config step verbose, and it should tell you what headers it finds. | ||
What exactly is your full INCLUDE? | |||
ujwalic | INCLUDE=C:\wrk\mesa\Mesa-7.3\include;C:\wrk\glut-3.7.6\include | 19:58 | |
japhb | OK, and both of those contain GL subdirectories, I assume ... if so, it should find them. | 19:59 | |
I'd say, run that config step verbose, and nopaste the output | |||
19:59
Ariens_Hyperion joined
|
|||
ujwalic | ok | 20:00 | |
japhb | And you probably want to do this in #parrot, since Rakudo doesn't enter the equation until Parrot is happy. ;-) | ||
ujwalic | sure :) | ||
japhb | ujwalic: just remember, it's on irc.perl.org | 20:01 | |
bacek | good morning | ||
perl6: my @array = <a b c d>; @array.map: { $_ ~= "c"; $_ ~ "d" }; say ~@array; | 20:02 | ||
p6eval | elf 25752: OUTPUT«Use of uninitialized value in subroutine entry at ./elf_h line 188.Can't use string ("") as a subroutine ref while "strict refs" in use at ./elf_h line 188. at ./elf_h line 4377» | 20:03 | |
..pugs: OUTPUT«*** Can't modify constant item: VStr "a" at /tmp/gGJq06qmSE line 1, column 38-47» | |||
..rakudo 051ad5: OUTPUT«ac bc cc dc» | |||
bacek | perl6: my @array = <a b c>; my %hash = @array.map: { $^a => $^b }; say %hash.perl; | 20:09 | |
p6eval | rakudo 051ad5: OUTPUT«{"a" => "b"}» | ||
..elf 25752: OUTPUT«Use of uninitialized value in subroutine entry at ./elf_h line 188.Can't use string ("") as a subroutine ref while "strict refs" in use at ./elf_h line 188. at ./elf_h line 4377» | |||
..pugs: OUTPUT«*** Missing required parameters: $a $b at /tmp/VHLHrtAvFS line 1, column 33-59» | |||
bacek | moritz_: you've got a bug in Any.map. | 20:11 | |
moritz_ | bacek: that's bad :( | ||
bacek: would you care to elaborate? | 20:12 | ||
bacek | After "for" you should check if (@args) { @args.splice(undef x ($arity-@args)); take (&$expression(|@args) } | 20:13 | |
moritz_ | is that actually specced? | ||
and I don't know if the signature will accept undef | |||
bacek | moritz_: no idea. But is was before in PIR version. | ||
moritz_ | that doesn't mean it's actually better | 20:14 | |
bacek | if signature will not accept undef it's not "map" problem :) | ||
rakudo: sub foo (Int $x, Int $y) { $x+$y }; map &foo, undef x 3; | 20:15 | ||
p6eval | rakudo 051ad5: OUTPUT«Use of uninitialized value» | ||
bacek | rakudo: sub foo (Int $x, Int $y) { 1 }; say [~] map &foo, undef x 3; | ||
p6eval | rakudo 051ad5: OUTPUT«Use of uninitialized value» | ||
moritz_ | anyway, we need spec clarification and tests. | 20:16 | |
bacek | rakudo: sub foo (Int $x, Int $y) { say "hi"; 1 }; say [~] map &foo, undef x 4; | ||
p6eval | rakudo 051ad5: OUTPUT«Use of uninitialized value» | ||
bacek | moritz_: indeed. | ||
What happened in my last example? | |||
moritz_ | you need xx for list replication | 20:17 | |
bacek | rakudo: sub foo (Int $x, Int $y) { say "hi"; 1 }; say [~] map &foo, undef xx 4; | 20:18 | |
p6eval | rakudo 051ad5: OUTPUT«Parameter type check failed for $x in call to foocurrent instr.: 'die' pc 16009 (src/builtins/control.pir:204)» | ||
bacek | ah. | ||
moritz_ | rakudo: sub foo (Int $x, Int $y) { say "hi"; 1 }; say [~] map &foo, Int xx 4 | ||
p6eval | rakudo 051ad5: OUTPUT«hihi11» | ||
dalek | kudo: 2daf6b7 | (Moritz Lenz)++ | docs/guide_to_setting.pod: added "guide to setting" document |
||
bacek | moritz_: btw, whats wrong with my List.max? | 20:20 | |
moritz_ | bacek: I haven't looked at it yet | 20:21 | |
bacek | moritz_: ah. ok. | ||
moritz_ | the three patches I applied caused more works afterwards than I'd expected | ||
bacek | hey! pmichaud didn't complain about List.min! :) | 20:23 | |
20:24
jedai left
|
|||
moritz_ | well, he did | 20:24 | |
though it was the spec that was a bit inaccurate | |||
20:24
lisppaste3 joined
|
|||
moritz_ | btw your .reduce patch also uses x instead of xx | 20:25 | |
bacek | moritz_: yes. I've fixed it already in my local repo. | 20:26 | |
But we need consistent behaviour in map and reduce. | |||
moritz_ | aye | 20:29 | |
as I said, we need spec clarification and tests. | |||
rakudo: say (1..6).map({$^a + $^b + $^c}).perl | 20:32 | ||
p6eval | rakudo 2daf6b: OUTPUT«[6, 15]» | ||
moritz_ | perl6: say (1..6).map({$^a + $^b + $^c}).perl | 20:33 | |
p6eval | rakudo 2daf6b: OUTPUT«[6, 15]» | ||
..pugs: OUTPUT«(6, 15)» | |||
..elf 25752: OUTPUT«Global symbol "$c" requires explicit package name at (eval 125) line 3. at ./elf_h line 4377» | |||
bacek | perl6: say (1,2).reduce: { $^a + $^b + $^c } | 20:34 | |
p6eval | rakudo 2daf6b: OUTPUT«Use of uninitialized value3» | ||
..pugs: OUTPUT«3» | |||
..elf 25752: OUTPUT«Can't call method "reduce" without a package or object reference at (eval 123) line 3. at ./elf_h line 4377» | |||
bacek | perl6: say (1,2).reduce: { $^a + $^b * $^c } | 20:35 | |
p6eval | pugs: OUTPUT«1» | ||
..elf 25752: OUTPUT«Can't call method "reduce" without a package or object reference at (eval 123) line 3. at ./elf_h line 4377» | |||
..rakudo 2daf6b: OUTPUT«Use of uninitialized value1» | |||
bacek | perl6: say (1..4).reduce: { $^a + $^b * $^c } | 20:36 | |
p6eval | elf 25752: OUTPUT«Can't call method "reduce" without a package or object reference at (eval 124) line 3. at ./elf_h line 4377» | ||
..pugs: OUTPUT«7» | |||
..rakudo 2daf6b: OUTPUT«Use of uninitialized value7» | |||
bacek | ok, pugs and rakudo agreed about reduce :) | ||
moritz_ | but where does the undef warning come from? | 20:37 | |
bacek | moritz_: second round of reduce. | 20:39 | |
* $^c | |||
moritz_ | ah | 20:40 | |
I somehow misread that | |||
20:40
c9s__ left
|
|||
moritz_ | @tell pmichaud I hope I addressed all your concerns with the built-ins in Perl 6. If so, please close the tickets | 20:40 | |
lambdabot | Consider it noted. | ||
20:41
c9s__ joined
20:44
Whiteknight joined
20:49
masak joined
|
|||
masak | good evening. | 20:49 | |
moritz_ | good localtime() | 20:50 | |
masak | you can tell where my focus is at tonight by the two errors I've found. :) | 20:51 | |
pugs_svn | r25753 | masak++ | [CORE.pad] fixed value of pi | ||
masak | here comes the first one. | ||
the second one is that viv doesn't output valid YAML. | 20:52 | ||
moritz_ | atan2(1,1)*4.14159265 wtf? | ||
moritz_ didn't know that viv emitted yaml at all | |||
masak | moritz_: I think it's a typo originating from 3.14159265 being changed to the formula, and the decimals remaining. | 20:53 | |
moritz_: viv emits an AST. | |||
the AST is in YAML. | |||
moritz_ | ah, that makes sense | ||
masak | or, is supposed to be. | ||
the test for that it fails is to try to Load() the YAML output from viv when the input is 'say 2 + 2' | 20:54 | ||
moritz_ | which yaml module did you try? | ||
masak | YAML from CPAN. | ||
moritz_ | try YAML::XS | 20:55 | |
that's the one that emits it | |||
masak | (but that shouldn't matter. I believe most of them recognize correct YAML.) | ||
I'll try YAML::XS too. | |||
moritz_ | the various YAML modules have slightly different ideas of what YAML actually is | ||
ingy++ currently ports python's yaml module to perl right now, which should be much better | |||
masak | ah. | 20:56 | |
masak looks forward to meeting ingy on NPW | |||
I want to ask him what happened to Kwid. | |||
YAML::XS approves of the output. moritz_++ | 20:57 | ||
now I just need to understand why the difference occurs. either they embody two different versions of YAML, or one of the modules is misimplemented. | 20:58 | ||
moritz_ | most likely both are | ||
masak | I didn't say 'exactly one' :) | 21:00 | |
21:00
donaldh joined
|
|||
masak | need to sleep now. | 21:00 | |
g'night. | |||
21:00
masak left
|
|||
moritz_ | good night | 21:01 | |
21:05
Ariens_Hyperion left
|
|||
ujwalic | moritz_:on win32 is is unable to find parrot/parrot_config | 21:08 | |
moritz_ | ujwalic: did parrot compile fine? | ||
ujwalic | nop | 21:09 | |
21:09
Kimtaro_ joined
|
|||
moritz_ | you need to fix that first. | 21:09 | |
ujwalic | ya trying | ||
moritz_ | I think you can configure parrot to not use any opengl bindings at all | 21:10 | |
if that's what causes the trouble | |||
ujwalic | now the error is with link | ||
it is using link not link.exe | 21:11 | ||
moritz_ | please try in #parrot | ||
diakopter | ujwalic: I'll talk with you about it in #parrot | ||
sry, lag | |||
ujwalic | moritz_:thank you | ||
21:27
Kimtaro left
|
|||
bacek | rakudo: multi sub foo(Code &x, *@values) {...}; multi sub foo(*@values) {...}; say foo(sub {}, 1,2,3); | 21:28 | |
p6eval | rakudo 2daf6b: OUTPUT«Ambiguous dispatch to multi 'foo'. Ambiguous candidates had signatures::(Code x, Any @values):(Any @values)current instr.: '_block14' pc 101 (EVAL_18:52)» | ||
bacek | @msg pmichaud "multi sub foo(Code &x, *@values) {...}; multi sub foo(*@values) {...}; say foo(sub {}, 1,2,3)" reason why min() implementation cheating. | 21:30 | |
lambdabot | Not enough privileges | 21:31 | |
bacek | @say pmichaud "multi sub foo(Code &x, *@values) {...}; multi sub foo(*@values) {...}; say foo(sub {}, 1,2,3)" reason why min() implementation cheating. | ||
lambdabot | Maybe you meant: faq map slap src | ||
moritz_ | it's @tell here | ||
bacek: but... no need | |||
bacek | ETOOMANYBOTIMPLEMENTATIONS | ||
moritz_ | bacek: the spec says that the sub version needs a comparison sub | ||
if one doesn't want that, [min] is fine | |||
bacek | so, min(@array) shouldn't work? | 21:32 | |
moritz_ | no. | ||
bacek | Which "no"? :) | 21:33 | |
moritz_ | no, it shouldn't work. | ||
read S32/Containers | |||
bacek | It's open in my vim. | ||
And S29-list/minmax.t as well... | 21:34 | ||
moritz_ | that's not enough, you need to read it ;-) | ||
bacek | is min(@array), -3, "basic subroutine form of min works"; | ||
moritz_ | svn up please | ||
bacek | It's called svn rebase here :) | 21:35 | |
moritz_ | whatever | ||
21:37
netsquire left
|
|||
bacek | svn is terribly slow... | 21:37 | |
afk & $work->accept(self) | 21:38 | ||
21:46
Ariens_Hyperion joined
21:48
rkendall joined
|
|||
moritz_ | rakudo: my $s = 6; sub n ($d) { return $s if $d == 1 }; say n(1).perl | 21:56 | |
p6eval | rakudo 2daf6b: OUTPUT«6» | ||
diakopter | rakudo: my $s = '"6"'; sub n ($d) { return $s if $d == 1 }; say n(1).perl | ||
p6eval | rakudo 2daf6b: OUTPUT«"\"6\""» | ||
diakopter | rakudo: my $s = '6'; sub n ($d) { return $s if $d == 1 }; say n(1).perl | 21:57 | |
p6eval | rakudo 2daf6b: OUTPUT«"6"» | ||
diakopter | nice | ||
moritz_ tries to reduce a really nasty rakudo bug to a smaller example | |||
rakudo: my $a = 3, my $x = 5; say $x.perl; | 21:59 | ||
p6eval | rakudo 2daf6b: OUTPUT«Unable to set lvalue on PAST::Val nodecurrent instr.: 'parrot;PAST;Val;lvalue' pc 566 (src/PAST/Node.pir:161)» | ||
moritz_ stupid | |||
22:01
kjwcode joined
22:02
donaldh left
|
|||
kjwcode | Where does one find information on PerlA 6, as described in docs/guide_to_setting.pod in the Rakudo distribution? | 22:04 | |
22:08
Ariens_Hyperion left
|
|||
moritz_ | did you mean Perl 6? | 22:09 | |
the space between "Perl" and "6" is a non-breaking space, if your editor shows that PerlA 6, it means that its UTF-8 support is borken | 22:10 | ||
diakopter | probably pasted from guide_to_setting.pod ...? | ||
moritz_ | oh, it seems perldoc assumes latin1 as default | ||
kjwcode | moritz_: I was reading it in perldoc -- that may explain it. I was confused when I saw "PerlA". | ||
Thank you for clearing that up. :) | 22:11 | ||
moritz_ | kjwcode: I'll add an =encoding directive, maybe that helps | ||
kjwcode | moritz_: Sounds great. Thank you! | ||
moritz_ | kjwcode: changes pushed - could you please pull and try again? | ||
kjwcode | moritz_: That's got it -- now showing as Perl 6. | 22:12 | |
moritz_ | great | ||
anyway, that documents needs more contents I guess | 22:13 | ||
dalek | kudo: ab00c66 | (Moritz Lenz)++ | docs/guide_to_setting.pod: [docs] add an =encoding directive for kjwcode++ |
||
kjwcode | Yup -- I think it gives me enough of a hint to play around a bit, when combined with the checkin message for perl6.pir. That's where I register things defined in src/settings, right? | 22:14 | |
moritz_ | kjwcode: no. New files need to be added to build/Makefile.in | 22:20 | |
kjwcode | moritz_: That makes sense. I'm reading through the tidings for March 2009, which give some detail as to what the settings are and how to work with them. Shall I submit a patch that adds that link to guide_to_setting.pod? | 22:21 | |
moritz_ | kjwcode: I can just add it, since I'm editing it right now anyway | 22:22 | |
kjwcode | moritz_: Sounds good. Do the docs at svn.pugscode.org/pugs/docs/Perl6/Sp...g-library/ still mostly apply, or is that too Pugs-specifc? | 22:23 | |
moritz_ | kjwcode: they mostly apply, but they are not fully up-to-date | ||
kjwcode | Is there a better set of docs at the moment? | 22:24 | |
moritz_ | no | ||
we need to fix them | 22:25 | ||
kjwcode | Okay, cool -- that's likely enough to get me started. Is there a canonical "to-do" list? | ||
moritz_ | no | ||
we respect the freedom of others so much that we don't tell them what to do, even when they ask for it :-) | 22:27 | ||
dalek | kudo: 8bbc31c | (Moritz Lenz)++ | docs/guide_to_setting.pod: add links to guide_to_setting.pod. asking. |
||
kjwcode | Works for me. :) I should play with it and try to make it work before I try to dig in too much, anyway. | 22:28 | |
ujwalic | :) | 22:37 | |
22:41
kjwcode left
23:05
|jedai| joined
23:08
Porsbo left,
Porsbo joined
|
|||
ujwalic | how to install rakudo in diff dir | 23:12 | |
moritz_ | 1) write the installer 2) install it 3) ... 4) profit! | 23:13 | |
ujwalic | got it :) | ||
moritz_ | 3) should be "submit patch" ;-) | ||
23:14
PacoLinux left
23:18
aindilis joined
|
|||
pmichaud | hello, all | 23:21 | |
lambdabot | pmichaud: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
23:21
M_o_C left
|
|||
moritz_ | hi pmichaud | 23:21 | |
23:23
bacek_ joined
|
|||
pmichaud | moritz++ # starting settings guide | 23:24 | |
I'm hoping I'll have time (+energy) to flesh a lot of this stuff out later tonight. | |||
but I'm very glad you're starting them for us. | |||
23:28
kate21de1 joined
23:30
justatheory joined
23:34
kate21de left
|
|||
pmichaud | afk # dinner | 23:40 | |
23:44
rkendall left
|
|||
mikehh | built parrot r37210 and rakudo usihg it passes make spectest - took over half-an-hour | 23:48 | |
moritz_ | yes, it's slow since parallel testing doesn't work anymore :( | 23:49 | |
mikehh | I was looking at that - have a couple of ideas I am thinking about | ||
23:50
sparc_ left
|
|||
mikehh | how do I figure out the rakudo revision? | 23:50 | |
moritz_ | git-show HEAD|grep ^commit | 23:51 | |
mikehh | commit 8bbc31c6073002c97dc1dc7a64d5a1ba3c73840d ? | 23:52 | |
moritz_ | aye | 23:53 | |
mikehh | hmmmmnnn :-} | ||
moritz_ | the "joy" of a distributed version control system: not having a short commit identifier | 23:54 | |
though usually the first six to eight digits are enough | |||
mikehh | well it seems to include the revision you posted about an hour or so ago | 23:55 | |
moritz_ | rakudo: print 1 | 23:56 | |
p6eval | rakudo 8bbc31: OUTPUT«1» | ||
moritz_ | so p6eval uses the first 6 | ||
mikehh | it seens to work fine with parrot and rakudo in deparate directories in my home directory | 23:57 | |
separate | |||
23:57
wayland76 left
|
|||
moritz_ | nice | 23:58 | |
23:58
wayland76 joined
|
|||
mikehh | I did a perl Configure.pl --parrot-config=../parrot/myconfig | 23:58 | |
moritz_ | anyway, bed time here - have the appropriate amount of fun ;-) | 23:59 | |
wayland76 | g'night :) | ||
...and good morning to everyone else :) | |||
mikehh | same for me I think - I will test on AMD64 in the morning |