»ö« | perl6-projects.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot: perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by moritz_ on 27 June 2009. |
|||
spx2 | lol , my code didn't compile because of a SPACE character | 00:03 | |
that was pretty lame | |||
dalek | kudo: 48c1791 | pmichaud++ | docs/release_guide.pod: More release_guide.pod improvements. |
00:06 | |
00:09
nihiliad joined
|
|||
TimToady | spx2: when in doubt you can feed code to the STD parser to see what it thinks, and sometimes get a better error message | 00:10 | |
std: while(1) { .say } | |||
p6eval | std 27472: ( no output ) | 00:11 | |
TimToady | heh | ||
spx2 | std: sub bc($n,$k){[*]map ->$x, $y{$x/$y},(($k+1..$n)Z(1..$n-$k));} | ||
p6eval | std 27472: ( no output ) | ||
spx2 | TimToady: check it out | ||
TimToady | but it won't like the absence of a space after [*] | ||
since that's a listop | |||
spx2 | std: sub bc($n,$k){[*]map ->$x,$y{$x/$y},(($k+1..$n)Z(1..$n-$k));} | ||
p6eval | std 27472: ( no output ) | ||
spx2 | hmm | 00:12 | |
TimToady | std: 1 | ||
p6eval | std 27472: OUTPUT«ok 00:02 36m» | ||
spx2 | that space character between $x and $y made it choke over here | ||
TimToady | std: while(1) { .say } | ||
00:12
cls_bsd joined
|
|||
p6eval | std 27472: OUTPUT«##### PARSE FAILED #####while() interpreted as function call at line 1 ; please use whitespace instead of parensUnexpected block in infix position (two terms in a row) at /tmp/cGRaz3KEfi line 1:------> while(1) { .say } expecting any of: infix or | 00:12 | |
..meta-infix i… | |||
spx2 | TimToady: what's the std thing ? | ||
TimToady | std: sub bc($n,$k){[*]map ->$x,$y{$x/$y},(($k+1..$n)Z(1..$n-$k));} | ||
p6eval | std 27472: OUTPUT«##### PARSE FAILED #####Syntax error (two terms in a row?) at /tmp/WN9WIlVHOW line 1:------> sub bc($n,$k){[*]map ->$x,$y{$x/$y},(($k+1..$n)Z(1..$n-$k expecting any of: POST infix or meta-infix infix stopper postfix | ||
..postfix_prefix_meta_operator prefix_circ… | |||
TimToady | running the standard parser | ||
spx2 | yeah ! | 00:13 | |
that's it | |||
TimToady | you can also run it directly if you have a pugs repo | ||
spx2 | also is there like some module for writing tests in p6 / | ||
? | |||
TimToady | cd src/perl6 and make | ||
spx2 | TimToady: I run rakudo | ||
TimToady | then use tryfile to run a file | 00:14 | |
well, parse a file | |||
it doesn't run it | |||
rakudo is trying to approximate STD's parser | |||
but not there yet | |||
eventually rakudo will simply run STD | |||
spx2 | hmm, so pugs is more evolved than rakudo ? | ||
I mean , does it implement more of the specs than rakudo ? | 00:15 | ||
jnthn | rakudo: role xxx { multi trait_mod:<is>(Code $block, xxx $trait) { ... } } | ||
p6eval | rakudo 19b8db: ( no output ) | ||
jnthn | rakudo: role xxx { multi trait_mod:<is>(Code $block, xxx $trait) is export { ... } } | ||
p6eval | rakudo 19b8db: OUTPUT«No applicable candidates found to dispatch to for 'trait_mod:is'in Main (/tmp/xSnFsOhiRF:2)» | ||
jnthn | rakudo: class C { multi foo() is export { } } | 00:16 | |
p6eval | rakudo 19b8db: ( no output ) | ||
jnthn | rakudo: role R { multi foo() is export { } } | ||
p6eval | rakudo 19b8db: ( no output ) | ||
jnthn | rakudo: role R { multi foo() is export { ... } } | ||
p6eval | rakudo 19b8db: ( no output ) | ||
jnthn | rakudo: role R { multi trait_mod:<is> is export { ... } } | ||
p6eval | rakudo 19b8db: OUTPUT«No applicable candidates found to dispatch to for 'trait_mod:is'in Main (/tmp/zgBoqDeEzv:2)» | 00:17 | |
jnthn | rakudo: class C { multi trait_mod:<is> is export { ... } } | ||
p6eval | rakudo 19b8db: OUTPUT«No applicable candidates found to dispatch to for 'trait_mod:is'in Main (/tmp/Bnnass71W2:2)» | ||
jnthn | oh, I know what's wrong. | ||
Your trait_mod:<is> in that namespace is hiding the one in the outer namespace. | |||
Not quite sure what the answer is to that. | 00:18 | ||
TimToady | spx2: not really, just a different subset of the specs, and rakudo is certainly closer to the current specs | 00:20 | |
pugs has had a certain amount of design rot | |||
though to the extent that *anything* written in Haskell is more evolved than *anything* written in C, you are correct :) | 00:22 | ||
jnthn | TimToady: If you has an answer on the trait_mod issue, I'm curious to know. But no hurry, I'm going to sleep now, so I won't care about it until tomorrow, and on Thursday I'm going to the mountains for 10 days, so if you're lucky I won't care for nearly two weeks. ;-) | ||
spx2 | is there a name for [*] ? | 00:24 | |
shorthand notation for reduce ? | |||
TimToady | it's the reduce metaoperator | ||
jnthn | reduction meta-operator | ||
spx2 | thank you :) | ||
TimToady | S03:3739 | 00:25 | |
00:26
payload left
00:36
Whiteknight left
|
|||
jnthn -> sleep | 00:38 | ||
00:39
DemoFreak left,
payload joined
|
|||
dalek | kudo: 116fa46 | jnthn++ | src/ (2 files): Fix nextwitha and callwith. |
00:41 | |
kudo: 70bfd5c | jnthn++ | : Merge branch 'master' of [email@hidden.address] |
|||
Tene | jnthn: did I hear that you fixed lexicals with .wrap? | ||
spx2 | what happens if I'm iterating @a Z @b where len @a != len @b ? | 00:49 | |
pmichaud | rakudo: say 1,2 Z 4,5,6 | ||
p6eval | rakudo 70bfd5: OUTPUT«1425» | ||
pmichaud | stops on the shortest list | ||
spx2 | thanks | 00:50 | |
skids | (unless a list ends in *, but that's not quite there yet.) | ||
spx2 | skids: what's the * supposed to mean ? | ||
pmichaud | "whatever" | ||
skids | repeat the last element of the list to fill out until the end of the next longest array. | ||
pmichaud | ....what if all of the lists end in * ? | 00:51 | |
skids | Then you get lazy infinite. | ||
pmichaud | interesting. :-) | ||
spx2 | pmichaud: you mean like this www.youtube.com/watch?v=Xz7_3n7xyDg ? | 00:52 | |
Tene | rakudo: my $a; .say for gather take $a += $_ for 1..5 | 00:53 | |
p6eval | rakudo 70bfd5: OUTPUT«1515151515» | ||
Tene | pmichaud: is this a rakudobug? | ||
pmichaud | Tene: it's not yet decided | 00:55 | |
it's the "take the same item in the loop" issue | |||
although I've been wondering if take should treat its parameters as always being "is copy" | |||
Tene | rakudo: .say for gather take 100 + (state $a += $_) for 1..5 | ||
p6eval | rakudo 70bfd5: OUTPUT«Null PMC access in get_pmc_keyed()in Main (/tmp/68nYhCpA1K:2)» | 00:56 | |
pmichaud | I suspect there are still issues with the handling of the lhs of "for" | ||
skids | Hrm, how do you return an empty list from a sub with return type List is () is type Nil ? | 00:57 | |
*if | |||
last | |||
pmichaud | Nil isn't a type | ||
rakudo gets that wrong, currently. | |||
but you should be able to do return () | |||
Tene | rakudo: .print for gather for <0 1 3 4 3 3 5> { take 0 + (state $a += $_) } | ||
p6eval | rakudo 70bfd5: OUTPUT«0111111» | ||
skids | rakudo: my List foo { return (); }; $a = foo(); $a.WHAT.say | 00:58 | |
p6eval | rakudo 70bfd5: OUTPUT«Malformed declaration at line 2, near "List foo {"in Main (src/gen_setting.pm:3340)» | ||
skids | rakudo: my List foo () { return (); }; $a = foo(); $a.WHAT.say | ||
p6eval | rakudo 70bfd5: OUTPUT«Malformed declaration at line 2, near "List foo ("in Main (src/gen_setting.pm:3340)» | ||
skids | rakudo: my List sub foo () { return (); }; my $a = foo(); $a.WHAT.say | 00:59 | |
p6eval | rakudo 70bfd5: OUTPUT«Return value type check failed; expected List, but got Nilin sub block_18 (/tmp/HhBfcxD1NL:2)called from Main (/tmp/HhBfcxD1NL:2)» | 01:00 | |
skids | there we go. | ||
pmichaud | Right. | ||
Rakudo gets that wrong, currently. | 01:01 | ||
lisppaste3 | skids pasted "p6 zip implementation, sans slice" at paste.lisp.org/display/83206 | ||
Tene | rakudo: my $a; .chr.print for (gather take 100 + ($a += $_) for <0 1 3 4 3 3 5>)[2133464530.comb] | 01:02 | |
p6eval | rakudo 70bfd5: OUTPUT«helloworld» | ||
skids | Tene: that was fairly evil. | 01:08 | |
Tene | rakudo: .chr.print for 100 <<+<< (gather take +($*a += $_) for <0 1 3 4 3 3 5>)[2133464530.comb] | 01:09 | |
p6eval | rakudo 70bfd5: OUTPUT«helloworld» | ||
Tene | Better | ||
I don't like the characters in there literally... working on some way to encode them in a sequence. | |||
skids | hex the decimal-1, increment it, let it stringify for comb? | 01:11 | |
Tene | I'd prefer to generate the sequence with only small constants from something like 1..7 | 01:12 | |
skids | give rakudo's radix literals a little workout? | ||
01:22
frew_ joined
|
|||
Tene | Is there a method form of infix:Z? | 01:27 | |
01:27
hcchien joined
|
|||
skids | Tene: see my paste | 01:28 | |
Oh, method, not sub? Don't think so. | 01:35 | ||
jdv79 | i just thought of something - if it took me 5 or so years to learn p5 fairly well how long will it take to learn p6? | 01:38 | |
well, more like 2 now that i think about it more | |||
skids | Depends on how deeply. There's always little corners that can escape attention until you run into them. | 01:39 | |
jdv79 | p6 seems much "larger" than p5 | 01:40 | |
skids | But hopefully those will be less, having the benefit of hindsight. | ||
Well, in some ways. | |||
P5 has a lot more "between the lines" | |||
jdv79 | hope so:) | ||
xinming_ | jdv79: If you learnt how to programming in perl 5, You'll just need to learn how to write it in perl 6. | 01:44 | |
jdv79: and the most important thing is how to programming, Not the syntax sugar. :-) | |||
jdv79: yes, perl 6 will be much larger, but it still remains in perl, you don't need to think too much differently in perl 6. | 01:45 | ||
skids | Laziness will be fun though. Changes the way you go about working on a problem. | 01:46 | |
xinming_ | jdv79: And btw, If you use perl 5, when you switch to perl 6, You just get the nicer and more consistent syntax. | 01:47 | |
last | I wanted to ask a question about laziness: once it's in place, if you do something like "[+] map { payback(int(rand() * 100)+1) }, ^$plays", will it take the same amount of memory no matter how big $plays is? | 01:48 | |
tann | "rakudo gets that wrong, currently" is my new signature :) | ||
skids | last: lazy lists are intended to keep memory profile low -- not necessarily minimal, but low. | 01:52 | |
It will prbably vary by implementation. | |||
last | skids: but it will probably be O(1) memory use rather than O(N), right? | 01:53 | |
skids | It should chunk it up, at least, but an implementation might decide "hey I got plenty of memory" | 01:54 | |
But one would hpe implementations would target O(1) for values of N > some not-too-insane-number. | 01:55 | ||
The tuning of laziness is still a bit vague in the spec. There's some stuff on S07, but little about making things "more lazy than usual" yet. | 01:56 | ||
01:58
Tene left
|
|||
jdv79 | its not how to code in general but the idioms | 01:59 | |
that has breadth | |||
skids | I suspect the early adopters will be writing code that looks nothing like P5 in a year or so, once everything sinks in and the new features start to get used in combination with each other. | 02:01 | |
02:04
amoc joined
02:09
jdv79 left,
jdv79_ joined
02:12
jdv79 joined
02:13
jdv79_ left,
Limbic_Region left
|
|||
nothingmuch | q=/w 46 | 02:18 | |
02:19
xinming joined
02:20
SmokeMachine joined
02:22
amoc left,
amoc joined
02:24
jdv79 left
02:25
Tene joined,
SmokeMachine left
02:27
FCO left,
cdarroch left
02:29
last left
|
|||
Tene | pmichaud: should (list)>>.method and (list)».method be exactly the same? | 02:29 | |
... oh, nm. I must have done something stupid. | 02:30 | ||
02:30
xinming_ left
02:46
xinming_ joined
02:52
DC joined
03:02
xinming left
|
|||
Tene | Okay, here we go | 03:03 | |
rakudo: say [~] (98 <<+<< (([,] gather take ($_+2+int($_/3))%3 xx $_+1 for 0..3).map: { $*b++ * 3 + $^a })[2133474530.comb])>>.chr | |||
p6eval | rakudo 70bfd5: OUTPUT«Use of uninitialized valuehelloworld» | ||
03:14
frankshaw joined
03:16
DC left
03:17
HemanShaw joined
03:19
frankshaw left,
tann left
03:22
molaf joined
03:29
alanhaggai joined
|
|||
s1n | is rakudo's harness the only way of writing perl6 tests in perl6 right now? | 03:37 | |
sjohnson | no | ||
pugs: print "will do it too" | |||
p6eval | pugs: OUTPUT«will do it too» | ||
03:38
alester joined
03:39
molaf left
|
|||
s1n | pugs: use Test; plan 1; my $a = 1; is($a, 1, 'hello world'); | 03:41 | |
p6eval | pugs: OUTPUT«pugs: *** Unsafe function 'use' called under safe mode at /tmp/bMKZiXXgyO line 1, column 1» | ||
s1n | rakudo: use Test; plan 1; my $a = 1; is($a, 1, 'hello world'); | 03:42 | |
p6eval | rakudo 70bfd5: OUTPUT«1..1ok 1 - hello world» | ||
s1n | hmm | ||
Tene | s1n: Test.pm emits TAP. You can use that with *any* TAP aggregator or harness. | 03:45 | |
03:54
ihrd joined
03:55
molaf joined
03:59
jauaor joined
04:09
HemanShaw left
04:12
DC joined
04:14
DC left,
HemanShaw joined
04:15
SmokeMachine joined
04:23
nacho_ left,
molaf left,
nihiliad left,
araujo left
04:25
jrtayloriv joined,
ihrd left
04:38
jrtayloriv left
04:40
skids left,
tann joined
04:43
tann_ joined,
ihrd joined
04:44
Khisanth left
04:47
tann left
04:49
synth left
04:50
synth joined
04:54
khisanth_ joined
05:02
araujo joined
|
|||
pmichaud | s1n: Rakudo's t/harness simply adapts Test::Harness to be able to invoke "perl6" instead of "perl" on the test files. | 05:07 | |
s1n | pmichaud: does it depend on parrot's harness? | 05:08 | |
(or any of parrot's test facilities?) | |||
and are you open to patches that allow for t/harness to used on a test set outside of rakudo/t/spec? | 05:10 | ||
05:12
justatheory joined
05:13
khisanth_ is now known as Khisanth
05:15
synthEEEE joined,
justatheory left
05:20
ihrd left
|
|||
pmichaud | it doesn't depend on any of parrot, no. | 05:20 | |
05:20
azawawi joined
|
|||
azawawi | good morning | 05:20 | |
pmichaud | as for patches... depends on the patch. In general I'd say "yes" | ||
05:24
ihrd joined
05:34
synth left
05:46
frew_ left
05:48
ihrd left
05:55
yahooooo left
06:08
yahooooo joined
06:11
rfordinal joined
06:17
Matt-W joined
06:21
alester left,
amoc left
06:28
HemanShaw left,
frankshaw joined
06:33
eternaleye left,
rfordinal left
|
|||
pugs_svn | r27478 | azawawi++ | [S:H:P6] Removed reference to Text::VimColor | 06:35 | |
06:36
amoc joined,
HemanShaw joined
06:43
FurnaceBoy left
06:47
rfordinal joined
06:50
HemanShaw left,
frankshaw left
06:51
rfordinal left,
Jedai joined
06:55
eternaleye joined
07:03
iblechbot joined
07:05
meppl joined
07:06
azawawi left,
frankshaw joined
07:10
edpratomo joined
07:14
dakkar joined
07:22
frankshaw is now known as HemanShaw,
finanalyst joined
|
|||
Matt-W | Morning | 07:26 | |
moritz_ | good morning Matt-W | ||
Matt-W | hey moritz_ | 07:28 | |
My server survived a move last night :D | |||
now I'm pondering having a go at the release process for pmichaud | 07:29 | ||
07:29
zamolxes left
07:38
DemoFreak joined
07:57
eMaX left
08:09
edpratomo left
08:11
zamolxes joined
08:16
clintongormley joined
08:17
frew_ joined
08:18
frew left
08:24
Jedai left
|
|||
pugs_svn | r27479 | moritz++ | [perl6-projects.org] don't underline links | 08:27 | |
08:30
meppl left
|
|||
szabgab | rakudo: say time; | 08:34 | |
p6eval | rakudo 70bfd5: OUTPUT«1247042057.13949» | ||
szabgab | rakudo: say localtime; | ||
p6eval | rakudo 70bfd5: OUTPUT«Could not find non-existent sub localtime» | ||
szabgab | rakudo: say Time::localtime; | ||
p6eval | rakudo 70bfd5: OUTPUT«Null PMC access in invoke()in Main (/tmp/hOv2xLbMsI:2)» | ||
szabgab | rakudo: say gmtime; | 08:35 | |
p6eval | rakudo 70bfd5: OUTPUT«Could not find non-existent sub gmtime» | ||
Matt-W | eeep | 08:36 | |
null pmc! | |||
szabgab | rakudo: my $x = Temporal::DateTime.new; $x.say | ||
p6eval | rakudo 70bfd5: OUTPUT«Use of uninitialized valueUse of uninitialized valueUse of uninitialized valueUse of uninitialized valueUse of uninitialized valueUse of uninitialized valueUse of uninitialized valueUse of uninitialized value0000-00-00T00:00:00+0000» | ||
08:51
digitalise joined
|
|||
szabgab | is there a file I can try lines() on ? | 08:53 | |
it seems 'file'.lines() does not work | |||
Method 'lines' not found for invocant of class 'Str' | |||
nor does lines('file', 2) | 08:54 | ||
moritz_ | szabgab: you first have to open it. | ||
lines($str) would look more like $str.split("\n") to me | |||
rakudo: say $*IN.lines(2).perl | 08:55 | ||
szabgab | according to the spec I think it should work on filenames as well | ||
p6eval | rakudo 70bfd5: OUTPUT«["Land der Berge, Land am Strome,", "Land der Äcker, Land der Dome,"]» | ||
szabgab | rakudo: say $*IN.lines(3).perl | ||
p6eval | rakudo 70bfd5: OUTPUT«["Land der Berge, Land am Strome,", "Land der Äcker, Land der Dome,", "Land der Hämmer, zukunftsreich!"]» | ||
08:59
payload left
09:02
synthEEEE left,
DemoFreak left
|
|||
jnthn | moritz_: What makes you think the patch wasn't committed? | 09:02 | |
moritz_: I copied that ID from the output from git push... | |||
moritz_ | jnthn: I'm talking about the tests | 09:03 | |
that you mentioned in the ticket | |||
jnthn | Oh, wish you'd been clear on that. | ||
moritz_ | sorry. | ||
jnthn | ah, yes, seems I hadn't committed those. | 09:04 | |
Done now. | |||
pugs_svn | r27480 | jnthn++ | [t/spec] Tests for RT#66978. | ||
jnthn makes coffee | 09:05 | ||
09:10
riffraff joined
|
|||
Matt-W | morning jnthn | 09:22 | |
jnthn | hi Matt-W | ||
finanalyst | rakudo: lines('README').say | ||
p6eval | rakudo 70bfd5: OUTPUT«=head1 Rakudo Perl 6This is Rakudo Perl, a Perl 6 compiler for the Parrot virtual machine.Rakudo Perl is Copyright (C) 2008-2009, The Perl Foundation.Rakudo Perl is distributed under the terms of the Artistic License 2.0.For more details, see the full text of the license in | 09:23 | |
..the fil… | |||
09:23
tann_ left
|
|||
jnthn | Didn't safe mode prevent IO? | 09:23 | |
rakudo: lines('/etc/passwd').say | |||
p6eval | rakudo 70bfd5: | ||
..OUTPUT«root:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/bin/shbin:x:2:2:bin:/bin:/bin/shsys:x:3:3:sys:/dev:/bin/shsync:x:4:65534:sync:/bin:/bin/syncgames:x:5:60:games:/usr/games:/bin/shman:x:6:12:man:/var/cache/man:/bin/shlp:x:7:7:lp:/var/spool/lpd:/bin/shmail:x:8:8:mail:/var… | |||
jnthn | o_O | 09:24 | |
moritz_ | jnthn: it's very limited, that "safe" mode :/ | ||
jnthn | moritz_: Ah. | ||
09:24
Jedai joined
|
|||
finanalyst | szabgab: lines does work with a filename, though not as a method on a string. | 09:24 | |
moritz_ | it just replaces things in the symbol table | ||
jnthn | moritz_: Aye. | 09:25 | |
Hopefully we can find some better way. | |||
moritz_ | that would be great. | ||
szabgab | is readline() now gone ? | ||
moritz_ | I think so, yes | ||
szabgab | so the recommended way to read a line from a file is =$fh now ? | 09:26 | |
my $line = =$fh; | |||
jnthn | .get | ||
moritz_ | $fh.get | ||
jnthn | prefix:<=> is has a kill. :-) | ||
std: =$fh | 09:27 | ||
p6eval | std 27472: OUTPUT«ok 00:02 35m» | ||
jnthn | ...oh. | ||
moritz_ | 'oh' is a good comment | ||
TimToady: see above, should '=$fh' still parse? | |||
szabgab | open() or oh; | ||
09:38
M_o_C joined
|
|||
Matt-W | only if there's a prefix:<=> defined | 09:41 | |
which there shouldn't be by default | |||
jnthn | The other curious thing is that it didn't complain about $fh being undefined. | 09:43 | |
std: multi prefix:<=> { }; =$fh | |||
p6eval | std 27472: OUTPUT«Potential difficulties: Variable $fh is not predeclared at /tmp/MWAFi2Mijf line 1:------> multi prefix:<=> { }; =$fhok 00:03 41m» | ||
jnthn | But there it does. | ||
So I suspect it's not a leftover prefix:<=>, but it's parsing it as...something else. | 09:44 | ||
Matt-W | yes that seems likely | 09:45 | |
but what | |||
jnthn | dunno | 09:46 | |
don't have an std | |||
to get a parse tree | |||
.oO( not having an std is usually a good thing... ) |
|||
Matt-W | we know you mean something else this time :) | 09:47 | |
09:48
meppl joined
09:55
charsbar_ joined,
ejs joined
09:56
payload joined,
charsbar left,
alanhaggai_ joined
10:01
payload left,
payload1 joined
10:06
ejs left
10:09
HemanShaw left
10:10
frankshaw joined
10:11
frankshaw is now known as HemanShaw
10:12
alanhaggai left
|
|||
literal | I think Damian made a Perl Monks post sometime detailing of his modules are production-safe, experimental, or worse :P | 10:13 | |
lambdabot | literal: You have 4 new messages. '/msg lambdabot @messages' to read them. | ||
10:13
rfordinal3643 joined
|
|||
literal | there I go again, replying to some old statement in the buffer | 10:13 | |
10:20
pmurias joined
10:21
rfordinal joined
10:27
masak joined
|
|||
masak | greetings, futurologists. | 10:27 | |
jnthn has seen the future and it's not orange. | 10:30 | ||
Damm false advertising. | |||
;-) | |||
literal | did someone say that it would be orange? | 10:32 | |
Matt-W | yes | 10:33 | |
Orange did | |||
repeatedly | |||
Matt-W thinks the future has lazy evaluation | |||
masak | and LTM. | 10:34 | |
Matt-W | yes | 10:35 | |
masak | literal: I might be late or a no-show for tonight's meeting. but those of you who show up, please go ahead. | ||
if I can, I'll join in later. | 10:36 | ||
pmurias | masak: it's perl6-gsoc again? | ||
masak | pmurias: every Wednesday. :) | ||
literal | ok | 10:38 | |
masak | jnthn++ # "awesomizing" | 10:44 | |
10:45
rfordinal3643 left
|
|||
jnthn | ;-) | 10:45 | |
jnthn is having a day of hacking and packing | |||
masak | "hack'n'pack", the new lifestyle of the globetrotting programmer. | 10:46 | |
10:49
cognominal left
10:51
last joined
|
|||
masak | rakudo: class A { method foo {"A.foo"} }; class C { has A $.a handles *; }; my C $c .= new; say C.foo | 10:51 | |
p6eval | rakudo 70bfd5: OUTPUT«Method 'foo' not found for invocant of class ''» | ||
masak | NYI? | ||
jnthn | I'm sure we had tests for handles * | 10:52 | |
oh | |||
rakudo: class A { method foo {"A.foo"} }; class C { has A $.a handles *; }; my C $c .= new; $c.foo | |||
p6eval | rakudo 70bfd5: ( no output ) | ||
jnthn | indeed, I know why that is | ||
masak | ok? | 10:54 | |
jnthn | masak: file rakudobug | ||
They should both work. | |||
masak files | 10:56 | ||
oh -- I called the type object's .foo | 10:57 | ||
10:59
digitalise left
11:04
pmurias left
11:19
desertm4x joined
|
|||
he_ | Question from a newbie in these corners: are all the tests run under "make spectest" in rakudo expected to succeed? | 11:31 | |
11:32
jan_ left
|
|||
masak | he_: ideally, yes. | 11:32 | |
but in between releases results may vary. | |||
(that's assuming you're running bleeding. in a release, all should succeed) | 11:33 | ||
masak should stop saying "running bleeding" | |||
I mean "running from the git HEAD" | |||
moritz_ | master, even | 11:37 | |
masak | right. | 11:39 | |
he_ | I'm also new to git, but I updated with "git fetch"(?) a couple of days ago and built on NetBSD/i386 4.0, and got several failures during "make spectest". | 11:40 | |
moritz_ | he_: you need 'git pull', 'git fetch' doesn't update the files in the repository | 11:41 | |
but yes, we have known problems with parrot's garbage collector | |||
he_ | Well, ... since I'm new at git, I may have done "git pull" as well. | 11:42 | |
Anyway, I don't suppose you have a similar service as parrot to collect test results? | |||
11:43
Chillance joined
|
|||
moritz_ | no :( | 11:43 | |
masak tries to book flight tickets and becomes aware, for the first time, of the plethora of "free flights" meta-booking systems online, all of them useless | 11:44 | ||
jnthn | oh, I go straight to expedia or the sites of the budget airlines I know fly from near me. | 11:45 | |
Search results tend to be full of such crap | 11:46 | ||
11:46
M_o_C left
|
|||
masak | expedia? | 11:46 | |
11:48
mikehh__ is now known as mikehh
|
|||
he_ | Anyway, I'm going to send a nopaste of the old test result, and have started a new round. | 11:48 | |
lisppaste3 | he_ pasted "Spectest summary report from NetBSD/i386 4.0" at paste.lisp.org/display/83225 | ||
jnthn | masak: expedia is travel/flight booking site that I find not to suck too much. | ||
masak tries that, then | 11:49 | ||
jnthn | masak: In the, it tells me choices and prices and mostly stays out of the way enough to not annoy me. | ||
*In that | |||
masak | sounds wonderful. | ||
11:52
meppl left
|
|||
masak | unfortunately, their proposed price was the highest so far. :/ | 11:53 | |
jnthn | Aye - they don't include all the budget airlines. | 11:54 | |
Though they ain't always so "budget" always. | 11:55 | ||
masak | I've yet to find a budget airline that does Stockholm-Lisbon. the best I have so far is Air Portugal, who offer to take me for a large sum of money. | 11:57 | |
11:58
Jedai left
|
|||
jnthn | Aye, I didn't find a load of choice of budget airlines serving Lisbon. | 11:58 | |
masak | that's consisten with my collected data so far. | 12:00 | |
for that matter, there seems to be many budget airlines in Europe not serving Stockholm. | |||
jnthn | Especially Arlanda | 12:02 | |
Ryanair serve Skavsta. | |||
Which is "Stockholm" | |||
Just like Ryanair used to list Bratislava as Vienna. | 12:03 | ||
;-) | |||
masak | yes, I have mixed feelings about that lying-about-cities strategy. | ||
I can see why they do it, but... | |||
...having to ride a bus for two hours to get to the city they claimed you landed in is not much fun. | 12:04 | ||
then again, you get what you pay for. | |||
I've already ruled out ryanair, because they don't go to Lisbon. | |||
but even if they did, I'd think twice about using their services again. | 12:05 | ||
publius-ovidius.livejournal.com/301476.html | |||
jnthn | I mostly put up with Rynair 'cus they are sometimes so much cheaper than the alternative. | ||
masak | I used to do that as well. | 12:06 | |
jnthn | But it's run by a smarmy asshat. | ||
masak | seems so. | ||
12:08
cognominal joined,
sri_kraih_ joined
|
|||
Matt-W | I had fun with Ryanair | 12:09 | |
they took us to Gothenburg City | |||
which is... a runway and a hut | |||
not flown with anybody at all for some time now though. Ryanair seem to have gone even more downhill in the intervening time | 12:10 | ||
masak | I'm glad they're not an alternative this time. | 12:11 | |
I think I'll go with TAP (fitting, huh?) and the large sum of money. | |||
moritz_ | Matt-W: that's my experience too, Ryanair going downhill | 12:12 | |
jnthn wouldn't have minded going by train, but it's a LONG way. | |||
Matt-W wonders how hard it would be to go to lisbon on the train | |||
12:12
Jedai joined
|
|||
masak checks train connections before committing on the flight | 12:12 | ||
Matt-W | I suppose, eurostar to paris and then from paris to somewhere and then from somewhere to lisbon | ||
possibly several somewheres | |||
jnthn | Yeah | ||
Matt-W | if lucky, paris->madrid->lisbon | ||
jnthn | You cna probably get south through France at a decent speed on the TGVs. | 12:13 | |
Matt-W | yes | ||
jnthn | There is I'm sure a Paris -> Madrid overnighter though. | ||
Matt-W | however, flying is likely much cheaper | ||
and definitely faster | |||
and definitely more stressful | |||
jnthn | yeah, that's what I concluded | ||
And my flight is with SkyEurope. | |||
Matt-W | admittedly another reason I'm not going to YAPC::EU | ||
I really hate flying | |||
there are only two things I like about it | 12:14 | ||
jnthn | They're not asshats like Ryanair. However, they're on the verge of bankruptcy. | ||
Matt-W | oh dear | ||
The first thing I like about flying is the acceleration push for takeoff | |||
The second thing is that it gets me from place to place quite quickly | |||
(on average) | |||
moritz_ | stockholm -> Faro is 100...200 Euro with Air Berlin, one way | ||
then you'd ahve to take the train to lisbon, ,or so | |||
Matt-W | I flew air berlin once | ||
they weren't too bad | |||
jnthn | Faro is right down south, right? | ||
Matt-W | there were rolls | 12:15 | |
and mints | |||
jnthn | Oh, Air Berlin serve Currywurst on board! :-D | ||
Matt-W | jnthn: this was Stansted->Dusseldorf, so there wasn't time for Currywurst | ||
moritz_ | jnthn: no idea, it's the only Portugese airport tha air berlin serves | ||
Matt-W | I had some fun speaking to the cabin crew in German | ||
and then watching them assume that my parents also spoke German | |||
jnthn | heh | ||
That's why I like SkyEurope | 12:16 | ||
moritz_ | (and last time I didn't get any Currywurst, but neither Glasgow->Standsted nor Standsted->Nuernberg is very long) | ||
jnthn | I can chat up^Wto the cabin staff in Slovak. :-) | ||
Matt-W | :) | ||
I don't think I can chat up in German | |||
I don't know enough vocabulary | |||
masak | trans-Europe train site says it's too far from Stockholm to Lisbon. :/ | ||
Matt-W | hello? trans-Europe? | ||
masak | (my choice of words.) | 12:17 | |
would have been cool, though. | |||
Matt-W | yes | ||
especially if it had a power point | |||
you could arrive with a git branch implementing LTM :) | |||
and what an entrace that would be | |||
12:17
cognominal_ joined
|
|||
masak | "Longest Train-journey Matching" | 12:18 | |
12:18
cognominal left
|
|||
moritz_ | pmichaud shaking you to death because you stole his job :-) | 12:18 | |
jnthn | masak: Oh, get a grip. It's not like you're doing Vladivostok to Moscow. ;-) | 12:19 | |
masak | moritz_: I've gotten the feeling that pmichaud doesn't much mind when people do tasks for him... :) | ||
moritz_ | masak: I know, but I had the opurtunity for a bad joke here... | ||
masak | nope, going Stockholm-Paris by train is already more expensive than the TAP flight option... | 12:20 | |
moritz_: ah :) | |||
jnthn | masak: Heh, the price doesn't surprise me. | ||
Train travel in France and Sweden and Germany is expensive-ish. | 12:21 | ||
Matt-W | in the UK it's extremely expensive | ||
jnthn | Matt-W: Yes, and usually delayed too. | ||
jnthn much prefers Russian train pricing :-) | |||
moritz_ | you could try stockholm -> madrid and then the train | 12:22 | |
Matt-W | haha | ||
jnthn | $30 USD for an overnight journey including ability to lie down is kinda awesome. | ||
masak | moritz_: I'll do that. | ||
Matt-W | bahn.de says london->lisbon is minimum of 4 changes, 26 hours | ||
ooh | 12:23 | ||
it'd be faster if one started early in the morning | |||
jnthn | masak: Uh, I just realized handles probably shouldn't work on proto-objects since they have no state and thus nothing to dispatch on. | ||
Matt-W | that includes an overnight wait at a station in darkest somewhere | ||
jnthn | masak: But it's failing to work in a wrong way. | ||
Matt-W | oh well, I'm not going anyway | ||
masak | jnthn: aye. | ||
Matt-W | jnthn: yes it seems likely that you need a real object, since you're calling methods on it in the end... | 12:24 | |
12:24
sri_kraih left
|
|||
jnthn | The coffee took a while to take effect this morning. ;-) | 12:24 | |
masak | what do you know, Stockholm-Madrid is cheaper than Stockholm-Lisbon! | ||
moritz_ | masak: that doesn't surprise me at all | ||
Matt-W | what about if you add madrid-lisbon on the end | ||
masak | Matt-W: I'm on it. | 12:25 | |
masak feels like he's the computer guy in a movie | |||
12:25
Chillance left
|
|||
masak | "When you book your train travel from Madrid to Lisbon, the most direct route to this Portuguese capital is an overnight trip. You will get to eat, rest and arrive refreshed in Lisbon, ready to explore this multi-cultural city built upon seven legendary hills." | 12:26 | |
seven hills? I thought that was Rome... | |||
12:26
Chillance joined
|
|||
moritz_ | me too | 12:27 | |
Matt-W | maybe it's both of them | ||
maybe they stole them from Rome in an undocumented past adventure | |||
masak | .oO( undocumented PAST ) |
12:29 | |
moritz_ | or maybe it's the other way round :-) | ||
acording the the wikipedia Lisboa is also built on seven hills. | 12:30 | ||
That seemed to be quite fashionable back then | 12:31 | ||
masak | wtf? train Madrid-Lisbon costing as much as flisht Stockholm-Madrid? | ||
s/sh/gh/ | 12:32 | ||
jnthn | huh? | ||
oh, flight | |||
that's maybe not so surprising. | 12:33 | ||
masak | hm -- well, I can optimize it down to about the same price as a direct flight. | 12:34 | |
doesn't seem worth it. | |||
Matt-W | no | ||
a shame | |||
train travel is much cooler | |||
masak | gotta go. | 12:35 | |
see you tonight. | |||
12:35
masak left
12:41
skids joined,
icwiener joined
12:45
M_o_C joined
12:46
amoc left
12:47
rfordinal left
12:48
rfordinal joined
12:55
Patterner left
12:56
cls_bsd left
13:02
synth joined,
cls_bsd joined
13:04
pmurias joined
13:06
rfordinal left
|
|||
pmurias | skids: do you think having a TODO file for smop would be usefull? | 13:08 | |
13:13
jan_ joined
13:14
meppl joined
13:16
donaldh joined
13:21
Psyche^ joined,
Psyche^ is now known as Patterner,
mizioumt joined
13:24
iblechbot left
|
|||
pmurias | moritz_: how are the nick colors assigned in the log? | 13:31 | |
13:31
whoppix left
|
|||
moritz_ | pmurias: the first $n nicks with the most lines get a color from a list each | 13:32 | |
13:33
eMaX_ left
|
|||
jnthn | So you can influence that by talking less or more relative to other people on the channel? ;-) | 13:35 | |
moritz_ | aye. | 13:36 | |
13:38
Chillance_ joined
13:39
Chillance_ left,
Chillance_ joined
13:52
omega_ left
13:54
Chillance left
13:56
KyleHa joined,
omega joined
14:00
finanalyst left
|
|||
skids | pmurias: As long as it gets updated, sure, they are always helpful. | 14:00 | |
moritz_ | (note that the count is only for the current day) | 14:01 | |
and per-channel | |||
skids | pmurias: if and when I actually get to doing something other than reading/bugfixing, it will likely be S09 compact structures/compact arrays because that's where my interests lie. | 14:08 | |
(and it's something that may be a while coming via Parrot/rakudo, so SMOP can help there banging out the details) | 14:09 | ||
14:10
SmokeMachine left
14:13
alanhaggai_ left
14:16
iblechbot joined
14:19
SmokeMachine joined
14:25
eMaX joined
14:26
desertm4x left,
desertm4x joined
14:27
jauaor left
14:28
jonathanturner joined
|
|||
pmichaud | Good morning, #perl6 | 14:35 | |
jnthn | morning, pm | 14:36 | |
14:42
elmex left
|
|||
pmichaud | (expedia) my strategy tends to be to use expedia to find good fares, but then book directly from the airline. | 14:43 | |
14:43
exodist joined,
last left,
elmex joined
14:50
payload1 left
14:51
nothingmuch left
14:52
nothingmuch joined,
amoc joined
14:58
justatheory joined
14:59
eMaX left
15:00
justatheory left
15:01
eMaX joined,
exodist left,
zamolxes left
15:02
frodwith joined,
frodwith left
15:03
frodwith joined,
frodwith left
15:04
frodwith joined
15:13
agentzh left
15:14
agentzh joined
15:20
donaldh left,
donaldh joined
15:21
last joined
15:22
last left
15:23
masak joined
15:26
elmex_ joined
15:32
nihiliad joined
15:35
justatheory joined,
masak left
|
|||
jnthn | .oO( give us today our daily bredband ) | 15:36 | |
15:40
elmex left,
elmex_ is now known as elmex
|
|||
moritz_ | sushee.no-ip.org/shot.png Su-Shee++'s proposed layout for perl6-projects.org | 15:43 | |
KyleHa | Looks good to me too. | 15:44 | |
15:46
mikehh left
|
|||
sbp | I'd swap Download with Wikis and Blogs | 15:49 | |
15:49
mikehh joined
|
|||
sbp | the amount of times I've screamed at a site... "just tell me where to download it!" | 15:49 | |
15:50
eMaX left
|
|||
jonathanturner | sbp: Indeed. Might be helpful to have a date of the latest release as well, to let you know if you should upgrade | 15:50 | |
15:50
dakkar left
|
|||
jnthn | moritz_: I really like the look of that. | 15:50 | |
sbp | good idea | ||
jnthn | moritz_: Actually I'd put the download button further up | ||
e.g. exchange it's position with the Wikis and Blogs thing. | 15:51 | ||
sbp | jnthn: oh yeah, good idea | ||
jnthn | Maybe Documentation wants to be above Specification too? | ||
moritz_ | ok, thanks for your feedback | ||
jnthn | That is, which do we most want ot direct new people to? | ||
But visually, it's shiny. :-) | 15:52 | ||
moritz_ | I was about to complain about the download bottom because we don't want to offer The One True Download for The One True Implementation... oh well. | ||
jnthn | We could exchange it for a "box" | ||
"Download Rakudo: source, binaries" | |||
kind of thing | |||
pmichaud | "Downloads" | ||
sbp | well it's like XSLT applications | 15:53 | |
pmichaud | plural | ||
sbp | you ask people what XSLT apps there are out there | ||
they reel off a list of implementations | |||
jnthn | And other links to download releases of other implementations. | ||
sbp | and you say oh, okay, so which one should I use? | ||
moritz_ | anyway, that's kind of details right now, I was more asking about feedback for the design in general. | ||
sbp | and everybody says: Saxon | ||
pmichaud | (design in general) +1 | ||
sbp | similar kind of thing with perl6 right now | ||
jnthn | moritz_: Oh, in that sense, +2 | ||
sbp | who isn't going to say Rakudo? | ||
jnthn | ;-) | ||
moritz_ | sbp: ruoso and pmurias :-) | 15:54 | |
sbp | hehe | ||
that just proves my point | |||
jnthn | While smop/mildew is an implementation that's looking very promising in the long run, I'd be reluctant to point people who just want to play with a Perl 6 compiler to see what Perl 6 can do at them right now. | 15:55 | |
(Which is what people looking for a big shiny downloads button are probably after.) | 15:57 | ||
moritz_ | right | ||
15:57
last joined
|
|||
moritz_ | if we have multiple such implementations in the future, I can make random redirects for them :-) | 15:57 | |
pmichaud | it might be interesting to point people to play with std, though. | ||
moritz_ | but first it should be easier to get to run | 15:58 | |
like, not requiring a perl at a hard coded path | |||
15:58
last left
|
|||
pmichaud | multiple implementations -- just add a "I'm Feeling Lucky" button for the download :-) | 15:59 | |
jnthn | lol! | ||
moritz_ | lol | ||
jnthn | On April Fools Day, we re-direct randomly to a LOLCODE download instead. | ||
16:07
rfordinal joined
16:08
jrtayloriv joined
16:10
last joined
16:11
tann joined
|
|||
Patterner | I like bit.ly/BestLOL | 16:15 | |
16:20
mikehh_ joined
16:22
Su-Shee joined
|
|||
Su-Shee | hi. | 16:22 | |
16:24
beggars joined
|
|||
moritz_ | hi Su-Shee | 16:29 | |
16:29
Psyche^ joined
|
|||
TimToady | \o> | 16:30 | |
<waving and holding the top of my head on while the coffee brews> | 16:31 | ||
pmichaud | (salute? broken arm? not e..... aha) | ||
"not enough coffee" was my next guess | |||
16:32
SmokeMachine left,
eMaX joined,
tann left
|
|||
Su-Shee | here's a light version (as in color not low fat. ;) sushee.no-ip.org/shot-light.png | 16:33 | |
moritz_ | I like that even better | 16:34 | |
Su-Shee | me too. i think, I'll also make the colors less bright. | 16:35 | |
moritz_ | (the only thing I'm not sure about is the white link text; I never trust white text to be readable) | ||
16:35
REPLeffect joined
|
|||
KyleHa | I might make all the "reading material" the same color...docs, specs, and blog-like substances...but that's because I have no sense of design appeal. | 16:36 | |
16:36
DemoFreak joined,
mikehh left
|
|||
Su-Shee | I don't style docs and specs in light candy colors :)) | 16:37 | |
moritz_ | ;-) | ||
16:37
cdarroch joined
16:40
Patterner left,
Psyche^ is now known as Patterner
|
|||
Su-Shee | a little less bright: sushee.no-ip.org/shot-light-less-bright.png | 16:42 | |
moritz_ | I liked the previous one better | ||
PerlJam | Su-Shee: what moritz_ said. | 16:43 | |
TimToady | yes, complements camelia's colors better | 16:44 | |
PerlJam | you might want to tone down the shine on Camelia's wings though | ||
(just a little) | |||
moritz_ | noooo! ;-) | 16:45 | |
Su-Shee | moritz_: no problem, it will still look 2.0-ish :) | ||
TimToady | it does make her look like painted metal, but that's okay | ||
PerlJam | Su-Shee++ very cool | ||
moritz_ | it'd better look 6.0-ish! | ||
TimToady | the tilt is just a little odd because it makes it look like her legs and mouth are bending due to gravity :) | 16:46 | |
rather than just naturally being that way... | |||
pmichaud | she's showing her age already? | ||
PerlJam | no, she's a little gimpy to appeal to handicapped people ;> | 16:47 | |
pmichaud | and her glasses make her look really bug-ey.... Oh. | ||
moritz_ | (showing age) that's okay for an imortal ;-) | ||
16:47
M_o_C left
|
|||
Su-Shee | PerlJam: much better with less shine. | 16:48 | |
16:48
SmokeMachine joined
|
|||
TimToady | the main problem with the shine is that it makes the top wings look 3d while the rest of her remains flat | 16:49 | |
pmichaud | afk # lunch, then parrot install issues | 16:50 | |
TimToady | at minimum, perhaps if the lower wings also have a bit of shine, it might balance that up | ||
pmichaud | how does it look without any shine? | ||
TimToady | but the concept of a butterfly with non-flat wings is a bit odd from the outset | 16:51 | |
the shine probably made more sense with the black background than with light | |||
PerlJam | Camelia is a different kind of butterfly anyway :) | ||
pmichaud | TimToady: at 3 meters, the wings might be more like airfoils :-) | ||
TimToady | troonough | ||
Su-Shee | this is the orginal cut out and a little scaled down: sushee.no-ip.org/camelia-transparent-800.png | ||
pmichaud | right, I was wondering how it would look in the overall page w/o shine | 16:52 | |
(I agree that the shine made more sense on black background for some reason) | |||
moritz_ | maybe first flip it (left <-> right) and then tilt it? | ||
pmichaud | anyway, I do need lunch | ||
PerlJam | shine those wings right and you get Camelia with 4 balloons instead of wings. | ||
pmichaud | afk | ||
PerlJam | er, I guess that would be shining them wrong :) | ||
TimToady | well, everyone's an art critic :) | 16:54 | |
sbp | not me | ||
well okay, a little bit | |||
TimToady | you're just an art critic critic :) | ||
sbp | hehe | ||
Su-Shee | that's will all wings in shine, but less intense: sushee.no-ip.org/camelia-allshine.png | 16:56 | |
(and the wrong shadow) | 16:57 | ||
sbp | once I saw some TV programme where a member of the House of Lords was alleged to have compared art critics to a eunuch at an orgy in the following terms: “they'd like to join in, but they don't have the wherewithal...” | ||
16:57
riffraff left
|
|||
TimToady | the lower shine doesn't work because it superposes over the pink. it really only works if it starts in the black | 16:58 | |
16:58
mj41 left
16:59
rfordinal left
|
|||
sbp presses Control+Command+Option+7 to negate the screen... | 16:59 | ||
Camelia looks really good in negative | |||
TimToady | the nose shine is a bit too curvy | ||
sbp | (modulo the eyes) | ||
TimToady | I do think she can change the color of her wings at will | 17:00 | |
but probably not her face | |||
sbp | hmm, okay | 17:01 | |
PerlJam | A bug-eyed, yellow-faced, flying camel? | ||
sbp | have you observed Camelia(s) in the wild, or are you getting this from book-knowledge? | ||
TimToady | well, yes, essentially... | ||
17:01
mj41 joined
|
|||
TimToady | genetic engineering is an empirical science | 17:01 | |
17:02
eMaX left
|
|||
sbp | imagebin.ca/img/LmMMLgv.png (inverted) | 17:03 | |
the eyes scare me. reminds me of Evil Spock, too | 17:04 | ||
17:05
IllvilJa joined
|
|||
Su-Shee | camelia allshine with a little shine in the black: sushee.no-ip.org/camelia-shine-logo2.png | 17:07 | |
and without: sushee.no-ip.org/camelia-shine-logo.png | |||
sbp | hmm. can you move the bottom shine even closer to the edges? | 17:08 | |
TimToady | I agree, the bottom shine should be closer to the edge than the top shines | ||
since the lower wings are smaller | |||
otherwise it doesn't make them look round at all | |||
PerlJam | I agreee too fwiw | 17:10 | |
sbp | oh man. I only just got that the left upturned 6 actually represents a p | ||
it's not even a 6 for goodness' sake; it's reversed | |||
TimToady | and I do like the absence of nose shine; I think the face needs to remain completely in the cartoon category | ||
PerlJam | sbp: the effect is subtle, so like Perl, there's always new things to discover :) | ||
sbp wonders if there's a befunge93 perl6 compiler hidden in the pixel matrix | 17:11 | ||
TimToady | but it's really that fundamental P vs 6 asymmetry that drives the rest of the design | ||
and philosophically, asks the question "Is 6 really a version of P, or is it something different?" | 17:12 | ||
sbp | hmm, I actually saw a serious study of that a year or two ago | 17:13 | |
a team mutating glyph forms to find out what the boundaries of prototypical glyph recognition are | |||
well, the gradient | |||
TimToady | yes, we did similar experiments in linguistics and phoneme recognition | 17:14 | |
sbp | but to keep it simple they constrained themselves to like a grid of possibilities | ||
which I thought was a bad idea. bit like trying to spell things on a clock | |||
phonemes? hmm, that always annoyed me about the IPA | |||
nice and neat divisions of phonemes, whereas in practice it's not quite like that... | |||
TimToady | IPA is phones, not phonemes :P | 17:15 | |
but yes, which is why they allow all sorts of modifiers of the central notion | |||
and every now and then they have to add a new symbol as a new langauge is discoverred | 17:16 | ||
there's a language in (I believe) New Guinea that came up with an interlabial lateral | |||
jnthn | .oO( but isn't IPA = Indian Pale Ale? ) |
||
sbp looks up phones vs. phonemes on Wikipedia | 17:17 | ||
TimToady: I enjoy trying to make the sounds in the spaces where they say it's impossible | |||
TimToady | or possibly phonetic vs phonemic | ||
sbp | which is a bit futile really since I can't even roll my r's, but there you go | ||
TimToady | I do a mean triple trill, but as far as I know no languages use that | ||
sbp | add it to perl6! | ||
there is an articulated perl6, right? | 17:18 | ||
moritz_ | we already have triple dots in Perl 6 | ||
Su-Shee | hm. the shine is reluctant to fit. | ||
sbp | or we could just whistle the binary utf-8 encoded representation at one another | ||
17:26
donaldh left
17:28
tann joined
17:36
Pismire joined
17:37
molaf joined
|
|||
pugs_svn | r27481 | lwall++ | [STD] complain usefully about illegal pod directives like =$fh | 17:46 | |
moritz_ | std: my $fh; =$fh | ||
p6eval | std 27472: OUTPUT«##### PARSE FAILED #####Can't understand next input--giving up at /tmp/Ux3Bnb26bL line 1:------> my $fh; =$fh expecting any of: prefix or noun statement endFAILED 00:02 36m» | ||
TimToady | std: 81 | 17:48 | |
p6eval | std 27472: OUTPUT«ok 00:02 36m» | ||
17:55
mizioumt left
|
|||
TimToady | std: =$fh | 17:56 | |
p6eval | std 27472: OUTPUT«ok 00:02 35m» | ||
TimToady | the std rebuild seems to have a hitch in it's getalong | 17:57 | |
*its | |||
grr, can we just change English now? | |||
shower & | |||
17:58
FurnaceBoy joined
|
|||
sbp | if it's was good enough for Emily Dickinson, it's good enough for us | 17:59 | |
pmichaud | I'm wondering if std is treating the leading = as some sort of pod escape | ||
std: + =$fh | |||
sbp | (she also used “have'nt” and “opon” consistently) | 18:00 | |
p6eval | std 27472: ( no output ) | ||
TimToady | yes, that's what I just fixed | ||
pmichaud | ah | ||
TimToady | but 72 <<< 81 | ||
pmichaud | oh, didn't see the commit there | ||
moritz_ | TimToady: it currently doesn't compile on the server... | 18:01 | |
TimToady | or rather 72 ⋘ 81 | ||
moritz_ | ./std CORE.setting | ||
##### PARSE FAILED ##### | |||
Malformed constant at CORE.setting line 68: | |||
------> constant pi is export = 3.14159_26535_89793_23846_2 | |||
TimToady | okay, I know what's wrong | ||
moritz_ | is there any use in trying a 'make clean'? | ||
TimToady | no | ||
fix coming | 18:02 | ||
in fact, make clean is what I should have done here a little more often | |||
18:04
M_o_C joined
|
|||
pugs_svn | r27482 | lwall++ | [STD] special form of constant declaration didn't allow traits | 18:07 | |
18:09
rfordinal joined,
rfordinal left
|
|||
TimToady | シャワします、よ!& | 18:10 | |
18:11
eMaX joined
|
|||
sbp | phenny: "シャワします、よ!"? | 18:12 | |
phenny | sbp: "The SHAWA, I!" (ja to en, translate.google.com) | ||
sbp | slacker | ||
oh, SHAWA, not SCHWA... | |||
18:13
ruoso joined
18:14
Pismire2 joined
|
|||
pmurias | ruoso: hi | 18:17 | |
18:19
meppl left
|
|||
pmurias | ruoso: multis are the source of the slow CORE loading | 18:21 | |
18:23
M_o_C left
|
|||
ruoso | hi pmurias | 18:23 | |
pmurias, the multi initialzation? or some use of multis during the initialization? | 18:24 | ||
pmurias | multi initalization | 18:25 | |
18:25
Pismire2 left
18:26
hercynium left
18:27
Pismire left
|
|||
pmurias | ruoso: i've started writing a simple call graph printer/profile as find it hard to guess what's eating the speed | 18:27 | |
ruoso | pmurias, that's cool | ||
pmurias, Multi initialization is just a role declaration... | 18:28 | ||
what's so slow about it? | |||
pmurias | what i meant creating multis is slow | 18:29 | |
ruoso | ah... right | 18:30 | |
18:30
M_o_C joined
|
|||
pmurias | if you don't load CORE/int.pm you hardly notice the loading of the setting | 18:30 | |
ruoso | pmurias, how much of that is the initialization of the punned class? | ||
(which is currently not cached) | 18:31 | ||
18:31
athomason joined
|
|||
pmurias | dunno, haven't checked that yet | 18:31 | |
ruoso checking on software transactional memory, since locking has so much impact in performance | 18:33 | ||
18:38
sjohnson left
18:39
sjohnson joined
18:41
eMaX left
18:42
amoc left,
zamolxes joined
18:47
justatheory_ joined
|
|||
TimToady | std: =$fh | 18:47 | |
p6eval | std 27482: OUTPUT«##### PARSE FAILED #####Illegal pod directive at /tmp/1Uqmdsnwmt line 1:------> =$fh expecting pod_commentFAILED 00:02 35m» | ||
moritz_ | pmichaud: I thought a bit more about the release process. When a pumpking wants to regress on a few tests (let's say, due to parrot's GC problems), but doesn't want to make that permanent - should he create a branch for the release? | 18:52 | |
18:53
justatheory_ left
18:54
skipper_ joined
18:55
justatheory_ joined
19:01
justatheory left
|
|||
moritz_ | std: .say if /foo/ for <bar baz>; | 19:02 | |
p6eval | std 27482: OUTPUT«ok 00:02 36m» | ||
TimToady | heh | 19:03 | |
moritz_ | if somebody asks me if I'm /sure/, I verify ;-) | ||
afk | |||
19:04
skipper_ left,
skipper joined
19:07
masak joined
|
|||
masak | #perl6-soc meeting starting now, if anyone is thus inclined. | 19:08 | |
19:26
christine left
|
|||
pugs_svn | r27483 | kyle++ | [t/spec] Test ordering of multi calls in roles, classes, and their parents. | 19:32 | |
19:32
christine joined
19:34
mikehh_ is now known as mikehh
|
|||
ruoso | enabling STM would require adding "current transaction context" into the "current continuation" | 19:35 | |
which would probably mean that finding the "current transaction context" would involve looking into the "back" continuations until find any | 19:39 | ||
pugs_svn | r27484 | pmurias++ | [re-smop] added a compile time option and env variable that when set | 19:45 | |
r27484 | pmurias++ | will enable printing out info usefull for creating a call graph | |||
ruoso | we actually need a system that supports nested transactions | 19:50 | |
which excludes most of the C implementations | 19:51 | ||
pmurias | ruoso: i have to read up on STM as i'm only vaguly distantly familiar with it | ||
ruoso | pmurias, it's like having each memory segment you alloc being handled by a database | ||
you BEGIN and you COMMIT, and sometimes a transaction rollsback without you expecting it to | 19:52 | ||
(actually, you're supposed to expect it to rollback eventually) | |||
19:55
kate21de joined
|
|||
ruoso considering using BerkeleyDB in-memory databases... | 19:56 | ||
pmurias | isn't that slow? | 19:57 | |
PerlJam | pmurias: as compared with hitting a disk? | ||
pmurias: or do you just mean slower than non-stm memory accesses? | |||
pmurias | my experience with BerkleyDB is not very reasurring | 19:58 | |
ruoso | PerlJam, It would be interesting to have any comparison between bdb and other stm implementations | 19:59 | |
TimToady | phone | 20:00 | |
20:00
justatheory_ left
20:01
pmurias left
|
|||
ruoso looking if PostgreSQL MVCC can be embedded stand-alone as a library | 20:02 | ||
20:03
meppl joined
|
|||
Tene | I got some Perl 6 into a Hello World contest run by some guy recruiting employees for his NINJA company: saymix.com/ | 20:12 | |
moritz_ | a "hell of a world" contest? ;-) | 20:13 | |
Tene | it came from this job posting: sfbay.craigslist.org/sfc/eng/1246353621.html | ||
The actual job posting turns out to be: www.trustedopinion.com/pub/careersabout.do which disagrees in several ways | 20:14 | ||
kinda weird | |||
but it was a fun hello world | |||
20:14
icwiener_ joined
|
|||
Tene | rakudo: say [~] (98 <<+<< (([,] gather take ($_+2+int($_/3))%3 xx $_+1 for 0..3).map: { $*b++ * 3 + $^a })[2133474530.comb])>>.chr | 20:14 | |
p6eval | rakudo 70bfd5: OUTPUT«Use of uninitialized valuehelloworld» | ||
20:14
clintongormley left
20:15
icwiener left
|
|||
jnthn | Tene++ | 20:20 | |
Nice! | |||
WIN: We were uncertain to receive any Perl 6. | |||
And it was awesome. | |||
Land of happy. | |||
moritz_ | aye | ||
that's what gained Tene++ his previos ++ ;-) | 20:21 | ||
20:22
donaldh joined
|
|||
Tene | Yes, I got "[~] ( Top Tier ) [~]" !!! | 20:23 | |
TimToady | jnthn: on traits, I think we need to have a different name for the semantic multis from the trait_mod syntax creator | 20:24 | |
jnthn | std: "[~] ( Top Tier ) [~] | 20:25 | |
std: [~] ( Top Tier ) [~] | |||
p6eval | std 27484: OUTPUT«##### PARSE FAILED #####(Possible runaway string from line 1)Can't understand next input--giving up at /tmp/kdHu8mdJex line 2:------> ; expecting escapeFAILED 00:04 39m» | ||
std 27484: OUTPUT«##### PARSE FAILED #####Can't understand next input--giving up at /tmp/W4K8hEtw7z line 2:------> ; expecting any of: prefix or noun whitespaceUndeclared names: Tier used at 1 1  Top used at 1 1 FAILED 00:02 38m» | |||
jnthn | ...semicolon?! | ||
But I didn't send in a ; std! | 20:26 | ||
:-) | |||
TimToady: Different name in what sense? | |||
TimToady: As in, what would you name differently? | |||
TimToady | trait_mod:<is> would redispatch internally to TRAIT_IS or some such | 20:28 | |
20:28
cbk joined
|
|||
jnthn | The call? | 20:28 | |
TimToady | so you only need one trait_mod:<foo> to introduce the syntax, and however many TRAIT_FOO definitions you want to implement it | ||
jnthn | Hmm | 20:29 | |
TimToady | jnthn: std adds a ; for you on the end | ||
jnthn | Ah, generous. ;_) | ||
TimToady | it should probably catch that and report EOF instead | ||
jnthn | So a sub foo is export would call TRAIT_IS? | 20:32 | |
ruoso | one interesting side effect of actually using a database as the memory would be the ease of generating a dump of the current state of the runtime | ||
jnthn | TimToady: What should declaring a trait_mod:<is> multi actually do though? | 20:34 | |
That is, if it actually declares a TRAIT_IS really then we just gave the same problem a different name... | |||
TimToady | it doesn't declare a TRAIT_IS, it redispatches to TRAIT_IS | 20:35 | |
there's only one trait_mod:<is>, and it's in the CORE | 20:36 | ||
the user only does TRAIT_IS | 20:37 | ||
jnthn | Ah, I see | ||
And users write a TRAIT_IS? | |||
KyleHa | Is there documentation on how to write in Perl 6 what I'd do with 'tie' in Perl 5? | ||
jnthn | And they have to get it exported somwehre trait_mod:<is> will find it? | 20:38 | |
TimToady | that's what I was trying to say | ||
jnthn | OK. | ||
TimToady | correct | ||
jnthn | OK, that makes sense. | ||
TimToady | does that help? | ||
jnthn | If you can get that into S14, I'll hack on it when I return. | ||
Yes, it solves the problem. | |||
If creating a little quirkiness. | |||
Since people are used to declaring category:<symbol> stuff from e.g. operator overloading. | 20:39 | ||
ruoso | KyleHa, you just need to implement the API, no need to tie | ||
KyleHa | ruoso: OK, where's the API? Is there an example? | ||
ruoso | KyleHa, the API is being described in S32 | 20:40 | |
it's still incomplete | |||
but provides a lot of information already | |||
20:41
masak left,
HemanShaw left
|
|||
moritz_ | S32? setting library? | 20:42 | |
ruoso | moritz_, yes | ||
isn't there where Array, Scalar and the other built-in types are described? | |||
moritz_ | ruoso: yes, but that doesn't describe how to "tie" a scalar | 20:43 | |
or write a different scalar container type | |||
(which is more Perl 6 lingo, I think) | |||
ruoso | moritz_, of course it does | ||
it's just a matter of implementing that methods | |||
and you're done | |||
TimToady | my @array is MyArray; | 20:44 | |
ruoso | or... my @array := MyArray.new | ||
20:44
Su-Shee left
|
|||
moritz_ | that's not scalars | 20:47 | |
ruoso | er... | 20:48 | |
moritz_ | for assignment, do I have to add an infix:<=> multi? or .STORE? or what? | ||
ruoso | well... that's the part of the API which I think is mostly incomplete... | ||
but in SMOP, the Scalar API is .FETCH and .STORE | |||
and that's all | |||
since your scalar ~~ SCalar | 20:49 | ||
it will be accepted in any multi that expects an scalar | |||
although assignment is kinda special | |||
20:50
justatheory joined
|
|||
pmichaud | back | 20:51 | |
18:52 <moritz_> pmichaud: I thought a bit more about the release process. When a pumpking wants to regress on a few tests (let's say, due to parrot's GC problems), but doesn't want to make that permanent - should he create a branch for the release? | 20:52 | ||
ruoso | btw... just posted a message about the role composition issue... | ||
ruoso decommute & | |||
pmichaud | moritz_: I think just fudge them out in master, make the release, then fudge them back in | ||
(where "fudge" means "comment them out in spectest.data") | 20:53 | ||
Hopefully we won't ever have to do that in reality. Hopefully after Parrot gets its -G stuff cleaned up we'll never have to do it again :-) | |||
PerlJam | pmichaud: Murphy's Law. | 20:54 | |
20:54
ruoso left
|
|||
moritz_ | pmichaud: I admire your faith. | 20:54 | |
pmichaud | PerlJam: sure, thus "hopefully" | ||
cbk | ruoso, can one make an array without any predetermined limit | ||
pmichaud | as chip once said: "I find your lack of lack of faith disturbing." | ||
PerlJam | heh | ||
pmichaud | anyway, I think commit+release+revert is probably easier to manage and explain than creating a separate branch. Although someday we may start making separate branches for every release. | 20:56 | |
moritz_ | pmichaud: that was my initial thought, but then again it's easy to forget to revert such things | ||
pmichaud | moritz_: this is true also. But I suspect someone will notice. | 20:58 | |
at some point we probably need to check and see if any of the things we've already regressed on in spectest.data are candidates for being put back in :-) | |||
jnthn | Well, making augment work again would win various of them back. :-) | 21:00 | |
pmichaud | oh yeah | ||
jnthn | But that's blocking on context vars. Or at least, doing it neatly is. | ||
pmichaud adds "context vars" to his "do by yapc::eu" list. | |||
jnthn | If the latest scope decl is set in a context var, it becomes a fairly trivial change. | ||
pmichaud | well, it's not just context vars -- we also need the ability to set context vars in regexes | ||
which means the regex parser has to be able to parse them | 21:01 | ||
jnthn | ah yes | ||
that is a little trickier. | |||
I guess it's the parsing side of that, which is the harder part? | |||
pmichaud | if we left it with very simple expressions and initializations, not too bad. | ||
21:01
Whiteknight joined
|
|||
pmichaud | i.e., PGE could stub in something very simple. | 21:01 | |
but in some senses it argues for going ahead and getting PGE's regex parser to be more STD-like in the first place | 21:02 | ||
jnthn | nod | ||
I guess that's going to have to happen soon anyway. | |||
21:03
meppl left
|
|||
cognominal_ | I note that in scala one can alias "this", that is the Perl 6 "self". I find that a pretty nice feature. | 21:11 | |
That makes clear one refer to some member of the a trait. | 21:12 | ||
I forgot to say that aliasing is happening in the trait. | |||
that would be a rôle in Perl 6 | |||
21:13
molaf left,
jrtayloriv left
21:17
eMaX joined
21:29
masak joined
|
|||
masak | arohner.blogspot.com/2009/07/can-yo...-this.html | 21:29 | |
someone care to write some awesome Perl 6 code as a comment to that post? :) | |||
moritz_ | -[+] @p.map: * * log(*, $b) # does that count as awesome? ;-) | 21:31 | |
masak | I think so. | ||
does the log(*, $b) really work? | |||
jnthn | A lot of *s. ;-) | ||
I'm not so sure it would... | 21:32 | ||
moritz_ | rakudo: my @P = 0.2, 0.5, 0.3; say -[+] @P.map: { $^p * log($^p, 2) } | ||
masak | me neither. | ||
p6eval | rakudo 70bfd5: OUTPUT«too many arguments passed (2) - 1 params expectedin method Any::map (/tmp/eKtrFSmhvL:2)called from Main (/tmp/eKtrFSmhvL:2)» | ||
moritz_ | rakudo: my @P = 0.2, 0.5, 0.3; say -[+] @P.map: { $^p * log($^p)/log(2) } | ||
p6eval | rakudo 70bfd5: OUTPUT«1.48547529722733» | ||
jnthn | Longer but imo more readable. | 21:33 | |
moritz_ | our Num multi method log ( Num $x: Num :$base = Num::e ) is export | ||
it *should* work. | |||
masak | bug? :) | ||
moritz_ | masak, a job for you! | ||
masak | rakudo: say log(1, 10) | 21:34 | |
p6eval | rakudo 70bfd5: OUTPUT«too many arguments passed (2) - 1 params expectedin Main (/tmp/psZJMbZLuC:2)» | ||
masak submits ze rakudobug | |||
jnthn | ooh la la...ze rakudobug | ||
masak | incroyable! | 21:35 | |
moritz_ | log() is not even in the setting yet. | ||
masak | by the way, is this BUG or TODO? | ||
moritz_ | a TODO | ||
masak | oh, good. for jnthn, I mean. :) | ||
skids | Just make sure you use log($cabin) in the report. | ||
moritz_ | a subset of the specced functionality is already implemented | 21:36 | |
masak | skids: gotcha. | ||
jnthn | log($that_bug) | ||
masak | .oO( nothing wrong with the -Ofun setting... ) |
||
actually, I see another bug there... :) | 21:37 | ||
moritz_ | oh, but it should be :base(2) | ||
masak | rakudo: say log(1, 10) | ||
moritz_ | it's a named only | ||
p6eval | rakudo 70bfd5: OUTPUT«too many arguments passed (2) - 1 params expectedin Main (/tmp/Yup16MtgP9:2)» | ||
masak | I don't know about you, but '1 params' does not make an awesome message... | ||
TimToady | if it were named optional, then 1.log(10) would work | ||
masak submits a rakudobug about that | |||
TimToady | positional optional, I mean | 21:38 | |
and you can still name it if you liek | |||
*like | |||
quick, fix the spec to be the prettiest thing before using it in the followup :) | 21:39 | ||
21:39
hercynium joined
|
|||
masak | that'd be a first. | 21:39 | |
fixing the spec so that a blog comment will be prettier. | 21:40 | ||
moritz_ | lol | ||
TimToady | we could add log2 and log10 | ||
masak | the spec changes are approaching Jedi-mind-trick levels. :) | ||
moritz_ | log10 is already in | ||
jnthn | Well, we already had int1, int2, int3, int4... ;-) | 21:41 | |
TimToady | but not int10 | ||
masak | "what do you mean it's not in the spec, it's right there!" *wave* | ||
TimToady | what's up with that | ||
aw, heck, just add entropy() | |||
PerlJam | "these are not the specs you are looking for" | ||
pugs_svn | r27485 | moritz++ | [S32/Num] log's base is positional | ||
masak | PerlJam: :) | ||
no seriously. having spec writers and implementors stand by to make a blog comment be as awesome as possible has never happened before in the history of program language design. | 21:42 | ||
TimToady | blog-driven design works for me | 21:43 | |
jnthn | Language-pimpability driven design | ||
Urk, why does my train leave tomorrow at the ridiculous time of 07:50... | 21:44 | ||
TimToady | you live in the wrong timezone | ||
moritz_ | TimToady: is it OK to implement two log multis instead of one with an optional parameter? | ||
masak | I haven't experienced that time of day in many days now... | ||
TimToady | sure | ||
masak | I miss it. | ||
PerlJam | so ... is the ultimate perl 6 retort to that post going to "my language is so awesome, it already knows what entropy is"? | ||
jnthn | masak: same, but I'm not sure I miss it ;-) | ||
masak | jnthn: it's paradoxical. my natural state of being is definitely not morning-person, but I like the mornings because I feel the most focused then. | 21:45 | |
TimToady | what is the relationship of a 100-year language to entropy, anyway :) | ||
masak | TimToady: a 100-year language withers away continually, but it doesn't matter, because people are having so much fun rebuilding it all the time. :) | ||
PerlJam | TimToady: It'll be funny when our great-great-great-grand kids are looking back and laughing at us for talking about Perl as if were _only_ a 100-year language :) | 21:46 | |
masak: That sounds like the start of some Hawking radiation equivalent for a programming language. | 21:47 | ||
jnthn | masak: I don't find I'm that focused then, but I do find it kinda nice getting to midday and having actually got stuff done. | ||
masak | jnthn: yes, that too. it's also quite fun to watch colleagues tumble in bleary-eyed at 8 o'clock or so. but that's when I nail the 5 o'clock wakeup, haven't done that in a while. | 21:48 | |
PerlJam | What's that temple in Japan (?) that they tear down and build anew every 20 or so years? | ||
KyleHa | Perljam: www.youtube.com/watch?v=Xe1TZaElTAs | 21:49 | |
jnthn decides that the heavy metal band that sing like pirates is NOT the music he wants for the train tomorrow... | |||
Six hour train journey :-) | 21:50 | ||
I might finally find time to learn Hiragana. | |||
moritz_ | what, you're not rakudo hacking? ;-) | ||
TimToady | らくど hacking | 21:51 | |
jnthn | moritz_: I find trains mostly uncomfortable places to hack :-| | ||
TimToady: Thing is, even when I can read all of the syllables in that, I'll still be none the wiser what it means. ;-) | 21:52 | ||
moritz_ | jnthn: I find trains to be perfect places to discover rakudobugs ;-) | ||
TimToady | you will if you pronounce it, and discover it sounds just like "rakudo" | 21:53 | |
jnthn | heh | 21:54 | |
And to think I knew く was ku and din't even guess the rest. | |||
moritz_ | rakudo: my @P = 0.2, 0.5, 0.3; say -[+] @P.map -> $p { $p * log $p, 2 } | ||
p6eval | rakudo 70bfd5: OUTPUT«Statement not terminated properly at line 2, near "-> $p { $p"in Main (src/gen_setting.pm:3340)» | 21:55 | |
masak only recognizes の | |||
moritz_ | rakudo: my @P = 0.2, 0.5, 0.3; say -[+] @P.map: -> $p { $p * log $p, 2 } | ||
p6eval | rakudo 70bfd5: OUTPUT«too many arguments passed (2) - 1 params expectedin method Any::map (/tmp/npqYY3sFL0:2)called from Main (/tmp/npqYY3sFL0:2)» | ||
moritz_ | bah, I have to actually push my changes :) | ||
masak | :P | ||
moritz_ | but first I have to wait for my spectests to finish. sigh. | 21:56 | |
TimToady | might be prettier as a for loop, though NYI | ||
21:57
mkfort joined
|
|||
jnthn | oh noes, I coined "less than awesome" | 21:59 | |
TimToady | rakudo: say -[+]($_ for 1..10) | ||
p6eval | rakudo 70bfd5: OUTPUT«get_number() not implemented in class 'Iterator'in Main (/tmp/NnCBuHMPfJ:2)» | ||
jnthn | Why'd you write $_ for 1..10 rather than just 1..10? | 22:00 | |
Other than to fail Rakudo? ;-) | |||
TimToady | to see if the for loop would return a list | ||
as it's specced to do | |||
jnthn | ah | ||
no, our for loops are a bit too traditional for that just yet. ;-) | |||
moritz_: I guess log is going in Any? | 22:02 | ||
jnthn just spotted the pleamichaud post :-) | |||
masak | which post is that? | 22:03 | |
pmichaud | jnthn: for better "too many arguments" errors -- think we need to trap those exceptions and rework the message, or ...? | ||
masak | pmichaud: is it a Parrot message? doesn't Parrot want awesome messages also? | 22:04 | |
pmichaud | masak: I can't say for sure. :-) | ||
but yes, it's a Parrot message at the moment. | |||
moritz_ | jnthn: aye | 22:05 | |
22:05
M_o_C left
|
|||
jnthn | pmichaud: It's a parrot message. | 22:05 | |
pmichaud | jnthn: yes, I know that | ||
moritz_ | jnthn: it turns out I also need to move the Complex log | 22:06 | |
jnthn | pmichaud: I'm going to punt on that until we know what we're doing with regards to Parrot. | ||
pmichaud | I'm saying that if/when we want to replace parrot messages with our own, do we do it by trapping exceptions or ...? | ||
yes, we can punt on it for a short while | |||
jnthn | Yeah, we'd have to trap exceptions. | ||
pmichaud | it depends on the parrot calling conventions to some extent | ||
jnthn | But if we end up writing our own binder and having Parrot just give us a capture, for example... | ||
Then we get to throw our own exceptions. | |||
22:06
skids left
|
|||
pmichaud | exactly :-) | 22:06 | |
jnthn | Actually my feeling is increasingly that "make Parrot give us a capture" is going to be a reasonably way to go. | 22:07 | |
*reasonable | |||
22:07
KyleHa left
|
|||
pmichaud | I think that's likely the case also. I'm only curious about how hard it will be to do that. | 22:08 | |
jnthn | Given we almost already do do it. | ||
pmichaud | ooc, when does the exception get thrown. At the point of the get_params opcode? | 22:09 | |
jnthn | Yeah | ||
pmichaud | so we mainly need our own equivalent opcode to "get_params"? | ||
jnthn | get_params and set_returns are what actually do the work. | 22:10 | |
moritz_ | rakudo: say log(-exp(1) + 0i) | ||
jnthn | Well, perhaps, yes. It depends on Parrot. | ||
pmichaud | and we don't generate any ":param" nodes in the past? | ||
p6eval | rakudo 70bfd5: OUTPUT«1+3.14159i» | ||
jnthn | If Parrot will build us something capture-like then we can just hand that straight off to a dynop for processing. | ||
pmichaud | I'm thinking that we don't even need Parrot to build it for us | ||
jnthn | The only issue we really have is, I think arg passing from C can be a bit odd. | ||
pmichaud | in our own version of get_params we just unpack the args directly into whatever we want | 22:11 | |
jnthn | For example, I'm not convinced that a Perl6MultiSub invoked in certain ways will work. | ||
(As in, invoked in a way other than setting up the args.) | |||
But Allison seems keen on packaging the arguments up in a PMC in her refactor, from what I can tell. | |||
Which would unify that. | |||
pmichaud | I'm not saying we change the way that parrot packages up the args | 22:12 | |
we leave that alone | |||
we just change the way they're unpacked | |||
moritz_ | a GCable object for each sub/method call? | ||
pmichaud | moritz_: we already have a GCable for each method call, to handle the slurpy named args | ||
jnthn | Yes, but the problem is that at the moment they're not packed, and there's different code paths in Parrot for handling that, afaiu. | ||
pmichaud | ...get_params has different code paths? | 22:13 | |
jnthn | So depending how the arguments are being passed can change how you get hold of them. | ||
As far as I can follow, yes. | |||
pmichaud | ick. | ||
jnthn | I may have mis-understood. | ||
pmichaud | I think you're probably right. | ||
jnthn | which given inter_call.c would hardly be surprising. | ||
I never figured out how the heck the data structures in there really work. | 22:14 | ||
pmichaud | so perhaps the answer is to unpack the ones we recognize, and pass the others to Parrot's get_params :-P (no, just kidding!) | ||
jnthn | :-P | ||
pmichaud | well, by far the bulk of calls to Perl6MultiSub will be coming from PIR, not C | ||
jnthn | What I can tell you is that, the code in there is rather...complex... | ||
pmichaud | so perhaps we start with that, and see what else fails | ||
jnthn | And having implemented something to package up the args (see Perl6MultiSub) into a list and a hash, and observed that it's drastically shorter than what Parrot has... | 22:15 | |
I suspect we're shuffling data around all over the place. | |||
pmichaud | I suspect that's correct. | ||
jnthn | Anyway, YAPC::EU is close. | 22:16 | |
Allison will be there. | |||
I'll corner her in the nicest possible way and try to get an idea of what she's aiming for and what the timescale is. | |||
"plz I can has planz?" | 22:17 | ||
And maybe "plz we can influence planz?" :-) | |||
pmichaud | we could do a "good cop/bad cop" routine | ||
jnthn | :D | ||
pmichaud | you can be the "good cop" | ||
I'll rant loudly and throw cups and bang shoes on the table | |||
PerlJam | pmichaud channels orwant? | ||
pmichaud | I might even channel a little mst. No, on second thought -- that's going too far :-P | ||
moritz_ | every programming language community should have an mst - but not more than one ;-) | 22:18 | |
masak | there cannot be more than one! | ||
jnthn | ;-) | ||
PerlJam | moritz_: How many tchrist's should a programming language community have? | ||
moritz_ | PerlJam: 0.1 ;-) | 22:19 | |
pmichaud | there's more than one way to mst it. :-) | ||
masak | GET BLOGGING, YOU SORRY LOT! | ||
pmichaud | I did! I even signed up for ironman! (finally, but haven't been added yet) | ||
I expect to fail spectacularly in the ironman. :-) | 22:20 | ||
moritz_ | it sometimes take some time | ||
pugs_svn | r27486 | moritz++ | [t/spec] tests for two-arg log() function | ||
moritz_ | ah well, the contest is just an excuse, no? | ||
masak | I was one of the first to sign up, and I think I've been blogging every week since then. | ||
22:20
amoc joined
|
|||
pmichaud | whenever I go nine days without a blog post, I think I'll write a post that simply says "IRONMAN FAIL. AGAIN" | 22:20 | |
22:20
iblechbot left
|
|||
PerlJam | I started to write 2 perl6 related blog posts and got distracted enough that I never finished them. Such is the case often for me. | 22:20 | |
masak | pmichaud: it has to contain the word 'perl', too. | ||
moritz_ hacked up his blog software to allow publishing by date | 22:21 | ||
pmichaud | masak: no, "ironman" is sufficient, I think. | ||
moritz_ | just for the 3 weeks Norway vacation + ironman | ||
masak | pmichaud: oh, ok. | ||
by the way, what did + and ++ at one time mean in function signatures? perlmonks.org/?node_id=462987 | 22:22 | ||
useless knowledge now, but I'm curious. :) | |||
pmichaud | tbh, I don't recall what they meant. | 22:23 | |
sjohnson | anyone else here enjoy the bliss of porting a .sh script into Perl? | ||
masak | glad to hear not only I have a well-functioning gc, then. :) | ||
sjohnson: there's bliss involved, yes. | 22:24 | ||
jnthn | If only Parrot's one only collected the useless, unrequired stuff. | ||
pmichaud | right now Parrot suffers from an over-aggressive gc | 22:25 | |
jnthn | Yes, and ironically still also leaks memory! | ||
pmichaud | "You only have one C pointer referencing this PMC.... you probably don't need it." | ||
22:26
desertm4x left
|
|||
jnthn | Probabalistic GC. | 22:26 | |
masak | Fatalistic GC. | ||
moritz_ | russian GC ;-) | ||
22:26
desertm4x joined
|
|||
masak | we should make that into a musical number. | 22:26 | |
pmichaud | I call 9839. | 22:27 | |
(a musical number) | |||
rakudo: say "\c9839" | 22:28 | ||
p6eval | rakudo 70bfd5: OUTPUT«♯» | ||
masak | XD | ||
pmichaud | (yes, I thought it was pretty sharp :-) | 22:29 | |
jnthn | <groan> | ||
Never a flat moment on #perl6. | |||
masak | not that tone, please. | ||
jnthn | Sorry. I'll change my tune. | 22:30 | |
pmichaud | rakudo: say "\c119070" | ||
p6eval | rakudo 70bfd5: OUTPUT«𝄞» | ||
pmichaud | okay, it wasn't likely. | ||
PerlJam | don't end on a sour note | ||
jnthn | PerlJam: Yes, that's the key thing. | 22:31 | |
masak | one could even say it's instrumental to success... | 22:37 | |
PerlJam | and here I was thinking no one wanted to continue the canon. | ||
(although I guess this is more of a fugue) | 22:38 | ||
masak | hope no-one runs autounfugue.pl, then... | 22:39 | |
masak will pipe down now | |||
PerlJam | yeah, you don't want to get winded. | ||
masak | I'll shut up and write some coda. | 22:40 | |
(though apparently shutting up is not my forte) | 22:42 | ||
dang, playing on words is too much pun! | 22:43 | ||
-Opun | 22:44 | ||
jnthn neglects to keep a score of who has punned most | 22:45 | ||
masak | that person would surely some kind of maestro of musical puns... | 22:46 | |
PerlJam | a magical mystical musical maestro | 22:47 | |
(sorry the ems cried out for alliteration) | |||
pmichaud is disappointed at the treble he's caused. | |||
PerlJam leaves for TKD | 22:48 | ||
masak | pmichaud: yes, we really haven't been conducting ourselves... | 22:49 | |
at least we all refrained from dragging chromatic into it. | 22:51 | ||
pmichaud | that would've been too much e-scale-ation | 22:53 | |
22:53
nihiliad left
|
|||
masak | yes, a major intermezzo. | 22:53 | |
23:03
jrtayloriv joined
23:05
ihrd joined
|
|||
masak | ihrd: o/ | 23:05 | |
jnthn | ihrd: \o | 23:06 | |
ihrd | masak: Ж-:) | ||
masak | ihrd: kak dela? | 23:07 | |
ihrd | jnthn: 8() | ||
jnthn | ihrd: Как дела? | ||
ihrd | ))) | ||
jnthn | aww, masak beat me, but I got the Cyrillic win! | ||
ihrd | нормально | 23:08 | |
masak | I was thinking, "aww, jnthn got the Cyrillic win..." | ||
23:08
hercynium left
|
|||
masak | is нормально a good thing or a bad thing? :) | 23:08 | |
23:08
hercynium joined
|
|||
ihrd | it is absolutly netral | 23:09 | |
we use it when we can`t say how things going in one short word | |||
masak | I guess it means "oh, the usual" or something like that. | ||
ihrd | hm, yes and no | 23:10 | |
masak | my question was more whether "the usual" is good or bad. :) | ||
23:10
ihrd left
|
|||
masak | apparently, connection's not to good, in any case. :/ | 23:10 | |
jnthn | masak: Heh, we have in Slovak "ujde to" which is this kinda "meh, so so" kinda not good could be worse -ish thingy. | 23:11 | |
But not bad either. | |||
:-) | |||
I suspect it's a similar sentiment. | |||
masak | I've heard 'bolshe-menje' in Russian as well. it seems to mean 'so-so'. | 23:12 | |
uh, s/j/y/ in English transcription. | |||
jnthn | heh, I tend to read "j" as English "y" most of the time now if I see it in a non-English word. | 23:13 | |
masak | you'd have to unlearn that for Japanese, then. :) | ||
s1n | jnthn: before you head out on vacation, i want to ask you about trait_mod | 23:15 | |
jnthn | masak: Yes, tell me about it! :-( | ||
That's why I'm so desparate to learn the Hiragana and Katakana and do everything from those... | 23:16 | ||
s1n: ano, mozes | |||
masak | jnthn: ohnoeshowlongwillyoubeonvacation? | ||
jnthn | oh crap | ||
s1n: Yes, you can | |||
jnthn doesn't cope well with simultaneous conversations in multiple languages :-) | |||
masak: Oh, calm down. This one is shorter than the last one! | |||
s1n | jnthn: i have been trying to convert my code that did trait_auxillary, but i get a dispatch error when i start using trait_mod | 23:17 | |
masak | jnthn: are you chatting in slovak in some other channel when you make those slips? I kinda hope you are... :) | ||
jnthn | masak: Yeah. | ||
masak: It's great practice. | |||
masak | good. then we don't need to seek some grimmer explanation. | ||
jnthn: aye, definitely. I should do that with Mandarin. | |||
jnthn | I'm tyring to get more "in the flesh" language partners too. | 23:18 | |
masak likes that 'you can' in Slovak is 'mozes' | |||
masak imagines Barack Obama shouting "Ano, Mozes!" | |||
jnthn | ... | ||
s1n: I saw your comment about that. | 23:19 | ||
masak | jnthn: how does one say "we can"? 'mozeme'? | ||
s1n | jnthn: any take on what i was doing wrong? | ||
jnthn | s1n: It resulted in a discussion with TimToady++ who today proposed a solution. | ||
s1n | jnthn: ahh okay, i didn't see that in the scrollback | ||
23:20
donaldh left
|
|||
jnthn | You're not really doing anything wrong per se, it's just that the way S14 has it results in oddities like the one you found. | 23:20 | |
If you want it to work at the moment | |||
Then declare your multi trait_mod:<is> outside of the role. | |||
23:20
donaldh joined
|
|||
s1n | jnthn: the sample i posted is, but it's in a module, exported | 23:21 | |
lemme see if i can cull a p6eval | |||
rakudo: role xxx {}; module Foo { multi trait_mod:<is>(Code $block, xxx $trait, $arg) is export { ... }; } | 23:22 | ||
p6eval | rakudo 70bfd5: OUTPUT«No applicable candidates found to dispatch to for 'trait_mod:is'in Main (/tmp/OeGMGUAvK2:2)» | ||
23:22
desertm4x left
|
|||
s1n | the one i posted above was one i was testing from the spec | 23:22 | |
err s/above/yesterday/ | 23:23 | ||
jnthn | Ah, OK, my workaround was too specific. :-) | ||
rakudo: role xxx {}; multi trait_mod:<is>(Code $block, xxx $trait, $arg) is export { ... }; | |||
p6eval | rakudo 70bfd5: ( no output ) | ||
jnthn | This works | ||
s1n | outside a module? | ||
jnthn | The problem is that in a package, your triat_mod:<is> ends up getting installed in the namespace and found. | ||
And all multi-variants outside of that package are thus ignored. | 23:24 | ||
Including the export one. | |||
That's basically what's at the root of this. | |||
s1n | hmm, which namespace is the trait_mod being installed in? Foo? | 23:25 | |
jnthn | Foo | ||
And then the dispatch from within Foo finds that. | |||
s1n | hmm, that's going to be a hard work around to make work :/ | ||
it | 23:26 | ||
oops | |||
jnthn | Yes, I know. :-( | ||
23:26
payload joined
|
|||
s1n | it's modifying the module data, so .... shrugs | 23:26 | |
is there a ticket for this? is it currently being worked? | 23:27 | ||
(in case it's a low priority or will be worked later) | 23:28 | ||
jnthn | TimToady proposed a change in the way we handle traits that would fix it. | ||
It hasn't hit S14 yet. | |||
And I only learned of it earlier on today, but I'm about to go on vacation. | |||
I'm perfectly happy if somebody goes ahead and implements said solution while I@m away. | |||
s1n | okay, i'll make a ticket so you don't forget about it :) | ||
23:29
eMaX left
|
|||
s1n would like to help but has to read the scrollback to see if i could | 23:29 | ||
23:29
jrtayloriv left
|
|||
jnthn | In fact, it's probably quite easy. If you're lucky, not even any PIR knowledge needed. | 23:29 | |
23:29
ihrd joined
|
|||
s1n | jnthn: any ideas as to where to look? | 23:31 | |
23:31
Whiteknight left
|
|||
jnthn | Did you read what needed doing? | 23:31 | |
Or do you mean, where to look to find that discussion? | 23:32 | ||
s1n | yeah but it's all above my head conceptually (multi dispatch and all) | ||
jnthn | If you're wanting to write your own traits, I suspect it's not so much over your head. :-) | ||
Basically you need to: | 23:33 | ||
s1n | jnthn: you can thank Tene for that :) | ||
jnthn | 1) Modify the things in traits.pm in the setting to be called TRAIT_IS rather than trait_mod:<is> | ||
s1n | i never _really_ understood them, just kinda molded them together in my head until it kinda made sense | ||
s1n listens intently | 23:34 | ||
jnthn | 2) Write a trait_mod:<is> that just passes on the argumetns it gets to TRAIT_IS | ||
e.g. | |||
multi trait_mod:<is>(*@pos_args, *%named_args) { TRAIT_IS(|@pos_args, |%named_args); } | |||
Then you will write not a trait_mod:<is> in your module, but a multi TRAIT_IS that you'll export. | 23:35 | ||
The important thing is that you don't change anything (e.g. in actions.pm) that emits calls to trait_mod:<is>. | |||
s1n | so in the user code, it's TRAIT_IS instead of trait_mod:<is>? | ||
jnthn | Correct. | ||
This avoids the problem. | 23:36 | ||
Because we don't call TRAIT_IS | |||
We call trait_mod:<is> | |||
23:36
masak left
|
|||
s1n | is this for only modules that have trait_mod? | 23:36 | |
jnthn | And thus you just have to export your TRAIT_IS to somewhere the trait_mod:<is> can find it. | ||
Yes, but in the setting that is only traits.pm | |||
There are no other places you'll need to change. | |||
In fact, you can probably just patch that file. | 23:37 | ||
s1n | do all the other traits in modules have to call TRAIT_*? | ||
TimToady | and your multi trait_mod:<is> wants a lift, I suspect, to get the user's view of TRAIT_IS | ||
jnthn | TimToady: erm. huh? | ||
TimToady: Doesn't that completely unsolve the problem we solved by splitting them up? | |||
(The problem being that the view of trait_mod:<is> was an undesirable one)? | 23:38 | ||
s1n: Yes. | |||
s1n | so there's TRAIT_* and trait_mod<*>? that doesn't seem very clean | 23:39 | |
jnthn | s1n: All of this said, this has not hit the spec yet. And that can suggest a sort of non-commitalness to the solution. | ||
(I don't know in this case. It could just be that TimToady++ didn't get around to patching the spec yet, or that this could change.) | |||
Not clean - yes, I think I was a little "hmm" about it in that sense too. :-) | 23:40 | ||
TimToady | maybe the name indirection actually needs to happen at export/import time | 23:41 | |
s1n | i don't think we should have this confusion to make the implementation easier :) | ||
jnthn | Hmm. | ||
s1n | (just to poke at jnth and pmichaud a bit more :)) | ||
jnthn | :-P | 23:42 | |
TimToady: It could be. | |||
TimToady: I don't have any thoughts on a "magic answer". | |||
s1n | jnthn: i don't have any thoughts on any answer :) | ||
jnthn | TimToady: I'm not so keen that we break the symmetry and tell users to define something other than trait_mod:<is> though. | ||
23:42
ihrd left
|
|||
TimToady | I call it TRAIT_IS here when I define it but it shows up there as trait_mod:<is> | 23:42 | |
jnthn | Can we flip it the other way around? | 23:43 | |
So users are defining a trait_mod:<is>? | |||
TimToady | wait, multis don't hide other things with different longnames anyway | ||
jnthn | And we're calling a TRAIT_IS? | ||
Well, they don't in lexical scopes, I know that much. | |||
But in nested packages too? | |||
TimToady | multi dispatch never looks in packages | 23:44 | |
jnthn | erm | ||
? | |||
multi foo() { }; foo() | |||
Is that not looking in the package? | |||
TimToady | it's the lexical alias of foo that it sees | ||
jnthn | :-S | ||
TimToady | that's our multi, a my multi would work the same | ||
jnthn | So basically we install the multi also in the lexpad? | 23:45 | |
TimToady | we *must not* pay attention to packages, or we don't have immutable candidate lists at compile time | ||
jnthn | Hmm | ||
That's a good point. | |||
TimToady | that's what 'our' does | ||
and imports go only to the lexical scope by default | 23:46 | ||
jnthn | OK, but in that case | ||
multi foo($a) { }; module Bar { multi foo() { }; } | 23:47 | ||
Inside Bar, how many multi candidates? 2? | |||
TimToady | 2 | ||
jnthn | And how do we know that? | ||
By looking at the enclosing lexical scope>? | |||
TimToady | because they have different longnames | ||
yes, lexical scope | |||
jnthn | OK, so | 23:48 | |
s1n | jnthn: how many would rakudo find now? 1? | ||
jnthn | multi foo($a) { }; module Bar { multi foo($a) { }; } | ||
In that case, how many candidates? 1? | |||
The inner one? | |||
TimToady | we never, never, ever, ever look in the package unless specifically requested to do so, whereupon we warn the programmer that his program will probably run 1000x slower | ||
jnthn | s1n: Correct. | ||
TimToady: The irony being that in Rakudo at the moment it's likely to be faster :-P | 23:49 | ||
And the more interesting case | |||
multi foo($b) { }; module Bar { multi foo($a) { }; } # how many? | |||
TimToady | only because rakudo is 1000x too slow at everything :P | ||
jnthn | below the belt! :-P | ||
But true. | |||
:'( | |||
s1n | this definitely sounds like i'll make a ticket | 23:50 | |
no spec change needed then? | |||
jnthn | If only we'd know what Perl 6 would look like 3 Parrot architects ago. | ||
23:50
cdarroch left
|
|||
TimToady | oddly, still 2, I think, since a positional is a kind of mandatory nameable parameter | 23:51 | |
jnthn | OK | ||
TimToady | and foo(:b(42)) should find the outer one | ||
jnthn | aye | ||
and more fun | |||
23:51
nacho_ joined
|
|||
jnthn | ::T := Int; ::S := Int; multi foo(T $a) { }; module Bar { multi foo(S $a) { }; } # how many? | 23:52 | |
TimToady | but that does mean that we're probably fine on the trait_mod:<is> declaration without introducing TRAIT_IS | ||
jnthn | Yes. | ||
It just means I've gotta tweak multi-dispatch again. | |||
TimToady | asssuming they're declared with mandatory pairs, I think | 23:53 | |
jnthn | But hey, I'm experienced at that. | ||
Yes | |||
The traits are done as mandatory pairs. | |||
See the signatures in src/setting/traits.pm | |||
Yes, they're Perl 6! ;-) | |||
And yes, the ones for containers are funky right now. | 23:54 | ||
TimToady | I don't see such a file | ||
are you in a branch? or do I need to something other than git fetch? | 23:55 | ||
jnthn | In Rakudo? | ||
no, it's head | |||
or master | |||
or whatever the oh-yes-we're-git-we-have-our-own-words word is. ;-) | |||
github.com/rakudo/rakudo/blob/70bfd.../traits.pm | 23:56 | ||
(and yes, I know there's a lot of hate in there. the previous traits impl didn't go on multi dispatch at all...) | 23:57 | ||
s1n | jnthn: i filed a ticket, with an IRC log link so that you can remember all of this when you return :) | ||
jnthn, TimToady: thanks for going over that with me | 23:58 | ||
TimToady | I didn't see any mandatory nameds in there, offhand | 23:59 |