»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:02 benabik joined 00:07 dayangkun joined 00:08 jnap left 00:09 jnap joined 00:12 Psyche^ joined 00:13 dayangkun left 00:14 ajr_ left 00:15 jnap left, Psyche^_ left 00:21 jnap joined
dalek rl6-roast-data: 0453525 | coke++ | / (5 files):
today (automated commit)
00:22
locsmif coke++ indeed 00:38
;P
dalek ast: 3e1cfca | (David Warring)++ | S32-io/io-spec- (2 files):
fixed bogus test failures. messed up TAP
00:43
00:44 snoopy_ joined, snoopy_ left 00:45 dwarring joined 00:51 FROGGS joined 00:56 FROGGS left 00:57 jaldhar left
diakopter sorear: ping 01:01
host08:rakudo mwilson$ time ./perl6 -e 'my $z = "a" x 1_000_000; print(eval("so \"$z\" ~~ /$z/"))' 01:04
===SORRY!===
java.lang.ClassFormatError: Unknown constant tag 97 in class file 08760A548F985687272891CCAE0291F993893F21
real0m22.200s
.ask sorear find this spot in the backlog.. jvm bytecode parsing error from rakudo 01:05
yoleaux diakopter: I'll pass your message to sorear.
diakopter .seen sorear 01:10
yoleaux I saw sorear 19 Aug 2013 04:06Z in #perl6: <sorear> sweet
diakopter here are the known constant tags: docs.oracle.com/javase/specs/jvms/s...ms-4.4-140 01:13
oh, hahaha, 97 is ascii for a 01:14
host08:rakudo mwilson$ time ./perl6 -e 'my $z = "\x1" x 100_000; print(eval("so \"$z\" ~~ /'\''$z'\''/"))' 01:17
===SORRY!===
java.lang.ClassFormatError: Illegal UTF8 string in constant pool in class file C2191414E5EAB76038258C2568A4F799EB32FC6F
01:19 jnap left
dalek ast: f39b0e8 | (David Warring)++ | S32-io/io-spec-win.t:
fixed typo
01:22
01:23 cognominal left
diakopter .tell masak unexpected in rakudo: say so "a" x 1_0 ~~ /a ** 1_0/ says False 01:36
yoleaux diakopter: I'll pass your message to masak.
01:36 jaldhar joined 01:37 skids left 01:38 FROGGS joined 01:39 mtk left 01:41 skids joined 01:52 mtk joined 01:53 thou left
dalek ast: cdb6698 | coke++ | S0 (4 files):
pugs fudge
01:57
01:57 thou joined 02:01 cognominal joined 02:03 skids left 02:05 FROGGS left
dalek rl6-roast-data: a558235 | coke++ | bin/ (2 files):
Up the timer from 15s to 1m

