»ö« 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:16 benabik left 00:17 census left
jnthn hhm, dalek didn't report the commit I just did... :( 00:26
Anyway, NQP running on the JVM now passes all the tests that the cross-compiler passed. 00:27
lue \o/ jnthn++
japhb_ w00t! 00:28
00:28 benabik joined
japhb_ Awesome, jnthn. 00:28
If I was there, I'd buy you a beer just for that milestone. :-)
lue recalls some comment about socket reading having a limit of 0xFF chars or somesuch a long while ago 00:30
dalek p-jvm-prep: f7fc166 | jnthn++ | docs/ROADMAP:
A ROADMAP update.
00:33
jnthn Enough time at the keyboard for one day. :) 00:34
'night o/
japhb_ o/ 00:35
00:36 census joined
japhb_ phenny, tell jnthn You might want to tag this nqp-jvm milestone, because I would think "can compile itself, but doesn't have the other stuff needed by rakudo" would be an interesting marker for people wishing to port to other platforms. 00:37
phenny japhb_: I'll pass that on when jnthn is around.
00:41 lustlife joined, benabik left 00:49 spider-mario left, Em_ joined 00:51 census left
Em_ r: say( "Hi I'm Emily i"m 8 years old"); 00:52
p6eval rakudo 357e60: OUTPUT«===SORRY!===␤Unable to parse expression in argument list; couldn't find final ')'␤at /tmp/78SpRtwFAJ:1␤------> say( "Hi I'm Emily i"⏏m 8 years old");␤ expecting any of:␤ postfix␤ infix or meta-infix␤ infi…
Em_ r: say( "Hi I'm Emily i'm 8 years old"); 00:53
p6eval rakudo 357e60: OUTPUT«Hi I'm Emily i'm 8 years old␤»
raiph r: say 5 + 10 00:54
p6eval rakudo 357e60: OUTPUT«15␤»
raiph (showed Emily code.org and here we are... :) 00:55
japhb_ raiph++ 00:58
Welcome, Em_
Em_ r: Hey
p6eval rakudo 357e60: OUTPUT«===SORRY!===␤Undeclared name:␤ Hey used at line 1␤␤»
Em_ Hello 01:00
japhb_ Hello there. :-)
Em_ I'm confuesd and raiph is siting next to me hehe 01:03
japhb_ Confusion is completely normally when you're getting started.
Actually, it's pretty normal no matter how long you've been coding. :-) 01:04
Em_ LOL
vut you are SOOO right
geekosaur try switching between perl* and haskell, if you want confused :) 01:05
Em_ s/v/b/
japhb_ Woah, already using s///
Em_ well raiph is sitting next to me waching and telling 01:06
japhb_ understands
01:07 anuby joined
Em_ ya 01:08
raiph i now you dont have a cule what is going on butttt Me but now i know 01:10
hehe
Em_
sorear I started at about 8 too but I didn't have IRC back then :D 01:11
japhb_ Oooh, you just managed to find a bug in my chat client.
sorear 01:12
japhb_ sorear, yeah, 7-9 seems about ideal
geekosaur heh, also found a bug in my unansifier script 01:13
Em_ what?????
no clue 01:14
japhb_ Em_, no worries, we're just amused that a few minutes after coming to visit, you already (accidentally) found bugs in our code. :-)
Em_ ohhh thank you 01:16
lue *That's* what those error message on my screen are :P (I though someone pasted them)
Em_ i have to go be right back have to have disert
japhb_ One surely cannot miss dessert. ;-) 01:17
Em_ ya
geekosaur the most amusing thing is I'm pretty sure japhb_ and I did ours independently, but apparently have the same or very similar bugs :)
swarley Although currently not possible, a future implementation of the PIR language will allow you to use multiple heredocs within a single statement or directive:
japhb_ geekosaur, I can't even test the fix from within my chat client, because it won't let me do that. :-)
swarley ;) And with nesting of heredocs, the lexer is complete 01:18
japhb_ Multiple heredocs in *PIR*?
diakopter swarley: hi! 01:19
geekosaur huuuh. this may be an xchat bug
diakopter swarley: you can pretty much ignore that pdd
lue something like Perl6's q:to/END1/, q:to/END2/; Hi END1 There END2 (forget if that comma should be a semicolon)
swarley gist.github.com/swarley/5061726 01:20
raiph japhb: not sure jnthn has gotten to the point you're thinking. he's got nqp to cross-compile but broken in several ways (failing several tests). now he's gotten nqp to self-host to the same point (still broken in the same ways). still awesome of course, and might be what you already knew
swarley diakopter; why ignore it? :( 01:21
diakopter swarley: wat.
swarley <diakopter> swarley: you can pretty much ignore that pdd
Em_ Hi I'm Back it was pudding
diakopter 'cuz on #parrot recently they bandied about the notion of removing PIR
japhb_ raiph, he says in the ROADMAP that the remaining failing tests are probably for features of NQP that aren't used by NQP itself, but rather by Rakudo. 01:22
01:22 hypolin joined
swarley well, good thing I saved the documentation offline. Because I'm a fan of the intermediate representation, which is why I'm making it available for use outside of parrot 01:22
japhb_ Em_, :-D
Em_ hehe 01:23
:-D
01:24 fgomez left
Em_ Hi all of you i'm Emily 01:24
japhb_ Oooh, target audience for Camelia! 01:26
TimToady speaking of finding bugs...
raiph japhb: ah. thanks. then i think u're right that this is worth bringing to folk's attention.
lue suddenly wonders what task infix:<ö> is worthy of, just so he can use the non-dwimmy hyper form :) 01:27
japhb_ The Röck Döts operator? 01:28
Em_ raiph: Do you want some dessert???????? :-D
japhb_ It makes your code ROCK, of course.
01:28 woosley joined 01:29 Em_ left
lue icuc, me testing user-selected brackets from the Ps/Pe/Pi/Pf categories: gist.github.com/lue/5061801 01:39
skids r: my @a = 1,2,3,4,5; say @a[* «-« (1,2)]; say @a[* X- (1,2)]; 01:40
p6eval rakudo 357e60: OUTPUT«5 4␤Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \v: Mu *%_)␤␤ in method Numeric at src/gen/CORE.setting:865␤ in sub infix:<-> at src/gen/CORE.setting:2842␤ in block at src/gen/CORE.setting:12899␤ in sub coro at src/gen/CORE.setting:5740␤ in …
01:48 fgomez joined 01:53 gcole left 02:00 rking joined 02:27 benabik joined 02:31 rindolf joined 02:41 japhb_ left 02:59 gcole joined 03:03 gcole left 03:21 orafu joined
[Coke] runs a rakudo program through --profile and sees that 50% of the program is in sink. 03:32
03:33 ikrs joined 03:41 uvtc joined
uvtc What is the reason for being able to do this: `my @a = <foo bar baz>; my $b = @a;` ? I can index into both @a and $b the same (`@a[1], $b[1]`)... 03:48
Both @a.WHAT and $b.WHAT --> Array()
colomon $b can be anything, and an Array is anything. 03:49
uvtc One difference I see now, is:
r: my @a = <foo bar baz>; my $b = @a; say @a.perl; say $b.perl
p6eval rakudo 357e60: OUTPUT«Array.new("foo", "bar", "baz")␤["foo", "bar", "baz"]␤»
uvtc So, $b is non-flattening...
geekosaur you could think of it as $b is getting a reference to the array, while @a is getting the array itself 03:50
(it's more complex than that but supposed to look roughly like that)
TimToady I prefer to think of it as a singular/plural distinction
is a class one thing or a group of things? 03:51
geekosaur if I look at that output with perl5 eyes I see the first as a list and the second as an arrayref
TimToady is a car one object or a group of objects?
uvtc r: my @a = <foo bar baz>; my $b = @a; my @d = (1, $b, 2); say @d.perl; # I see $b doesn't flatten. 03:52
p6eval rakudo 357e60: OUTPUT«Array.new(1, ["foo", "bar", "baz"], 2)␤»
uvtc Ok. 03:53
TimToady: Am I correct in saying that the names which go into lexpads are refererences (though, they're generally auto-deref'd for you everywhere, so you tend not to notice)? 03:54
$x, @a, %h <--- names like those
(moritz explained to me yesterday that lexpads are something like runtime scratchpads where lexicals are kept track of.) 03:55
TimToady well, they're names associated with references by the symbol table
uvtc Oh. Interesting. So the names are mapped to references, and the references may refer to containers, or maybe directly to objects (such as an Int). Is that correct? 03:56
skids If you call both the link from name -> container and from container -> value "references" then it gets confusing.
[Coke] wonders how to get an infinite list of 10s. 03:57
uvtc skids: Ok. TimToady just used the word "associated": "The name is associated with the reference". So, that language sounds fine. :) 03:58
colomon r: say 10, 10, 10 ... * 03:59
p6eval rakudo 357e60: OUTPUT«10 10 10 10 ...␤»
colomon [Coke]: ^
[Coke] heh. I just got there, danke. (only need 2 tens.)
uvtc Is "symbol table" == lexpad?
colomon r: say 10, +* ... * 04:00
p6eval rakudo 357e60: OUTPUT«10 10 10 10 ...␤»
skids uvtc: well since we manipulate such associations with := "bind" works too.
sorear uvtc: yes and no
geekosaur roughly. "symbol table" ususally means something global and woth some permanence, a lexpad is like a scratchpad symbol table that exists only in the current lexical scope
sorear also, lexpads are created anew each time you invoke a sub 04:01
[Coke] colomon: I was hoping for something like 10,x5; ah well.
sorear "lexpad" is a technical Perl 6 term
colomon r: say 10 xx * 04:02
sorear "symbol table" is not a specific technical term, it's a general term of compiler art
p6eval rakudo 357e60: OUTPUT«10 10 10 10 ...␤»
[Coke] ah, xx. Danke.
TimToady symbols are just recipes, that, taken together with some structure, allow you to find the first pointer :)
[Coke] it's been 10 years, hopefully I'll starting picking this language up soon. :|
uvtc skids: Ok. So the terminology then, is: names are made of identifiers. Names are associated with references. References are bound to either containers or directly to other objects.
colomon [Coke]++ 04:03
skids r: say 10 xx Inf # should this maybe work?
p6eval rakudo 357e60: OUTPUT«Cannot coerce Inf to an Int␤ in method Numeric at src/gen/CORE.setting:10515␤ in sub infix:<==> at src/gen/CORE.setting:2886␤ in sub infix:<xx> at src/gen/CORE.setting:6180␤ in block at /tmp/o5IkRw8Qps:1␤␤»
TimToady in the case of lexicals, the structure in question is the current activation record or frame, that contains the actual data for this invocation
[Coke] r: say Inf.Int
p6eval rakudo 357e60: OUTPUT«Cannot coerce Inf to an Int␤ in method gist at src/gen/CORE.setting:10517␤ in sub say at src/gen/CORE.setting:7602␤ in block at /tmp/3nBpfBabJc:1␤␤»
uvtc TimToady: uh, oh. You just added another word that my brain needs to find another place for re. Perl 6: symbols.
TimToady well, here I just mean it semiotically, not in any CS sense 04:04
so, just a 'name'
uvtc Phew. :)
(In, for example, Clojure, symbols are something concrete.)
TimToady it's just something you use to stand for something else that you would otherwise have difficulty talking about :) 04:05
yes, FP languages have it as a technical term
I think it's a bad technical term, but there...
uvtc Are the major/common containers: Scalar, Array, and Hash?
(As in, names like, "$x, @a, and %h are references to containers".) 04:06
TimToady and Routine :)
uvtc Nice. Ok.
TimToady Routines are actually mutable, or you couldn't call .wrap on one
uvtc I don't know what calling .wrap on anything would mean. 04:07
TimToady it's sort of an AOP thing, don't sweat it
skids uvtc: maybe I'm not up to speed but: a name is bound to either reference(s) or value(s). In the case of $ names that's singular. References reference values. Values can, however, be anonymous references (e.g. a Parcel).
uvtc Is a Parcel a container? 04:08
TimToady not in the sense of being mutable
uvtc Ok.
TimToady it's kinda like a Tuple in Python
but more directly mapped to the structure of the program, in general 04:09
if your expression, has ($a, @b, &c, %d), you have a Parcel with four items
you have no idea how those will be flattened; it depends on what kind of signature you bind it to 04:10
so it's where we have a lazy value that does not yet know its item vs list context
if bound to ($,$,$,$) in a signature, there are just 4 arguments 04:11
if bound to ($, *@), there's one positional, and the rest come in variadic (slurpy)
or you could bind to (*@) and they'll all come in flattened
(the way everything comes in in Perl 5, as it happens, at least without prototypes) 04:12
uvtc TimToady: thanks. 04:14
TimToady and we call it a Parcel because you don't know what's in it till it's unwrapped :)
uvtc Hehehe. Good mnemonic. :) 04:15
TimToady well, and "parenthesis cell", but it's really the commas that do it
uvtc Oh, it's the commas that make the cell, not the parens. Ok. 04:16
TimToady r: my \p = 1,2,3; say p.WHAT 04:18
p6eval rakudo 357e60: OUTPUT«(Parcel)␤»
TimToady r: my $p = 1,2,3; # should warn 04:19
uvtc r: my \p; say \p.WHAT;
p6eval rakudo 357e60: ( no output )
rakudo 357e60: OUTPUT«===SORRY!===␤Method 'ast' not found for invocant of class 'NQPMu'␤»
uvtc r: my \p; say \p.WHAT;
p6eval rakudo 357e60: OUTPUT«===SORRY!===␤Method 'ast' not found for invocant of class 'NQPMu'␤»
TimToady r: my $p = 1,2,3; 42; # should warn
p6eval rakudo 357e60: OUTPUT«WARNINGS:␤Useless use of "," in expression "my $p = 1,2,3" in sink context (line 1)␤»
TimToady there we go
uvtc: \ means something else on the RHS 04:20
uvtc What does it mean on the LHS? "Sigilless" variable?
(that always looks like "silliness" to my eyes. :) )
TimToady it means bind the raw parcel without commiting to item vs list context
uvtc Oh. Don't open the parcel. 04:21
TimToady yes, just put another sticker on it so you can forward it :)
uvtc :) Or, maybe: don't apply and context to it.
...just yet.
TimToady right, keep being lazy about deciding the context 04:22
p6 is all about the control of laziness
yesterday I decided that try couldn't be lazy anymore (in the list sense)
try should encapsulate a computation better than that 04:23
you can still fake out a try, but you'd have to use "gather try ... take" for that
uvtc Thanks. Have not yet gotten to `try`, `gather`, `take`, etc. 04:28
TimToady someone should write a book about this...why is everyone looking at me? 04:29
diakopter •.• 04:30
TimToady there's a sense in which Rats are just lazy division too 04:32
uvtc I see a quotable quote coming: "Perl 6 is all about controlling laziness, $something impatience, and $something-else hubris." 04:33
geekosaur $something-else is surely "encouraging" :) 04:34
TimToady well, controlled laziness, controlled impatience, and controlled hubris 04:35
geekosaur $something may be "reducing"
TimToady it depends on whether you're talking about the computer or the programmer :)
04:35 preflex_ joined 04:36 preflex left, preflex_ is now known as preflex 04:38 kaleem joined
uvtc Ok. So, it sounds then like I'm probably over-thinking this, and can simply start using arrays, and then using brackets when I want them to not flatten. 04:38
TimToady or $@array 04:41
just as you can use @$array to go the other direction 04:42
uvtc Were parens previously required to do that?
TimToady yes
04:42 fgomez left
TimToady well, by the implementation, not by the spec 04:42
at least for a period of time, the spec may have been an underspec before that :) 04:43
uvtc In Perl 5, I tend to most often use the extra curlies when de-reffing, because it seems more readable to be explicit.
In the cheatsheet, it says that `[ ]` is an array composer. I don't know the technical meaning of "composer", but it gave me the impression that if `[ ]` makes arrays, then maybe `( )` makes something else. 04:46
Oh. Wait.
It says that `(, )` is the Parcel composer. So I was wondering if there was something else to make lists. 04:47
TimToady it kinda makes a parcel in the sense that it either makes a real Parcel with , or something that can stand as a parcel as a single item
uvtc Ok. 04:48
TimToady it's a "provisional item" of a parcelish nature
an item context can't look inside a () to see if there are commas or not, in a sense 04:49
but a list context can
uvtc "item context" is new to me, but it sounds analogous to list (array?) context, or boolean context. 04:50
TimToady which is why parens are transparent to list context, but not item context
04:51 SamuraiJack joined
TimToady if you call a function foo((1,2,3),(4,5,6)), it keeps the possibility of treating that as 2 arguements, 4 arguments, or 6 04:51
depending on whether the signature is ($,$), ($,*@), or (*@)
but the $ binding doesn't care whether there's a comma inside or not 04:52
if it were foo((1+3),(4,5,6)) it'd do the same
uvtc Ok.
Thanks, TimToady. 04:53
TimToady it most does what one expects, but sometimes it's hard to describe what people expect :) 04:54
*mostly
05:00 Eddward joined
Eddward Are there any known bugs in rakudo-star-2013.02 in rakudo/t/spec/S02-types/bool.t 05:03
It's not quite 100% but I get an error right after ok 48 - Bool.pick(*) returns two elems 05:04
*** glibc detected *** ./perl6: free(): invalid next size (fast): 0x000000000293bd10 ***
That's followed by a C stack trace. I suppose it could just be my system memory. 05:05
Aside from some TODOs that works I didn't see any other test failures. 05:06
05:07 fgomez joined 05:09 ikrs left, ikrs joined
TimToady huh 05:11
I didn't actually run the tests here; maybe I'll fire off a run now
bool.t passes here, so maybe it's something there 05:15
are you on 32-bit or 64?
(I'm on 64) 05:16
also, is it reproducable? coulda been a cosmic ray... 05:17
uvtc Love that guy's pizza. 05:20
(Cosmic Ray's Famous Pizza) 05:21
Ok then! :)
05:21 uvtc left 05:24 bruges_ joined 05:32 mtk joined 05:40 raiph joined 05:46 drKreso joined 05:50 grondilu joined
grondilu rn: my @a = [<foo bar>], [<1 2>]; say @a»[0]; 05:51
p6eval rakudo 357e60, niecza v24-24-gbdc3343: OUTPUT«foo bar 1 2␤»
grondilu was expecting "foo 1"
pugs: my @a = [<foo bar>], [<1 2>]; say @a»[0]; 05:52
p6eval pugs: OUTPUT«*** ␤ Unexpected "["␤ expecting term postfix␤ at /tmp/N5BRQ1gktS line 1, column 38␤»
drKreso phenny, tell FROGGS This line? my str $line = $PIO.readline(nqp::unbox_s($!input-line-separator)); 05:55
phenny drKreso: I'll pass that on when FROGGS is around.
05:56 drKreso left, grondilu left 05:58 quester joined 06:01 SamuraiJack left
Eddward TimToady: I'm running 64bit. It happens most of the time. I've seen it pass 3 times. When it fails it's always right after 48. 06:05
moritz we've had occasional trouble with bool.t for quite some time now (years) 06:11
Eddward If I have a good recreate, is there anything I should try to debug? 06:12
I've never looked at the internals of parrot or rakudo but I can handle the debugger. 06:13
diakopter Eddward++
quester Eddward, TimToady, moritz: I've also been having problems with t/spec/S02-types/bool.t. I opened a bug report a few days ago, RT #116933.
Eddward Running under valgrind I still get to test 48, but I get a different error from glib. valgrind didn't detect any errors though. 06:19
moritz Eddward: getting a backtrace would be a good first step, as well as anything that looks helpful
Eddward I need to go to bed for now. I'll pop on tomorrow to see if I can help. Thanks. 06:20
moritz ciao
Eddward ok
moritz valgrind and the GC don't love each other
Eddward Do I need an account on rt to add to it?
I assumed that if glibc detected a double free, valgrind might too. 06:21
06:26 Eddward left
quester r: use Test; ok (0 but Bool::True), qq{Bool::True works with "but"} for 1..25; 06:26
p6eval rakudo 357e60: OUTPUT«(signal ABRT)ok 1 - Bool::True works with "but"␤ok 2 - Bool::True works with "but"␤ok 3 - Bool::True works with "but"␤ok 4 - Bool::True works with "but"␤ok 5 - Bool::True works with "but"␤ok 6 - Bool::True works with "but"␤ok 7 - Bool::True works with "but"␤ok 8 - …
quester Hmm... when I try that locally, it usually says ok seven times and crashes on the eighth iteration. 06:28
star: use Test; ok (0 but Bool::True), qq{Bool::True works with "but"} for 1..25; 06:30
p6eval star 2013.02: OUTPUT«(signal ABRT)ok 1 - Bool::True works with "but"␤ok 2 - Bool::True works with "but"␤ok 3 - Bool::True works with "but"␤ok 4 - Bool::True works with "but"␤ok 5 - Bool::True works with "but"␤ok 6 - Bool::True works with "but"␤ok 7 - Bool::True works with "but"␤ok 8 - B…
quester Double hmm... locally, rakudo-star 2013.02 usually runs six iterations and crashes on the seventh. 06:31
diakopter I'll abrt you
quester wonders who is being abrt'ed and whether it is a good thing or a bad thing. 06:32
quester facepalms 06:34
diakopter ? :) 06:36
06:37 drKreso joined
quester r: (0 but Bool::True) and print qq{$_ } for 1..100; 06:38
p6eval rakudo 357e60: OUTPUT«(signal ABRT)1 2 3 4 5 6 7 8 9 10 11 12 13 »
quester star: (0 but Bool::True) and print qq{$_ } for 1..100;
p6eval star 2013.02: OUTPUT«(signal ABRT)1 2 3 4 5 6 7 8 9 10 11 12 13 »
quester Ah. Sigabrt after thirteen iterations... very likely the same way it dies here, with glibc aborting it ("glibc detected *** perl6: munmap_chunk(): invalid pointer: 0x000000000318a410 ***") 06:40
06:47 hypolin left 06:48 rindolf left, rindolf joined
drKreso Hi, I am playing with changing one line in INET.pm in rakudo core. After make && make install I get Missing or wrong version of dependency 'src/gen/CORE.setting' when running scripts. What did I do wrong? 06:53
06:53 xinming_ left 06:54 xinming joined 06:57 rindolf left, ikrs left
moritz drKreso: there's some precompiled .pir files that you haven't regenerated after installing rakudo 06:57
06:57 rindolf joined
drKreso moritz: How can i do that? (Sorry for stupid questions) 06:57
moritz drKreso: delete the 'site' dir in the rakudo installation dir, and then re-install all the necessary modules with panda again 06:58
nwc10 jnthn: all selftests succssful 07:02
07:03 hypolin joined
drKreso moritz: Thanks, it's working now. Is there a better way or it has to be done each time? 07:03
nwc10 jnthn: bother. The VMS system I have an account on only has Java 1.6.0. So I can't test it there :-( 07:04
07:09 ikrs joined, rindolf left 07:10 rindolf joined 07:13 grondilu joined
grondilu rn: say all(^10) ~~ Int; 07:14
p6eval rakudo 357e60, niecza v24-24-gbdc3343: OUTPUT«False␤»
grondilu was expecting True 07:16
07:16 toebu left
sorear rn: say all(^10) ~~ Range 07:16
p6eval niecza v24-24-gbdc3343: OUTPUT«all(Bool::False, Bool::False, Bool::False, Bool::False, Bool::False, Bool::False, Bool::False, Bool::False, Bool::False, Bool::False)␤»
..rakudo 357e60: OUTPUT«False␤»
quester updated RT #116933 with additional stacktraces from different version of Rakudo, FWIW
sorear rn: say map *.WHAT, ^10 07:17
p6eval niecza v24-24-gbdc3343: OUTPUT«(Int) (Int) (Int) (Int) (Int) (Int) (Int) (Int) (Int) (Int)␤»
..rakudo 357e60: OUTPUT«Cannot call 'map'; none of these signatures match:␤:(&code, *@values)␤␤ in block at /tmp/QuiSo3SrLf:1␤␤»
quester wishes everyone in #perl6 a very pleasant evening, or the localtime() of your choice 07:23
07:25 quester left 07:27 tadzik joined 07:32 ikrs left 07:35 ikrs joined, FROGGS joined
FROGGS morning 07:36
phenny FROGGS: 05:55Z <drKreso> tell FROGGS This line? my str $line = $PIO.readline(nqp::unbox_s($!input-line-separator));
FROGGS drKreso: right, this one hangs if it tried to read when there is no more data 07:37
drKreso FROGGS: From yesterday socket blocking problem
07:37 rindolf left, rindolf joined
FROGGS drKreso: I have to research a bit how to fix that 07:38
drKreso FROGGS: I have some sort of workaround github.com/rakudo/rakudo/commit/0b...et/INET.pm but I am unsure what would be right fix, or what is causing it 07:40
FROGGS: Maybe using the old version + binary decoding into string before returning. 07:42
07:44 kaare_ joined
FROGGS drKreso: what exactly is that what you posted? is that a testserver? 07:44
drKreso FROGGS: Yes, from http::easy readme
FROGGS but this is not related to the blacking .readline 07:46
there is a string flying around which is binary encoded, so you could encode/decode it again, to utf8 or so 07:47
that should fix the $key .= uc
drKreso FROGGS: I don't know how to write better test, but when I curl test server it blocks on last header line (after cookie). Something in that last commit is making him block. 07:48
07:48 SamuraiJack joined
drKreso FROGGS: When I revert that commit, it doesn't block any more. But HTTP::Easy breaks on binary string (but thats easy enough to fix). Now I am not sure of what would be proper thing here, since I see that last commit is trying to decode binary string and return regular one. (So HTTP::Easy would just work). 07:51
07:57 ikrs left 08:02 ikrs joined 08:06 kaleem left 08:12 domidumont joined 08:15 kaare__ joined 08:17 kaare_ left
FROGGS drKreso: I'll be afk for a few hours, but I will not forget about your problem :o) 08:21
moritz one could try to explicitly pass an encoding to IO::Socket::INET.new() 08:28
though if .get returns Str, it should never be binary
arnsholt masak: You around? 08:34
08:35 domidumont left, daxim joined, odoacre joined 08:36 ikrs left, domidumont joined 08:37 lizmat left 08:38 fhelmberger joined 08:40 ikrs joined 08:44 sqirrel joined 08:45 ObseLeTe joined 08:50 kaare__ is now known as kaare_ 08:51 wk left 08:58 ObseLeTe left 08:59 ObseLeTe joined
tadzik it should not return string, I think :| 09:04
moritz .get is line orientent, and "line" is string concept 09:10
not a Buf concept
so .get, by definition, must return a Str
tadzik hm, I see
09:15 donaldh joined
jnthn morning o/ 09:24
phenny jnthn: 00:37Z <japhb_> tell jnthn You might want to tag this nqp-jvm milestone, because I would think "can compile itself, but doesn't have the other stuff needed by rakudo" would be an interesting marker for people wishing to port to other platforms.
nwc10 \o/
jnthn: I can't actually find any other machine with Java (1.)7 installed :-(
jnthn
.oO( Write Once, Run Any...wait... )
09:26
tadzik Write once, run for your life :)
jnthn nwc10: I guess time will take care of that, though. 09:28
09:35 ikrs left 09:38 donaldh left
nwc10 jnthn: is NQPJVM able to recompile itself? 09:39
and is it byte-for-byte identical? (Should it be? Or does Java put timestamps into the bytecode) 09:40
jnthn nwc10: Didn't get to trying that yet. :)
diakopter nwc10: javac automatically randomly obfuscates 09:41
jnthn byte-for-byte identical - no, because NQP itself does some naming differently each time
To make sure the different layers of the bootstrap never end up ambiguous. 09:42
nwc10 ah OK.
byte-for-byte identical is (I think) how gcc tries to test its bootstrap
diakopter (kidding, of course)
jnthn Not to mention that we generate Java bytecode, so javac ain't involved :P 09:43
diakopter o yeah :D
diakopter waits for the slow cc 09:46
09:48 labster left 09:54 dakkar joined
drKreso I broke panda :( After reinstalling rakudo when running perl6 bootstrap.pl (for panda) I get t/01-file-find.t ...... Dubious, test returned 1 (wstat 256, 0x100) 09:56
No subtests run
t/02-shell-command.t .. Cannot fetch object from non-existent serialization context . Tried clean, removing site ? What else can I try?
diakopter jnthn: this has to be the funniest error message I've ever seen gist.github.com/diakopter/28e68225461765592ee0 09:57
jnthn: oh and the ; in your selftest target aren't portable
jnthn current directory much? :) 09:58
09:59 wk joined
jnthn yes, I'm not sure what to do about that short of having the Makefile generated 09:59
diakopter it's ok; git won't mind me having an uncommitted change that I'm sure will merge ok, i guess 10:00
10:00 woosley left
jnthn we could just add a selftest and winselftest :) 10:00
It's only temporary anyways 10:01
diakopter true
jnthn wonders where all the ./s got added...
diakopter oh, did you scroll all the way to the right?
easier to see/laugh: gist.github.com/diakopter/28e68225...tfile1.txt 10:02
nwc10 jnthn: that or you spawn a perl one liner to invoke prove
diakopter jnthn: there are 2035 ./ in there 10:03
10:04 hypolin left
diakopter unix date end?!? 10:04
...what else does 2035 mean
yeah.. I don't know how to fix this. 10:05
ETOOMANYPERIODS 10:06
huf somehow it reminds me of the "spam spam spam spam, lovely spam" scene
drKreso Huh, panda problems where my fault… forgot to update /usr/bin/perl6 10:09
10:14 anuby left 10:16 kaare_ left, kaare__ joined 10:18 drKreso left 10:31 Exodist left 10:35 Exodist joined 10:36 domidumont1 joined 10:38 domidumont left 10:55 kaleem joined 10:58 ObseLeTe left 11:00 toebu joined 11:05 ObseLeTe joined 11:10 spider-mario joined 11:37 bowtie_ joined
bowtie_ \NICK bowtie 11:38
11:38 bowtie_ left 11:39 bowtie_ joined, bowtie_ left 11:40 bowtie_ joined 11:41 bowtie_ left 11:43 drKreso joined 11:44 Targen left 11:45 bowtie_ joined, pmurias joined 11:46 drKreso_ joined
nwc10 does the upcoming jvm version 8 add any interesting opcodes? 11:46
bowtie_ sorry for noise, I thought I would pop by and see whats going on, but I have had to use _ postfix as my nick is in use all ready by another 11:47
moritz no problem
11:47 drKreso left, drKreso_ is now known as drKreso 11:52 rindolf left 11:58 SmokeMachine joined, drKreso left 12:00 drKreso joined 12:07 shinobicl joined, census joined 12:17 drKreso left 12:33 shinobicl left, domidumont joined 12:34 ObseLeTe left
dalek rl6-roast-data: 03236a1 | coke++ | / (4 files):
today (automated commit)
12:36
rl6-roast-data: 0438d07 | coke++ | / (4 files):
today (automated commit)
12:36 domidumont1 left 12:37 shinobicl joined
[Coke] "It's been [15] days since someone broke the daily build" 12:38
(rakudO)
FROGGS [Coke]: what do we wanna do with the guy who breaks it? 12:39
moritz [Coke]: did the build break, or just some tests? 12:43
12:53 ObseLeTe joined
nwc10 jnthn: OK, so I am root on at least one machine. And it has a java (1.)7 package available. So I installed it: 12:53
nick@raspberrypi:~/Perl/nqp-jvm-prep$ time java -cp .:bin:3rdparty/bcel/bcel-5.2.jar NQPJVM -e 'nqp::say("Hello world from somewhere else")' 12:54
Hello world from somewhere else
real 0m33.994s
user 0m32.360s
sys 0m0.360s
I'm running the tests now. Slowly, I suspect
but yes, you can ship the build tree to a different architecture, and it WORKS
(which you would expect. But I have verified this)
t/nqp/01-literals.t ....... ok 12:55
t/nqp/02-if.t ............. ok
t/nqp/03-if-else.t ........
don't hold your breath
jnthn 33s?! 13:01
nwc10 yes. But it's not swapping
also, that's a softfloat JVM on the old debian softfloat distro
on a class 4 SD card 13:02
jnthn ah
nwc10 and it's openjdk, so that's not Oracle's? 13:03
I think that Oracle have been playing a lot with JVMs on ARM since then, including specifically on Raspberry Pis
colomon is now fighting the urge to try nqp-jvm on his phone....
nwc10 gawn gawn. you know you want to
does your phone have >256Mb?
colomon nwc10: not sure, it's a galaxy s3
nwc10 when the tests have passed (There's confidence) 13:04
I'm going to try building current nqp
and see how long it takes to run the same tests
jnthn++ # giving the spinning rust a holiday 13:08
colomon is doing a manual binary search through his $work SVN repo trying to figure out when he broke processing this one file 13:09
nwc10 git-svn and bisect? :-)
13:10 nyuszika7h joined
moritz cpanm App::SVN::Bisect 13:10
by Infinoid++
colomon moritz: you're kidding me.
pmurias the boostraped nqp-jvm is slower than nqp-parrot?
moritz unless I misremembered that nick name
bowtie_ can I have a heads up when perl6 threading will be using the rakudo 5.x please
colomon moritz: nope, that's it. moritz++ 13:11
13:11 benabik left, drKreso joined, skids left
nwc10 bowtie_: I think your version numbers are confused. Rakudo versions aren't in the 5. series 13:11
colomon API METHODS: new do_something_intelligent
nwc10 pmurias: it was for running the NQP tests, last night, IIRC. Parrot's startup time is way better 13:12
I suspect that the NQPJVM codegen will get a lot better, and start to win back
moritz bowtie_: github.com/tadzik/Threads/ gives you parrot's threads in Rakudo today
pmurias nwc10: the 33sec hello world was on a credit sized rasberry pi? 13:16
nwc10 yes. 13:17
(there is only one size)
bowtie_ moritz, silly me sorry, you are quite right i meant Parrot 13:18
jnthn skype, bbiab 13:19
colomon now trying out svn-bisect 13:22
13:25 ikrs joined 13:27 gcole joined 13:31 kaleem left 13:36 ikrs left
[Coke] moritz: I was counting build+tests as "the build", and nothing broke, it's ongoing. 13:37
moritz [Coke]: ok, I misunderstood
[Coke] (svn bisect) So sad that someone did my module better than I did. ;) 13:38
colomon [Coke]: you're in the credits for it. :)
[Coke] infinoid++ 13:39
13:40 lustlife left
jnthn back 13:49
nwc10 All tests successful. 13:50
[Coke] jnthn++
nwc10 Files=57, Tests=537, 2985 wallclock secs ( 2.79 usr 0.36 sys + 2830.67 cusr 24.37 csys = 2858.19 CPU)
that's about 50 minutes
jnthn o.O
nwc10 but, much faster than building locally
[Coke] finally thinks to install the git bash-completion script. mmmm
moritz blog.regehr.org/archives/199 "Somehow, at some point in every serious programming project, it always comes down to the last option: stare at the code until you figure it out. I wish I had a better answer, but I don’t. Anyway, it builds character." 13:58
13:59 odoacre left 14:01 kborer joined 14:13 SamuraiJack left 14:14 odoacre joined 14:16 PacoAir joined 14:21 Psyche^ joined 14:24 Patterner left, Psyche^ is now known as Patterner 14:27 bluescreen10 joined
eiro boingboing.net/2013/02/11/regular-e...sword.html <3 14:38
14:39 skids joined 14:41 odoacre_ joined 14:42 PacoAir left 14:44 PacoAir joined 14:45 odoacre left
FROGGS eiro++ 14:48
moritz somewhere there's a gist floating around that solves this in haskell with au++'s genex module 14:49
14:54 benabik joined
FROGGS hmmm, I would have done it using a pencil 14:55
eiro haha :) 15:02
grondilu off topic: launch of falcon 9 in a few seconds: www.spacex.com/webcast/ 15:09
nwc10 ooh. I'd forgotten that. thanks
30 seconds
moritz grondilu++ # reminding me just in time for takeoff 15:11
morepypy.blogspot.de/2013/02/10-yea...-pypy.html 15:13
among the many gems in there: "To make it more likely to be accepted, the proposal for the EU project contained basically every feature under the sun a language could have. This proved to be annoying, because we had to actually implement all that stuff. Then we had to do a cleanup sprint where we deleted 30% of codebase and 70% of features." 15:14
benabik That sounds familiar for some rason. 15:16
TimToady yeah, can't quite place it...
nwc10 it's taken almost as long as Perl 6 15:17
TimToady someone in the back room keeps asking for a cracker though
nwc10 and, depending on how you date it, longer than Rakudo
and cost more.
TimToady I wonder who they got to pay them to delete stuff? 15:18
benabik Probably deleted a bunch of stuff while someone wasn't paying them.
Quick, nobody's looking!
TimToady "You paid us to put it in; you didn't pay us to *keep* it in." 15:19
nwc10 yeah
that's really the strategy we should be using for Perl 5 now. I've said it for a while
"that's a very nice language you seem to be using there. Shame if anything happened to it"
(it might seem like a joke, but the point behind it is that there isn't much significant that can be added, that you could pitch to a commerical sponsor as worth funding) 15:20
[Coke] wonders if he should ping the giant $dayjob intranet for Perl users. 15:21
rjbs++ # tpf/grant blog post. 15:22
TimToady people are like old programs too, I guess, except that you actually have to pay someone to cut parts out of you that you don't want anymore... 15:23
TimToady learned yesterday that he is having his prostate out this month
rjbs I'm told that all we need is someone with vision to come and attract a swarm of C coders.
[Coke] Yikes. Best of luck, sir.
rjbs TimToady: That sounds like no fun at all. Good luck.
moritz TimToady: Good luck! 15:24
TimToady thanks, not looking for pity, but not trying to avoid the best wishes :)
and prayers, for those of you who are so inclined :)
colomon done. :) 15:25
moritz and $wife might get a new aortic valve later this month
so, fun all around
rjbs moritz: My dad just did that not too long ago. Pig, I think.
moritz rjbs: the problem seems to me that Perl 5 isn't so much written in C, as in a massive abstraction layer of custom macros over C
rjbs moritz: Good luck! The worst part of it seemed to be that my dad was so anxious. The actual work of it seemed to go just fine.
benabik moritz: +1
[Coke] YAY TECHNOLOGY! 15:26
nwc10 moritz: you get used to those. It's still a pig to maintain
self hosting is a big plus point
moritz rjbs: human for $wife, but with all the cells remove; the theory is that the body can repopulate it with its own cells (experimental method)
nwc10 your volunteer base is more likely to overlap with your skillsets needed
rjbs Interesting! Good luck to both of you. 15:27
TimToady yeah, well, I've already got two bionic eye lenses, and I'm wearing someone else's cornea...
moritz nwc10: aye. I found that while writing stuff for the optimizier in NQP
rjbs: thanks
nwc10 TimToady: but the mustache is real, and for life, not just Movember? :-)
TimToady well, dunno about life, but I've had it since I was 18 15:29
got tired of looking 12
actually, hated the sensation of a shaved upper lip; probably some Aspy thing... 15:30
15:41 pmurias left 15:42 pmurias joined 15:45 Timbus joined, ponbiki joined, mberends joined, tipdbmp joined, cosimo joined, TimToady joined, kcwu joined, gfldex joined, Juerd joined 15:49 bluescreen10 left 15:55 pmurias left 16:03 snearch joined 16:04 snearch left 16:05 daxim left, uvtc joined 16:10 snearch joined 16:11 snearch left 16:13 snearch joined 16:14 snearch left 16:15 snearch joined 16:17 domidumont left, snearch left 16:18 snearch joined 16:19 slavik1 left 16:20 snearch left 16:21 snearch joined 16:23 snearch left 16:24 slavik1 joined
uvtc Would you call this `:foo<bar>` a Pair constructor, or Pair composer? 16:36
Or Pair shorthand syntax.
16:38 sjohnson joined
timotimo i say "colon pair syntax" 16:39
16:40 fhelmberger left
uvtc Oh, just realized there's also `:foo('bar')`. 16:40
colomon or foo => "bar" 16:41
FROGGS right, <> is autoquoting
uvtc right
FROGGS and : is for named arguments
my $foo = 'bar'; :$foo # same 16:42
uvtc Oh. Interesting. `:$foo` is short for `foo => $foo` 16:43
TimToady both as a parameter and as an rvalue
16:44 kivutar joined
FROGGS ya, :$foo is pretty nice 16:44
TimToady so to turn a new method with positional parameters into named, you can say 'method new($a,$b,$c) { self.bless(*, :$a, :$b, :$c) }' 16:45
FROGGS since you have to name your vars like the params you later need, the code gets more clear this way too
16:46 tipdbmp left
uvtc Oh, Perl 6 still has `bless`? I thought that was a P5-OO-ism. 16:46
TimToady it's still what makes a constructor a constructor, but it has different semantics 16:47
16:47 ObseLeTe left
TimToady for one, it's a method, not a function 16:47
and you use it to pass the named args down to the various BUILD submethods that initialize the object
uvtc Thanks. Have not gotten to that yet. :) 16:48
FROGGS .oO( is it dark down there at the various BUILD submethods? ) 16:50
16:51 tipdbmp joined
TimToady actually, it's quite a bit brighter down there, being closer to pure math and/or heaven. 16:54
or at least Mu...
I say "down", but it's really going up the class hierarchy to Mu 16:55
Metaphors We Live By
FROGGS so Mu is basically a synonym for you know who? 16:56
(not voldemort this time)
TimToady well, perhaps a bit of a reference to his ineffable aspects :) 16:57
"that from which everything else derives its existence" :) 16:58
uvtc " Be on your guard. There are older and fouler things than Orcs in the deep BUILD submethods of the world."
TimToady actually, those would be the Liskov violations, I suspect 16:59
17:00 PacoAir left
TimToady things are supposed to get more platonic as you go up the type hierarchy 17:00
FROGGS uvtc: seen that two weeks ago or so
17:00 not_gerd joined
not_gerd o/ 17:00
FROGGS hi not_gerd 17:01
not_gerd rn: grammar { token foo($n) { o ** $n } }
uvtc FROGGS: Perl 6: Mining Mithril for Fun and Profit!
p6eval niecza v24-24-gbdc3343: OUTPUT«Potential difficulties:␤ Unsupported use of atom ** $n as separator; nowadays please use atom+ % $n at /tmp/vHn2NOyTly line 1:␤------> grammar { token foo($n) { o ** $n⏏ } }␤␤»
..rakudo 357e60: OUTPUT«===SORRY!===␤Quantifier quantifies nothing␤at /tmp/ms1g6ZyWkb:1␤------> grammar { token foo($n) { o ** ⏏$n } }␤ expecting any of:␤ statement list␤ prefix or term␤ prefix or meta-prefix␤ new name to…
FROGGS uvtc: ya, but better keep quiet
not_gerd std: grammar { token foo($n) { o ** $n } }
p6eval std 52fe6d2: OUTPUT«Potential difficulties:␤ Unsupported use of atom ** $n as separator; nowadays please use atom +% $n at /tmp/Z2oaNEsQAR line 1:␤------> grammar { token foo($n) { o ** $n ⏏} }␤ok 00:00 45m␤»
17:02 ponbiki left
TimToady std: grammar { token foo($n) { o ** {$n} } } 17:03
p6eval std 52fe6d2: OUTPUT«ok 00:00 45m␤»
TimToady that's how you're supposed to write a dynamic range
FROGGS nr: grammar { token foo($n) { o ** {$n} } } 17:04
p6eval rakudo 357e60: OUTPUT«===SORRY!===␤Quantifier quantifies nothing␤at /tmp/7PJnB0CEiH:1␤------> grammar { token foo($n) { o ** ⏏{$n} } }␤ expecting any of:␤ statement list␤ prefix or term␤ prefix or meta-prefix␤ new name …
..niecza v24-24-gbdc3343: ( no output )
not_gerd TimToady: thanks
TimToady though NYI
will, in rakudo
*well
FROGGS timotimo: can you check that this wasnt working before your latest patch?
17:04 Chillance joined
not_gerd luckily, in my case $n ~~ 1..3, so I can unroll that manually 17:05
TimToady std: grammar { token foo(\n) { o ** {n} } }
p6eval std 52fe6d2: OUTPUT«ok 00:00 44m␤» 17:06
TimToady I'd probably write it that way to make it look like it might be a range, not an item
though I suspect the eventual implementation would handle $r containing a range there 17:07
$n, I meant 17:08
FROGGS std: grammar { token foo(\n) { o ** {0, 5...100} } } 17:09
p6eval std 52fe6d2: OUTPUT«ok 00:00 46m␤»
FROGGS did I mention that I love perl6's regexes and grammars? 17:10
17:11 SunilJoshi joined
FROGGS n: say "aaaaabbbbbccccc" ~~ /\w ** {5,10...100}/ # sad it doesnt work 17:12
p6eval niecza v24-24-gbdc3343: OUTPUT«Unhandled exception: Unable to resolve method niecza_quantifier_min in type List␤ at /tmp/cyX_qvD0Vx line 1 (ANON @ 7) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2916 (Regex.ACCEPTS @ 10) ␤ at /tmp/cyX_qvD0Vx line 1 (mainline @ 3) ␤ at /home/p6eval…
FROGGS n: say "aaaaabbbbbccccc" ~~ /\w ** {1..3}/
p6eval niecza v24-24-gbdc3343: OUTPUT«「aaa」␤␤»
FROGGS weird
TimToady only an Int or Range is allowed currently 17:13
uvtc .u 「
phenny U+FF62 HALFWIDTH LEFT CORNER BRACKET (「)
TimToady S05:1016 17:14
FROGGS ahh, okay
TimToady FROGGS: the reasoning being that a lot of people will try to write ranges as 1,3 instead of 1..3
17:14 drKreso left
TimToady and we need to be able to catch that 17:14
FROGGS right, {1,3} is really perl fivy 17:15
and hard to catch for a lifetime perl 5 hacker
TimToady and one can easily do the same thing with an assertion afterwards to backtrack the ones you don't want
<?{ +$<captured> %% 5 }> 17:16
n: say "aaaaabbbbbccccc" ~~ /(\w) ** {1..10} <?{ +$0 %% 2 }> / 17:17
p6eval niecza v24-24-gbdc3343: OUTPUT«「aaaaabbbbb」␤ 0 => 「a」␤ 0 => 「a」␤ 0 => 「a」␤ 0 => 「a」␤ 0 => 「a」␤ 0 => 「b」␤ 0 => 「b」␤ 0 => 「b」␤ 0 => 「b」␤ 0 => 「b」␤␤»
TimToady n: say "aaaaabbbbbccccc" ~~ /(a) ** {1..10} <?{ +$0 %% 2 }> /
p6eval niecza v24-24-gbdc3343: OUTPUT«「aaaa」␤ 0 => 「a」␤ 0 => 「a」␤ 0 => 「a」␤ 0 => 「a」␤␤» 17:18
TimToady there you go
nwc10 Raspberry Pi, nqp-on-parrot running the same tests as NQPJVM earlier:
Files=57, Tests=537, 332 wallclock secs ( 2.50 usr 0.34 sys + 300.77 cusr 6.08 csys = 309.69 CPU)
TimToady so this falls into the category of difficult things that are possible :)
removing things you don't want seems to be a running theme today... 17:20
FROGGS ya... ó.ò 17:21
nwc10: it feels a bit strange to almost have a perl 6 running on such a little box btw :o) 17:24
TimToady wonders when he should start pining for the fjords...funny thing is, Glo and I have a cruise to the fjords scheduled for this summer, so I guess I'm allowed to pine for them... :) 17:25
jnthn TimToady: ooh, Norwegian ones? Or elsewhere?
TimToady .no
tadzik oh you 17:26
jnthn Nice :)
They're very pretty :)
tadzik oh, only I noticed a pun? :)
TimToady I noticed it when I typed it :)
I don't think there are any fjords in Nice though... 17:27
17:27 donaldh joined
TimToady wanders off to scrub and pine, not to be confused with much of California 17:32
17:50 PacoAir joined 17:51 not_gerd left
uvtc Wrote up some notes on Perl 6 AoA, AoH, etc.: www.unexpected-vortices.com/perl-6/...tures.html . Please let me if anything there is amiss. 18:00
18:00 lichtkind_ left
PerlJam uvtc: my @a = [@a1], [@a2], [@a3]; and my @a = $(@a1), $(@a2), $(@a3); are not "the same" 18:03
uvtc Hm. What's the diff between them? 18:04
PerlJam uvtc: The first one makes copies of the arrays, the second one does not.
uvtc: witness ...
r: my @a = <alpha beta gamma delta>; my @b = <foo bar baz>; my @c = [@a], [@b]; @a[0] = 'XXX'; say @c;
p6eval rakudo 357e60: OUTPUT«alpha beta gamma delta foo bar baz␤»
PerlJam r: my @a = <alpha beta gamma delta>; my @b = <foo bar baz>; my @c = $(@a), $(@b); @a[0] = 'XXX'; say @c;
p6eval rakudo 357e60: OUTPUT«XXX beta gamma delta foo bar baz␤» 18:05
18:05 SamuraiJack joined
PerlJam n: my @a = <alpha beta gamma delta>; my @b = <foo bar baz>; my @c = $(@a), $(@b); @a[0] = 'XXX'; say @c; 18:06
p6eval niecza v24-24-gbdc3343: OUTPUT«XXX beta gamma delta foo bar baz␤»
PerlJam (just checking :)
uvtc thanks, PerlJam !
18:07 donaldh left, FROGGS left 18:09 dakkar left
Guest8774 support over here 18:10
en mass
derp, wrong window
uvtc en masse
We must strike quickly! 18:11
:)
PerlJam: updated. Looks better now? 18:13
PerlJam uvtc: I guess. 18:16
uvtc PerlJam: Heh, yeah, not sure why I asked that. :) Thanks for the help. 18:17
PerlJam uvtc: you show the syntax for declaring anonymous arrays inline for your array-of-arrays example, why not do the same for hashes? and for the other examples?
uvtc PerlJam: Good point 18:18
PerlJam: No reason, except that I just wrote it down and hadn't thought of that yet. :)
18:18 FROGGS[mobile] joined
PerlJam okie 18:18
uvtc Hm. How do I make write an AoH inline? My first guess doesn't work: `my @a = {:a<1>, :b<2>}, {:x<7>, :y<8>}` 18:22
18:22 skids left
uvtc Sorry. Works. PEBCAK 18:23
18:28 FROGGS joined 18:37 SamuraiJack left
[Coke] r: rx { a [ b | c ] ( d | e ) f : g } 18:40
p6eval rakudo 357e60: ( no output )
[Coke] r: rx { ( ab* ) <{ $1.size % 2 == 0 }> }
p6eval rakudo 357e60: ( no output )
18:41 fgomez left 18:46 rindolf joined 18:50 PacoAir left 18:51 PacoAir joined, grondilu left, SunilJoshi left
FROGGS TimToady: the example about the Remainder will not work with the failed_match->Nil changed we did recently: perlcabal.org/syn/S05.html#Bracket_...nalization 18:56
so the test for it already fails in the branch I made, which returns Nil instead of a Match object
tadzik you can now submit talks to PLPW! act.yapc.eu/plpw2013/news/993
FROGGS \o/ 18:57
18:58 fgomez joined 18:59 skids joined
dalek p: e79c768 | jnthn++ | src/QAST/Operations.nqp:
Add nqp::backtracestrings.
19:02
19:03 zby_home_ joined
dalek p-jvm-prep: 5b7a797 | jnthn++ | / (31 files):
Funnel most exceptions to high-level mechanism.

