»ö« | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by moritz_ on 25 June 2010.
dalek kudo: ea8f2bb | chromatic++ | src/binder/bind.c:
[src] Hoisted more STRINGs to constants in binder.
00:04
kudo: aa66397 | chromatic++ | src/binder/bind.c:
[src] Hoisted more binder STRINGs to constants.
kudo: 4e3a1a1 | chromatic++ | src/pmc/objectref_pmc.template:
[PMC] Promoted a frequent STRING to a CONST_STRING.

optimization.
00:11 [Coke] joined
colomon TimToady: re slurp.words versus lines.words, in Rakudo slurp is not lazy, and lines is. That makes slurp vs lines very important... 00:12
afk # bathing
[Coke] is there a way in NQP to get a ref to a named sub, or do you have to use pir to do that? 00:17
sorear just use the name of the sub 00:23
nqp: sub foo() {}; say(foo)
p6eval nqp: OUTPUT«foo␤»
sorear nqp: sub foo() {}; say(pir::typeof(foo))
p6eval nqp: OUTPUT«The opcode 'typeof_p' (typeof<1>) was not found. Check the type and number of the arguments␤current instr.: 'parrot;PCT;HLLCompiler;evalpmc' pc 1047 (compilers/pct/src/PCT/HLLCompiler.pir:554)␤»
sorear nqp: sub foo() {}; say(pir::typeof__sp(foo))
p6eval nqp: OUTPUT«Sub␤»
[Coke] ah, had tried &foo
00:25 Guest2485 left
[Coke] ... and my failure was due to a missing ; before that anyway. arg. 00:25
lue afk 00:27
ash_ ping moritz_? 00:33
00:41 masonkramer joined
TimToady colomon: but .words is not defined on a list currently 00:45
so you'd have to use lines».words 00:46
or we define $*IN.words, or make words also default to argfiles 00:47
00:47 Visitor99 joined
TimToady but a "double split" by both lines and words really bugs me for some reason 00:48
00:50 plobsing joined 01:12 Guest1208 left 01:16 jferrero left, Guest1208 joined 01:36 colomon joined 01:52 [Coke] left 01:55 xinming_ is now known as xinming 02:09 spinclad joined 02:24 nimiezko left 02:30 TiMBuS joined 02:46 Solarion joined
ash_ std: 0b0001010; 02:51
p6eval std 31449: OUTPUT«ok 00:01 109m␤»
ash_ std: 0x123
p6eval std 31449: OUTPUT«ok 00:01 107m␤»
02:51 fridim joined
ash_ std: 0xdeadbeef; 02:51
p6eval std 31449: OUTPUT«ok 00:01 106m␤»
ash_ std: 0xg 02:52
p6eval std 31449: OUTPUT«===SORRY!===␤Whitespace is required between alphanumeric tokens at /tmp/8hYbX5DbXP line 1:␤------> 0⏏xg␤Whitespace is required between alphanumeric tokens at /tmp/8hYbX5DbXP line 1:␤------> 0x⏏g␤Undeclared routine:␤ 'g'
..used a…
ash_ std: 0o09
p6eval std 31449: OUTPUT«===SORRY!===␤Whitespace is required between alphanumeric tokens at /tmp/xSYBzEd0HH line 1:␤------> 0o0⏏9␤Two terms in a row at /tmp/xSYBzEd0HH line 1:␤------> 0o0⏏9␤ expecting any of:␤ POST␤ bracketed infix␤ infix or
..meta-i…
ash_ std: 0x07 02:53
p6eval std 31449: OUTPUT«ok 00:01 107m␤» 02:54
ash_ std: 0o77
p6eval std 31449: OUTPUT«ok 00:01 107m␤»
02:55 redicaps joined 03:00 Guest1208 left 03:01 meppel joined
colomon is in your compilerz, programming in PIR 03:07
lue ohai i brok PIR bai 03:10
03:17 patspam joined
colomon pmichaud: new version of number interpreting code is still a bit slower than the old version (22 sec versus 15 sec to execute my all number test) but as far as I can tell (spectest still in progress) it is correct. I think this version is a winner. 03:19
03:23 whiteknight left 03:33 envi^home joined 03:36 hercynium joined, jaldhar left 03:48 jrtayloriv joined 03:59 mepplock joined 04:03 meppel left 04:06 jaldhar joined 04:11 JimmyZ joined 04:12 Guest23195 joined 04:13 redicaps left, justatheory left 04:18 patspam left
ash_ anyone home? 04:19
anyone have any comments on greaterthaninfinity.com/shell/ (its not functional yet, it's only pretending for now)
you can try doing things like putting in "my $a = 'Hello World';" 04:20
it syntax highlights (sorta)
sorear are you using the STD highighter? 04:21
ash_ when your typing in the text-area box and press enter, it sends the current contents
no, i just made it up in the last hour
its very incomplete, but its a start
shift + enter lets you put a new line in the textarea box 04:22
so if you want to write multiple lines before you return, you can
the textbox grows too, if you do more than 1 line
clear
will clear the screen
sorear Q:PIR { exit }
→Confused at line 1, near "a * 3\n" 04:23
ash_ oh thats a fake error code
its not actually executing anything
every 3 lines it puts that out
sorear so you put in random fake errors?
ash_ so i could test what an error might look like
sorear har har
ash_ its not executing it at all currently, so yup...
sorear ok, I'll stop trying to crack your webserver 04:24
ash_ sorear: does it look semi-okay so far to you?
lol, its all static so far so good luck
sorear yes
sorear jokes
ash_ it can do number literals too, (with the 0x 0o 0d 0b variants) 04:25
oops, i forgot to allow $_ as a variable 04:26
well, just wanted to show someone else that 04:27
04:32 jrtayloriv left
ash_ msg moritz_ I got a basic interface started, greaterthaninfinity.com/shell/ if you want to see it, it doesn't execute anything yet, it just is a front end. You can try out the console, it does some basic syntax highlighting too 04:33
hmm
is the message bot down? 04:34
sorear no
you're just on a different network
you used purl syntax
phenny: tell ash_ this is how we do messages here.
phenny sorear: I'll pass that on when ash_ is around.
ash_ ah, oops 04:35
phenny ash_: 04:34Z <sorear> tell ash_ this is how we do messages here.
ash_ phenny: tell moritz_ I got a basic interface started, greaterthaninfinity.com/shell/ if you want to see it, it doesn't execute anything yet, it just is a front end. You can try out the console, it does some basic syntax highlighting too, comments or questions are welcome
phenny ash_: I'll pass that on when moritz_ is around.
ash_ heading to bed &
05:03 mepplock left
ciphertext colomon: ping 05:07
05:31 envi^home left 05:42 orafu joined
moritz_ ash_: shell looks very good, thank you 06:00
phenny moritz_: 04:35Z <ash_> tell moritz_ I got a basic interface started, greaterthaninfinity.com/shell/ if you want to see it, it doesn't execute anything yet, it just is a front end. You can try out the console, it does some basic syntax highlighting too, comments or questions are welcome
06:01 ashleydev joined
diakopter moritz_: to answer your question, I don't know 06:16
it's currently at a crossroads while sorear explores many design options. 06:17
my tuits aren't so round lately
06:25 mberends joined
mberends im in ur belgianperlworkshop, drinkin ur coffee 06:26
moritz_ mberends: fakedbi them!
mberends heh, morning moritz_ :) 06:27
moritz_ good morning
mberends overnight I got about half of HTTP::Server::Simple::PSGI ported and working 06:34
06:34 ashleydev left
moritz_ wow - sever case of insomnia? :-) 06:35
*severe
mberends during coach journey from London :) 06:36
moritz_ :-)
mberends had a nice day teaching P5 to noobs in a company
yesterday 06:37
06:48 Su-Shee joined 06:50 Visitor99 left, JimmyZ left 06:55 zkw joined 06:56 zkw left 06:58 cls_bsd joined 07:20 xinming left, mberends left, xinming joined
dalek meta: r344 | stefa...@cox.net++ | trunk/vicil/ (2 files):
[vicil] Rationalize separation of Scope/CallFrame and Body/Code
07:22
pugssvn r31450 | moritz++ | fudge series tests for Rakudo
07:24 xenor joined
dalek kudo: 6769e19 | moritz++ | t/spectest.data:
series-simple.t is gone, series-nonnueric.t works now
07:24
07:26 xenor left 07:27 sjohnson joined 07:28 tylercurtis joined 07:29 Mowah left
tylercurtis rakudo: say [\+] [\+] 1 xx 5 07:33
p6eval rakudo ea8f2b: ( no output )
tylercurtis pugs: say [\+] [\+] 1 xx 5
p6eval pugs: OUTPUT«1361015␤»
07:34 mberends joined
moritz_ rakudo: say ([\+] 1 xx 5).perl 07:35
p6eval rakudo ea8f2b: OUTPUT«(1, 2, 3, 4, 5)␤»
moritz_ rakudo: say ([\+] ([\+] 1 xx 5)).perl
p6eval rakudo ea8f2b: OUTPUT«()␤»
moritz_ wow, that's a weird bug
tylercurtis: do you want to submit it? or should I?
tylercurtis rakudo: say ([\+] [[\+] 1 xx 5]) 07:36
p6eval rakudo ea8f2b: OUTPUT«1361015␤»
moritz_ rakudo: say ([\+] [[\+] 1 xx 5]).perl
p6eval rakudo ea8f2b: OUTPUT«(1, 3, 6, 10, 15)␤»
tylercurtis moritz_: I'm not particularly familiar with RT, so I'd be grateful if you would. 07:37
moritz_ rakudo: say ([\+] (1, 2, 3, 4 5)).perl
p6eval rakudo ea8f2b: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 11␤»
moritz_ rakudo: say ([\+] (1, 2, 3, 4, 5)).perl
p6eval rakudo ea8f2b: OUTPUT«(1, 3, 6, 10, 15)␤»
moritz_ tylercurtis: sure, will do
07:38 Mowah joined
tylercurtis moritz_: Thanks. 07:40
moritz_ rakudo: say [\+] [\+] 1, 1 07:41
p6eval rakudo ea8f2b: ( no output )
sorear rakudo: say ([\+] 1, 1).WHAT 07:45
p6eval rakudo ea8f2b: OUTPUT«List()␤»
sorear rakudo: say (1, 1).WHAT
p6eval rakudo ea8f2b: OUTPUT«Parcel()␤»
07:45 mmcleric joined
sorear rakudo: say (1, 2 ... 5).WHAT 07:46
p6eval rakudo ea8f2b: OUTPUT«List()␤»
sorear rakudo: say [\+] (1, 2 ... 5)
moritz_ rakudo: say (1 xx 5).WHAT
p6eval rakudo ea8f2b: OUTPUT«1361015␤»
rakudo ea8f2b: OUTPUT«List()␤»
moritz_ sorear: the curious thing is that [\+] [ [\+] @list ] works
erm, "works" 07:47
sorear it shouldnt'...
moritz_ I know
07:48 tadzik joined, Mowah left 07:49 Mowah joined
moritz_ funny thing is, when I add a pir::printerr__vs($list.perl); 07:55
after line 161 in src/core/metaops.pm
it works
08:00 perl7 joined 08:03 Ross joined
jnthn oh lol I'm at a Perl event 08:07
08:08 perl7 is now known as prz
moritz_ jnthn: which one? .be? 08:11
jnthn moritz_: Indeed. 08:12
jnthn thinks it'll .be a good one :-) 08:13
hmmm 08:19
rakudo: my @squares = (0..*).map: { $^x * $^y };
rakudo: my @squares = (0..*).map: { $^x * $^y }; say "ok"; 08:20
Is that not lazy yet?
p6eval rakudo ea8f2b: ( no output )
sorear jnthn: correct, map isn't lazy 08:22
08:22 synth joined
sorear rakudo thinks that map == for 08:22
TiMBuS but what about mapiter? 08:23
jnthn that's...odd. 08:24
moritz_ no
it's the = that's not lazy
jnthn I think it's array storage
moritz_ map itself is
TiMBuS that makes more sense
jnthn moritz_: ah.
:-(
rakudo: for 1..* -> $n { say $n * $n; last if $n > 10; } 08:25
p6eval rakudo ea8f2b: OUTPUT«1␤4␤9␤16␤25␤36␤49␤64␤81␤100␤121␤»
jnthn heh, for is lazy now, huh. :-)
moritz_ well 08:26
only the evaluation of its argument 08:27
TiMBuS rakudo: my $squares = (0..*).map: { $^x * $^y }; $squares[4];
p6eval rakudo ea8f2b: ( no output )
moritz_ if it were lazy itself, it wouldn't do anything
TiMBuS wuh
jnthn moritz_: *NOD8
doh, keyboard fail
sorear I feel like there was something in one of the Synopses that explained "class" in terms of a sequence of calls to ClassHOW, but I can't find it with grep 08:35
Am I only imagining this? 08:38
08:39 sorear sets mode: +vvvv p6eval hugme _ilbot2 dalek 08:40 sorear sets mode: +ooo dukeleto mberends colomon
jnthn sorear: I think S12 has language along those lines 08:41
sorear: Though ClassHOW is not explicitly mentioned.
08:44 envi^home joined 08:54 prz_ joined
sorear I'm also kinda interested to know about knowhow 08:54
std: augment knowhow class { ... }
p6eval std 31450: OUTPUT«===SORRY!===␤Can't augment knowhow class without MONKEY_TYPING at /tmp/xPTP3RbneW line 1:␤------> augment knowhow class ⏏{ ... }␤Potential difficulties:␤ Can't augment knowhow class because it doesn't exist at /tmp/xPTP3RbneW line 1:␤------>
..[…
08:55 prz left, prz_ is now known as prz 08:58 tylercurtis left
jnthn sorear: I'm interested too - I want to gradually take Rakduo's metamodel to have that primitive as a foundation. 09:01
And write our ClassHOW and RoleHOW in terms of it.
09:17 plobsing left
sorear jnthn: what *is* the primitive, though? 09:23
jnthn sorear: afaik, it's a "pure prototype"
sorear It's not mentioned in the synopses and it has no tests
jnthn sorear: Indeed, it's not spec yet.
sorear This will be something to discuss in the meeting, I guess
jnthn sorear: Nor is the metamodel API.
sorear: It's one of those things where I expect the implementations will need to decide what is agreeable accross them to be spec, and what will be implementation specific. 09:24
sorear Under what conditions are you allowed to augment a class by adding a new attribute
?
jnthn sorear: At the end of the day, the decision is taken by the metaclass.
sorear I mean, for the default metaclass
jnthn e.g. it can throw an exception from add_attribute if the class was already composed
For ClassHOW, I'm not sure. 09:25
sorear Obviously JoeHOW can decide however it wants
jnthn My impression is that you are meant to be allowed to.
But it's...ugh...to implement. :-S
The spec doesn't say "certainly yes" or "certainly no" either. 09:26
sorear What does it mean to compose a class, and when does it happen?
jnthn Composition time is when we do things like compose in the roles, detect missing required methods and conflicts, produce a type object... 09:27
It happens after the class has been fully defined
sorear At the closing brace? Or CHECK? 09:28
jnthn I believe it's meant to happen at the closing brace.
So in theory
class C { method foo() { say 42 } }; BEGIN { C.foo } # should work
moritz_ has a case of totally wrong line number 09:29
jnthn OH NOES
moritz_: How rong is rong?
moritz_ jnthn: line 67 for a 30 line file
jnthn lol
moritz_ rakudo: class A { has $.x is rw }; A.new.x(5) 09:30
p6eval rakudo 6769e1: OUTPUT«too many positional arguments: 2 passed, 1 expected␤ in main program body at line 67␤»
moritz_ you see, line 67
jnthn ..
wtf.
Epic fail!
moritz_ submits rakudobug
jnthn plz to file ... yes that :-)
moritz_ rakudo: class A { has $.x }; A.new.x(5) 09:33
p6eval rakudo 6769e1: OUTPUT«too many positional arguments: 2 passed, 1 expected␤ in main program body at line 65␤»
moritz_ hey, not quite so rong :-)
jnthn ooooooh!
sorear .o( sub die($exn) { my $f = callframe; while $f { if $f.exception-skip-to -> $nf { $f = $nf; next }; if $f.exception-handler -> $h { return $h($exn); }; $f = $f.caller; }; note("Internal error: exception handling ran off end"); exit(1); } )
jnthn moritz_: Look at src/metamodel/attribute.nqp line 67 ;-) 09:34
moritz_ I guess the accessor is somewhere... right
jnthn lol
sorear (this is what I'm planning to use in sprixel)
jnthn It's one of those accuracy wins that's a fail too. :-) 09:35
sorear (implementing die in Perl feels so good)
moritz_ sorear: that looks cute
09:36 agentzh joined
sorear that handles Perl 6's weird unwind rules, including rethrows and restartable exceptions 09:39
it relies on an outermost CATCH to handle backtraces, though 09:40
also won't work in any implementation where return is powered by die 09:41
09:42 Ambiguity joined
moritz_ sorear: you can control the outermost CATCH by providing it in your setting 09:45
I think it's reasonable to expect people to handle such cases when they write their own setting
09:54 M_o_C joined 09:55 Miles8 joined
Miles8 Anyone seen this perl 6 logo? kraih.com/camelia-sri.png 09:56
tadzik yep
sorear _sri told us first
sorear ponders the nature of inline NQ-C# 09:57
tadzik oh, and by the way, just out of curiosity, why is it CATCH not catch?
jnthn tadzik: All of the phaser-ish blocks are uppercase.
So just consistency.
tadzik phaser-ish?
jnthn e.g. FIRST, LAST, etc.
tadzik ah
moritz_ BEGIN, END, INIT, CHECK, PRE, POST 09:58
jnthn tadzik: Things that run at certain "special" times rather than just where they are placed in your code.
tadzik I see
sorear there's a big list of them at S04:1225
Miles8 any input on why he seems to been shoot down for making a logo that isn't actually repulsive like the one vurrently used?
sorear "shoot down"? 09:59
where?
moritz_ Miles8: afaict nobody shot him down
Miles8: it's only that there's not the one person who tells him to shape his logo so it becomes the official one
that's just not how the Perl 6 community works
10:00 nadim joined
moritz_ I really liked his suggestions, and I know others did too 10:00
Miles8 true but from what I read he has given up hope of getting his suggestions accepted in any way
moritz_ Miles8: yes, that's unfortunate 10:01
huf it's the best perl logo i've seen so far
but then, who am i to call this ;)
moritz_ but what do you expect from us, truely? that we magically create a person how answers his questions?
sorear Miles8: read where?
Miles8 I quote him "The Perl 6 decision makers are sadly not interested in the logos, so i'm not finishing them." 10:02
on the Mojolicious mailinglist
jnthn On the logo it's probably "person" :-)
That said, the implementations can pick what they want for a logo. :-)
Rakudo has its own, for example.
sorear doesn't think he's seen Rakudo's logo 10:04
huf is it the japanese wooden gate thing?
moritz_ rakudo.org/
jnthn sorear: it's on rakudo.org
moritz_ rakudo.org/sites/default/files/logo.png
jnthn figures the writing actually says Rakudo :-) 10:05
sorear oh yes I have seen that. 10:08
dalek meta: r345 | stefa...@cox.net++ | trunk/vicil/Kernel.cs:
[vicil] Expand scope of KERNEL a bit
sorear out 10:09
jnthn o/
10:10 tadzik left
Miles8 I hope perl6.org gets a new logo cause even if implementations can choose there on perl6.org is still gonna be the first thing a lot of new perl6 users will see and rigth now those are either repulsted by the logo or go in to epileptic shock 10:12
*on=own. 10:13
or they thinks it some kindergarden drawing page an they are on the wrong website 10:14
10:14 Miles8 left
jnthn I love how some people take their own dislike of it to mean everybody will feel that way. 10:15
TiMBuS did he just leave in fear of some backlash from his last comment? 10:17
jeez..
jnthn Heh 10:18
I got bored of such discussions long ago.
Design is muchly a subjective thing.
10:19 Su-Shee left
jnthn I know some people don't like Camelia, but I'm not convinced we could come up with a logo that everyone would like. 10:19
sjohnson jnthn: eppy7890.files.wordpress.com/2009/0..._camel.jpg 10:20
:)
bed time & 10:21
jnthn :-)
night
10:24 azert0x joined, azert0x left, tadzik joined, meppl joined 10:26 azert0x joined, azert0x left 10:28 azert0x joined, azert0x left 10:30 agentzh left 10:32 azert0x joined 10:33 azert0x left 10:34 azert0x joined, azert0x left 10:37 azert0x joined 10:44 tadzik left
moritz_ rakudo: my $x = given 4 { when Int { $_ } }; say $x 10:48
p6eval rakudo 6769e1: OUTPUT«===SORRY!===␤Confused at line 11, near "my $x = gi"␤»
moritz_ std: my $x = given 4 { when Int { $_ } }; say $x 10:49
p6eval std 31450: OUTPUT«===SORRY!===␤Word 'given' interpreted as a listop; please use 'do given' to introduce the statement control word at /tmp/gCRzHsPXEq line 1:␤------> my $x = ⏏given 4 { when Int { $_ } }; say $x␤Unexpected block in infix position (two terms in a
..r…
moritz_ rakudo: my $x = do given 4 { when Int { $_ } }; say $x
p6eval rakudo 6769e1: OUTPUT«4␤»
11:01 tadzik joined 11:02 felliott joined 11:08 prz left 11:13 whiteknight joined 11:16 [Coke] joined 11:22 pmurias joined
cognominal (1, $b, 2) == (1, 2) # Is there a $b value that could satisfy that predicate? It would be so convenient. 11:31
Nil is not what I want here. 11:35
or at least it does no beheva that way in rakudo.
rakudo: say (1, Nil, 2).perl 11:36
p6eval rakudo 6769e1: OUTPUT«(1, (), 2)␤»
cognominal rakudo: say [1, Nil, 2].perl
p6eval rakudo 6769e1: OUTPUT«[1, 2]␤»
cognominal ha!!
jnthn rakudo: rakudo: say (1, Nil, 2).flat.perl 11:37
p6eval rakudo 6769e1: OUTPUT«===SORRY!===␤Confused at line 11, near "rakudo: sa"␤»
jnthn grrrr
rakudo: say (1, Nil, 2).flat.perl
p6eval rakudo 6769e1: OUTPUT«(1, 2)␤»
cognominal I should remember that parcel are no arrays...
xinming say (1, (), 2).perl
rakudo: (1, (), 2).perl 11:38
p6eval rakudo 6769e1: ( no output )
xinming rakudo: say (1, (), 2).perl
p6eval rakudo 6769e1: OUTPUT«(1, (), 2)␤»
cognominal jnthn++ 11:39
11:41 timbunce joined
jnthn yayitstimbunce! 11:41
moritz_ rakudo: say (1, (), 2) == (1, 2)
p6eval rakudo 6769e1: OUTPUT«0␤»
jnthn I suspect numifying a parcel doesn't first flatten
timbunce jnthn: Hi. I'm adding #perl6 to the list of channels I join automatically. I guess that means something. 11:42
colomon moritz_: [\+] [\+] isn't a weird bug at all, it's a perfectly expected closure issue. 11:43
pugssvn r31451 | pmurias++ | [smop] [mildew] smop supplies the correct gcc flags to mildew at test time so that the .m0ld tests run 11:44
mberends hi timbunce, we're both talking about Perl 6 and databases at YAPC::EU :) it would be good to compare notes/plans to make sure we don't contradict each other ;-) 11:45
moritz_ colomon: well, I didn't perfectly expect it 11:46
timbunce mberends: great - please join #dbdi
mberends ok
colomon moritz_: when closures finally get fixed, a lot of stuff is going to magically start working. :)
jnthn :-) 11:48
11:50 synth left
jnthn std: for 0 { when ARRAY {} } 11:57
p6eval std 31450: OUTPUT«===SORRY!===␤Function 'ARRAY' needs parens to avoid gobbling block at /tmp/2olCsm5nex line 1:␤------> for 0 { when ARRAY⏏ {} }␤Missing block (apparently gobbled by 'ARRAY') at /tmp/2olCsm5nex line 1:␤------> for 0 { when ARRAY
..{}⏏…
12:00 synth joined
mberends hugme: add timbunce to fakedbi 12:03
hugme hugs timbunce. Welcome to fakedbi!
12:10 M_o_C left 12:13 pnate joined, mberends left 12:14 sykes_ joined, constant joined, constant left, constant joined, mberends joined 12:15 nadim left, nadim joined 12:20 envi^home left, orafu left, TiMBuS left, stepnem left, Lorn left 12:26 envi^home joined, orafu joined, TiMBuS joined, stepnem joined, Lorn joined, japhb joined, slavik joined, dmpk2k_ joined, stepnem left 12:27 stepnem joined
timbunce Running an uninstalled perl6 from a diferent directory gets a far less than awesome error message ("Null PMC access in find_method('new_class')". I know the docs say this'll happen but it's a likely newbie error and seems worth a better message. 12:33
(In my case I had a perl6 symlink in my ~/bin directory to the perl6 binary. That was handy for running the latest build without needing to install. Used to work fine. I've updated the symlink now.) 12:37
colomon rakudo: say "THis is a test".words 12:40
p6eval rakudo 6769e1: OUTPUT«THisisatest␤»
colomon rakudo: say "THis is a test".words.perl
12:40 masonkramer left
p6eval rakudo 6769e1: OUTPUT«("THis", "is", "a", "test")␤» 12:40
12:41 masonkramer joined
jnthn timbunce: Aye, we had a nicer one in alpha but I forget how we did it. Should really check... 12:43
12:44 Rohaq joined 12:45 mikehh joined
timbunce is there are pastebin for the channel? 12:46
rakudo: class java::io::Writer { multi method append( Str $v1, Int $v2, Int $v3, --> Object) { ... } } 12:48
p6eval rakudo 6769e1: OUTPUT«===SORRY!===␤Malformed method at line 11, near "append( St"␤»
timbunce That used to work (months ago). Has the syntax changed? 12:49
rakudo: role java::sql::RowId { multi method equals( Object $v1, --> Bool ) { ... } } 12:51
p6eval rakudo 6769e1: OUTPUT«===SORRY!===␤Invalid typename in parameter declaration at line 11, near " $v1, --> "␤»
jnthn That , before the --> looks odd
mberends timbunce: paste.lisp.org/new/perl6 used to announce on #perl6, but lately we got spammed, so now we must announce manually
jnthn std: role java::sql::RowId { multi method equals( Object$v1 --> Bool ) { ... } } 12:52
p6eval std 31451: OUTPUT«===SORRY!===␤In parameter declaration, typename 'Object' must be predeclared (or marked as declarative with :: prefix) at /tmp/B3cPNYRnv6 line 1:␤------> ql::RowId { multi method equals( Object⏏$v1 --> Bool ) { ... } }␤Parse failed␤FAILED
..00:01…
jnthn std: role java::sql::RowId { multi method equals( Object $v1 --> Bool ) { ... } }
p6eval std 31451: OUTPUT«===SORRY!===␤In parameter declaration, typename 'Object' must be predeclared (or marked as declarative with :: prefix) at /tmp/xY6ZUPxjTB line 1:␤------> ql::RowId { multi method equals( Object⏏ $v1 --> Bool ) { ... } }␤Parse failed␤FAILED
..00:0…
jnthn std: role java::sql::RowId { multi method equals( Mu $v1 --> Bool ) { ... } }
p6eval std 31451: OUTPUT«ok 00:01 111m␤»
jnthn std: role java::sql::RowId { multi method equals( Mu $v1, --> Bool ) { ... } }
p6eval std 31451: OUTPUT«ok 00:01 111m␤»
jnthn hmm, std is OK wiht the comma. Surprises me a little.
timbunce but Object -> Mu is the main fix. ok
TimToady it's just the principle that you can have an extra comma on the end of a list 12:53
timbunce TimToady: makes the code generation a little easier
pmichaud good morning, #perl6 12:57
12:57 M_o_C joined
mberends pmichaud, o/ from Belgium 12:58
13:01 whiteknight left
colomon rakudo: say 0.707106781186547 13:08
p6eval rakudo 6769e1: OUTPUT«0.707106781186547␤»
colomon rakudo: say 707106781186547 13:09
p6eval rakudo 6769e1: OUTPUT«707106781186547␤»
jnthn o/ pmichaud 13:15
13:15 hugme joined
TimToady ohio 13:15
timbunce Is there a way to ask rakudo for the list of builtin types and roles?
moritz_ hugme: show java2perl
hugme moritz_: the following people have power over 'java2perl': P⁣erlJam, T⁣imToady, [⁣particle], c⁣olomon, j⁣nthn, m⁣asak, m⁣berends, m⁣oritz_, p⁣michaud, t⁣imbunce. URL: github.com/timbunce/java2perl/
moritz_ hugme: add moritz to java2perl 13:16
hugme moritz_: ERROR: Can't add moritz to java2perl: HTTP/1.1 401 Unauthorized
moritz_ urg
TimToady rakudo: say CORE::.keys 13:17
p6eval rakudo 6769e1: OUTPUT«Could not find sub &CORE␤ in main program body at line 11:/tmp/9tC8BMMJdE␤»
13:17 whiteknight joined
jnthn ENOTYET 13:17
TimToady std: say CORE::.keys
p6eval std 31451: OUTPUT«ok 00:01 111m␤»
timbunce ok, thanks 13:18
rakudo: role java::sql::Ref { multi method getObject( KeyHash $v1 --> Mu ) { ... } } 13:19
jnthn timbunce: Though if you don't need a programatic solution, grep through src/gen/core.pm for class and role
p6eval rakudo 6769e1: OUTPUT«===SORRY!===␤Invalid typename in parameter declaration at line 11, near " $v1 --> M"␤»
TimToady or just keep trying random names till you probabalistically get them all :) 13:20
colomon TimToady: wouldn't it be much more efficient to use Str.succ to systematically go through all possible names? ;) 13:21
timbunce jnthn: I don't see KeyHash, for example, in there. TimToady: shouldn't take tooo long!
colomon lazily, I mean, of course.
TimToady pugs/src/perl6/CORE.setting has a more concise list, but doesn't necessarily match rakudos
timbunce It's not that important for now, after all the spec's not changing all that often :) 13:22
rakudo: role java::sql::Ref { multi method getObject( KeyHash $v1 --> Mu ) { ... } }
p6eval rakudo 6769e1: OUTPUT«===SORRY!===␤Invalid typename in parameter declaration at line 11, near " $v1 --> M"␤»
timbunce std: rakudo: role java::sql::Ref { multi method getObject( KeyHash $v1 --> Mu ) { ... } }
p6eval std 31451: OUTPUT«ok 00:01 111m␤»
pmichaud (KeyHash NYI in rakudo)
TimToady STD's setting will be closer to spec, and rakudo's will be closer to what's actually implemented :)
dalek kudo: 1424333 | (Solomon Foster)++ | src/ (2 files):
Rewrite the Actions handling of dec_number (ie Rat and Num constants) to work

Still needed: Cleanup. Porting this solution to Int constants. Making prefix:<+>(Str) use these methods.
13:23
timbunce Anyone suggest a reasonable mapping for java.util.Map in rakudo?
13:25 pmurias left
moritz_ hugme: add mberends to java2perl 13:25
hugme moritz_: ERROR: Can't add mberends to java2perl: HTTP/1.1 401 Unauthorized
timbunce I'll use just Hash for now.
moritz_ hash stringies its key 13:26
is that OK?
TimToady by default, which is all rakudo implements
seems like it would be pretty trivial to hash on $key.WHICH to get object hashes 13:27
though you'd have to be careful to include the WHAT as well for value types 13:28
or 2 and "2" might hash the same 13:29
timbunce moritz_: at this stage I'm happy if the thousands of lines of perl6 (that java2perl6 generates for the JDBC API) just compiles :)
13:38 fridim left 13:42 nimiezko joined
TimToady colomon: Str.succ won't work, unless you seed it with patterns like AaaaaAAA 13:56
13:59 jaldhar left
TimToady <sorear> In light of the existance of the \|$foo parameter form, is a Perl 6 implementation obliged to handle $*foo(:a, :b) differently from $*foo(:b, :a) ? 14:06
yes, capturization must be JIT in that case, since there's no proto
(and you can see how far back I've fallen on backlogging...) 14:07
timbunce The DateTime type is 'built-in" in the sense that you don't need a 'use', yet it's not listed in the "Built-In Data Types" section in S02. That seems like a doc bug. 14:09
colomon TimToady: do it all lowercase, and map the results through a transform that gets all the possible case variations -- that's just like counting in binary. :)
TimToady it won't find ACME::Don't either 14:10
colomon errr... actually, that's a good series question. what should 'a' ... * do? 14:11
pmichaud 'a', 'b', 'c', ... 'z', 'aa', 'ab', 'ac', ...
colomon that's current spec, I believe.
TimToady that seems more useful than ... "\x10ffff" 14:12
14:12 pmurias joined
pmichaud > my @a = 1..*; say @a[4]; 14:12
5
(we can haz array laziness)
colomon but it seems a bit inconsistent that 'a' ... some single character high in unicode will go all single chars, but 'a' ... * wraps at 'z'.
\o/
pmichaud colomon: I don't see that as being inconsistent at all, really 14:13
TimToady but * isn't a single character, and has "maximize" semantics
colomon pmichaud: we weren't even sure if that was spec or not. :)
TimToady the single char rule only comes into effect if both ends are single
pmichaud to me, 'a' ... * says "increment forever"
or, more accurately, .succ forever
colomon TimToady: okay, works for me, and already works.
TimToady pmichaud: what does it do about lists that it doesn't know are finite/infinite? 14:14
like the result of a gather?
colomon afk # "hoop!"
pmichaud at the moment it continues to eagerly evaluate them.
I've added a .infinite() method to iterators, it returns zero for "known finite", one for "known infinite", and Mu for "not known" 14:15
(actually, False, True, Mu)
TimToady do we need a method for pushing to the imaginary part of an array?
.pushlist or some such
pmichaud I haven't looked at that part yet. 14:16
istr we decided that we did.
TimToady how does it add to its imaginary part internally?
14:16 Trashlord joined
TimToady I think we bikeshedded names, but I don't recall settling on one 14:16
pmichaud internally, List (and thus Array) has two attributes, @!items and @!rest 14:17
both are low-level VM arrays
TimToady .schedule .imagine .suggest etc
pmichaud @!items contains the "already reified" elements, @!rest contains the yet-to-be-reified elements
TimToady I think the original apocalypse had .specs
.pushmore .pileon .append .notyet ... 14:20
jnthn pmichaud: (array laziness) yay!
moritz_ .project .plan
TimToady .plan is pretty good 14:21
jnthn pmichaud: I tried that this morning to demonstrate today ;-)
moritz_ TimToady: might be confusing if we offer a sub form
TimToady: because of use Test; plan 1;
TimToady right
extend @array, list() reads well 14:23
but is semantically a bit too concrete 14:24
abstrude :)
no way, that would extrude abstractly
hmm
moritz_ schedule is just like plan, but without the colllision
pmichaud hmmm, I'm getting spectest failz though 14:25
TimToady perhaps a bit too time oriented
queue is more the idea
oh, I remember
we had .feed
pmichaud oh, I know why.
TimToady feed @array, 1 ... *
colomon Is the issue that we're pushing to the @rest, or that we're pushing something that might itself be infinite?
moritz_ TimToady: I like feed 14:26
TimToady the idea is that we're taking whatever we have and putting it into @rest, regardless
pmichaud colomon: one piece of the puzzle is figuring out the laziness of whatever we're pushing, though
14:26 simcop2387 joined
colomon shouldn't push always add to @rest if there is something there? 14:26
pmichaud when doing push @a, $b; we really want to make sure we get the value of $b now and not the value of $b "whenver we get to it"
TimToady I think feed forces it into the lazy part, or possibly pulls known-finite off the front if @!rest starts out empty 14:27
pmichaud and if @a has something infinite in it already, we might not reify it "right away"
for example:
TimToady colomon: I think push is eager, so reifies everything
colomon I guess part of my problem is it feels to me like we are too eager to make arrays unlazy, and are making ourselves a lot of work in the progress.
pmichaud colomon: eagerness is the natural expectation 14:28
jnthn I thought push would always put onto the @!rest
pmichaud jnthn/colomon: *it does*
that's not the issue.
jnthn Oh
ah
@foo.push: $a, $b, $c; # we want the $a, $b, $c at this time?
TimToady the point is the expected semantics, and p5 programmers at least will expect push to behave eagerly
pmichaud if @!rest has something lazy in it already, then whatever we push gets lazily evaluated, even if someone expects it to be eager
for example:
jnthn @foo.plan: $a, $b, $c; # reify later 14:29
pmichaud my @b = <a b c>; push @a, @b; @b[1] = 'x';
does @a "see" the 'x' or no?
if we just stick @b onto @a's lazy part, then we might not have gotten around to reifying it yet
14:29 [Coke] left
jnthn *nod* 14:30
pmichaud (yes, we can turn the arguments to 'push' into a Seq and push those... which is effectively what we're doing, but still some 'lazy' parts might hide the evaluation of some non-lazy parts 14:31
however, since we're also speculating about a method to de-containerize parcels, we could potentially do that to the slurpy parts of push/unshift
colomon it seems like what we should be doing is somehow cloning the array at the point of copy. or some sort of COW arrangement.
pmichaud then laziness isn't such a big issue
colomon: errr.... what copy? ;-) 14:32
colomon point of push.
pmichaud there's no copy inherent in push
at least, not yet. :-)
TimToady I think @array.push(1..*) should probably say "You can't push an infinite list; please use feed instead"
and I think we should try to keep the eager method separate from the lazy method so people get used to thinking about it, instead of mysteriously having it guess wrong on the unknowns 14:34
pmichaud TimToady: I agree fully.
that's certainly the conservative approach for now
we have enough to fix in Rakudo in the next four weeks without also trying to explore every avenue of laziness :)
TimToady if at some point we say, well push and feed are really the same thing, then they're just good documentation :) 14:35
and (...) ==> my @foo is naturally mapped to .feed
colomon and feed will work properly for .... 14:36
TimToady hmm, actually, .feed is then really <<==
colomon errr....
my @b = <a b c>; feed @a, @b; @b[1] = 'x';
TimToady since it appends
colomon does that get the 'x' in @a?
14:36 araujo joined
pmichaud my guess is that falls in the realm of "depending on lazy evaluation" 14:37
TimToady that would depend on whether it does the "pull in concrete values"
moritz_ colomon: yes
colomon that still seems really icky to me.
really, really icky. 14:38
pmichaud ...which is why .push is eager :)
TimToady feed should not be taking side effects into account
and yes, we know where to find push
pmichaud > my @a = 1..*; say @a.elems
Inf
TimToady however, one more thing to think about. What about my @a = 1,2,3; feed @a, @a 14:39
colomon wait, shouldn't some sort of COW be easy with lazy arrays?
14:40 rv2733 joined
moritz_ MU! (SCNR :) 14:40
colomon you copy @items eagerly, then attach the iterator for @rest.
if you change the source array later, it has to iterate to the point of the change. 14:41
pmichaud colomon: you're assuming that all of the things in @!rest are immutable
colomon the copied @rest stays the same.
isn't that the point of the new iterator arrangement?
pmichaud no.
you're assuming that @rest contains only iterators
what @!rest really contains is iterables 14:42
colomon oh
TimToady perhaps we're going to have long term confusion as long as iterators and iterables have such similar names
pmichaud we could potentially change it to contain iterators, but we've already said that if you change an underlying iterable while it has active iterators that the results are undefined 14:43
colomon afk # off to nom-grower's nomstore
TimToady chow
pmichaud TimToady: so far "Iterable" and "Iterator" have worked really well for me. I'd like them to remain.
TimToady was just wonderin'
I know that wasn't the confusion point here 14:44
packing & 14:45
14:46 ciphertext joined
colomon the confusion point here is that (from the naive point of view), we've got two different functions to do the same thing, neither of which actually does what the user actually expects... # gone for real now... 14:51
ash_ moritz_: ping 14:53
14:53 Ross left
moritz_ ash_: pong 14:53
ash_: I've seen your web shell demonstration
It's really great
ash_ any comments?
i need to do some work with the colors 14:54
but that shouldn't be to difficult to fix
moritz_ has only very little aesthetic judgement when it comes to colors
ash_: have you committed it to the repo? 14:55
ash_ no, i don't think i have permissions
moritz_ ash_: my fault... what's your github ID?
14:55 mberends left
ash_ ashgti 14:55
moritz_ hugme: add ashgti to try.rakudo.org 14:56
hugme hugs ashgti. Welcome to try.rakudo.org!
moritz_ there you go
ash_ thanks
should the default be that Return sends the command you have written? or should I make that so return adds a newline and say Shift + Return sends the command? 14:59
pmichaud web shell demonstration url plz? 15:00
moritz_ ash_: return should send by default
ash_ greaterthaninfinity.com/shell/ its not actually evaluating anything yet
moritz_ ash_: Mathematica evaluates when you press Shift + Return. It confuses the heck out of each newbie 15:01
ash_ ah, kk, i'll leave it the way it is then
jnthn It looks nice :-)
moritz_ it even autoextends the input box if you hit Shift + Enter 15:02
ash_++
ash_ i still haven't done much for the tutorial part, the area under the textarea box will be where the tutorial comes up, I was planning on basing it off of the rakudo book
15:02 jaldhar joined
jnthn On firefox, the top of camelia is just off the page top, btw 15:03
ash_ yup
moritz_ ash_: well, the book isn't optimized for things to fit onto one line
ash_: so you might need some adoptions
ash_ well, i don't have to use the books specific examples, i could simply them
moritz_ right
ash_ wonders if i can capture tabs in all browsers... 15:08
moritz_ rakudo: class A { method b { } }; say A.new.cando(b)».name 15:12
p6eval rakudo 142433: OUTPUT«Could not find sub &b␤ in main program body at line 11:/tmp/0TqiMuzvdF␤»
moritz_ rakudo: class A { method b { } }; say A.new.cando('b')».name
p6eval rakudo 142433: OUTPUT«Method 'cando' not found for invocant of class 'A'␤ in main program body at line 11:/tmp/7EqrerSqU7␤»
moritz_ rakudo: class A { method b { } }; say A.new.can('b')».name 15:13
p6eval rakudo 142433: OUTPUT«Method 'flat' not found for invocant of class 'P6Invocation'␤ in main program body at line 11:/tmp/SckOH78TVr␤»
moritz_ rakudo: class A { method b { } }; say A.new.can('b').name
p6eval rakudo 142433: OUTPUT«Method 'name' not found for invocant of class 'P6Invocation'␤ in main program body at line 11:/tmp/Ohxzwo41qe␤»
moritz_ rakudo: class A { method b { } }; say A.new.can('b').WHAT
p6eval rakudo 142433: OUTPUT«Method 'WHAT' not found for invocant of class 'P6Invocation'␤ in main program body at line 11:/tmp/5HLwOFFfBW␤»
moritz_ rakudo: class A { method b { } }; say A.new.can('b') ~~ Routine
p6eval rakudo 142433: OUTPUT«0␤»
moritz_ that's pretty suspicious, isn't it?
ash_ i thought it was ^can 15:14
or does .can forward to .^can?
TimToady colomon: yes, the PDLish view that you can define an array as a slice into another array is a third view, but I wouldn't call it the "naive" view... 15:15
jnthn .can is a bit awkward
Because it's meant to also be an iterator over the possibilities
It probably forwards to .^can 15:16
Or probably should anyway
pmichaud .can should probably return a List, then.
jnthn pmichaud: Yeah, but the tests seem to also call for it to be directly callable too
pmichaud jnthn: oh, ouch.
jnthn pmichaud: Yeah, quite
pmichaud: I'm wondering if we want a spec tweak there.
pmichaud so, whatever .can returns should be subclassed from List, then :) 15:17
(and be invokable :-)
jnthn Yeah
Should be workable.
pmichaud oh, it doesn't have to subclass from List
it just needs to be Iterable.
jnthn ah, yes
pmichaud (and have a .iterator)
jnthn I didn't get to putting it back in mater yet
*master
Mostly because I wanted to see how lists would pan out. :-) 15:18
pmichaud I think they're pretty well panned out. :-)
jnthn Aye
Now I just need to stop traveling all over Europe. ;-)
pmichaud once I get "mostly eager" in place I'll be prepared to say "okay, this is likely the right configuration"
jnthn \o/
pmichaud After seeing so many people do my @a = 1..*; I woke up this morning thinking I had better go ahead and get that implemented. 15:19
jnthn Just a little too late for my talk ;-)
pmichaud My timing seems to be very off that way.
jnthn 'tis fine, I had too much other cool stuff to show for the time I had anyway. :-)
pmichaud that was the experience in my talk as well. :-) 15:20
jnthn Was a little overtime.
pmichaud I was a little overtime, -and- I didn't get to cover about 50% of what I had available.
(but I designed the talk knowing that I had far more than I could cover, so there were several natural "stop points" built in :-)
jnthn Yeah, I had more that I cculd have done.
urgh, I just worked out why using |$c in a method signature runs into issues. 15:21
(Related to the *%_ that gets added
)
15:22 PZt joined
moritz_ |$c and *%_ don't like each other? 15:22
jnthn |$c says "is there anything that follows me? if so, there are more args"
since 15:23
:(|$c1, $a, |$c2, $b) # should work
You get snapshots of what is bound so far.
But when it's 15:24
:(|$c, *%_)
Then it says "ah, there's more paramters, continue binding as usual"
*parameters
moritz_ so *%_ tries to bind a positional argument?
jnthn Yeah, and thus the exploshun. :-) 15:25
jnthn ponders the best fix
moritz_ so no automatically added *%_ for signatures that end with a |-param?
jnthn It becomes
:(self, |$c, *%_)
moritz_ rakudo: sub f(|$c) { }; say &f.signature.perl 15:26
p6eval rakudo 142433: OUTPUT«:(Any $c)␤»
jnthn ...
moritz_ submits rakudobug 15:27
jnthn .signature.perl appears not to know about |
moritz_ right
15:27 synth left
moritz_ so TODObug 15:27
jnthn aye
LHF :-)
15:27 synth joined
moritz_ sorry for the distruction 15:28
erm
distraction :-)
jnthn ;-)
It's good to track it.
Anyway, am pondering if we just say "don't whine about arity after |$c".
mmcleric jnthn: hi
jnthn mmcleric: oh hai
mmcleric i think i'm on right track today, but i've got more stupid questions 15:29
jnthn :-)
mmcleric error:imcc:syntax error, unexpected COMMA (',')
now do i track errors like this one?
i it may be related to the fact that my PAST::Op don't have pos and source, and this is second question - why is that? 15:30
because it looks like most other nodes have pos and source automatically
moritz_ you need :node($/) to set pos and source 15:31
but a missing :node doesn't usually cause an IMCC syntax error
mmcleric thanks
jnthn No, quite
--target=pir
Use that
mmcleric o!
jnthn It'll show you the generated PIR
Which may give more clues 15:32
mmcleric ok, lots of code in unknown language :) 15:33
imcc says it's line 97, should it be the same line in pir code?
moritz_ it should, but IMCC line numbers are somtimes off 15:34
ash_ moritz_: do you know a good list of pseudo keywords i can use to highlight in the shell? right now i use: ['class', 'my', 'our', 'has', 'sub', 'method', 'submethod', 'module', 'role', 'package', 'token', 'grammar', 'augment', 'use']
pmichaud 'is' ?
'does' ?
moritz_ ash_: you can look into the perl6.vim hilightiing file 15:35
github.com/petdance/vim-perl/blob/m.../perl6.vim
ash_ ah, good point, i'll check there, thanks pmichaud++
moritz_++
lol, i don't even do if, or else yet i forgot about those some how 15:36
moritz_ wrote some very neat code with given/when today
15:37 pmurias left
[particle] Missing test file: t/spec/S03-operators/series-simple.t 15:39
noticed in make spectest
moritz_ [particle]: git pull 15:40
15:42 tedv left 15:43 tedv joined
[particle] i thought of that afterwards... thanks! 15:43
pmichaud: rblackwe is looking for you
about ppw in october
15:46 synth_ joined
mmcleric error [...] in file 'EVAL_1' line 25877908 15:46
that's strange.. .am i doing something horribly wrong? or could it be imcc bug? 15:47
jnthn mmcleric: Unlikely
mmcleric line numbers are completely random... sigh
[particle] 25M lines, nice
jnthn oh
wtf
I missed the number
Yes, IMCC's line numbers are a tad less accurate than Rakudo's :-) 15:48
mmcleric ok, i have an idea... can i hack generated pir file and rerun it again?
jnthn mmcleric: The error you got generally means you have some weird PAST though
and it generates wrong PIR from it 15:49
Can you nopaste the PIR?
mmcleric maybe, but all my pir::say prints are working, and PAST tree looks good too
jnthn Oh :S
pmichaud series-nonumeric.t seems to be caught in an infinite loop on my box now :-(
moritz_ pmichaud: did you svn up the spectests?
pmichaud I did "make spectest", yes. 15:50
moritz_ I fudged it today
pmichaud oh, it's locked.
just a sec
yes, that was it.
thank you.
moritz_ np 15:51
moritz_ got basic dispatch in CGI::Application working
mmcleric jnthn: gist.github.com/454146
ash_ moritz_: for perl6? sweet! 15:52
moritz_ ash_: aye
jnthn $P69 = "&infix:<+>"(, , $P51, $P68)
That's the line that's wrong
15:53 whiteknight left
ash_ i added tabs to the shell, and updated the highlighting, going for a walk with the dogs then i might work on some of the other features of, like the tutorial 15:53
(tabs as in \t not as in window tabs)
moritz_ ash_++
mmcleric jnthn: oh, thanks 15:54
i see it in past now too, empty Stmts nodes
jnthn mmcleric: That'd do it.
moritz_ the simplest extension possible atm is probably to get chained methods on Whatever working 15:58
*.lc.ucfirst
or is that handled in the dispatcher at run time?
pmichaud it's syntactic 15:59
moritz_ rakudo: my $x = *; say $x.uc
p6eval rakudo 142433: OUTPUT«!whatever_dispatch_helper␤»
pmichaud I mean as far as the spec goes, it's syntactic.
I don't know what rakudo does atm.
moritz_ yes, I know that :-)
pmichaud puts his head back into his compiling windows :)
jnthn It doesn't at the moment :-)
but what mmcleric++ is working on should probably also fix it 16:00
16:00 Rohaq left
mmcleric ./perl6 -e 'say ((* + 5) + (* + 6)).(2,3)' 16:01
16
yay, it's working :)
jnthn \o/
mmcleric now i'll just have to figure out how to get all other cases to work without too much copypasting 16:02
(now it's only WC <op> WC)
jnthn: btw, how do i get last element of array in NQP? 16:03
or number of elements
moritz_ +@a 16:04
nqp: my @a; @a[0] := 1; @a[1] := 2; say(+@a) 16:05
p6eval nqp: OUTPUT«2␤»
moritz_ nqp: my @a := [1, 2, 8]; say(+@a)
p6eval nqp: OUTPUT«3␤»
mmcleric er... by "array" i meant node, sorry :)
also, where can i get my own nqp binary to try it for myself? 16:06
16:07 Chillance joined
moritz_ mmcleric: ./parrot_install/bin/parrot-nqp 16:08
16:08 whiteknight joined
mmcleric thanks 16:08
moritz_ nqp: my $x = PAST::Stmts.new(1, 2, 3); say(+$x)
p6eval nqp: OUTPUT«Assignment ("=") not supported in NQP, use ":=" instead at line 1, near " PAST::Stm"␤current instr.: 'parrot;HLL;Grammar;panic' pc 552 (src/cheats/hll-grammar.pir:205)␤»
moritz_ nqp: my $x := PAST::Stmts.new(1, 2, 3); say(+$x) 16:09
p6eval nqp: OUTPUT«get_number() not implemented in class 'Capture'␤current instr.: '_block11' pc 37 (EVAL_1:1494965501)␤»
moritz_ nqp: my $x := PAST::Stmts.new(1, 2, 3); say($x.elems)
p6eval nqp: OUTPUT«Method 'elems' not found for invocant of class 'PAST;Stmts'␤current instr.: '_block11' pc 52 (EVAL_1:1376632416)␤»
moritz_ nqp: my $x := PAST::Stmts.new(1, 2, 3); say(?$x)
p6eval nqp: OUTPUT«1␤»
moritz_ nqp: my $x := PAST::Stmts.new(); say(?$x)
p6eval nqp: OUTPUT«1␤»
pmichaud $x.list.elems 16:11
nqp: my $x := PAST::Stmts.new(1,2,3); say ($x.list.elems);
p6eval nqp: OUTPUT«Confused at line 1, near "say ($x.li"␤current instr.: 'parrot;HLL;Grammar;panic' pc 552 (src/cheats/hll-grammar.pir:205)␤»
pmichaud nqp: my $x := PAST::Stmts.new(1,2,3); say($x.list.elems);
p6eval nqp: OUTPUT«Method 'elems' not found for invocant of class 'ResizablePMCArray'␤current instr.: '_block11' pc 61 (EVAL_1:17)␤»
moritz_ +$x.list
pmichaud nqp: my $x := PAST::Stmts.new(1,2,3); say(+$x.list);
p6eval nqp: OUTPUT«3␤»
pmichaud right.
16:12 justatheory joined
mmcleric great :) thanks 16:12
TimToady re running a little over on your talk: TheDamian++ talked all day about Perl 6 and still ran over. :)
moritz_ sings "we shall overrun, we shall overrun, some daaaaaaay" 16:13
jnthn > class A { method foo(|$c) { say $c.perl } }; A.foo(1)
\(1)
\o/
moritz_ jnthn: does that automagically fix 'handles' for methods with arguments?
jnthn should 16:14
since it was the underlying bug
TimToady sings "Mañana, mañana, I love you, mañana! You're always a day away!" 16:16
dalek kudo: 77a3501 | pmichaud++ | src/ (5 files):
Allow infinity laziness in arrays, array assignment.
kudo: b5bd660 | pmichaud++ | src/ (2 files):
Merge branch 'master' of github.com:rakudo/rakudo
pmichaud "When it's siesta time.... in Akron O-HI-O...." </tom_lehrer> 16:17
moritz_ TimToady: what do you think about :foo"string here" colonpair syntax? 16:18
I often miss it, and sometimes abuse :foo<string here> stringification to DTRT with spaces
which is... an abuse, really
pmichaud I suggest :foo("string here") :-P
moritz_ I know that exists 16:19
pmichaud the challenging part would be handling :foo'string here'
moritz_ why?
TimToady is :foo("string here") that bad?
pmichaud because foo'string is a valid identifier.
moritz_ oh, right
pmichaud I agree with TimToady++
visually I find that :foo"string here" doesn't look right to me
moritz_ TimToady: it's not that bad really, but I dislike (...) where the parens could be avoided somehow 16:20
anyway, if the majority disagrees, I'll rest my case
jnthn moritz_: all tests pass in handles.t
pmichaud jnthn: \o/
TimToady rakudo: say :foo<string\ here>.perl
moritz_ jnthn: did you unfudge some?
p6eval rakudo 142433: OUTPUT«"foo" => ("string\\", "here")␤»
TimToady alpha: say :foo<string\ here>.perl 16:21
p6eval alpha 30e0ed: OUTPUT«"foo" => ["string\\", "here"]␤»
moritz_ rakudo: say :foo<<string\ here>>.perl
p6eval rakudo 142433: OUTPUT«"foo" => ("string\\", "here")␤»
moritz_ alpha: say :foo<<string\ here>>.perl
p6eval alpha 30e0ed: OUTPUT«"foo" => "string here"␤»
moritz_ rakudobug!
jnthn moritz_: I just ran the .t
;-)
TimToady one outa four ain't bad...
moritz_ jnthn: \o/
jnthn moritz_: will unfudge and spectest
Just in case
moritz_ rakudo: say «a\ b».perl 16:22
p6eval rakudo 142433: OUTPUT«("a", "b")␤» 16:23
16:23 mberends joined
TimToady that's kinda wrong any way you look at it 16:23
16:23 M_o_C left
moritz_ right 16:23
attached to the same ticket
TimToady but I think <> should respect \ 16:24
rakudo: say <foo\>\>\>bar>
p6eval rakudo 142433: OUTPUT«foo>>>bar␤»
moritz_
.oO( this is what it must feel like to be masak :-) )
TimToady works there
space is arguably either way 16:25
16:25 patspam joined
TimToady but I'd argue that it's more like a metachar than like a '\ ' 16:25
rakudo: say '\ '
p6eval rakudo 142433: OUTPUT«\ ␤»
TimToady that's correct, but I think <foo\ bar> should probably not split on that space 16:26
since the clear intent is to de-meta it
moritz_ I kinda thought that < were more like ' + split
and << where more like " + split
s/h//
pmichaud << is quite complex. 16:27
moritz_ pmichaud: I know, I know
TimToady well, << is not really like " complete either
since it allows internal shell quoting
moritz_ but I'm not strongly attached to that notion
pmichaud TimToady: so, inside of single-angles the \ would escape any sort of delimiter?
TimToady I think "clear intent" trumps "A is just a B" here
pmichaud where whitespace is a delimiter in the single-angle case? 16:28
(normally \ only escapes the closing bracket)
TimToady I'll bet it also escapes \ :)
rakudo: say <\\>
pmichaud I'll take that bet. Oh wait, I lose.
p6eval rakudo 142433: OUTPUT«\␤»
16:28 justatheory left
pmichaud yes, it also escapes \ . 16:28
TimToady I think just add whitespace to that 16:29
jnthn .u U+1F489 16:30
phenny jnthn: Sorry, no results
16:31 synth_ left 16:33 synth left 16:40 synth joined 16:50 mmcleric left
colomon loliblogged: justrakudoit.wordpress.com/2010/06/26/99/ 16:54
TimToady wonders if { ... } ==> @result implies an "async" on the {} 16:55
colomon ciphertext: ping-pong?
TimToady so that just putting {} around the source of a feed would naturally be a (non-)sharing boundary 16:56
that is, my @result <<== { stuff() } turns into (my @result).feed: gather async { take {...}() } or some such 16:58
pmichaud jnthn: ping
TimToady s/\.\.\./stuff()/
jnthn pmichaud: pong :-) 16:59
pmichaud jnthn: I'm working on this one....
rakudo: say ({ a => 42 }).isa(Hash);
p6eval rakudo b5bd66: OUTPUT«0␤»
pmichaud the problem seems to be that Hash is a Perl6Role
jnthn rakudo: say ({ a => 42 }).does(Hash)
p6eval rakudo b5bd66: OUTPUT«1␤»
jnthn pmichaud: Yeah, long story ;-)
17:00 alester joined
jnthn pmichaud: We had quite a few things as roles at one time. 17:00
pmichaud so, what's the answer/punch-line ?
jnthn pmichaud: Then switched them to classes.
pmichaud should I switch Hash to be a class?
jnthn Apart from we got collisions with Parrot Hash when switching it to a class.
I cleared up some of them
But then it was still broken. :-/
pmichaud it might not be so broken after my refactors
jnthn Anyway, yes, feel free to change and triage.
pmichaud okay, I'll try it and see what happens. tnx
masonkramer are there any syntax highlighting editors available for p6? 17:01
ash_ phenny tell cygx I have a sample of the frontend up at greaterthaninfinity.com/shell/ if you want to take a look and give me any comments, suggestions, feedback
jnthn cd t\spec
oops
ash_ masonkramer: vim, github.com/petdance/vim-perl
pmichaud masonkramer: perl6.org/whatever/ 17:02
alester Some day I'll have a proper installer for it, masonkramer
for now, just do a "make install"
pugssvn r31452 | jnthn++ | [t/spec] Corret one test and fully unfudge delegation.t.
ash_ ah, even better, i'll have to remember that link
masonkramer excellent, I use vim anyway
jnthn rt.perl.org/rt3/Ticket/Display.html?id=75966 is done but I gotta go afk right now 17:03
dalek kudo: cbf03ac | jonathan++ | src/binder/bind.c:
Fix |$c in method signatures and various other cases; it wasn't quite slurpy
17:05
ash_ there is an old emacs one too i found once, in pugscode somewhere... i think its out of date, but some people do use emacs
cognominal is there an predefined operator to see if arrays are equal? == apparently compares their length 17:06
pmichaud cognominal: eqv, I think. 17:07
TimToady eqv should work, as should ~~
pmichaud cognominal: I don't know if that's implemented in Rakudo yet (for arrays)
cognominal S02 indeed says == is for Nums
moritz_ ~~ DWIMs wrt * 17:08
rakudo: say [1, 2, 3, 4, 5] ~~ [1, *, 5]
p6eval rakudo b5bd66: OUTPUT«1␤»
pmichaud rakudo: my @a = <a b c>; my @b = <a b c>; say @a eqv @b;
p6eval rakudo b5bd66: OUTPUT«1␤»
pmichaud rakudo: my @a = <a b c>; my @b = <a b d>; say @a eqv @b;
p6eval rakudo b5bd66: OUTPUT«0␤»
pmichaud looks like rakudo might have it already.
cognominal rakudo++ 17:09
perl6++
ash_ rakudo: my @a = 1, 2; my @b = 1, 2; my @c = 2, 1; my @d = 1, 3; say @a ~~ @b, @a ~~ @c, @a ~~ @d;
p6eval rakudo b5bd66: OUTPUT«100␤»
moritz_ is_deeply is implemented in terms of eqv
TimToady don't try to backport the ~~ solution to P5 though, since it will auto-any the array, methinks
pmichaud +1 to that
(is_deeply)
ash_ so apparently ~~ on 2 array's order matters, interesting, but it does seem right 17:10
is there a comparison that doesn't care about order? i suppose you could sort...
sorear good morning #perl6
moritz_ all(@a) eqv any(@b) shouldn't care about order
but it's not quite the same 17:11
TimToady you might have to test it both ways
moritz_ mornin' sorear
17:11 patspam left
TimToady eventually Set(@a) eqv Set(@b) 17:11
ash_ rakduo: my @a = 1, 2; my @b= 2, 1; say @a.sort ~~ @b.sort; # seems the simplest, or what TimToady wrote
TimToady I don't think rakudo has sets though 17:12
ash_ well, when its implemented
moritz_ it kinda has them, but... weirdly
jnthn rakudo: say Set;
ash_ helps if i spell rakudo right too
cognominal rakudo: 1 neqv 1
p6eval rakudo b5bd66: OUTPUT«Set()␤»
rakudo b5bd66: OUTPUT«===SORRY!===␤Confused at line 11, near "1 neqv 1"␤»
moritz_ rakudo: say Set.new(1, 2, 3)
p6eval rakudo b5bd66: OUTPUT«Set()<0x4a0cb40>␤»
moritz_ cognominal: !eqv
ash_ rakudo: my @a = 1, 2; my @b= 2, 1; say @a.sort ~~ @b.sort;
p6eval rakudo b5bd66: OUTPUT«1␤»
cognominal there is a !eq as well? 17:13
moritz_ yes
TimToady there's a !op for any boolean op
cognominal makes sense
I should read S03 thouroughly
ash_ rakudo: say 1 !+ 2; # just curious....
p6eval rakudo b5bd66: OUTPUT«0␤» 17:14
pmichaud s/boolean/binary?
TimToady no
colomon !+ shouldn't work
pmichaud okay, good.
TimToady std: 1 !+ 2
p6eval std 31452: OUTPUT«===SORRY!===␤Can't negate + because additive operators are not iffy enough at /tmp/rwD0bAUQxQ line 1:␤------> 1 !+⏏ 2␤Confused at /tmp/rwD0bAUQxQ line 1:␤------> 1 !⏏+ 2␤ expecting infix or meta-infix␤Parse failed␤FAILED
..00…
colomon it's just extra logic to stop it from working, which we haven't implemented yet.
17:14 mberends left
cognominal rakudo sometimes DWHM 17:14
ash_ std: 1 !% 2 # neat 17:15
p6eval std 31452: OUTPUT«ok 00:01 109m␤»
TimToady I think I'm going to make !% a specific operator rather than a meta %
so that it doesn't do NOT-raising
but if I do that, maybe it should really be ?%
17:15 synth__ joined 17:16 synth__ left
pmichaud maybe it really should be ?div :-P 17:16
TimToady thought about that 17:17
confusion with existing div though...
pmichaud agreed.
ash_ $x !?% 3 # for all the times $x isn't divisible by 3
pmichaud but even ?% and !% have the potential to be confusing
moritz_ wouldn't that be !?% then :-) 17:18
TimToady std: say 1 !?& 2 17:19
p6eval std 31452: OUTPUT«ok 00:01 109m␤»
ash_ ?% = boolean, + a ! for not-ing the boolean?
TimToady heh
?& is iffy enough, so maybe ?% can be too
ash_ svn.pugscode.org/pugs/util/cperl-mode.el has the emacs perl6 cperl mode, but its a bit dated and doesn't have all the stuff the modern cperl module has, as a warning, but it could be linked on the page of text editor support since its kinda right 17:20
TimToady I think I could get to like ?%
colomon I think I'd vote for !%
TimToady but it's confusing if you expect/don't expect NOT-raising 17:21
and I can see people expecting both sides of that
17:21 jferrero joined
ash_ rakudo: say 1 !?+ 2 17:22
p6eval rakudo b5bd66: OUTPUT«===SORRY!===␤Confused at line 11, near "say 1 !?+ "␤»
TimToady std: say 1 ?+ 2
ash_ std: 1 !?+ 2
p6eval std 31452: OUTPUT«===SORRY!===␤Confused at /tmp/w11VCCceKy line 1:␤------> say 1 ⏏?+ 2␤ expecting any of:␤ bracketed infix␤ infix␤ infix or meta-infix␤ statement modifier loop␤Parse failed␤FAILED 00:02 109m␤» 17:23
std 31452: OUTPUT«===SORRY!===␤Negation metaoperator not followed by valid infix at /tmp/tNGNolvzBI line 1:␤------> 1 !⏏?+ 2␤ expecting any of:␤ bracketed infix␤ infix␤ infix or meta-infix␤Parse failed␤FAILED 00:01 108m␤»
ash_ just curious
TimToady ? does not generalize like !
colomon but the usual way operators are constructed with a ? prefix implies it's the normal sense of the operator, only boolean-y, which seems to imply to me that logically ?% should be the not-divisible-by operator.
ash_ % is only special because people use it to check things like "are we on the 3rd row?" which is a boolean assumption, correct? 17:24
TimToady how 'bout %%
ciphertext colomon: pong
colomon TimToady: I could live with %%
it doesn't mean anything obvious to me, so it can be whatever we want! ;) 17:25
pmichaud %% doesn't scream "boolean" to me, though.
TimToady it really needs to use % in it somehow, since people are used to seeing $a % 4 == 0
pmichaud %=% or =%= or %==
(just throwing out ideas) 17:26
colomon ciphertext: I should be able to look at series stuff all afternoon. Do need to get some $work done (starting a big test run soon is most important) and probably take a nap.
TimToady there's \% too
pmichaud \ reminds me too much of unspace
ash_ $a ?% 4; vs $a % 4 == 0; vs $a ?% 4; vs $a %% 4; vs $a =%= 4; 17:27
oops ?% is in there twice
TimToady %% probably looks the least cluttered
and the = ones look like assignment 17:28
ash_ ?% is still kinda nice since it implies boolean-ness like it does in other places
TimToady yah
ash_ (in regards to ?)
pmichaud yes, but unfortunately $a ?% $b wouldn't be the same as ?($a % b)
*$b
ash_ good point 17:29
pmichaud that's where I think people might get confused.
TimToady well, it's not like == has a ? on the front of it either
so I'm leaning toward %%
pmichaud how about o//o :-P 17:30
it's a percentage sign with a double-slash :-P
TimToady
pmichaud or even °//o
TimToady ٪
sorear TimToady: What about methods? $object.foo(1, a => 2, 3) isn't lexically bound to a single proto either 17:31
TimToady ÷
ash_ $a modulo 4
pmichaud anyway, %% isn't too bad, so I could live with that.
colomon could be implemented in a couple of minutes.... ;)
pmichaud "gozinta" 17:32
TimToady sorear: it might be sufficient to be able to reconstruct the original parcel from the capture if needed
colomon gozinta!
TimToady gozinta is backwards
colomon atnizog!
TimToady bless you
pmichaud hmmmm, getting \ to work in <...> is a bit nasty. Can no longer just do 'split' on the result. 17:35
I'll wait on that one for when we redo «...» again.
ash_ phenny: tell cygx I have a sample of the frontend up at greaterthaninfinity.com/shell/ if you want to take a look and give me any comments, suggestions, feedback
phenny ash_: I'll pass that on when cygx is around.
ash_ yay it worked this time
TimToady 17:37
ciphertext colomon: i made a sort of checklist for series last night: nopaste.snit.ch/21593 17:38
moritz_ jnthn: btw you also seem to have fixed RT #74336 along the way :-) 17:40
rakudo: my @a = 1,2,3; my (@c) = @a; say @c.perl 17:41
p6eval rakudo b5bd66: OUTPUT«[[1, 2, 3]]␤»
moritz_ gives just [1, 2, 3] locally 17:42
pugssvn r31453 | moritz++ | rakudo unfudges and refudges 17:43
colomon ciphertext: great list
ciphertext thanks 17:44
colomon okay, I see to have started my $work test successfully. 17:45
pugssvn r31454 | lwall++ | [S03] change !% to %% to avoid metaconfusion 17:46
colomon ciphertext: gimme a minute to fix that last change...
sorear finish backlog 17:47
17:47 Ross joined
colomon TimToady: I don't think we ever actually implemented !% 17:47
moritz_ huh 17:48
colomon just picked it up from !op and %
17:48 Chillance left
moritz_ ok 13 - gather with nested while # TODO broken gather/take with while (RT #62178) 17:48
ok 14 - gather with nested loop # TODO broken gather/take with loop (RT #62178)
huh? jnthn++ accidentally the bug?
or pmichaud++? 17:49
colomon :\
sorear autounfudge!
moritz_ rakudo: my @a = gather loop (my $i = 1; $i < 10; $i++) { take $i }; @a.perl.say;
p6eval rakudo b5bd66: OUTPUT«[10, 10, 10, 10, 10, 10, 10, 10, 10]␤»
TimToady autounfudge needs a "don't unfudge 17:50
moritz_ it has
it recognizes 'noauto'
17:50 envi^home left
TimToady good 17:51
moritz_ and also 'unspecced'
colomon rakudo: say ('A' ... *).munch(100)
TimToady bad :)
p6eval rakudo b5bd66: OUTPUT«ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBXBYBZCACBCCCDCECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUCV␤»
colomon > say (1 ... 20) >>%%>> 4 17:53
00010001000100010001
moritz_ evil.
pugssvn r31455 | moritz++ | [t/spec] more rakudo unfudges
ash_ nice 17:54
colomon: that was fast
colomon ash_: now it will take 20 minutes to spectest. :)
ash_ moritz_: was that right? the above gather/take ?
moritz_ ash_: nope
ash_ okay, just curious
moritz_ but here with latest rakudo it just works[tm]
pugssvn r31456 | moritz++ | [t/spec] more rakudo unfudges 17:55
17:56 Transformer joined
colomon ciphertext: the closure on the RHS caveat is because the original series operator spec had the generating closure on the RHS instead of the LHS. 17:58
17:58 Transformer left
colomon But that's the main reason I haven't gotten around to implementing that. 17:58
probably no real reason not to at this point.
17:58 alester left
ciphertext i've got rhs closures on my local version 17:58
TimToady colomon: are you changing the !% spectests to %%? 17:59
colomon TimToady: I haven't done so, no.
ciphertext right now, i'm merging with the current version (by hand)
TimToady I can change 'em, if you'll be checking in the %% fix soon
colomon ciphertext: this is maybe one area of the spec that still needs work, however. one minute. 18:00
TimToady: I'm going to check it is as soon as I spectest, so changes would be timely and appreciated.
pugssvn r31457 | lwall++ | [t/spec] change !% to %% 18:04
sorear TimToady: Is there a good way to use STD to parse a slightly extended Perl 6? (Like some kind of Q:CIL block)
TimToady probably 18:05
colomon ciphertext: It looks to me like the section describing closures on the RHS thinks you call it on the current list, whereas the explicit examples for string functions seem to imply it is called on the current list plus the potential next value of the list.
that is, I can see three ways of doing it:
1. Check closure, terminate if false, otherwise generate next value and "take" it. 18:06
lue ohai
colomon 2. Generate next value, check closure with list and next value, terminate if false, otherwise take new value. 18:07
TimToady ohio
18:07 sftp joined
lue OH :) 18:07
colomon 3. .... guess this is just a variant on #1, though it might make a difference at the beginning of the series? 18:08
3. generate next, take it, check closure with list so far, terminate if false.
I suspect the clean way to implement this is that internally, we always have a closure.
TimToady sorear: you ought to be able to derive from Q and then locally use that for the %*LANG<Q> braid
moritz_ autounfudge finds several new items, Tene++, pmichaud++, colomon++, jnthn++ 18:09
TimToady just be sure to temp %*LANG at the right spot
colomon ciphertext: "what exactly does a signature mis-match imply?" Looks to me like the intent is that if you cannot call the generating function, then the series ends. Don't know how to cleanly implement that, however. 18:11
TimToady sorear: where you aren't actually modifying the base Q language, other than to add a role that can be mixed in with :CIL
colomon rakudo: say (2, 3, 5 ... *).much(20).perl 18:12
p6eval rakudo b5bd66: OUTPUT«Method 'much' not found for invocant of class 'Failure'␤ in main program body at line 11:/tmp/0kHLSNjBQf␤»
colomon rakudo: say (2, 3, 5 ... *).munch(20).perl
p6eval rakudo b5bd66: OUTPUT«Method 'munch' not found for invocant of class 'Failure'␤ in main program body at line 11:/tmp/ke9le3hOtC␤»
18:13 M_o_C joined
colomon ciphertext: I guess the STD may not explicitly specify failure there, but I don't know what else we could sensibly do. 18:13
except now that I think about it, what about the 2, 3, 5 ... 3 case? That should work. :( 18:14
seems to imply correct behavior is to output the LHS case (with appropriate termination checks), and only then try to figure out the implied generating function (if needed). 18:15
ciphertext colomon: re. rhs closures, i like #2; i think it's the most consistent with my understanding of the spec
sorear TimToady: I see
TimToady you usually do :) 18:16
sorear I'd need to somehow hook in code after comp_unit for that, though 18:17
colomon ciphertext: "the spec says 'numeric'..." I suspect this is an oversight. really, it seems like we need three categories: Numeric (ie we can find arithmetic or geometric); Ordered (ie cmp is defined, like Strs); No-nothing (all we can do is call .succ)
sorear anyways this is for a bit in the future
TimToady sorear: that's just 'use STD; grammar MyQ is STD::Q { etc }'
colomon ciphertext: I like #2 as well, but I think it's the furtherest from what the spec says, even if it's what the spec means. We should probably change the spec in this case. :)
ciphertext colomon: re. (2,3,5...3): terminating early should be fairly simple: we already loop through the values on the lhs and 'take' them. adding a 'return if...' to check for limit values. then, it would never get to the code that looks for patterns. 18:18
colomon ciphertext: the mostly eager stuff is very much still in flux, I vote we don't worry about it yet.
TimToady the compiler can probably complain at compile time on the basis of the unrecognized sequence; it's only the RHS that is not known till run time 18:19
ciphertext not worrying yet sounds good :-)
colomon ciphertext: right, that's what I was trying to say back there. :)
(that's right as in never getting to the code that looks for patterns.)
18:20 TiMBuS left
colomon ciphertext: the other thing we should do is take that list of yours and try to make sure we have tests for all the cases. 18:21
ciphertext consider (2,3,5...$n) i'm not sure this should even compile, regardless of the value of $n... it seems kind of dangerous 18:22
TimToady I just saidthat 18:23
ciphertext TimToady: i was just agreeing with you :-)
18:23 envi^home joined
pugssvn r31458 | moritz++ | [helpnow] another idea: Match.new 18:23
TimToady but were you doing it consciously? :)
18:24 envi^home left
pugssvn r31459 | lwall++ | [STD] change !% to %% 18:24
18:26 Mark____ joined 18:28 Mark____ left
ciphertext hmmm... my $a = 2; my $b = 3; my $c = 5; my $n = 3; say ($a,$b,$c...$n); # this can't really complain at compile time. 18:28
18:29 Mark____ joined, Mark____ left 18:30 MarkSenn joined
TimToady no, but that doesn't prevent the compiler from checking when it does know what's there 18:30
which will be almost always 18:31
lue afk
dalek kudo: a579f8e | pmichaud++ | build/PARROT_REVISION:
Bump PARROT_REVISION, fixes RT #71462.
18:33
18:34 MarkSenn left, rv2733 left
pugssvn r31460 | pmichaud++ | [t/spec]: Unfudge passing test for RT #71462. 18:44
Tene "By studying children who learned NSL at various stages of its development, Pyers has shown that the vocabulary they pick up affects the way they think. Specifically, those who learned NSL before it developed specific gestures for left and right perform more poorly on a spatial awareness test than children who grew up knowing how to sign those terms." -- ... 18:47
... blogs.discovermagazine.com/notrocke...s-thought/
pugssvn r31461 | lwall++ | [STD] change 'not iffy enough' from .sorry to .panic 18:49
ash_ so, if i think i am going to start working on the tutorials for the try.rakudo.org shell, and the first example in the rakudo book is incredibly complicated if you don't know perl... 18:50
dalek kudo: 7102d7c | (Solomon Foster)++ | src/ (2 files):
Implement infix:<%%> "is divisible by" operator.
19:02
ash_ moritz_: hey, i have a question about try.rakudo.org (and perl6 documentation) 19:04
19:04 cono left
moritz_ ash_: sure 19:04
19:04 tylercurtis joined 19:05 cono joined
ash_ is there anywhere you can look up perl6 related terms? I wanted to have a: "help <term>" so you could get more information on a term that you might not know, like if we say "This operation is iffy" they could say help iffy and get a definition for how we use it in perl6 19:05
moritz_ ash_: 'grok' tried to implement such a function, I think 19:07
ash_ if there is one thats started, that would be cool, if not we can always start fresh
moritz_ github.com/hinrik/grok
19:09 hmmm joined
hmmm hello 19:09
does perl6 have filehandle arrays? Seems perl5 does not for some very strange reason... 19:10
TimToady filehandles aren't special in Perl 6; they're just normal objects, so a normal array of filehandles will work 19:11
hmmm Sounds great, why do you think perl5 does not have for example FH[$i]? 19:12
ingy greetings 19:14
TimToady there are ways to get the same effect in Perl 5
pugssvn r31462 | pmichaud++ | [t/spec]: Fix and unfudge test for RT #67218 in pair.t .
ingy seen patch
19:15 felliott left
TimToady open(my $newhandle, "file"); $FH[$i] = $newhandle 19:15
patch ingy: hi
ingy patch!
i was wondering if you would like to set aside a few hours to hack on testml tomorrow? 19:16
as in pairing... 19:17
19:17 masak joined
masak oh hai, #perl6! 19:17
ingy greetings masak
patch sure. in the afternoon or night. anytime after lunch really.
TimToady ohio
hmmm That's elightening, did not know that'd work (use strict/warnings), but that may get me where i want to go. How does Perl6 plan to do the FH arrays?
TimToady hmmm: it doesn't need to do anything special 19:18
masak ingy: how's YAML-in-Perl-6 coming along?
sorear hmmm: FH in Perl 5 is quasi-deprecated; all the cool people store filehandles in scalar variables (new feature in 5.6)
ingy masak: patch and I are currently porting testml to p6
masak: then we will port jsync
masak what's jsync?
ingy which is a poor man's yaml
masak aha. 19:19
ingy masak: www.jsync.org/spec/
masak peruses
hmmm using 5.12, not looking back, guess i learned something old and got stuck...
ingy masak: search.cpan.org/dist/JSYNC/
masak doesn't look so poor-man's. looks quite powerful to me. 19:20
ingy masak: so we will definitely have jsync done for rakudo star
masak: :)
sorear Think of JSYNC as "YAML, but without the 200 page specification"
masak right. 19:21
ingy masak: it doesn't afford the human niceness
sorear (seriously, how did they make yaml so complicated?)
ingy sorear: well the jsync spec simply points to the yaml spec for tags and stuff
sorear: you mean me?
:) 19:22
I think it was the TimToady in us :)
ingy <3 the YAML spec. 19:23
sorear it's been a while; I forgot who all was on the author list
ingy :)
19:23 M_o_C left
sorear wanders off to reread it 19:24
ingy masak: after that we can talk about binding libyaml into rakudo
tylercurtis rakudo: ([&&] 1, 3, 5, 0, 1).perl.say
p6eval rakudo a579f8: OUTPUT«===SORRY!===␤Could not find sub &infix:<&&>␤»
tylercurtis rakudo: ([||] 0, 0, 0, 1).perl.say 19:25
pmichaud what part of the spec describes the assignment of Nil to variables?
p6eval rakudo a579f8: OUTPUT«1␤»
tylercurtis Why is it that [||] works in Rakudo but && does not?
pmichaud I'm thinking that [||] must be specially defined as an operator, while [&&] is not. 19:26
TimToady S02:2162
pmichaud TimToady: thanks
masak ingy: I had faked YAML enough in proto to be able to use it for simple config-like files. really only one level hashes, very predictable. for pls I decided to use JSON::Tiny by moritz_++. it's not faked, but I think it imposes quite a speed hit.
ingy nod 19:27
ash_ moritz_: github.com/moritz/try.rakudo.org/bl...s/index.js does that outline look alright for chapter progression
ingy patch: our grammar didn't work for quoted strings... 19:28
patch: I'll commit a failing test...
tylercurtis pmichaud: that looks to be the case.
patch ingy: when is good for you tomorrow?
19:29 quietfanatic joined, alester joined
ingy patch: when is after lunch? 19:31
masak ooh, a spec change. 19:34
I guess the clues for why are to be found in the backlog.
ingy patch: let's start at 1PM EST 19:35
pugssvn r31463 | pmichaud++ | [t/spec]: Unfudge infinite range tests in range.t . 19:37
patch ingy: was just checking my lunch plans. let's push it to 2pm. ok? 19:38
ingy: well, EDT, not EST. 18:00 UTC, that is.
moritz_ ash_: outline looks great 19:39
19:39 cygx joined
hmmm Will Perl6 will support this syntax for example? open($FHA[$i], "$filename[$i]",); { do some things; } close ($FHA[$i]); 19:39
moritz_ ash_: I would have put strings before lists, but it works either way
cygx hi
phenny cygx: 17:35Z <ash_> tell cygx I have a sample of the frontend up at greaterthaninfinity.com/shell/ if you want to take a look and give me any comments, suggestions, feedback
sorear hmmm: no 19:40
moritz_ hmmm: nearly; $FHA[$i] = open $filename[$i]; ...
sorear hmmm: filehandles in perl 6 aren't special. at all.
TimToady not syntactically special, anyway
tylercurtis pmichaud: I made a patch to add infix:&& and infix:and, I'll submit it once I make sure it doesn't somehow break anything(or, at least, nothing that is tested by "make test" or "make spectest").
sorear alternatively, my $FHA = $filename.map(&open) 19:41
ingy patch: sounds good
ash_ moritz_: i was thinking of starting with basic stuff, like math, and moving from there, and a list of numbers seemed pretty basic, (strings are lists of numbers in a lot of languages :P) but i could move them sooner
TimToady sorear: um, why the map for a single filename?
cygx what's the status of Sockets, DBI and non-blocking IO in Rakudo? 19:42
sorear TimToady: $filename is an array
TimToady then it should be named $filenames :P
sorear unless by $filename[$i] earlier he meant @filename[$i]
TimToady he probably did
ash_ moritz_: anyway, i'll work on that some more tonight, going to spend some time with my girlfreind & 19:43
TimToady hmmm: so more like: my @FHA = @filename.map(*.open)
moritz_ ash_: the main motivation is that if you introduce strings first, it's easier to explain that lists can hold any types
ash_: have fun
sorear TimToady: Why does Str care enough about files to have an .open? 19:45
hmmm $filename[$i] is an indexed element of array @filename and $FHA[$i] is an indexed element of my filehandle array @FHA
TimToady hmmm: only in Perl 5 19:46
sorear hmmm: in Perl 6, an element of @filename is @filename[$i]
TimToady those are spelled @filename[$i] in P6
pugssvn r31464 | moritz++ | [t/spec] more rakudo unfudges
r31465 | moritz++ | [t/spec] more rakudo unfudges
TimToady well, *.IO will probably work, if *.open doesn't... 19:47
hmmm P6 is using better syntax perhaps ;)
sorear @filenames».IO».open?
19:47 Trashlord left
TimToady IO probably defaults to readonly open anyway, if you do anything to read from it 19:48
ingy would approve
sorear ++ to whoever thought to put Camelia in the topic, btw
What is "IO" semantically?
19:49 Trashlord joined
TimToady an abstract handle that can do a few dwimmy things 19:49
the idea is something of ingy's from P5 19:50
sorear How is it not a File? Or a Path?
TimToady so IO("in") ==> IO("out") would copy a file
though in P5 he did it with overloading existing operators
but it's representing the file in the abstract until you do something with it, so "foo".IO.e just tells you if the file exists, and doesn't necessarily have to open it, unless we decide to do so to avoid races 19:52
ingy :) 19:53
TimToady and .IO workds because it's a coercion
ingy: that's why I keep trying to get you to rewrite the IO pod :)
so there's no IO method in Str 19:54
ingy TimToady: it's on my stack :)
TimToady yes, but since it got pushed some time ago, it just keeps getting deeper, since that's how stacks work
maybe you need a fifo
19:55 plobsing joined
ingy it's just below <replace pod> ;) 19:55
TimToady Aw, kwid it!
in theory you can just say =use kwid and off you go... 19:56
ingy I would gladly review and comment on a document describing IO ala IO::All
but I can't drive it at the moment 19:57
it would Bind me ;)
TimToady we can't just assign it to you?
std: say 1 !% 2 19:58
p6eval std 31462: OUTPUT«===SORRY!===␤Can't negate % because multiplicative operators are not iffy enough at /tmp/IOOocy67do line 1:␤------> say 1 !%⏏ 2␤Parse failed␤FAILED 00:01 112m␤»
ingy I'm a python guy, ya know...
TimToady std: say 1 %% 2
p6eval std 31462: OUTPUT«ok 00:01 109m␤»
ingy crap
TimToady we all have our faults
ingy every time p6eval prints french quotes it borks my screen session 19:59
TimToady how 'bout you get into the 21st century and enable UTF-8
Juerd Do you want help fixing your screen?
ciphertext colomon: updated series feature list w/test information: nopaste.snit.ch/21594
ingy anyway, YAPC events made me switch a new project from python to p5 20:00
Juerd Does it blow up everytime someone writes "döt Net" too?
ingy Juerd: please
hmmm Borked here too w/ FF 3.6 & UTF-8...
ingy TimToady: I have utf-8 enabled everywhere
TimToady apparently not
moritz_ ingy: does it work without screen on that console?
ingy except the some unknown place, yah
moritz_ Ctrl+A :ut8 on
Juerd If it's linux, it's a broken locale :) 20:01
Is it linux?
moritz_ s/ut8/utf8/
ingy yes
Juerd ingy: In screen, what does locale output?
TimToady is LANG=en_US.UTF-8 ?
sorear TimToady: How is .IO not a method on Str?
pugssvn r31466 | pmichaud++ | [t/spec]: Refactor/refudge some tests in sigils-and-types.t
TimToady any coercion may be defined on either end 20:02
so it could be a method on string, but it's supposed to know that *.IO fails over to IO()
20:03 Trashlord left
TimToady because IO is a type 20:03
ingy evidently utf8 on was not in my .screenrc
added and rejoined
TimToady std: say "hi to ingy"
ingy std: say 1 !% 2
p6eval std 31466: OUTPUT«ok 00:01 111m␤» 20:04
std 31466: OUTPUT«===SORRY!===␤Can't negate % because multiplicative operators are not iffy enough at /tmp/Jk_lnpcL7a line 1:␤------> say 1 !%⏏ 2␤Parse failed␤FAILED 00:01 109m␤»
Juerd ingy: It doesn't have to be on.
ingy: That is, screen enables it automatically if you use the right locale.
ingy Juerd: it seems to work now
Juerd ingy: That's good enough :)
TimToady you sure it was the utf-8 and not the colors?
Juerd Still you may want to look at your locales (locally, remote, and remote+screen) if you encounter more utf8 breakage.
ingy Hiragana (平仮å, ã²ãã㪠or ãã©ã¬ã?) is a Japanese syllabary,
hmm, that didn't work 20:05
TimToady hmm, that was mojibake here
Juerd That looks lovely. juerd.nl/i/1de78c205cf7750f4017734309ddc798.png
ingy maybe irssi
TimToady copied from a Big-5 window maybe?
Juerd Irssi too Just Works if the locale is correct
ingy en.wikipedia.org/wiki/Hiragana
Juerd But you may force it with /set term_charset UTF-8
ingy utf8
TimToady 平仮名, ひらがな or ヒラガナ 20:06
works fine for my paste
ingy <@TimToady> ??????, ???????? or ????????
masak ok, I think I've learned to like %% now. TimToady++ :)
TimToady: does this change mean that the concept 'iffy' isn't needed any more?
TimToady on the OUTPUT lines above, is there and extra ^A before the « and such
masak: no, it doesn't 20:07
Juerd just looked up %%. I thought !% did that.
TimToady it dide
*did
now it doesn't
Juerd Because % isn't a comparing op? 20:08
masak Juerd: there was a deja vu, er, spec change today.
ingy I have term_charset = "utf-8"; in my irssi conf
under settings
Juerd ingy: But how about your locale? :)
ingy Juerd: checking
TimToady because it was confusing people about NOT-raising, and we could agree one whether it was better with ?%
*couldn't
Juerd ingy: Check everywhere: local terminal, remote terminal, remote screen
20:08 molaf joined
Juerd TimToady: I see 20:09
TimToady what the heck is the matter with my "n't" key these days?
Juerd I wonder what your keyboard looks like
TimToady it's that extra red key between n and t that comes on thinkpads 20:10
when I press it, it does work
*n't
moritz_ lol
Juerd My thinkpad must be broken 20:11
ingy Juerd: nopaste.snit.ch/21595
masak I was always a fan of that extra red key on ThinkPads.
Juerd "Problem desciption: n't key broken" I'm sure they'll understand and send me a new one.
ingy Juerd: looks like my linux server needs locale fix
Juerd ingy: Yes. One option is to allow ssh to copy the environment variables. The other option is to hard-code it in your profile/bashrc/whatever 20:12
TimToady and your Mac is LANG=C
which might be a problem
Juerd Ah, that too
TimToady I *only* set LANG 20:13
sorear ponders that %% should maybe be spelled |
TimToady well, I set *only* LANG
sorear with the arguments flipped, ofcource
cygx moritz_: I think the 'Controller' part of try.rakudo.org can actually be implemented in Perl6
Juerd ingy: You'll have to restart screen to really fix things. 20:14
ingy export LC_ALL=en_US.UTF-8
?
Juerd ingy: After you've fixed the locale itself, that is
ingy: Like TimToady, I just set LANG
export LANG=en_US.UTF-8
20:14 sorear sets mode: +o masak
ingy ok 20:14
moritz_ cygx: yes, works for me
Juerd Then, check with locale if it picked it up
ingy I share my dot files anyways
Juerd If it doesn't, you're probably running Debian :)
masak sorear: infix:<|> is... taken... :)
TimToady sorear: um, I think | is taken
ingy ubuntu
Juerd In which case the fix is to add en_US.UTF-8 to /etc/locales and running update-locales) 20:15
s/\)//
TimToady ==> $mt_vernon_OH; 20:18
&
pugssvn r31467 | pmichaud++ | [t/spec]: Update fudging, mark test as possibly bogus.
20:19 molaf left
hmmm Has Perl6 made array of arrays (AoA) simple to index? perl5 was not so simple imho... 20:21
tadzik yep
cygx moritz_: we'd have to use POSIX:from<perl5> for non-blocking IO and MySQL, since that's what FakeDBI currently supports, but it seems workable
sorear Uh, the Perl6 way is the same as the Perl5 way
tadzik arrays do not flatten like in Perl 5, so you can just use 2-dimensional arrays, not array of arrayrefs
sorear @AoA[2][3]
cygx moritz_: it also might be a good idea to use a global controller instead of spawning a new one for each session...
pmichaud is "sink" specced to return Nil? 20:22
20:24 mmcleric joined
hmmm Perl5 AoA were not so simple to code/use, so i hope it is better in Perl6. =) 20:27
ingy restarts screen and irssi 20:28
20:29 ilogger2 joined
masak hmmm: you should check out S09, and see if it is to your liking. 20:29
hmmm Thxs All! =) gotta run...
Huh, S09? 20:30
masak spec.pugscode.org/
perlcabal.org/syn/S09.html 20:31
hmmm thxs, gotit.
masak enjoy.
20:33 ingy joined
sorear « 20:33
ingy agana (平仮名, ひらがな or ヒラガナ) is a
sorear loud and clear.
ingy seems nice!
:)
screen flashed a msg saying something about utf8 on and window 20:34
when I started it
20:36 ilogger2 joined
ingy it flashed: /home/ingy/.screenrc: utf8: window required 20:36
masak the section "Autosorted hashes" by the end of S09 seems to raise more questions than it answers. is there really a pressing need to keep that section.
at the risk of repeating myself, the solution it proposes sounds like an excellent job for a (non-core) module. 20:37
:)
jnthn o/ 20:40
masak lolitsjnthn!
how's the workshop?
jnthn Workshop has been nice
mberends++ gave a nice talk :-) 20:41
And I've drunk some nice Belgian beer. 20:42
So, all around, pretty good. :-)
ingy Juerd: now I have nopaste.snit.ch/21596 20:44
Juerd: which is why I prolly set LANG=C in the first place 20:45
:\
pmichaud rakudo: say (&infix:<cmp>).count
p6eval rakudo a579f8: OUTPUT«Method 'count' not found for invocant of class 'Perl6MultiSub'␤ in main program body at line 11:/tmp/nQ1mO92fSP␤»
jnthn :( 20:46
Not that I'm sure that that'd do at the moment
Probably the proto should decide the answer.
moritz_ [max] &multi.candidates».count ? 20:47
pmichaud rakudo: say (&infix:<cmp>).?count.WHAT
p6eval rakudo a579f8: OUTPUT«Parcel()␤»
moritz_ erm
pmichaud that's the problem.
moritz_ Nil 20:48
isn't that supposed to be the outcome
jnthn Yeah, I think so.
pmichaud yes, but iirc, Nil is defined
which means that &infix:<cmp>.?count is defined if .count isn't available.
jnthn oh sh... 20:49
:|
I'm sure I had .? doing something different in the past.
pmichaud looks a bit
jnthn And then changed it to Nil to match spec or something.
Juerd ingy: Do what the message says. Please check, etc.
jnthn .? should certainly return something undefined when there's no method found, anyway.
I had it as a Failure once but apparently that was "too hard" :-) 20:50
ingy Juerd: I did
no worky
pmichaud $object.?meth(@args) # calls method if there is one, otherwise Nil
S12:849
Juerd ingy: Is this on the Apple or on the Linux box?
ingy that Perl on my linux box seems to want LANG=C
jnthn pmichaud: I think we were in line with spec there. 20:51
pmichaud: I'm surprised that Nil is defined.
ingy 5.8.8
Juerd ingy: Is your locale listed in /etc/locale.gen?
jnthn s/think/thought/
pmichaud jnthn: since Nil is just () it's an empty container
there are quite a few spectests (that we fail) that expect Nil to be defined
jnthn :S
pmichaud I was fixing those when I ran into this failure :) 20:52
jnthn OK, so maybe .? should not return Nil then :-)
Which is what I said before. ;-)
If it's not Nil and it's not Failure though, I'm at a loss as to what it should be.
pmichaud Since method calls are performed directly on
any object, C<Nil.defined> returns C<True> just as C<().defined> does.
(S02:2159) 20:53
ingy Juerd: nopaste.snit.ch/21597
jnthn Aye, I'm not disputing the spec says that Nil is defined and .? returns Nil.
I'm just saying I think that's the wrong decision.
(for .?)
pmichaud jnthn: right, I'm just verifying that something is inconsistent somewhere. :)
jnthn Yeah, it is.
I'm not sure what the right answer is. Personally I'd say it's a Failure object. 20:54
ingy Juerd: seems like the same string as LANG
jnthn Which is how we once had it, but apparently that was too explodey.
pmichaud it's probably not Failure, because the method itself could've returned Failure 20:55
there's "failure to dispatch" and "dispatched and method returned failure"
although having $foo.?xyz return Failure seems like it loses less information if it returns a failure 20:56
jnthn Well, the "method could have returned it" probably holds up for just about any return value we could choose?
pmichaud if it just returns Nil, we don't ... right
(we don't know if it was unable to dispatch or dispatched and got Nil back) 20:57
jnthn Right, Nil is the "obvious" answer in that sense, just that it's defined.
Oh, yes...
It could return Nil
Heh :-)
Juerd ingy: Yes. Run locale-gen 21:00
ingy: Might fix things.
moritz_ masak: the tests in the pls branch of proto seem build out
*bail out
masak checks
moritz_ t/subcommands/build.t ............... 1/31 No such project: fetched in 'App::Pls::Ecosystem::Hash::project-info' at line 59:lib/App/Pls.pm 21:01
masak hm.
did I destroy something while creating the proof of concept? 21:02
pmichaud I think I can work around the .? issue for the moment.
ingy Juerd: with what options?
I ran locale-gen;perl and got the same thing...
masak moritz_: confirmed. thanks for reporting. 21:04
21:06 ilogger2 joined, timbunce joined
ingy Juerd: for now I'll start screen/irssi with utf8 and then go back to C 21:07
until I figure it out I guess
at least everything works now... :\
Juerd (and the rest of you): many thanks 21:08
masak moritz_: fixed, pushed. moritz_++
ingy so much nicer
oooo
Camelia has an ö 21:09
masak :)
ingy I feel so close to P6 now
moritz_ masak: confirmed
masak: if you saw my last commit to proto/pls, you also know what I've been working on today 21:10
ingy »ö« döt Net
masak moritz_: saw it, and retroactively give my permission :) keep up the good work.
ingy My little sis
masak (permission to push to that branch, I mean. probably good to keep that file up-to-date)
ingy: it's so fascinating seeing the range of reactions to Camelia. 21:11
ingy: I think I mostly prefer the company of your side of the spectrum. :P
ingy :D 21:13
Juerd ingy: I wish I understood what is wrong. 21:15
21:17 ilogger2 joined
tylercurtis moritz_, rather. 21:17
moritz_: I'll be disconnected for the next few minutes. Feel free to respond via purl or wait until I return. 21:21
pmichaud sub xyz() { return; }; say xyz().defined; 21:24
rakudo: sub xyz() { return; }; say xyz().defined;
p6eval rakudo 7102d7: OUTPUT«0␤»
pmichaud empty return() returns Nil, yes? 21:25
ingy Juerd: it seems like it's /usr/bin/perl being picky...
Juerd: I've seen that error from Perl a zillion times 21:26
Juerd: try LANG=x perl
Juerd: when I try 'LANG=x perl' on OSX perl doesn't care, but on linux it does 21:29
maybe TimToady knows... 21:30
jnthn pmichaud: Yeah, should just be an empty Parcel
masak www.audreyt.org/rakudo-camelia-sri.png # _sri++ audreyt++
pmichaud fixes spectests for empty return. 21:31
I just _know_ that I'm going to switch everything around based on Nil being defined, and then we'll have to switch it all back. :-| 21:32
rakudo: my @array; say @array ~~ Nil;
p6eval rakudo 7102d7: OUTPUT«1␤»
ingy Perl's moaning about locale problems can be silenced by setting the environment variable PERL_BADLANG="0" 21:33
ingy tries 21:34
Juerd: PERL_BADLANG="0" worked... 21:35
21:43 MarkSenn joined
Juerd Impressive 21:46
21:54 tylercurtis joined 21:55 MarkSenn left 21:57 tylercurtis left 22:00 Ross joined 22:05 FardadJalili joined
sorear Why is there so much hate for Camelia? 22:11
colomon considering that Perl's traditional mascots are camels and onions, that's a real good question. :) 22:12
sorear Who uses the onion? 22:13
colomon the perl foundation, maybe?
they were all over the yapc::na stuff
(onions, I mean) 22:14
masak sorear: Camelia is provocative. those whose criticism includes the keywords "7-year old girls", "kindergarten" or "epillepsy" have simply taken the bait. :)
sbp yeah, I don't understand either 22:15
I think Camelia is extremely good
maybe that's the problem though
22:18 Ross left
ciphertext solomon: updated series list: nopaste.snit.ch/21598 (i'm debugging/testing the items marked 'K' right now) 22:19
*colomon
colomon got it. 22:20
22:20 Ross joined 22:27 Ross left 22:32 M_o_C joined 22:48 eternaleye joined
pugssvn r31468 | pmichaud++ | [t/spec]: Clean up (and unfudge) some tests involving Nil, sink, and undef. 22:49
dalek kudo: 92d0c1c | pmichaud++ | src/Perl6/Actions.pm:
Empty statement list should return Nil.
22:53
kudo: ac1c280 | pmichaud++ | src/builtins/assign.pir:
Assigning Nil to a container resets it to type.
kudo: fd5e2e7 | pmichaud++ | src/builtins/Parcel.pir:
Parcels are always defined (even Nil).
kudo: d401972 | pmichaud++ | src/core/List.pm:
$obj.?method returns Nil, not undef.
kudo: 2334011 | pmichaud++ | src/Perl6/ (2 files):
Add statement_prefix:sym<sink>.
diakopter sorear: re: camelia, imho people don't like it b/c of the maximally-saturated colors, many adjacent high-contrast boundaries (line drawing), lack of Web 2.0 gradients/sheens, and lack of 3D/perspective/shadow. I'm not saying I don't like it for those reasons. 22:54
colomon sink!
22:59 ashleydev joined
diakopter sorear: personally, I like the shapes and attitude portrayed in Camelia, but not the flattening. If someone were to make a 3d model and render it with lighting and shadows and atmosphere :)..... well, then, ... 23:00
23:14 FardadJalili left 23:20 M_o_C left 23:24 cotto joined, sftp joined
ciphertext ok... this is weird: when i run "make t/spec/S03-operators/series-arity2ormore.t" or "make spectest", i get a bunch of failures, but if i run "perl6 t/spec/S03-operators/series-arity2ormore.rakudo" or run the failing tests by hand (in REPL or in a file), they pass... 23:26
23:29 mmcleric joined 23:34 mmcleric left 23:36 Transformer joined 23:39 Transformer left
ciphertext (d'oh... i forgot 'make spectest' doesn't do 'make install' for you ) 23:45
23:53 eternaleye left, Psyche^ joined 23:55 Psyche^ is now known as Patterner 23:59 Kodi joined, justatheory joined