»ö« 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:00 BooK_ left, BooK joined
jnthn 'night, #perl6 00:08
salparadise j/wc 00:11
00:11 salparadise left 00:18 benabik joined 00:27 fgomez left, leprevost joined 00:32 am0c joined 00:40 thou left
dalek p-jvm-prep: 4c1686c | diakopter++ | src/org/perl6/nqp/sixmodel/reprs/ContextRefInstance.java:
wrong lex type
00:43
00:44 Chillance left 00:48 daniel-s joined 00:49 daniel-s left 00:50 daniel-s joined 00:51 _daniel-s__ left
TimToady Ulti: bare say is also supposed to be illegal 00:55
nr: say;
p6eval niecza v24-23-g0520c7c: OUTPUT«===SORRY!===␤␤Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/whcQaybYfj line 1:␤------> say⏏;␤␤Unhandled exception: Check failed␤␤ at /home/p6e…
..rakudo 5a1291: OUTPUT«␤»
TimToady in fact, nearly any function that p5 defaults to $_ is supposed to be illegal in p6 (when bare) 00:58
n: split;
p6eval niecza v24-23-g0520c7c: OUTPUT«===SORRY!===␤␤Unsupported use of bare 'split'; in Perl 6 please use .split if you meant $_, or use an explicit invocant or argument at /tmp/wmS6YHg_IJ line 1:␤------> split⏏;␤␤Unhandled exception: Check failed␤␤ at /ho…
TimToady n: ord; 00:59
p6eval niecza v24-23-g0520c7c: OUTPUT«===SORRY!===␤␤Unsupported use of bare 'ord'; in Perl 6 please use .ord if you meant $_, or use an explicit invocant or argument at /tmp/zK9qVrxHi4 line 1:␤------> ord⏏;␤␤Unhandled exception: Check failed␤␤ at /home/p6e…
TimToady like those
catching those at compile time is construed to be more humane than either catching them at run time or silently producing unexpected results 01:00
diakopter n: die 01:01
p6eval niecza v24-23-g0520c7c: OUTPUT«Unhandled exception: Died␤ at /home/p6eval/niecza/lib/CORE.setting line 1438 (die @ 5) ␤ at /tmp/MA0D06AzvD line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4233 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4234 (module…
diakopter n: die;
p6eval niecza v24-23-g0520c7c: OUTPUT«Unhandled exception: Died␤ at /home/p6eval/niecza/lib/CORE.setting line 1438 (die @ 5) ␤ at /tmp/_pufqbXy34 line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4233 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4234 (module…
TimToady that one doesn't defualt to $_, so it's okay 01:02
*fault
TimToady is kinda wondering why ANSIColor swapped the arguments of colored() from p5's order; it seems to violate endweight to put the little argument last 01:05
diakopter rn: .say .say
p6eval niecza v24-23-g0520c7c: OUTPUT«===SORRY!===␤␤Method call found where infix expected (change whitespace?) at /tmp/qJ5MgZJwHZ line 1:␤------> .say ⏏.say␤␤Parse failed␤␤»
..rakudo 5a1291: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/j_aq27MELY:1␤------> .say ⏏.say␤ expecting any of:␤ method arguments␤ postfix␤ infix or meta-infix␤ infix stopper␤ statement end␤ statement mod…
01:07 fgomez joined
diakopter rn: .say: ; 01:07
p6eval rakudo 5a1291, niecza v24-23-g0520c7c: OUTPUT«Any()␤» 01:08
diakopter rn: .say:
p6eval rakudo 5a1291: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/tpalRJGuQ9:1␤------> .say⏏:␤ expecting any of:␤ method arguments␤ postfix␤ infix or meta-infix␤ infix stopper␤ statement end␤ statement modifie…
..niecza v24-23-g0520c7c: OUTPUT«===SORRY!===␤␤Confused at /tmp/moHCBXlopb line 1:␤------> .say⏏:␤␤Parse failed␤␤»
01:13 fgomez left 01:15 stopbit left 01:21 census_ left 01:23 erkan left 01:45 am0c left, araujo joined, araujo left, araujo joined 01:54 felher left 01:55 felher joined
benabik So. I get an segfault when compiling NQP HEAD with Parrot HEAD. It's trying to compile stage2/gen/NQPP5QRegex.pm. The segfault appears to be when trying to get the backtrace for an exception. 02:06
02:06 fgomez joined
benabik The reason for this appears to be that NQP has a NULL in it's constant table for a set_returns op. 02:06
02:11 fgomez left
benabik I'm trying to figure out how _that_ happens. But thought I'd mention it here in case this sounds familiar to anyone. 02:11
swarley pastebin.com/LJiNKXR5 02:16
That looks better than I had hoped for :) 02:17
Cuts down on the sixModelObject.go file substantially
02:20 census joined
benabik Huh. Looks like removing my old installed nqp fixed it. I'm guessing there was some stupidity involving OS X's linker and oplibs. 02:26
benabik adds "stow -D nqp" to his buildscript. 02:27
02:30 census_ joined 02:33 census left 02:49 s1n1 left
benabik Woo, a working perl6 again. 02:51
02:52 s1n joined
benabik Maybe now I can try rakudo-jvm. 02:52
Also: Woo! GSoC was announced. Org deadline 3/18 1900 UTC
google-opensource.blogspot.com/2013...er-of.html 02:53
swarley maybe i should submit my project to SoC 03:00
benabik Well, organizations need to apply first. Student applications start 4/22
swarley Oh, well I'll have to wait quite a bit then 03:01
I wonder if I'll have a semi working product by then
Odds are that I will not, but hey, who knows
03:03 fgomez joined, preflex left 03:05 preflex joined 03:23 leprevost left, census_ left 04:01 alec__ left 04:05 jferrero left, jferrero joined 04:52 preflex_ joined 04:53 preflex left, preflex_ is now known as preflex 04:59 replore_ joined, replore_ left 05:00 daniel-s left
dalek rl6-most-wanted: 4e71c32 | (Geoffrey Broadwell)++ | most-wanted/ (2 files):
Add more most-wanted bindings and modules from perl5-corelist-5.014002, #perl6 comments, and common sense
05:04
05:05 replore joined 05:06 replore left 05:10 alec__ joined 05:12 xilo_ joined
dalek rl6-most-wanted: 373f0f0 | (Geoffrey Broadwell)++ | most-wanted/modules.md:
More most-wanted modules, from the Volatile 100
05:12
05:13 xilo_ left 05:14 xilo_ joined 05:15 xilo_ left, thou joined, quester joined 05:16 quietfanatic joined, SamuraiJack joined, xinming left 05:17 tianhua joined, xinming joined
quietfanatic So, I have a question, which is really a disguised bug report, which is really a disguised feature request. 05:19
Why does the default .new only forward named arguments and not positional arguments?
05:20 Garland_g joined
diakopter looks around for implementors, and seeing none, looks around for TimToady, then gives up 05:20
quietfanatic o/ garland
05:21 sevin joined
lue quietfanatic: my guess is because the compiler can't guess the right order for arguments. 05:22
quietfanatic why would it need to? 05:23
Ah, I see what you mean 05:24
I'm not asking it to map positionals to attributes, I'm asking it to forward positional arguments to a custom submethod BUILD that takes positional arguments.
diakopter do the args get passed to all the parent/role constructors too?
quietfanatic As it is, in order to implement a class that takes positional arguments for a constructor 05:25
oh, is that the issue?
hmmm.
I see
It isn't BUILD's responsibility to do all that, is it 05:26
Slightly tangentially, it is possible for the programmer to control the process of getting all the BUILDs called? 05:27
s/it is/is it 05:28
diakopter (I don't even know whether roles have constructors)
sorear you can override BUILDALL
quietfanatic Ah, there we go 05:29
So why doesn't the default new forward positionals to that? 05:30
05:31 Targen joined
lue Because the default BUILD doesn't do positionals, methinks (unless my knowledge of self.bless doesn't apply) 05:38
quietfanatic Basically, as it is, in order to make a constructor that takes positional arguments, you have to override both new and one of BUILD or BUILDALL. 05:39
Or write a wrapper sub and pretend it's a constructor.
Overriding new is a pain, because then you have to know what to do with CREATE and bless and such 05:40
lue r: my class A { has $.b; multi method new ($b) { self.bless(*, :$b); }; }; my $c = A.new(5); say $c.b;
p6eval rakudo 5a1291: OUTPUT«5␤»
quietfanatic oh, you don't have to call CREATE
I forgot that
sorear quietfanatic: Overridding new is the intended way to make positionals be used. 05:41
quietfanatic and bless takes extra arguments that're forwarded?
aah
sorear You don't need CREATE or BUILD, as lue points out.
quietfanatic that is much more convenient
though if I recall correctly, you still have to override BUILD if you want to initialize private attributes 05:42
r: my class A {has $!b; multi method new ($b) { self.bless(*, :$b); }; }; my $c = A.new(4); say $c.b
p6eval rakudo 5a1291: OUTPUT«No such method 'b' for invocant of type 'A'␤ in block at /tmp/iDqGG9pKMQ:1␤␤»
quietfanatic r: my class A {has $!b; multi method new ($b) { self.bless(*, :$b); }; }; my $c = A.new(4); 05:43
p6eval rakudo 5a1291: ( no output )
quietfanatic Or not?
r: my class A {has $!b; multi method new ($b) { self.bless(*, :$b); }; method p { say $!b; } }; my $c = A.new(4); $c.p
p6eval rakudo 5a1291: OUTPUT«Any()␤»
sorear n: my class A { has $!b; method new($b) { self := callwith(); $!b = $b; self }; method foo() { $!b } };say A.new(4).foo
p6eval niecza v24-23-g0520c7c: OUTPUT«Unhandled exception: Cannot call new; none of these signatures match:␤ Mu, *%_␤ at /home/p6eval/niecza/lib/CORE.setting line 1476 (callwith @ 5) ␤ at /tmp/xRtoFVmlz0 line 1 (A.new @ 4) ␤ at /tmp/xRtoFVmlz0 line 1 (mainline @ 5) ␤ at /home/p6eval/nie…
quietfanatic it just ignores the provided named argument. 05:44
sorear n: my class A { has $!b; method new(A:U: $b) { self := callwith(); $!b = $b; self }; method foo() { $!b } };say A.new(4).foo
p6eval niecza v24-23-g0520c7c: OUTPUT«Unhandled exception: Cannot call new; none of these signatures match:␤ Mu, *%_␤ at /home/p6eval/niecza/lib/CORE.setting line 1476 (callwith @ 5) ␤ at /tmp/rArkN840sh line 1 (A.new @ 4) ␤ at /tmp/rArkN840sh line 1 (mainline @ 5) ␤ at /home/p6eval/nie…
sorear n: my class A { has $!b; method new(A:U: $b) { self := callwith(self); $!b = $b; self }; method foo() { $!b } };say A.new(4).foo
p6eval niecza v24-23-g0520c7c: OUTPUT«4␤»
sorear oops
quietfanatic I don't think you can use callwith, because providing a new deletes the default new
sorear No
new is an inherited method 05:45
not auto-generated
05:45 kaleem joined
sorear anyway, see what worked above 05:45
quietfanatic ah
although that modifies self
n: my class A { has $!b; method new(A:U: $b) { self := callwith(self); $!b = $b; self }; method foo() { $!b } }; my $a = A; $a.new(5); say $a.foo 05:46
benabik Which rakudo doesn't seem to like.
p6eval niecza v24-23-g0520c7c: OUTPUT«Unhandled exception: Attempted to access slot $!b of type object for A␤ at /tmp/qY1dFDZpdp line 1 (A.foo @ 3) ␤ at /tmp/qY1dFDZpdp line 1 (mainline @ 8) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4233 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.se…
quietfanatic Is self passed by value?
by copy, I mean 05:47
that can't be right
oh, the := changes the binding of the name 05:48
that's a bit unintuitive, but okay
sorear r: method () { self := 2 } 05:49
p6eval rakudo 5a1291: OUTPUT«===SORRY!===␤Cannot use bind operator with this left-hand side␤at /tmp/9Ehz3FdnyN:1␤------> method () { self := 2 ⏏}␤ expecting any of:␤ postfix␤ infix or meta-infix␤ infix stopper␤»
05:49 sevin left
quietfanatic r: method () { say VAR(self).WHAT; } 05:50
p6eval rakudo 5a1291: OUTPUT«===SORRY!===␤Undeclared name:␤ VAR used at line 1␤␤»
quietfanatic oh that was removed
sorear r: say 2.VAR
p6eval rakudo 5a1291: OUTPUT«2␤»
quietfanatic r: method () { say self.WHAT; say self.VAR.WHAT; } 05:51
p6eval rakudo 5a1291: ( no output )
sorear anyway := changes VAR
also you need to call the method
quietfanatic r: class A { method x () { say self.WHAT; say self.VAR.WHAT; } }; A.new.x
p6eval rakudo 5a1291: OUTPUT«A()␤A()␤»
quietfanatic ...right
sorear what you're seeing there is that the 'self' name is bound directly to an object, not via a variable 05:52
so self and self.VAR are equivalent
quietfanatic I'd think that'd mean self shouldn't even have a .VAR
dalek kudo/nom: fdbba70 | moritz++ | / (2 files):
RT #107992: make $_ writable in -n/-p code
05:53
kudo/nom: 8369e63 | moritz++ | / (2 files):
speed up eqv for Buf
moritz so you'd want it to fail()? or blow up?
05:54 jferrero left, fgomez left
quietfanatic yeah 05:54
if it's supposed to not be a variable.
if it is, I'd expect := to not work. 05:55
05:55 jferrero joined, fgomez joined
benabik You expect := to not work on variables? 05:55
quietfanatic How I worded that was a little confusing 05:56
I expect it to not work on not-variables.
self is a variable -> := works, has .VAR
self is not a variable -> := doesn't work, doesn't have .VAR
that is my expectation.
benabik Isn't self just an implicit \self in the method sig? 05:57
quietfanatic n: class A { method x () { say self.WHAT; say self.VAR.WHAT; } }; A.new.x
p6eval niecza v24-23-g0520c7c: OUTPUT«A()␤Scalar()␤»
quietfanatic r: class A { method x () { say self.WHAT; say self.VAR.WHAT; } }; A.new.x
p6eval rakudo 5a1291: OUTPUT«A()␤A()␤»
sorear benabik: essentially yes
it predates \foo so it's handled differently in rakudo and niecza 05:58
benabik r: my class A { has $!b; method new(A:U $foo: $b) { $foo = callwith(self); $foo.b = $b; $foo }; method foo() { $!b } };say A.new(4).foo
p6eval rakudo 5a1291: OUTPUT«Default constructor for 'A' only takes named arguments␤ in method new at src/gen/CORE.setting:730␤ in at src/gen/Metamodel.pm:2868␤ in any call_with_args at src/gen/Metamodel.pm:2865␤ in block at src/gen/CORE.setting:540␤ in method new at /tmp/z9IbhCOnaq:1␤ …
benabik But I redefined the constructor. Tisk, tisk. 05:59
sorear benabik: it's the callwith
it should be callwith()
niecza is being silly and wants (self)
benabik r: my class A { has $!b; method new(A:U $foo: $b) { $foo = callwith(); $foo.b = $b; $foo }; method foo() { $!b } };say A.new(4).foo
p6eval rakudo 5a1291: OUTPUT«Cannot assign to a readonly variable or a value␤ in method new at /tmp/qnbO_sJYvc:1␤ in block at /tmp/qnbO_sJYvc:1␤␤»
sorear whoever decides to maintain niecza should fix that
quietfanatic You're passing self as a positional to callwith 06:00
benabik sorear: Lost all your tuits? :-/
sorear benabik: I have plenty of tuits, perl 6 is just -Ono-fun for me
benabik sorear: Sadface.
But understandable.
sorear i'm an apostate, I'm doing javascript dev now and I'm pretty sure it's a better language
benabik Is it possible for a method in a class to modify the private attributes of another instance of the same class? 06:02
sorear yes, using self := or an anonymous method
(method () { $!foo = 2})($other-instance);
dalek osystem: 633ecab | (Brent Laabs)++ | META.list:
Adding File::Compare
06:03
moritz r: my $exes = ('x' x 10000).encode; my $n = now; $exes eqv $exes; say now - $n;
p6eval rakudo 5a1291: OUTPUT«3.2710394␤»
moritz 0.024 on my machine now 06:04
let's see what p6eval says after rakudo was rebuilt
labster how does that compare to .decode('Binary')?
either way: much, much better. 06:05
benabik Much uglier than rebinding self, but it works...
r: my class A { has $!b; method new(A:U: $b) { my $foo = callwith(); (method () {$!b = $b})($foo); $foo }; method foo() { $!b } };say A.new(4).foo
p6eval rakudo 5a1291: OUTPUT«4␤»
benabik sorear++
moritz labster: it's now the same, within the nois of measuring such smallish times
06:05 jferrero left
labster cool 06:05
moritz *noise 06:06
06:07 topo joined, jferrero joined
labster Well, since I just pushed File::Compare, I might as well wait until the next R* release to change it. 06:07
06:09 Garland_g left
nwc10 jnthn: All tests successful. 06:12
06:15 quietfanatic left 06:19 erkan joined, erkan left, erkan joined 06:23 marloshouse_ joined 06:24 marloshouse left 06:25 marloshouse_ is now known as marloshouse 06:29 uvtc joined 06:34 erkan left, zby_home joined
moritz r: my $exes = ('x' x 10000).encode; my $n = now; $exes eqv $exes; say now - $n; 06:35
p6eval rakudo 8369e6: OUTPUT«0.0240546␤»
moritz \o/
labster++ # File::Compare
labster \o/ success
moritz now that was a fun little speedup 06:36
labster moritz++
Trying to figure out what to do next. Do I work on the file::find::duplicates thing that I originally started this for? Or should I wonder off and make a CSV grammar since it's on the most wanted list? 06:38
06:43 sevin joined
TimToady nr: my $varname = 'foo'; $GLOBAL::($varname) = 42; say $GLOBAL::($varname); 06:57
p6eval rakudo 8369e6: OUTPUT«No such symbol '$::GLOBAL::foo'␤ in method <anon> at src/gen/CORE.setting:10521␤ in at src/gen/Metamodel.pm:2488␤ in any find_method_fallback at src/gen/Metamodel.pm:2476␤ in any find_method at src/gen/Metamodel.pm:925␤ in block at /tmp/lAGj1mBa1s:1␤␤»…
..niecza v24-23-g0520c7c: OUTPUT«42␤»
TimToady rakudobug
06:59 uvtc left 07:05 benabik left 07:07 b1rkh0ff left 07:11 wk joined 07:19 b1rkh0ff joined 07:55 fgomez left, fgomez joined 08:01 FROGGS_ left
moritz labster: whatever you prefer :-) 08:10
08:11 pupoque joined, quester left 08:17 krunen joined 08:23 pupoque left 08:25 sevin left 08:29 pupoque joined 08:34 daxim joined 08:36 domidumont joined 08:40 sqirrel joined 08:47 domidumont left 08:49 domidumont joined 08:50 fhelmberger joined 09:01 pupoque left 09:04 thou left 09:08 kresike joined
kresike hello all you happy perl6 people 09:09
sorear o/ 09:13
nwc10 masak: www.bbc.co.uk/news/world-europe-21456388 # now Germany 09:25
09:34 not_gerd joined
not_gerd o/ 09:34
09:35 labster left
daxim "tainted"? is it more than an untruthful labelling problem? 09:37
not_gerd sorear: Javascript has some pretty serious flaws, among them scoping and the object system
daxim work-arounds: coffeescript compiler and joose
not_gerd in particular, the pseudo class-based layer on top of the internal prototype-based system does not come with a decent story of how to do code-reuse/object extension
nwc10 daxim: it's mostly the implications of an untruthful labelling problem - if it's not what it says it is, what else is wrong with it? 09:38
not_gerd of course you can provide your own mechanisms on top of it, but they'll be a bit clumsy and non-standard
huf coffeescript has real scope now? 09:39
nah, still broken 09:40
09:45 dakkar joined 09:48 marloshouse left
jnthn morning, #perl6 09:54
diakopter hi
not_gerd good morning 09:55
jnthn
.oO( what's people's beef with horsemeat... :P )
09:57
sjn jnthn: that's just people making asses out of themselves :) 09:59
well, asses or donkeys. not sure 10:05
masak good forenoon, #perl6 10:06
moritz \o masak
sorear good morning jnthn
not_gerd wrote a mini-rant about Javascript targetted at sorear 10:10
jnthn morning, sorear o/ 10:11
arnsholt Wow. Working with Unicode in Python is a massive pain
nwc10 whyso? 10:12
moritz arnsholt: python2 or 3?
nwc10 This is in Python 2, or .. snap
not_gerd bye, #perl6
10:13 not_gerd left
masak huf: it's easy to get real scope everywhere, even in vanilla JavaScript. just invoke an anonymous zero-arg function inside every block. ;) 10:13
sorear ignores it
huf masak: sure sure :) 10:14
or oozing "let", if it's a recent enough js :)
sorear *sigh* 10:15
masak moritz: why doesn't the eject symbol render properly in the irc logs?
diakopter does in my font 10:16
arnsholt moritz: Python 2
moritz r: 1 1
p6eval rakudo 8369e6: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/VX59Wa9kB_:1␤------> 1 ⏏1␤ expecting any of:␤ postfix␤ infix or meta-infix␤ infix stopper␤ statement end␤ statement modifier␤ statement modifie…
diakopter wait nm, it doesn't anhymore 10:17
nwc10 isn't Python 3 meant to (re)solve most of the Unicode pain?
arnsholt nwc10: At least in my Python this doesn't work properly: print u"hvæt!"
moritz masak: seems like a very recent regression
diakopter it worked at one point
masak aye.
arnsholt Yet another pain point along with the others
10:21 SamuraiJack left 10:22 marloshouse joined 10:36 topo left 10:45 salv0 left 10:59 erkan joined, erkan left, erkan joined
nwc10 morepypy.blogspot.co.uk/2013/02/ann...-ruby.html -- Classes are mostly written in Python. 11:21
11:31 FROGGS joined 11:33 MikeFair___ joined 11:34 MikeFair_ left 11:35 stevan_ left 11:52 clkao left 12:22 census joined 12:26 census_ joined 12:27 census__ joined 12:28 census left 12:30 clkao joined 12:40 census_ left 12:42 SamuraiJack joined 12:46 stevan_ joined 12:49 SamuraiJack left 12:50 stevan_ left 12:58 Targen left 13:21 skids left
daxim r: class MyFoo {} sub quux(@array[MyFoo*]) {} my $foo = MyFoo.new; my $bar = MyFoo.new; quux($foo, $bar); 13:25
p6eval rakudo 8369e6: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/rc3JGZ0TD1:1␤------> class MyFoo {} ⏏sub quux(@array[MyFoo*]) {} my $foo = M␤ expecting any of:␤ statement list␤ horizontal whitespace␤ postfix␤ infix or m…
FROGGS r: class MyFoo {}; sub quux(@array[MyFoo*]) {}; my $foo = MyFoo.new; my $bar = MyFoo.new; quux($foo, $bar); 13:27
p6eval rakudo 8369e6: OUTPUT«===SORRY!===␤Unable to parse expression in constraint; couldn't find final ']'␤at /tmp/sW5pEJ7RvB:1␤------> class MyFoo {}; sub quux(@array[MyFoo⏏*]) {}; my $foo = MyFoo.new; my $bar = ␤ expecting any of:␤ statement …
FROGGS r: class MyFoo {}; sub quux(@array[MyFoo]) {}; my $foo = MyFoo.new; my $bar = MyFoo.new; quux($foo, $bar);
p6eval rakudo 8369e6: OUTPUT«Nominal type check failed for parameter '@array'; expected Positional but got MyFoo instead␤ in sub quux at /tmp/u0VbAX_a14:1␤ in block at /tmp/u0VbAX_a14:1␤␤»
13:28 FROGGS left
[Coke] r: say "good news, everyone!" 13:29
p6eval rakudo 8369e6: OUTPUT«good news, everyone!␤»
[Coke] . o O (no, there is no actual good news. carry on.)
jnthn @array[MyFoo] actually parses as @array [MyFoo] which means "take an array, unpack it, and make sure it has a single element of type MyFoo" 13:32
13:32 betterwo1ld left 13:33 betterworld joined 13:34 dukeleto left, dukeleto joined
moritz which you'd all know if you'd read my latest blog post :-) 13:35
daxim what's the syntax for "any number of MyFoo"? 13:45
specific: each one must isa MyFoo?
pmichaud daxim: in a signature? not sure there is a syntax for that. 13:46
huf does MyFoo @array mean anything? :)
that specifies the type of the @array, right? 13:47
pmichaud the constraint on elements in the array
(the type of the array would be Array of MyFoo)
jnthn You can write MyFoo @array. However, it's a nominal type check. 13:48
huf can you have something other than Array with sigil @, and how do you constrain a signature to that? :)
jnthn This means that you must pass in something *declared* as a MyFoo @x
pmichaud sigil @ implies Positional 13:49
Ulti what about pushing onto that array afterwards?
huf pmichaud: aha!
jnthn *@a where @a >>~~>> MyFoo # one way to take an arbitrary number of arguments that must be all of type MyFoo 13:50
pmichaud also means that @a is not lazy :-)
jnthn It'd best not be if you're gonna do that :)
13:50 kaleem left
pmichaud well, it won't be after doing that :) 13:50
jnthn Well, it can be lazy, but it'd better be finite :)
huf it would be weird to die with an invalid param error in the middle of the sub :D
daxim aha, a where thing 13:51
I like that
jnthn In general, the rule is that if you're going to do typed arrays in the signature, you need to pass typed arrays as the parameter.
pmichaud s/parameter/argument/
jnthn uh, sorry, yes :)
dalek rl6-roast-data: 4d58af9 | coke++ | bin/rakudo.sh:
some spectests cause rakudo to require LANG
13:56
[Coke] hopefully that will help rakudo test clean. 13:58
moritz hopes so too 13:59
Ulti am I right in thinking there is a mechanism in Perl6 to specify a type which means castable to a type? or did I just imagine this? 14:00
so something has to be castable to an Int, do you just specify the type (Int) in the signature?
pmichaud I'm not aware of a "castable to type" constraint that doesn't involve 'where' 14:01
Ulti ok I must have just daydreamed this 14:02
moritz no
there's a spec for that
it's just NYI
pmichaud there's a spec that says "cast to Int"
moritz erm, wait, no
I'm confused
pmichaud but not "castable to Int"
moritz right, you can say Cool(Int) (or was it the other way round) for 'accept Cool, cast to Int' 14:03
but that's not the same as 'castable to Int'
Ulti right
14:03 dukeleto left
pmichaud well, one could probably create a subset type 14:03
14:03 dukeleto joined
pmichaud subset Intable of Any where .... 14:04
but I guess that still involves 'where' :-)
moritz where { (try .Int) ~~ Int }
Ulti I think I've probaly confused the cast to Int for a test 14:05
or at least some mythical shadow type for every type which means the type of things that can be casted to the partner type
I think if I saw some code where someone had created Intable Realable Stringable etc. I'd want to kill them 14:06
pmichaud that makes them Dieable, I guess.
Ulti especially in a language thats already dynamically typed by default 14:07
haha
Sackable
14:07 PacoAir joined
pmichaud perlcabal.org/syn/S02.html#Coercive...clarations 14:07
14:08 ObseLeTe joined
PerlJam good $localtime sixers 14:09
Ulti yeah that's what I had read, sorry for the confusion
pmichaud Ulti: no problem, we all get confused. :)
I better get back to housecleaning :-/ bbl 14:11
Ulti im assuming within a given class heirarchy you dont have to write explicit coercion routines? so if my wide type is a parent of the narrow type? 14:12
moritz well, if an object already meets a type constraint, there will be no coercion. 14:13
PerlJam Ulti: if you want you Num to coerce to an Int via rounding rather than truncation, you'll probably want to be explicit about that :) 14:14
Ulti well the child might have some more data that needs to be initialised to some default for example 14:15
PerlJam s/you/your/
Ulti right
moritz well, that's from wider to narrower
so the wider object doesn't meet the narrower type constraint
14:16 bluescreen10 joined
Ulti erk bbl have to meet someone at the train station! 14:17
masak also, "erk bbl" would make a good name for a punk band. 14:19
14:19 tianhua left 14:21 Psyche^ joined
dalek rl6-roast-data: 9d02ee4 | coke++ | README:
Explain why the test harness might not be green.
14:22
jnthn Darn unenvironmental test harness...
14:24 SamuraiJack joined
[Coke] there, that hopefully helps to answer why rakudo hasn't been passing its test suite. 14:24
14:24 Patterner left, Psyche^ is now known as Patterner
jnthn [Coke]++ 14:24
14:24 slavik1 left 14:25 slavik1 joined 14:28 Targen joined
masak rn: $_ = 'foo'; /(o+)/; say $0 14:31
p6eval rakudo 8369e6, niecza v24-23-g0520c7c: OUTPUT«Any()␤»
masak my expectations here are 'oo'
any second opinion?
jnthn m
masak that's a very short opinion. :P 14:32
jnthn rn: $_ = 'foo'; m/(o+)/; say $0
p6eval rakudo 8369e6, niecza v24-23-g0520c7c: OUTPUT«「oo」␤␤»
masak oh :)
thank you. :>
PerlJam masak: though, that's a subtle problem if it tripped you up :) 14:33
masak yeah, I tend not to care about the 'm' in 'm//'
it works in a lot of places without it.
PerlJam maybe make // in sink context DTRT or carp about it 14:34
masak rn: $_ = 'foo'; say "huzzah!" if /o+/
p6eval rakudo 8369e6, niecza v24-23-g0520c7c: OUTPUT«huzzah!␤»
masak ...for example.
also DTRT in grep.
jnthn Boolification triggers it to match. 14:35
(in the grep case)
(and the if one)
mebbe sink should also :)
masak PerlJam: sink context sounds like an interesting venue. but I almost wrote /.../ or die "won't match!";
...but I guess that's boolean context ;) 14:36
14:36 slavik1 left, slavik1 joined
jnthn rn: $_ = 'foo'; /o+/ or die "painfully" 14:36
p6eval rakudo 8369e6, niecza v24-23-g0520c7c: ( no output )
jnthn Indeed.
moritz note that $str.split(m//) doesnt do what you think 14:37
it first calls the m// on $_, and then passes the Match object to $str.split
14:39 sergot joined
sergot hi ! o/ 14:39
masak sergocie! \o/ 14:40
14:40 slavik1 left, slavik1 joined
sergot masaku \o/ ! 14:41
masak moritz: I... I'm already thinking it does that. :)
jnthn o/ sergot
14:46 dukeleto left
sergot \o jnthn 14:46
14:46 dukeleto joined 14:56 ObseLeTe left
pmichaud /o+/ is a Regex, m/o+/ invokes a Regex on $_ 14:58
so $str.split(m//) does exactly what I think :-) 14:59
15:00 wk left
masak pmichaud: yes, exactly ;) 15:00
pmichaud in the grep case, matching is caused by the fact that the argument to grep is a matcher :-)
masak well, depends if you do { /.../ } or /.../ 15:01
pmichaud it's not boolification that does it there, it's .ACCEPTS (or ~~ )
PerlJam I think it's more a case of "different things should look different". // vs m// puts an aweful lot of stock in that "m" :) 15:02
15:02 kaleem joined
masak PerlJam: well, it gets tricky. a fiver might expect 'foo' ~~ m/oo/ to do something sensible, but it doesn't. 15:04
15:04 stopbit joined
masak (because the 'm' does one matching and the '~~' does another) 15:04
PerlJam right. That's the sort of thing that Perl 6 should provide helpful suggestions for (just like it already does for other p5isms) 15:05
pmichaud std: $_ = 'foo'; /oo/; say $0 15:06
p6eval std 7551b8f: OUTPUT«ok 00:00 44m␤»
masak #perl6 /oo/
pmichaud oh, ouch. 15:07
masak pmichaud: presumably it would be caught by an (already planned) "value in void context" warning...
15:07 CharellKing joined
pmichaud gist.github.com/pmichaud/4953406 # ouchies in S05 15:08
masak oh, ouch.
S05 totally isn't aware of this problem :)
moritz++ has been talking about it for *years*. 15:09
jnthn r: my $string = "123"; if $string ~~ m/^ \d+ $/ { say 42 }
p6eval rakudo 8369e6: OUTPUT«42␤»
jnthn r: my $string = "abc"; if $string ~~ m/^ \d+ $/ { say 42 }
p6eval rakudo 8369e6: ( no output )
pmichaud fwiw, S05 says that /.../ should match immediately in void context 15:10
(sink context)
which would've resolved masak++'s issue above
masak \o/
masak submits rakudobug
pmichaud S05:2271
jnthn Note that the two I just showed do work because (a) ~~ places the LHS into $_ before evaluating the RHS, and (b) because Match has multi method ACCEPTS(Match:D: Any $) { self } 15:11
(a) feels reasonable and (b) feels like it probably gets us in trouble somewhere else :)
pmichaud oh, interesting. 15:12
well, smart matching against a Match object returns the Match object. Works for me.
masak yeah, I was about to suggest that as a solution, so... wfm too :P
CharellKing it's intersting
pmichaud if you want to match against the string value of the match object, use ~
jnthn Hm, I can't immediately think of a case where (b) is a problem. 15:13
pmichaud right
masak CharellKing: greetings. who are you in our midst? and how can we serve you?
pmichaud returning the match object seems less problematic to me than other options
jnthn *nod*
pmichaud Any Match match success X 15:14
so S03 already explicitly lists this, also :)
jnthn \o/
It's almost as if it's designed or soemthing :)
pmichaud almost.
:)
back to housecleaning... :-/
15:17 alec__ left 15:29 kaare_ joined 15:31 CharellKing left 15:36 stevan_ joined 15:37 SunilJoshi joined
[Coke] Anyone else seeing this failure? 15:44
S32-io/IO-Socket-INET.t 21 - successful received binary data
15:45 CharellKing joined
census__ huf: are you around? 15:48
15:49 spider-mario joined 15:50 dukeleto left, dukeleto joined
masak shadow.cat/blog/matt-s-trout/names-and-numbers/ -- mst++ 15:51
jnthn There's a .cat TLD?! :)
15:55 SamuraiJack left, skids joined
masak WHY HAVEN'T I BEEN TOLD 15:56
[Coke] .ye .sd .id .net .uk .no ? 15:57
masak :P 15:58
mst jnthn: for the catalan language and culture 15:59
kresike bye folks
15:59 kresike left
mst jnthn: hence why we sponsored barcelona.pm to translate some moose stuff into catalan 15:59
jnthn mst: oooh :)
masak .oO( in Perl 6 you just do $english.Cat ... ) :P 16:03
[Coke] r: say 3.cat 16:04
p6eval rakudo 8369e6: OUTPUT«No such method 'cat' for invocant of type 'Int'␤ in block at /tmp/wYNqQVUFOe:1␤␤»
[Coke] r: say "a".cat
p6eval rakudo 8369e6: OUTPUT«No such method 'cat' for invocant of type 'Str'␤ in block at /tmp/LaCFvH3I4A:1␤␤»
jnthn has now actually read the post :) 16:05
mst++
sjn heh 16:06
16:06 sizz joined
sjn seems the name-and-number thing won't go away 16:06
16:07 sizz_ left
masak r: use MONKEY_TYPING; augment class Str { method Cat { "un" } }; say "a".Cat 16:07
p6eval rakudo 8369e6: OUTPUT«un␤»
sjn Why not just rename "Perl5 version 16" to "Pearl version 16" :-P
nwc10 and google says "did you mean"... :-) 16:08
masak sjn: because the binary is called 'perl'.
mst sjn: I'm suggesting 'Pumpkin Perl version 16' 16:09
sjn: which has the same effect, except without needing to rename the binary or any of the other stupidity associated with every other suggestion I've seen
masak suddenly I'm looking at that proposal, thinking "hey, this could *actually work*"
which hasn't happened with any other proposal up until now. 16:10
[Coke] nwc10: "Pearl version 16" -> pokemon perl. :(
perigrin You'd have to release Diamond v. 16 as well
[Coke] "oh, look, perl finally turned into a pumpkin."
mst++ ;)
atrodo [Coke]: Gotta catch 'em all
masak .oO( gotta bikeshed 'em all ) 16:11
perigrin we already do.
atrodo masak++
mst masak: that was precisely the reaction I was hoping for :) 16:12
perigrin I liked it better when you were trying to brand us with a Veolociraptor
:) 16:13
masak mst: I'm not primarily a fiver, so it's not my call at all. but I like pumpins, and "pumkin perl" rolls easily off the tongue.
TimToady
.oO(use p20;) :)
masak mst: and, it's mostly an *outward* thing, to unconfuse outsiders.
nwc10 wonders what acme makes of www.colorcombos.com/colors/FF9933 16:14
mst masak: precisely
TimToady: oooh, I like that :)
nwc10 that's neither v nor r. That's a feature
masak ...which makes sense, 'cus it's the same outsiders that have a problem with "5 < 6".
nwc10 and leaves q for, well :-) 16:15
pmichaud nqp already lays claim to "q" :-)
TimToady Mind your p's and q's, young man!
nwc10 the rightful owner. ish
masak "Perl 7? p2? I'll *give* you version numbers! look here, I have entirely new *axes* to number!" -- I love you guys. 16:16
jnthn QAST. QRegex. NQP. Gee, I really messed up by not calling it Qmodel... :)
TimToady 6 is about 180° off from q
masak obviously, Qmodel is what you'd use to implement Perl Q. 16:17
Perl 6's evil half-sister. 16:18
jnthn
.oO( I used to be bad at math, but I did a 360 in that! )
masak mwhahaha!
nwc10 and then we get to Perl M and Perl 007? and we're back to the problem we started with?
masak PHP is unintentionally painful. Perl Q knows *precisely* what it's doing when it's causing you anguish and distress. :D
nwc10: not at all, because 007 is octal, so it translates to... um. nevermind. 16:19
nwc10 r: say 007
p6eval rakudo 8369e6: OUTPUT«7␤»
TimToady
.oO(it's possible to have an twin half-sister, but only if your *mother* was evil...)
nwc10 r: say 042
masak std: say 007
p6eval rakudo 8369e6: OUTPUT«42␤»
std 7551b8f: OUTPUT«Potential difficulties:␤ Leading 0 does not indicate octal in Perl 6; please use 0o07 if you mean that at /tmp/4eFVzDIFgW line 1:␤------> say 007⏏<EOL>␤ok 00:00 41m␤»
grondilu what's "Perl Q"??
nwc10 oh righto. I was more expecting what std said
masak is this one rakudobug'd? 16:20
grondilu: we're just having a laugh. ignore us.
grondilu ok
TimToady we *are* a laugh, is more like it
so pity us :)
nwc10 masak: I have no idea. You're the expert
masak lookups
census__ Huf: are you around? 16:21
huf census__: not for you, no. 16:22
census__ huf: I did some learning!!
masak yes: rt.perl.org/rt3/Ticket/Display.html?id=80982
census__ I just wanted to tell you that. Not ask you a question
Thank you.
I found the network tab. And was successful in doing a lot after that.
[Coke] \o/ 16:23
TimToady census++ for taking a growth action, which we all need to do at least occasionally...
masak census__: some learning is indeed cause for celebration. congratulations. I salute you.
census__ thank you masak. i wish huf would feel similarly. i wanted to thank him so much. 16:24
i have some very bad questions sometimes but how computers work.
TimToady well, don't overdo it
masak census__: no need to bother huf if he's not ready.
nwc10 masak: it even has a patch
not that that means that the patch applies. Or still applies, as the case may be 16:25
census__ timtoady: don't learn too much ??
"well, don't overdo it"
masak census__: no, don't overdo it trying to get back to people you annoyed yesterday.
PerlJam census__: learn as much as you can ... just don't blather on about it :)
TimToady you can make someone mad by thanking them too much too
masak "don't be sorry, be quiet!" -- "we're sorry!!!" 16:26
ah, Space Balls. :D
PerlJam tries to golf the thanking reaction ... 16:28
[#perl6] TimToady: "Thank you" for Perl 6! # punctuation is far too subtle here though :)
oops, dunno how that [#perl6] got in there.
TimToady census__: this is an ancient principle: www.biblegateway.com/passage/?searc...ersion=NIV 16:29
masak PerlJam: the punctuation intrigues me.
census__ thank you timtoady
masak PerlJam: so, you're "thankful", are you? :P
TimToady: especially if the blessing is "May my neighbor live in interesting times. May he come to the attention of those in authority." :D 16:32
16:32 kaleem_ joined 16:33 domidumont left 16:34 kaleem left 16:37 orafu joined
TimToady speaking of interesting times, Perl 6 just passed up BBC BASIC on rosettacode; next victim is Haskell, and then Perl 5^W^WPumpkin Perl 16:41
16:42 MikeFair___ left, Targen left, xenoterracide left 16:43 MikeFair joined
masak TimToady++ 16:43
16:44 xenoterracide joined
jnthn BBC BASIC! \o/ 16:44
Gee, it's been almost 20 years since I programmed anything in that...
16:44 xenoterracide left 16:45 xenoterracide joined
masak r: my $pumpkin_perl_birth = Date.new("1987-12-18"); my $perl6_birth = Date.new("2000-07-18"); my $age_of_pumpin_at_p6_birth = $perl6_birth - $pumpkin_perl_birth; say my $when_pumpkin_is_twice_p6s_age = $perl6_birth + $age_of_pumpin_at_p6_birth 16:47
p6eval rakudo 8369e6: OUTPUT«2013-02-16␤»
masak whoa.
that's... the day after tomorrow! :D
I resolve to blog on that day.
au . o O (a blog for overmorrow) 16:48
masak phenny: sv en "övermorgon"?
phenny masak: "tomorrow" (sv to en, translate.google.com)
masak phenny: no, it means "day after tomorrow" :) 16:49
16:51 thou joined, dukeleto left 16:52 dukeleto joined 16:56 Targen joined, wk joined 17:05 daxim left 17:09 Targen left
TimToady Never put off till tomorrow that which you can put off till the overmorrow... 17:12
17:12 mtk joined
TimToady wonders if "tomorrow" is a shortening of "the morrow"... 17:13
no, OE could use 'to' as a dative meaning 'at' or 'on' 17:15
census__ french has a word for this, for example: le lendamain. 17:16
maybe some cultures like to do things the day after tomorrow? :)
TimToady asatte is 'day after tomorrow' in Japanese
PerlJam I read that as "asshat" at first. 17:17
pmichaud wishes he hadn't visualized that. 17:18
TimToady wishes pmichaud hadn't made him visualize that :P 17:19
jnthn is glad it was covered by a hat
TimToady you just had to cap it, didn't you?
pmichaud oddly, I doubt it comes out on top. 17:20
TimToady wanders off to the shower without a shower cap of either sort... & 17:21
17:21 djanatyn left
PerlJam and you don't want to know what comes out on bottom. 17:21
masak a hat, obviously. 17:26
17:29 kaleem_ left 17:31 kaleem joined 17:32 domidumont joined
census__ english-speaking countires are more uptight and don't do things the day after tomorrow? is that the lesson to be learned? 17:33
jnthn I'd answer that but...mañana. 17:35
huf "day after tomorrow" is a word, as words go i english. 17:36
english likes to write words with spaces inside
17:37 Shozan is now known as SHODAN 17:38 Chillance joined
jnthn aye, making for confusion over whether it's "I shot two holes in one at golf" vs "I shot two hole in ones at golf" 17:39
17:39 kaleem left
huf :) 17:39
census__ huf = day after tomorrow is not in the direction 17:43
huf that made no sense
but maybe you meant dictionary 17:44
en.wiktionary.org/wiki/day_after_tomorrow
17:45 FROGGS joined 17:46 djanatyn joined
masak jnthn: that one *is* tricky. 17:50
jnthn masak: iirc, Pinker addresses it in one of his books 17:51
PerlJam nah, there's just a spelling problem ... "I shot two hole-in-ones at golf"
masak jnthn: yes, it feels like something Pinker would address :)
typical lexicalization.
jnthn: prolly "The Language Instinct". 17:52
PerlJam: that thought crossed my mind, too.
jnthn PerlJam: That's great apart from www.bbc.co.uk/news/uk-england-derby...e-20779806 :)
Which spells it with hyphens but still puts the s in the other place 17:53
huf what if all of these are correct?
i know we lose the ability to correct people who do it "wrong", but ...
there's so many other ways to do that
masak ..."mothers-in-law", "attorneys general"... :)
PerlJam "correct" doesn't matter as long as the idea is communicated effectively.
masak PerlJam: well, yeah. but it becomes a slippery slope. 17:54
huf PerlJam: but how do you communicate that effectively? :)
moritz PerlJam: somehow teachers always disagree with that
PerlJam That's all words are anyway ... a vehicle for conveying ideas from one brain to another
masak PerlJam: if we have *no* correction, ever, then communication becomes... difficult...
huf PerlJam: i think it's actually more suited to syncing two brains
live conversations are often like sending diffs around
masak heh.
huf++
huf hence real live conversations are always made of awful antigrammatical fragments 17:55
now a linguist better correct me ;)
PerlJam "antigrammatical" is an odd word.
masak all of you should read the later Wittgenstein.
huf i know. i made it up to mean "more than ungrammatical"
masak he talks about this.
huf or whatever the usual word is ;)
masak 'The later Wittgenstein rejected many of the conclusions of the Tractatus, arguing that the meaning of words is constituted by the function they perform within any given language-game.' 17:56
moritz wonders how masak and himself keep in sync, considering that we don't send more diffs than the others here in the channel
PerlJam huf: but they /are/ grammatical. It's just that the normal rules of grammar have been temporarily suspended in favor of more local rules.
huf :)
ah yes
census__ i did not say wikipedia 17:57
i meant a webster's dictionary
huf you said "direction"
and i did not paste wikipedia.
masak moritz: I can only speak for myself, but I've seen you react to so many situations on this channel, that I can often (partially, at least) simulate and predict them.
huf you've got moritz checked out in your own head
masak moritz: this is distinct but not all that different from how I can simulate good AFK friends. 17:58
17:58 zby_home left
masak huf: I most definitely do. 17:58
and he has a copy of me.
s/copy/clone/
PerlJam masak, moritz: the two of you are simulations of each other?
:)
masak yup :)
well, no.
we haz simulations of each other. 17:59
huf "haz" :D
17:59 dakkar left
huf hazing has been prohibted, no? 17:59
PerlJam It's the whole mimicry things that's hard-wired into our brains.
[Coke] oh, duh. I can nominate TPF to get matching donation money from $DAYJOB.
PerlJam Sometimes we let it loose, other times we keep it locked up.
masak PerlJam: like this: en.wikipedia.org/wiki/Mirror_neuron 18:00
PerlJam yes.
masak awwww! en.wikipedia.org/wiki/File:Makak_n...tation.png 18:01
18:01 SunilJoshi left
huf heh 18:01
PerlJam Mimicry is the basis of Hofstadter's work in Fluid Concepts and Creative Analogies.
masak the book is now on my (too long) Amazon wishlist. 18:02
geekosaur .oO { masak neonatal imitation? } 18:03
huf better than prenatal 18:04
[Coke] speaking of amazon wishlists, have you crushed my dreams yet? 18:06
18:09 Patterner left
masak working on it. 18:11
as we speak.
18:12 rindolf joined
rindolf Hi all. 18:12
masak rindolf: greetings, earthling.
rindolf masak: greeting from the Q Continuum. 18:13
masak: how's life on planet Earth?
18:14 Psyche^ joined, Psyche^ is now known as Patterner
masak linear. 18:14
I have to travel *forwards* in time, one second per second. so boring. 18:15
moritz maybe it's just your perception of time that's linear 18:16
it could well be that your speed through time varies, and occasionally goes backward 18:17
but since your brain also goes backwards through time, you can't make any memories of it
18:18 spider-mario left
moritz the real question isn't whether you can travel through time, but whether you can travel through time at a different rate than your surroundings 18:19
rindolf Heh. 18:20
I think time is nature's way of progressing from the somewhat-imperfect to the somewhat-less-imperfect. 18:21
Anyway, what's new in the Perl 6 world?
I skimmed over chromatic's "I'm quitting" message. 18:22
moritz oh, is he quitting again?
moritz ignores that troll
masak rindolf: this one www.modernperlbooks.com/mt/2013/02/...arrot.html ?
PerlJam It wasn't so much "I'm quitting" as "Parrot is Dead"
masak rindolf: it isn't really him quitting. he quit Parrot long ago.
PerlJam (I mean, he'd already quit) 18:23
rindolf masak: ah.
masak rindolf: I don't really see how Parrot affects the progress of Perl 6 one way or another at this point.
rindolf: all I can say is a BIG *phew* that we are at the point where it doesn't affect the progress of Perl 6 one way or another.
rindolf masak: ah, OK. 18:24
PerlJam rindolf: so ... what's new is that we've had to endure people asking about Perl 6 because of chromatic's post :)
rindolf masak: well, anything more concrete like code?
PerlJam: heh, heh.
masak rindolf: yes.
rindolf: the nqp-jvm port.
is coming along fine.
jnthn++
18:24 jdv79 left
diakopter wonders if I should backlog 18:25
nwc10 rindolf: git clone git://github.com/jnthn/nqp-jvm-prep.git && cd nqp-jvm-prep && make test
[Coke] and recent parrot talk has poke some people to see if we can perhaps trim parrot down a bit to make it more efficient for rakudo.
jnthn Most significant news there is that the regex compiler porting is currently in progress.
18:25 anuby left 18:26 anuby_ joined
PerlJam [Coke]: did you see my query about the upcoming Parrot release on #parrot? 18:26
jnthn I've ported just about all the stuff in the regex compiler I can without having to sort out the backtracking. :) 18:27
nwc10 who needs backtracking?
masak diakopter: today's backlog is Safe For Blood Pressure. :) 18:28
nwc10 may contain bad puns 18:29
TimToady if there are puns, they are by definition bad
18:29 Patterner left 18:31 Psyche^ joined, Psyche^ is now known as Patterner
TimToady 's blood pressure is quite a bit lower than earlier this week, 118/84 at the moment 18:32
TimToady hit 140/98 at the Dr's office
18:33 proller_ joined
diakopter Dr's offices will do that to you 18:34
18:34 Patterner left 18:39 kst left
diakopter no one's used the named Perl 0 ? 18:40
18:42 Psyche^ joined, Psyche^ is now known as Patterner
rjbs Perl history in brief, by Larry Wall: 18:44
Perl 0 introduced Perl to my officemates.
masak had the same thought :)
diakopter oh
jnthn: I did a one-char nqp-jvm patch; is it right? 18:45
18:46 uvtc joined
jnthn diakopter: Yes, looks right to me. 18:48
diakopter oh goody; confidence++
18:53 arlinius left
pmichaud PerlJam: (parrot release) fwiw, NQP is currently tied to Parrot 4.10.0, and I doubt we'll bump it this month. 18:58
so a Parrot 5.1.0 release (or the lack of one) isn't likely to affect Rakudo/NQP much. 18:59
moritz pmichaud: fwiw I have an nqp branch that makes nqp build with a prefix (or build dir) that contains a space, but it requires a newer parrot 19:02
might be worth bumping the version
pmichaud that would be worth a bump, yes.
19:02 not_gerd joined
moritz I haven't managed to build rakudo yet with a spacey prefix 19:02
dalek p: 8282ac5 | moritz++ | tools/lib/NQP/Configure.pm:
Small preparation to allow paths with spaces
19:16
p: ae3b47d | moritz++ | tools/ (2 files):
more fixes to allow spacey paths
p: 1db6167 | moritz++ | tools/ (2 files):
Merge remote-tracking branch 'origin/spacey'

