»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:02 allbery_b left 00:04 havenn joined 00:10 havenn left
diakopter oh shark 00:25
sorear what? 00:26
diakopter hee; see the backscroll a few lines
sorear ah
dalek blets: 2240d04 | (Herbert Breunung)++ | docs/appendix- (2 files):
backlink metachars and test ops
00:27
sorear moin, diakopter
diakopter "you have a face good for irc" 00:29
00:36 sudokode joined
sorear diakopter: huh? 00:51
diakopter nm
sorear did someone say that?
diakopter ha; no 00:56
01:17 sudokode left, sudokode joined 01:35 geekosaur joined 01:47 PacoAir joined 01:51 PacoAir left, PacoAir joined 02:00 erkan left 02:04 Chillance left 02:07 dbr left
dalek blets: a7502b7 | (Herbert Breunung)++ | docs/appendix- (3 files):
complete metachar table and add 2 missind metachars into index
02:07
02:07 whiteknight left 02:12 oiig_ joined 02:25 PacoAir left, eviltwin_b joined 02:28 geekosaur left 02:36 geekosaur joined 02:39 eviltwin_b left 02:48 lichtkind_ left 02:49 orafu left 02:51 orafu joined 02:53 jaldhar left 03:03 thelazydeveloper left, thou joined 03:21 eviltwin_b joined 03:23 Su-Shee_ joined 03:24 geekosaur left 03:27 Su-Shee left 03:29 JimmyZ_ joined 03:32 allbery_b joined 03:34 libertyprime left, eviltwin_b left 03:54 libertyprime joined 03:56 JimmyZ_ left 04:01 plutoid joined 04:15 eviltwin_b joined 04:18 allbery_b left 04:21 eviltwin_b left, eviltwin_b joined, kaare__ joined 04:25 geekosaur joined 04:28 eviltwin_b left 04:32 thou left 04:38 thou joined 04:40 eviltwin_b joined 04:41 geekosaur left 04:45 eviltwin_b is now known as geekosaur 04:47 kaare__ is now known as kaare_, geekosaur left 04:48 geekosaur joined
[Coke] hai is also japanese for yes. 04:48
[Coke] sees a ticket thread in gmail for p5 with Jesse (Luehrs) and James (Keenan). anyone know what popped into my head? 04:58
04:58 oiig_ left 04:59 oiig_ joined 05:24 sisar joined 05:27 birdwindupbird joined 05:44 FACEFOX-DOT-COM left 05:51 FACEFOX-DOT-COM joined 05:54 xdbr joined 05:57 FACEFOX-DOT-COM left 05:58 eviltwin_b joined 06:01 geekosaur left 06:04 geekosaur joined, eviltwin_b left 06:09 FACEFOX-DOT-COM joined 06:18 FACEFOX-DOT-COM left
sisar how can I do an advanced search of bug reports on RT ? 06:22
jlaire hai is also finnish for shark 06:27
06:27 FACEFOX-DOT-COM joined 06:32 plutoid left 06:37 birdwindupbird left
sisar r: say -8 div 3; 06:38
p6eval rakudo 2a962e: OUTPUT«-2␤»
sisar ^ known rakudobug ?
(expected "-3")
06:41 FACEFOX-DOT-COM left
jlaire r: say (-8) div 3 06:45
p6eval rakudo 2a962e: OUTPUT«-2␤»
tadzik oh shark, #perl6 06:47
phenny tadzik: 28 Apr 23:15Z <uvtc> tell tadzik irclog.perlgeek.de/perl6/2012-04-28#i_5512561
sorear tadzik! 06:50
tadzik sorear! 06:51
06:52 FACEFOX-DOT-COM joined
tadzik gfldex++ # nice blog post(s) 06:55
06:56 eviltwin_b joined 06:57 spaceships left 06:59 geekosaur left, NamelessTee joined 07:02 FACEFOX-DOT-COM left 07:07 NamelessTee left, NamelessTee joined 07:08 allbery_b joined 07:12 eviltwin_b left 07:13 FACEFOX-DOT-COM joined, FACEFOX-DOT-COM left 07:18 FACEFOX-DOT-COM joined, FACEFOX-DOT-COM left 07:23 FACEFOX-DOT-COM joined 07:28 eviltwin_b joined 07:30 FACEFOX-DOT-COM left 07:31 allbery_b left 07:32 allbery_b joined 07:35 eviltwin_b left 07:38 FACEFOX-DOT-COM joined, erkan joined, erkan left, erkan joined 07:40 FACEFOX-DOT-COM left 07:49 Su-Shee_ is now known as Su-Shee 07:55 FACEFOX-DOT-COM joined 08:04 araujo left 08:23 eviltwin_b joined
moritz \o 08:24
08:27 allbery_b left 08:29 cognominal_ joined 08:32 allbery_b joined 08:33 cognominal left 08:35 eviltwin_b left 08:37 thou left 08:45 tokuhirom joined 09:01 sisar left 09:08 kst left 09:17 fhelmberger joined 09:21 kst joined
arnsholt moritz: I've killed one of the valgrind warnings now 09:35
Still one to go, but probably same kind of issue I think
And as a nice side-effect, the patch refactored the write-barrier functions to the better IMO 09:39
57 insertions and 46 deletions, so not much more code was needed in the end either
09:40 plutoid joined, pluto_ joined 09:45 pluto_ left
moritz arnsholt: which repo? nqp? 09:48
arnsholt Haven't pushed yet 09:49
moritz ok
arnsholt But the actual bug isn't dead yet, even if the valgrind complaints are :/
09:54 eviltwin_b joined, tadzik is now known as StrazDzienna
arnsholt And valgrind doesn't give me any more leads to work on. Still behaves differently in valgrind though 09:55
09:56 StrazDzienna is now known as tadzik 09:57 allbery_b left
moritz if you push it, I can try some different test files 09:59
arnsholt Yeah, I think I'll push it. Just gonna fix CStruct as well 10:00
But looking at the the sqlite DBD, I think this problem with strings is something different
The DBD's fetchrow_array calls sqlite3_column_text, and there're no arrays involved tehre 10:01
So I think the problem is elsewhere
moritz phenny: ask jnthn to please add feather3.perl6.nl:5000/dalek?t=freenode,perl6 as a post-commit hook URL in zavolaj 10:02
phenny moritz: I'll pass that on when jnthn is around.
moritz arnsholt: fwiw I've now moved on to github.com/perl6/DBIish (but the native calling stuff is the same as in MiniDBI) 10:03
arnsholt Okies 10:04
10:04 allbery_b joined
dalek p/dyncall-wb: 2fb45b9 | (Arne Skjærholt)++ | src/ops/nqp_dyncall.ops:
Handle non-concrete objects properly in write barriers.
10:04
p/dyncall-wb: bcf4b25 | (Arne Skjærholt)++ | src/6model/reprs/CArray.c:
[CArray] Handle non-concrete objects correctly in bond_pos_boxed.
arnsholt That should fixes the write-barrier weirdness
moritz and I guess s/bond/bind/ :-) 10:05
arnsholt But this other problem, along with your malformed utf issue seems to suggest something's a bit off in string handling
Durr, yeah
Too late to rewrite history now
moritz well, you can alwys win. History is written by the winners :-) 10:06
10:07 eviltwin_b left
dalek nda: e106529 | tadzik++ | TODO:
Add TODO
10:09
nda: dccd200 | tadzik++ | bin/ufobuilder:
Remove ufobuilder
nda: e815355 | tadzik++ | bin/masstest:
[masstest] Use a new template, improve this and that
tadzik oh, works 10:10
10:10 kaare_ left
tadzik moritz++ # commit url 10:10
it was still linking to appflux.something
moritz it's all in misc/dalek-push.txt in the mu repo 10:11
arnsholt: I still get "invalid read of size 1" in the DBIish sqlite tests 10:14
10:15 eviltwin_b joined
jnthn Good...hmm...afternoon, it seems. 10:16
phenny jnthn: 10:02Z <moritz> ask jnthn to please add feather3.perl6.nl:5000/dalek?t=freenode,perl6 as a post-commit hook URL in zavolaj
jnthn moritz: Should I remove host04.appflux.net:5000/dalek?t=freenode,perl6 ? 10:17
moritz jnthn: yes, that's outdated
jnthn done and done. 10:18
10:18 geekosaur joined 10:19 allbery_b left
dalek Iish: caf7ba9 | moritz++ | t/99-common.pl6:
update introspection for tests
10:19
moritz jnthn++
jnthn arnsholt: Note that STRING *s are GC-able and need the writing object to get the write-barrier treatment. Dunno if that helps.
dalek Iish: 6ee56c4 | moritz++ | lib/DBDish/SQLite.pm6:
[SQLite] fix typo
10:21
10:21 eviltwin_b left 10:23 cognominal_ left 10:24 cognominal_ joined 10:31 liuchong joined
arnsholt moritz: Yeah, I get that one too. But the stack trace is so garbled I'm not sure what's going on 10:34
jnthn: No idea, TBH
But the function that has varying behaviour depending on valgrind or not is (OpaquePointer, int) -> Str 10:35
masak oh shark, #perl6 10:36
phenny masak: 28 Apr 23:03Z <uvtc> tell masak Thanks for the link to the slides to your November talk.
10:38 PacoAir joined
moritz lolsharkmasak! 10:38
10:39 liuchong left
dalek Iish: 7632716 | moritz++ | t/99-common.pl6:
[t] be more careful about finishing statement handles
10:44
Iish: 1d4930b | moritz++ | t/99-common.pl6:
[t] avoid trailing zeros in numbers for now
10:46 cognominal_ left 10:47 cognominal joined 10:48 Jdoneright joined, whiteknight joined
Jdoneright my $actio = {say 'hi'}; #what can this mean in Perl 6? 10:49
moritz r: my $action = { say 'hi' }; say $action.WHAT 10:50
p6eval rakudo 2a962e: OUTPUT«Block()␤»
moritz r: my $action = { say 'hi' }; $action() 10:51
p6eval rakudo 2a962e: OUTPUT«hi␤»
moritz Jdoneright: does that answer your question?
Jdoneright ^__^'' yes! 10:52
Woodi so 'sub' seems little deprecated with that ?
jnthn Woodi: Note that a block is transparent to return. 10:53
10:53 eviltwin_b joined 10:56 geekosaur left
moritz blocks are meant for small pieces of cdoe, routines for larger organizational units 10:56
tadzik my &foo = { say "hai" }; say "oh"; foo()
r: my &foo = { say "hai" }; say "oh"; foo()
p6eval rakudo 2a962e: OUTPUT«oh␤hai␤»
10:58 JimmyZ joined
moritz tadzik: did you mean my &foo = { say 'shark' }; ? 11:00
masak :P 11:02
masak .oO( I preferred pandas and butterflies. with this new shark meme, is #perl6 finally losing its innocense? ) :P
tadzik :P 11:03
masak Jdoneright: welcome back! haven't seen you in a year or so.
Jdoneright thanks! did'nt mean to get remembered though )) 11:06
Just some J evangelism 11:07
masak your nick *is* some J evangelism :P
anyway, I like return customers. let me know how we can help either corrupt you with more Perl 6, or corrupt Perl 6 with more J. ;) 11:08
Jdoneright =^__^=
dalek Iish: c4a9e93 | moritz++ | lib/DBDish/SQLite.pm6:
[SQLite] finish statement handle in .do
11:10
Iish: 3100834 | moritz++ | t/20-CSV-common.t.not.ready:
remove outdated test file
Iish: e0ca68b | moritz++ | t/99-common.pl6:
[t] start to compare numbers numerically
11:18 eviltwin_b left, eviltwin_b joined 11:21 araujo joined, araujo left, araujo joined 11:29 thelazydeveloper joined
gfldex is there a skeleton for perl6 modules somewhere on the intarwebs? 11:35
masak 'module MyModule;' <-- presto, skeleton 11:37
gfldex i was more thinking about a directory structre with all the files you need 11:38
jnthn Hmm...I thought there was a good blog post on that somewhere...
yes
wiki.perl6.org/Create%20and%20Distr...%20Modules
Linked from modules.perl6.org \o/
gfldex cleans his glasses 11:39
11:39 eviltwin_b left
jnthn Wasn't saying "you shoulda looked", just happy I came accross it in the first place I thought to look :) 11:40
11:40 geekosaur joined
gfldex i don't got you like that 11:40
i was looking at modules.perl6.org
but could not see :o 11:41
11:41 Jdoneright left, eviltwin_b joined
araujo hello 11:41
:)
jnthn o/ araujo 11:42
araujo hello jnthn , how that goes? 11:43
11:43 grondilu joined
grondilu p6: proto foo { {*} }; 11:43
p6eval pugs: ( no output )
..rakudo 2a962e: OUTPUT«===SORRY!===␤{*} may only appear in proto at line 1, near " };"␤»
..niecza v16-23-gaa61ed5: OUTPUT«Potential difficulties:␤ &foo is declared but not used at /tmp/eIUTsRdytW line 1:␤------> proto foo ⏏{ {*} };␤␤»
jnthn araujo: Pretty good today. :) 11:44
p6: proto foo { * }
p6eval pugs, rakudo 2a962e: ( no output )
..niecza v16-23-gaa61ed5: OUTPUT«Potential difficulties:␤ &foo is declared but not used at /tmp/NiI0_i10xu line 1:␤------> proto foo ⏏{ * }␤␤»
grondilu r: proto foo { {*}; 42 };
p6eval rakudo 2a962e: OUTPUT«===SORRY!===␤{*} may only appear in proto at line 1, near "; 42 };"␤»
11:44 geekosaur left
jnthn Hmm. 11:44
That one should prolly work.
Guess just a NYI.
arnsholt jnthn: I think the dyncall stuff reuses some freed memory or something 11:45
jnthn arnsholt: "the dyncall stuff"? :)
arnsholt: As in, libdyncall?
arnsholt Er no, sorry. The nqp_dyncall.ops stuff
jnthn Ah.
Yeah, often ends up being buffer overruns. Or at least, a couple I found were that. 11:46
arnsholt: What are the symptoms of the current issue? 11:47
11:47 mucker joined
arnsholt It's moritz++ who uncovered it 11:47
Some data is inserted into sqlite, and getting it back works when run under valgrind, but not without it 11:48
Although, what if it's the inserting that doesn't work...
arnsholt goes to check that
Indeed. Looks like it's the inserting that fails 11:49
11:51 fhelmberger left
jnthn Does Valgrind not complain? 11:52
e.g. it both works under valgrind and and doesn't get complained about?
moritz there are "Invalid read of size 1" messages, with mostly useless backtraces 11:53
jnthn Can I see one of them? :) 11:54
arnsholt Sec 11:55
gist.github.com/2549841
jnthn My suspicion though is that it "works" because somewhere we're reading past the end of a buffer.
And the value that happens to be there when it's read under valgrind is such that it doesn't cause a crash.
arnsholt There's a bajillion things from Parrot's GC stuff, but that's the salient one
moritz memory debuggers and virtual machines often don't mix too well 11:56
arnsholt moritz: I'm assuming the -1 sent in to sqlite3_bind_text means "the string is NULL terminated"?
moritz arnsholt: indeed, when I manually insert stuff into sqlite, and then read it back via my rakudo-based script, it works fine
arnsholt: correct
jnthn Hm, so it's something that we're passing off to sqlite that in turn causes it to do bad things. 11:57
arnsholt Yeah. Parrot_str_to_encoded_cstring makes NULL-terminated strings, right? 11:58
jnthn Which encoding?
utf8?
Should do, though.
moritz sqlite3 expects UTF-8
jnthn k 11:59
But it is crashing in sqlite3_step...
arnsholt The argument in the Perl code is a plain Str, so that should give UTF-8, no?
jnthn arnsholt: Well, the call to encode it to a UTF8 C string certainly should work out. 12:00
Is sqlite3_step about reading?
That is, the insert took place and the crash is when trying to read it back?
moritz it's about executing the statement and/or advancing to the next row
jnthn ah, so it crashes when executing the insert?
arnsholt It doesn't crash. It just inserts bad data 12:01
Or no data, rather
moritz afaict it dies with "Malformed UTF-8 string" while reading back the result
jnthn Where is the data passed? 12:02
moritz on the p6 level, it's
my $sth = $dbh.prepare('INSERT INTO t (y, z) VALUES (?, ?)');
$sth.execute($a, $b) # in a loop
jnthn No, at sqlite level 12:03
sqlite3_step doesn't take the query
moritz at the C level, that runs sqlite3_prepare_v2
jnthn OK, is there any chance that we're seeing:
moritz followed by sqlite3_bind
jnthn 1) sqlite3_prepare_v2 is called, passing in the query as a string
moritz for each param
jnthn 2) That string we passed in is freed 12:04
3) We call the follow-up functions, and they're operating on freed memory
?
moritz that sounds possible
jnthn Whereas sqlite expects that string to last for the whole sequence, and doesn't copy it?
moritz what we do on the p6 level is for @params.kv -> $k, $v { sqlite3_bind($handle, $k, $v + 1) } 12:05
arnsholt Yes, that's it!
jnthn arnsholt: In NativeCall.pm6, find the line:
nqp::bindkey($result, 'free_str', nqp::unbox_i(1));
And change that 1 to a 0.
arnsholt Or, it sounds very plausible, at least 12:06
jnthn See if that helps.
moritz so shouldn't the string inside $v be still insdie @params?
*inside
or is there a new string being created somewhere?
jnthn New
Parrot_str_to_encoded_cstring makes a fresh string. 12:07
With the correct encoding.
moritz oh.
arnsholt Yup. Not freeing the string fixes it 12:08
jnthn arnsholt: For clarification of what's going on inside, see handling of "char **free_strs = NULL;" in op nqp_native_call.
arnsholt Yeah, I've skimmed that bit of code. Just didn't think hard enough about it to make the connection
jnthn I made it in the nqp op so it's configurable whether it frees it or expects the library to at some point. 12:09
But didn't do a trait to expose that.
But it probably can be just like the "which encoding to use" trait.
12:09 cognominal_ joined
arnsholt Yeah, that makes sense 12:10
jnthn But...I worry a bit still
When will that string be freed?
moritz so, $x is managed_by_caller ?
jnthn moritz: For what you want, "is managed_by_callee" is more accurate.
moritz: The default is to free a marshalled string right after the call. 12:11
arnsholt is cmanaged?
jnthn Which for a bunch of cases is right.
But not this one.
moritz jnthn: ah, right
jnthn Will sqlite actually free it at some point?
moritz I don't think so
jnthn Ugh.
Then we'll fix the problem, but leak memory. 12:12
moritz oh, wait
sqlite.org/c3ref/bind_blob.html says "If the fifth argument is the special value SQLITE_STATIC, then SQLite assumes that the information is in static, unmanaged space and does not need to be freed."
12:12 cognominal left
moritz one can read that as "usually we do free the memory for you", but I'm not quite sure that's the case 12:12
12:12 mikemol joined 12:13 mikemol left
jnthn Hmm...if it's freeing *and* we're freeing then it's gonna be a double free. 12:13
moritz maybe sqlite.org/c3ref/clear_bindings.html does? 12:15
jnthn Not convinced...it'd probably say something about freeing. 12:16
arnsholt I think SQLITE_STATIC is just a magic value used to indicate noop 12:20
Memory is not freed, and if you want it to be freed, you need to pass a destructor callback 12:21
In our case, that means we just want to pass a pointer to free, but I'm not sure what the easiest way to do that is 12:25
masak cheers on the efforts to get DBIish things to work on Rakudo 12:30
12:30 birdwindupbird joined
moritz how about we introduce a Pool object 12:38
and then we do $param is managed-by($pool);
jnthn Hm.
moritz and once we know we don't need that memory anymore, we call $pool.free
arnsholt Hm, indeed 12:39
jnthn Or we have an explicit CStr that we just have to be sure we hold on to a reference to for long enough.
arnsholt Yeah, or that 12:40
jnthn So you CStr.new($the_perl6_str, $which-encoding)
And it marshalls it right away.
And frees the marshalling of it once that CStr gets GC'd.
So you just have to store it somewhere for the duration of your querying.
Feels rather lighter than introducing pools. :) 12:41
arnsholt Yeah, I think that's a good way
12:42 grondilu left
arnsholt So then we'll need a new REPR, and refactor the current code dealing with strings, no? 12:43
jnthn arnsholt: Yeah, I just wonder how to make it non-ugly from a Perl 6 point of view. 12:44
As in, I don't want to make the common case any more complicated than it is today. 12:45
I wonder if we can do it such that we actually have a role mixed into a normal Str, which has an attribute that is something with the CStr REPR. 12:46
arnsholt Yeah, that's the thing. Perhaps Zavolaj could marshal Strs into CStrs on the fly?
jnthn Well, no, that misses solving the problem :)
We need to sometimes let the caller explicitly say "I want to keep this CStr around"
e.g. they need to control things a bit more
arnsholt Well, yeah. But in that case you could crete the CStr yourself 12:47
jnthn Yeah...
arnsholt s/crete/create
jnthn I'm more thinking about the signature.
sub foo(Str $s) is native(...) { * }
vs
arnsholt Good point. Forgot about that
jnthn sub foo(CStr $s) is native(...) { * }
Feels icky.
arnsholt Yeah. They're the same function, so there shouldn't be more than one entry point 12:48
jnthn Well, also teaching people when to write which one.
I think I'd prefer...
arnsholt Not to mention that, yeah
jnthn You declare it with Str always.
We provide a function like:
arnsholt Having the parameter always be Str feels best, yeah 12:49
jnthn my $resource-handle = get-string-handle($some_str);
no, not that...
manually-manage-str($some_str);
It mixes a role into Str 12:50
Which in turn has an attribute of some type with CStr REPR.
This REPR just points off to the marshalled C string.
And we always use that same marshalling in every single call done with this string. 12:51
arnsholt Yeah, that sounds good. Are Strs constant?
jnthn And it doesn't get cleared up until $some_str is freed
Yes, Str is immutable.
arnsholt Excellent
jnthn Which is important for this to actually work. :)
arnsholt Kinda, yeah =)
jnthn Then we just have to document when to use manually-manage-str (and I'm open to better names) 12:52
arnsholt Yet another example that immutable strings are important =)
jnthn Yeah.
arnsholt So far my best suggestion for a name is manually-manage
jnthn Hm 12:53
That does have the advantage that if we find we need a similar mechanism in the future, we just make it a multi.
arnsholt Yup
jnthn e.g. for now we just have a candidate that is like multi manually-manage(Str $s) { ... }
May as well multi it from the start
+1
arnsholt Troo. And we'll need to specify the encoding as well 12:54
jnthn Could pass as a named.
Or
arnsholt Yeah, that's what I was thinking
jnthn Well, no, that's orthogonal to management.
We already *have* a way to specify encoding. 12:55
arnsholt True. If it hasn't been specified we can just default to UTF-8
jnthn And it's not like manually-manage has to actually marshall immediately
arnsholt Good point. Defer all the work 12:56
jnthn All the work!
Yes, NativeCall.pm6:22
That says default is utf8 today if unspecified.
arnsholt Oh, we have .? right 12:57
I'll have to steal that =)
13:01 brrt joined
dalek blets: ae91215 | (Herbert Breunung)++ | docs/report.pl:
adding script for a internal status report, helps me to save much time but reall i dide this soemtimes manually
13:02
13:02 geekosaur joined 13:06 eviltwin_b left, allbery_b joined, lichtkind joined 13:08 mucker left, geekosaur left 13:11 plutoid left 13:15 tokuhirom left 13:28 sergot joined
sergot hi o/ 13:28
masak sergocie! \o/ 13:30
O Rekin! Jak się dzisiaj czujesz? :P 13:31
13:33 tokuhirom joined
moritz so, what's the plan now? 13:34
a function that mixes a role into a string
13:34 Chillance joined
moritz which makes it keep a reference to the marshalled string? 13:34
arnsholt Yeah, pretty much 13:35
Right now I'm trying to figure out how to do it all =) 13:36
moritz my mental image is: 13:38
a role ManagedCString { has $!marshalled }
and when you marshall a string, and that string .^does(ManagedCString), it sets $!marshalled to the newly marshalled thing
so that the GC doesn't get 13:39
13:39 tokuhirom left
jnthn Basically that, yeah. 13:39
Then you just have to keep the string around long enough.
13:39 ZAZEN_co1pute left
jnthn So long as your program references it, the marshalled version will stay around. 13:39
13:40 brrt left 13:42 buubot_backup left
gfldex jnthn: another note about RT112666, if I stick Role and trait into a module it stops working alltogether 13:47
sergot masak: Rekin? :) Dobrze się czuję. A Ty? :) 13:49
jnthn gfldex: I assume you added "is export" to the trait? 13:50
gfldex yes
jnthn ok
dalek ast: 5e75fe9 | ronaldxs++ | fudge:
The ~~ smart match requires Perl 5.10 and rakudo is supposed to be OK with Perl 5.8. Don't see why =~ isn't enough.
13:52
ast: 2e5a21c | (It's secret to everybody)++ | fudge:
Merge pull request #19 from ronaldxs/patch-1

The ~~ smart match requires Perl 5.10
masak sergot: Tadzik zaczął mówić o rekinów. Zobacz zaległości.
gfldex jnthn: it on github for easy access github.com/gfldex/perl6-signal 13:54
13:54 sergot left 13:58 kaare_ joined 13:59 sisar joined 14:00 havenn joined
sisar moritz, irclog.perlgeek.de/perl6/2012-04-29#i_5513397 and the following 3-4 lines 14:02
moritz sisar: what's the bug? 14:03
-8 = -2 + (-2) * 3
sisar expected is -3 not -2
n: -8 div 3;
p6eval niecza v16-23-gaa61ed5: ( no output )
sisar say -8 div 3 ; 14:04
arrgh
moritz n: say -8 div 3
p6eval niecza v16-23-gaa61ed5: OUTPUT«-3␤»
sisar n: say -8 div 3 ;
p6eval niecza v16-23-gaa61ed5: OUTPUT«-3␤»
moritz oh, I'm confusing div and mod
p6: say (-8) div 3
p6eval pugs: OUTPUT«*** ␤ Unexpected "div"␤ expecting operator, ":" or ","␤ at /tmp/wMavy8_09r line 1, column 10␤»
..niecza v16-23-gaa61ed5: OUTPUT«-3␤»
..rakudo 2a962e: OUTPUT«-2␤»
masak huh!
I think Rakudo is right here. 14:05
it's truncate-towards-0, not round-down semantics.
p6: say 8 div 3
p6eval pugs: OUTPUT«*** ␤ Unexpected "div"␤ expecting operator, ":" or ","␤ at /tmp/tDrs2OIBKO line 1, column 7␤»
..rakudo 2a962e, niecza v16-23-gaa61ed5: OUTPUT«2␤»
masak submits nieczabug
sisar masak: no. the spec says "In general, div should give the same result as: $x div $y == floor($x/$y) "
masak, wait 14:06
masak oh!
sisar verdict ?
masak unsubmits the nieczabug and submits rakudobug
sisar masak++
moritz r: say ((-8 * 2**65) div (3 * 2**65) / 2 ** 65
p6eval rakudo 2a962e: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 2␤»
moritz r: say ((-8 * 2**65) div (3 * 2**65)) / 2 ** 65
p6eval rakudo 2a962e: OUTPUT«-5.42101086242752e-20␤»
sisar masak, how do i an advaced search on RT ? 14:07
moritz sisar: I think the first step is to log in 14:08
arnsholt jnthn: gist.github.com/2550626#file_gistfile1.txt # What I'm basing my string stuff around. Look ok so far?
sisar moritz, next ?
moritz sisar: then we you do a simple search, you can click on 'Advanced' 14:09
14:09 cognominal___ joined
moritz sisar: and then you need magic :/ 14:09
arnsholt moritz: Feel free to have a look at that gist as well =)
sisar tries
masak oh come on, it's not that hard.
moritz you can click on the 'edit search' link
masak here's my general method for finding things in RT. 14:10
arnsholt I'm not too happy with the name CStrRole, so suggestions welcome
jnthn arnsholt: looking
moritz arnsholt: new CStr($x); looks suspicious
masak search for a keyword. enter the 'edit search' page. ignore the amazing collection of GUI controls.
select queue: perl6. click 'add and search'.
moritz std: role CStr { }; new CStr(my $x) 14:11
jnthn This ain't C++ :P
p6eval std fab64fc: OUTPUT«===SORRY!===␤Unsupported use of C++ constructor syntax; in Perl 6 please use method call syntax at /tmp/wqslNkPF2C line 1:␤------> role CStr { }; new CStr⏏(my $x)␤Parse failed␤FAILED 00:00 40m␤»
masak sort things according to reverse temporal order by clicking the appropriate table heading twice.
jnthn Maybe name it ManuallyManagedNativeStr or something
PUtting "Role" in the name of the role is kinda weird.
arnsholt Oh, I derped. CStr.new of course
jnthn It doesn't matter if the name is a bit long.
As people will never type it by hand anyway.
moritz and CStr is repr($something_custom) ? 14:12
arnsholt Yeah, class CStr is repr('CStr')
14:12 cognominal_ left
tadzik masak: you're lovely with your Polish :) 14:13
moritz p6: my $x = 2**65; say (-8 * $x div 3 * $x) div $x 14:14
p6eval niecza v16-23-gaa61ed5: OUTPUT«-98382635059784275286␤»
..pugs: OUTPUT«*** ␤ Unexpected "div"␤ expecting operator or ")"␤ at /tmp/NJqoGMWonm line 1, column 29␤»
..rakudo 2a962e: OUTPUT«-98382635059784275285␤»
moritz erm.
is that correct?
masak tadzik: today I might've been completely off. it looked good, though.
tadzik I assume you meant "backlog" as "zaległości"?
masak yeah... sounds like I was off, then.
phenny: "zaległości"? 14:15
phenny masak: "up" (pl to en, translate.google.com)
tadzik hmm
masak heh.
arnsholt jnthn: Having a horrible long name will encourage people to use manually-managed as well, in case that ends up doing more magic =)
tadzik it's like something that was due last week, but you still didn't do it
like my SE assignment
if you have things like this, then you have "zaległości"
masak ah, like the "backlog" of Scrum.
yeah. in retrospect, it was presumptious of me to think that GT would find the right word for "backlog". 14:16
phenny: en pl "chat log"?
phenny masak: "czat zalogować" (en to pl, translate.google.com)
masak hah. "czat".
tadzik I would expect it to find one, but OTOH, I can't find one myself
14:17 jferrero joined
tadzik czat is not really a Polish word 14:17
phenny: "zapis rozmowy"?
phenny tadzik: "a conversation" (pl to en, translate.google.com)
masak it's a sound loan.
tadzik aye
also, we don't really have a word for a backlog
masak neither does Swedish. I'd just say "logg", I believe.
tadzik there's a meaning of "protokół" which means a log of something
also, fsergot clearly has zaległości with #perl6 memes 14:18
if you know what I mean, and I think you do now :)
masak clearly. :)
tadzik as in, he's not up to date with them
masak nodnod
he has "things do to". 14:19
phenny: eo en "farendaĵoj"?
phenny masak: "farendaĵoj" (eo to en, translate.google.com)
masak dåligt.
eo far + end + aĵ + oj = do + must + thing + (pl) = "things to do" 14:20
moritz whiteknight: fwiw your patch isn't complete enough 14:22
whiteknight: PERL6LIB=lib ./perl6 --ll-exception t/spec/integration/error-reporting.rakudo |&less 14:23
whiteknight: seems the ModuleLoader must be patched too
14:25 geekosaur joined 14:27 allbery_b left 14:29 isBEKaml joined
isBEKaml Sharkey, #perl6! 14:29
masak :D 14:30
moritz isn't there a Unicode character for shark?
masak probably nowadays.
isBEKaml .u shark
phenny isBEKaml: Sorry, no results for 'shark'.
14:30 UncleFester6 joined
masak r: say "Ultimate {$_}itude" given "shark" 14:31
p6eval rakudo 2a962e: OUTPUT«Ultimate sharkitude␤»
gfldex www.fileformat.info/info/unicode/ch.../index.htm
moritz but phenny knows only the first 0xFFFF chars
oh 鱶
isBEKaml .u 'a shark' 14:32
phenny isBEKaml: U+0027 U+0061 U+0020 U+0073 U+0068 U+0061 U+0072 U+006B U+0027 U+0020
isBEKaml huh... :D
moritz .u 鱶
phenny U+9C76 CJK UNIFIED IDEOGRAPH-9C76 (鱶)
UncleFester6 perl6: my $x = qqx[ nonesuch ]; print "before\nduring: $x\nafter\n"; 14:33
p6eval pugs: OUTPUT«*** No such subroutine: "&qqx"␤ at /tmp/FDrsqwED6I line 1, column 4-24␤»
..niecza v16-23-gaa61ed5: OUTPUT«Unhandled exception: System.InvalidOperationException: File name has not been set␤ at System.Diagnostics.Process.Start_common (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process) [0x00000] in <filename unknown>:0 ␤ at Syste…
..rakudo 2a962e: OUTPUT«qx, qqx is disallowed in safe mode␤ in sub restricted at src/SAFE.setting:2␤ in sub QX at src/SAFE.setting:9␤ in block <anon> at /tmp/Bu9HPkYYyw:1␤␤»
UncleFester6 When I try that qqx command on my system it captures STDERR. Is it supposed to? 14:34
14:34 wolfman2000 left
moritz UncleFester6: it doesn't on my machine 14:34
erm, wait
my test was flawed 14:35
14:35 eviltwin_b joined
moritz it does 14:35
i guess it shouldn't
even though that behavior can be useful at time :-)
*at times
UncleFester6 OK - thanks - I'll file the bug. I have been looking at Rakudo Star. 14:36
masak UncleFester6++
moritz UncleFester6++
isBEKaml UncleFester6: do it fast. before masakbot does! :) 14:37
14:37 geekosaur left
UncleFester6 many of the packaged module tests fail for me on 32 bit Ubuntu. Is there a make spectest for modules yet or planned? 14:37
arnsholt Right. Managed to compile an NQP with my repr in it
moritz UncleFester6: I'm not aware of specific plans 14:38
UncleFester6: though tadzik is working on a script which smoke-tests modules independently of rakudo star
UncleFester6 I'll take it up with tadzik maybe some time - thx. 14:39
tadzik++ 14:40
sisar r: say sin(pi);
p6eval rakudo 2a962e: OUTPUT«-3.52688866664137e-10␤»
sisar r: say sin(pi/2);
p6eval rakudo 2a962e: OUTPUT«1␤» 14:41
arnsholt But the Rakudo compile exploded. Fun
14:43 sisar left
masak r: sub sic($x) { sin($x) + i * cos($x) }; say $_.&sic for 0, pi/8 ... 2 * pi 14:43
p6eval rakudo 2a962e: OUTPUT«0+1i␤0.38268343240582+0.923879532494416i␤0.707106781248895+0.7071067811242i␤0.9238795325619+0.382683432242899i␤1-1.76344433332068e-10i␤0.923879532426932-0.382683432568741i␤0.707106780999506-0.707106781373589i␤0.382683432079978-0.923879532629384i␤-3.52688866664137e-…
14:44 sisar joined 14:45 buubot_backup joined
sisar masak, sin(pi) not being zero, known bug ? #again, can't find on RT :/ 14:45
moritz sisar: not bug, just normal floating point inaccuracies 14:46
sisar even, niecza gets it wrong
n: say sin(pi);
p6eval niecza v16-23-gaa61ed5: OUTPUT«1.2246063538223773E-16␤»
moritz r: use Test; is_approx sin(pi), 0, 'sin(pi) is cloase to 0'
p6eval rakudo 2a962e: OUTPUT«ok 1 - sin(pi) is cloase to 0␤»
moritz sisar: we don't do symbolic calculations, I'm afraid
sisar moritz: hmm, but then how does sin(pi/2) is accurately 1 ?
moritz r: printf '%.15f', sin(pi/2) 14:47
p6eval rakudo 2a962e: OUTPUT«1.000000000000000»
moritz r: say sin(pi/2) == 1
p6eval rakudo 2a962e: OUTPUT«True␤»
moritz sisar: luck
sisar huh !
masak sisar: what moritz said.
dalek blets: 076b928 | (Herbert Breunung)++ | docs/appendix- (3 files):
backlinks for regex modifier and quoting adverbs, updated entry words of A
masak sisar: 1.2e-16 is "sufficiently zero".
moritz r: say sin(2 * pi)
p6eval rakudo 2a962e: OUTPUT«7.05377733328273e-10␤» 14:48
masak sisar: if this surprises or disappoints you, I may send you some useful links.
arnsholt jnthn: Is there a simple way to get an NQP script to load the dyncall ops?
moritz r: say log(abs sin($n * pi)) for ^10
p6eval rakudo 2a962e: OUTPUT«===SORRY!===␤Variable $n is not declared␤at /tmp/JkVVfeWyx2:1␤»
moritz r: say log(abs sin($_ * pi)) for ^10
p6eval rakudo 2a962e: OUTPUT«-Inf␤-21.7654348452065␤-21.0722876646465␤-20.6668221368208␤-20.3791404840866␤-20.155997184603␤-19.9736749562609␤-19.8195245162722␤-19.6859933035267␤-19.5682104077762␤»
sisar had, sin(pi/2) been something like 0.999, i would have been happy with the output of sin(pi)
masak why?
sometimes you're lucky with floating-point roundings, sometimes you aren't. 14:49
moritz r: say log(abs sin($_ * pi)).Int for 1..10
p6eval rakudo 2a962e: OUTPUT«-21␤-21␤-20␤-20␤-20␤-19␤-19␤-19␤-19␤-19␤»
sisar masak, yeah, the luck factor...
masak sisar: you shouldn't ever compare exactly two floating-point numbers anyway.
if you do, the floating point gods will smite you.
14:50 allbery_b joined
isBEKaml masak: goldberg? 14:50
:D
sisar masak, re good links, yes please
masak gathers some
sisar masak++ 14:51
14:51 eviltwin_b left
masak isBEKaml: right, yes. I just didn't know that was his name. 14:52
sisar: docs.oracle.com/cd/E19422-01/819-36...dberg.html
sisar
.oO( if masak had a penny for every ++ he gets ... )
moritz he might be able to buy a beer or two :-)
karam masak 14:53
karma masak
aloha masak has karma of 706.
sisar just a beer or two?
isBEKaml moritz: beer is expensive!
moritz in .se, yes
masak that's more like 10 beers over here.
oh wait.
pennies.
:/
sisar karma sisar
aloha sisar has karma of 6.
sisar :/
moritz sisar: you need write more patches :-) 14:54
sisar did not get a ++ for the div bug
masak sisar++
sisar yay !
my vacations start from 2nd, so maybe i will have more tuits 14:55
sisar is a teenager, so has *many* distractions !
moritz giggles 14:56
masak sounds kinda nice. 14:57
sisar i meant, oh-do-many interests
*oh-so-many
masak give them our regards :P
moritz sisar: when you grow older, there will be many time consuming things that aren't distractions :-)
sisar moritz: we'll see :p 14:58
14:58 sergot joined
sisar on second look, maybe that "distraction' part got out wrong ! 14:59
sergot ;] 15:00
moritz sisar: I know what you mean, I've been a teenager too :-)
masak too
moritz but once you've got a dayjob, wife and child(ren), things look pretty different
dalek blets: 5e6e147 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
adding sort / did i really forget this?
moritz lichtkind: sort of :-) 15:01
lichtkind moritz: these jokes will one day you you all, especially masak :) 15:02
sisar so how much IEEE 754 -2008 conformation should I expect in P6 ?
masak lichtkind: :P
masak .oO( what have I done now...? ) :P
moritz sisar: as much as makes sense
masak lichtkind: also, `sort &leg, @input` might be a useful intermediary step to showcase. 15:03
15:03 eviltwin_b joined
masak lichtkind: the first form you have is very p5-y, and the second form is very p6-y. but my suggested form is a bit of both. 15:03
sisar ok. so the 754 standard says that sqrt(-0) should be -0 not, +0 ...
moritz erm, sort &infix:<leg> ?
sisar r: say sqrt(-0);
p6eval rakudo 2a962e: OUTPUT«0␤»
masak erm. yes.
so &[leg] would also work. 15:04
lichtkind masak: thats an excellent idea
masak \o/
you see. I don't just pun and tease :P
moritz is disappunted
masak is disteased 15:05
15:06 allbery_b left
masak sisar: also, www.cs.berkeley.edu/~wkahan/JAVAhurt.pdf 15:06
read those two, and you'll be fine.
sisar: whenever I give a course and it makes sense to say it, I tell people never to write a banking or accounting app with floating-point values for currency. I hope that this makes a little dent in the world. 15:07
sisar masak, thanks. looks really good. maybe reading the IEEE standard directly will make me insae-nish :p 15:08
15:09 brrt joined
masak I've never tried that. 15:09
I just used Java enough to have a feel for how it works.
sisar masak, "give a course"? You teach?
masak, Java is fully 754 compliant ? 15:10
masak sisar: I teach. I think I gave about 10 courses in 2011.
sisar: I think Java floating-point numbers aim towards full IEEE 754 compatibility, yes. 15:11
sisar: I work for edument.se/ -- we develop software, learn cool things about software, and then teach them. :) 15:12
15:12 mucker joined
masak we're very Perl 6-friendly. 15:12
sisar masak, oh now i remember. I read your "menatl bug report system" on the companies blog. Really loved that 15:13
*mental
masak thanks.
15:14 jaldhar joined
sisar i started to classify my mental bugreports into, amnesia, feature-needed, needs-confirmation, etc... :p 15:14
masak that sounds quite different to what I wrote about, but nevertheless interesting. 15:15
15:15 brrt left
sisar masak, i was just extending the concept for fun :) 15:15
as in, how cool would it be if had a bug report management for my brain ! 15:16
masak you make a really good point.
I for one wouldn't mind better brain management to make me effective and stuff.
sisar exactly ! 15:17
masak I hear there are focus-increasing drugs these days.
sisar i'm gonna try this out sometime, i'll set up a mental bug management system. Will really help with my amnesia ! 15:18
sisar tries to avoid any types of drugs
15:19 isBEKaml left
masak well, me too. I haven't tried any of that. 15:19
dalek blets: b33d190 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
polish sort entry; masak++
sisar .oO ( maybe i'll allow other people, like my family to file bugs too ! ;-) )
sisar afk 15:20
masak .oO( "you can't just file 'you're wrong!', you have to give steps to reproduce the mental bug! )
er, s/ \)/" )/ 15:21
sisar hehe...
sisar really afk
15:28 havenn left
masak n: my $f1 = 1; my $f2 = 1; for ^20 { ($f1, $f2) = ($f2, $f1 + $f2); say $f2 / $f1 } 15:38
p6eval niecza v16-23-gaa61ed5: OUTPUT«2␤1.5␤1.6666666666666667␤1.6␤1.625␤1.6153846153846154␤1.6190476190476191␤1.6176470588235294␤1.6181818181818182␤1.6179775280898876␤1.6180555555555556␤1.6180257510729614␤1.6180371352785146␤1.618032786885246␤1.6180344478216819␤1.6180338134001253␤1.61803405572…
tadzik UncleFester6: still around? 15:39
masak n: my $f1 = 1; my $f2 = 1; my $last_val = 0; for ^20 { ($f1, $f2) = ($f2, $f1 + $f2); last if $last_val == $f2 / $f1; $last_val = $f2 / $f1 }; say $last_val
p6eval niecza v16-23-gaa61ed5: OUTPUT«1.618033985017358␤»
masak n: my $f1 = 1; my $f2 = 1; my $last_val = 0; loop { ($f1, $f2) = ($f2, $f1 + $f2); last if $last_val == $f2 / $f1; $last_val = $f2 / $f1 }; say $last_val
p6eval niecza v16-23-gaa61ed5: OUTPUT«1.6180339887498949␤»
UncleFester6 Hi tadzik 15:43
tadzik hello
so, want to look at module smoketesting? 15:44
UncleFester6 yes
tadzik okay. The thing you can do right now is to clone the panda repository and run bin/masstest
15:44 uvtc joined
tadzik that should take some time (20 minutes on my machine), and produce an index.html which will look somewhat like this: tjs.azalayah.net/new.html 15:45
oh, I was to re-run it
UncleFester6 Thanks - will try to look at it in the next few days
tadzik that will be most appreciated
the plan I have for this thing is to produce some JSON data we can process easily, and possibly include on modules.perl6.org 15:46
15:46 mucker left
uvtc Yow. With R* 2012.04, 15:47
$ perl6 --doc=HTML foo.pl
===SORRY!===
Could not find Pod::To::HTML in any of: /home/john/.perl6/lib, /home/john/opt/rakudo-star-2012.04/install/lib/parrot/4.3.0/languages/perl6/lib, .
That didn't make it in to R*?
tadzik apparently
try panda install Pod::To::HTML
15:48 JimmyZ left, Psyche^ joined
uvtc Yeah, I realize I can install it myself. Seems like it ought to come with R* though. 15:49
15:49 plobsing joined
uvtc tadzik, thanks. 15:51
tadzik certainly
uvtc filed an R* issue for it
15:52 Patterner left, Psyche^ is now known as Patterner
tadzik no need 15:52
dalek ar: 545b928 | tadzik++ | / (2 files):
Add Pod::To::HTML
tadzik uvtc++
uvtc Now we're cookin' with gas!
:)
dalek blets: cf4967b | (Herbert Breunung)++ | docs/appendix- (2 files):
preparing links of the topic of contexts to point to according planned glossary entries
15:56
lichtkind uvtc: hai
masak .oO( shark ) 15:57
tadzik :)
uvtc lichtkind, shark and hello
(How do I ask the bot here to translate words from one human language to another?) 15:58
moritz phenny: de en "hai"?
phenny moritz: "shark" (de to en, translate.google.com)
tadzik shark thar!
lichtkind uvtc: any comments on recent developement? 15:59
15:59 allbery_b joined
uvtc Hi lichtkind, Sorry, I haven't been following recent Tablets development very closely. What's new? 16:00
moritz, thanks.
phenny: en de "hai"?
phenny uvtc: "hai" (en to de, translate.google.com)
uvtc phenny: en de "shark"? 16:01
phenny uvtc: "Hai" (en to de, translate.google.com)
16:02 eviltwin_b left
masak phenny: en de "orca"? 16:02
phenny masak: "orca" (en to de, translate.google.com)
lichtkind uvtc: too much to say :) 16:03
masak phenny: en de "killer whale"?
phenny masak: "Killerwal" (en to de, translate.google.com)
masak fair enough.
uvtc lichtkind, Well, I see you're still using my low-contrast colorscheme, so at least masak is happy. :P 16:04
tadzik, when having panda install Pod::To::HTML, I get one warning: 16:05
==> Building Pod::To::HTML
use of uninitialized value of type Any in string context in method Str at src/gen/CORE.setting:670
masak uvtc: I read the github.com commits. github has a decent color scheme :P 16:06
tadzik uvtc: I don't know where does that come from :P 16:07
sisar uvtc, tadzik++ fixed it recently. Do you have a recent rakudo ?
whiteknight moritz: Okay, I'll go re-look at it all
uvtc sisar, R*
sisar, 2012.04
tadzik should be fine
tjs.azalayah.net/new.html new test results
colomon: here are your greens :)
sisar uvtc: oh. ok. Then i don't know :) 16:08
tadzik may be a Pod::To::HTML thing
uvtc sisar, thanks.
moritz tadzik: there's something wrong
tadzik: URI is all green 16:09
tadzik shouldn't it?
moritz tadzik: but it says LWP::Simple fails on prerequs
tadzik oh
moritz Dependency resolution has failed: stage test failed for URI
tadzik wrong indeed
seems that URI tests are non-deterministic :/ 16:10
masak &
tadzik they indeed suceeded while building URI, and then failed while building LWP::Simple
now I did two 'panda install URI' runs in a row, one failed, one passed
moritz tadzik: what's the test failure? 16:13
tadzik Non-zero wait status: 11
Parse errors: No plan found in TAP output
I'll run just this one 16:14
lichtkind uvtc: backlings are almost ready many new terms were much more complete, formating of index is consolidating
16:14 eviltwin_b joined
tadzik maybe a segfault :/ 16:14
16:15 tyatpi joined
tadzik ok, nailed it. It sometimes, depending on a mood, dies with No object at index 73 16:15
depeding on a precompilation, actually. As if precompilation was non-deterministic 16:16
16:17 allbery_b left
tadzik now I've had a fail -> rebuild -> fail -> rebuild -> pass cycle 16:17
16:18 rindolf joined 16:20 rindolf left, rindolf joined
uvtc tadzik, I notice that Pod::To::HTML renders I<this> as <strong>this</strong>, and B<this> as <mark>this</mark>. Curious: why did you choose those instead of I<this> --> <em> and B<this> --> <strong>? 16:22
tadzik uvtc: I didn't, ask flussence :) 16:23
he did most of Pod::To::HTML 16:24
16:25 whiteknight left
rindolf Can I get help with Perlito5 here? 16:26
moritz rindolf: if you happen to meet fglock, maybe 16:27
rindolf moritz: ah.
uvtc phenny, tell flussence irclog.perlgeek.de/perl6/2012-04-29#i_5514927 , (maybe enable issue tracker for that repo?)
phenny uvtc: I'll pass that on when flussence is around.
16:28 timotimo left 16:33 UncleFester6 left 16:36 fgomez joined 16:42 tyatpi left 16:44 uvtc left
dalek blets: f137f81 | (Herbert Breunung)++ | docs/report.pl:
report now also includes anchors and links and otehr appendices
16:49
blets: 7fd2e73 | (Herbert Breunung)++ | docs/appendix- (3 files):
appendix B is now completely backlinked (where it makes sense) precedence table might also be linked
16:52 uvtc joined
uvtc I see that I can get a listing of all, say, Str() methods by doing: `Str.^methods`. Is there yet any way to get Pod docs (if they exist) for a given Str methods, for example, something like, `doc(Str.comb)`? 16:53
tadzik you could do Str.^find_method('comb')[0].WHY or such, but unfortunately, CORE is not documented at all for now 16:56
and I'm not sure if it's possible yet (circularity, bla bla)
uvtc Hm. So it's possible to use Pod to document individual methods, and conceivable that Str.^find_method('comb')[0].WHY would display that documentation. 16:58
benabik r: Str.comb.WHAT.say
p6eval rakudo 2a962e: OUTPUT«use of uninitialized value of type Str in string context in method Str at src/gen/CORE.setting:670␤␤List()␤»
uvtc but it's NYI.
Ok.
tadzik right
uvtc Is anyone working on writing perldocs? Like Perl 5-style perldocs that you could run via `perl6 --doc perlstring` or somesuch? 16:59
16:59 oiig_ left
tadzik I was thinking about starting doing that 16:59
masak \o/ 17:00
uvtc tadzik, I think that would be a *very good thing* (tm)
17:00 tyatpi joined
tadzik well, so much for a Secret Project :P 17:00
uvtc Indeed. Sorry about that.
tadzik I'm still thinking about it, but tuitage is low
no worries ;)
I was planning this before getting $job and all 17:01
uvtc I think it's essential though. And I also suspect that others may consider it their secret project as well. They might even be ... among us.
17:01 allbery_b joined 17:02 eviltwin_b left
dalek p/toqast: 6f1b074 | masak++ | / (3 files):
added bigint conversion op
17:02
17:02 sergot left
moritz uvtc: fwiw I have started or particpated in multiple such attempts 17:04
uvtc: which all starved, because nobody joined in, and eventually I moved on to different projects
uvtc moritz, Right. This topic has come up before. (I may have been the one to bring it up one of those times).
moritz, were they placed under the github.com/perl6 umbrella? 17:05
masak documentation is tiring, thankless, and a huge undertaking. 17:06
TimToady it's likely that the specs should evolve into those docs
TimToady goes back to hiding behind a 鮫
masak .oO( Shang Hai )
tadzik Shang Shark! 17:07
uvtc It's "hai week" on the discovery channel!
tadzik :)
TimToady phenny: jp en "hai"?
phenny TimToady: "two" (vi to en, translate.google.com)
masak 'vi'?
TimToady phenny: ja en "hai"?
phenny TimToady: "hai" (ja to en, translate.google.com) 17:08
TimToady er...
phenny: en ja "lung"?
phenny TimToady: "肺" (en to ja, translate.google.com)
masak when GT gets confuzzled, it defaults to preserving the original word.
TimToady hai doesn't just mean "yes" in Japanese 17:09
masak hai.
TimToady lung, ash at least
or actor, or 'put on a sword'
or "high" :)
vi is obviously the language they speak in the Virgin Islands... 17:11
masak in Mandarin: ocean, still/yet, to harm, *sigh*, alas, hey, *lol*, (excalamation of regret), child, helium, hydroxylamine, minced meat, tainted food, to astonish, bones of the body.
TimToady well, with different tones, so that's cheating :)
masak (fewer if you know the tone) :P
TimToady funny that "lung" is written as "market meat" 17:14
masak well, that left component may not be meat. 17:15
17:15 irfan joined
irfan hi 17:15
masak hi, irfan.
irfan I am runnign Mac OS and would like to use Perl6
masak TimToady: though it probably is, considering the word.
irfan: great! good luck!
irfan I also got perl 5.14 installed on my machine
TimToady that's how Unicode classifies it
irfan does Perl6 installation will go into the same dir's? 17:16
TimToady but yeah, meat/moon is often ambiguous
masak yeah, and confused through history.
jnthn
.oO( Everyone knows the moon's made of meat... )
masak irfan: yes, unless you set environment variables.
or, um, Configure.pl flags, rather.
tadzik irfan: no, it won't
irfan what should I do to avoid it
tadzik oh, wait
irfan tadzik are you sure? 17:17
17:17 birdwindupbird left
tadzik well, now I'm not 17:17
I'd bet it goes to Parrot dirs, which doesn't go to Perl 5 dirs
irfan ok, let me try and confirm it back 17:18
tadzik what Perl 6 are you installing?
17:18 eviltwin_b joined
irfan getting it from rakudo.org/how-to-get-rakudo/ 17:21
17:22 allbery_b left
tadzik ok, cool 17:22
uvtc masak, Yes, I agree that writing docs is tiring, thankless, and a huge undertaking. They're also time-consuming (to get wording (and speling) right) and difficult because sometimes you write something really great and someone else comes in and changes it in a way that you think botches it up.
I suspect a winning combination for docs right now may be this:
(A) create a github.com/perl6/perldocs project, 17:23
moritz uvtc: some was in the mu (then pugs) repository
colomon tadzik: I don't actually see any changes in the modules I have been looking at?
uvtc moritz, perhaps those could be culled for useful bits and added to perl6/perldocs
(B) keep it brief at first (have guidelines in the perl6/perldocs/README.md), mostly blocks of code examples showing commonly-needed functionality, with brief explanations interspersed as-needed
(C) get at least a few of them partially written (perlstring, perlarry, perlhash) 17:24
(D) make sure `perl6 --doc perlstring` can find them.
(E) get them included in the next R*
(F) parts of the Synopses could gradually find their way into the perldocs
moritz hugme: add uvtc to star
hugme moritz: You need to register with freenode first
uvtc Personally, I'm not crazy about this because the docs wouldn't be in Markdown :), but it seems to me like the way forward for Perl 6 ... unless some prolific doc writer is planning a grand unveiling of heretofore unseen skunk-works docs.
moritz hugme: add uvtc to star
hugme hugs uvtc. Welcome to star!
moritz uvtc: you should now have commit access to rakudo/star. If not, please tell me 17:25
uvtc What's ... happening to ... me .... feeling of power surging through ... my veins... must be another ... commit bit.
moritz :-)
irfan error: pathspec 'nqp/2012.04.1-1-gedd14da' did not match any file(s) known to git. 17:27
while building rakudo getting above error
uvtc There's people all over writing docs. There's lots of content from blog posts that could be condensed down and used, there's advent calendar articles, blog posts by moritz, masak, szabgab, colomon, others. There's the Tablets which already have some proto-perldoc content in them... 17:28
17:31 geekosaur joined
moritz irfan: which rakudo are you building, what commands did you run? 17:32
irfan: cd nqp; git fetch; # might or might not solve the problem
17:34 eviltwin_b left
irfan best one download github.com/downloads/rakudo/star/r....04.tar.gz 17:34
and run perl Configure.pl with dir of choice 17:35
moritz what does "with dir of choice" mean?
17:35 icwiener joined
irfan i.e. perl Configure.pl --prefix=<DIR> --gen-parrot --gen-nqp 17:36
moritz tries to reproduce
irfan this will avoid clash with any existing Perl version running in system
moritz hm, local copy now builds NAQP, and no such error has occured so far. Curious. 17:41
irfan were u running mac os x
mine is 10.7.3 17:42
17:47 geekosaur left 17:49 geekosaur joined
dalek ar: d45be1b | (John Gabriele)++ | skel/README:
Made in clear in the README where the install/ dir is.
17:53
sorear good * #perl6 17:55
uvtc If I close an issue at github, how do I link to the relevant commit without having to paste in the entire url for it? 17:59
benabik Just give the SHA-1, abbreviated or whole.
Also, if you refer to the issue in the commit message, it will be linked to automatically. 18:00
uvtc Oh, nice. Thanks, benabik.
sorear and if you refer to it using the special syntax (closes #NNN), it will be closed automatically
uvtc benabik, wait, how do I refer to the issue in the commit message? Using #NNN? 18:01
benabik Yes.
uvtc Great. Thanks again.
18:11 eviltwin_b joined
irfan make rakudo-spectest failed 18:12
Files=636, Tests=19464, 1325 wallclock secs ( 4.46 usr 2.54 sys + 1090.72 cusr 108.45 csys = 1206.17 CPU) Result: FAIL 18:13
moritz irfan: can you please paste the summary above that line? (into a nopaste service like gist.github.com)
18:14 geekosaur left
irfan Test Summary Report ------------------- t/spec/S02-magicals/args.t (Wstat: 256 Tests: 3 Failed: 0) Non-zero exit status: 1 Parse errors: Bad plan. You planned 4 tests but ran 3. t/spec/S02-magicals/pid.t (Wstat: 256 Tests: 0 Failed: 0) Non-zero exit status: 1 Parse errors: Bad plan. You planned 1 tests but ran 0. t/spec/S02-names-vars/perl.rakudo 18:14
masak looks familiar. 18:16
I think it might be something to do with the Mac OS X platform.
moritz and/or locales
wait no, wrong failing tests for locale issues 18:18
18:21 tyatpi left 18:24 irfan left 18:37 geekosaur joined 18:40 eviltwin_b left, eviltwin_b joined
masak n: .say for "foo(); bar++baz".split(/<|w>/) 18:40
p6eval niecza v16-23-gaa61ed5: OUTPUT«===SORRY!===␤␤Action method assertion:sym<|> not yet implemented at /tmp/zO4NP4bJH7 line 1:␤------> .say for "foo(); bar++baz".split(/<|w⏏>/)␤␤Unhandled exception: Unable to resolve method oplift in class Any␤ at /home…
18:43 geekosaur left
moritz is that the new(ish) word boundary syntax? 18:43
18:47 birdwindupbird joined
sorear yes 18:54
19:02 havenn joined 19:10 tyatpi joined
uvtc Regarding my comments earlier about creating a github.com/perl6/perldocs repo, I think I was on the wrong track. Please disregard them. TimToady is right --- the specs will probably evolve into Perl 6 perldocs. 19:10
19:10 rindolf left
tadzik colomon: I think Testing is all green now 19:12
19:14 fgomez left, brrt joined 19:20 ggoebel__ left 19:21 ggoebel__ joined
sorear masak: ping 19:23
moritz runtime/parrot/include/ has lots of generated pasm files 19:24
[Coke] ww.
19:25 fgomez joined 19:29 thou joined 19:33 uvtc left 19:35 allbery_b joined 19:36 thou left 19:38 eviltwin_b left 19:46 tyatpi left
lichtkind alias vor qx is gone ```? 19:47
alias vor qx is gone ```?i mean the p5 eval quotes
moritz backticks are gone, yes 19:48
sorear phenny: de "vor"? 19:50
phenny sorear: "before" (de to en, translate.google.com)
moritz I think lichtkind just meant 'for' 19:51
huf pronounced nearly the same, so it should do :)
okay... they maybe share one sound out of three :D 19:52
19:53 xinming left, ggoebel__ left
[Coke] more if you speak a germanic language. 19:54
19:54 ggoebel__ joined, fglock joined
huf [Coke]: doesnt german have a different r than english? and isnt the o in the german vor a different other o than the one in for in english? 19:54
19:55 xinming joined
colomon tadzik: you're right. hmm.... I know I deleted Math::BigInt from the ecosystem days ago... 19:58
tadzik hmm
sorear o/ colomon
colomon \o 19:59
tadzik it
's still in the projects.json I have
lichtkind mäsak understand me :)
tadzik ah, I saved the new one as projects.json.1 :/
tadzik reruns
dalek blets: 6835586 | (Herbert Breunung)++ | docs/appendix-b-grouped.txt:
optimize quoting ops table
20:01
tadzik ah, I can't really rerun it now. I will in an hour or so 20:02
unless someone wants to do it :)
20:13 brrt left, kaare_ left 20:17 PacoAir left 20:19 PacoAir joined 20:20 PacoAir left 20:29 PacoAir joined 20:30 fglock left 20:41 thou joined
lichtkind ordered things are derive from Seq right? 20:41
moritz Seq is dead. 20:42
lichtkind moritz: nobody told me + its still in spec 20:43
moritz: is iterator the new seq?
and why o why seq had to die?
moritz we used to believe that user would practically never see a Parcel 20:45
and a Parcel assigned to a scalar becomes a Seq 20:46
but, it turns out that no matter how we do things, Parcels always leak out the user
so it seems simpler to just expose them, and remove the Parcel -> Seq magic
lichtkind ah and seq will remain as a role or completely go? 20:47
moritz probably go completely
jnthn expects the same as moritz
I'm glad the Parcel -> Seq magic went away too. 20:48
TimToady Seq was supposed to be a "tuple" type, but tuples will likely end up being readonly shaped arrays rather than Seq
sorear moritz: yet we still have magic in the same place, for Nil 20:49
moritz sorear: aye
sorear: I'd rather remove that magic too, and let the undefine() function handler it 20:50
OTOH I see why that magic might be a good idea 20:51
arnsholt jnthn: Is there a simple way to load the dyncall ops from NQP? 20:53
jnthn arnsholt: --vm-libs=nqp_dyncall or some such as a command line fag to nqp 20:54
*flag
arnsholt: Then remember to call the init op (first one in nqp_dyncall.ops)
sorear moritz: I don't like the way that "$x = $y" is non-transparent to Nil values, and this behavior has bitten me in the past
Nil cannot be passed through type-oblivious data-rearranging functions 20:55
lichtkind i found never Seq a good name
too short and cryptic
moritz S04 still talks about "Slice context". Does that still exist? or has it been replaced by LoL context? 20:56
arnsholt jnthn: Cheers. I'm working on adding the CStr repr, and I think I destroyed something, since the Rakudo build suddenly fails =) 20:57
lichtkind so SeqIter will die too?
jnthn Yes, together with all the non-SeqIter puns
lichtkind moritz: im currently burring Seq in the spec 20:58
push will come soon
jnthn: RangeIter too ?
20:58 ggoebel__ left 20:59 ggoebel__ joined
jnthn lichtkind: RangeIter is gone, but only because Range itself can serve as a perfectly good iterator. 20:59
lichtkind: GatherIter, MapIter and ListIter live on.
TimToady how can Range serve as an iterator if it's immutable? 21:00
jnthn Because iterators are immutable.
arnsholt Huh. Just looks like it can't resolve the lib. Weird
Something to do for tomorrow I suppose
G'night
jnthn 'night, arnsholt 21:01
lichtkind jnthn: GatherIter never were in the spec so i dont care :9
TimToady: so rangeiter stays? 21:02
phenny: tell masak "look into S02 #Backslash sequences - the is a bell" 21:03
phenny lichtkind: I'll pass that on when masak is around.
lichtkind TimToady: the snippets containing Seq i will not touch because i dont undertand them the rest will be gone in 10 min 21:04
21:08 icwiener left 21:09 havenn left
dalek ecs: e8134eb | (Herbert Breunung)++ | S (4 files):
officially burry Seq, DANGER: some snippets are still in S02 S09 S32/container and numeric
21:14
21:18 birdwindupbird left, tyatpi joined
dalek blets: f274a07 | (Herbert Breunung)++ | docs/appendix- (3 files):
fixing B tables and polish ++ and --
21:24
blets: 203dfa8 | (Herbert Breunung)++ | docs/ (3 files):
delete Seq, its still insome signatures but spec has to lead the way
21:29 timotimo joined, PacoAir left 21:30 PacoAir joined 21:31 [particle] left 21:38 MayDaniel joined 21:44 sergot joined 21:45 PacoAir left 21:46 sergot left 21:57 [particle] joined 21:59 MayDaniel left 22:06 aloha left, UncleFester6 joined 22:07 aloha joined
UncleFester6 tadzik: ping 22:07
22:08 rsimoes joined 22:10 UncleFester6 left 22:11 thou left
masak sorear: pong 22:20
phenny masak: 21:03Z <lichtkind> tell masak "look into S02 #Backslash sequences - the is a bell"
masak looks
lichtkind: well, then. that's the answer to your question.
lichtkind: but my point still stands. unless the spec explicitly *undefines* \a, Perl 6 has \a because Perl 5 has \a :) 22:21
sorear masak: release tomorrow! Did you say you wanted to be involved? 22:27
masak ooh
yeah, let's.
I'll have some time for that tomorrow.
22:44 uvtc joined
uvtc masak, hi 22:44
Oh, it must be quite late where you are. Will try again another time. 22:46
masak I'm here.
diakopter I don't see you 22:47
22:47 rualdo11 joined
lichtkind uvtc: there is one majo disadvantage for designs like tablets.perl6.org/appendix-b-groupe...uoting-ops that the lines get 180 chars long 22:47
masak diakopter: in the online experience, we establish a metaphor wherein we borrow real-world concepts into the digial domain.
uvtc masak, I think I found the remaining Perl 6 docs niche. Filling it here: wiki.perl6.org/Mostly%20Harmless%20Docs/Main
masak ;) 22:48
uvtc See what happens when it's shark week on #perl6?
masak uvtc++
masak .oO( sharks pounce first, ask FAQs later )
sorear masak: what will you be doing? how can I help with it? 22:49
uvtc lichtkind, at that point, maybe switch to multi-line table syntax.
masak sorear: when do you think you'll be available tomorrow?
lichtkind uvtc: no these look aweful 22:50
masak sorear: I'll probably just get started on following the release guide, and if I hit a snag I'll ask you for assistance.
lichtkind uvtc: in html all is fine just the sorcecode with the long links is 180 chars
uvtc lichtkind, I don't recall the issue with multi-line tables. Maybe it's something some css could fix? 22:51
lichtkind uvtc: no they go over full width and give even column with minimal content equal space
uvtc: im not sure if thats fixble
the appearance is fine just the rules of markdown syntax force us for single line tables write everathing in one line too which gets so long 22:52
sorear masak: 1600-1800, 2300-0800, with fuzzy edges and a diner break 22:53
masak gotcha.
uvtc lichtkind, y'know, I've never tried using the grid table style. Maybe that renders more nicely?
masak (is that dinner*, or will you go to an actual diner and take a break?)
uvtc lichtkind, johnmacfarlane.net/pandoc/README.html#tables
sorear hehehehe 22:54
uvtc o/
sorear o/
22:54 uvtc left 23:08 allbery_b left, allbery_b joined 23:12 NamelessTee left
masak 'night, #perl6 23:21
lichtkind good night 23:22
o/
23:22 lichtkind left 23:25 whiteknight joined 23:27 whiteknight left 23:30 whiteknight joined 23:50 geekosaur joined 23:51 eviltwin_b joined 23:52 allbery_b left 23:54 whiteknight left 23:55 geekosaur left 23:59 tyatpi left