Should avoid some timeout errors on niecza.
02:23
colomon Hmmm, ABC seems to work on jakudo 02:24
02:24 locsmif left
colomon oodles of Passing an object candidate to Mu.bless is deprecated messages 02:24
[Coke] colomon: looks like some of the niecza failures in roast I'm seeing are just timeouts 02:25
colomon ?
[Coke] will check again after the next run. 02:26
all the roast runs use a time/memory limited perl6 wrapper script.
so, github.com/coke/perl6-roast-data/b....out#L5932 is just a timeout error. 02:27
Things should look a little nicer after this.
colomon [Coke]++ 02:30
02:51 Chat8992 joined
Chat8992 Hi 02:51
02:52 Chat8992 left 03:04 skids joined, FROGGS joined 03:13 mauke left, mauke joined 03:14 preflex left 03:15 preflex_ joined, ChanServ sets mode: +v preflex_, preflex_ is now known as preflex 03:29 Tene left, djanatyn left 03:30 Tene joined 03:31 djanatyn joined 03:34 PZt joined 03:48 xinming_ left 03:52 xinming joined 04:01 fridim_ left 04:14 abnorman left 04:26 risou_awy joined 04:30 cognominal left 04:31 cognominal joined 04:44 FROGGS left 04:48 hummeleBop joined 04:56 SamuraiJack__ joined 05:04 FROGGS joined
dalek d: 27326bc | larry++ | STD.pm6:
allow _ in regex ** range integers
05:13
05:14 ggoebel2 joined 05:16 ggoebel left 05:23 mtk left 05:27 mtk joined 05:29 cognominal left 05:37 cognominal joined 05:41 rindolf joined 06:00 FROGGS left 06:06 dmol joined 06:24 dmol left
diakopter hi 06:27
06:30 FROGGS joined
moritz good morning diakopter, * 06:46
FROGGS o/ 06:49
06:56 rindolf left 06:57 domidumont joined, berekuk joined 07:01 qiyong joined
qiyong does p6 still have three kinds of variables? 07:01
07:02 domidumont left
GlitchMr qiyong: No. Neither Perl 5 or Perl 6 had three kinds of variables. 07:06
But if you mean, scalar, array, and hash, Perl 6 still has these.
JimmyZ qiyong: 你好 07:07
GlitchMr (but Perl 5 also had typeglobs (*), and subroutines (&))
(and Perl 6 also has generic package name (::), and subroutines (&)) 07:08
Also, Perl 6 has twigils. 07:09
07:11 zakharyas joined 07:14 domidumont joined
qiyong GlitchMr: isn't that variable type? 07:16
GlitchMr I'm not sure. What is your definition of variable type?
qiyong scalar, arry/list, hash
GlitchMr The documentation says it is.
nwc10 Perl 5 has 5 things you can put sigils in front of, and about 3 more things that don't have sigils 07:17
scalar, array, hash, code, typeglob, format, filehandle, dirhandle
qiyong it is what? what's the proper term for scalar, arry, ...
GlitchMr feather.perl6.nl/syn/S02.html#Sigils
array
qiyong how to test if an item exist? like set operator in, using hash? 07:18
07:19 domidumont left, domidumont joined
FROGGS r: my %hash = foo => 42; say %hash<bar>:exists; say %hash<foo>:exists 07:20
camelia rakudo 9faa30: OUTPUT«False␤True␤»
FROGGS r: my %hash = foo => 42; say %hash.exists('bar'); say %hash.exists('foo') 07:21
camelia rakudo 9faa30: OUTPUT«False␤True␤»
07:21 dmol joined
qiyong FROGGS: what is :exists? 07:26
object method?
JimmyZ 一个动词 07:27
07:29 pernatiy joined 07:34 kaleem joined 07:35 chenryn left
FROGGS qiyong: sort of, it is called an adverb 07:35
qiyong FROGGS: new in perl6? 07:36
i want to implement this as simple as possible, in p5 or p6. if ($user in @users) { } 07:37
FROGGS qiyong: adverbs? at least the hash adverbs are newly added to rakudo within the last months
JimmyZ std: if $user == any(@users) { } 07:38
camelia std 27326bc: OUTPUT«===SORRY!===␤Variable $user is not predeclared at /tmp/rjoW0he5bt line 1:␤------> if ⏏$user == any(@users) { }␤Variable @users is not predeclared at /tmp/rjoW0he5bt line 1:␤------> if $user == any(⏏@users) { }␤C…
FROGGS well, @users is not a hash
JimmyZ you want any
07:39 pdcawley joined
FROGGS r: my $user = 4; my @users = ^6; say $user == any @users 07:40
camelia rakudo 9faa30: OUTPUT«any(False, False, False, False, True, False)␤»
FROGGS so it will be true because one of it is true 07:41
r: my $user = 4; my @users = ^6; say so $user == any @users
camelia rakudo 9faa30: OUTPUT«True␤»
dagurval r: say so 'a'...'z' 07:43
so makes it timeout ._.
camelia rakudo 9faa30: OUTPUT«(timeout)»
FROGGS ? 07:52
r: say 'a'...'z'
camelia rakudo 9faa30: OUTPUT«a b c d e f g h i j k l m n o p q r s t u v w x y z␤»
FROGGS r: say ?('a'...'z') 07:53
camelia rakudo 9faa30: OUTPUT«True␤»
FROGGS r: say so ('a'...'z')
camelia rakudo 9faa30: OUTPUT«True␤»
FROGGS r: say so 'a'...'z'
camelia rakudo 9faa30: OUTPUT«(timeout)»
FROGGS maybe the ... has lower precedence than so?
07:53 sqirrel joined
FROGGS r: say True...'z' 07:54
camelia rakudo 9faa30: OUTPUT«(timeout)»
lizmat good *, #perl6!
FROGGS hi lizmat 07:55
lizmat FROGGS: %h.exists is supposed to be an internal method
also, the :exists adverb can be applied to slices, whereas %h.exists only takes 1 parameter
FROGGS lizmat: ahh, okay
lizmat r: my %h=a=>1,b=>2; say %h<a b c d>:exists 07:56
camelia rakudo 9faa30: OUTPUT«True True False False␤»
FROGGS dunno if I will remember it though :o)
qiyong JimmyZ: does p5 have any?
lizmat r: my %h=a=>1,b=>2; say %h<a b c d>:k # if you just want to know which keys exist
camelia rakudo 9faa30: OUTPUT«a b␤»
FROGGS qiyong: no, since there are no junctions 07:57
lizmat r: my %h=a=>1,b=>2; say %h<a b c d>:v # if you just want to know the values of existing keys
camelia rakudo 9faa30: OUTPUT«1 2 ␤»
lizmat hmmm… that feels wrong
FROGGS qiyong: but there are other ways to achieve that, see List::Utils or so
r: my %h=a=>1,b=>2; say %h<a b c d>:v.perl 07:58
camelia rakudo 9faa30: OUTPUT«===SORRY!=== Error while compiling /tmp/_qYFvzGoiM␤Two terms in a row␤at /tmp/_qYFvzGoiM:1␤------> my %h=a=>1,b=>2; say %h<a b c d>:v⏏.perl␤ expecting any of:␤ pair value␤ infix stopper␤ infix or meta-inf…
FROGGS r: my %h=a=>1,b=>2; say (%h<a b c d>:v).perl
camelia rakudo 9faa30: OUTPUT«(1, 2, (), ())␤»
lizmat indeed, rakudobug
JimmyZ qiyong: no 08:01
qiyong what the hell is adverb? 08:04
new invention?
any is keyword or function?
FROGGS dagurval: it is about precedence, and I think it is not a bug at all
lizmat r: my %h=a=>1,b=>2; say %h<a b c d>:v.elems 08:05
camelia rakudo 9faa30: OUTPUT«===SORRY!=== Error while compiling /tmp/FrZy9WBD0i␤Two terms in a row␤at /tmp/FrZy9WBD0i:1␤------> my %h=a=>1,b=>2; say %h<a b c d>:v⏏.elems␤ expecting any of:␤ pair value␤ infix stopper␤ infix or meta-in…
lizmat r: my %h=a=>1,b=>2; say (%h<a b c d>:v).elems
camelia rakudo 9faa30: OUTPUT«2␤»
FROGGS r: say &any.WHAT # any is a function
camelia rakudo 9faa30: OUTPUT«(Sub)␤»
JimmyZ r: say any.WHAT 08:06
camelia rakudo 9faa30: OUTPUT«(Junction)␤»
FROGGS r: say any.WHAT.gist.subst(/\w/, 'f') # *g* 08:07
camelia rakudo 9faa30: OUTPUT«(function)␤»
JimmyZ r: constant any = &any; say any.WHAT 08:08
camelia rakudo 9faa30: OUTPUT«(Sub)␤»
lizmat r: my %h=a=>1,b=>2; say (%h<a b c d>:v).elems; say (%h<a b c d>:v).perl # TimToady: something feels incongruent here
camelia rakudo 9faa30: OUTPUT«2␤(1, 2, (), ())␤»
lizmat feels to me, the .perl should say "(1,2)', or am I seeing this wrong ?
08:32 pernatiy left 08:33 Vlavv left
moritz you mean .elems shouldn't flatten? 08:34
08:34 berekuk left 08:35 qiyong left, daxim joined, berekuk joined
lizmat well, I'm not sure anymore… clearly showing 4 elements in .perl, and .elems saying 2, feels incongruent to me 08:36
dalek ast: 1a63bc5 | moritz++ | / (3 files):
some rakudo.jvm unfudges
08:37
08:38 denis_boyun joined
jnthn .elems implies flattening list context 08:42
.perl probably should not do so, but represent what it has, since if you did other operations on it (like .tree) you'd recover the structure. 08:43
08:46 Vlavv joined
lizmat tries to adjust to incongruity :-) 08:46
masak good antenoon, #perl6 08:50
yoleaux 01:36Z <diakopter> masak: unexpected in rakudo: say so "a" x 1_0 ~~ /a ** 1_0/ says False
masak r: say so "a" x 1_0 ~~ /a ** 1_0/
camelia rakudo 9faa30: OUTPUT«False␤»
masak r: say so "a" ~~ /a ** 1_0/
camelia rakudo 9faa30: OUTPUT«False␤»
moritz it's parsed as /[a ** 1] _0/ 08:51
masak r: say so "a_0" ~~ /a ** 1_0/
camelia rakudo 9faa30: OUTPUT«True␤»
masak moritz: yes.
08:51 salv0 left
jnthn TimToady patched STD to get that right in the backlog :) 08:51
moritz masak: and TimToady++ already patched it in STD
masak I think a fairly strong case could be made... OK, that settles it.
jnthn So just needs somebody to nab the patch :)
masak submits rakudobug
08:52 atroxaper joined
atroxaper Hello, #perl6 08:52
FROGGS hi atroxaper
masak hi atroxaper
arnsholt That looks like something that should be added to roast as well
masak today I got an email encouraging me to blog the t3 reviews.
I'm going to set time aside for it this afternoon. 08:53
lizmat finally gets a rakudo built after stubbing Set, KeySet, Bag, KeyBag in src/core/Any 08:54
moritz so it's a missing forward declaration? 08:55
lizmat well, that was only one of the problems in the patch, apparently
atroxaper Does anybody know how can i call system utilit and print his aoutput to console in real time. I try to say qqx|$command|; # for axample i try to call git command. say qqx|"git clone url"| print git's asking of my password and doesn't print anything after that.
Sorry for offtop 08:56
moritz atroxaper: the problem is likely that git asks for the password on the terminal directly, and not via STDIN/STDOUT
atroxaper: can't you just call shell("git clone $url") ?
08:57 bruges_ left
atroxaper moritz: ok. but is there some way to see output? 08:57
moritz well, the user sees the output that way
masak r: say so "a" ~~ / a ** 1e0 / # what about this one?
camelia rakudo 9faa30: OUTPUT«False␤»
masak r: say so "ae0" ~~ / a ** 1e0 / # what about this one?
08:57 donaldh joined
camelia rakudo 9faa30: OUTPUT«True␤» 08:57
08:57 bruges joined
moritz masak: I'd think it would make sense to require a word boundary after the number that follows a ** 08:58
08:58 dakkar joined
moritz number of reptitions are inherently integers, so I don't see the point of allowing floating-point numbers here 08:58
atroxaper moritz: you are best! shell($command) works! Many thanks! 08:59
masak moritz: I think I agree.
moritz \o/
atroxaper: and fwiw Perl 6 questions are never off-topic here :-)
masak and I've always felt that a warning in the case of A ** BCD parsing as [A ** B]CD -- would be very appropriate. 09:00
09:00 bruges_ joined
moritz +1 09:02
09:02 bruges_ left
donaldh rakudo chdir emulation: github.com/rakudo/rakudo/pull/202 09:03
09:03 bruges_ joined
donaldh this helps unblock panda 09:04
FROGGS donaldh: I'm doing the lasts tests on windows/jvm
donaldh FROGGS: oh cool
FROGGS donaldh: do you had the chance to check for the failing chdir test?
09:04 bruges left
donaldh FROGGS: on parrot? 09:04
or JVM ? 09:05
FROGGS donaldh: github.com/rakudo/rakudo/pull/202#...t-23376687
donaldh FROGGS: I cannot test on XP 09:06
s/XP/Windows/
dalek ast: 16fc9c2 | moritz++ | S (14 files):
rakudo unfudges
FROGGS k, I will test your latest commit in a minute
or maybe after the jvm tests 09:07
jnthn wow, lots of unfudge :) 09:08
moritz lizmat++ implemented much of the changes that enabled those 09:09
jnthn lizmat++
donaldh oh, the chdir-emu PR also contains missing IO ops that allow us to unfudge slurp tests and pass most of the spurt tests.
jnthn donaldh: On JVM, yes? :)
donaldh: Binary IO?
donaldh jnthn: yes.
jnthn \o/
donaldh++
JimmyZ \o/ CQRS in perl6! 09:10
donaldh jnthn: the JVM binary IO ops are already committed in nqp 09:11
jnthn donaldh: nice 09:12
jnthn was a bit distracted for the last few days and only sorta followed what's been going on :)
donaldh work does that
masak ain't that the truth. 09:13
lizmat jnthn: can a native ever be aliased to $_ ? 09:16
I'm asking because of "my int $a will begin { … }" 09:17
09:17 sqirrel left
lizmat technically, adding a phaser for a native, would be no pb 09:17
but aliasing $_ might ?
lizmat is now down to uncommenting single lines to see what breaks the build 09:18
09:20 denis_boyun left
jnthn lizmat: It's the same issue was rw native things... 09:21
s/was/as/
lizmat well, you mean it's NYI? or that it will be impossible ?
jnthn lizmat: NYI
lizmat ok, I can live with that
:-) 09:22
09:22 berekuk left
jnthn lizmat: Though note that you can't apply mixins to a native "container" as there is no container... 09:22
lizmat yep, got that
jnthn I'm not sure what .WHAT should say on an rw native thing. We could just pretend it's the underlying native type.
masak lizmat: in a way, it's nice to see you bumping up against untried/unimplemented use cases. means you're breaking new ground, chopping away djungle for future explorers. 09:23
09:24 berekuk joined
jnthn Remember to roar while doing so... 09:24
09:25 mathw joined 09:30 sqirrel joined
JimmyZ jnthn++, CQRS is useful 09:32
jnthn Wasn't my invention... :) 09:33
09:33 denis_boyun joined
dalek kudo/nom: e846e9b | (Donald Hunter)++ | src/core/IO.pm:
Start using absolute paths for IO ops
09:36
rakudo/nom: 58964e0 | (Donald Hunter)++ | src/core/IO.pm:
rakudo/nom: Make chdir slightly less naive. Write tests before elaborating.
09:36 dalek left
FROGGS dalek: o/ 09:36
09:37 dalek joined, ChanServ sets mode: +v dalek
lizmat one of my latest inventions: 09:39
method delete($a) is hidden_from_backtrace {
X::Method::NotFound.new( method => 'delete', typename => self.^name ).throw;
}
:-)
jnthn um...why not just let the normal method caller do that?
lizmat a method telling the world it doesn't exist
because it *does* exist because of inheritence, and it shouldn't 09:40
jnthn arrrrghghghghghgh
No you can't do that!!
That's ALWAYS wrong design.
moritz lizmat: this will be the most confusing errors ever
*one of the
lizmat why? it will just state it doesn't exist? 09:41
moritz but it exists
and that's the problem
jnthn But it does exist
lizmat well, yes,
moritz you can check .^can that it exists
lizmat but Key.delete and Bag.delete are specced to not exist
moritz lizmat: it's much better to introduce an X::Immutable.new(method => 'delete').throw or so
lizmat tha's fine by me too :-) 09:42
moritz well, seems the specs are inconsistent, happens
lizmat I was just going by the spec
jnthn Yes, "we don't support this operation" is very different from "method not found"
lizmat or rather, I was fixing a spectest
ok, will fix :-)
jnthn But even this seems Liskov-dubious...
What delete method is inherited?
lizmat Any.delere
*delete
moritz putting .delete into Any is dubious, I'd say
jnthn Why does that exist? 09:43
r: Any.delete
camelia rakudo 9faa30: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in method delete at src/gen/CORE.setting:1443␤ in block at /tmp/PlumjvRbqu:1␤␤»
jnthn r: Any.delete('x')
camelia rakudo 9faa30: ( no output )
jnthn r: Any.new.delete('x')
moritz r: say Any.delete('x')
camelia rakudo 9faa30: ( no output )
rakudo 9faa30: OUTPUT«Nil␤»
lizmat r: my %h; my $b := %h<a><b>; say %h; $b=42; say %h
camelia rakudo 9faa30: OUTPUT«().hash␤("a" => {"b" => 42}).hash␤»
lizmat well, actually, that's Any.exists 09:44
I also needed Any.delete for that...
brb
jnthn doesn't see where...
09:46 itz left
lizmat ok, will try to remove Any.delete after I fixed this Set/Bag business 09:49
or tell you guys why I couldn't
09:49 itz joined
jnthn exists and delete in Any do feel a little odd to me... 09:49
lizmat exists *is* needed for %h<a><b> 09:50
and binding to that
jnthn How so?
(where do we call .exists, that is...)
lizmat because bind_key does an exists
moritz r: my $x; $x<a><b> = 3; say $x
camelia rakudo 9faa30: OUTPUT«("a" => {"b" => 3}).hash␤»
jnthn Where do we call bind_key?
lizmat r: my $x; $x<a><b> := 3; say $x 09:51
camelia rakudo 9faa30: OUTPUT«("a" => {"b" => 3}).hash␤»
moritz jnthn: ah, you mean we could viviy the hash before calling bind_key
jnthn Right, that calls bind_key...
moritz: Not meaning anything yet, just trying to understand... :)
lizmat patches welcome :-)
jnthn I'd thought exists and delete had been put in Any for :exists/:delete related reasons...
lizmat it was inspired by spectest todo/skips 09:52
nope, for that they are not needed
well, maybe
hmmm
jnthn Right, I'd expected we could get that out of :U candidates in the postcircumfixes...
lizmat maybe that can wait until I made subs of them ? 09:53
r: my %h; say %h<a><b>:delete # this is maybe why I needed Any.delete
camelia rakudo 9faa30: OUTPUT«Nil␤»
jnthn lizmat: Yeah, perhaps so. I just worry when our core classes are breaking Liskov so blatantly... 09:54
lizmat the alternative would have been to add a *lot* of candidates for the :U case for all of the adverbs 09:55
or to fix each candidate up
so that it would accept U: as well
this was a much simpler solution 09:56
jnthn Yeah, that's the way I'd have leaned towards...
lizmat that would be an extra .defined check on *every* [] and {} access 09:57
moritz maybe make that an nqp::defined check or so, that's fairly cheap
lizmat perhaps when they're subs, we can make the extra candidates
jnthn :U is .DEFINITE, not .defined 09:58
As is :D
That boils down to nqp::isconcrete, which is cheap.
09:58 berekuk left
jnthn (flag check on Parrot and Moar, instanceof in JVM) 09:58
lizmat if that's the way you think I should go, I will
lizmat is finally able to uncomment code and still build, yeah! 09:59
jnthn lizmat: It feels righter, but as you say it doesn't deal with the other case where you needed .exists...
lizmat my mind is now filled with Set and Bag, I will revisit this later, ok?
jnthn sure, no hurry :) 10:00
And I'm fine if this waits until the method => sub move.
lizmat what should be better: nqp::isconcrete or .DEFINITE ?
10:00 denis_boyun left
lizmat performance wise 10:00
or which would you prefer :-) 10:01
jnthn nqp::isconcrete, though $x.DEFINITE is just nqp::p6bool(nqp::isconcrete($x)) really
lizmat but I would have to wrap nqp::isconcrete to be able to use it as a conditional, no? 10:02
10:02 rindolf joined
jnthn no 10:03
it returns a native int.
0 or 1
You can use that directly in a conditional.
if nqp::isconcrete(x) { ... } # totally fine
lizmat cool 10:04
timotimo heyo :) 10:05
masak heyo, timotimo 10:06
10:07 xenoterracide left
donaldh nqp: nqp::copy('a','b') 10:07
camelia nqp: OUTPUT«Class 'File' not found␤current instr.: '' pc 40 ((file unknown):39) (/tmp/chJDn33FTJ:10)␤»
timotimo ... wat? :)
oh, of course
jnthn no, still wat :P 10:08
donaldh nqp-jvm: nqp::copy('a','b')
camelia nqp-jvm: OUTPUT«No registered operation handler for 'copy'␤ in compile_op␤ in as_jast␤ in as_jast␤ in <anon>␤ in compile_all_the_stmts␤ in as_jast␤ in as_jast␤ in <anon>␤ in compile_all_the_stmts␤ in as_jast␤ in as_jast␤ in <anon>␤ in compile_all_the_stmts␤ in <anon>␤ in …
jnthn I think nqp-jvm here is hopelessly out of date, fwiw.
donaldh ah
nwc10 is there an easy way to ask nqp-jvm its version?
timotimo find a recent commit to nqp and see if it is in? ;) 10:09
jnthn nwc10: I think it's actually old enough that it's from the nqp-jvm-prep repo!
10:09 ssutch left
donaldh rakudo copy silently fails for invalid params on JVM. 10:09
nwc10 nostagia!
is there any way to ask it to upgrade itself? 10:10
donaldh I think it is because nqp::copy returns -1 on JVM but maybe throws an exception on parrot ?
jnthn donaldh: I suspect we want it to be consistent there. 10:15
10:17 salv0 joined 10:20 SamuraiJack joined, firstfire joined 10:23 SamuraiJack__ left
donaldh rebuilds nqp on parrot 10:23
r: copy('a', 'b') 10:45
camelia rakudo e0b2af: OUTPUT«copy is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting:2␤ in sub copy at src/RESTRICTED.setting:13␤ in block at /tmp/svvN6_WzMO:1␤␤»
donaldh golfs alone 10:46
10:49 denis_boyun joined 10:58 atroxaper left 11:04 clairence joined 11:07 denysonique joined, berekuk joined
denysonique Does perl 6 have something like 3->times { } 11:07
?
e.g. ruby: 3.times { print 'foo ' }
timotimo no, but you can build it yourself 11:08
lizmat r: say "for" for ^3
camelia rakudo e0b2af: OUTPUT«for␤for␤for␤»
lizmat ?
timotimo r: sub times($num, *&block) { block for ^$num }; 5.&times { say "test" }
camelia rakudo e0b2af: OUTPUT«===SORRY!=== Error while compiling /tmp/lepeCFnIlK␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?)␤at /tmp/lepeCFnIlK:1␤------> *&block) { block for ^$num }; 5.&times ⏏{ say "test" …
moritz r: sub times($num, *&block) { block for ^$num }; 5.&times: { say "test" } 11:09
timotimo r: sub times($num, *&block) { block for ^$num }; 5.&times: { say "test" }
camelia rakudo e0b2af: OUTPUT«test␤test␤test␤test␤test␤»
timotimo :)
moritz :-)
lizmat .&times is not really .times, but yeah
timotimo r: sub times($num, *&block) { block for ^$num }; 10.&times: { say "test"; last if (True, False, False, False).pick }
camelia rakudo e0b2af: OUTPUT«test␤test␤test␤» 11:10
11:10 firstfire left
timotimo even works with control exceptions 11:10
lizmat: right, but now that i know it's possible to do it like this, you can easily MONKEY_TYPING-enhance Int (or Cool if you must)
(except method caches are not properly invalidated when using MONKEY_TYPING ...)
lizmat probably, Int, but yeah
timotimo denysonique: does that help you? 11:12
denysonique timotimo: yes thanks
timotimo: I was wondering if something like this could become a feature of perl
without defining it 11:13
moritz why?
denysonique e.g. feature of stdlib
moritz we already have a very easy way to iterate $n times
for ^$n { ... }
compared to $n.each: { ... }
11:13 clairence left
moritz I don't see the big advantage 11:13
it's also questionable wether numbers should implement control flow 11:14
masak denysonique: if you like it so much, just define a subroutine. 11:15
GlitchMr for ^3 { }
moritz s/each/times/
masak r: sub upto($N) { 0 ..^ $N }; for upto(7) { say $_ }
camelia rakudo e0b2af: OUTPUT«0␤1␤2␤3␤4␤5␤6␤»
JimmyZ well, it's easy to be a feture
write it ,submit to panda
timotimo i don't see a problem with putting it into a module.
i don't think it should be in "core" 11:16
masak we already have it in core: it's called prefix:<^>
JimmyZ then, use feature 'times';
GlitchMr Perl 6 also has perfectly fine 3.times { print 'foo ' }
timotimo whereby i mean "available without a 'use'"
GlitchMr It's called either print 'foo ' x 3, or for ^3 { print 'foo ' }
11:16 brrt joined
JimmyZ r: print 'foo ' x 3 11:17
camelia rakudo e0b2af: OUTPUT«foo foo foo »
GlitchMr for ^3 is the "repeat" you want.
JimmyZ r: print 3 x 'foo '
camelia rakudo e0b2af: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏foo ' (indicated by ⏏)␤ in method Int at src/gen/CORE.setting:11524␤ in method Int at src/gen/CORE.setting:5108␤ in sub infix:<x> at src/gen/CORE.setting:1378␤ in sub infix…
JimmyZ r: print 'foo ' for ^3
camelia rakudo e0b2af: OUTPUT«foo foo foo »
GlitchMr Actually, "base-10 number must begin with valid digits or '.'" 11:18
That's interesting.
r: print 'foo ' x '3'
camelia rakudo e0b2af: OUTPUT«foo foo foo »
GlitchMr r: print 'foo ' x '3.5'
camelia rakudo e0b2af: OUTPUT«foo foo foo »
GlitchMr So, you can repeat with dots?
JimmyZ r: print 'foo ' x '3i' 11:19
camelia rakudo e0b2af: OUTPUT«Can not convert 0+3i to Int: imaginary part not zero␤ in method Int at src/gen/CORE.setting:11524␤ in method Int at src/gen/CORE.setting:9573␤ in method Int at src/gen/CORE.setting:5108␤ in sub infix:<x> at src/gen/CORE.setting:1378␤ in sub infix:<x> at src/ge…
JimmyZ r: print 'foo ' x '3+2i'
camelia rakudo e0b2af: OUTPUT«Can not convert 3+2i to Int: imaginary part not zero␤ in method Int at src/gen/CORE.setting:11524␤ in method Int at src/gen/CORE.setting:9573␤ in method Int at src/gen/CORE.setting:5108␤ in sub infix:<x> at src/gen/CORE.setting:1378␤ in sub infix:<x> at src/ge…
JimmyZ r: print 'foo ' x '3+0i'
camelia rakudo e0b2af: OUTPUT«foo foo foo »
JimmyZ r: { print 'foo '} x '3+0i' 11:22
camelia rakudo e0b2af: ( no output )
timotimo is CQRS a good pattern for implementing event stores? :3 11:23
CQRS with an event store* 11:24
JimmyZ I think so
11:24 sqirrel left
timotimo failed trolling apparently 11:25
JimmyZ I can got a Perl 6 one easily :P 11:26
11:27 pernatiy joined 11:35 denis_boyun left 12:00 skids left 12:02 kbaker joined 12:08 denis_boyun joined
arnsholt *sigh* Programming in Python is just annoying enough to make me grumpy 12:12
lizmat is grumpy from uncommenting lines all the time, make, fail, repeat 12:15
tadzik programming is one thing, but that toolchain is just bad 12:16
sorry excuses for NYTProf and Devel::Cover
lizmat on that thought: can we pipe --profile output to NYTProf already ?
jnthn The stuff it outputs can be viewed in kcachegrind, I believe. 12:17
arnsholt Perhaps the most annoying right now is just the fact that def is an assignment, not a declaration. That way all the little utility functions have to live at the top of the file
Rather than at the bottom, where they belong
moritz speaking of NYTProf, the flamegraph feature really rocks 12:18
tadzik didn't see it yet 12:20
I don't remeber the last time I worked with Perl 5 :|
well, to the extent of having to do profiling
moritz tadzik: blog.timbunce.org/2013/04/08/nytpro...precision/ has an example 12:21
(and in the generated HTML the bars have a hover tooltip with the complete routine name + time spent)
tadzik wow, interesting to see that in practice 12:22
jnthn ooh, pretty! 12:23
moritz tadzik: I already had a good use for them; we had a case where a slowdown between two profiles occurred, and it was visually obvious where it came from 12:24
tadzik nice
12:24 berekuk left, jnap joined 12:25 berekuk joined 12:27 grondilu joined
moritz (it was also obvious from the list of exclusive call times, where a routine changed from ~0s to 15.5s) 12:29
ok, it's such a "nice" story, I simply have to tell it :-)
OTRS has a feature where, for reasons of extensibility, classes are dynamically loaded, and added as superclasses to the current class 12:30
tadzik woosh
;)
jnthn wait what?
:)
moritz wait for the really weird part :-) 12:31
lizmat has finally built something that can be spectested
I know, it's weird :-)
moritz the really weird part is that's done INSIDE THE CONSTRUCTOR
and it does basically require $modulepath; push @ISA, $class;
and that for the template object, which is instantiated about 1 to 5 times per request 12:32
lizmat cycling&
moritz so, there are about 10 such dynamically loaded classes
and 3 such dynamic loadings per request 12:33
so @ISA grows by 30 elements per request
and of course we don't start a new process per request
so after two hours, @ISA is large that each requests spends more than 1s just pushing to @ISA
jnthn o. m. g. 12:34
moritz bugs.otrs.org/show_bug.cgi?id=9686
arnsholt Whoops! =D
jnthn I was about to say, isn't there a class vs instance confusion there... :)
moritz jnthn: just a slight one :-)
and it took me about 16 hours to locate the problem
because the problem was just "OTRS gets slower, until we restart apache" 12:35
jnthn argh
tadzik one once said, "other will fix memory leaks, I'll just restart apache"
jnthn
.oO( Oh That's Really "Special" )
moritz and first I checked things like cache response times, DB response times, system load etc.
nwc10 why does bugs.otrs.org run on bugzilla, and not on OTRS itself? 12:37
nwc10 finds this strange. 12:38
www.bestpractical.com/rt/issues.html -- Unsurprisingly, we use RT itself to track bugs and feature requests for RT.
FROGGS hmmm, I fear we have heisenbugs now in rakudo@parrot
jnthn nwc10: It got too slow after a while :P
tadzik why does rakudo.org use php? :P
moritz nwc10: I wondered too
FROGGS when I have my Windows 7 vm running an spectesting rakudo on linux, some tests of t/spec/S02-magicals/ abort
like args.t and env.t
(when using TEST_JOBS=4) 12:39
12:42 pdcawley left
FROGGS r: slurp "does-not-exist"; say "alive"; say $! 12:47
camelia rakudo e0b2af: OUTPUT«Unable to open filehandle from path '/home/p6eval/does-not-exist': No such file or directory(2)␤ in method open at src/gen/CORE.setting:12519␤ in method open at src/gen/CORE.setting:12508␤ in method slurp at src/gen/CORE.setting:12628␤ in sub slurp at src/gen/C…
FROGGS star: slurp "does-not-exist"; say "alive"; say $!
camelia star 2013.08: OUTPUT«Unable to open filehandle from path 'does-not-exist': No such file or directory(2)␤ in method open at src/gen/CORE.setting:12479␤ in method open at src/gen/CORE.setting:12469␤ in method slurp at src/gen/CORE.setting:12586␤ in sub slurp at src/gen/CORE.setting:12…
12:54 jnap left
dalek ast: 9f12744 | moritz++ | S02-types/undefined-types.t:
two more rakudo unfudges
12:55
moritz hopefully LHF: get tools/autounfudge.pl working with rakudo-jvm
12:55 jnap joined 13:01 ajr joined, ajr is now known as Guest50871, Guest50871 is now known as ajr_ 13:11 PacoAir joined 13:23 kaare_ joined 13:26 pmurias joined
pmurias fun nqp-parrot bug of the day nqp::escape doesn't work with literal arguments ;) 13:27
nqp: say(nqp::escape("foo"))
camelia nqp: OUTPUT«error:imcc:The opcode 'escape_s_sc' (escape<2>) was not found. Check the type and number of the arguments␤ in file '(file unknown)' line 155524891␤␤»
grondilu nqp: my $x := "foo"; say(nqp::escape($x)) 13:28
camelia nqp: OUTPUT«foo␤»
jnthn Oops :)
It's signature probably needs tweaking in QSATOperations. 13:29
An S where there's an s
13:34 skids joined 13:37 btyler joined
pmurias jnthn: I'm fixing that atm 13:38
jnthn pmurias++
pmurias: Guess you're improving our test coverage again? :D
FROGGS t/spec/S32-io/IO-Socket-INET.t hangs on my linux box when running with TEST_JOBS=4 (spectests), has anybody the same issue? 13:46
moritz FROGGS: doesn't hang here 13:47
FROGGS hmmm
moritz: what kernel do you use?
I suspect that could make a difference
moritz FROGGS: uname -a says Linux mlenz-workstation 3.5.0-36-generic #57-Ubuntu SMP Wed Jun 19 15:10:49 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux 13:48
FROGGS k, I have a 3.8, I'll switch to 3.5 and see what happens
13:48 dalek left 13:49 dalek joined, ChanServ sets mode: +v dalek, dalek left 13:50 dalek joined, ChanServ sets mode: +v dalek, FROGGS left
dalek ast: f7dd7e8 | moritz++ | integration/ (2 files):
rakudo.jvm unfudges
13:51
13:51 bloonix joined
flussence untravels 13:54
I didn't get anything I planned to done on the way, but I did fix surrogate pairs in JSON::Tiny instead
moritz \o/
the one thing missing for feature completeness
flussence and I didn't have niecza to test on so it's probably broken right now :) 13:55
moritz well, there's another thing, but I won't implement it
iirc json has an arbitrary limit on nesting depths
13:57 REPLeffect left 14:00 bluescreen10 joined 14:02 bluescreen10 left 14:03 bluescreen10 joined
PerlJam moritz: I'm pretty sure that JSON-the-standard does not have any arbitrary limitation on nesting depths. But certianly, a particular implementaiton of JSON may. 14:05
14:19 FROGGS joined 14:25 grondilu left
moritz PerlJam: you are right. www.ietf.org/rfc/rfc4627.txt?number=4627 says An implementation may set limits on the maximum depth of nesting. 14:25
14:26 hummeleBop left 14:27 hummeleBop joined 14:31 nebuchadnezzar left, nebuchadnezzar joined 14:33 risou_awy is now known as risou, Maddingu1 joined
flussence whoops, no wonder the JSON tests were failing on my desktop... had a branch checked out that's almost 2 months old 14:35
dalek p: 93aea23 | (Pawel Murias)++ | src/vm/parrot/QAST/Operations.nqp:
Fix nqp::escape("literal").
14:36
p: db474ef | (Pawel Murias)++ | t/nqp/59-nqpop.t:
Add test for nqp::escape.
14:43 FROGGS left 14:50 Maddingu1 is now known as Maddingue, FROGGS joined 14:58 benabik left 15:00 brrt left, ajr_ left, ajr joined 15:01 ajr is now known as Guest88436, Guest88436 is now known as ajr_
pmurias how can I get the unicode value of a character in nqp? 15:01
jnthn nqp::ord 15:02
15:04 FROGGS left, zakharyas left 15:05 benabik joined 15:07 FROGGS joined 15:08 berekuk left 15:11 berekuk joined
colomon hmmm…. when I throw a larger collection of ABC tunes at Rakudo, it fails under both Parrot and JVM (maybe bug of mine?) but is 5x faster on JVM up to the fail. 15:16
hmmm… whereas on Niecza, it runs a bit then dies with a completely different error. :\ 15:18
15:19 dmol left
jnthn That might be your fault too :P 15:21
colomon oh, absolutely
jnthn :)
colomon In the case of "fault" here, I meant ABC bugs, not compiler bugs
15:21 EvanTeitelman joined
colomon I think it's been a while since I threw this larger file at the ABC code. 15:22
and I've made quite a few changes to the ABC stuff in the meantime.
though of course, if it were a compiler issue, that might be my fault to. In all of the cases. ;) 15:23
15:23 REPLeffect joined
colomon looks like it's the dreaded tuplet parser in the grammar. 15:24
diakopter jnthn: did you see the jvm classfile problem in the backlog?
colomon ABC grammar
jnthn diakopter: Yes, wasn't sure where that was coming from...
colomon (in the niecza case)
masak .oO( why would you parse dreaded tuplets? ) :P 15:25
15:25 bluescreen10 left
jnthn 'cus tuplets think dreads are trendy 15:26
colomon :p
arnsholt jnthn: What's AUTOGEN supposed to do? 15:28
Looks like something's missing when PARAMETERIZE_TYPE gets called?
jnthn arnsholt: Context? 15:29
arnsholt Trying to fix Zaovlaj 15:30
I twiddled the code a bit, and now the error message is "Cannot call 'AUTOGEN'; none of these signatures match:\n:(CStr : Str:D $encoding, Mu *%_)\nin method AUTOGEN at src/gen/CORE.setting:510\n..." 15:31
15:36 FROGGS left
pmurias nqp: say("\a") 15:38
camelia nqp: OUTPUT«Unrecognized backslash sequence: '\a' at line 2, near "\\a\")"␤current instr.: 'panic' pc 14693 (src/stage2/gen/NQPHLL.pir:5223) (src/stage2/gen/NQPHLL.nqp:279)␤»
pmurias nqp: say(nqp::escape("\x1b"))
camelia nqp: OUTPUT«error:imcc:The opcode 'escape_s_sc' (escape<2>) was not found. Check the type and number of the arguments␤ in file '(file unknown)' line 42␤␤»
pmurias nqp: my $str := "\x1b";say(nqp::escape($str)); 15:39
camelia nqp: OUTPUT«\e␤»
pmurias nqp: my $str := "\x07";say(nqp::escape($str));
camelia nqp: OUTPUT«\a␤»
pmurias jnthn: nqp doesn't accept \a in literals yet nqp::escape emits it
15:40 berekuk left
masak pmurias: that could still be perfectly legal. sounds like a case of Postel's to me. 15:40
hm, unless the output of nqp::escape is explicitly meant to function as literals.
colomon jnthn: just found a longer ABC file that still works. jakudo is 8x faster than parrakudo on it. 15:41
(total jakudo running time 88 seconds, and that's slowed down by a zillion "Passing an object candidate to Mu.bless is deprecated" messages.) 15:44
oh!
pmurias masak: I seems more a case of reverse Postel we emit something we don't accept
colomon that was with garbage collection counted. clock time was 53 seconds 15:45
masak pmurias: yes. dangit! this is the second time this year I make this mistake.
evidently I have my inner Postel reversed somehow. 15:46
jnthn arnsholt: That's...very weird. I guess it's the proto auto-generation 15:47
.oO( Going Postel )
15:48
arnsholt: I've never see it go wrong that way, however...
TimToady
.oO( Postel Coming )
15:48 kaleem left
jnthn colomon: 88 seconds is still a while :) 15:51
colomon jnthn: I'm not saying you can stop making improvements
;)
jnthn :)
15:51 xenoterracide joined
colomon jnthn: note that was 88 processor-seconds, wall-clock was 53 seconds 15:52
I forgot the distinction was important under JVM
jnthn ah :)
yes
arnsholt jnthn: Apply gist.github.com/arnsholt/6379906 to an up-to-date Zavolaj and Rakudo and you should get the error I'm seeing
colomon jnthn: anyway, saw a chromatic tweet being a dick about the JVM startup time, and wanted to emphasize again that jakudo crushes parrakudo on real world tasks that are big enough to get by that startup penalty. 15:54
jnthn arnsholt: Trying to box to a CStr[$encoding] is extremely dubious, fwiw. 15:56
arnsholt: Because that gives you a CurriedRoleHOW-based type, not a class 15:57
And you can't instantiate a role, and the box op is too low level to pun for you.
15:58 abnorman joined
jnthn colomon: Right, and that's not specific to our use of JVM, it's just the nature of the beast. 15:59
colomon jnthn: understood
jnthn Not that we can't make startup time better, but it never was going to be a Rakudo on JVM strength.
colomon that's MoarVM's bailiwick, eh? ;) 16:00
jnthn We should do rather better there, yes. :)
*rather 16:01
MoarVM is smart enough to allocate deserialized objects directly in the old generation since they'll probably live for the whole program, for example...
TimToady wonders if anyone has tried bringing unexec functionality to JVM... 16:03
colomon unexec? 16:04
TimToady or undump
colomon ah
TimToady startup a process, load everything in you want, do a core dump, transform that to an executable
16:05 kbaker left 16:06 risou is now known as risou_awy, dmol joined
TimToady looks like nobody's done it yet 16:08
too many "frameworks" with untrackable external state, seems 16:09
arnsholt jnthn: Right, right. That's likely the previously accidentally working bit then. Thanks! 16:10
16:10 ajr_ left 16:12 domidumont left
colomon just realized his C++ bug is because OS X's GCC is no longer GNU 16:14
geekosaur mmm, -fheinous-gnu-extensions 16:15
colomon geekosaur: actually, the problem is because I was using #ifdef __GCC__ to make sure we weren't on Windows
actually, #ifdef __GNU__ 16:17
looks like I used #ifdef __GNUC__ elsewhere in the code?
pmurias jnthn: re nqp::escape should it mangle unicode characters? 16:20
diakopter jnthn: "coming from"?
colomon __GNUC__ it is
diakopter the repro case was there
pmurias nqp: say(nqp::escape("¢")) 16:21
camelia nqp: OUTPUT«error:imcc:The opcode 'escape_s_sc' (escape<2>) was not found. Check the type and number of the arguments␤ in file '(file unknown)' line 39␤␤»
jnthn diakopter: Yes, I more meant if it's a malformed constant pool entry or just malformed bytecode in general...
pmurias: I don't think the JVM one does, at least... 16:22
pmurias it doesn't
the parrot one mangles
nqp: my $cent:="¢";say(nqp::escape($cent))
camelia nqp: OUTPUT«\x{a2}␤»
jnthn pmurias: I don't immediately have a good argument either way. I think it's mostly used for debugging output today anyway... 16:24
diakopter jnthn: I don't know the difference of what you're asking/wondering... it's probably a bug in that assembler library 16:25
jnthn diakopter: aye, I was just speculating on the nature of it
pmurias jnthn: it's used for escaping string while targeting parrot 16:27
jnthn pmurias: Ah...
pmurias and I'm trying to use it for escaping string while targeting js
jnthn pmurias: Yeah, I remember now. I think that it needs to stay the way it is at lest on Parrot...
*least 16:28
16:29 Ayiko joined
pmurias doe we have a infix:<x> equivalent on parrot? 16:29
jnthn Whatever nqp::x is mapped to, I guess 16:30
pmurias meant on nqp ;) 16:31
16:35 berekuk joined
moritz nqp: say(nqp::x('abc', 5)) 16:35
camelia nqp: OUTPUT«abcabcabcabcabc␤»
16:38 kbaker joined
pmurias Parrot_str_escape docs are incorrect and crazy 16:38
diakopter s/_str_escape// 16:39
s/_str_escape docs//
jnthn diakopter: Your grammar are disappointing :P
diakopter s/grammar// 16:40
16:42 domidumont joined
[Coke] niecza failures down from 1999 yesterday to 255 today 16:46
colomon \o/ 16:47
16:49 SamuraiJack_ joined
pmurias who is working on niecza nowdays? 16:49
16:50 Ayiko left 16:51 yoleaux left, SamuraiJack left
[Coke] realizes he can run visualvm against a spec test run these days. 16:52
pmurias: colomon 16:53
colomon in theory
very loose theory this summer
but I'm planning on taking a look at changing bless this weekend
[Coke] I didn't mean to imply a level of commitment. ;) 16:54
16:55 nebuchadnezzar left, nebuchadnezzar joined
colomon I should be committed, is that what you're saying? ;) 16:55
jnthn No, just commit ;) 16:56
PerlJam btw, speaking of neicza ... has anyone seen sorear lately? I haven't noticed him in a long while (since right after YAPC::NA even) 16:58
diakopter .seen sorear 16:59
jnthn Last time I saw him here, he mentioned something about lots of $dayjob
diakopter preflex: seen sorear
preflex sorear was last seen on #perl6 10 days, 12 hours, 52 minutes and 28 seconds ago, saying: sweet
diakopter abnorman: yer fault ;)
commutativitiness & 17:00
colomon r: say (4 * 60 + 48 ) / 36 17:01
camelia rakudo e0b2af: OUTPUT«8␤»
colomon oooo, exactly 8x faster. :) 17:02
diakopter 8x as fast... 7x or 700% faster :PPP
colomon fair enough 17:03
diakopter
.oO( enuf fayryes to go around )
17:04
17:06 panchiniak joined
[Coke] f 17:07
17:07 virtualsue joined 17:08 FROGGS joined 17:12 Ayiko joined 17:15 dakkar left 17:17 berekuk left, berekuk joined 17:18 yoleaux joined, ChanServ sets mode: +v yoleaux 17:20 gdey joined 17:21 BooK_ left, abnorman left, xenoterracide left, xenoterracide joined 17:24 stevan_ left 17:27 stevan__ joined, xenoterracide left 17:28 berekuk left, yoleaux left 17:32 JoaquinFerrero left 17:34 donaldh left, berekuk joined
dalek kudo-star-daily: bc65cfd | coke++ | log/version.log:
today (automated commit)
17:35
kudo-star-daily: 6871921 | coke++ | log/version.log:
today (automated commit)
kudo-star-daily: 5debe70 | coke++ | log/version.log:
today (automated commit)
[Coke] ... man, that just keeps getting more screwed up. 17:36
moritz yes, that looks very screwed up 17:37
[Coke] started happening post release. still need to get back to it. :| 17:38
17:38 panchiniak left 17:39 abnorman joined
[Coke] -> offline 17:39
17:48 pernatiy left, pecastro left 17:54 stevan__ left, jaldhar left, jaldhar joined 17:56 denis_boyun left 17:59 stevan_ joined 18:01 PZt left 18:03 daxim left
FROGGS the chdir emulation doesnt play well with require :o( 18:04
gist.github.com/FROGGS/ebdc0c7809d1b2902533
18:05 jaldhar left 18:08 berekuk left 18:10 berekuk joined 18:11 yoleaux joined, ChanServ sets mode: +v yoleaux
moritz it's an all-or-nothing approach, and we're somewhere at 80%... 18:12
FROGGS is testing a fix 18:14
18:14 SamuraiJack__ joined 18:18 SamuraiJack_ left
FROGGS r: chdir "t"; say $*CWD 18:20
camelia rakudo e0b2af: OUTPUT«IO::Path</home/p6eval/t>␤»
FROGGS r: chdir "t"; say $*CWD; say nqp::gethllsym('perl6', 'PROCESS')
camelia rakudo e0b2af: OUTPUT«IO::Path</home/p6eval/t>␤(PROCESS)␤»
FROGGS r: chdir "t"; say $*CWD; say nqp::gethllsym('perl6', 'PROCESS')<$CWD>
camelia rakudo e0b2af: OUTPUT«IO::Path</home/p6eval/t>␤(Any)␤» 18:21
FROGGS r: chdir "t"; say $*CWD; say nqp::gethllsym('perl6', 'PROCESS')<$*CWD>
camelia rakudo e0b2af: OUTPUT«IO::Path</home/p6eval/t>␤(Any)␤»
FROGGS hmm
r: chdir "t"; say $*CWD; say nqp::gethllsym('perl6', 'PROCESS').WHO 18:22
camelia rakudo e0b2af: OUTPUT«IO::Path</home/p6eval/t>␤("\$FATAL" => Bool::False, "\&cwd" => sub cwd() { ... }, "\&chdir" => sub chdir() { ... }, "\$IN" => IO::Handle.new(path => "-", ins => 0, chomp => Bool::True), "\$OUT" => IO::Handle.new(path => "-", ins => 0, chomp => Bool::True), "\$ERR" …
FROGGS r: chdir "t"; say $*CWD; say nqp::gethllsym('perl6', 'PROCESS').WHO<$CWD>
camelia rakudo e0b2af: OUTPUT«IO::Path</home/p6eval/t>␤IO::Path</home/p6eval/t>␤»
18:25 kivutar joined 18:26 donaldh joined 18:27 frdmn left, frdmn joined
masak ok, I was delayed a bit in my $dayjob plans today... but now I'm off duty. 18:28
jnthn FROGGS: Please add a test as well as a fix :)
masak digs into the last of the t3 reviews/blog post
FROGGS jnthn: I will
18:29 jaldhar joined
timotimo i have reached tge great outdoors 18:29
FROGGS ? 18:30
jnthn Tree Grammar Engine?
timotimo the
masak sounds like a scary place.
18:30 domidumont left 18:31 pecastro joined
timotimo trees everywhere and a nice river with huge white stones in it 18:31
jnthn Isn't it almost dark? :) 18:32
timotimo for a nerd like me that is already outdoorsy enough
we are in a house :D
diakopter only big houses have rivers in them
masak not to mention trees everywhere. 18:33
colomon always wanted a river in his house. Do Not Tell his 4yo.
moritz [Coke]: fwiw I just did a rakudo-star-daily run, and it went fine 18:34
... except for the "Passing an object candidate to Mu.bless is deprecated" warnings 18:35
18:36 virtualsue left
moritz oh, and XML::Writer has a few "use of uninitialized value of type Nil in numeric context" 18:36
18:36 ssutch joined 18:37 dhaivat joined
dhaivat Are there any startups using Perl 6? Any corporate support? 18:37
18:37 ssutch left
diakopter dhaivat: not really.. it's not really useful or dependable or stable enough yet 18:40
18:41 teslos joined
geekosaur can think of a number of things that companies actually base their stuff around that that applies to... 18:41
jnthn :)
moritz dhaivat: there was one guy from a startup around here last year who used Perl 6 for $work 18:42
haven't heard of him for a while 18:43
masak I use Perl 6 for $work.
jnthn Are we still a startup? :P
moritz dhaivat: and colomon uses Perl 6 for some work stuff (involving CAD files and 3D models, iirc)
diakopter masak, the Startup
.. more like Upstart
moritz used Perl 6 to get $work
colomon dhaivat: my use of p6 for that is still pretty lightweight
dhaivat: I'm using p6 as a convenient occasional tool, not relying heavily on it -- at the heart, my company is still based on C++ and p5. 18:44
dhaivat Ah, so, not yet stable then? What are the primary roadblocks for Perl 6? Why is taking so long to get a stable implementation? I don't mean this is in a derogatory way, I'm genuinely curious.
diakopter dhaivat: the past few years, simply a very small amount of availabile development resources, comparatively 18:45
*available
moritz dhaivat: the primary roundblocks for production use are 1) lack of good performance 2) lack of solidity in stuff like IO and 3) few modules/libraries available
jnthn Ambitious project, constrained resources...and it's hard to get fast. :)
PerlJam dhaivat: Why are you asking around about startups using Perl 5/6 ?
dhaivat: Are you thinking about using perl for your startup?
moritz dhaivat: and it takes that long because it's a fairly complicated language with lots of research aspects
18:46 donaldh left
dhaivat PerlJam: yes, I am actually 18:46
PerlJam dhaivat: If you're adventurous, use perl 6, otherwise, use perl 5 :)
dhaivat PerlJam: I used to be a Perl guy a while back, with all the perldocs swirling around my head
PerlJam: But I left because I finally got tired of checking every damn argument in procedures in Perl 5 18:47
colomon dhaivat: for me, it's all about moritz's point 1. It's only with the recent JVM port that p6 is fast enough to keep up at all with my CAD work -- it's still slow, but it's doable
dhaivat colomon: JVM port? I haven't noticed this.
masak I'd advise using predominantly Perl 5, but keeping eyes and doors open for Perl 6 opportunities.
colomon dhaivat: yes, there are still a few things that need to be finished, but Rakudo has a version which works on JVM and seems to be at least an order of magnitude faster than the Parrot version. 18:48
dhaivat I guess so. I was hoping Perl 6 might be coming around especially since Perl 5 is quite an annoyance at times
diakopter Perl 6 has its annoyances too
dhaivat colomon: I see 18:49
colomon dhaivat: it's new, it didn't work at all back in early June. :)
dhaivat colomon: wow, that's some quick development
colomon dhaivat: well, most of the pieces were already in place at that point.
18:50 donaldh joined
colomon jnthn++ moritz++ sorear++ etc++ 18:52
diakopter donaldh++ too
PerlJam dhaivat: There are modules on CPAN that make up for many of Perl 5's warts 18:53
moritz didn't really do much for the JVM port
PerlJam dhaivat: you can get a type system, subroutine signatures, parameter checking, a nice object oriented system, etc. 18:54
colomon FROGGS++ arnsholt++ pmurias++ jnthn++
PerlJam dhaivat: Ask more about it on #perl if you're interested
18:54 jferrero joined
FROGGS wakes up... what what? 18:54
dhaivat PerlJam: cool, will do that after lunch 18:55
colomon FROGGS: sorry to bother you, just trying to credit people involved with the JVM port. I'm sure I've missed some...
colomon is mostly going by NQP commit graphs, admittedly.
FROGGS so I have did something for JVM port? my brain isnt that good these days :o) 18:56
PerlJam colomon++ (for giving karma to all those people ;)
18:57 stevan_ left
colomon FROGGS: you definitely have a worthwhile number of recent commits. If they are not NQP commits, well, FROGGS++ anyway. ;) 18:57
FROGGS *g* 18:58
thank you sir
18:59 dhaivat left
colomon is feeling the rigidness of the C++ type system very much at the moment. O for the ability to use p6 instead... 19:00
dalek rlito: 26aa3e9 | (Flavio S. Glock)++ | / (3 files):
Perlito5 - js - implement some variants of array slices
19:03
19:15 ssutch joined 19:16 abnorman left, teslos left 19:19 rindolf left
lizmat is back and checking backlog 19:19
19:20 Khisanth left, abnorman joined
PerlJam Um ... why did perl6advent.wordpress.com/2011/12/2...up-hashes/ show up in my newsfeed? 19:25
colomon lizmat++ # just because
lizmat *blush*
I'm in two minds of committing my Set/Bag changes 19:26
there's quite a lot of set/bag tests failing, and some TODO's passing
and I wonder if having more eyes on it would be better than going at it alone 19:27
flussence PerlJam: ...hash collision? :)
dalek rlito: d52afd7 | (Flavio S. Glock)++ | / (4 files):
Perlito5 - js - array slice tests
lizmat otoh, I don't think it is worth a branch
colomon lizmat: just so happens I have eyes.
dalek kudo/nom: 7e80cd5 | (Elizabeth Mattijsen)++ | / (4 files):
Move precedence setting of operators into its own dedicated file
kudo/nom: ea06360 | (Elizabeth Mattijsen)++ | src/core/ (6 files):
First version of Set/Bag changes from niecza, ported to rakudo
lizmat jnthn: please have a look at src/core/precedence.pm 19:28
colomon has run out of folk festivals, and while still catching up on $work, has some time to look at p6 stuff again.
lizmat the commented out trait_mod's make the build fail in odd ways
masak ladies and gentlebots, t3 reviews are *complete*. 19:29
lizmat basically, trait mods with \x22xx and trait mods with ()
masak moritz++ # just the right amount of nagging ;)
PerlJam masak: congrats :)
masak now for the blog post.
lizmat will now focus on fixing the tests
dalek kudo/nom: 8897b01 | (Tobias Leich)++ | src/vm/parrot/ModuleLoaderVMConfig.nqp:
take cwd into account when loading modules
19:30
FROGGS test comes in a minute (and jvm patch after that)
masak lizmat: I think merging into master sounds like the right choice here, fwiw.
lizmat: worst case, we revert before release ;)
lizmat only set/bag tests are affected
it's not like itr's all over the place 19:31
and quite a few TODO's are now passing :-)
19:32 kivutar left
masak win some, lose some. 19:33
no, I guess my point is, "keep master passing at all time" could well be seen as a guideline more than a rule.
lizmat :-) 19:34
we have failures now :-)
masak and one could consider committing things which fail the tests as taking a loan, of sorts.
lizmat fixing them up now
PerlJam masak: technical debt? :)
masak as long as you commit to paying back the loan, everything's fine.
PerlJam: yes but no :)
PerlJam: technical debt and failing tests feel orthogonal in my mind.
but it's the same principle, yes.
diakopter <- is a failing test 19:35
masak submits diakopter as a rakudobug
colomon can he be reproduced? 19:36
diakopter only by budding
PerlJam I think chromatic even published something along the lines of re-explaining technical debt as a loan that you should repay
masak .oO( resulting in a Bud Light )
PerlJam: it's a common metaphor. 19:37
PerlJam indeed
masak PerlJam: and an interesting one, because it's not 100% about repaying, it's about keeping the debt under control.
diakopter if your interest rate on your technical debut is usurious... 19:39
arnsholt jnthn: What's the nqp:: equivalent of pir::repr_box_str__PsP?
dalek kudo/nom: e1f2558 | (Elizabeth Mattijsen)++ | src/core/Bag.pm:
Oops, new for Bag is not like new for Set
19:40
jnthn nqp::box_s
diakopter er,.
technical debut, indeed.
arnsholt Oh, derp. Thanks! 19:41
masak diakopter: technical debut is caused by technical debutantes. 19:42
19:42 pecastro left
lizmat
.oO( technical dillettantes cause techincal dill )
19:44
colomon cannot keep up with lizmat++
ingy waves o/
colomon ingy! \o/
ingy hey there 19:45
diakopter wavers
ingy :)
19:45 yoleaux left
pmurias masak: re commiting things that fail, a lot of that is caused by tests running slowly 19:46
jnthn lizmat: does only sub infix:<<"\x228D">> work?
lizmat not sure yet, it compiles is all I know so far 19:47
let me see
masak ingy: hejhej! :D
19:47 Newman joined
masak pmurias: how do you mean? it was caused by lizmat deciding to, AFAICS. 19:48
jnthn lizmat: oh, the ones that all fail in the prec changes are &infix:<<"\x228D">> right?
lizmat also the ones with parens in the op name 19:49
fg
oops, ww
jnthn r: sub infix:<<"\x228D">>($a, $b) { say "$a $b" }; &infix:<<"\x228D">>(1, 2)
camelia rakudo e0b2af: OUTPUT«1 2␤»
jnthn r: sub infix:<<"\x228D">>($a, $b) { say "$a $b" }; say UNIT::.keys
camelia rakudo e0b2af: OUTPUT«$=pod !UNIT_MARKER GLOBALish EXPORT $?PACKAGE ::?PACKAGE $_ $/ $! %?LANG &infix:<⊍>␤»
19:50 Newman left
FROGGS jnthn: why the extra quotes? 19:51
: sub infix:«x228D»($a, $b) { say "$a $b" }; say UNIT::.keys
r: sub infix:«\x228D»($a, $b) { say "$a $b" }; say UNIT::.keys
camelia rakudo e0b2af: OUTPUT«$=pod !UNIT_MARKER GLOBALish EXPORT $?PACKAGE ::?PACKAGE $_ $/ $! %?LANG &infix:<⊍>␤»
jnthn FROGGS: Was just copying what lizmat did in the commit :)
FROGGS and it is even shorter if you strip the "r:" :o)
lizmat FWIW, the only version that does not blow up in the SETTING, is the one with <<"\xhhhh">> 19:52
diakopter .. 19:55
20:00 BooK joined, jferrero left, jaldhar left
colomon interesting that the set constructor doesn't work in just that one case. 20:00
20:01 jaldhar joined
dalek rlito: 7b7f08f | (Flavio S. Glock)++ | / (5 files):
Perlito5 - js - hash slice tests
20:01
colomon oh, wait
roast is wrong, not rakudo
I think? 20:02
lizmat checking…
colomon rn: my $b = set { foo => 10, bar => 17, baz => 42 }.hash; say $b.elems; say $b.perl
20:03 ssutch left
camelia rakudo e0b2af: OUTPUT«3␤set("foo", "bar", "baz")␤» 20:03
..niecza v24-90-gd827fa8: OUTPUT«3␤Set.new("foo\t10", "bar\t17", "baz\t42")␤»
20:04 kbaker left
dalek p/file-op-retcodes: 57da120 | (Donald Hunter)++ | src/vm/jvm/ (2 files):
Add :tc to signatures for file ops.
20:09
p/file-op-retcodes: 536c063 | (Donald Hunter)++ | src/vm/jvm/stage0/ (10 files):
Update bootstrap for file ops with :tc signatures.
p/file-op-retcodes: 47a64bf | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
Throw exceptions from file ops.
p/file-op-retcodes: 7df1c7a | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/ (2 files):
Better exception message generation.
ast: 8e4f6ce | (Elizabeth Mattijsen)++ | S02-types/ (4 files):
First set of unfudges/new fudges for Set/Bag related changes
20:12
colomon I completely fail to understand why set { foo => 10, bar => 17, baz => 42 }.hash and set { foo => 10, bar => 17, baz => 42 } should be differnet
rn: say { foo => 10, bar => 17, baz => 42 }.WHAT
camelia rakudo e0b2af, niecza v24-90-gd827fa8: OUTPUT«(Hash)␤»
colomon rn: say { foo => 10, bar => 17, baz => 42 }.hash.WHAT 20:13
camelia rakudo e0b2af, niecza v24-90-gd827fa8: OUTPUT«(Hash)␤»
dalek p: 57da120 | (Donald Hunter)++ | src/vm/jvm/ (2 files):
Add :tc to signatures for file ops.
p: 536c063 | (Donald Hunter)++ | src/vm/jvm/stage0/ (10 files):
Update bootstrap for file ops with :tc signatures.
p: 47a64bf | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
Throw exceptions from file ops.
p: 7df1c7a | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/ (2 files):
Better exception message generation.
p: da7b7b1 | (Donald Hunter)++ | src/vm/jvm/ (13 files):
Merge pull request #119 from perl6/file-op-retcodes