This is a first step towards improiving backtraces to include useful information, not internal information.
19:03
p-jvm-prep: 3e98f7f | jnthn++ | / (4 files):
Show backtrace on exceptions.

Just has method/sub names so far, not lines/files.
FROGGS jnthn++
I always hated (and still do) the mess that you get as java backtraces 19:04
80 lines of crap to read somewhere at the top: "Socket timeout" 19:05
diakopter jnthn: maybe try 32-bit oracle jvm1.7 on windows
19:09 ObseLeTe joined 19:10 skids left 19:11 Pompel joined 19:12 grondilu joined
dalek p-jvm-prep: 917c1b0 | jnthn++ | nqp-src/QRegex.nqp:
Get latest !INTERPOLATE method.
19:15
p-jvm-prep: 8a9009c | jnthn++ | t/nqp/66-pararole.t:
We pass 66-pararole.t.
colomon we got parole!
FROGGS and the pararole is? "we pass 66" 19:16
19:20 nyuszika7h left 19:22 nyuszika7h joined 19:23 araujo joined, araujo left, araujo joined 19:27 zby_home_ left 19:36 bluescreen10 joined 19:42 shinobicl left
uvtc Is a twigil the combination of the two punctuation characters, or is it just the second punctuation char? 19:54
FROGGS the second one 19:55
uvtc thanks FROGGS 19:56
19:57 ObseLeTe left
FROGGS np 19:57
19:57 fgomez left, gcole left, gcole joined 19:58 gcole__ joined, gcole left
dalek osystem: fddf72a | (David Warring)++ | META.list:
Adding CSS::Grammar
20:04
osystem: aea4edd | tadzik++ | META.list:
Merge pull request #20 from dwarring/patch-2

