Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-10-30

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 * diakopter has one file in 6model/dotnet left to port to Lua
00:00 diakopter unfortunately, it's the longest, most complex one (MultiDispatcher.cs)
00:02 diakopter sorear: you're right about git add. I didn't know
00:02 Trashlord joined #perl6
00:15 colomon [Coke]: are you looking at the sequence tests?
00:16 [Coke] colomon: no.
00:16 colomon where did you run into much?
00:16 colomon *munch
00:17 * colomon was trying to get one of the sequence tests running the other day, and there were a zillion munches mixed in the tests
00:20 [Coke] ack 'niezcza.munch' t/spec # the 2 files I tripped over it today in.
00:20 [Coke] er, .*
00:49 benabik joined #perl6
00:53 lue could I access the LHS of a .. or ... from the RHS? (e.g. I'd like to type $a..$a+1, but $a has a much longer name)
00:54 wolfman2000 joined #perl6
01:04 colomon lue:  not in any way which would be a shortcut
01:05 colomon though there's always { $_..$_+1 }($a)
01:06 lue Yeah, I found that out already. I was hoping that there was something like $a..$lhs+1 or something :)
01:19 lue Another question I've thought of occasionally is how to store summations that go to infinity. Is there something that would force things to be lazy? (I see a .eager method in Rakudo, but no .lazy)
01:31 daniel-s joined #perl6
01:31 colomon what do you mean by summations?
01:31 colomon rakudo: say ([\+] 1..*)[^10]
01:31 p6eval rakudo 40f181: OUTPUT«1 3 6 10 15 21 28 36 45 55␤»
01:59 lue the kind used with Σ, e.g. Σ_(n=1)^(100) n (one-line input does not befit Σ notation) would be [+] ($_ for 1..100) in P6
01:59 sorear do you think you might be looking for "maxima"?
02:01 lue what is maxima?
02:01 sorear a free programming system which does symbolic math
02:03 daniel-s_ joined #perl6
02:06 colomon lue: note that my rakudo example there is exactly a lazy evaluation of the sum of n as n goes from 1 to infinity.  we see the first ten sums
02:06 lue maxima looks like something that should be on my computer already /me about to install
02:07 sorear "also, maxima is itself older than Unix, so it works fine on older PCs"
02:09 colomon every now and then I desperately need symbolic math for work.
02:09 colomon I've definitely used maxima, but it seems to me I was using something else more recently.
02:10 * sorear knows the SAGE guy irl
02:12 colomon huh.  just look at wikipedia's list, and ... oh, wxMaxima?  no, that's a Windows app.
02:13 lue is my idea that lazy means "don't do ($_) for 1..Inf; #`[for example] until I ask for some of those values" correct?
02:13 sorear yes
02:14 lue so should  perl6 -e '($_) for 1..Inf'  hang? (I'd put @a = in front of that if = wasn't eager (from what I've read in the spec))
02:15 sorear lue: sink contexts are eager
02:16 sorear if you want that to not hang, you have to put it into a lazy context
02:16 sorear like for ($_ for 1..Inf) { .say } # this should work (but won't)
02:18 drbean joined #perl6
02:19 lue I read that @a <== would be lazy, but it still hangs (which means either rakudo is wrong or I read incorrectly)
02:22 sorear rakudo handles a lot of laziness stuff wrong
02:22 sorear but I think you are XY-probleming.
02:22 sorear step back, tell me what you REALLY want to do.
02:26 lue What I want to know how to do in the future (so if there's no answer tonight, no worries) is how to store an infinite summation so I can call a certain number of terms later and sum them for an approximation
02:28 sorear lue: Perl 6 is designed to make that hard because it's a bad idea.  Are you familiar with XY problems?
02:28 lue I am not /me looks it up
02:30 dalek niecza: 095b52c | sorear++ | lib/ (2 files):
02:30 dalek niecza: Optimize RefConstant, avoid excessive string concatenation
02:30 dalek niecza: review: https://github.com/sorear/niecza/commit/095b52cd12
02:34 lue Ah. Yeah, I've realized now that I just got stuck on the idea of storing an infinite summation, when really its only purpose would for approximation by using just some of terms.
02:34 benabik joined #perl6
02:54 dalek niecza: be42b29 | sorear++ | lib/CodeGen.cs:
02:54 dalek niecza: The long overdue killing-with-fire of JScalar
02:54 dalek niecza: review: https://github.com/sorear/niecza/commit/be42b29bab
03:09 _jaldhar joined #perl6
03:15 TimToady you are certainly allowed to store an infinite summation for use later
03:16 TimToady niecza: constant @sum = [\+] 1..*;  say @sum[100]
03:16 p6eval niecza v10-233-g98f83a8: OUTPUT«5151␤»
03:17 TimToady sorear: it's not hard, and it even works in niecza :)
03:18 TimToady you're doing a YX :)
03:19 sorear hmm
03:19 sorear niecza: my $sum = \( [\+] 1..* ); say @$sum[100]
03:19 p6eval niecza v10-233-g98f83a8: OUTPUT«Any()␤»
03:19 sorear niecza: my $sum = \( [\+] 1..* ); say $$sum[100]
03:19 p6eval niecza v10-233-g98f83a8: OUTPUT«5151␤»
03:29 lue so should I s/Inf/*/ then? [I can't believe I didn't see it]
03:30 TimToady niecza: constant @sum = [\+] 1..Inf;  say @sum[100]
03:30 p6eval niecza v10-235-gbe42b29: OUTPUT«5151␤»
03:30 TimToady doesn't matter in this case
03:44 dalek niecza: ffe8cda | sorear++ | lib/CodeGen.cs:
03:44 dalek niecza: Tiny improvement to memory handling in CpsOp.Sequence
03:44 dalek niecza: review: https://github.com/sorear/niecza/commit/ffe8cda775
03:44 sorear seem to be out-ish of LHF optimizations in the code generator
04:21 dalek niecza: 90ae4df | sorear++ | / (3 files):
04:21 dalek niecza: Misc fixes to make -p work again; bootstrap improvements
04:21 dalek niecza: review: https://github.com/sorear/niecza/commit/90ae4dfa76
04:28 tewk joined #perl6
05:12 orafu joined #perl6
05:17 benabik joined #perl6
05:33 daniel-s_ joined #perl6
05:53 cooper joined #perl6
06:17 snarkyboojum is `perl6 --target=PAST somescript.pl` supposed to work?
06:19 benabik snarkyboojum: It's a valid command, but PAST and POST output for nom don't work right now.
06:19 snarkyboojum benabik: ah - ok, but works in old master/ng I take it
06:19 snarkyboojum how does one go about inspect the AST currently?
06:20 snarkyboojum inspecting*
06:20 benabik snarkyboojum: Yes, it should work in b.  Dumper doesn't know what to do with 6model classes.  (Or something like that.)
06:20 benabik snarkyboojum: As far as I can tell, you don't.
06:20 snarkyboojum benabik: ah ok :) I can't find PAST documented anywhere either..
06:21 snarkyboojum the best I've been able to find it "Rakudo AST generation. We need better tutorials and guides for this."
06:21 sorear snarkyboojum: also, it may be case sensiti ve
06:22 snarkyboojum sorear: tried upper and lower, not going to try other permutations :D
06:22 sorear :D
06:22 benabik snarkyboojum: http://docs.parrot.org/parrot/latest/html/docs/pdds/pdd26_ast.pod.html
06:22 benabik snarkyboojum: (Probably not 100% up to date.)
06:22 snarkyboojum oohh.. parrot docs /me shivers :P
06:22 sorear past, aka pmichaud abstract syntax tree, has an "interesting" relationship with parrot
06:22 snarkyboojum benabik: thanks tho dude
06:23 sorear sometimes it wants to be defined by pdd26, other times it wants to be part of the NQP ecosystem
06:25 snarkyboojum sorear: I like that version of the acronym
06:26 sorear o/ snarkyboojum, benabik
06:26 shinobicl_ joined #perl6
06:26 * benabik is heading to bed.
06:27 snarkyboojum sorear: what AST does Niecza use?
06:30 sorear Niecza's ASTs are defined by the Op, CgOp, CpsOp, and ClrOp types.  They have no other names.
06:30 * sorear watches the disk usage bar on sorear/niecza creep upwards
06:30 snarkyboojum so you don't build a single AST which you use to generate NAM?
06:31 snarkyboojum I should read compiler.pod shouldn't I :D
06:31 GlitchMr joined #perl6
06:31 sorear well, NAM ~~ CgOp
06:31 sorear I should try to update compiler.pod sometime :D
06:31 snarkyboojum Oh, I thought they generated AST
06:32 snarkyboojum will have a read
06:32 tewk joined #perl6
06:33 sorear a typical Op node looks like Interrogative.new(name => 'HOW', receiver => Lexical.new(name => '$x'))
06:34 sorear Op is close to PAST, but a bit higher level
06:35 sorear this translates into ["newscalar",["how",["fetch",["scopedlex",'$x']]]] at the CgOp level
06:36 sorear CgOp has fairly straightforward execution semantics; it's also designed to be very easy to transport acrosss the Perl/C# language boundary
06:37 sorear CpsOp and ClrOp are C# types; they differ in that CpsOp supports high-level control flow operations (beyond what the CLR natively allows)
06:37 sorear both of them use the semantic model of the CLR - objects, method calls, nothing more
06:38 sorear at the end of the pipeline ClrOp is converted and sent off to System.Reflection.Emit.ILGenerator, and it's no longer my problem
06:38 sorear (it gets converted after several more steps to machine code)
06:40 sorear hopefully when I get to niecza v100 or so and I'm out of space I'll have enough clout to petition GitHub for a quota increase :D
06:41 snarkyboojum sorear: awesome - appreciate the high level description
06:41 snarkyboojum P.S. you're running into a quota limit on github?
06:42 sorear not quite
06:42 sorear I'm at like 15% of the quota
06:43 snarkyboojum ah - rakudo has to be getting near it then
06:47 sorear huh, I wonder why v8 and v10 have anomalously large download counts
06:48 snarkyboojum I don't suppose github gives you access logs for downloads..
06:48 mls joined #perl6
06:55 dalek niecza: 0417e67 | sorear++ | / (4 files):
06:55 dalek niecza: Switch build to using a /serialize bootstrap image
06:55 dalek niecza: review: https://github.com/sorear/niecza/commit/0417e673a9
06:55 sorear evalbot rebuild niecza
06:55 p6eval OK (started asynchronously)
06:56 sorear now no longer using niecza/master at all
06:57 sorear I could release now but I'd like to clean up warnings, the bug queue, try and get BEGIN working so people have a reason to upgrade ;), ...
07:00 sorear niecza: say sprintf "%02x", ord('a')
07:00 p6eval niecza v10-238-g0417e67: OUTPUT«61␤»
07:01 sorear std: /\ /
07:01 p6eval std be1f10e: OUTPUT«[31m===[0mSORRY![31m===[0m�No unspace allowed in regex; if you meant to match the literal character, please enclose in single quotes (' ') or use a backslashed form like \x3000 at /tmp/6PwZKQgxgv line 1:�------> [32m/\[33m�[31m /[0m�Parse failed�FAILED 00:01 …
07:01 sorear std: /\ /
07:01 p6eval std be1f10e: OUTPUT«[31m===[0mSORRY![31m===[0m�No unspace allowed in regex; if you meant to match the literal character, please enclose in single quotes (' ') or use a backslashed form like \x20 at /tmp/nTCHthhSP2 line 1:�------> [32m/\[33m�[31m /[0m�Parse failed�FAILED 00:01 12…
07:01 cooper joined #perl6
07:04 sayu joined #perl6
07:04 moritz \ o/
07:04 moritz # is unspaced allowed in greetings? :-)
07:04 sorear o/ moritz
07:05 dalek niecza: d899978 | sorear++ | src/STD.pm6:
07:05 dalek niecza: Update STD to use +% instead of **, remove no-sprintf stub
07:05 dalek niecza: review: https://github.com/sorear/niecza/commit/d899978203
07:06 moritz p5p patch from yesterday already applied
07:06 sorear \o/
07:08 kaare_ joined #perl6
07:14 dalek rakudo/nom: 36d8299 | moritz++ | tools/build/NQP_REVISION:
07:14 dalek rakudo/nom: bump NQP revision to get a parrot with green threads (just for testing)
07:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/36d8299592
07:18 sorear huh
07:18 sorear niecza: my $*UNIT
07:18 p6eval niecza v10-238-g0417e67: OUTPUT«Use of uninitialized value in string context␤  at /home/p6eval/niecza/boot/lib/CORE.setting line 758 (warn @ 2) ␤  at /home/p6eval/niecza/boot/lib/CORE.setting line 165 (Mu.Str @ 9) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /home/p6eval/niecza/src/Ni…
07:20 sorear niecza: 5.UNIT
07:20 p6eval niecza v10-238-g0417e67: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Indirectly named method calls NYI at /tmp/TzaUF7MPCH line 1 (EOF):â�¤------> [32m5.UNIT[33mâ��[31m<EOL>[0mâ�¤â�¤â�¤Unhandled Exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 865 (die @ 2) â�¤  at /home/p…
07:34 dalek niecza: fa0725c | sorear++ | src/NieczaActions.pm6:
07:34 dalek niecza: Fix noisy miscompilation of my $*UNIT and similar forms
07:34 dalek niecza: review: https://github.com/sorear/niecza/commit/fa0725c0fa
07:36 drbean joined #perl6
07:37 cooper joined #perl6
07:46 dalek niecza: 9a69bf4 | sorear++ | / (2 files):
07:46 dalek niecza: Implement %*MYSTERY check to suppress warning in foo; sub foo() { }
07:46 dalek niecza: review: https://github.com/sorear/niecza/commit/9a69bf4f07
08:16 y3llow joined #perl6
08:21 dalek niecza: d83bf51 | sorear++ | / (4 files):
08:21 dalek niecza: Misc fixes for real warnings in build
08:21 dalek niecza: review: https://github.com/sorear/niecza/commit/d83bf5158b
08:35 dalek niecza: 51e9a26 | sorear++ | / (6 files):
08:35 dalek niecza: Remove no longer used "NAMOutput" and "Metamodel" modules
08:35 dalek niecza: review: https://github.com/sorear/niecza/commit/51e9a2656c
08:36 * sorear -> sleep
08:36 diakopter o/
08:36 sorear tomorrow: attack more cruft, attack bugs
08:59 moritz nqp: say(nqp::where(my $x))
08:59 p6eval nqp: OUTPUT«-5990093271707001532␤»
09:03 moritz nqp: say(nqp::where(pir::null__P()))
09:03 p6eval nqp: OUTPUT«-6279166203102069897␤»
09:10 Exodist joined #perl6
09:19 cognominal joined #perl6
09:34 snearch joined #perl6
09:35 snearch_ joined #perl6
09:35 dalek rakudo/role_diamond: 2f2a5b7 | moritz++ | src/Perl6/Metamodel/RoleToRoleApplier.pm:
09:35 dalek rakudo/role_diamond: try to fix role diamond compsition: a method should never conflicit with itself.
09:35 dalek rakudo/role_diamond:
09:35 dalek rakudo/role_diamond: Regresses the RT #72856 tests in t/spec/S14-roles/composition.t
09:35 dalek rakudo/role_diamond: review: https://github.com/rakudo/rakudo/commit/2f2a5b7203
09:36 moritz phenny: ask jnthn to please look over the commit in the role_diamond rakudo branch -- did I miss something obvious? I causes failures in composition.t
09:36 phenny moritz: I'll pass that on when jnthn is around.
09:42 Woodi Debian pkg system is not reentrant :) so upgrade and installing nom-parrot package simultaneosly do not work :)
09:45 drbean joined #perl6
09:59 Kivutarrr joined #perl6
10:03 moritz Woodi: the idea is that you tell it what do from the start :-)
10:07 huf it could be split into a package installer daemon and a frontend which just drops commands into a queue... and then you could install packages while you install packages... seemingly ;)
10:07 snarkyboojum moritz: how embarrassing :D
10:08 snarkyboojum moritz: I was seeing commit updates for Perl6 stuff and feeling quite at home ;)
10:08 coto joined #perl6
10:09 coto Hi !! i have a compile  problem
10:09 coto when compile parrot
10:09 coto init::manifest -      Check MANIFEST...No such file: DEPRECATED-branch.pod
10:10 coto step init::manifest failed: no result returned at Configure.pl line 76
10:10 coto so failed...
10:11 moritz coto: what's the invocation you used to start the compilation?
10:15 coto perl Configure.pl
10:15 moritz coto: are you trying to build a release? Or a git checkout?
10:16 coto try to build apackage in ARCHlinux
10:16 moritz from which version of parrot?
10:16 moritz (also #parrot on irc.perl.org would be more appropriate)
10:17 coto who to see the parrot's version
10:17 coto who --> how
10:18 moritz doesn't arch's package manager tell you which version is available?
10:18 coto pkgver=20111031
10:18 moritz there should also be a VERSION file in the parrot/ dir
10:19 coto it is 3.9.0
10:19 moritz wait... isn't 20111031 tomorrow? :-)
10:19 coto oh?
10:19 moritz I mean, it does look like a date
10:20 moritz and today is 2011-10-30 (at least in my time zone)
10:20 coto my system 's date++
10:22 moritz coto: https://github.com/parrot/parrot/commit/874cd8f0019f77975effab6c57a84dcbdc67669d should fix your problem
10:23 coto moritz thanks
10:23 moritz so either update to newest parrot, or run Configure with --nomanicheck
10:23 coto i see
10:23 * moritz preparese waffels for brunch, afk
10:25 coto thanks motitz ~~&
10:32 Kivutarrr left #perl6
10:37 sayu joined #perl6
10:37 cognominal_ joined #perl6
10:43 * moritz wonders if his name is really so hard to tab-complete :-)
10:45 mj41 joined #perl6
10:55 icwiener joined #perl6
11:05 jnthn moritz: +                if +@add_meths == 1 || all_the_same(add_meths) {
11:05 phenny jnthn: 09:36Z <moritz> ask jnthn to please look over the commit in the role_diamond rakudo branch -- did I miss something obvious? I causes failures in composition.t
11:05 diegoviola joined #perl6
11:05 jnthn moritz: If nothing else, that line is missing an @
11:05 jnthn moritz: btw, I find your name quite easy to tab complete ;)
11:06 moritz ah thanks
11:06 moritz jnthn: one more thing, in the nqp/bigint branch, how do I create a bigint?
11:07 moritz in particular the nqp_bigint_from_str opcode needs a bigint already, so I can't use it to create the first one :/
11:08 jnthn moritz: see https://gist.github.com/1323796
11:08 moritz jnthn: ah, thanks
11:08 jnthn moritz: I've taken a diversion to work on what we'll need to actually get it into Rakudo.
11:09 jnthn moritz: If you're looking for things to work on there, feel free to flesh out op space
11:09 moritz jnthn: that's what I already started with :-)
11:09 jnthn The comment at the top of nqp_bigint.ops that said every op will have two variants can now be considered false.
11:09 jnthn I was uncomfortable with that anyway, and yesterday I found a way to not need to do it :)
11:09 jnthn But I need to do the various repr refactors first.
11:10 jnthn So, doing more ops in the same kinda style I did the ones so far should work out OK :)
11:10 jnthn Plus, thanks for joining n :)
11:10 jnthn *in
11:11 * jnthn afk for 15 mins or so
11:11 moritz is _I as a postfix for bigint nqp:: opcodes OK?
11:12 jnthn ?
11:12 moritz nqp::mul_I
11:12 jnthn m
11:12 jnthn That feels a bit too easy to typo with mul_i
11:12 moritz _bi?
11:12 jnthn yeah, that works for me.
11:13 jnthn I'm sure pmichaud would have an opinion on that were he about ;)
11:13 moritz he mentioned _I for bigint in the commit that introduced nqp:: opcodes
11:14 moritz (which is why I went for it)
11:14 jnthn oh
11:14 jnthn hm
11:14 moritz but I'm not particularly attached to it
11:14 moritz jnthn: don't let me hold you off, the decision can wait 15min :-)
11:15 jnthn k, bbs :)
11:15 pmurias joined #perl6
11:15 whiteknight joined #perl6
11:38 Psyche^ joined #perl6
11:44 xinming joined #perl6
11:45 * jnthn back
11:47 frettled in black?
11:47 jnthn Partially :)
11:49 jnthn moritz: Let's go with I for now. It puns nicely with int vs Int in Perl 6.
11:49 moritz jnthn: ok
11:49 jnthn moritz: And pmichaud seemed to like it that way
11:49 sunnavy joined #perl6
11:49 jnthn Which are probably better arguments than "it may be typo'd" :)
11:54 moritz jnthn: any objections to loading nqp_bigint_ops by default?
11:54 jnthn moritz: no, that's fine
11:54 jnthn moritz: It was on my todo list :)
11:54 jnthn moritz: Make sure initialize gets called too - just after the 6model initialization.
11:56 moritz jnthn: where does that happen?
11:56 jnthn hm
11:57 jnthn I think the line to make it happen is probably in SymbolTable
11:57 jnthn moritz: search for nqp_dynop_setup
11:57 moritz jnthn: found it, thanks
11:59 drbean joined #perl6
12:05 moritz does == have tigher precedence than = in C?
12:05 * moritz doubts his sanity
12:05 jnthn I...think so...
12:05 jnthn a = b == c; /* should do the right thing, I think... */
12:05 moritz ok
12:05 dalek nqp/bigint: dfd536f | moritz++ | src/ops/nqp_bigint.ops:
12:05 dalek nqp/bigint: wrap more libTomMath subs in dynops
12:05 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/dfd536fd25
12:05 dalek nqp/bigint: 93dc058 | moritz++ | src/PAST/NQP.pir:
12:05 dalek nqp/bigint: add nqp::<matop>_I opcodes for bigints
12:05 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/93dc058e58
12:05 dalek nqp/bigint: 05755ba | moritz++ | src/ (3 files):
12:05 * moritz pushes, and worries later about testing
12:05 dalek nqp/bigint: add bigint comparison ops; load nqp_bigint_ops by default
12:05 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/05755ba185
12:05 dalek nqp/bigint: 879b700 | moritz++ | src/NQP/SymbolTable.pm:
12:05 dalek nqp/bigint: set up bigints at startup
12:05 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/879b700097
12:06 MayDaniel joined #perl6
12:07 moritz jnthn: boxing a negative INTVAL to $bi_type (from your gist) is a FAIL
12:07 moritz -123 becomes 4294967173
12:08 jnthn eek
12:08 moritz mp_digit is unsigned
12:08 jnthn aha
12:08 jnthn wait, mp_digit?
12:09 moritz hm, I see you don't use it directly
12:09 moritz boxing to int uses mp_set_int
12:09 jnthn yes
12:09 jnthn ah, which takes unsigned
12:09 moritz ... which has unsigned long b   in the signature :/
12:15 jnthn ...really? C has no standard way to get NAN?
12:15 jnthn er, NaN
12:16 moritz 0f/0f ?
12:18 jnthn My compiler catches that as a divide by zero :/
12:19 * moritz is full of FAIL today
12:20 jnthn Turns out putting one 0.0 in a varialbe and then doing 0.0/that_variable does it.
12:24 pmurias jnthn: strtod("NAN")?
12:24 dalek nqp/bigint: f3d73f0 | moritz++ | t/nqp/60-bigint.t:
12:24 dalek nqp/bigint: add bigint test file -- 5/9 fail
12:24 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/f3d73f099d
12:25 moritz I can understand why most tests fail, but not why the first one does :/
12:26 dalek nqp/reprapi2: 1167c9f | jnthn++ | src/6model/sixmodelobject.h:
12:26 dalek nqp/reprapi2: Extend the REPR API a little in preparation for supporting inlining of more complex types in objects. Most immediately this is for bigint support, but it's also the basis for compact structs, and later compact arrays and nested structs in NCI.
12:26 dalek nqp/reprapi2: review: https://github.com/perl6/nqp/commit/1167c9ffce
12:26 dalek nqp/reprapi2: adaffcc | jnthn++ | src/ (15 files):
12:26 dalek nqp/reprapi2: First small step of the move to a new REPR API. This splits out instance_of out into allocate and initialize, and starts to make the differentiation between full objects and one object flattened into another's body. Various other updates so we can build/pass NQP test suite still.
12:26 dalek nqp/reprapi2: review: https://github.com/perl6/nqp/commit/adaffcca14
12:27 jnthn moritz: hm, odd
12:30 colomon jnthn: nan() function in math.h?
12:36 jnthn colomon: hmm, I treid NAN constant from there and it wasn't available here...
12:36 colomon huh.  Visual C++?
12:39 jnthn yeah
12:39 jnthn I can try nan()
12:39 jnthn P6num.obj : error LNK2001: unresolved external symbol nan
12:39 jnthn No :(
12:41 colomon with math.h included?  that stuff is supposed to be C99 standard....  :\
12:42 jnthn colomon: Oh. C98.
12:42 jnthn MSVC is pretty strict about that.
12:42 jnthn er
12:42 jnthn 89
12:42 jnthn Or whatever
12:42 jnthn :)
12:42 jnthn moritz: In the div op
12:42 jnthn mp_int *remainder = get_bigint(interp, REPR($2)->instance_of(interp, $2));
12:42 jnthn moritz: You needn't go involve the bigint repr here
12:43 jnthn moritz: You can just do mp_int remainder = mp_init(); or so
12:43 jnthn You needn't call clear if you take the repr approach, you need to do mp_clear if you do what I just suggested.
12:43 jnthn But it's probably worthwhile as it'll save a throwaway GC-able every time we do a division :)
12:44 colomon rakudo: say log 0
12:44 p6eval rakudo 36d829: OUTPUT«-Inf␤»
13:06 simcop2387 joined #perl6
13:08 nebuchadnezzar joined #perl6
13:09 envi_ joined #perl6
13:17 Chillance joined #perl6
13:22 dalek nqp/bigint: a5a450c | moritz++ | src/ops/nqp_bigint.ops:
13:22 dalek nqp/bigint: save a GCable in nqp_bigint_div, jnthn++
13:22 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/a5a450c1ab
13:28 cognominal___ joined #perl6
13:35 envi_ joined #perl6
13:48 tadzik good morning
13:48 jnthn o/ tadzik
13:48 jnthn er, morning? :)
13:48 tadzik hmm
13:49 tadzik nope, afternoon :)
13:49 colomon definitely morning
13:51 poincare101 joined #perl6
13:57 [Coke] it's a fine october  morning, the snow is melting... wait, what?
13:57 jnthn Snow!
13:58 Trashlord joined #perl6
13:59 [Coke] 2 days this week.
14:00 [Coke] enough to basically shut down the interstates.
14:03 tadzik oh, we have the day of the dead now, it's a good enough reason to shut down most of the roads
14:04 diegoviola left #perl6
14:21 bluescreen10 joined #perl6
14:24 * moritz wonders why the US is surprised by snow, every year again
14:24 jnthn tadzik: Day of the dead?
14:24 jnthn tadzik: Are there, like, zombies, everywhere?
14:24 jnthn :)
14:24 drbean joined #perl6
14:26 [Coke] moritz: when it's early, it's surprising.
14:27 dalek nqp/reprapi2: bea2110 | jnthn++ | src/ (12 files):
14:27 dalek nqp/reprapi2: This step of the representation refactor switches [get|set]_[int|num|str] over to the new API. We temporarily lose a few error checks, which will get moved elsewhere. Also P6opaque needs further updates to handle these in a more delegatory fashion. Builds and passes NQP tests.
14:27 dalek nqp/reprapi2: review: https://github.com/perl6/nqp/commit/bea211069f
14:27 jnthn Tedious refactor is tedious.
14:31 * moritz would offer to help, but doesn't think he knows enough about reprs to make a difference in the right direction
14:33 tadzik jnthn: close; it's just all the people going to visit graves of their families
14:33 jnthn moritz: Well, plus I'm figuring out various small details of the re-design as I go about it. :)
14:34 tadzik the police is acting bizarre and blocking random roads to encourage everyone to take a bus
14:34 moritz so how good is the public transport on a Sunday where you live?
14:37 JimmyZ joined #perl6
14:37 JimmyZ hello, #perl6
14:38 Woodi Day of All Saints is after tomorow in Poland :) tomorow is Day of Past Souls. common name for DAS is Feast of Deaders
14:39 Woodi moritz: polish roads are like reverse of German roads...
14:40 tadzik moritz: around this celebration days there are like dozens of extra buses going to various graveyards
14:43 * tadzik was driving the entire day, and has nothing bad to say about roads
14:45 Woodi tadzik: just German roads are much better from dozens of years
14:46 Woodi since*
14:48 tadzik I'm sure they are. But I drove across half of warsaw today, and I have nothing bad to say about roads. Today.
14:49 * JimmyZ wan't to invite jnthn/pmichuad/TimToady to bjpw 2012
14:50 Chillance joined #perl6
14:52 dalek nqp/reprapi2: 4035569 | jnthn++ | src/6model/ (8 files):
14:52 dalek nqp/reprapi2: We'll use a common way, encased by a couple of macros, to flag type-object-ness now. This introduces them and makes a start at ensuring sure we consistently flag type objects as being so.
14:52 dalek nqp/reprapi2: review: https://github.com/perl6/nqp/commit/40355691b4
14:52 dalek nqp/reprapi2: 065622f | jnthn++ | src/ (12 files):
14:52 dalek nqp/reprapi2: Eliminte defined from the REPR API; now it's all done through the IS_CONCRETE macro.
14:52 dalek nqp/reprapi2: review: https://github.com/perl6/nqp/commit/065622fffe
14:58 itz I'm not a nagging end user but... :-) any roughish ETA for star?
15:00 moritz itz: I wish we had an ETA...
15:00 flussence it'll be ready by xmas
15:00 jnthn At this point, it mostly depends on protoregexes being landed.
15:01 jnthn Which unblocks JSON::Tiny, which unblocks the ecosystem working again...
15:01 Woodi any news from pm++ ?
15:01 jnthn Estimating protoregxes landing is really hard because estimating pmichaud's availability is really hard.
15:02 itz ok thanks for the feedback
15:02 moritz but we will blog about it when it comes out :-)
15:03 JimmyZ what's ETA?
15:03 moritz JimmyZ: "Estimated Time of Arrival"
15:03 JimmyZ thanks
15:08 * JimmyZ has been here for 3 years
15:11 dalek nqp/reprapi2: 52e8a70 | jnthn++ | src/ (9 files):
15:11 dalek nqp/reprapi2: Update GC marking to new API. For the representations, this is a simplification; they don't have to duplicate marking the common bits. Some lose their mark routines entirely.
15:11 dalek nqp/reprapi2: review: https://github.com/perl6/nqp/commit/52e8a70b08
15:13 moritz jnthn: nqp::unbox_i should go through get_int, right?
15:13 jnthn moritz: yes
15:14 jnthn moritz: Is there something I've missed?
15:14 moritz jnthn: no, probably something I'm missing
15:15 jnthn moritz: Note that P6opaque's current factoring of get_int is wrong under the new repr API
15:15 jnthn moritz: It should really delegate to the flattened in repr
15:16 * moritz is concerned with P6Bigint get_int
15:17 jnthn moritz: How so?
15:18 jnthn moritz: At a Perl 6 level, we'll only ever hit that code path when we want to turn an Int into an int.
15:18 moritz just a sec...
15:20 molaf joined #perl6
15:21 dalek nqp/bigint: b2263f6 | moritz++ | src/ (2 files):
15:21 dalek nqp/bigint: lcm, gcd
15:21 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/b2263f6dd6
15:21 dalek nqp/bigint: 216ecda | moritz++ | tools/build/Makefile.in:
15:21 dalek nqp/bigint: [build] missing dependency on P6bigint.{c,h}
15:21 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/216ecdaa09
15:21 dalek nqp/bigint: cbd6c19 | moritz++ | / (2 files):
15:21 dalek nqp/bigint: make P6bigint {set,get}_int accept negative numbers
15:21 dalek nqp/bigint:
15:21 dalek nqp/bigint: For some reason the get_int variant doesn't seem to work (returns only
15:21 dalek nqp/bigint: positive numbers), though I don't understand why
15:21 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/cbd6c190e7
15:23 dalek nqp/reprapi2: 2c9bafd | jnthn++ | src/ops/nqp.ops:
15:23 dalek nqp/reprapi2: Re-instate the checks to make sure we don't try and unbox type objects, but this time at the op level (so it needn't be factored in to every single repr).
15:23 dalek nqp/reprapi2: review: https://github.com/perl6/nqp/commit/2c9bafd6a4
15:24 jnthn moritz: ah, negative issues?
15:24 jnthn OK
15:24 jnthn Will take a look later
15:25 moritz no hurry
15:30 dalek nqp/reprapi2: 4f25688 | jnthn++ | src/ (9 files):
15:30 dalek nqp/reprapi2: Rename repr data marking functions to actually be clear about what they do.
15:30 dalek nqp/reprapi2: review: https://github.com/perl6/nqp/commit/4f25688e73
15:33 dalek nqp/bigint: 46221b1 | moritz++ | t/nqp/60-bigint.t:
15:33 dalek nqp/bigint: fix some of the bigint tests
15:33 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/46221b1630
16:00 Trashlord joined #perl6
16:01 Trashlord joined #perl6
16:07 dalek nqp/reprapi2: 5cb979a | jnthn++ | src/ (9 files):
16:07 dalek nqp/reprapi2: Replace all value type attribute lookups with a common approach; this means we'll be able to use it for getting hold of more complex nested value types too.
16:07 dalek nqp/reprapi2: review: https://github.com/perl6/nqp/commit/5cb979ac5c
16:07 dalek nqp/reprapi2: fcd3f85 | jnthn++ | src/ops/nqp.ops:
16:07 dalek nqp/reprapi2: Get ops to check they're not looking up attributes in a type object, so we don't have to spread this over all the reprs.
16:07 dalek nqp/reprapi2: review: https://github.com/perl6/nqp/commit/fcd3f85f1b
16:07 dalek nqp/reprapi2: 815ede2 | jnthn++ | src/6model/reprs/ (2 files):
16:07 dalek nqp/reprapi2: Remove a couple of now unrequired checks.
16:07 dalek nqp/reprapi2: review: https://github.com/perl6/nqp/commit/815ede255b
16:36 bluescreen10 joined #perl6
16:47 danishman joined #perl6
16:59 cognominal joined #perl6
17:06 moritz jnthn: any objections to writing out separate targets for the various libtommath files?
17:07 moritz I don't want to recompile all of them when i change the nqp_bigint.ops file
17:16 skangas joined #perl6
17:29 araujo joined #perl6
17:29 am0c joined #perl6
17:33 thou joined #perl6
17:35 dual joined #perl6
18:04 colomon [Coke]: do you have a tool for scanning the full spectest with niecza to see what files fail for which reasons?  or have you been doing that by hand?
18:10 Chillance joined #perl6
18:11 MayDaniel joined #perl6
18:21 wolfman2000 joined #perl6
18:21 Sarten-X joined #perl6
18:22 sorear good * #perl6
18:50 MayDaniel joined #perl6
18:50 dalek nqp/bigint: 2f16a24 | moritz++ | src/6model/reprs/P6bigint.c:
18:50 dalek nqp/bigint: fix C89 violation
18:50 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/2f16a247cf
18:50 dalek nqp/bigint: 1bede84 | moritz++ | tools/build/Makefile.in:
18:50 dalek nqp/bigint: [build] separate rules for libtommath files
18:50 dalek nqp/bigint:
18:50 dalek nqp/bigint: That way unnecessary rebuilds of .o files are avoided, and we can parallelize
18:50 dalek nqp/bigint: the build process with `make -j3` etc.
18:50 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/1bede84976
18:50 MayDaniel joined #perl6
18:51 sorear o/ moritz
18:51 moritz hello sorear
18:51 colomon \o
19:04 jnthn moritz: Any change that doesn't break the build is fine ;)
19:06 moritz jnthn: at your convenience, please check if it didn't break the build on windows :-)
19:06 jnthn moritz: Will do - thanks :)
19:07 dalek nqp/bigint: 04fbeb4 | moritz++ | tools/build/Makefile.in:
19:07 dalek nqp/bigint: [build] I should not use variables that I do not understand :-)
19:07 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/04fbeb4044
19:09 moritz jnthn: anyway, down to 2 failures in bigint.t
19:10 colomon \o/
19:10 moritz and i don't understand the failures at all
19:10 moritz ok(s($b) eq '-123', 'can round-trip negative number (string)');
19:10 moritz fails
19:10 moritz but
19:10 moritz say(s($b));
19:10 moritz says
19:11 moritz -123
19:11 jnthn moritz: nice!
19:11 jnthn moritz: Hm
19:11 moritz (and calling s($b) twice doesn't change things)
19:12 sorear "maybe eq is broken?"
19:13 moritz nqp: say('-123' eq '-123')
19:13 p6eval nqp: OUTPUT«1␤»
19:13 moritz looks OK
19:13 sorear try say(s($b).perl)
19:13 moritz we have a .perl in nqp?
19:13 sorear my next guess is that the output contains unprintable characters
19:13 jnthn This is nqp
19:14 moritz sorear: I already hexdump'ed the output of say(s($b))
19:14 moritz no surprises there
19:14 * jnthn stashes his change set and grabs the bigint branch
19:14 moritz oh wait, surprise surprise
19:14 moritz 00000000  31 2e 2e 39 0a 2d 31 32  33 00 0a 2d 31 32 33 00  |1..9.-123..-123.|
19:14 moritz there are trailing zero-bytes
19:15 moritz no wonder that eq doesn't like 'em
19:15 masak lol hai #perl6!
19:15 * moritz should *carefully* at hexdump output
19:15 moritz lolitsmasak!
19:15 sorear MASAK!
19:15 masak I figured for my first part of my Erdősing trip, I'd crash at jnthn's for two days, helping him with whatever he's working at right now :P
19:15 jnthn masak: Your keyboard is so loud I can hear it from here!
19:16 masak jnthn: oh but it's soooo goood
19:16 masak jnthn: your IRC screen is lagging, I can see it from here ;)
19:16 jnthn wtf, I can't hear my heavy metal over your keystrokes :P
19:16 masak you're not playing any, silly :)
19:16 masak jnthn, put on some heavy metal!
19:17 masak that's better :)
19:17 * masak headbangs and codes some Perl 6
19:17 moritz jnthn: unstash your changes, I think I have a working patch
19:17 jnthn moritz: congrats, you didn't break the build with the makefile changes :)
19:17 jnthn oh, ok
19:17 moritz \o/
19:17 jnthn well, still worth it to check the makefile patch :)
19:18 moritz aye
19:18 * jnthn returns to reprapi2
19:19 * moritz hopes rakudo will keep something like its current 'int' (native non-big integers) for something like iterator variables
19:19 * masak looks at contexts in Parrot to see how to do the AST-with-its-own-context trick
19:19 jnthn moritz: int will stay exactly as it is.
19:19 jnthn moritz: Only Int is changing.
19:19 jnthn Well, apart from all the bugs int has... :)
19:19 moritz jnthn: and what will Int box into
19:19 jnthn But it remains your CPU-sized integer :)
19:20 jnthn moritz: Int *is* boxed
19:20 moritz erm
19:20 masak Int is the box.
19:20 moritz what will it box
19:20 jnthn Right, that
19:20 jnthn moritz: int
19:20 * moritz is confused
19:20 moritz so, int remains parrot's INTVAL
19:20 masak there's in "int"eresting circularity there.
19:20 jnthn moritz: yes
19:20 jnthn When you box it, it'll become an Int
19:21 moritz so Int won't become bigintish?
19:21 jnthn Yes
19:21 * moritz shouldn't ask negated questions in English
19:21 jnthn moritz: Boxing an int will give an Int, which will have big integer semantics
19:21 jnthn argh, let's start again :)
19:21 moritz oh
19:21 jnthn We have int and Int
19:21 moritz I think I understand
19:22 moritz an Int is *more* than a mere box around int
19:22 jnthn int is a Parrot INTVAL, or CPU level integer, and does what your CPU goes
19:22 jnthn Boxing it leads to an Int
19:22 jnthn moritz: oh, yes :)
19:22 masak it's two ints :P
19:22 jnthn moritz: That's why I'm re-doing the repr API at the moment. To make that possible.
19:22 moritz I mean, much more than now :-)
19:22 jnthn Yes :)
19:22 masak \o/
19:22 jnthn Though it happens to be the same thing we need for compact structs
19:25 japhb jnthn, Will Str.Numeric() need any more bigint-related changes?  I note that it already has 'nqp:p6bigint()' calls in various places.
19:25 jnthn japhb: Almost certainly will.
19:25 japhb I ask because I am *hoping* to throw some tuits at expanding the range of inputs Str.Numeric() can handle
19:26 moritz that one cheats
19:26 japhb Bad choice of words.  not 'range of inputs' more 'varieties of inputs'
19:26 jnthn I suspect really we should be having Str.Numeric call into the grammar proper
19:26 moritz nqp::p6bigint will likely go away
19:26 moritz jnthn: pmichaud thought that wouldn't be necessary
19:26 moritz because the cases are limited
19:27 jnthn moritz: oh. I thought it was pmichaud who argued it should call into the grammar proper... :)
19:27 jnthn I maybe misunderstood.
19:27 dalek nqp/bigint: 154d613 | moritz++ | src/ops/nqp_bigint.ops:
19:27 dalek nqp/bigint: fix nqp_bigint_to_str (was adding \0 at the end)
19:27 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/154d613e77
19:27 japhb moritz, the problem is that current Str.Numeric() is not handling a lot of cases that STD's grammar does handle.
19:27 moritz japhb: yes, so it needs expanding
19:27 moritz (needs to parse Complex literals, for example)
19:28 japhb I assumed there was a reason that the grammar wasn't being used (circularity saw or performance or somesuch), and was about to expand the existing code to handle more cases
19:28 moritz performance
19:28 moritz japhb: that's exactly the right approach
19:29 japhb moritz, OK, great.
19:29 * japhb will grab some lunch and then start tackling that code.
19:42 dalek nqp/reprapi2: b40e7bc | jnthn++ | src/ (10 files):
19:42 dalek nqp/reprapi2: Switch to new API for looking up boxed attributes. Note that P6opaque needs to handle it a bit smarter, but this is a start.
19:42 dalek nqp/reprapi2: review: https://github.com/perl6/nqp/commit/b40e7bc335
19:48 * diakopter fights https://bugs.launchpad.net/ubuntu/+source/dbus/+bug/811441 in a ubuntu VM
19:51 dalek rakudo/role_diamond: 8e75858 | moritz++ | src/Perl6/Metamodel/RoleToRoleApplier.pm:
19:51 dalek rakudo/role_diamond: add missing sigil, jnthn++. Sadly it does not fix the problems with composition.t
19:51 dalek rakudo/role_diamond: review: https://github.com/rakudo/rakudo/commit/8e75858233
19:52 cognominal_ joined #perl6
20:01 ksi joined #perl6
20:06 japhb Is there a unified performance test suite yet, akin to roast but with a different goal?
20:06 moritz notreally
20:07 moritz pmichaud has a "rakudobench" repo though
20:09 japhb moritz, 'rakbench' or 'rpbench'?
20:09 masak pop quiz: what does :COMPILING on quasi blocks and the 'lift' statement prefix have in common?
20:09 sorear masak: just about everything
20:09 masak s/does/do/
20:09 masak sorear: you mean they are two aspects of the same thing?
20:09 sorear yes
20:10 masak that seems about right.
20:10 masak I hadn't realized before, but it's evident from reading STD.pm6
20:11 * masak re-reads the 'lift' spec
20:11 * japhb grumbles at pmichaud for having README files in his repos -- that are zero-byte files.
20:13 masak it's the recommended github way ;)
20:15 masak oh, here's another one: "Macros are sub calls, but by the time you run your code, they already happened (and they wrote some code for you)"
20:16 drbean joined #perl6
20:16 * moritz doesn't see the commonality off-hand
20:17 moritz oh, maybe I do :-)
20:17 sorear moritz: both of them work by turning lexical references into late bound things
20:17 masak sorear: here's what I don't understand: in 'lift', the 'caller' is the caller. in 'quasi', the 'caller' is the code that the AST gets stitched into
20:17 masak oh, I guess it's a caller, but at compile-time. or something.
20:18 masak at parse-time.
20:18 sorear masak: that will Just Work if quasi gets a lexical scope
20:18 sorear niecza: my $x = 5; { my $x = 8; say $CALLER::x }
20:18 masak sorear: that's interesting, we were just talking about that.
20:18 p6eval niecza v10-243-g51e9a26: OUTPUT«Potential difficulties:â�¤  $x is declared but not used at /tmp/ISiEDqpME2 line 1:â�¤------> [32mmy $x = 5; { my [33mâ��[31m$x = 8; say $CALLER::x }[0mâ�¤â�¤5â�¤Â»
20:18 sorear since {} really means {}()
20:19 masak sorear: so a quasi's lexical scope doesn't really get "flattened" and disappears upon macro application?
20:19 masak s/disappears/disappear/
20:19 sorear masak: the correct question to ask yourself is 'what should quasi { my $x } do?'
20:19 masak right.
20:20 * sorear should reread R5RS
20:20 masak we just hit upon that case 15 minutes ago :)
20:21 sorear We?
20:21 masak I'm at a three-day jnthn hackathon.
20:21 masak headbangin'
20:22 sorear jnth(o)n?
20:22 jnthn :P
20:22 dalek nqp/reprapi2: 0fd5c74 | jnthn++ | src/6model/sixmodelobject.h:
20:22 dalek nqp/reprapi2: Add new copy_to operation to the REPR API.
20:22 dalek nqp/reprapi2: review: https://github.com/perl6/nqp/commit/0fd5c749a9
20:22 dalek nqp/reprapi2: 337cd40 | jnthn++ | src/6model/reprs/ (7 files):
20:22 dalek nqp/reprapi2: Implement copy_to methods for all the reprs; untested.
20:22 dalek nqp/reprapi2: review: https://github.com/perl6/nqp/commit/337cd40935
20:23 moritz typo and copy_o? :-)
20:23 moritz oh, I read 'copy_o' instead of 'copy_to'
20:23 moritz read-o :-)
20:23 jnthn lol
20:23 masak :P-o
20:24 benabik masak: Use a napkin, you're drooling.
20:24 masak it's a lolipop, but I'm holding it the wrong way.
20:24 moritz jnthn: could you please add a VERSION file in the libtomath dir so that we know which version has been imported? (no hurry though)
20:24 jnthn As long as you don't do that with the iPhone 4
20:25 benabik Because everyone knows the best part of the lollipop is the paper stick?
20:25 jnthn benabik: At first it seems pretty bad, but if you stick with it...
20:25 jnthn moritz: ah, that's probably a good idea
20:25 jnthn :)
20:25 masak benabik: I got it from Alan Perlis...
20:27 benabik masak: Huh?
20:27 masak When someone says "I want a programming language in which I need only say what I wish done," give him a lollipop. -- Alan Perlis
20:28 benabik :-D
20:28 masak :-Do-
20:28 benabik I guess we should rename "use DWIM" to "use Lollipop".
20:29 masak when I see that quote, I think of something like Haskell.
20:29 masak or perhaps Prolog.
20:30 japhb Where is the doc that tells people how to do Unicode in various editors and environments?  Just tripped over a nice Emacs-specific web page, thought it might be nice to add it to that doc (if not already there)
20:32 Juerd japhb: In general, at least under Linux, if you set your locale correctly, you don't have to do anything special in order to edit utf8 documents.
20:32 Juerd Or use it on irc :)
20:33 japhb Juerd: I meant, knowing the right key combos to insert the characters (by name, by hex-code, by compose, etc.)
20:33 Juerd That's not necessarily a unicode thing :)
20:33 Juerd I prefer a platform wide solution for this
20:34 Juerd I've set up my X with Caps Lock as Multi_key
20:34 Juerd Which then works in every application, including anything in terminals.
20:34 japhb Emacs doesn't play well with platform input solutions (that I've seen, at least).
20:35 Juerd Sounds unlikely
20:35 * Juerd installs emacs to find out
20:35 Juerd Er moeten 28,5 MB aan archieven opgehaald worden.
20:35 Juerd Door deze operatie zal er 101 MB extra schijfruimte gebruikt worden.
20:35 Juerd 101 MB for an editor?
20:35 dalek niecza: db7fa59 | sorear++ | / (6 files):
20:35 dalek niecza: A bit more decrufting for NieczaCompiler
20:35 dalek niecza: review: https://github.com/sorear/niecza/commit/db7fa59321
20:35 sorear Juerd: emacs is an OS
20:36 japhb Juerd, well, for example, the standard "input a char by hex code" in GNOME is ctrl-shift-u . That combo in Emacs will get it wondering what you want to do with ctrl-u
20:36 japhb .
20:36 Juerd http://juerd.nl/i/9b9bf42f127f137cd4b973d766d8c067.png
20:36 japhb Emacs wants ctrl-x 8 enter for that
20:37 Juerd With "platform" I meant something wider than just gtk or gnome
20:37 Juerd If you set your X keyboard stuff correctly, it works in every application
20:38 sorear another thing I've learned is there's no good way to enter *any* character
20:38 masak TimToady: sorear says a quasi block is a block, even at runtime. is he right?
20:38 japhb Juerd, sure ... but I work on enough machines I don't control, that I'd like to know the above-X methods as well.  :-)
20:39 Juerd That's why you set it up on your linux box, and then connect to all those machines you don't control using ssh :)
20:39 sorear I have entirly different systems in place for entering Japanese, entering accented Latin, and entering by hex codes
20:39 sorear At some point I need to find and install a fourth system for entering Cyrillic
20:39 sorear it's getting tiring.
20:40 Juerd Anyhow, someone told me how to make « and » in vim. I didn't know that it could do that, because I had never needed the feature.
20:40 japhb Juerd, heh.  I do that pretty much for all the ones I *connect* to.  But I also teach people in my department.  So I often need to sit down at *their* workstation and type
20:40 Juerd I just hit CapsLock < <
20:40 Juerd japhb: Oh, I just don't write letters and code on other people's computers
20:41 Juerd They usually run Windows and don't have any suitable editor installed.
20:41 * japhb chuckles
20:41 Juerd Fortunately I always bring my own laptop :)
20:41 japhb There are 5 OSen being actively used for people's workstations in my department.  4 of them are unix-like.
20:41 Juerd I have to, anyway, because it has my private ssh key that I need for mail and irc
20:42 Juerd (Although admittedly I could use a password to login on feather)
20:42 japhb Argh.  What's the workaround to get a high-precision timestamp in Rakudo on 32-bit?
20:47 japhb Ah, found it, I think
20:47 japhb nom: say ~pir::time__N();
20:47 p6eval nom 36d829: OUTPUT«1320007644.24148␤»
20:48 * japhb pops his yak stack
20:59 DarthGandalf joined #perl6
21:00 MayDaniel joined #perl6
21:09 dalek nqp/reprapi2: 0225bd8 | jnthn++ | src/6model/reprs/P6opaque. (2 files):
21:09 dalek nqp/reprapi2: Start refactoring the way P6opaque handles flattened in attributes; mostly this prepares for getting box/unbox righter and storing s-tables of flattened in things.
21:09 dalek nqp/reprapi2: review: https://github.com/perl6/nqp/commit/0225bd8241
21:09 dalek nqp/reprapi2: 648845a | jnthn++ | src/6model/reprs/P6opaque. (2 files):
21:09 dalek nqp/reprapi2: Box/unbox operations in P6opaque now delegate to the representation managing that flattened attribute.
21:09 dalek nqp/reprapi2: review: https://github.com/perl6/nqp/commit/648845a054
21:17 snearch joined #perl6
21:20 wolfman2000 joined #perl6
21:24 tadzik nom: say so Mu ~~ Any
21:24 p6eval nom 36d829: OUTPUT«Bool::False␤»
21:26 masak no 'so' required.
21:26 masak it's already a Bool.
21:28 jnthn nom: say so WHAT ...
21:28 p6eval nom 36d829: OUTPUT«Bool::False␤»
21:29 cognominal_ nom: so Cool
21:29 p6eval nom 36d829:  ( no output )
21:30 tadzik nom: say "so Cool, {so Cool}"
21:30 p6eval nom 36d829: OUTPUT«so Cool, False␤»
21:31 tadzik perl6: my $a = False; $a += True; $a += False; say $a.perl
21:31 p6eval rakudo 36d829, niecza v10-244-gdb7fa59: OUTPUT«1␤»
21:31 p6eval ..pugs b927740: OUTPUT«\1.0␤»
21:34 tadzik woot, MIME::Base64 just works on nom
21:35 cognominal_ nom: say  Whatever.new but so Cool
21:35 p6eval nom 36d829: OUTPUT«*␤»
21:36 jnthn but so Cool...the new way to say but False :P
21:37 geekosaur I thought it was saying no, it's not so really Cool after all :p
21:38 cognominal_ nom: say "be a rakudo ",   Whatever.new but so Cool
21:38 p6eval nom 36d829: OUTPUT«be a rakudo *␤»
21:40 [Coke] colomon: I have a test script that runs everything that isn't in t/spectest.data and saves the output; I then troll it for output that has a bunch of "ok"s in a row that look amenable to fudging.
21:41 colomon [Coke]++
21:41 cognominal_ nom: say "PHP sucks" if not so Cool
21:41 p6eval nom 36d829: OUTPUT«PHP sucks␤»
21:46 [Coke] colomon: I'm not sure it's worth making smarter, but you're welcome to the oneliner.
21:47 colomon please!
21:47 [Coke] for file in `tools/unrun_tests`; do echo $file; echo "------"; ./ft $file | grep -v "^  at"; done  2>&1  | tee testall.out
21:48 [Coke] hurm. that calls ft, which si:
21:51 [Coke] https://gist.github.com/1326494
21:51 [Coke] (I have one for running the test plain to see the individual tests, (ft) and one to see if the whole test passes (st)
21:52 [Coke] you can pass in just the spec path to those, even if you're in the top level.
21:52 [Coke] enjoy. fudge away. ;)
21:52 [Coke] most of the ones left at this point are hard to fudge for one reason or another.
21:52 [Coke] (require fixes to niecza's interaction with fudge, I think.)
21:54 [Coke] if sorear adds more tests that he thinks he should be running but isn't to t/spectest.data (just comment them out), I can start tracking the failure modes like I am for rakudo, also.
21:54 [Coke] (separate one-off script for that, too)
22:01 masak 'night, #perl6
22:04 [Coke] masak: ~~
22:05 dalek nqp/reprapi2: 281bfbf | jnthn++ | src/ (11 files):
22:05 dalek nqp/reprapi2: Make allocate operation more consistent with the rest of the API. Get P6opaque's get_attribute_boxed handle the flattened case (untested yet, but probably rightish).
22:05 dalek nqp/reprapi2: review: https://github.com/perl6/nqp/commit/281bfbfb39
22:05 dalek nqp/reprapi2: 8f536de | jnthn++ | src/ (9 files):
22:05 dalek nqp/reprapi2: Switch binding of natively typed attributes over to the new REPR API. Seems to work fine.
22:05 dalek nqp/reprapi2: review: https://github.com/perl6/nqp/commit/8f536deedb
22:08 donri joined #perl6
22:10 sorear [Coke]: one thing I've been doing to help spectesting is ulimit -t 60 #cpu seconds
22:14 [Coke] sorear: ah, so you don't have to manually kill hangs? nfity
22:17 wolfman2_ joined #perl6
22:21 cognominal_ joined #perl6
22:24 sorear [Coke]: that was the goal, although it has yet to prove itself in action
22:31 dalek nqp/reprapi2: a76cd8b | jnthn++ | src/ (10 files):
22:31 dalek nqp/reprapi2: Switch normal attribute binding over to the new REPR API.
22:31 dalek nqp/reprapi2: review: https://github.com/perl6/nqp/commit/a76cd8b550
22:32 [Coke] more helpful on the anti-spectest, running the unknown tests.
22:32 DarthGandalf joined #perl6
22:32 jlaire .u ᨴ
22:32 phenny U+1A34 (No name found)
22:40 melba joined #perl6
22:41 djanatyn I found myself writing perl5 code for the first time in a long time, and then I thought, "hey!"
22:41 djanatyn "this is totally do-able in perl6."
22:41 djanatyn so, let's try this in perl6 :)
22:41 djanatyn my task:
22:42 djanatyn facebook has the option to download an .ics file containing all of your friend's birthdays.
22:42 djanatyn upon further inspection, it turns out an .ics file is just a flat text file.
22:43 djanatyn you can grab information from the file with regex
22:43 djanatyn I want to parse all this information, and maybe use perl6's oop to have a person class, and each person has a birthday
22:44 dalek nqp/reprapi2: b446492 | jnthn++ | src/ (9 files):
22:44 dalek nqp/reprapi2: Update hint_for for consistency with the rest of the REPR API.
22:44 dalek nqp/reprapi2: review: https://github.com/perl6/nqp/commit/b446492f2b
22:44 tadzik djanatyn: sounds quite cool
22:44 djanatyn tadzik: yeah
22:45 jnthn phew, most of the way there with this repr update
22:45 tadzik maybe this .ics is some common file format for which you could write a parser
22:45 djanatyn I don't use perl very much at all these days - I've been using python, lisp, and haskell for the most part
22:45 djanatyn yeah, it seems like it would be really simple
22:45 djanatyn there were a bunch of ics parsers already available for perl 5, but since I was just doing this for fun, I wanted to try to do it myself
22:46 djanatyn so, let's see here!
22:48 djanatyn looks like there are some cool graphing libraries for perl6 too
22:50 drbean joined #perl6
22:53 dalek nqp/reprapi2: 7218de5 | jnthn++ | src/ (9 files):
22:53 dalek nqp/reprapi2: Update is_attribute_initialized to be consist with the rest of the REPR API.
22:53 dalek nqp/reprapi2: review: https://github.com/perl6/nqp/commit/7218de5790
23:10 jnthn sleep &
23:10 Trashlord joined #perl6
23:21 djanatyn are there any good documents I could read about perl 6 file io?
23:22 alester joined #perl6
23:32 DarthGandalf joined #perl6
23:40 preflex_ joined #perl6
23:42 japhb Ouch.  @A X~ @A appears to be REALLY slow when @A == 500
23:43 japhb .oO( Oh man, another yak for the stack )
23:50 ggoebel joined #perl6
23:55 DarthGandalf joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo