»ö« 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.
sorear there will likely be disruptive changes to compile-time class and sub handling, so please don't work on those 00:00
japhb: tentatively two weeks, but very low certainty
japhb sorear, OK, gotcha. 00:01
00:02 lichtkind left
japhb wonders if it's better to put off jumping into niecza until your big merge happens, and Ubuntu 11.10 is out (presumably with a newer mono) 00:02
00:07 nmourey left
sorear japhb: mono post-2.6.7 isn't even in sid yet 00:10
there was epic coordination fail with the Debian Mono packaging and 2.8.x never got into Debian at all; 2.10.x is in experimental now 00:11
japhb sorear, and Ubuntu isn't leading on this one, I take it?
SIGH
sorear personally I just recommend building from source
japhb distro FAIL
jnthn blogged: 6guts.wordpress.com/2011/09/17/this...ot-enough/ 00:12
japhb sorear, am I correct in assuming I should purge all the stuff I just installed? 00:13
sorear japhb: probably would be a good idea
japhb: however I never did it and this hasn't caused a problem yet 00:14
japhb sorear, ah, so you had installed from packages, then installed from source, and it Just Worked?
00:18 lue joined 00:19 packetknife joined
diakopter according to mono's site, latest mono will be in Ubuntu 11.10 00:23
japhb diakopter, excellent news.
diakopter mono-project.com/DistroPackages/Ubuntu
flussence oh crap. I just tried to rebuild niecza and "error CS0006: Metadata file `Kernel' could not be found" 00:26
(using git pull; git clean -dfx; make)
japhb flussence, yep, that's the problem with mono 2.6.7 we've been discussing
flussence I'm on 2.10 00:27
diakopter oh hm
sorear: ^^
flussence .4 to be exact
sorear japhb: yes 00:29
I guess I broke the build somehow 00:30
TimToady mine still builds, but I didn't do a clean
jnthn sleep time & 00:32
japhb o/
diakopter sorear: mine still builds (cygwin), but I didn't do a clean 00:33
TimToady decommuting & 00:37
diakopter decommuting :} & 00:38
00:47 envi joined 00:54 am0c left 00:55 alvis left 01:00 wolfman2000 joined 01:01 woosley joined 01:07 uasi joined 01:10 Limbic_Region joined, jaldhar joined, alvis joined 01:13 packetknife left 01:25 packetknife joined 01:26 packetknife left 01:27 woosley left 01:43 s1n left 01:54 envi_|2 joined 01:55 packetknife joined 01:57 [sbp] joined, s1n joined, packetknife left 01:58 __sri joined, lestaway joined 01:59 z-b joined, pnu_ joined, sorear_ joined, breinbaa1 joined, TimToady_ joined, pjcj_ joined 02:00 russellw left, lestrrat left, _ilbot left, _sri left, envi left, pnu left, araujo left, betterworld left, betterworld joined, ranguard joined, lestaway is now known as lestrrat, araujo joined 02:01 russellw joined, _ilbot joined 02:02 BinGOs joined 02:15 sorear_ is now known as sorear 02:18 s1n left 02:21 wknight8111 left 02:25 packetknife joined 02:31 cotto joined 02:33 s1n joined
sorear niecza: my $*unit = 5; { my $*unit = 10; say CALLER::<$*unit>; } 02:35
p6eval niecza v9-31-g37fcc8d: OUTPUT«5␤»
02:52 woosley joined 02:54 uasi left 02:55 packetknife left 02:57 soh_cah_toa left 03:01 static_perl left 03:03 uasi joined 03:13 uasi left
PerlJam Is there a way to dump an AST ala Data::Dumper? 03:16
sorear $obj.perl is the conventional way 03:17
PerlJam doh ... didn't even think to try that 03:19
03:19 cotto left, am0c joined 03:24 [particle] left
snarkyboojum FWIW - Niecza no longer builds on my env either. 03:34
sorear yeah, I got that. 03:35
woosley perl6: class A{ method a {"a"}}; my $x = &A::a; $x.WHAT.say; my $obj = A.new; say $obj.$x() 03:36
p6eval pugs: OUTPUT«Method␤pugs: Internal error:␤ Invalid sigil "&<"␤Please file a bug report.␤»
..niecza v9-31-g37fcc8d: OUTPUT«Unhandled exception: Unable to resolve method say in class Any␤ at /tmp/7Gqr4e0oil line 1 (MAIN mainline @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2060 (CORE C968_ANON @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2061 (CORE module-CORE @…
..rakudo 58809b: OUTPUT«Any()␤Method 'postcircumfix:<( )>' not found for invocant of class 'Any'␤ in <anon> at src/gen/Metamodel.pm:3029␤ in method dispatch:<var> at src/gen/CORE.setting:630␤ in method dispatch:<var> at src/gen/CORE.setting:640␤ in <anon> at /tmp/8QHFszVFMZ:1␤ in <an…
dalek ecza/serialize: 5b91468 | sorear++ | / (8 files):
Update bootstrap, change stash representation to outsource data, several steps towards runtime-side stash processing.
03:37
sorear woosley: methods are not stored in the package scope &A::
woosley sorear: then how it is stored?
sorear woosley: you can get a reference to A by going though the class scope, as A.can('a')
er, A.^can('a') 03:38
woosley rakudo: class A{ method a {"a"}}; my $x = &A::a; $x.WHAT.say; my $obj = A.new; say $obj.$x() 03:40
p6eval rakudo 58809b: OUTPUT«Any()␤Method 'postcircumfix:<( )>' not found for invocant of class 'Any'␤ in <anon> at src/gen/Metamodel.pm:3029␤ in method dispatch:<var> at src/gen/CORE.setting:630␤ in method dispatch:<var> at src/gen/CORE.setting:640␤ in <anon> at /tmp/C1A9Lhn6zC:1␤ in <an…
03:40 packetknife joined
woosley rakudo: class A{ method a {"a"}}; my $x = A.^can("a"); $x.WHAT.say 03:40
p6eval rakudo 58809b: OUTPUT«Parcel()␤»
woosley sorear: what is Parcel()? 03:41
sorear the type of very raw lists 03:42
rakudo: say (1,2,3).WHAT
p6eval rakudo 58809b: OUTPUT«Parcel()␤»
PerlJam woosley: see S02:2101 03:43
woosley reading S02 Parcel part 03:46
03:46 tokuhiro_ left 03:49 tokuhiro_ joined
woosley rakudo: class A{ method a {"a"}}; my $x = A.^can("a"); $x.perl.say 03:49
p6eval rakudo 58809b: OUTPUT«(a,)␤»
woosley I thought this ^can() would return a boolean at first ... 03:54
sorear A reasonable guess, but wrong.
woosley rakudo: class A{ method a {"a"}}; my $x = A.^can("a"); $x[0].WHAT.say 03:56
p6eval rakudo 58809b: OUTPUT«Method()␤»
sorear rakudo: class A { method a { 1 } }; class B is A { method a { 2 } }; say B.^can("a").perl
p6eval rakudo 58809b: OUTPUT«(a, a)␤»
sorear rakudo: class A { method a { 1 } }; class B is A { method a { 2 } }; say B.^can("a")».(B) 03:57
p6eval rakudo 58809b: OUTPUT«Too many positional parameters passed; got 3 but expected 2␤ in sub METAOP_HYPER_POSTFIX at src/gen/CORE.setting:7230␤ in <anon> at /tmp/RsmdlYby64:1␤ in <anon> at /tmp/RsmdlYby64:1␤␤»
sorear rakudo: class A { method a { 1 } }; class B is A { method a { 2 } }; say B.^can("a").map(*(B))
p6eval rakudo 58809b: OUTPUT«Method 'postcircumfix:<( )>' not found for invocant of class 'Whatever'␤ in <anon> at src/gen/Metamodel.pm:3029␤ in <anon> at /tmp/DX2mej5VSs:1␤ in <anon> at /tmp/DX2mej5VSs:1␤ in <anon> at /tmp/DX2mej5VSs:1␤␤»
sorear rakudo: class A { method a { 1 } }; class B is A { method a { 2 } }; say B.^can("a").map(-> $m { $m(B) })
p6eval rakudo 58809b: OUTPUT«2 1␤»
sorear so [0] will always pick the most derived method 03:58
I think it gets them in nextsame order
04:03 uasi joined
woosley rakudo: class A{ method f {"b"}}; my $x = A.^can("f"); my $obj = A.new; say $obj.$x[0]() 04:04
p6eval rakudo 58809b: OUTPUT«Method 'postcircumfix:<( )>' not found for invocant of class 'Parcel'␤ in <anon> at src/gen/Metamodel.pm:3029␤ in method dispatch:<var> at src/gen/CORE.setting:630␤ in method dispatch:<var> at src/gen/CORE.setting:640␤ in <anon> at /tmp/WMA4s2ZyRW:1␤ in <anon>…
woosley rakudo: class A{ method f {"b"}}; my $x = A.^can("f"); my $obj = A.new; my $k = $x[0]; say $obj.$k() 04:05
p6eval rakudo 58809b: OUTPUT«b␤»
sorear method names must be a variable, not an expression
I think you can also do $obj.$($x[0])()
although $x[0]($obj) would be basically the same 04:06
ideally you should use $obj.$x()
04:07 crakrjak joined, JimmyZ joined
PerlJam $obj."$x[0]"() would also work 04:07
woosley yes, but look like the return value of ^can("") makes it harder ^^
sorear woosley: no 04:08
woosley: method calls are designed to use the return value of can
rakudo: class A { method a { say 1 } }; class B is A { method a { say 2; nextsame } }; B.a
p6eval rakudo 58809b: OUTPUT«2␤1␤»
sorear rakudo: class A { method a { say 1 } }; class B is A { method a { say 2; nextsame } }; my $x = B.^can("a"); B.$x(); 04:09
p6eval rakudo 58809b: OUTPUT«Method 'postcircumfix:<( )>' not found for invocant of class 'Parcel'␤ in <anon> at src/gen/Metamodel.pm:3029␤ in method dispatch:<var> at src/gen/CORE.setting:630␤ in method dispatch:<var> at src/gen/CORE.setting:640␤ in <anon> at /tmp/fEkRyCfI5L:1␤ in <anon>…
sorear oh, NYI
those two lines are supposed to have exactly the same effect
JimmyZ rakudo: class A{ method f {"b"}}; my $obj = A.new; say f($obj); 04:10
p6eval rakudo 58809b: OUTPUT«Could not find sub &f␤ in <anon> at /tmp/4RByo7WuLu:1␤ in <anon> at /tmp/4RByo7WuLu:1␤␤»
woosley that's what I mean... you can not use the return value from ^can
sorear woosley: that's a bug
woosley \o 04:11
04:14 araujo left
JimmyZ rakudo: class A{ method f {"b"}}; say |A.can('f') 04:19
p6eval rakudo 58809b: OUTPUT«f␤»
JimmyZ rakudo: class A{ method f {"b"}}; say (|A.can('f')) #bug? 04:20
p6eval rakudo 58809b: OUTPUT«Could not find sub &prefix:<|>␤ in <anon> at /tmp/sGeO0AjdSQ:1␤ in <anon> at /tmp/sGeO0AjdSQ:1␤␤»
04:24 Limbic_Region left
JimmyZ niecza: rakudo: class A{ method f {"b"}}; say |A.can('f') 04:24
p6eval niecza v9-31-g37fcc8d: OUTPUT«Unhandled exception: Unable to resolve method Capture in class Bool␤ at /tmp/r1LsB4A4_8 line 1 (MAIN mainline @ 5) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2060 (CORE C968_ANON @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2061 (CORE module-C…
04:32 s_mosher joined 04:35 packetknife left, am0c left 04:41 cotto joined 04:53 molaf joined 05:00 donri joined 05:07 [particle] joined, thou left 05:17 thou joined 05:23 daniel-s joined 05:27 thou left 05:33 thou joined
moritz jnthn++ # 6guts.wordpress.com/2011/09/17/this...ot-enough/ 05:36
good morning btw
sorear hi moritz
moritz \o sorear 05:39
05:42 drbean left 05:43 z-b is now known as zb 05:44 satyavvd joined
dalek ecza/serialize: b2b1322 | sorear++ | / (6 files):
Actually implement runtime-side stash handling; improve -L NULL.
05:53
sorear jnthn: in 2007, dons from #haskell got a 16-core box courtesy of uni (he was on the Data Parallel Haskell team) 05:54
snarkyboojum dons went to my uni :) 05:59
sorear snarkyboojum: do you still contact him? 06:00
snarkyboojum as did raster of #e fame :|
sorear :| ? 06:01
snarkyboojum that was supposed to be a :)
sorear ok.
sorear sleep
06:08 orafu left 06:10 orafu joined
cognominal_ jnthn++ 06:12
06:19 DarthGandalf left 06:20 araujo joined, araujo left, araujo joined 06:25 russellw left 06:45 replore left 06:46 JimmyZ left 06:49 Chillance left 06:53 DarthGandalf joined 06:54 Vlavv left 07:00 drbean joined 07:02 wooden joined, wooden left, wooden joined 07:06 thou left, drbean left 07:07 Vlavv joined
snarkyboojum is it safe to assume that nom "passes" S03-operators/minmax.t now? 07:10
it's still in LHF.markdown FWIW - not sure if that file is relevant now 07:11
07:11 wamba joined 07:16 drbean joined
tadzik good morning 07:28
07:29 satyavvd left 07:31 DarthGandalf left 07:36 DarthGandalf joined 07:48 mberends joined
snarkyboojum rakudo: my @a = 1,2,3; say @a.defined; @a = Nil; say @a.defined 07:49
p6eval rakudo 58809b: OUTPUT«Bool::True␤Bool::True␤»
snarkyboojum should the last @a.defined by Bool::False?
07:50 kaare_ joined
mberends jnthn++ # "faster" blog post 07:51
tadzik perl6: say Nil.defined 07:56
p6eval pugs: OUTPUT«*** No such subroutine: "&Nil"␤ at /tmp/d_XjotAEky line 1, column 5 - line 2, column 1␤»
..rakudo 58809b, niecza v9-31-g37fcc8d: OUTPUT«Bool::False␤»
snarkyboojum rakudo: my $a = 5; say $a.defined; $a = Nil; say $a.defined 08:04
p6eval rakudo 58809b: OUTPUT«Bool::True␤Bool::False␤»
tadzik make spectest 1163.76s user 93.29s system 98% cpu 21:11.38 total 08:10
1265 last time I tried
jnthn++ 08:11
snarkyboojum tadzik: this guy has stolen your handle on twitter! :P twitter.com/#!/tadzik 08:14
08:26 xinming left
tadzik oh noes! 08:27
he stole my name! /o\
huf maybe he *is* you now 08:28
tadzik now, I have hair
s/now/no/
I'm pretty sure of that :)
maybe it's me from the future
huf ah i see, he stole your name and you stole his hair 08:29
tadzik yeah, it's a kind of a deal 08:30
I feel a niche for a webservice which will blindly register you an all the common websites so no one can steal your name 08:31
snarkyboojum whatever happened to openid I wonder 08:34
tadzik it tried to solve the problem of having too many accounts by having you to sign up for another account 08:37
and it didn't get much better than that, unfortunately
08:37 mberends left 08:38 replore joined
snarkyboojum how does one go about debugging stuff in src/binder/*.c 08:41
08:41 mberends joined
tadzik I suppose gdb could be some help 08:41
donri some russian stole my handle on last.fm 08:42
i wonder if it means anything in russian ...
08:44 MayDaniel joined 08:46 masak joined
masak \o/ weekend! 08:46
08:46 wamba left
tadzik \/ 08:48
oh, I've had some thoughts about language interoperability today morning 08:49
masak 9 out of 10 masaks recommend trying out Niecza. try it today -- it's free!
tadzik but they make a lot less sense now that I'm sober :/ 08:50
mberends :-)
donri what is the tenth masak's thoughts on niecza then
masak tadzik: "language interpo: doesn't make that much sense when you're sober"
08:50 JimmyZ joined
tadzik anyway, I thought that wrapping every Parrot Object in a Perl 6 Object might be expensive when you're doing lots of it all the time 08:51
donri
.oO(Masak the 10th)
masak donri: the tenth masak kinda grinds his teeth over everything to do with stacktraces and Mono-based errors. but don't listen to him.
JimmyZ masak: irclog.perlgeek.de/perl6/2011-09-17#i_4440987 is it a bug?
masak looks
JimmyZ thanks
tadzik so I thought about some lazy SixModelObject, which will just keep the Parrot object in its insides, and fill in the Perl 6 Object stuff (attrs, methods etc) only as soon as they're needed for something
not sure if that could even work, but that made sense few hours ago 08:52
donri i wonder if a test suite could be generated from the irc logs of p6eval to test for regressions
masak JimmyZ: hm.
JimmyZ: no, I don't think so. signatures are a little DSL with different operators.
08:53 replore left
JimmyZ masak: Do you see the next line? 08:53
masak the niecza one?
JimmyZ masak: I added a ( )
masak: rakudo one
masak oh right. 08:54
rakudo: |4
p6eval rakudo 58809b: OUTPUT«Could not find sub &prefix:<|>␤ in <anon> at /tmp/1pzhJgILkp:1␤ in <anon> at /tmp/1pzhJgILkp:1␤␤»
JimmyZ |A.can('f') vs (|A.can('f'))
masak seems NYI, simply.
JimmyZ why |A.can('f') works? 08:55
:)
masak I was thinking maybe it calls infix:<|> or something.
but I don't quite see it either.
JimmyZ I don't know why add a new ( ) makes a difference :( 08:56
masak parentheses are just for grouping :P
rakudo: say |42
p6eval rakudo 58809b: OUTPUT«Method 'ARGLIST_FLATTENABLE' not found for invocant of class 'Int'␤ in <anon> at /tmp/gKUOBbaqMM:1␤ in <anon> at /tmp/gKUOBbaqMM:1␤␤»
masak huh! 08:57
JimmyZ rakudo: say (|4)
p6eval rakudo 58809b: OUTPUT«Could not find sub &prefix:<|>␤ in <anon> at /tmp/BCzNnAvgTI:1␤ in <anon> at /tmp/BCzNnAvgTI:1␤␤»
JimmyZ rakudo: say |4
p6eval rakudo 58809b: OUTPUT«Method 'ARGLIST_FLATTENABLE' not found for invocant of class 'Int'␤ in <anon> at /tmp/uHzzzaAEKH:1␤ in <anon> at /tmp/uHzzzaAEKH:1␤␤»
JimmyZ rakudo: say (|4,)
p6eval rakudo 58809b: OUTPUT«Could not find sub &prefix:<|>␤ in <anon> at /tmp/jJJVJxPtnI:1␤ in <anon> at /tmp/jJJVJxPtnI:1␤␤»
masak rakudo: my @a = 1, 2, 3; sub foo($, $, $) { say "OH HAI" }; foo |@a
p6eval rakudo 58809b: OUTPUT«OH HAI␤»
masak aha.
I know why.
it's signatures that have prefix:<|> already.
and maybe they're the only ones that actually should. maybe mainline Perl 6 doesn't have prefix:<|>. 08:58
JimmyZ I don't think (|4) and |4 are different 08:59
tadzik error CS0006: Metadata file `Kernel' could not be found
masak JimmyZ: they are.
tadzik I seem to recall someone had that problem too 09:00
masak JimmyZ: if you do 'say(blabla)', the blabla is a signature. if you do 'say (blabla)', it isn't.
tadzik: is that Niecza?
tadzik yes 09:01
JimmyZ masak: I think (expr) and expr are the same
snarkyboojum tadzik: Niecza build is currently b0rken.. sorear is aware of it
tadzik I hope :) Kernel smells like Ruby
masak :P
maybe grab latest release?
09:01 sjn joined
JimmyZ masak: like 4+4 and (4+4) 09:01
masak because, ya know, you gain nothing from a "source is better" perspective.
tadzik it's latest
oh, release
masak tadzik: is it the v9 relea.... right. 09:02
rakudo: multi foo($) { say "one param" }; multi foo($, $) { say "two params" }; foo (1, 2); foo(1, 2) 09:03
p6eval rakudo 58809b: OUTPUT«one param␤two params␤»
masak JimmyZ: ^^
JimmyZ rakudo: multi foo($) { say "one param" }; multi foo($, $) { say "two params" }; foo (1, 2); foo 1, 2; 09:04
p6eval rakudo 58809b: OUTPUT«one param␤two params␤»
JimmyZ rakudo: multi foo($) { say "one param" }; multi foo($, $) { say "two params" }; foo (1); foo 1; 09:05
p6eval rakudo 58809b: OUTPUT«one param␤one param␤»
JimmyZ rakudo: multi foo($) { say "one param" }; multi foo($, $) { say "two params" }; foo (|1); foo 1;
p6eval rakudo 58809b: OUTPUT«Could not find sub &prefix:<|>␤ in <anon> at /tmp/zgTH7N9ZRs:1␤ in <anon> at /tmp/zgTH7N9ZRs:1␤␤»
masak yes, because the () makes the | appear not-in-a-signature, but one level down.
at which point we're back in an expression.
JimmyZ rakudo: multi foo($) { say "one param" }; multi foo($, $) { say "two params" }; foo |1; foo (|1); 09:06
p6eval rakudo 58809b: OUTPUT«Method 'ARGLIST_FLATTENABLE' not found for invocant of class 'Int'␤ in <anon> at /tmp/QD9S27uKoQ:1␤ in <anon> at /tmp/QD9S27uKoQ:1␤␤»
tadzik oh, masak, masak
masak oh, tadzik, yes? :)
tadzik sorry for interrupting, but before I forget: did you read The Last Ring Bearer?
masak tadzik: I did not.
sounds interesting.
tadzik unfortunately, it's not about bears
but I think it may come to your liking
woosley rakudo: multi foo($) { say "one param" }; multi foo($, $) { say "two params" }; foo |(1,2); foo (1)
p6eval rakudo 58809b: OUTPUT«two params␤one param␤»
tadzik it's a LOTR fanfiction 09:07
masak tadzik: I will check it out..
woosley so '|' is used to flatten an array to a list?
masak in a signature.
or a hash to a bunch of named arguments. 09:08
JimmyZ | and * in perl 6 likes & and * in C
tadzik holy cow...
I just learned that having not a spoon of sugar at home is not a reason to try drinking mint drops without sugar 09:09
masak mint drops?
tadzik the minty things you take when your stomach feels sick
do you have those?
like, known in Sweden? 09:10
masak not to me. 09:11
get well soon, tadzik! :/ 09:12
JimmyZ rakudo: sub a(*@_) { @_.say }; a 1,2,3; sub b($a, $b, $c) { say $a, $b, $c ; }; b |[1,2,3]
p6eval rakudo 58809b: OUTPUT«1 2 3␤123␤»
tadzik you usually get a spoonful of sugar and put like 15-20 drops on it, then eat it, and drink some water **fast**
they're pretty strong
09:12 russellw joined
tadzik now I know why you eat them with sugar :S 09:13
but, I'm offtopicing too much today
09:16 woosley left
masak not at all. it's interesting to learn about different cultures. 09:18
09:24 wamba joined 09:35 fhelmberger_ joined, im2ee joined, fhelmberger_ left
im2ee Hello! :) 09:36
09:38 Tedd1 left
masak im2ee: cześć 09:38
im2ee masak, how are you? :) 09:39
09:41 mberends left 09:46 tokuhiro_ left 09:48 tokuhiro_ joined
masak im2ee: I'm 30 now ;) 09:49
but otherwise I'm fine :P
im2ee: how are you? 09:50
JimmyZ: 'likes' = 喜欢, 'is/are like' = '像' 09:54
JimmyZ: and I see what you mean by | and * in Perl 6 being a bit like & and * in C. but they're really pretty dissimilar. 09:55
JimmyZ masak: define similar, I was saying the are like brother :) 09:58
masak in C, the operations are reference/dereference. in Perl 6, the operations are slurp/flatten. 10:01
as operations go, those are pretty unrelated.
JimmyZ masak: or are like a team 10:02
box/unbox 10:03
masak JimmyZ: oh, I think I see what you mean now. 10:10
JimmyZ masak: hehe
masak prefix:<|> and prefix:<*> are "opposite" actions in Perl 6, just like * and & are in C.
JimmyZ masak: yeah
masak 明白 10:11
im2ee masak, fine too. :)
JimmyZ so does box/unbox or containerize/decontainerize 10:12
masak JimmyZ: sometimes * is its own opposite in C. this follows from the rule that "declaration should look like use". 10:13
jnthn mor...afternoon, #perl6 :)
masak so 'short *c;' is talking about a pointer. but '*c = 42' is doing a dereference.
jnthn: good morafternoon! 10:14
jnthn++ # 6guts.wordpress.com/2011/09/17/this...ot-enough/
jnthn masak: A good time for morbier? ;)
masak jnthn: not now, I'm cleaning! :P
jnthn: I tweeted your post, and it's already getting retweeted. twitter.com/carlmasak/status/114991388621418496 10:15
if there's one thing I've learned, it's that Twitter *wants* good news about Perl 6. as opposed to Hacker News and Reddit. 10:16
10:16 [sbp] is now known as sbp
jnthn < snarkyboojum> how does one go about debugging stuff in src/binder/*.c 10:17
==> hey, that's easier than debugging anything else because relaly good C debuggers exist. The Visual Studio one is excellent, I guess many people do their thing in gdb. 10:18
Glad people enjoyed the blog post :)
Tene yes, rather.
tadzik it's nice indeed :)
jnthn My word, how much backlog did you folks managed to type while I slept... :) 10:19
Tene jnthn: I've enjoyed every blog post of yours that I've read.
snarkyboojum jnthn: cool - ended up tinkering around with gdb a bit.. find it a little fiddly tho :) 10:20
bbiab 10:24
whoops - wrong window :)
masak .oO( how is bbiab formed? )
jnthn
.oO( by do away with instain self? )
10:26
masak .oO( who cometh back!? ) 10:30
jnthn snarkyboojum: What are you trying to track down, ooc? 10:33
snarkyboojum: I know the code in there fairly well... :)
masak wow, I've done two out of six of the ideas in gist.github.com/1172972 10:41
blogging is slow going ;)
so, should I do macros next? or Little Animal Farm? or one of the two small blog posts? 10:45
Tene macros 10:48
masak it'll be an overview post, like "what I can understand of macros so far".
I'll be writing about them quite a bit in the coming months ;)
arnsholt Sure, noone expects you to know everything about them 10:49
Not yet at any rate ;)
masak ;)
snarkyboojum jnthn: was interested to see how the type checking worked, esp when you try and assign Nil to something like my Int $a 10:56
masak snarkyboojum: sorear knows a bit about that, I think. 10:58
he has been complaining about the performance implications of having to specifically check for Nil.
snarkyboojum also, when you assign Nil to a defined array, should the definedness of the array disappear? 10:59
jnthn snarkyboojum: Not sure on the array one. 11:00
snarkyboojum: You're probably going to want to read container.c
snarkyboojum: The storage thingy is in there.
snarkyboojum: It does a STABLE(something)->type_check call or so 11:01
snarkyboojum: That's a call down to the 6model type check primitive.
snarkyboojum jnthn: yeah.. cool - got down into there.. but wanted to step through the code in there - maybe that's a bit ambitious :)
masak snarkyboojum: that's a really good question. I'm learning towards "yes", because otherwise you could just go @array = (); 11:02
snarkyboojum: so maybe '= Nil' is the way to reset the initializedness flag on variables/containers.
snarkyboojum was reading S02 and it seemed that my @a = 1,2,3; @a = Nil; say @a.defined should be False, at least from my reading
that's how it works for scalars, but containers don't seem to behave that way currently 11:03
jnthn snarkyboojum: Hm, yeah
masak snarkyboojum: feel free to submit a rakudobug and/or a nieczabug.
jnthn snarkyboojum: I *think* this may be tied into us needing to twiddle with the way we handle array auto-viv though.
(There's an entry in nommap about that)
snarkyboojum there is for my Int $a = Nil, but not regard containerish stuff afaik 11:04
oohh.. sorry - I'm getting confused with LHF :)
jnthn nom: my Int $a = Nil; 11:05
p6eval nom 58809b: OUTPUT«Type check failed in assignment to '$a'; expected 'Int' but got 'Nil'␤ in <anon> at /tmp/ojwLGszxrs:1␤ in <anon> at /tmp/ojwLGszxrs:1␤␤»
snarkyboojum also there's an entry in LHF about getting minmax.t to pass, which could possibly be removed.. as it appears to pass on nom
jnthn snarkyboojum: Oh, I think that's old.
Do you have a commit bit? If not, I can do away with it.
snarkyboojum jnthn: cool, but the Nil assignment issue seems extant
jnthn snarkyboojum: Yeah, that needs looking at. 11:06
snarkyboojum jnthn: yeah… no access here, so feel free :)
11:06 replore_ joined 11:07 pmurias joined
jnthn snarkyboojum: See types.[ch]. If you do something like that you can "register" Nil. 11:07
11:07 replore_ left
jnthn snarkyboojum: Then you'll able to get hold of it in container storage. 11:07
11:07 envi_|2 left
jnthn snarkyboojum: At which point it should be a simple pointer check for "is the thing we're assigning Nil", and taking a different code path if so. 11:08
(e.g. just twiddle the value to set to be the type object of the container's declared type)
snarkyboojum jnthn: cool - was poking around there too.. thanks, will have a look at it 11:09
11:09 Chillance joined
jnthn snarkyboojum: It's relatively easy, just a little scattered. :) 11:09
snarkyboojum easy is good :)
11:24 daniel-s left 11:25 wallberg joined
felher Can someone place change line 157 of src/core/Cool.pm from "157 multi method comb(Regex $matcher, $limit = $Inf) { self.Str.comb($matcher, $limit) } 11:26
to the same line, just with '= /./' as default for $matcher?
masak does so 11:27
felher Or wouldn't that be the right way to do it?
masak yes.
b: say "foo".comb.perl
p6eval b 1b7dd1: OUTPUT«("f", "o", "o")␤»
masak nom: say "foo".comb.perl
p6eval nom 58809b: OUTPUT«("f", "o", "o").list␤»
masak hm.
felher nom: say 400.comb.perl
p6eval nom 58809b: OUTPUT«No applicable candidates found to dispatch to for 'comb'. Available candidates are:␤:(Cool, Regex $matcher, Any $limit, Mu %_)␤␤ in method comb at src/gen/CORE.setting:1507␤ in <anon> at /tmp/QzH_cmG0pV:1␤ in <anon> at /tmp/QzH_cmG0pV:1␤␤»
jnthn er, please don't do that. :) 11:28
felher String got that one right.
masak ah, there we go.
jnthn Getting every char of the string using /./ is about the slowest way you can imagine doing that.
You need an extra multi candidate that takes no args and .Str.comb's it in Cool.
masak :)
jnthn++ # thinking about consequences 11:29
jnthn These sorts of things are part of why people come back and say "omg Rakudo is slow!!!"
masak felher: if you make a patch for what jnthn just said, I'll apply it.
jnthn I made Mandelbrot 30% faster by fixing implementation bugs in join.
felher masak: i'll do :)
masak++, jnthn++ :)
masak jnthn: tell me about it. I had several blog posts last November on why .trans was slow for large strings. turns out it was O(.chars). I made it O(replacements) 11:30
jnthn masak: :) 11:31
masak: It's nice to find those. 11:32
11:34 packetknife joined
masak strangelyconsistent.org/blog/novemb...d-bad-news 11:35
11:35 Psyche^ joined
felher masak: while i spectest the one-liner, on which way would you like to get the patch? :) 11:37
moritz speaking of .trans, somebody needs to port it to nom 11:38
11:39 Patterner left, Psyche^ is now known as Patterner
jnthn I heard masak understands trans well ;) 11:41
11:47 whiteknight joined 11:48 tokuhiro_ left
masak pmichaud had some complaints about the current implementation. I think a port would have to involve him in some way. 11:58
but I'd be happy to provide advice ;)
TimToady keeps reminding me that the LTM in .trans should probably be the same LTM in grammars, in the long term.
that is, a .trans probably builds a Grammar and executes it. 11:59
11:59 MayDaniel left, envi joined
moritz it might be enough to show all the alternatives into an array, and interpolate that into a regex 12:02
jnthn ooh, that could maybe work :) 12:04
masak together with keeping track of the position, it seems it could work. 12:05
felher LTM = longest token matching?
moritz somehow we have to track which alternative was matched 12:06
felher: yes
felher moritz: k, thnx :)
masak moritz: how do you mean? why? 12:08
moritz masak: if you call .trans('a' => 'b', /\w+/ => 'c'), matching /'a'|\w+/ isn't enough 12:09
.trans needs to know which branch matched, so that it knows which substitution to use 12:10
masak oh, indeed.
moritz though you can do something like
my $tracker;
my @res = @patters.kv.map: -> $idx, $re { / $re { $tracker = $idx } / } 12:11
self.subst(:g, /@res/, { use $tracker here ... }) 12:12
though I realy wish there was a simpler way built into p6 12:14
masak spec one ;)
moritz <%h> could match %h.keys, and stores the value of the matching key in $<h> 12:16
and the syntax / <pat> => $foo / could mean "put $foo in $<pat>" or in $<pat>.ast or so 12:18
jnthn afk for a bit; walk 12:20
felher masak: herrmann-koenigsberg.de/make_cool_comb_work.patch 12:24
masak: this is a 'git format-patch HEAD~..HEAD > filename' patch against newest nom 12:25
12:26 SHODAN joined 12:27 mberends joined
masak felher: thanks, will spectest and commit. 12:28
felher masak: i did already spectest. But of course, testing twice won't hurt. :) 12:31
masak oh, ok. 12:34
yeah, spectest already underway; might's'well finish it ;)
felher masak: ^^ :) 12:35
masak felher: do you know if there's any spectest for Cool.comb() ?
felher masak: nope. But i'll look into it. Some short ack-action. :) 12:36
moritz ack '\d\.comb' => no result
12:37 wamba left
felher yeah, the there are only comb()s on strings. 12:39
masak well then; another LHF task ;) 12:40
felher masak: LHF? 12:41
moritz Low-Hangig Fruit 12:43
(ie easy to tackle)
felher moritz: ah, thnx. :) 12:44
12:45 uasi left
masak hm. does it matter that the proto signature of Cool.comb is (|$) ? 12:46
now that we've added a .comb() multi, I mean.
moritz masak: it's ok
masak: |$ matches any possible signature 12:47
the leading | means 'take the rest of the argument list as a Capture' 12:48
and the $ means '... and pack into this scalar'
12:51 packetknife left 12:54 packetknife joined, Kivutarrr joined
masak oh ,right. 12:55
s/ ,/, / 12:56
felher masak: i wasn't sure, too. But awk told me that that happens quite often already. :)
12:57 MayDaniel joined
masak well, moritz++ has the answer: it's perfectly in otder. 13:01
jnthn Also, the binder sees |$ and says "well, we don't have to bind it anywhere anyway, so let's do nothing" :)
13:03 uasi joined 13:05 woosley joined
moritz rakudo: say Capture ~~ Positional 13:05
p6eval rakudo 58809b: OUTPUT«Bool::False␤»
felher jnthn++ for 6guts.wordpress.com/2011/09/17/this...ot-enough/ 13:09
13:11 im2ee left
dalek kudo/nom: 5be6d65 | (Felix Herrmann)++ | src/core/Cool.pm:
Make 'Cool.comb()' work.
13:17
masak felher++
PacoLinux_ James Gosling in the aerial accident at Reno : nighthacks.com/roller/jag/entry/i_m_alive 13:27
jnthn sees if he can work out what bit of DateTime causes setting compilation to get upset 13:28
OK, found it 13:31
has $.second = 0.0;
That 0.0 (a Rat)
masak what's upsetting about that? 13:33
the fact that Rat is an object?
jnthn Well, it wants to create the literal at compile time. 13:34
And something goes awry in doing so.
yeah, we don't try and do that anywhere in the setting. 13:35
13:42 arthur-_ joined, MayDaniel left
moritz iirc I tried to make that a plain 0 once 13:47
and it didn't help
(but it might now)
jnthn moritz: I've got it narrowed down to an infinite recursion explosion that happens when we call Rat.new.
flussence the now bug? 13:48
jnthn flussence: No, the setting compilation hanging
When you have a rat literal somewhere in it.
flussence I mean, is it the same cause?
moritz no
term:<now> hangs on 32 because of Num -> Rat conversion overflow thingy 13:49
jnthn Indeed. It's gone away for me now I'm on 64-bit... 13:50
ugh, it's an infinite recursion involving dynamic compilation, somehow. 13:51
(e.g. it's only a rung or two down the ladder in terms of evil from a GC bug) 13:52
moritz dynamic compilation?
jnthn nom: sub foo() { say "I'm dynamically compiled" }; BEGIN { foo() } 13:54
p6eval nom 58809b: OUTPUT«I'm dynamically compiled␤»
jnthn Where we have to go and compile a piece of the code during compilation because we need it before we're "finished"
In this case, the chain starts at needing to do that with Rat.new (which works out, it seems)
masak compilation during compilation. yo dawg. 13:55
13:55 MayDaniel joined, MayDaniel left
jnthn masak: right. 13:55
13:55 bbkr1 joined
jnthn It tends to work out fine 13:55
But in the setting we're already trying to deal with a load of other circularities.
13:56 colomon left 13:57 crakrjak left, M_o_C joined
jnthn Hmm, it isn't that it's trying to re-compile the same thing over many times though. The caching there works out. 13:57
bbkr1 mberends: sorry about server downtime. some weird problem with one kext. resolved now. 14:00
mberends bbkr1: no probs, I was logged out during the past week's work in Dublin 14:02
pmurias japhb: re mono you should compile one from source
japhb pmurias, yeah, so I gathered. 14:03
pmurias japhb: "re pile of stuff the package manager installed" it's just that package managers love to split everything in tiny bits 14:04
jnthn Curious. It explodes when doing self.HOW.name(self) ~ '<' ~ self.WHERE ~ '>' 14:06
pmurias japhb: if you want to install gtk# for the gui example i found out that www.mono-project.com/Parallel_Mono_Environments was helpfull
jnthn I'm also curious why it's doing that. 14:07
japhb pmurias, nodnod. And of course, everyone is then exhorted to install 'mono-complete' plus a few "optional" extras, which is just silly. And then, my favorite part: since all those binary packages in fact come from only a few source packages, every time there's a patch you have to download and install all of them anyway. Micro-packages don't even save you that. :-/
pmurias, ah, thank you!
pmurias japhb: i suspect there is a package manager leaderboard somewhere which is causing the fragmentation ;) 14:08
14:09 M_o_C left
flussence rakudo: "a".WHAT 14:09
p6eval rakudo 5be6d6: ( no output )
flussence rakudo: say "a".WHAT
p6eval rakudo 5be6d6: OUTPUT«Str()␤»
flussence hm, my local perl6 doesn't like that... 14:10
«> "a".WHAT␤Use of uninitialized value in string context»
jnthn flussence: Yeah, known
flussence: If there's no output, it tries to stringify the result.
Stringifying a type object produces a warning. 14:11
moritz the REPL should .gist and and not .Str, I think
mls_ Hi perl6! 14:12
jnthn hi mls_ :)
benabik moritz: +1
moritz: Or .perl 14:13
mls_ jnthn: I noticed that rakudos clones subs when doing a map(). Why's that?
jnthn mls_: Where specifically? 14:14
japhb pmurias, *chuckle*, I wouldn't even be surprised. My boss (a FreeBSD user) and I had a friendly argument about whose OS had more packages/ports available. Turns out that there are in fact reports being run every night for Debian listing package counts and sizes broken down by arch and release. Looked pretty much like a bragging rights report. ;-)
jnthn mls_: But most likely it's part of the usual closure stuff.
mls_ probably. Which parts of a sub need the cloning? 14:15
jnthn mls_: BTW, you've produced quite a few good patches for Rakudo now, so if you feel like sending in a CLA and getting a commit bit, we're happy to give you one. :)
masak \o/
mls_++
14:15 thundergnat joined
mls_ Oh no, there's another CLA. I thought the parrot CLA covers rakudo... 14:16
jnthn mls_: Forget the details, but it's about maintaining the lexical chain.
mls_: We could certainly clone a bit less than we currently do.
mls_: Both at Parrot level and Perl 6 level.
14:16 Kivutarrr left
jnthn Though since it's shallow cloning, I'm not sure how much we'd save. 14:17
mls_ All the cloned subs currently end up as different in the profiler, that's why I'm asking
jnthn mls_: oh, I see
mls_ I can easily fix that in the profiler (same segment and offset -> same sub), but I wanted to ask first if rakudo does this on purpose
jnthn mls_: Well, you can look at...the code base offset pointer or whatever it's called in the Parrot Sub.
mls_ ;) 14:18
jnthn mls_: Yes, very much so.
thundergnat Hi #perl6.
jnthn Different CLAs - because Parrot one goes to Parrot foundation, which is a different legal entity to The Perl Foundation.
mls_ ok, I'll change the profiler. Thanks.
Btw, regarding your patch to is_clearly_returnless: I still think rakudo should make use of the continuation already stored in the call context instead of creating a new one for each sub... 14:19
jnthn mls_: Will that actually work? 14:21
mls_: Note that we need to do some work on the value being returned before actually handing it back.
thundergnat Been away from perl 6 for a bit. Just cloned nom from git and built and am getting a failure during make test: t/02-embed/01-load.t.
mls_ I had that proof-of-concept patch that pmichaud++ didn't like ;)
thundergnat Interestingly, make spectest passes though... 14:22
moritz thundergnat: that's known :(
thundergnat Ah.
jnthn seriously considers deleting t/02-embed/01-load.t, since its main role is to make people thing they're going to have problems, when they won't.
*think
thundergnat nom: say (65..75).chrs; 14:23
p6eval nom 5be6d6: OUTPUT«Method 'chrs' not found for invocant of class 'Range'␤ in <anon> at /tmp/Bo7sNvnaDM:1␤ in <anon> at /tmp/Bo7sNvnaDM:1␤␤»
thundergnat use MONKEY_TYPING; augment class Cool { method chrs () { self>>.chr.join }; }; say (65..75).chrs; # LHF?
mls_ jnthn: it added a perl6_return op that did the return type checking 14:24
thundergnat nom: use MONKEY_TYPING; augment class Cool { method chrs () { self>>.chr.join }; }; say (65..75).chrs; ?
p6eval nom 5be6d6: OUTPUT«===SORRY!===␤Confused at line 1, near "?"␤»
14:24 colomon joined
jnthn mls_: OK. Put did this not involve also patching nextsame etc? 14:24
thundergnat nom: use MONKEY_TYPING; augment class Cool { method chrs () { self>>.chr.join }; }; say (65..75).chrs;
p6eval nom 5be6d6: OUTPUT«ABCDEFGHIJK␤»
jnthn thundergnat: Is that spec'd?
mls_ No, it didn't touch nextsame.
thundergnat It was in ng. 14:25
jnthn is a tiny bit surprised but may be mis-remembering how nextsame handles returning.
mls_ (not changing nextsame was obviously a bug in the patch) 14:26
jnthn ah, ok
I guess I'm a little concerned about spreading that logic around.
But maybe it's worth it if there's a performance win.
Did you get any stats on that? iirc, pmichaud wanted to know whether it was worth it. 14:27
Intuitively it would be though.
mls_ Yes I did. I'll try to find the number in the irclog archive... 14:28
jnthn OK, thanks.
It may be worth re-testing too (more)
A bunch of things have got cheaper in recent days, so as a percentage win it may now be higher.
JimmyZ rakudo: class A { has $!b = 10; }; sub foo($self) { $self!b }; say foo(A.new) 14:30
p6eval rakudo 5be6d6: OUTPUT«Method 'find_private_method' not found for invocant of class 'Perl6::Metamodel::PackageHOW'␤ in method dispatch:<!> at src/gen/CORE.setting:653␤ in sub foo at /tmp/kOgqeqdh_O:1␤ in <anon> at /tmp/kOgqeqdh_O:1␤ in <anon> at /tmp/kOgqeqdh_O:1␤␤»
jnthn LTA error 14:31
Thogh it's correct that it doesn't work.
mls_ jnthn: it was a 10% speedup for a simple return loop
thundergnat jnthn: .chrs is specced in S29 around line #314 14:32
jnthn thundergnat: OK, in which case patches welcome.
mls_: IIUC, it's a PMC allocation less per block invocation?
(well, for ones that didn't have the thing optimized out...)
mls_ you mean sub, not block? 14:33
yes.
jnthn yes, sub.
OK
mls_ But note that we need to implement leave() someday, so the sub/block difference is kinda going away 14:34
jnthn *nod*
JimmyZ rakudo: class A { has $.b = 10; }; sub foo($self) { $.b }; say A.new.&foo
p6eval rakudo 5be6d6: OUTPUT«Null PMC access in find_method('b')␤ in sub foo at /tmp/BM2KedbLm_:1␤ in method dispatch:<var> at src/gen/CORE.setting:640␤ in <anon> at /tmp/BM2KedbLm_:1␤ in <anon> at /tmp/BM2KedbLm_:1␤␤»
jnthn Well, only kinda.
JimmyZ rakudo: class A { has $.b = 10; }; sub foo($self) { $self.b }; say A.new.&foo #this one works 14:35
p6eval rakudo 5be6d6: OUTPUT«10␤»
mls_ anyway, I'll update the patch next week (and maybe also work a bit on exceptions) 14:36
jnthn mls_: OK, great. :)
Thanks. :)
mls_ afk... have a nice weekend
jnthn you too :)
14:37 skangas left 14:39 packetknife left
mberends re-remembers :-) www.art.net/~hopkins/Don/unix-hater...aster.html 14:42
arnsholt Ah, the Unix haters handbook. One of my all time favourites 14:44
mberends aye, www.art.net/~hopkins/Don/unix-hater...dbook.html # use the blinking cursor to log in :) 14:45
mberends is trying to get the hands of the Niecza xclock to move 14:46
masak ooh, Niecza xclock! 14:47
mberends masak: on Ubuntu locally, it Just Works :P
masak cool! 14:51
mberends masak: Gtk# I mean. I was trying to find out why yours doesn't. 14:53
masak right. hm. 14:54
14:59 MayDaniel joined 15:07 wallberg left
pmurias masak: what's your Gtk# error? 15:10
masak checks
pmurias: gist.github.com/1208171
pmurias you have Gtk# installed? 15:11
which version?
the example requires 2.12.0.0 15:12
mberends masak: try 'gacutil -l | less' to see what is installed 15:14
masak ok, lots of output. 15:15
what am I looking for?
mberends gtk-sharp 15:16
masak no such thing on the list.
mberends a package is probably missing, I'll try to find which one it should be 15:17
15:17 uasi left
[Coke] too much to review. 15:19
mberends masak: Ubuntu (and Debian) package libgtk2.0-cil contains /usr/lib/cli/gtk-sharp-2.0/gtk-sharp.dll. You reported earlier that this was installed. It may help to force a re-install. 15:24
15:24 Reaganomicon left
masak tries that 15:25
mberends it may be having it in the filesystem is not enough, and that installing should add it to the GAC.
dalek kudo/nom: ebe121d | jnthn++ | LHF.markdown:
minmax is implemented; remove from LHF.
15:26
kudo/nom: 30e9bc4 | jnthn++ | src/Perl6/ (2 files):
Fix issues with using Rats in the setting.
kudo/nom: bb7c108 | jnthn++ | src/core/Temporal.pm:
Uncoment most of class DateTime.
jnthn General note to Rakudo devs: proto auto-generation doesn't work in the setting. Always declare your protos explicitly. 15:30
(Don't particularly plan to fix this.) 15:31
masak mberends: I removed libgtk2.0-cil and installed it again, using apt-get. still the same error after that. :/
15:31 tokuhiro_ joined
mberends masak: 'gacutil -i /usr/lib/cli/gtk-sharp-2.0/gtk-sharp.dll' might add the library into your gac. otoh, your gacutil may be broken. 15:34
pmurias masak: do you have exactly 2.12.0.0
masak: other version will not work at all
dalek kudo/nom: 118be55 | jnthn++ | src/core/Temporal.pm:
Uncomment rest of temporal stuff. Removed 'multi' in a couple of places it didn't seem needed; if you want to add it back, remember to declare a proto as well.
jnthn OK, now I've got it to all compile, plesae can some Rakudo folks who understand the temporal stuff take a look and see how well it works/if it passes tests and tinker as needed? Thanks! :) 15:35
mberends jnthn: ok, but slowly, no i7 monster here :) 15:36
jnthn pat pats the i7 monster 15:37
pmurias masak: which distro do you use?
felher nom: my @whatever = 1..3.map: {$_} # why does that timeout?
p6eval nom 5be6d6: OUTPUT«(timeout)» 15:38
masak pmurias: Mono? I have 2.10, didn't know there were any higher.
pmurias: I'm on Ubunto something-or-other.
jnthn felher: First, it's not doing what you think
masak Ubuntu 2.6.38-11-generic according to uname -a
felher I know that this is not the same as (1..3).map: {$_} and probably doesn't make much sense, but why does it timeout
pmurias masak: the gtk example depends on an exact version of the gtk lib 15:39
felher jnthn: ;)
masak pmurias: oh!
jnthn nom: (1..[3])
p6eval nom 5be6d6: ( no output )
jnthn nom: say eager (1..[3])
felher jnthn: it does't timeout if you don't assing it to whatever.
nom: 1..3.map: {$_} # why does that timeout?
p6eval nom 5be6d6: OUTPUT«(timeout)»
nom 5be6d6: ( no output )
jnthn felher: Yeah, but then it never iterates the range. 15:40
felher jnthn: ah, that makes sense. :)
pmurias masak: i'm not sure now but there is a version number in the source of the example
jnthn nom: say [3].Numeric 15:41
p6eval nom 5be6d6: OUTPUT«1␤»
jnthn nom: say [3].Int
pmurias masak: i installed caesar.acc.umu.se/pub/gnome/sources....10.tar.gz from the source and it works for me
p6eval nom 5be6d6: OUTPUT«1␤»
jnthn nom: say 1 < [3]
p6eval nom 5be6d6: OUTPUT«Bool::False␤»
jnthn nom: say 1 2 [3]
p6eval nom 5be6d6: OUTPUT«===SORRY!===␤Confused at line 1, near "say 1 2 [3"␤»
jnthn nom: say 2 < [3]
p6eval nom 5be6d6: OUTPUT«Bool::False␤»
jnthn nom: say 3 < [3]
p6eval nom 5be6d6: OUTPUT«Bool::False␤»
jnthn Yeah, I can see where this is going :)
oh, maybe, hm. 15:42
moritz also note that 1..3.map is most likely not what one wants
but rather (1..3).map
jnthn moritz: Right
moritz: I'm just not sure that it should hang when you do it rong.
pmurias masak: i think it might be best to just avoid the insanity of the package managers and compile that manually
moritz jnthn: it shouldn't, I think
jnthn moritz: Don't see why it is right off. 15:43
moritz nom: say (1..3)
p6eval nom 5be6d6: OUTPUT«1..3␤»
moritz nom: say (1..(3))
p6eval nom 5be6d6: OUTPUT«1..3␤»
moritz nom: say (1..(3).list)
p6eval nom 5be6d6: OUTPUT«1..(3,).list.item␤»
moritz nom: say (1..(3).list).list
p6eval nom 5be6d6: OUTPUT«(timeout)»
15:44 uasi joined 15:46 pernatiy joined 15:48 pmurias left
masak pmurias: ok. 15:50
I don't often hear people describe package managers as an insanity to avoid ;) 15:51
15:51 skangas joined
moritz for the user, they are a bit like sliced bread :-) 15:54
15:55 JimmyZ left, woosley left 15:57 MayDaniel left 16:03 wamba joined 16:06 replore_ joined 16:08 tokuhiro_ left 16:11 mj41 joined
moritz ./perl6 --setting=NULL --target=pir --output=src/gen/CORE.setting.pir src/gen/CORE.setting 16:13
Could not find sub &DYNAMIC
current instr.: 'trait_mod:<is>' pc 40 ((file unknown):133) (src/gen/CORE.setting:56)
aka build is broken :(
jnthn wtf
works here. 16:14
No local patches.
16:14 tokuhiro_ joined
jnthn reconfigures and tries again. 16:14
mberends moritz: same breakage here (Ubuntu 11.04) although ((file unknown):129) 16:15
jnthn shit, here too after a re-configure
16:17 araujo left
TimToady_ niecza: say [max] 1,2,3 16:18
16:18 dukeleto left
p6eval niecza v9-31-g37fcc8d: OUTPUT«Unhandled exception: Excess arguments to CORE infix:<max>, used 2 of 3 positionals␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (CORE infix:<max> @ 0) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1384 (CORE reduceop @ 10) ␤ at /tmp/9nYOurB7ug line 1… 16:18
jnthn oh, what on earth are all those "is export"s doing in those ops...
TimToady_ sorear: ^^
16:18 dukeleto joined
dalek kudo/nom: bbe78ec | jnthn++ | src/core/Temporal.pm:
Remove a bunch of 'is export's that shouldn't have been there. Not sure how the build didn't break here... :/
16:20
jnthn That seems to fix it. 16:21
16:21 wamba left
jnthn Still not sure how I managed to get a build/spectest run that worked before :/ 16:21
mberends rebuilding 16:22
16:27 Woodi left 16:28 Woodi joined
thundergnat I've written a patch to add chrs() and .chrs back into nom. Spec tests ok locally. I don't have a commit bit. Where's the best place to submit this? RT? 16:31
There's a gist here: gist.github.com/1224100
jnthn gotta head out, bbl &
16:31 s_mosher left
thundergnat Also I've written a bunch of tests for for chrs and ords I can add to roast. Should I put them in S29-conversions/ord_and_chr.t or make a new ords_and_chrs.t file? 16:33
16:36 miguet joined
thundergnat Hmm. The silence is deafening. Oh well forgiveness > permission and all that.... 16:39
dalek ast: 19b6614 | thundergnat++ | S29-conversions/ord_and_chr.t:
Added tests for ords(), .ords, chrs() and .chrs
16:40
mberends thundergnat: I'll test your commit after the previous commit's tests finish 16:41
16:53 wamba joined 17:01 Trashlord left 17:06 [Coke] left 17:08 pjcj_ is now known as pjcj, [Coke] joined 17:10 gbacon joined 17:15 [Coke] left 17:17 [Coke] joined 17:18 araujo joined 17:21 Trashlord joined
mberends \o/ Niecza clock with (slowly) moving hands, and a resource leak :) gist.github.com/1224163 17:33
Trashlord masak: do you know the swedish band Regurgitate? 17:34
moritz 4 xwsm n b ¬   hb j, 17:35
mberends ronja: hi 17:36
moritz mberends: ronja growls in greeting :-9
mberends shrinks visibly 17:37
moritz mberends: it's not a threat, just a sign of enthusiasm 17:38
mberends :)
17:40 [Coke] left 17:41 [Coke] joined 17:43 kfo joined 17:48 mj41 left 17:53 envi left
sorear good * #perl6 18:03
colomon o/ 18:12
sorear mberends: interesting, I hadn't considered hidden interface methods at all. 18:13
When I'm back on the mainline I think I'll do $obj.CLR::System::IDisposable::Dispose 18:14
I guess this is related to "hides Base" from S12 18:15
18:23 uasi left 18:24 Reaganomicon joined
sorear jnthn: out of curiousity, why doesn't proto autogeneration work in the setting? 18:29
who is awake right now with Niecza compile issues?
18:31 wamba left
PerlJam sorear: heh, I just got on to ask you about that. 18:34
sorear: gist.github.com/1224212 18:36
flussence same here 18:37
sorear PerlJam: ok. in the Makefile, in the boot/obj/CompilerBlob.dll rule, could you try changing /lib:obj to /lib:boot/obj ? 18:38
PerlJam trying 18:39
looks like success. 18:40
(at least I'm looking at a niecza> prompt right now :)
sorear yay
TimToady_ niecza: say [*] 1,2,3; say [max] 1,2,3; 18:42
p6eval niecza v9-31-g37fcc8d: OUTPUT«6␤Unhandled exception: Excess arguments to CORE infix:<max>, used 2 of 3 positionals␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (CORE infix:<max> @ 0) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1384 (CORE reduceop @ 10) ␤ at /tmp/pMtypw_fBc line…
TimToady_ sorear: what's the difference? ^^ 18:43
sorear TimToady_: probably max is marked as list-associative in niecza's copy of STD
PerlJam sorear: how do you sync niecza's copy of STD with perl6's copy of STD? 18:51
sorear: do you hand add features or copy it wholesale and then fixup what's broken?
TimToady_ niecza: say [~] 1,2,3 18:54
p6eval niecza v9-31-g37fcc8d: OUTPUT«123␤»
TimToady_ sorear: ~ is purportedly list associative too, but works
18:55 TimToady_ is now known as TimToady
sorear TimToady_: ~ is written to take an unlimited number of arguments. max isn't 18:55
TimToady anywho, [max] oughta work... 18:56
18:59 kaare_ left 19:13 mberends left 19:20 benabik left
thundergnat I've been going through some of code I wrote for beijing rakudo and testing it under nom. The X meta operator seems to be much slower now. Don't have any useful suggestions, just making an observation. 19:26
b: my $t = now; my @r = (0..50); say ~(@r X, @r)[2500]; say now - $t, ' seconds';
p6eval b 1b7dd1: OUTPUT«49 1␤1.713 seconds␤»
thundergnat nom: my $t = now; my @r = (0..50); say ~(@r X, @r)[2500]; say now - $t, ' seconds';
p6eval nom bbe78e: OUTPUT«49 1␤5.67179321019412 seconds␤»
19:26 replore_ left 19:30 static_perl joined
moritz thundergnat: thanks for the report 19:37
moritz hilights pmichaud
nom: my $t = now; my @r = (0..50); my $x = ~(@r X @r)[2500]; say now - $t 19:38
p6eval nom bbe78e: OUTPUT«3.30956307681409␤»
19:45 Minimiscience joined
moritz nom: my @r = (0..50); my $t = now; my $x = ~(@r X @r)[2500]; say now - $t 19:52
p6eval nom bbe78e: OUTPUT«3.32703610270021␤»
moritz nom: my @r = (0..50); my $t = now; my $x = (@r X+ @r)[2500]; say now - $t
p6eval nom bbe78e: OUTPUT«5.29437567034281␤»
moritz b: my @r = (0..50); my $t = now; my $x = (@r X+ @r)[2500]; say now - $t 19:53
p6eval b 1b7dd1: OUTPUT«1.77227327207351␤»
20:00 alester joined 20:04 localhost left 20:05 localhost joined 20:11 im2ee joined
tadzik oh, :nocache turns out to be useful :) 20:12
being not only a Pod whim :) 20:13
dalek ecza: 380d891 | sorear++ | Makefile:
Fix build
20:19
tadzik no 'is rw' in nom? 20:24
nom: sub a($b is rw) { $b = 5 }; my $a = 5; a($a); say $a 20:25
p6eval nom bbe78e: OUTPUT«5␤»
tadzik hrm
maybe not in the setting
moritz tadzik: are you looking at temporal failures? 20:26
tadzik moritz: yes
moritz nom: sub a($b is rw) { $b = 5 }; a(8)
p6eval nom bbe78e: OUTPUT«Cannot assign to a non-container␤ in sub a at /tmp/PKOG02Wn50:1␤ in <anon> at /tmp/PKOG02Wn50:1␤ in <anon> at /tmp/PKOG02Wn50:1␤␤»
tadzik heh, how did it even work before
thundergnat nom: sub a($b is rw) { $b = 2 }; my $a = 5; a($a); say $a 20:27
p6eval nom bbe78e: OUTPUT«2␤»
moritz somehow this whole setup seems stupid
thundergnat You can't assign to a constant
moritz first assigning to attributes, and *then* checking and truncating
tadzik BUILD should do that imho 20:28
then we could possibly be going with default .new 20:29
20:29 wallberg joined
tadzik moritz: are you hacking on that right now? 20:29
moritz tadzik: I'm about to commit 2 tiny fixes, and then go to bed 20:31
tadzik okay
jnthn home
tadzik ohitsjnthn
dalek kudo/nom: 6fde31d | moritz++ | src/core/Temporal.pm:
two tiny Date fixes
20:32
moritz -> sleep
jnthn Oh, dates!
20:32 alester left
tadzik gnight moritz 20:32
jnthn hi and bye, moritz :) 20:33
20:37 alester joined
tadzik bwahaha 20:41
nom: Date.new(DateTime.new);
p6eval nom bbe78e: ( no output )
tadzik nom: Date.new(DateTime.new); say 'alive'
p6eval nom bbe78e: ( no output )
tadzik it segfaults :)
cotto might be a bug
tadzik Program received signal SIGSEGV, Segmentation fault.
0x00007ffff3dde4a7 in Rakudo_cont_store () from dynext/perl6_ops.so
class A { has $.b; multi method new(Int $b) { say "I'm working" } }; A(7) 20:45
nom: class A { has $.b; multi method new(Int $b) { say "I'm working" } }; A(7)
p6eval nom bbe78e: OUTPUT«Could not find sub &A␤ in <anon> at /tmp/vzadNiCAT5:1␤ in <anon> at /tmp/vzadNiCAT5:1␤␤»
tadzik nom: class A { has $.b; multi method new(Int $b) { say "I'm working" } }; A.new(7)
p6eval nom bbe78e: OUTPUT«I'm working␤»
tadzik huh
sorear b: my $a := $a; say $a
p6eval b 1b7dd1: OUTPUT«Segmentation fault␤» 20:46
sorear tadzik: are you sure it's segfaulting?
er
tadzik (:
sorear tadzik: I mean, why isn't the segault being reported on p6eval?
tadzik sorear: well, it segfaults here locally
I don't know why it's not reported
20:48 tokuhiro_ left 20:49 alvis left
masak senses a disturbance in the force... 20:50
Trashlord: no, I am unfamiliar with that band.
sorear o/ masak 20:51
masak \o
20:52 bluescreen10 joined
jnthn tadzik: segv? 20:54
tadzik jnthn: yeah
on HEAD
jnthn OH NOES
tadzik on my head too :)
masak on your head be it.
jnthn tadzik: How to reproduce? 20:55
tadzik: As in, the segfault?
tadzik jnthn: Date.new(DateTime.new);
jnthn boom
Yeah, segfault here too
tadzik is struggling with multi custom new()s 20:56
jnthn devenv perl6.exe :)
er, the thing passed to store has a vtable pointer with value 1. 20:57
That's...not a valid address.
tadzik oh, you have a fast machine. Could you try that on HEAD~1? 20:58
like, before moritz's fix
sorear probably not relevant, but I think that 1s get used on the common C++ ABI for pointers to virtual methods
jnthn tadzik: I haven't pulled yet, so it segfaults on bbe78ec901c1f1 20:59
tadzik oh, cool
jnthn Well, I'd not call a segfault cool :P
tadzik hmm
nom: sub segfault { Date.new(DateTime.new) }; say so segfault ~~ Cool 21:00
p6eval nom 6fde31: OUTPUT«Use of uninitialized value in string context␤Too many positional parameters passed; got 1 but expected 0␤ in sub segfault at /tmp/ZVba4yoBgC:1␤ in <anon> at /tmp/ZVba4yoBgC:1␤ in <anon> at /tmp/ZVba4yoBgC:1␤␤»
tadzik nom: sub segfault { Date.new(DateTime.new) }; say so segfault() ~~ Cool
p6eval nom 6fde31: ( no output )
tadzik eh, we'll never know :)
sorear jnthn: Do you have a clue why nom: doesn't report segfaults?
jnthn sorear: 'fraid not. 21:01
sorear b: pir::branch__vi(-1000)
p6eval b 1b7dd1: OUTPUT«Segmentation fault␤»
sorear nom: pir::branch__vi(-1000)
p6eval nom 6fde31: ( no output )
sorear rakudo: pir::branch__vi(-1000)
p6eval rakudo 6fde31: ( no output )
jnthn We ain't doing anything in nom to suppress them.
sorear I'll look into it
jnthn (knowingly)
sorear p6eval@host04:~/evalbot$ ../nom-inst/bin/perl6 --setting=SAFE -e 'pir::branch__vi(-1000)' 21:03
jnthn tadzik: meh, the root cause of the segfault is less clear.
sorear Segmentation fault
sorear pines for pir::hcf
21:05 SHODAN left
jnthn oh, hmm...something is deicdedly wrong with this debug output 21:05
21:07 im2ee left 21:08 im2ee joined
jnthn tadzik: ah, that example wasn't golfed 21:08
tadzik well, probly 21:09
jnthn tadzik: Just DateTime.new does it.
tadzik oh, cool
jnthn I guess we hit the default constructor in that case too 21:15
tadzik yeah, the specified one is acting funny 21:16
for example, DateTime.new(now) doesn't dispatch to neither of the specified ones them
but it works with some generic multi method new($i) 21:17
jnthn has &.formatter; # = &default-formatter;
Not segfault if I comment that out
o.O
*no
tadzik $i ends up being 1316294146, Num
but it doesnt ~~ with Int
sorear odd, I can't push to github from feather
jnthn missing sshkey?
tadzik keys?
dalek albot: f4d019b | sorear++ | evalbot.pl:
Enable command-line testing of p6eval changes
sorear jnthn: very very slow 21:18
jnthn oh, push to evalbot...duh :)
sorear and I mean host04
jnthn tadzik: Investigating further.
tadzik okay
flussence I got niecza/t/run_spectests to work properly! (still no idea why it didn't work for me before...) 21:20
21:21 alvis joined
jnthn tadzik: eww :( 21:21
tadzik: Golfed it to something that doesn't involve Temporal. 21:22
tadzik: sub foo() { 1 }; class Bar { has &.x = &foo }; Bar.new
tadzik ew
jnthn That explodes.
21:22 im2ee left
masak something to do with the magical attrinit closures? 21:22
jnthn mebbe
masak maybe they get OUTER'd improperly? 21:23
jnthn Possibly.
masak or sump'n.
sorear wtf
jnthn oh wtf.
sorear p6eval forks TWICE before running your code.
jnthn > sub foo() { 1 }; class Bar { has $.x = &foo }; Bar.new
Bar<230000816>
tadzik hy 21:24
jnthn sorear: That's forked up
sorear and the exit code is being lost between the first and second fork
tadzik jnthn: yeah, you can never have too many dollars
21:24 soh_cah_toa joined
jnthn I'm *so* glad it's not an outers bug... 21:25
tadzik :D
. o O ( LALALALA! GC BUG? I CAN'T HEAR YOU! LALALAA! )
wth is "duplicate named argument in call"? 21:27
nom: sub a(:$foo) {}; a(foo => 7, foo => 8) 21:28
p6eval nom 6fde31: OUTPUT«duplicate named argument in call␤ in <anon> at /tmp/5We0C8dRWg:1␤ in <anon> at /tmp/5We0C8dRWg:1␤␤»
tadzik okay
sorear Anyone know offhand how to get from 11 to "Segmentation fault" in perl5? 21:29
masak tadzik: that's not spec, but I'm on nom's side there.
tadzik masak: I don't see it anywhere in the source, that sentence
it's Parrot's error
masak aye. 21:30
jnthn Yes, it is
tadzik I wonder where it is
masak the problem, I guess, is if you flatten several hashes or something like that.
then you probably want the last named to override.
the spec is insane and talks about values collecting into arrays... :/ 21:31
sorear perldoc POSIX doesn't list psignal or strsignal
ah, found something 21:32
evalbot control restart 21:38
dalek albot: f52ae10 | sorear++ | lib/EvalbotExecuter.pm:
Only fork once, use signal names
21:38 p6eval joined, ChanServ sets mode: +v p6eval
sorear nom: pir::branch__vi(-1000) 21:38
p6eval nom 6fde31: OUTPUT«(signal SEGV)» 21:39
tadzik I think self.bless(*, :$year, :$month, :$day, :$hour, :$minute, :$second, :&formatter) is causing the problem
sorear not perfect, but an improvement
nom: Date.new(DateTime.new);
p6eval nom 6fde31: OUTPUT«(signal SEGV)»
tadzik sorear++ 21:40
jnthn Trying a possible patch.
21:40 Minimiscience left
jnthn > sub foo() { 1 }; class Bar { has &.x = &foo }; Bar.new.x().().say 21:43
1
> say DateTime.new.WHAT
DateTime()
Better.
pst
oops
testing
dalek kudo/nom: d41bb84 | jnthn++ | src/Perl6/Actions.pm:
Fix 'has &.x'.
21:47
jnthn tadzik: pre t'a ^^ 21:48
tadzik jnthn++
sorear jnthn: That was segfaulting?!
sorear wonders...how...
jnthn sorear: Yeah...though the patch fixes the surface issue.
sorear: I need to do some digging to work out how on earth it could have led to a segfault. 21:49
Well, 6model doesn't go checking every possible thing for you.
It does expect a compiler to enforce its own type system. :) 21:50
But in this case...I'm surprised.
sorear Are custom metaobjects allowed to create segfaults?
jnthn It's probably pretty hard. 21:51
There's one easy way
Which is to set up a native integer attribute
And then emit code that expects to access it as an objct
Oh
sorear Negative integer attribute...? 21:52
jnthn But that's not really possible
sorear oh
jnthn It's really hard with P6opaque to set up a segfault that way in a custom meta-object though.
It only ever asks the meta-attribute about its type once
And the compiler asks the representation when it wants to do code-gen, not the meta-attribute. 21:53
So you don't actually get a chance to give inconsistent answers.
So in fact, that segfault vector is covered too.
I suspect this segfault was a result of some mis-configuration of Scalar's attributes. 21:54
Oh, it could also be something expecting a 6model object and getting back a null PMC.
But that should always be detected.
yeah, it's looking like it's that...somehow. Hm. 21:55
aha. 21:56
tadzik nom: DateTime.now
p6eval nom 6fde31: OUTPUT«Default constructor only takes named arguments␤ in method new at src/gen/CORE.setting:506␤ in method new at src/gen/CORE.setting:6561␤ in method now at src/gen/CORE.setting:6613␤ in <anon> at /tmp/5LWeE7x9tB:1␤ in <anon> at /tmp/5LWeE7x9tB:1␤␤»
tadzik okay, at least I have that one fixed 21:57
dalek kudo/nom: 375fa0a | tadzik++ | src/core/Temporal.pm:
Small Temporal tune, fixes Date.new(Instant)
21:58
tadzik ooh, I think I see it now
self.clone(second => foo) 21:59
and clone has :$!second, **and** |%_
jnthn Not sure clone taking args is implemented yet
tadzik there's a custom clone(*%_)'
testing a fix 22:00
jnthn oh, ok :) 22:01
22:01 pernatiy left
tadzik well, a stupid one 22:02
%_<second> || :$!second
but should work in this particular case :)
22:02 lichtkind joined
lichtkind cheers good people of perl 6 22:02
tadzik hello lichtkind
lichtkind hej
tadzik oh, I mean, guten abend lichtkind 22:03
lichtkind tadzik: see you in ffm?
tadzik ffm?
lichtkind you as a polished ähm polish guy know we have at least 2 frankfurts the one where german perl workshop happens is FrankFurt am Main or short ffm 22:04
masak greetings, o lichtkind, lightbearer and witty guy.
lichtkind masak: i take this at tongue in cheek :) 22:05
tadzik lichtkind: what does the second f stand for?
and, re ffm, if you're inviting... ;) 22:06
jnthn Furt :P
lichtkind yes i upercased it
masak lichtkind: I'm never quite sure where my tongue is... :)
lichtkind hahaha, that was good 22:07
tadzik 13th German Perl-Workshop, right?
masak lichtkind: for you too? :P
lichtkind yes
tadzik oh, it's a few-dayer
lichtkind 3
but 1 track onlx 22:08
even in italy we had 2
so much less stress than in riga
tadzik not sure I'll be able to attend
so see you in ffm, but that'll probably be the next YAPC :) 22:10
jnthn the next YAPC! \o/
lichtkind allright
22:10 benabik joined
jnthn oh, wait, it's 11 months away... :) 22:10
lichtkind jnthn: there is still tcpw 22:11
tadzik doesn't matter! The next YAPC! \o/
jnthn lichtkind: Yes, I'm going to that :)
lichtkind haha
jnthn: i hope they but my talk before yours, i mean so i can lay groundwork
ffm.pm is very busy looks like they take it very seriously 22:13
they are so active they did most years there own litttle perl workshop :) 22:14
which was especially good last year
22:33 wolfman2000 left
tadzik b: sub a(:$foo) {}; a(foo => 7, foo => 8) 22:39
p6eval b 1b7dd1: OUTPUT«duplicate named argument in call␤ in main program body at line 22:/tmp/XJhle1lEUB␤»
tadzik that makes me wonder how DateTime even worked in b
22:39 packetknife joined
jnthn tadzik++ # fixing stuff 22:41
22:48 packetknife left
tadzik Dynamic variable $*TZ not found 22:56
now we're somewhere :)
jnthn :)
tadzik funnily, I don't know where it is supposed to be initialized/set 22:57
I don't see it in ng either 22:58
src/cheats/process.pm
yeah
could I just put it in Temporal.pm in nom that way?
our $TZ = ::DateTime-local-timezone.new;
that doesn't look too dynamic 22:59
jnthn Shouldn't it go in PROCESS?
Note that $*foo looks through call frames, then GLOBAL, then PROCESS.
It's almost certain you want to put it in PROCESS 23:00
As the spec says that the setting should put nothing in GLOBAL.
tadzik mhm
jnthn $PROCESS::TZ = DateTime-local-timezone.new;
tadzik yeah
jnthn Just put that at the end of Temporal.pm
Should work.
tadzik time will tell 23:01
oh, wait...
23:06 tokuhiro_ joined
tadzik hmm, I wonder how possible is a CPU upgrade in a laptop 23:06
23:20 bbkr1 left 23:29 uasi joined 23:30 wallberg left 23:32 dukeleto left, [particle] left, dukeleto joined 23:33 [particle] joined 23:34 alester left
masak 'night, channel. 23:37
23:37 masak left 23:43 uasi left 23:45 molaf left
sorear rakudo: sub foo { say "hi" }; BEGIN { foo } 23:48
p6eval rakudo 375fa0: OUTPUT«hi␤»
sorear jnthn++
23:49 packetknife joined
jnthn rakudo: sub foo { say "hi" }; BEGIN foo # just checking... 23:53
p6eval rakudo 375fa0: OUTPUT«hi␤»
jnthn phew :)
tadzik :) 23:54
rakudo: BEGIN { /d/ }
p6eval rakudo 375fa0: ( no output )
tadzik rakudo: BEGIN { /\d/ }
p6eval rakudo 375fa0: ( no output )
tadzik rakudo: BEGIN /\d/
p6eval rakudo 375fa0: ( no output )
tadzik oh, fixed? :)
jnthn I patched that yesterdayish 23:56
OK, I can't remember which day.
They all blur together.
:)
23:56 jamtech joined 23:57 molaf joined, JimmyZ joined
tadzik :0 23:58
:)
gah, I need some auto-correct for this :0
23:59 tokuhiro_ left