Adding CSS::Grammar
20:06 donaldh joined
jnthn Whoa...that CSS grammar looks like a pretty big piece of work! :) 20:07
moritz gives the last few pull request submitters commit bits
20:10 census left
jnthn Big test suite too 20:10
(David Warring)++
FROGGS good webguys are hardcore testers
moritz token nl {"\n"|"r\n"|"\r"|"\f"} 20:14
that's surely meant to be \r\n, right?
benabik Needed a couple more tests, I suppose. :-/
jnthn Most probably :) 20:15
uvtc Why does `for 1 .. 3 { say $_ }` return "True True True" after it completes?
r: for 1 .. 3 { say $_ } 20:16
p6eval rakudo 357e60: OUTPUT«1␤2␤3␤»
moritz r: say do for 1..3 { .say }
p6eval rakudo 357e60: OUTPUT«1␤2␤3␤True True True␤»
colomon uvtc: because say returns True
benabik say say ''
r: say say ''
p6eval rakudo 357e60: OUTPUT«␤True␤»
moritz oh, "why does", not "does"
uvtc But why is it returning three Trues?
benabik uvtc: For returns a list of the returns of its iterations.
colomon you called it three times
jnthn Because for is sygar for map
20:16 thou joined
jnthn *sugar 20:16
uvtc Ah. sugar for `map`. Interesting. 20:17
20:17 FROGGS[mobile] left 20:18 FROGGS[mobile] joined
moritz hopes that his laptop doesn't overheat before testing the first for CSS::Grammar :-) 20:18
uvtc moritz: I don't understand your last comment. 20:19
moritz: well, the one before last.
moritz: though maybe it wasn't in response to mine... :) 20:20
benabik has always liked how Scala's for is just sugar for foreach/map/filter/flatMap 20:21
20:24 quester joined, FROGGS[mobile] left
uvtc So is `map { say $_ }, 1 .. 3` equivalent to `for 1 .. 3 { say $_ }` ? They seem to do the same thing, though I'd expect that I'd use `map` when I wanted to keep the list returned, whereas I'd use `for` if building something up (for side-effects). 20:24
benabik Does map function differently in sink context? 20:25
uvtc: The for loop won't bother collecting the return values if you're not going to use them. 20:26
uvtc What is sink context? 20:27
I've heard of a horse fly, and a fruit fly, but I've never seen a sink fly.
Wait.
benabik uvtc: Sink context is "we don't need these results". It either doesn't generate or ignores the result. You can get it by using the `sink` modifier or by just not collecting the result. (i.e. `for () {}` vs `my @a = for () {}`) 20:28
jnthn Yes, map is sensitive to sink context too
uvtc thanks, benabik . 20:29
benabik jnthn: Because it returns an iterator that knows what to do with .sink ? 20:30
moritz right
benabik wonders how many sink() calls there are in a P6 script. 20:31
(implicity, obv)
moritz benabik: one for every statement in sink context 20:32
benabik moritz: Does that cause much slowdown?
moritz benabik: there haven't been any reports about major slowdowns
benabik Hm. it's a .?sink call, no?
moritz actually .DEFINITE && .?sink 20:33
jnthn benabik: Well, a lazy list, which can .sink
If you're profiling and seeing sink is hugely expensive, note that it's the same thing as "oh eager is expensive!" :) 20:34
Namely, that if you have an unevaluated list and it gets sunk, it's that which causes all of the work to be done to produce the list.
20:34 toddr_ joined
toddr_ Hi, I'm helping organize YAPC::NA this year. I was wondering if any of you had Perl 6 talks you were thinking about giving 20:36
So far we've only got 1 submission from patrick.
moritz I would if I could attend :(
but toddr_++ for asking 20:37
toddr_ moritz: We're reviving send a newb to YAPC this year. have you ever been?
moritz toddr_: I've been to YAPC::EU
jnthn toddr_: I'm expecting to make it to YAPC::NA this year
perigrin moritz: so you're a YAPC::NA Newbie! 20:38
:)
jnthn Will submit talks...deadline isn't for a couple of weeks yet, no? :)
perigrin you don't *have* to push the deadline
jnthn Yes, but I dunno what to talk about yet :P
perigrin and make toddr_ go crazy with stress and worry that he'll never get enough talks
jnthn: considering I've asked speakers to give talks on the sunday before ... "your point?" 20:39
toddr_ wonders how many people will be pressing the submit button 14 days and 11 hours from now...
perigrin toddr_: *most* of them
toddr_ :D
I haven't accepted any talks yet cause I'm sure the good ones are still to come. 20:40
Though I probably should accept RJBS's perl5.18 talk...
moritz toddr_: I don't know what patrick wants to talk about, but so far his talks have always been excellent
uvtc "Manufacturing local wormholes using Perl 6 and some elbow grease"
perigrin uvtc: the Java port makes the elbow grease optional. 20:41
jnthn++
toddr_ Patrick's talk is: "Perl 6 on the JVM‎" 20:42
uvtc I'm looking forward to seeing Parrot and the JVM duke it out in a no-holds-barred grudge match.
benabik perigrin: Given recent news, it's more that Java lets you use other people's elbow grease.
benabik bets the one with more funding and developers will do very well there.
perigrin benabik: the best kind of optional ... 20:46
taking the "someone else did the work" option
benabik perigrin: Was thinking more the "stealing other people's work" option. 20:48
20:49 bowtie_ left
perigrin depends on if you're good or great. 20:50
benabik :-D
uvtc I wonder what other language impl's have experienced when porting to the JVM... (library-wise) 20:51
nwc10 jnthn: selftest remains All tests successful.
dalek p-jvm-prep: 3f793a9 | jnthn++ | / (3 files):
Have a crack at fixing the 32-bit problem.
20:53
nwc10 gah! He moved them again 20:54
jnthn ;)
20:54 am0c left
benabik nwc10: What are you doing that you're trying to catch up to jnthn? 20:54
jnthn Provided me with latest results ;) 20:55
FROGGS some sort of cluster, ehh? 20:57
21:00 kivutar left 21:02 bowtie joined
tadzik prove -e 'java -cp .:bin:3rdparty/bcel/bcel-5.2.jar NQPJVM' t/nqp 273.68s user 15.02s system 145% cpu 3:18.05 total 21:06
looks good :)
21:13 SmokeMachine left 21:14 drKreso joined
nwc10 jnthn: selftest remains All tests successful. Do your worst! 21:22
21:22 drKreso left 21:23 rindolf left 21:26 bruges_ left
sorear jnthn: will you be talking at ::na? 21:27
colomon jnthn: will you be going to ::na? 21:28
21:28 bruges joined
colomon sorear, o/ 21:28
jnthn sorear: Provided I come (very likely) I'll speak
dalek kudo/nom: a72f82d | jnthn++ | src/Perl6/Grammar.pm:
Eliminate a no-longer-needed hack.
kudo/nom: edeeaf3 | jnthn++ | src/Perl6/Grammar.pm:
Eliminate pir:: usage in Perl6::Grammar.
kudo/nom: 6ce3130 | jnthn++ | src/Perl6/Actions.pm:
Eliminate pir:: in Perl6::Actions.
kudo/nom: 680d86a | jnthn++ | src/Perl6/ (2 files):
Turn some QAST::VM into QAST::Op.
sorear jnthn: did you see toddr_ asking earlier?
o/ colomon
jnthn I've got the time for it marked out in my schedule already, it's "just" flight, hotel, etc. 21:29
sorear: Yes, I said I'd submit :)
colomon \o/
colomon has no idea if he will be able to afford the trip this year.
nwc10 bother. he just did :-) 21:34
toddr_ FYI, we've allocated rooms for a hackathon 2 days before and after the conference. Thanks to Bruce Gray for being the squeaky wheel! 21:37
21:38 thou left 21:39 thou joined
PerlJam toddr_: "rooms"? 21:43
21:43 census joined
diakopter jnthn: that fixed make test 21:43
toddr_ PerlJam: Well technically 1 room on each day. Probably the same room.
sorear that's Util? 21:44
toddr_ yes
oh hey he's in the channel isn't he?
sorear yes
i'm probably going to come but not speak 21:45
21:45 slavik1 left
sorear TimToady: do you have any perl 6 talk proposals you haven't submitted to toddr_ yet? 21:47
21:47 drKreso joined
toddr_ And by toddr_, that would actually be www.yapcna.org/yn2013/newtalk 21:48
jnthn diakopter: And...anything else? :)
diakopter also make nqptest All tests successful. 21:51
21:51 thou left
diakopter make selftest says Error: Could not find or load main class NQPJVM 21:51
o wait
sec
there, that's better.. seems to be working 21:52
sorear i suspect texas in june may be above masak's autoignition temperature 21:53
colomon there will be air conditioning, right?
21:53 census left
PerlJam Austin isn't that bad. Not like Houston or anywhere along the coast there the humidity is high 21:54
benabik "It's a dry heat" 21:55
"Yeah, but it's still hot"
diakopter jnthn: make selftest all passed
21:55 japhb_ joined
jnthn diakopter: On the machine where it was formally ./ing like mad? 21:59
*previously
PerlJam benabik: it's not about how hot it *is*, but how hot you *feel* :)
diakopter jnthn: yes
jnthn diakopter: yay 22:00
diakopter setting up p6eval now for it now..
jnthn doesn't really do hot weather :)
But if it's air con'd indoors, I'll cope fine :)
colomon ditto
drKreso Hi
PerlJam temps last year in Austin for early June were 70-90 degrees F each day. 22:01
sorear 7,090 degrees F each day 22:02
drKreso I have issues with MiniDBI (OSX) - "dyld: lazy symbol binding failed: Symbol not found: _dlLoadLibrary"
jnthn r: sub proper-temps(@t) { for @t { say ($_ - 32) / 2; } }; proper-temps(70, 90) 22:03
p6eval rakudo 357e60: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'proper-temps' will never work with argument types (Int, Int) (lines 1, 1)␤ Expected: :(@t)␤»
jnthn r: sub proper-temps(*@t) { for @t { say ($_ - 32) / 2; } }; proper-temps(70, 90)
p6eval rakudo 357e60: OUTPUT«19␤29␤»
22:03 kaare__ left
jnthn Ah, that's not awful... 22:03
sorear or maybe that's 70-90 degrees F *per day*, as in a rate of temperature climb 22:05
quester r: sub correct-temps(*@t) { for @t { say ($_ - 32) / (9/5); } }; correct-temps(70, 90)
p6eval rakudo 357e60: OUTPUT«21.111111␤32.222222␤»
PerlJam sorear: it doesn't get *that* hot :)
sorear If you can't smelt iron on the sidewalks, it's not Texas 22:06
jnthn quester: Dang, that made it worse 22:07
quester Well, yes, but only slightly... 22:08
sorear will have to see what the temps are like where I live come june
toddr_ sorear: yeah I'm hoping for cool. We've got an outdoor dinner planned for the banquet 22:10
22:16 snearch joined, snearch left 22:21 toddr_ left
dalek p-jvm-prep: 0ed8248 | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/P6Opaque (2 files):
Avoid some unrequired backing type generation.
22:33
p-jvm-prep: a463f0f | jnthn++ | / (5 files):
Start associating MethodHandles with CodeRefs.