Update the file ops to throw exceptions on failure.
arnsholt Oooh. Segfault
colomon I'm 95% certain that the set { foo => 10, bar => 17, baz => 42 }.hash tests are a leftover from the old spec.
lizmat colomon: I'm just looking at tests, to make them clean in the spectest, not at why they're failing 20:14
colomon lizmat: I'm looking at the big picture.
arnsholt Segfault in the binder, even. Odd.
lizmat and I'm not (yet)
diakopter arnsholt: jvm?
pmurias jnthn: do you remeber how does (foo)+ now to capture (foo) as an array? 20:15
lizmat r: say Set(Any.new) # what should this do if it doesn't fail ?
camelia rakudo e0b2af: OUTPUT«Cannot coerce object of type Capture to Set. To create a one-element set, pass it to the 'set' function␤ in sub to-set at src/gen/CORE.setting:14701␤ in sub to-set at src/gen/CORE.setting:14694␤ in method postcircumfix:<( )> at src/gen/CORE.setting:14693␤ in bl…
pmurias s/now/know/
arnsholt diakopter: Parrot, so a bit less surprising =)
Pretty sure it's my fault too 20:16
lizmat ah. camelia not up to date yet
$ perl6 -e 'say Set(Any.new)'
set(Any<-9213374975699074855>)
20:16 jferrero joined
lizmat r: say Any.new 20:16
camelia rakudo e0b2af: OUTPUT«Any.new()␤»
colomon lizmat: I don't know how well it works yet -- we need Sets which can handle any object type -- but it should create a Set that has a single Any in it. (Assuming Any makes sense as an object.) 20:18
20:19 BooK left, BooK joined
lizmat r: say Set(Any.new).keys 20:19
camelia rakudo e1f255: OUTPUT«Any<1696284401>␤»
20:19 SamuraiJack__ left
lizmat r: say Set(Any.new).keys[0].exists 20:19
camelia rakudo e1f255: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in method exists at src/gen/CORE.setting:1447␤ in block at /tmp/eMWxtwdhPx:1␤␤»
lizmat r: say Set(Any.new).keys[0].exists('foo')
camelia rakudo e1f255: OUTPUT«False␤»
colomon it probably adds Any.new.Str into the Set right now 20:20
lizmat seems to be a real object in there, so that's ok I guess
colomon nr: say Any.new.Str
camelia niecza v24-90-gd827fa8: OUTPUT«Any()<instance>␤»
..rakudo e1f255: OUTPUT«Any<-1364598985>␤»
masak blog post written. 20:21
dalek ast/origin/master: dafc74f | (Donald Hunter)++ | S32-io/slurp.t:
Unfudge slurp read tests on JVM.
masak but apparently I have to rebuild Rakudo on this computer before I can run my blog software.
masak crosses fingers and hopes for no regressions!
lizmat crosses her fingers too .L;KAOAFKY.SDHGX/LAISk
hmm, better uncross them before I go on 20:22
TimToady for a moment there I thought my eyes were crossed
dalek ast: ced8cd2 | (Elizabeth Mattijsen)++ | S32-exceptions/misc.t:
Remove bogus Set(Any.new) test
: d1a0a0b | (Tobias Leich)++ | STATUS.md:
status update, after rakudos chdir changes
20:23
lizmat only two more test files with failures to go
20:23 zwut00 joined
colomon TimToady: can you think of any reason set { foo => 10, bar => 17, baz => 42 }.hash would be different from set { foo => 10, bar => 17, baz => 42 } ? 20:23
TimToady you mean like, {} doesn't interpolate in list context? 20:24
masak r: constant True = 42; say +True
camelia rakudo e1f255: OUTPUT«42␤»
20:24 donaldh left
masak r: constant True = "yeah, well, you know, that's just, like, your opinion, man"; say True 20:24
camelia rakudo e1f255: OUTPUT«yeah, well, you know, that's just, like, your opinion, man␤»
masak \o/
colomon TimToady: should {}.hash interpolate in list context?
masak adds that to rt.perl.org/rt3//Public/Bug/Displa...?id=111734
TimToady colomon: I believe so 20:25
pmurias jnthn: I'm figurint out myself how it's done 20:26
colomon okay, so that is the rakudo bug
TimToady++
TimToady just as .[] or .{} would deref
jnthn pmurias: Sorry, missed question while hutning GC bug...
pmurias: I know where it's worked out, moment 20:27
TimToady r: say [ [<a b c>] ].elems
lizmat jnthn: it would appear that the "\xhhh" operators indeed have not arrived
camelia rakudo e1f255: OUTPUT«1␤»
lizmat $ perl6 a.pm6
===SORRY!=== Error while compiling a.pm6
Two terms in a row
at a.pm6:2
------> my $b=bag( <a b c> ); say $b; say $b ⏏∪ $b
TimToady r: say [ [<a b c>][] ].elems
camelia rakudo e1f255: OUTPUT«3␤»
colomon rn: .say for { foo => 10, bar => 17, baz => 42 }.hash
TimToady r: say [ [<a b c>].array ].elems
camelia rakudo e1f255: OUTPUT«("foo" => 10, "bar" => 17, "baz" => 42).hash␤»
..niecza v24-90-gd827fa8: OUTPUT«"foo" => 10␤"bar" => 17␤"baz" => 42␤»
rakudo e1f255: OUTPUT«No such method 'array' for invocant of type 'Array'␤ in block at /tmp/V9zw8FSPGy:1␤␤»
colomon rn: .say for { foo => 10, bar => 17, baz => 42 }
lizmat is going to rewrite those tests to use texan
camelia rakudo e1f255: OUTPUT«("foo" => 10, "bar" => 17, "baz" => 42).hash␤»
..niecza v24-90-gd827fa8: OUTPUT«{"bar" => 17, "baz" => 42, "foo" => 10}␤»
jnthn pmurias: sub capnames 20:28
pmurias: In src/QRegex/P6Regex/Actions.nqp
lizmat .u ∪
TimToady r: say [ { :a, :b } ].elems
camelia rakudo e1f255: OUTPUT«1␤»
TimToady r: say [ { :a, :b }{} ].elems
camelia rakudo e1f255: OUTPUT«2␤»
TimToady r: say [ { :a, :b }.hash ].elems
camelia rakudo e1f255: OUTPUT«1␤»
lizmat
.oO( where is yoleaux when you need her )
TimToady yes, I'd call that a bug, I think 20:29
masak dammit, rt.perl.org/rt3/Ticket/Display.html?id=117841 is still open. I'll have to downgrade my Rakudo to get the blog post out.
TimToady r: say [ %({ :a, :b }) ].elems 20:30
camelia rakudo e1f255: OUTPUT«1␤»
TimToady that's the same bug
% in list context should flatten 20:31
masak guesses the bug didn't exist a year ago, and downgrades to Rakudo 2012.09
TimToady r: say [ (1,2) ].elems
camelia rakudo e1f255: OUTPUT«2␤»
TimToady r: say [ (1,(2,3)) ].elems
camelia rakudo e1f255: OUTPUT«3␤»
TimToady okay, just the %/.hash
dalek rl6-roast-data: cfc5b0d | coke++ | / (5 files):
today (automated commit)
20:32 jferrero left
FROGGS masak: it works for me now... 20:32
masak: gist.github.com/FROGGS/e26c9b14854e3cc94936
20:32 jferrero joined
masak FROGGS: huh. 20:33
dalek ast: 3fa3416 | (Solomon Foster)++ | S02-types/set.t:
Add comments and new fudging string.

