»ö« 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:08 whiteknight joined 00:13 lambdabot2 left 00:15 orphu joined 00:16 lue left 00:18 takadonet1 left 00:19 takadonet1 joined 00:20 drbean joined 00:28 orphu left, thou left 00:30 thowe joined 01:03 tokuhirom joined 01:23 rafl left 01:24 rafl joined 01:25 hillu left 01:26 hillu joined 01:32 whiteknight left 01:45 tokuhirom left 01:52 cogno_ joined 01:54 cogno left 02:04 beekor left
[Coke] parrot 3.7.0 out. 02:26
someone should bump the revs to get testing. 02:27
02:31 woosley joined
abercrombie good news 02:32
[Coke] hai? 02:40
takadonet1 hey all 02:46
02:51 _jaldhar_ joined
dalek ast: f351e47 | Coke++ | S03-operators/overflow.t:
nom fudge
02:57
[Coke] there's another ~100 tests. thanks to whoever made that work 02:58
dalek kudo/nom: 22d4296 | Coke++ | t/spectest.data:
run this (fudged) spectest
02:59 kid51 left 03:15 slavik2 joined 03:17 slavik left 03:19 cotto joined
[Coke] wonders if you can perlbrew a perl with threads. 03:21
03:23 Su-Shee_ joined
sorear heh. I wouldn't be suprised if you couldn't 03:24
03:27 Su-Shee left 03:33 nbrown left 03:35 nbrown joined 03:36 uniejo_in_riga joined 03:48 Eevee left 03:54 birdwindupbird joined 04:01 wheelnotkiss joined 04:04 wheelnotkiss left, wheelnotkiss joined 04:06 daniel-s joined 04:09 odoacre joined, wheelnotkiss left 04:13 satyavvd joined 04:23 thou joined 04:24 satyavvd left
pmichaud good morning, #perl6 04:27
thowe hi
sorear hi 04:31
moritz good morning 04:36
thowe is building rakudo for the first time in about a year 04:37
moritz [Coke]: perlbrew install perl-5.14.0 -D usethreads § iirc
thowe hrm... "Parrot VM: PANIC: Out of mem!" ... guess I'm not. 04:40
sorear is it legitimately out of mem or bugging? 04:44
sometimes it gets confused, tries to make a request for >1GB, and panics
thowe Failed allocation of 4096 bytes
04:45 soh_cah_toa left
thowe closed some programs and trying again... 04:46
been on the same command a long time...
bleh, died :( 04:47
04:50 rdesfo left
thowe maybe I shouldn't be trying to compile latest git 04:50
was doing "How to get Rakudo nom" 04:51
04:53 uniejo_in_riga left
thowe I'll try the 2011.07 04:54
04:55 satyavvd joined 04:58 Sarten-X left 04:59 lue joined 05:02 abercrombie left 05:03 [Coke] left 05:05 Tene left, Sarten-X joined 05:06 Tene joined, Tene left, Tene joined 05:08 _jaldhar_ left, chadadavis joined 05:09 jaldhar joined 05:16 thowe left
dalek p: 6fe5a07 | moritz++ | tools/build/PARROT_REVISION:
bump PARROT_REVISION to 3.7.0
05:17
kudo/nom: c75ed52 | moritz++ | src/core/Str.pm:
respect sign in "-:16<AB>".Numeric
05:18
kudo/nom: f959eac | moritz++ | tools/build/NQP_REVISION:
require an NQP that requires parrot 3.7
05:21 wolfman2000 left 05:28 envi joined 05:35 uniejo_in_riga joined 05:36 masak joined
masak yay! the Little Animal Farm lightning talk has been accepted! \o/ 05:37
sorear \o/
masak delivery later today.
sorear is never sure what to think when his fame stat incremements
05:39 cotto left, SHODAN joined
masak just to be clear, we're going to mention that there is a Niecza implementation of LAF, written by Stefan O'Rear. that's about it. 05:41
maybe I'll mention that it's slightly shorter than the Rakudo version. 05:42
sorear well sure, but even that is a bit more than I'm used to 05:43
masak ;)
05:45 wheelnotkiss joined
masak wheelnotkiss: hi! welcome! 05:45
sorear hello wheelnotkiss! (Am I supposed to know you?) 05:46
moritz \o
wheelnotkiss who moritz
masak moritz is a nice guy.
moritz would like to hear a talk "Yieldings the Chain Saw: How To Solve Circularity Issues in Bootstrapping Compilers" or so
... except when I'm not :-) 05:47
masak moritz: you'll just have to give one! ;)
sorear it helps a lot if you design your compiler to compile stuff in a different namespace than the compiler itself uses 05:49
on the other hand, it also hurts, as not having a common Mu type makes macros harder
05:49 wheelnotkiss left
masak sorear: you could wrap the compiler-side types in facade user-side types when the user needs to handle them. 06:00
sorear masak: yeah, that's what I'm planning to do 06:02
the main blocker is figuring out serialization stuff. my $x; BEGIN $x = 5; say $x might seriously violate POLS if I try to add BEGIN without serialization
masak why? 06:07
ah -- BEGIN *without* serialization. nvm.
well, Perl 6basically forces the language implementor into a thinking where the line between compile-time and run-time isn't very clear at all. that's part of the language. 06:08
but you know this already :)
TimToady always has it been thus :)
masak: you have any bright ideas for an expeditious way to turn RC entries into tests? 06:10
masak TimToady: no, just toil :/ 06:11
I don't see it being a very automatable task.
TimToady if we automate it, it would need to be something the developer can do, but that the user doesn't have to
I do have a snap of RC code entries from about a month ago 06:12
masak pmichaud said he wouldn't mind whole entries going in. that makes it easier.
TimToady I can probably get a fresher snap from the same source, though maybe not today
masak one month sounds fine.
the age doesn't really matter for finding bugs.
TimToady the downside is that the entries have coded names 06:13
masak as long as they're not bugs in the RC code :P
TimToady so you have to look at it and decide which entry it came from :/
so maybe we want something more closely tied to the actual RC task name 06:14
the actual HTML is hard to scrape, alas
esp if syntax hilit
06:14 george_z0rwell left
masak oh, you just want to throw everything in there? 06:14
maybe one could scrape the source somehow?
TimToady well, <lang perl6> tags are probably easy to find 06:15
but a bunch of hilighting tags are inside with a little bit of code
maybe they can be stripped
masak maybe.
06:15 uniejo_in_riga left
TimToady (referring to the actual page, not the ones I have on disk) 06:15
anyway, I can show you them 06:16
I guess we'll start wandering down to the venue now
masak o/ 06:17
06:17 Reaganomicon joined
sorear why scrape the HTML? wouldn't it be easier to scrape wiki markup? mikemol would, I am certain, be thrilled to provide #perl6 with database dumps 06:18
masak right, that's what I meant above. 06:19
moritz you can capture the output from rakudo/master for the RC entries, and write it to a file 06:20
06:20 Su-Shee_ is now known as Su-Shee
moritz and then write a short test harness that executes the stuff, and compares the output to the stored output 06:20
06:21 uniejo_in_riga joined 06:25 cotto joined, mberends left 06:31 uniejo_in_riga left, chadadavis left 06:33 Kivutarrr joined 06:35 cotto left 06:36 cottoo joined, koban joined 06:41 uniejo_in_riga joined
masak --> venue 06:44
06:45 masak left 06:46 envi left, fridim_ left 06:47 araujo left 06:48 saaki joined 06:53 thou left 06:56 chadadavis joined, kolyuchiy joined 06:57 uniejo_in_riga left 07:09 clkao left 07:10 clkao joined 07:14 noganex_ is now known as noganex 07:15 masak joined, chadadavis left, chadadavis1 joined 07:20 chadadavis1 left 07:23 chadadavis joined 07:26 kolyuchiy left, masak left 07:32 masak joined
pmichaud good morning, #perl6 07:36
moritz good am, pm 07:37
07:41 chadadavis left, chadadavis1 joined 07:45 uniejo_in_riga joined 07:48 mj41 joined
moritz nom: sub f() { nqp::unbox_s('foo') }; say f 07:52
p6eval nom: OUTPUT«Method 'gist' not found for invocant of class 'String'␤ in sub say at src/gen/CORE.setting:4565␤ in mu <anon> at /tmp/9aU56lVZSf:1␤ in mu <anon> at /tmp/9aU56lVZSf:1␤␤»
08:03 chadadavis1 left, chadadavis joined 08:04 uniejo_in_riga left, chadadavis left
moritz is there a good reason for having a p5chomp and p5chop, but not a p5substr, p5split etc.? 08:07
(if my intention is not clear, I'd like to get rid of the p5chom?p
)
08:09 masak left 08:11 Su-Shee left 08:13 cottoo left
dalek kudo/nom: 6cac7f1 | moritz++ | / (2 files):
implement p5chomp, p5chop (scalar case only)
08:13
08:15 noganex left 08:16 noganex joined 08:20 uniejo_in_riga joined 08:21 agentzh joined
sorear +1 to killing p5chomp 08:22
08:24 noganex left 08:27 chadadavis joined 08:28 masak joined 08:34 M_o_C joined 08:38 wamba joined 08:40 araujo joined, araujo left, araujo joined, fhelmberger left 08:41 fhelmberger joined 08:44 Trashlord left 08:48 cottoo joined 08:51 amkrankruleuen left, Kivutarrr left 09:00 uniejo_in_riga left 09:05 masak left, masak joined 09:06 uniejo_in_riga joined 09:11 woosley left 09:13 masak left 09:14 cottoo left 09:20 im2ee joined 09:22 im2ee left, im2ee joined 09:25 uniejo_in_riga left 09:30 MayDaniel joined 09:31 kolyuchiy joined 09:35 M_o_C left, M_o_C joined 09:36 Gothmog_ joined 09:39 kolyuchiy left, im2ee left
dalek ast: a2f2b73 | moritz++ | S32-str/ (3 files):
fudge split-simple.t and p5chom?p tests
09:40
09:43 masak joined
dalek kudo/nom: 43f9e11 | moritz++ | / (3 files):
fix split, run split-simple.t
09:43
09:44 im2ee joined
moritz I'm now confident that nom's .split can do the same as rakudo/master's, modulo NYI regex features 09:44
09:47 chadadavis1 joined, chadadavis left, cottoo joined
dalek kudo/nom: 6246bdf | moritz++ | / (2 files):
Cool.chr
09:58
09:58 [particle] left
09:58 rafl left 09:59 [particle] joined 10:01 cottoo is now known as cotto 10:03 wamba left
TimToady the RC sphere program has been running for most of an hour, and is up to about 6GB 10:04
I suspect it's leaking somehow 10:05
jnthn Sounds like. 10:06
TimToady (had to call MAIN by hand to get it to run) 10:07
moritz well, a simple ./perl6 -e 'while 1 {}' leaks about 8MB per 3s
jnthn ?
jnthn thought we'd fixed that one long back :/
tadzik yay, a gc bug :)
moritz jnthn: in master, yes
(before nom)
tadzik oh
jnthn Yeah but...no clue where nom would regress on that.
tadzik oh, that's fine
can it be connected with the write beerier thing I stumbled upon? 10:08
jnthn tadzik: It's a leak. 10:09
:P
Last time it was the lexpad memory leaking. Seems not that this time.
Or at least, it's marked auto_attrs
10:09 Trashlord joined
moritz tadzik: write barriers should only control when something is considered for GC, not if it is GCed at all 10:10
tadzik okay
jnthn My guess is that it's not so much a lack of GC as it is a C-level leak 10:11
Finding where is kinda tricky though.
valgrind is probably helpful.
tadzik yes
moritz it probably reports a leak in parrot_gc_alloc or so :/
jnthn yes, but with a stack trace, I guess? 10:12
moritz right, I just need to capture the stacktrace
there are many of them 10:13
10:13 Su-Shee joined, chadadavis1 left
jnthn k 10:15
jnthn gets the leak too but doesn't see the obvious source of it
TimToady 6.7GB and only half done, 64minutes
moritz moritz.faui2k3.org/tmp/valgrind.log
TimToady lunch &
moritz I had to hit Ctrl+C to stop the process 10:16
so there was no final GC run or anything like that 10:17
jnthn in use at exit: 830,168 bytes in 342 blocks
A lot of these leaks I'm seeing are startup allocations 10:18
10:18 cotto left
moritz I'm working on a better example 10:19
jnthn e.g. not while the loop is going
10:19 c1sung left
moritz now looking at 10:20
my int $i = 0; $i = nqp::add_i($i, 1) while $i < 1_000;
which also leaks
jnthn hm 10:21
10:22 masak left, M_o_C left
moritz moritz.faui2k3.org/tmp/valgrind2.log 10:23
10:35 Mowah_ joined
jnthn As another data point, nqp doesn't seem to leak. 10:36
10:38 uniejo_in_riga joined 10:40 cotto joined
cotto jnthn, where are you at? 10:40
I've got a draft email to parrot-dev I'd like you to take a look at. 10:41
10:41 chadadavis joined 10:48 masak joined 10:49 im2ee left 10:51 [Coke] joined 10:59 chadadavis left 11:06 odoacre left 11:09 chadadavis joined 11:12 mux joined 11:30 uniejo_in_riga left
moritz nom: say "foo" ~~ /<['"]>/ 11:30
p6eval nom: OUTPUT«␤» 11:31
11:34 masak left
moritz hopes that jnthn++ will upload his slides soon 11:34
11:38 cotto left 11:40 cotto joined 11:43 Trashlord left 11:52 [Coke] left 11:53 im2ee joined 11:55 jferrero left 11:56 nwc10 joined
nwc10 For those in the room at YAPC::Europe 11:56
presumably Zefram's comment is valid in some cases - it would be a possible optimisation for a lazy map on a list to shortcut if it's sure that the block sa no side effects.
(ie simple blocks)
really simple blocks. 11:57
not sure if it's worth it.
11:59 [Coke] joined 12:04 Trashlord joined 12:06 jferrero joined 12:20 dual left 12:25 MayDaniel left
dalek ast: bdb8845 | moritz++ | / (3 files):
fix two bogus tests, unfudge advent2009-day08.t for nom
12:32
ok: 45f9225 | (Maik Hentsche)++ | src/basics.pod:
"variable results" table matches example now

The table "Contents of Variables" contained line "Ana vs Dave | 3:0" while the example only had "Ana Dave | 3:0". The table now matches the example.
12:42
moritz aloha: karma moritz 12:47
aloha moritz: moritz has karma of 1779.
moritz aloha: karma moritz_
aloha moritz: moritz_ has karma of 230.
12:48 Trashlord left
[Coke] grumbles as all the perl.org addresses time out. 12:48
moritz++ # building now. 12:49
12:52 JimmyZ joined 12:57 bluescreen10 joined 13:01 Holy_Cow joined, Sarten-X left 13:02 Holy_Cow left 13:04 satyavvd left 13:07 uniejo_in_riga joined 13:08 Sarten-X joined, rdesfo joined 13:11 masak joined, chadadavis left 13:20 orafu left, orafu joined
cognominal_ is there a way to get the parsetree for a perl6 program without executing it? 13:22
moritz cognominal_: viv in the perl6/std repo does that 13:23
cognominal_: but there's no specced way to do that from within a Perl 6 program
cognominal_ but rakudo does parse programs so there is a way. I am just not skilled enough to find it 13:25
moritz a, from rakudo
--target=parse
13:26 uniejo_in_riga left
moritz ...except that that's broken in nom 13:26
13:26 uniejo_in_riga joined 13:28 chadadavis joined, chadadavis left
cognominal_ I am using master 13:29
13:29 uniejo_in_riga left
moritz ok 13:30
cognominal_ jnthn is your grammar debugger working in master?
thx, moritz
13:31 tokuhirom joined 13:32 masak left 13:41 jaldhar left 13:46 abercrombie joined, envi joined 13:50 nwc10 left 13:59 cotto left 14:03 envi left 14:04 rdesfo left 14:05 envi joined 14:06 finanalyst_ joined, masak joined
dalek kudo/nom: 63b54d1 | moritz++ | NOMMAP.markdown:
add memory leak to NOMMAP punchlist
14:07
14:08 Kivutarrr joined 14:09 drbean left, thowe joined
thowe scsys.co.uk:8002/133702 14:10
Downloaded rakudo-star-2011.07.tar.gz, have run perl Configure.pl --gen-parrot a couple times but still getting this error. 14:11
Have I done something else obviously wrong?
14:12 SHODAN left
thowe parrot_config is in the parrot-3.6.0 dir under the dir I am in running that command. 14:12
14:13 masak left
moritz gmake: *** [compilers/opsc/gen/Ops/Compiler/Grammar.pir] Segmentation fault (core dumped) 14:13
that's the actual error, and all the result just results from that
thowe I thought maybe
moritz dunno what's wrong here, that's an error from installing parrot
maybe the folks in #parrot know better
(on irc.perl.org, that is)
thowe OK 14:14
14:14 koban left
thowe I'll hit them up once I'm at work... 14:14
bbiab..
14:14 thowe left
dalek kudo/nom: e0f9eee | Coke++ | t/spectest.data:
track (non) failure mode.
14:15
14:20 uniejo_in_riga joined, masak joined 14:24 frew_ joined 14:26 frew_ left 14:30 Lorn left 14:39 kaare_ joined 14:42 Trashlord joined 14:43 Lorn joined 14:46 alester left 14:47 uniejo_in_riga left 14:48 uniejo_in_riga joined 14:49 nordicdyno joined 14:54 thou joined 14:55 finanalyst_ left 14:58 uniejo_in_riga left, uniejo_in_riga joined 14:59 uniejo_in_riga left
[Coke] moritz: I have a threaded perl. I can now run autounfudge. I haz a confused. got a sec? 15:06
moritz [Coke]: yes 15:07
[Coke] so, I run:
perl tools/autounfudge.pl --specfile t/spectest.data --unskip
this then complains:
File 't/spec/S02-builtin_data_types/anon_block.t' doesn't even pass in its current state 15:08
but it's fudged, and it does pass fudged.
moritz hm, it doesn't complain here 15:09
[Coke]: fwiw I usually just run it as /usr/bin/perl tools/autounfudge.pl -a -j 3
[Coke] I'm at e0f9eee on nom, and bdb8845 on t/spec
[Coke] tries that. 15:10
moritz the -a automatically picks up t/spectest.data
and the -j 3 is just three jobs in parallel
it does unskip by default too, iirc
[Coke] interesting that -j 3 seems to run 4 jobs. ;)
yup, getting a ton of "doesn't even pass" errors. 15:11
moritz :-)
[Coke] :(
moritz that is..weird
[Coke] do I need to... install first or something? 15:13
moritz no
do you get that line for all test files?
[Coke] pretty much. 15:14
ah. is it checking the exit value?
tools/perl6-limited.pl t/spec/S02-builtin_data_types/anon_block.rakudo
runs, appears to DTRT, but echo $? shows 1 15:15
moritz huh
15:16 Trashlord left
moritz if you look at autounfudge.pl line 198, it does launch fudge with --keep-exit-code 15:16
[Coke] So, at a wager, ths is related to the occasional swathes of "every passed your spectest, but we got lots of non-zero exit codes" issues.
moritz but then 'make spectest' should also report them, right? 15:17
[Coke] and keep-exit-code means to NOT append an exit(1) at the end of everything fudge,d aye?
15:18 nordicdyno left
moritz correct 15:18
[Coke] so I bet if I run 'make spectest 'now, I'll get lots of not-really-failures.
15:18 masak` joined 15:20 masak left 15:21 Trashlord joined 15:22 JimmyZ left 15:23 masak` left, JimmyZ joined 15:31 tokuhirom left 15:35 j`ey joined 15:40 mj41 left 15:41 wolfman2000 joined 15:42 Kivutarrr left 15:44 Trashlord left 15:53 envi left 15:58 mberends joined 16:01 Trashlord joined, birdwindupbird left 16:08 rdesfo joined 16:09 JimmyZ left
mberends nom: say now; 16:15
p6eval nom: OUTPUT«Instant:1313597768.08085␤»
[Coke] moritz: aye. 16:16
(failures in spectest on exit code)
diakopter nom: say now.perl 16:30
p6eval nom: OUTPUT«Instant.new(x => 533321050977/406)␤»
16:30 jevin left 16:34 Vlavv joined, jevin joined 16:36 j`ey left 16:42 Trashlord left 16:43 MayDaniel joined 16:47 Trashlord joined 16:56 fridim_ joined 16:57 dual joined 16:59 nordicdyno joined
cognominal_ is panda supposed to work on nom? 17:04
17:05 MayDaniel left 17:08 daniel-s left, Moukeddar joined 17:17 nordicdy_ joined 17:20 nordicdyno left 17:21 janosik joined 17:39 benabik joined 17:40 Holy_Cow joined
moritz cognominal_: it does not, iirc 17:41
17:41 agentzh left
cognominal_ ok, thx 17:42
17:43 wolfman2000 left, Holy_Cow left, nordicdy_ left
colomon nom: say asin(0.785398163404734 + 2i) 17:48
p6eval nom: OUTPUT«0.341338918259482 + 1.49709293866352i␤»
moritz rakudo: asin(0.785398163404734 + 2i) 17:51
p6eval rakudo 922500: ( no output )
moritz rakudo: say asin(0.785398163404734 + 2i)
17:51 Vlavv left
p6eval rakudo 922500: OUTPUT«0.341338918259481 + 1.49709293866352i␤» 17:51
colomon moritz: It's niecza I'm worried about.
someone I managed to code asin in such a fashion that exactly three of the dozen-odd Complex tests fail
[Coke] all in one quarter? 17:56
colomon [Coke]: good question 17:57
rakudo: say (-0.707106781186548+2i).asin 18:01
p6eval rakudo 922500: OUTPUT«-0.308970651577122 + 1.48723059138151i␤»
colomon rakudo: say (0.707106781186548+2i).asin 18:02
p6eval rakudo 922500: OUTPUT«0.308970651577122 + 1.48723059138151i␤»
colomon [Coke]: good call
[Coke] \o/
I just saw "3 out of dozen" and guessed. ;) 18:03
colomon (-0.707106781186548+2i).asin works, but (0.707106781186548+2i).asin doesn't. Sign of the real part looks like it's the problem.
[Coke]: that was a very approximate number, mind you. :) 18:06
18:19 sftp left 18:20 sftp joined 18:27 birdwindupbird joined 18:28 djanatyn left, Tene left, Tene joined, Tene left, Tene joined, mtk joined 18:29 djanatyn joined
colomon [Coke]: ooo, this officially just became an interesting problem. 18:33
rakudo: (2.83262200201267-1.48723059138151i).polar 18:34
p6eval rakudo 922500: ( no output )
colomon rakudo: say (2.83262200201267-1.48723059138151i).polar
p6eval rakudo 922500: OUTPUT«3.19931277592974-0.483475794339868␤»
18:34 Trashlord left
colomon rakudo: say ~(2.83262200201267-1.48723059138151i).polar 18:34
p6eval rakudo 922500: OUTPUT«3.19931277592974 -0.483475794339868␤»
colomon rakudo: say ~(0.308970651577121+1.48723059138151i).polar 18:35
p6eval rakudo 922500: OUTPUT«1.51898574564641 1.36596104018484␤»
colomon rakudo: (0.308970651577121+1.48723059138151i).sin
p6eval rakudo 922500: ( no output )
colomon rakudo: say(0.308970651577121+1.48723059138151i).sin 18:36
p6eval rakudo 922500: OUTPUT«0.308970651577121 + 1.48723059138151i␤»
colomon rakudo: say (0.308970651577121+1.48723059138151i).sin
p6eval rakudo 922500: OUTPUT«0.707106781186544 + 1.99999999999999i␤»
colomon rakudo: say (2.83262200201267-1.48723059138151i).sin
p6eval rakudo 922500: OUTPUT«0.707106781186549 + 1.99999999999999i␤»
18:37 Trashlord joined, itz joined 18:39 literal_ joined, Trashlord left 18:40 Trashlord joined 18:45 cotto joined 18:46 mtk left
colomon rakudo: my $x = 0.707106781186548+2i; -1i * (($x)i + sqrt(1 - $x * $x)).log 18:47
p6eval rakudo 922500: ( no output )
colomon rakudo: my $x = 0.707106781186548+2i; say -1i * (($x)i + sqrt(1 - $x * $x)).log
p6eval rakudo 922500: OUTPUT«0.308970651577122 + 1.48723059138151i␤»
18:47 mtk joined
pmichaud good evening, #perl6 18:47
colomon o 18:48
colomon appears to have lost an arm there
18:48 [Coke] left
colomon \o 18:48
benabik colomon: Doing so much coding, it just fell right off?
colomon benabik: more like, so tired I forgot to bring it with me 18:49
rakudo: my $x = 0.707106781186548+2i; say ($x)i + sqrt(1 - $x * $x)
p6eval rakudo 922500: OUTPUT«0.215296019312918 + 0.068720962747837i␤»
colomon niecza: my $x = 0.707106781186548+2i; say ($x)i + sqrt(1 - $x * $x)
p6eval niecza v8-52-g3afe236: OUTPUT«-4.21529601931292+1.34549259962526i␤»
18:50 [Coke] joined
colomon so the problem is the branch being chosen for the complex square root 18:50
moritz is that specced? 18:52
colomon I don't think so
sqrt: "Returns the principal square root of the parameter."
hmm 18:53
18:53 wolfman2000 joined
colomon mathworld.wolfram.com/PrincipalSquareRoot.html seems to suggest that doesn't help 18:53
18:54 domm left 18:55 domm joined 18:56 pernatiy joined, Moukeddar left
colomon well shoot, now I don't know if I should try to fix the "problem" by defining which branch to take in the spec, or fix the problem by never directly testing the results of the inverse functions. :\ 19:03
moritz you can use an any() test 19:07
colomon moritz: I believe that will only work to test sqrt, not asin, because the latter has an infinite number of possible solutions. 19:09
moritz oh.
colomon actually, I wonder if Util's recent research touched on these issues?
19:09 masak joined 19:10 mikemol joined
masak good evening, #perl6. 19:10
19:10 Acor joined
moritz oh hai masak 19:10
colomon o/
19:13 Acor left
masak this is embarrassing. I gave a talk about event sourcing on Monday. today after my lightning talk, pmichaud++ comes and tells me "your game AI player API. it should take not just the current state as a parameter, but also the history of events." I shoul've thought of that :) 19:13
by the way, the slides are here: masak.org/carl/yapc-eu-2011-little-...m/talk.pdf
19:13 im2ee left 19:14 im2ee joined
masak changes the API 19:15
colomon is glad slide two clarified the Orwell issue. ;) 19:18
masak so now, instead, the game will be passing along *both* the current state *and* the sequence of events so far in the game, even though from an ES perspective the latter is redundant.
the general opinion around the dinner table was that it's the kind thing to do.
PerlJam masak: A smart AI would have recorded them itself ;)
masak PerlJam: yeah, but the jumps may be too big to recreate the events from the states. 19:19
colomon it's the functional thing to do, for sure.
masak PerlJam: the player only gets "control" once a round. or possibly more, if it's the target of tradings.
but in the worst case, once. 19:20
19:20 literal_ is now known as literal
masak no, in retrospect it's pretty obvious that the events should be passed along. 19:20
which brings me quite naturally to another issue. 19:21
when an array attribute or a hash attribute is marked 'is rw', does that mean that outside parties can change its contents? 19:22
perl6: class A { has @.x = 1, 2, 3 }; my $a = A.new; $a.x[1] = 42; say $a.x.perl
p6eval rakudo 922500: OUTPUT«[1, 42, 3]␤»
..niecza v8-52-g3afe236: OUTPUT«[1, 42, 3].list␤»
..pugs: OUTPUT«*** ␤ Unexpected ","␤ expecting "_", fraction, exponent, term postfix, operator or "}"␤ at /tmp/gXec3BbSKC line 1, column 22␤»
masak seems pretty clear they can.
19:23 MayDaniel joined
masak that's fine; it just means that if you want *real* encapsulation with array/hash attributes, you can't use 'is rw' with the normal accessors. 19:23
19:23 mtk left, jevin left, mtk joined
masak oh, I mis-stated my question. 19:23
I meant readonly attributes. 19:24
which is accidentally what I tried with p6eval, so the conclusion still holds :)
colomon ah, that question makes more sense. :)
masak ISTR sorear has mentioned this a couple of times.
19:25 mtk left
masak saying that no-on has figgered out a sane way for arrays/hashes to lock their elements in this case. 19:25
colomon I recall pmichaud talking about it as well, but it's been quite a while.
masak yeah.
19:25 mtk joined
masak well, here's the thing. I definitely don't want this to happen to my master data structures in the game, because that would be tantamount to tampering with the game. 19:26
so I'll just have to deep-clone everything before I send it off.
that's no problem; it's just that from an "OO safety" perspective it's kind of a crappy default.
19:27 mtk0 joined 19:28 jevin joined, mtk left, mtk0 left, mtk joined 19:31 molaf_ left
PerlJam masak: why a hash for players instead of an array? 19:31
It looks like you do a lot of number -> player_number transformations in the code 19:33
19:33 Su-Shee_ joined 19:35 birdwindupbird left
masak PerlJam: yeah. could've been factored diff'rently. 19:35
numbers, with the stock being number 0, would've worked too. 19:36
19:36 Su-Shee left
PerlJam so ... accident of creation? :) 19:36
masak still mulling over it :)
I kinda like the self-documenting parts of having 'stock' and 'player_3' as strings. 19:37
I hadn't considered it a problem until now.
19:37 im2ee left 19:38 im2ee joined
moritz could anybody please proof-read piratepad.net/COm4Gkcv0I for grammar, spelling and sense? 19:39
19:41 janosik left
moritz PerlJam++ 19:41
and two <unnamed>++ too :-)
PerlJam the colors are playing havoc with my eyes for some reason though
moritz sorry about that 19:42
oh, and if there's some interest, I'll surely find a way to sneak in a Perl 6 hackathon
19:43 MayDaniel left
colomon seems like "Perl for beginners" doesn't need the three sub-points? maybe? that's pretty nit-picky 19:44
(I mean, my pointing it out is nit-picky)
moritz colomon: probably, yes
colomon: I just took the German template and translated it straight into English, without much thinking :-) 19:45
colomon also, entire thing appears to be twice on the pastebin?
PerlJam what colomon just said
masak moritz: 'humor'. you using US spelling deliberately?
nothing wrong with that, just asking. 19:46
moritz masak: no
moritz deletes the second half
PerlJam so .... all talks will have 100-150 person capacity? 19:47
moritz PerlJam: the room has a capacity of about 200 persons, but usually just 100 to 150 attend 19:48
(experience from previous GPWs)
PerlJam it seems weird to me that lightning talks, short talks and long talks will all be in same space.
moritz why? 19:49
we have a small and a big room
PerlJam I don't know :)
moritz so we chose the big room for everything except the tutorials
PerlJam How many talks and tutorials are you hoping to get?
masak writes code that calls a method on self inside a sub inside a method 19:50
PerlJam (maybe put that in the CFP)
moritz PerlJam: I have no idea :-)
PerlJam Er .... what's the second date supposed to be? 2012-03-2012 can hardly be correct :) 19:51
moritz 05
erm wait
05 to 07
PerlJam It's a one day event?
oh.
so, how many talks/tutorials can you fit in 2-3 days? 19:52
That's a good upper bound on the number of each you can have.
moritz looking at the YAPC::EU schedule, maybe 8 to 11 a day 19:55
PerlJam maybe it's just some latent marketingness in me that I'd want to advertise the number of potential slots and then use that in future announcements.
"Get your tutorial in today! Only 3 slots left!"
moritz I kinda like the idea, just want to synchronize with the organizers first
19:56 im2ee left 19:57 im2ee joined
masak so... who will be the first one to write a Little Animal Farm player class? 19:59
I could do it, but that'd be less fun than someone else doing it. 20:00
20:00 mj41 joined
masak and then that person could help me put together the instructions for writing such a class :) 20:00
moritz maybe tomorrow 20:01
trouble is, I've never played the game
so it's hard for me write an AI
masak we need a naive AI first. 20:03
one that does the minimal amount of work to win.
PerlJam "to win"? Are you sure you really meant "naive AI"? :)
20:03 Moukeddar joined
masak PerlJam: well, the assumption is that there's no competition at all out there yet :) 20:04
PerlJam: we essentially want to build something that can get beaten :)
Gloria++ supplied the recipe for one: trade up to new animals when you can, and ignore buying dogs.
PerlJam So ... "minimal amount of work to play until the game ends" ?
masak right. thing is, if you do nothing during trades, which would be the simplest thing possible, you can never win. 20:05
so you need to do the simplest/laziest thing possible that makes it possible for you to win.
PerlJam The "do nothing" AI has got to be easy to write ;) 20:06
masak anyone who's interested at giving it a shot: first, read the talk. masak.org/carl/yapc-eu-2011-little-...m/talk.pdf 20:07
then read the rules at github.com/masak/farm
then read the nonexistent instructions for writing an AI player.
then implement it. 20:08
PerlJam is it playable with nom? 20:10
s/playable/runnable/
masak PerlJam: dunno. please find out ;) 20:11
any failures would be really interesting to know about.
masak realizes that he's really a master kind of guy 20:12
20:13 Mowah_ left
PerlJam plays "Master of Puppets" in honor of masak 20:13
20:15 im2ee left
jasonmay wonders if he'll have to re-work his IoC module for nom, etc 20:16
20:16 saaki left, im2ee joined
PerlJam Method 'rxtype' not found for invocant of class 'PAST;Regex' 20:16
(running farm.pl on nom)
masak I recognize that error. 20:17
don't remember where, though.
a search of the backlog might turn something up.
(hint, hint)
20:19 im2ee left, acor joined, im2ee joined 20:20 thou left 20:24 acor left, Kivutarrr joined 20:25 nbrown left 20:29 molaf joined
flussence masak: I was complaining about the same error yesterday :) 20:30
masak ah, there you go. 20:31
was that from running farm.pl as well?
flussence no, Text-Tabs-Wrap
masak ah. 20:32
I don't have any grammars in farm.pl. I may have a regex or two.
20:33 kaare_ left
PerlJam it looks like niecza almost runs farm.pl It only reported problems with the BUILD submethod on line 12 20:33
(of course it may have just given up at that point, but I'm ever hopeful :) 20:34
masak ok.
20:38 im2ee left 20:39 im2ee joined
sorear good * #perl6 20:42
masak o/
PerlJam sorear: Think you can make niecza grok Perl 6 better so that it can run github.com/masak/farm/blob/master/farm.pl ? :-) 20:45
20:45 LimitSupremum joined
PerlJam sorear: See gist.github.com/1152567 for what happened when I try 20:45
20:46 nbrown joined
PerlJam sorear: I guess it's because niecza doesn't yet quite grok $!vars (at least according to perl6.org/compilers/features.html) 20:48
sorear that per se is fixable
well, :$!vars
PerlJam aye. their relationship
masak likes :$!vars 20:49
I made sure we got that syntax.
uh, wait, no.
I'm thinking of the same syntax but on the caller side, as a named argument.
tadzik oh hello #perl6 20:51
masak tadzik! \o/
sorear niecza also needs MAIN for masak's farm to work
tadzik masak: apparently, there are some people who want to rewrite LAF to java, or webservice, or Perl 5 to work on the AI 20:53
„or maybe even do it in Perl 6 actually”
masak tadzik: huh! 20:54
well, I guess we can't *stop* people from porting the thing.
tadzik true
masak and I wouldn't want to spend my time trying, anyway ;)
tadzik oh, and some people, before I mentioned the implementation, thought „oh, I could totally write an AI for that”
so our ideas aren't unique ;) 20:55
masak nope :)
tadzik so where did you have dinner?
masak we were discussing the game and AIs over dinner tonight.
at the awesome sekkrit Indian nommery.
tadzik I didn't get a message back from you so I just got to that main place
oh
masak a message back from me? 20:56
tadzik did you get mine?
masak I texted you, never got a response...
tadzik shit
masak :/
tadzik I retexed you in like 2 minutes :/
masak huh.
masak checks again
tadzik Latvia<gsm>--
masak nope, nothing. 20:57
tadzik weird
masak yeah. ah, too bad. would've been nice to have you there. we had an empty eigth chair for you, in fact. 20:58
tadzik oh, I saw people today laughing "look, I just got your text message from monday!"
masak eighth*
tadzik well, it happens
21:01 im2ee left
tadzik shame though. I'm glad you had a good time :) 21:03
21:03 bluescreen10 left, mj41 left
masak tadzik: ooc, where did you disappear to? the only way I could think of reaching you was via texting. 21:03
tadzik masak: I was standing outside for like 10 minutes or so, then got with some folks to the usual place, where the first-day meeting was 21:04
or, the pre-conf meeting actually 21:05
21:05 sftp left
masak ah, ok. 21:05
well, we were standing around just inside for about 10 minutes or so...
tadzik but I got your message like 5 minutes after we left. I sent you a msg that I'll go to my hotel for a sec and I'm ready to go
21:06 sftp joined
masak oh, ok. 21:06
21:06 saaki joined
masak I'd tell you a Latvia<gsm> joke, but you might now get it... 21:06
not* 21:07
tadzik heh
maybe they actually have a network called UDP
masak that would explain things. 21:09
I'll probably get the reply just after I fall asleep tonight.
tadzik yeah, probably 21:10
or really *too early* in the morning
21:11 wamba joined, wamba left
masak rakudo: my %foo = a => {}, b => {}; sub deepclone(%h) { return %h }; my %bar = deepclone(%foo); %bar<b><hi> = "hopp"; say %foo.perl 21:14
p6eval rakudo 922500: OUTPUT«{"a" => {}, "b" => {"hi" => "hopp"}}␤»
masak rakudo: my %foo = a => {}, b => {}; sub deepclone(%h) { return hash map -> $k, $v {; $_ => ($v ~~ Hash ?? deepclone($v) !! $v ) }, %h.kv }; my %bar = deepclone(%foo); %bar<b><hi> = "hopp"; say %foo.perl
p6eval rakudo 922500: OUTPUT«{"a" => {}, "b" => {}}␤»
masak \o/
21:16 wamba joined, jnthn left
tadzik what does BOF stand for? Not easily googlable 21:16
21:16 jnthn joined
masak tadzik: Benevolent Dictatory For [Life?] 21:17
Dictator*
tadzik no, B Oh F
flussence Bundle o'fish?
tadzik How do you rate the conference? 21:18
How would you rate your overall satisfaction of the following areas of the conference?
masak Bird Of Feather.
tadzik (BOFs)
21:18 Kivutarrr left
tadzik I don't get it :) 21:18
masak I didn't hear of any this time.
oh, it's a concept.
someone wants to start something cool.
so they just draw together other interested people.
21:18 bluescreen10 joined
masak and if it takes off, it's sort of... a bird from a single feather. 21:18
tadzik mhm
masak that's all. 21:19
tadzik I didn't see any of those really
maybe the Acmeism fun with ingy++ today
masak that was a talk though, wasn't it?
tadzik well, I hacked a Vala backend with ingy today 21:20
it was almost like copypasting a Java backend
still, fun
masak that seems to be an important part of acmeism. 21:34
21:42 Trashlord left 21:45 bluescreen10 left, Psyche^ joined
masak 'night, #perl6 21:46
21:46 masak left, athomason joined 21:48 Patterner left, Psyche^ is now known as Patterner 21:49 Trashlord joined 21:54 ggoebel left, Moukeddar left 21:57 Mowah left 22:21 bbkr left 22:27 jevin left 22:28 jevin joined 22:53 LimitSupremum left 23:02 drbean joined 23:03 drbean left, ponbiki left 23:08 wamba left 23:14 tokuhirom joined 23:21 whiteknight joined 23:24 ponbiki joined 23:34 [particle] left 23:35 [particle] joined 23:36 soh_cah_toa joined 23:39 sjn left 23:40 sjn joined 23:45 molaf left 23:57 molaf joined
abercrombie Is nom going to be the master branch tomorrow? 23:59