MethodHandles are one of the things at the center of invokedynamic, so this is the first tiny step towards being able to use that.
22:38 census joined
dalek p-jvm-prep: a9de50b | jnthn++ | / (2 files):
Curry the compilation unit invocant.
22:46
p-jvm-prep: 1572868 | jnthn++ | src/org/perl6/nqp/runtime/Ops.java:
Start using the method handle for invocation.
p-jvm-prep: 03318f3 | jnthn++ | / (6 files):
Eliminate now-unused dispatch switch table.
22:46 am0c joined, _jaldhar joined 22:49 saeidw joined 22:53 bluescreen100 joined, uvtc left 22:54 mtk left 22:57 bluescreen10 left, mtk joined, census left
japhb_ jnthn, The comment on line 2391 of lib/QAST/JASTCompiler.nqp starts with 'Also, ' ... left over from previous version of comment 22:58
jnthn Thanks, fixed. 23:01
japhb_ np
jnthn ...but the commit message vanished here. :( 23:02
23:03 bluescreen100 left 23:09 slavik1 joined
drKreso dyncall not binding correctly - sh configure -target-x64 does not help (option does not exist). git 64bit OSX 23:14
23:14 benabik left
jnthn drKreso: What erorr are you getting? 23:14
drKreso jnthn: azy symbol binding failed: Symbol not found: _dlLoadLibrary similar to github.com/jnthn/zavolaj/issues/16 23:15
jnthn It looks like a - too few 23:17
Try --target-x64 23:18
drKreso jnthn: so in nqp/3rdparty/dyncall sh configure --target-x64 … and then what do i need to "make"? 23:20
jnthn: Now it says "guess operating system darwin" which I guess is OK. But what do I need to rebuild. Make only in this folder gives same result 23:22
jnthn drKreso: Need to then rebuild the nativecall dynops lib 23:23
If you do make clean in nqp directory first
Then do make in dyncall, then go back to NQP directory and do make there, it should do all that is needed.
drKreso make clean 23:24
make: *** No rule to make target `clean'. Stop.
jnthn In the NQP directory?
spider-mario hm, do you think it would be useful to have a script build rakudo periodically and graph its performances over time or something?
jnthn Or in the dyncall one?
spider-mario do we have anything like that currently?
drKreso in nqp
jnthn drKreso: Oh...do you have no Makefile there?
drKreso apparently no
i used that git clean i think 23:25
jnthn ah
But if you want to try and do this as a patch rather than as a hack...
See Configure.pl
Around line 119
It looks at what we're building on
Could add a branch for OSX 23:26
If this is applicable to all OSX...
jnthn doesn't know much about the platform, sorry
23:26 kborer left
jnthn That's where we decide what flags to give dyncall's configure, anyway 23:27
23:27 saeidw left
donaldh drKreso: is this the same issue ? github.com/jnthn/zavolaj/issues/16 23:27
donaldh has been meaning to provide a patch for that 23:28
drKreso donaldh: Yes, same issue 23:29
jnthn: so how line 119 needs to look for me?
jnthn drKreso: Well, I think you maybe want to add an elsif, before the else around line 127. I don't know what $^O looks like, but I guess you can perl -E 'say $^O' to find out :) 23:32
donaldh: Do you know if it's specific to 64-bit, or if it's an OSX issue in general? 23:34
23:34 PacoAir left
donaldh jnthn: not sure. I suspect it's an OSX issue. Tries to be too clever with arch 23:34
23:36 PacoAir joined
drKreso donaldh: I found this is previous irc sessions : I _think_ it's because dyncall is trying to auto-detect the architecture and OS X lies., `uname -p` says i386, but `uname -m` says x86_64 Not sure if it matters? 23:37
donaldh sure does 23:38
$^O returns 'darwin'
23:38 spider-mario left 23:39 xenoterracide joined
donaldh wow, parrot::arch name is set to darwin-thread-multi-2level 23:41
geekosaur uname output isn't actually standardized. I think freebsd does the same interpretation of it 23:42
donaldh, that's taken from perl5, I believe
drKreso donaldh: So for mine dirty purpose of making it work, can I change line 128 to system_or_die('cd 3rdparty/dyncall && sh configure --target-x64'); and hope for the best? 23:43
23:44 ikrs joined, ikrs left
donaldh drKreso: just checking 23:44
23:44 ikrs joined
donaldh drKreso: yes, that seems to work 23:45
23:46 spider-mario joined
dalek kudo/nom: 2303d19 | jnthn++ | src/Perl6/World.pm:
Some pir:: => nqp:: in Perl6::World.
23:49
kudo/nom: 6f5cfc1 | jnthn++ | src/Perl6/World.pm:
Eliminate some property usages.
kudo/nom: 40069f9 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
Some pir:: => nqp:: in BOOTSTRAP.
p-jvm-prep: 22ac999 | jnthn++ | src/org/perl6/nqp/runtime/ (2 files):
Move much from invoke into CallFrame constructor.

No functional changes here, just a refactor.
23:50
drKreso donaldh: I am still getting (afer configure, make, make install, deleting site, bootstrapping panda and panda install MiniDBI) - Symbol not found: _dlLoadLibrary 23:51
Referenced from: /Users/kbojcic/dev/nuke/rakudo/install/lib/parrot/4.10.0-devel/dynext/nqp_dyncall_ops.bundle
jnthn Time for some sleep; 'night, #perl6 23:52
diakopter wait