With luck this will eliminate future confusion over this subject.
20:34
[Coke] LHF: look for "todo PASSED" in github.com/coke/perl6-roast-data/b...ummary.out and untodo them. 20:35
20:36 donaldh joined
[Coke] OHEY, rakudo.parrot has no failures today. 20:36
masak \o/
lizmat colomon: this probably also applies to some S02-types/bag.t tests ?
colomon maybe? let me look
masak FROGGS: `icuinfo` says I have Compiled-Version: 4.8.1.1 installed. 20:37
20:37 Rotwang1 joined 20:39 kaare_ left
dalek p: 197640d | (Arne Skjærholt)++ | src/vm/parrot/6model/reprs/CStr.c:
Mark CStr as being able to box strings and implement get_str.
20:39
20:40 BooK left
masak argh, 2012.09 also has the bug :( 20:40
masak downgrades to 2011.09
20:41 BooK joined
dalek rl6-roast-data: bc4a6a5 | coke++ | cull:
use ISO dates going forward
20:41
ast: 2907bc6 | (Solomon Foster)++ | S02-types/bag.t:
Add comments and new fudging string.

With luck this will eliminate future confusion over this subject.
lizmat is glad it's not something she did recently
colomon++
colomon: I see you wrote tests for both ∪ and (|) 20:42
did you do that for all the new ops ?
colomon lizmat: I think so? I certainly intended to
lizmat: they're both part of the spec
dalek volaj: 6f912ac | (Arne Skjærholt)++ | / (2 files):
Unbust explicitly managed strings.
lizmat okidoki, then my work is almost done :-)
arnsholt moritz: I think Zavolaj should be fixed now. Could you give your DB things a whirl and see if everything works properly? 20:43
20:43 stevan_ joined
arnsholt jnthn++ # Root cause discovery 20:44
moritz arnsholt: will do tomorrow
arnsholt Thanks! 20:45
FROGGS masak: same
dalek rl6-roast-data: 2ba3ef4 | coke++ | perl6_pass_rates.csv:
fix stats from previous day that went in twice.
20:46
rl6-roast-data: 0985dab | coke++ | perl6_pass_rates.csv:
Fixup non-ISO dates that slipped in
FROGGS masak: $ perl6 -e 'say qx[perl6 -e "say 1 x 4095,q|—|" | cat]; say "alive"' 20:47
Unaligned end in UTF-8 string
my chunksize is just different now
masak FROGGS: oh! 20:48
FROGGS: I feel so powerless in face of that bug.
FROGGS: it really messes up my ability to use Perl 6 for something real and useful.
FROGGS :/ 20:49
masak though maybe I can now explore the JVM backend for this.
FROGGS >.<
rakudo-jvm$ ./perl6 -e 'say qx[./perl6 -e "say 1 x 4095,q|—|" | cat]; say "alive"'
Unhandled file open mode 'rp'
masak dang.
diakopter ETOOPIPEY
jnthn ah, we still didn't get the pipe open in...
FROGGS if you'd time you could hunt that bug down 20:50
20:50 hummeleBop left
masak bug, as in, missing feature? :) 20:50
FROGGS it is up to you :o)
jnthn NYI
FROGGS you have a choice at least
masak because I've been looking at the Unicode bug in the Parrot source code, and it's... well-hidden.
they have loads of layers of abstraction, making everything look real neat and bug-free.
except it isn't.
diakopter masak: that's the several layers of obfuscators 20:51
Bogged Down by Smoke and Mirrors 20:52
masak It's Not A Refactor If You Break Someone's Production Code(TM).
diakopter i don't recognize that backronym 20:53
masak oh my, I think I just made a chromatic mumble "if only they saw the irony of it all" somewhere in the world :P
masak waves to chromatic
diakopter irons out your irony
masak oh phew, 2011.09 doesn't have the regression. 20:54
diakopter but.. it has a few other regressions
lizmat
.oO( chromatic, is that about shades of grey? )
diakopter 50 of those takes 6 bits 20:55
masak heh, apparently 2011.09 is too old to run my blog, though... 20:56
masak upgrades slightly
this will take all evening.
perigrin lizmat: only when he was sick with mono.
diakopter *goran*
masak kind of an off-color joke, don't you think? 20:57
diakopter masak: it's a sliding scale
lizmat and that on a day like this, 50 years hence ?
arnsholt <3 git 20:58
masak diakopter: so I guess there's no way to be discrete about it, then. :)
lizmat
.oO( some people don't have a dream anymore )
diakopter masak: but it's pretty accident-prone 20:59
20:59 gdey left
diakopter <- # ftw; two music jokes in a row 20:59
arnsholt lizmat: I think #perl6 is more concerned with colourless green ideas
lizmat I guess we're all super green on that 21:00
21:00 xenoterracide joined
cognominal goes to sleep furiously 21:00
masak furieusement! 21:01
lizmat bonne nuit, cognominal!
cognominal thx, good night to you, all * cast. 21:02
21:02 skids left 21:05 bruges joined 21:07 bruges_ left
diakopter masak: put away your rainbow flag.. 21:07
masak yay! finally it runs! 21:10
I settled on 2012.05, by the way.
note to self, in case irclog's search function ever becomes reliable again. 21:11
lol, I blug! \o/ strangelyconsistent.org/blog/t3-wire-crossings 21:13
donaldh golfs all the rakudo JVM regressions
masak can I do t4 within... a week? yes, I think I can, actually.
21:14 zwut00 left
dalek ast: f70457d | (Tobias Leich)++ | S11-modules/require.t:
added chdir+require test
21:15
donaldh looks like is_run is bust:
sh: perl6: command not found
dalek kudo/nom: c45ddb9 | (Tobias Leich)++ | src/vm/jvm/ModuleLoaderVMConfig.nqp:
take cwd into acount when looking up modules
21:16
ast: 6682a3b | (Elizabeth Mattijsen)++ | S03-operators/ (2 files):
Fudge all the failing Set/Bag tests
21:18
lizmat spectest should be clean again now
FROGGS lizmat++
donaldh haha, busted by the nqp JVM $*EXECUTABLE_NAME changing from "java" to "perl6"
lizmat however, it appears that most of the new operators simply do not work 21:19
:-(
donaldh r: say($*EXECUTABLE_NAME)
camelia rakudo e1f255: OUTPUT«./nom-inst/bin/perl6␤»
donaldh ah.
no path on JVM, just the "perl6" bare word. Would require . to be in PATH 21:20
lizmat donaldh: does PR 119 mean we now have a nqp:tc ?
21:21 celesta joined
celesta ahoi #perl6 21:21
lizmat celesta o/ 21:22
donaldh lizmat: no, that means I added the :tc ThreadContext parameter to all the nqp file ops for JVM.
lizmat ah, ok
21:22 jferrero left
donaldh so that I could use die_s(…, tc); 21:23
lizmat okidoki, it's just that I recently implemented .tc (titlecase) rather naively 21:24
diakopter r: $OUTER::OUTER::OUTER::OUTER::OUTER::OUTER::True
camelia rakudo e1f255: OUTPUT«Null PMC access in get_attr_str()␤ in sub at src/gen/CORE.setting:8786␤ in method at_key at src/gen/CORE.setting:8839␤ in method postcircumfix:<{ }> at src/gen/CORE.setting:1861␤ in method postcircumfix:<{ }> at src/gen/CORE.setting:1849␤ in block at /tmp/OB…
21:24 jferrero joined
diakopter whee 21:24
masak: NPMCA
lizmat and put it on my list for after the RaNIW
lue masak++ # continuing the review
21:24 Khisanth joined
celesta r: my %h = ( 1 => <foo bar> ); my @baz = %h<1>; say @baz[0] 21:25
camelia rakudo e1f255: OUTPUT«foo bar␤»
celesta i expected output "foo"
21:26 panchiniak joined
lizmat r: my %h = ( 1 => <foo bar> ); say %h 21:26
camelia rakudo e1f255: OUTPUT«("1" => $("foo", "bar")).hash␤»
celesta r: my %h = ( 1 => <foo bar> ); my @baz = %h<1>; say @baz.WHAT
camelia rakudo e1f255: OUTPUT«(Array)␤»
masak submits rakudobug 21:27
diakopter++
lizmat r: my %h = ( 1 => <foo bar> ); say %h; my @baz=%h<1>; say @baz
camelia rakudo e1f255: OUTPUT«("1" => $("foo", "bar")).hash␤foo bar␤»
lizmat r: my %h = ( 1 => <foo bar> ); say %h; my @baz=%h<1>; say @baz.elems
camelia rakudo e1f255: OUTPUT«("1" => $("foo", "bar")).hash␤1␤»
masak r: $OUTER::OUTER::OUTER::OUTER::OUTER::True
camelia rakudo e1f255: ( no output )
celesta me confused now
lizmat r: my %h = ( 1 => <foo bar baz > ); say %h; my @baz=%h<1>; say @baz.elems
masak r: say $OUTER::OUTER::OUTER::OUTER::OUTER::True
camelia rakudo e1f255: OUTPUT«("1" => $("foo", "bar", "baz")).hash␤1␤»
rakudo e1f255: OUTPUT«(Any)␤»
lizmat r: my %h = ( 1 => <foo bar baz > ); say %h; my @baz=%h<1>.list; say @baz.elems 21:30
camelia rakudo e1f255: OUTPUT«("1" => $("foo", "bar", "baz")).hash␤3␤»
lizmat r: my %h = ( 1 => <foo bar baz > ); say %h; my @baz=%h<1>.WHAT; say @baz.elems
camelia rakudo e1f255: OUTPUT«("1" => $("foo", "bar", "baz")).hash␤1␤»
lizmat r: my %h = ( 1 => <foo bar baz > ); say %h; say %h<1>.WHAT
camelia rakudo e1f255: OUTPUT«("1" => $("foo", "bar", "baz")).hash␤(Parcel)␤»
lizmat r: my %h = ( 1 => [<foo bar baz >] ); say %h; say %h<1>.WHAT 21:31
camelia rakudo e1f255: OUTPUT«("1" => ["foo", "bar", "baz"]).hash␤(Array)␤»
lizmat r: my %h = ( 1 => [<foo bar baz >] ); say %h; my @baz= %h<1>; say @baz.perl
camelia rakudo e1f255: OUTPUT«("1" => ["foo", "bar", "baz"]).hash␤Array.new(["foo", "bar", "baz"])␤»
lizmat celesta: I *think* it's according to spec, as a Parcel doesn't flatten in that context, an Array does 21:32
celesta lizmat: thank you
lizmat finds that distinction still rather hard to grok 21:33
diakopter still glazes over when the word parcel appears
21:33 ssutch joined
masak too 21:33
it's a bit like Python's tuple type, I guess. 21:34
lue masak: Reading through your reviews, I wonder if I shouldn't start future-proofing my Int->Bool coercions and just write +(True/True) :)
masak lue: way to miss the core complaint :P
lue er, Bool->Int
r: say (0/0).WHAT 21:35
camelia rakudo e1f255: OUTPUT«Divide by zero␤ in method sink at src/gen/CORE.setting:11557␤ in method BUILDALL at src/gen/CORE.setting:893␤ in method bless at src/gen/CORE.setting:834␤ in method new at src/gen/CORE.setting:819␤ in method new at src/gen/CORE.setting:817␤ in sub DIVIDE_NUMB…
21:41 denisboyun joined 21:43 yoleaux joined, ChanServ sets mode: +v yoleaux 21:47 dmol left
dalek ast/jvm-prog-name: 3128fcd | (Donald Hunter)++ | packages/Test/Util.pm:
Another JVM process name workaround.
21:51
ast: 3128fcd | (Donald Hunter)++ | packages/Test/Util.pm:
Another JVM process name workaround.
21:52
ast: c5c0a68 | (Donald Hunter)++ | packages/Test/Util.pm:
Merge pull request #33 from perl6/jvm-prog-name

Another JVM process name workaround. Should resolve a lot of JVM regressions.
21:52 ajr joined 21:53 ajr is now known as Guest47732
celesta thanks and good night #perl6 21:59
21:59 celesta left 22:06 dwarring left 22:11 donaldh left 22:12 stevan_ left, stevan_ joined
FROGGS .tell donaldh does ./perl6 work on windows at all? github.com/perl6/roast/commit/c5c0a6879f 22:18
yoleaux FROGGS: I'll pass your message to donaldh.
22:28 skids joined 22:29 btyler left 22:39 FROGGS left 22:41 pernatiy joined 22:43 Guest47732 left 22:44 alexghacker left, alexghacker joined 22:45 snoop`nqr joined 22:47 snoop`nqr left 22:48 snoopy` joined 22:50 snoopy` left
dalek kudo/nom: 7b26cbf | (Elizabeth Mattijsen)++ | src/core/ (2 files):
Refinement on use of flattening
22:54
lizmat and on that thought, I wish you all a good night! 22:56
sleep&
jnthn 'night, lizmat 22:58
23:00 denisboyun left, PZt joined 23:01 colomon left
jnthn sleep also & 23:06
23:08 FROGGS joined 23:11 gdey joined 23:17 PacoAir left
masak 'night, #perl6 23:19
23:28 pernatiy left 23:34 Rotwang1 left 23:39 abnorman left 23:40 gdey left, abnorman joined 23:47 pmurias left