pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | evalbot: perl6: say 3; (or rakudo:, pugs:, elf:, etc) | irclog: irc.pugscode.org/ | ~340 days 'til Xmas
Set by mncharity on 16 January 2009.
pugs_svn r25004 | lwall++ | [STD] implement unary associativity as specced, mtnviewmark++ 00:06
pugs_svn r25005 | lwall++ | [STD] fake-infix adverbs interact badly with last fix 01:03
pugs_svn r25006 | putter++ | [elfparse] Update to spec: the old <?foo> is now spelled <.foo>. Also /'a'/. 02:58
pugs_svn r25007 | putter++ | [elfparse] Uncommented a bit more of std.pm. Fixed <before> argument passing. 03:21
frew Hey all 04:16
I was looking into helping out with some stuff
and I wanted to make sure my test was right because everything seems to fail it
Specifically in TASKS for S29 it says that positional args should work for lots of builtins 04:17
but they don
't
mtnviewmark 'allo all! 06:18
anyone here have a sense of the current thinking about various quote forms?
there seem to be, well, alot of them that are just aliases
like rx/.../ m/.../ and /.../ I think are all the same thing! 06:19
mtnviewmark and I know TIMTOWTDI -- but just wondering -- since there is (surprise) difference between S02 and STD.pm 06:20
mberends mtnviewmark, the people here can not to be trusted to answer that last question very well. the more knowledgeable ones here tend to forward that sort of question to perl6-language (p6l) but I don't know what happens there... 06:33
mtnviewmark ah - okay, well.. i'll write it up and forward there then
mberends I would put my $0.02 on the Synopsis, fwiw 06:35
because TimToady cares for and feeds it 06:37
pugs_svn r25008 | Ovid++ | pugs: Add trim_start and trim_end tests per P6L discussions. 08:04
pugs_svn r25009 | moritz++ | [t/spec] skip dying tests in trim.t instead of jut TODO'ing them 08:31
ruoso Hello! 10:57
mberends_ echo, echo, echo hello! it's super quiet here today 10:58
pmurias hi 11:23
rindolf Hi pmurias 12:06
masak non-locking reading of individual characters: will such a thing be implementation-specific? 12:14
jnthn masak: non-locking? 12:16
Or non-blocking?
masak jnthn: the latter.
like $INKEY in QBasic.
moritz_ masak: just write it in S16, then everybody has to implement it :-) 12:17
masak moritz_: good idea. :) I wish I were that bold.
jnthn masak: There should be a standard way to do it in Perl 6.
How implementations implement it is up to them.
masak jnthn: really? that makes me very glad.
jnthn I woulda thought so.
I think it's possible on most platforms... 12:18
AIO and all that.
masak right.
suggestions for a reasonable syntax?
masak (plus reasonable values for 'no key yet' and for strange keys like the arrow keys) 12:19
moritz_ masak: $STDIN.getc(:!block) 12:21
masak moritz_: you mean, $*IN, of course.
moritz_ erm, yes :)
masak maybe something positive instead of :!block ? 12:22
jnthn :async?
moritz_ where it would just return an empty string, and on error it would fail()
jnthn is horrid at syntax
irclogs?
purl, irclogs?
moritz_ no purl in #perl6 12:23
irc.pugscode.org
jnthn ooh, channel fail
masak jnthn: not at all. it's a feature that purl isn't here. 12:24
the logs are in the topic.
masak likes :async
jnthn masak: More of a fail on my part for thinking I was on #parrot 12:25
mberends looking at keyboard interactive code on various systems, it is definitely platform specific 12:26
moritz_ perl has a long history of abstracting away such things
mberends ja, perl5 has modules that automagically map to the underlying drivers 12:28
masak nevertheless, I'm pleasantly surprised to hear that it'll be available in core. that will surely help when writing the kind of programs that need async getc. 12:33
jnthn masak: Just because I'd expect it to be, doesn't mean it will be. ;-) 12:34
pmurias hi rindolf 12:37
rindolf pmurias: what's up?
jnthn masak,moritz_: Which one of you was it that did the Perl 6 prelude, or who I need permission from to do stuff with it, or a commit bit? 12:38
As in, the one for Rakudo...
moritz_ jnthn: it was me...
jnthn OK
moritz_ jnthn: you need a gmail email adress, then I can give you commit bit 12:39
jnthn I'm pondering starting to fill out the array/hash roles
jnthnwrthngtn
I can't just call them Array and stuff as it'll conflict.
Maybe P6PArray etc?
But it'd mean I can actually get typed arrays working somewhat. 12:40
jnthn And then when the prelude "goes official" they can just be renamed and become the real ones. 12:40
Does this sound OK to you?
moritz_ sure 12:41
jnthn: ok, you are a project admin now... code.google.com/p/rakudo-prelude/source/checkout for instructions
jnthn moritz_: Thanks. Going for lunch/walk now, will play later. :-) 12:42
pmurias rindolf: i'm studing CS now; smop now has basic p5 interop
rindolf pmurias: ah. 12:43
moritz_ jnthn: have fun... I'll be offline during the weekend, feel free to do with that repo whatever you want 12:44
pmurias rindolf: i find the "what's up?" question too generic to anwser accuratly ;) 12:45
rindolf pmurias: OK. 12:46
I'm trying to optimise File-Find-Object now.
jnthn moritz_: I'll try not to do anything too awful. ;-) 12:47
moritz_ jnthn: it keeps track of the revision... I can always restore the previous state :-)
jnthn :-P 12:48
rakudo_svn r35910 | pmichaud++ | [rakudo]: spectest-progress.csv update: 295 files, 6523 passing, 0 failing 14:00
mberends pmichaud: ping 14:31
pmichaud pong 14:34
mberends if you have a few minutes, I would appreciate you looking at and doing 'Try it out:' from github.com/eric256/perl6-examples/b...d/Makefile 14:36
no harm will come to your computer or your pets
pmichaud sure, just a bit. 14:36
PerlJam mberends: why build parrot each time? 14:42
pmichaud what am I supposed to be looking for/at ? 14:43
mberends sorry, the code is incompatible with latest parrot/rakudo. the looking for/at was that some later parrots cause that PGE;Match message mentioned yesterday. 14:49
pmichaud okay, I can look at that. 14:50
mberends with r35309 (pre rvar2) it shows you Pod::Parser running some tests of pod6 in Rakudo 14:51
that $*ERR sure would help troubleshooting on latest rakudo... 14:52
pmichaud I get: 14:56
precompile Parser.pm -> Parser.pir
Statement not terminated properly at line 162, near "{ self.par"
mberends oops, error has changed. I hope it runs with the suggested r35308 though, did you try that also? 15:01
pmichaud I can run it with r35308; what am I looking for there? 15:02
mberends The immediate goal was to reproduce the PGE;Match under your eyes, but the latest error is different so I'm failing on that. The broader goal was to show you some Pod6 tools that masak and I plan to beef up for his U4X project. Did you ever see a prove and Test::Harness written in Perl 6 before? 15:09
pmichaud no, haven't seen those. 15:10
I'm waaaaay behind on being able to review things :-|
I don't know why you're getting the latest error, it looks like it should be okay to me. 15:11
(but haven't looked in great detail)
mberends I cannot suggest other actions right now. thanks for looking, and I'll try to get that PGE;Match for you another way. TiMBuS may have spotted a grammar / regex bug for me this morning. Again thanks, I'll stop distracting you for today. 15:13
pmichaud I'm still planning to work on $*ERR this morning. 15:14
mberends excellent
pmurias ruoso: i'm thinking that tools/ri could generate the do all work in a m0ld block style methods 16:13
pmurias ruoso: ping 16:30
szabgab std: my %h{<a b>}; 17:28
p6eval std 25009: OUTPUT«00:05 84m␤»
szabgab rakudo: my %h{<a b>}; 17:29
p6eval rakudo 35913: OUTPUT«Statement not terminated properly at line 1, near "{<a b>};"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
perl7 I just download 0.9 version on Windows Vista. If I do: "perl6 -e 1", I get "load_bytecode" couldn't find file 'PCT.pbc' error .... why? 17:30
perl7 was anyone able to run parrot 0.9 on windows vista? 17:35
szabgab std: my %h; exists %h{'a'}; 17:43
p6eval std 25009: OUTPUT«Unknown routines:␤ exists called at 1 ␤00:05 84m␤»
szabgab std: my %h; %h{'a'}:exists;
p6eval std 25009: OUTPUT«00:05 87m␤»
szabgab std: my %h; %h{'a'}.exists; 17:44
p6eval std 25009: OUTPUT«00:05 84m␤»
szabgab So if I understand correctly there is no "exists" function in main just an exists method of the hash and and exists adverb 17:45
pugs/t/spec/S29-hash/exists.t seems to think otherwise
szabgab rakudo: my %h; %h{'a'}.exists; 17:46
p6eval rakudo 35914: OUTPUT«Method 'exists' not found for invocant of class 'Failure'␤current instr.: 'parrot;P6metaclass;dispatch' pc 287 (src/classes/ClassHOW.pir:145)␤»
TimToady if there is a .exists method, it would be used %h.exists('a') 17:48
szabgab rakudo: my %h; %h.exists('a'); 17:49
p6eval rakudo 35914: RESULT«0»
szabgab std: my %h; %h.exists('a');
p6eval std 25009: OUTPUT«00:05 84m␤»
szabgab std: my %h; %h{'a'}.exists;
TimToady std won't tell you if there is a method of that name :)
p6eval std 25009: OUTPUT«00:05 84m␤» 17:50
szabgab so the last one is a mistake ?
TimToady std: my %h; %h{'a'}.foo.bar.baz
p6eval std 25009: OUTPUT«00:05 87m␤»
TimToady see, legal
szabgab ah
TimToady std is just syntax, with occasional semantic checking 17:51
szabgab ok and what about exixts %h{'a'} ?
should that, err exist ?
TimToady it can tell you that a function is unrecognized only because the def is required to exist by CHECK time
methods bind later than CHECK time
there is no exists macro anymore 17:52
because it would have to be a macro
likewise delete
szabgab so I understand that the spec test is incorrect then
TimToady yes, it's incorrect 17:53
szabgab thanks 17:54
TimToady assuming there's a .exists method, it would not be incorrect if it actually did what the comment said
that is, if the comma were a colon
szabgab oh, now I got confused 17:56
TimToady exists $x, $y is a function call
exists $x: $y is a method call
szabgab so is there going to be an .exists metho for the hashes or an exists function in main?
TimToady equiv to $x.exists($y)
there will not be an exists function
if there's a method, it should probably be .contains 17:57
szabgab so currntly we don't know yet how to test if a certain key is available in a hash as it is not speced yet? 17:58
TimToady but we're trying to discourage the method interface in favor of .{$y}:exists
:exists is specced 17:59
in fact, STD.pm uses it, and :delete too
they're just modified subscripting operations, after all 18:00
szabgab so I should write %h :exists 'a' ? 18:00
TimToady no, the whole idea is to write the subscript the same way always
%h<a>:exists
%h{'a'}:exists
you can even do %h{'a'} :exists :delete 18:01
szabgab and delete ? the same ?
which would do what ? 18:02
TimToady delete the element, and return true if there was one
szabgab ah, and what is :delete along returns ?
the old value ? 18:03
TimToady they're just named arguments to the subscript operator, so order doesn't matter
what :delete returns by defualt
*default
just as in p5
szabgab so in case are :exists and :delete adverbs or they just look like adverbs? 18:05
to my untrained eyes ?
TimToady they're adverbs syntactically
the compiler may choose to treat them specially though
but they should work as if subscript were just multi dispatched based on presence/absence of named args 18:06
you should be able to write your own multi subscript operator with additional modifiers, and it should just work 18:09
szabgab Oh I am just trying to use what is already there :-)
TimToady or not, as the case may be :)
afk & 18:14
szabgab my November $wiki = November.new; 19:34
is the firts November necessary ?
Tene_ szabgab: no. 19:43
szabgab tx
Tene_ szabgab: you could also drop the second instead, if you wanted. my November $wiki .= new();
szabgab I like the first one better 19:50
meppl good night 21:00
pugs_svn r25010 | putter++ | [elfparse] Synced std.pm to STD.pm. Continued adding STD.pm idiom support, and unpodding std.pm. 21:03