This enables NQP to build with source path and/or prefix containing spaces, given a sufficiently new parrot (RELEASE_5_0_0-8-g6ab9fdc). On older parrots, nothing should be broken. I hope. (Famous last words).
19:18 stevan_ left 19:21 japhb_ joined 19:26 fhelmberger left, sqirrel left
rindolf TimToady: hi, here? 19:31
rjbs: hi, did not know you were here. 19:32
19:32 FROGGS left
rjbs I blend in. 19:32
19:33 arlinius joined
nwc10 does it blend? :-) 19:33
19:34 mtk left
uvtc He speaks a dozen languages. Knows all the local customs. Has contacts in every town from here to the Sudan. 19:35
rindolf uvtc: heh.
uvtc: nice Indiana Jones reference.
not_gerd well, we knoe how that one worked out ;)
^know
masak we do? :) 19:42
19:42 mtk joined 19:43 Gruber is now known as Grrrr
TimToady well, we know how well it worked out for the people who got "ark welded" anyway 19:43
masak thoroughly enjoys reviewing t1 solutions
masak just wrote "The whole program is really building up to that moment. And it is clearly a Perl 6 moment." :) 19:46
19:47 mtk left, mtk joined, mtk left
moritz sounds like a line that inckes a grammar which does all the rest :-) 19:48
masak good guess :)
no, it constructs a list of Bool-returning callables, and then does 'if all @findings>>.()' on them :) 19:49
that's just... *kisses fingertips*
19:50 mtk joined
masak r: my %h1 = foo => 42; my %h2 = %h1.clone; say %h1 === %h2; say %h2.perl 19:50
p6eval rakudo 8369e6: OUTPUT«False␤("foo" => 42).hash␤»
uvtc masak: se se bon! manifiq!
19:50 mtk left
masak (one contestant claimed cloning doesn't work for hashes. seems to work for me) 19:50
(maybe he just expected deep cloning or sump'n) 19:51
19:51 mtk joined
masak uvtc: surely it's "ça c'est bon!"? :P 19:52
uvtc masak: heheh. Ugh, yes, I'm terrible at spelling french. 19:53
Apologies to my friends across the pond, and up in the great white north too. 19:54
masak "The French don't care what they do actually, as long as they spell it properly." -- Prof. Higgins, "My Fair Lady"
19:55 rindolf left
masak hm, s/spell/pronounce/, dang :) 19:55
but French has the advantage that it's spelled just like it reads and it's pronounced just as it's spoken :P
census__ masak :) 19:56
quick perl 5 question please??
19:56 fhelmberger joined 20:01 fhelmberger left
rjbs census__: You want a quick perl 5 question? Sure! How does the * sigil work? 20:03
TimToady poorly 20:04
rjbs ba-dum CHING
not_gerd my guess would be sacrificial magic and duct tape 20:05
census__ I am having difficult reading in data from a .txt for some reason.
My script is: scsys.co.uk:8002/230476?ln=on&t...Format+it!
Error: Backslash found where operator expected at jsontest5.pl line 27, near "qw/givenn ame surname birth_place birth_year} = map { /\" Possible unintended interpolation of @terms in string at jsontest5.pl line 32. 20:06
masak census__: you really shouldn't ask Perl 5 help questions here.
census__ oh sorry. someone mentioned it might be ok. i'm sorry
diakopter this is around the 5th time you've been told it's not ok
masak census__: you're missing a '/' after 'birth_year'
rjbs This is definitely not a "quick question" with that many lines. But the problem is you're missing a temrinator.
Line 27.
"quick perl 5 question" is "what's the built-in for log again?" 20:07
census__ @args{ qw/givenname surname birth_place birth_year/} = map { / \s/ ? qq["$_"] : $_ } split /,/, $line;
rjbs Try #perl or #perl-help
census__ ?
masak census__: basically, disregarding this channel's OT policy and asking Perl 5 questions is impolite.
census__: we're *not* kicking you yet, because we're nicer than you deserve.
census__ Ok. I am sorry. I apologize.
yes you are masak :)
you are very nice :)
you warn me even :)
moritz masak: gist.github.com/moritz/4955785 # that's how far I got with t1
moritz considers putting "No Perl 5 questions" in the /topic, but I guess it's too long already :-) 20:08
masak better not. 20:09
dalek href="https://perl6.org:">perl6.org: b4ca42b | moritz++ | source/community/irc.html:
[irc] document that Perl 5 question are not really welcome
20:10
rjbs I will henceforth direct all such questions elsewhere, to channels where I am not. :) 20:11
uvtc census__: maybe also try Perlmonks.org (though be sure to search first before asking, as your question may have already been asked before). See also perl-tutorial.org/ .
rjbs So, let's say I want to port a library or two to p6. I will want tests. What's the place to look to read about writing tests (or a whole library)? I may have a tolerable grasp on finding language docs atm. 20:14
masak rjbs: hm, I'm not aware of any tutorial. 20:15
rjbs: but the spectests are a treasure-trove of good examples, at least.
rjbs: so are many modules' tests.
jnthn rjbs: wiki.perl6.org/Create%20and%20Distr...%20Modules is somewhat helpful
rjbs Okay. There's a Test::More-ish library? And do you use prove?
masak hm, it strikes me that probably moritz has written a blog post about writing tests at some point ;) 20:16
rjbs: yes and yes. we call our Test::More 'Test' :)
rjbs No "More"? Is it enough?
masak yes. 20:17
it covers about the same as CPAN's Test::More.
the times that it isn't enough, I usually whip up a local sub or two.
moritz + a bit of Test::Exceptions
rjbs I see test files in ./t with no shebang and named .t; using some hack on prove to run these, or? 20:18
alester Is prove still prove?
diakopter prove is the perl 5 prove
[Coke] prove -e ./perl6 or so. 20:19
moritz I think I wrote a bit about testing, but not really anything new for somebody who knows Perl 5 testing very well
rjbs has done a little Perl 5 testing.
moritz on the p6 advent blog, iirc
oh, and there's S24 of course 20:20
rjbs [Coke]: Does this mean that I'll probably want to be developing under a p6 build directory? Or, maybe better: what's the installability of (say) Rakudo?
moritz rjbs: just run 'make install'
rjbs: it installs into ./install per default
rjbs: so you add $rakudo_source_dir/install/bin to $PATH
and then you're good
if you install panda, it also tells you which site/bin to add to $PATH 20:21
[Coke] (or you can install it someplace like ~/perl6, or..)
rjbs Hooray, and pack clearly works enough to scratch the surface. 20:22
Maybe I'll play at porting ZMachine::Codec. Thanks.
moritz (rakudo installs in the same prefix dir as the parrot it uses)
20:26 domidumont left
TimToady star: gist.github.com/TimToady/4956142 20:32
p6eval star 2012.12: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/OA0F3TBG2w:1␤------> https⏏://gist.github.com/TimToady/4956142␤ expecting any of:␤ argument list␤ postfix␤ infix or meta-infix␤ infix stopper␤ statemen…
TimToady star: gist.github.com/TimToady/4956142 20:33
p6eval star 2012.12: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/8YzVDFn0A6:1␤------> http⏏://gist.github.com/TimToady/4956142␤ expecting any of:␤ argument list␤ postfix␤ infix or meta-infix␤ infix stopper␤ statement…
TimToady well, anyway, there's seems to be an off-by-one error in what fork returns compared to what the child pid returns, if you have a star handy 20:34
here it prints:
I am the proud parent of 17646.
I am 17645. Have you seen my mommy?
jnthn Could you try: print "I am $*PID the proud parent of $pid.\n"; 20:35
I don't think it's off-by-one, I think it's $*PID being cached. 20:36
TimToady ah 20:37
good argument for building in fork, if it's available... 20:38
or for making $*PID call getpid when it's fetched
20:41 bruges left 20:43 bruges joined, arlinius left 20:44 labster joined
labster good afternoon, #perl6 20:45
moritz \o labster
labster o/
So I heard that Perl 7 is coming out, Perl 6 is renaming to Perl OS X 10.0 (Camelia), Rakudo is leaving Parrot forevar, moritz is masak's sockpuppet, and Perl 5 is turning into a pumpkin. Is any of this true? 20:46
moritz labster: hard to tell :-) 20:47
20:47 kaare_ left
atrodo enjoys a good soap opera 20:47
moritz actually I'm masak's schismatic clone, who occasionally misses his fellow clones 20:48
masak I *knew* it!
well, *we* knew it, I guess... 20:49
labster: as someone who has been living in the future for five years, I'm always a little worried when people try to change it. but the current blogo-discussions don't worry me so much. I just keep coding in the future, like I always do. 20:50
labster Well, this episode of #perl6 has had a shocking revelation! 20:51
uvtc [Gasp!]
masak it was the butler!
moritz
.oO( Der Mörder ist immer der Gärtner )
20:52
uvtc Enquiring minds have got to know!
masak moritz: "The murderer is always Martin Gardner"? :P 20:53
masak knows a bit too much German...
I would actually get a kick out of a weird sub-genre of detective stories where, on the last page, it always turns out that the murderer is, indeed, Martin Gardner. 20:54
every. single. time.
moritz masak: de.wikipedia.org/wiki/Der_M%C3%B6r...C3%A4rtner
masak "...und der schlägt erbarmungslos zu!" :P 20:55
moritz wonder if that French 5-liner should be our new STDIN vor p6eval
*wonders 20:56
sorear mm Martin Gardner
masak I swear, sometimes German seems to be just Swedish with a funny source filter applied.
moritz www.reddit.com/r/programming/commen..._on_multi/ # Perl 6 reddit submission with surprisingly little trolling 21:07
drove about 2k visitors to my blog yesterday
raiph_++ # reddit submission 21:08
masak not_gerd: hm, plz to link to my newer/cuter blog: strangelyconsistent.org/blog/happy-...ary-perl-6 21:09
21:11 arlinius joined
not_gerd masak: [x] done 21:11
21:15 Timbus left, sivoais left, autumn left 21:17 arlinius left
masak \o/ not_gerd++ 21:20
I didn't even know use_perl was back online.
[Coke] IWBNI if an unknown option to Configure.pl gave you the usage instead of continuing. 21:21
dalek kudo/nom: 1e85ffd | moritz++ | Configure.pl:
[Configure] stop on unknown command line options, [Coke]++
21:23
[Coke] ... that escalated quickly.
moritz feels a tiny bit like au++ right now :-)
masak moritz++ 21:34
moritz: all that was missing is "it's in release X.Y.Z, which went out 30 seconds ago" ;)
uvtc hehehe 21:35
moritz masak: well, time-based releases make that rather hard for me :-) 21:36
at $work I've written several emails along the lines of "$feature you requested two years ago is now testable in our staging environment. Have fun!" 21:37
during the last two weeks or so
being the new dev guy means that my queue isn't overflowing yet, and I can actually get stuff done that's not super urgent 21:38
masak nice. 21:40
deploying on the web is fun. I remember the secret joy in sending email replies with the single word "fixed" to end users. even when the fix was quite involved.
uvtc When I run `perl6 -v`, and it tells me "This is perl6 version 2013.01-117-g8369e63 built on ...", is that sha1sum indicating *rakudo* version? 21:42
masak yeah. 21:43
we have no versions for Perl 6 the Spec yet.
other than "not yet 6.0.0".
moritz wouldn't hurt to have it say "This is Rakudo Perl version ..."
uvtc So, should it instead say, "This is Perl 6, rakudo version ..."?
masak moritz: +1 21:44
geekosaur ultimately should probably be: This is Rakudo version ... for Perl 6 version ..., 21:45
[particle] you might consider listing the spec name, compiler name, and distribution name
[Coke] O_o
[particle] howdy, coke! 21:46
[Coke] pokes the particle mannequin with a stick.
[particle] i found a rare moment to get bored at work, so i dropped by.
[Coke] How you doing, man?
[particle] well, thanks for asking. ready for summer. you? 21:47
21:48 arlinius joined
masak [particle]! \o/ 21:49
[particle] !o!
masak Long Thyme Know Sea! 21:50
[Coke] [particle]: quite well.
[particle] Forget the Queen, God Save Perl 6!
colomon \o 21:52
not_gerd bye, #perl6 22:01
22:01 not_gerd left 22:02 Timbus joined 22:09 skids left
uvtc Is nqp currently able to report its version/most-recent-sha1sum? That is, so that `perl6 -v` could display it along with the one for rakudo and parrot? 22:21
s/one/ones/
22:25 PacoAir left
uvtc Sorry to ask-and-run. Gotta go. o/ 22:32
census__ happy valentine's day! :)
22:32 uvtc left 22:35 mtk left 22:37 Liz_ joined 22:38 Liz_ is now known as lizmat 22:40 mtk joined 22:42 wk left
masak 'night, #perl6 22:42
japhb_ o/ 22:43
census__ good night! 22:44
happy v-day!!
If I leave my computer .for awhile . . . will perl continue to run? 22:55
Or will there be a screen saver and perl will stop running?
(perl any version)
(if a tree falls and we're not there does it still make a noise) 22:56
geekosaur sceen saver does not stop anything running, just prevents interaction 22:57
census__ thank you! :) 22:58
so, i can turn my monitor off and let perl do it's thang?
geekosaur if power management is active the machine might auto-suspend; perl nor any other program has control over that, check your power management settings
census__ where are those?
sorear what OS are you on?
census__ power options under control panel ? 22:59
Windows XP.
IBM Lenovo
T60
geekosaur likely, yes
sorear laptops are a different breed
census__ ok, i'm on a desktop too
geekosaur was going to say, you'd have to check your system; there's little consistency between OSes or distributions thereof
sorear I think most of them will always force-suspend if you close the lid
census__ windows desktop
sorear regardless of OS
census__ i'm runing perl on 2 machines 23:00
on the desktop, i do what?
i'm in power options properites
diakopter probably you don't need to do anything on the desktop if it's old enough 23:01
census__ it is very old
but just to be sure??
diakopter I think you'll need to google that question on your own
I'm surprised the interface is not obvious...
census__ what interface?
may i ask what to put into google? i don't know the techinical term for this concern? 23:02
diakopter the thing you just said you're looking at - power option properties
census__ ah google 23:03
my lover
geekosaur I do not have winxp here and cannot provide any guidance about it 23:04
23:04 geekosaur left, crab2313 joined
diakopter also does not have a 12-year old OS lying around 23:05
23:05 eviltwin_b joined, eviltwin_b is now known as geekosaur 23:06 Rix left 23:10 bluescreen10 left 23:12 Rix joined, benabik joined 23:13 benabik_ joined, benabik left, benabik_ is now known as benabik, arlinius left 23:21 stopbit left
dalek p-jvm-prep: 1005eb4 | jnthn++ | src/org/perl6/nqp/runtime/Ops.java:
Add rxmark op.
23:26
p-jvm-prep: a448939 | jnthn++ | lib/QAST/JASTCompiler.nqp:
Fill out compilation of scan.

Not much use yet since the backtracking logic isn't in place.
p-jvm-prep: 6de9958 | jnthn++ | lib/QAST/JASTCompiler.nqp:
Emit much of the backtrack handling logic.

Doesn't handle the capture stack yet (but we don't have anything that captures yet either). The rest is there, modulo thinkos.
p-jvm-prep: e5eae05 | jnthn++ | lib/QAST/JASTCompiler.nqp:
Fix a thinko in scan, so it actually progresses.

With this, we can do do things like:
   say(('abcdef' ~~ /:i <[de]>F/).Str())
p-jvm-prep: 42778ee | jnthn++ | docs/ROADMAP:
ROADMAP update.
23:28
japhb_ jnthn++
jnthn pmichaud++ # designing QRegex in the first place 23:29
pmichaud: Turns out the mark label stuff translates very nicely to a (native to JVM) tableswitch :)
23:36 skids joined 23:37 proller_ left 23:38 benabik left 23:44 sivoais joined 23:50 erkan left
jnthn 'night, #perl6 23:52
23:59 arlinius joined