Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-11-04

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:01 envi_ joined #perl6
00:04 molaf_ joined #perl6
00:15 diakopter anyone around who knows nqp regexes?
00:16 diakopter specifically, the substitute kind
00:20 replore joined #perl6
00:21 aloha joined #perl6
00:39 benabik joined #perl6
00:40 whiteknight joined #perl6
00:42 mkramer joined #perl6
00:42 shinobicl_ joined #perl6
00:43 mkramer left #perl6
00:43 packetknife joined #perl6
00:44 scottp joined #perl6
00:45 shinobicl_ left #perl6
00:45 shinobicl_ joined #perl6
01:02 pmurias joined #perl6
01:02 pmurias diakopter: hi
01:03 diakopter hi
01:04 pmurias diakopter: what's the state of the lua 6model?
01:05 diakopter getting there... it's all ported; most of the setting loads; I'm tracking down the last few little bugs
01:05 pmurias and the compiler?
01:05 diakopter same one as 6model/dotnet
01:05 pmurias diakopter: you mean most of the Perl 6 setting?
01:06 diakopter no, the NQP setting in the 6model repo (much much smaller)
01:09 pmurias diakopter: and once the lua 6model is completed rakudo will run on lua?
01:09 diakopter after a lot more work... there are lots of pir guts, such as the regex compiler
01:10 diakopter (not to mention the pir that the regex compiler emits)
01:12 diakopter there's a long way to go.
01:24 diakopter omg; nqp regexes are so slow
01:29 hypolin joined #perl6
01:33 dalek 6model: 9cc0442 | diakopter++ | lua/compiler/LST2Lua.pm:
01:33 dalek 6model: Add a "registerizer" (really, localizer) of sorts, so the first 190 locals of a routine are stored in lua locals, not the locals[] table.  Takes FOREVER to run because it does a billion NQP regexes; will be run only to generate the .lua that will be committed to git.  jnthn++ promises to refactor the compiler someday to make this expensive optimization unnecessary.
01:33 dalek 6model: review: https://github.com/diakopter/6model/commit/9cc044287d
01:34 pmurias diakopter: you can try writing a niecza lua backend ;)
01:37 diakopter ;)
01:42 diakopter sorear's CodeGen.cs is scary
01:44 colomon left #perl6
01:44 colomon joined #perl6
01:47 colomon nom: multi trait_mod:<is>(Method $m, :$symmetric!) { say "Woah!" }; sub foo(Int $a, Num $b) is symmetric { $a.Num + $b }; say foo(1e0, 10);
01:47 p6eval nom 16b498: OUTPUT«===SORRY!===␤No applicable candidates found to dispatch to for 'trait_mod:<is>'. Available candidates are:␤:(Attribute $attr, Any $rw)␤:(Attribute $attr, Any $readonly)␤:(Routine $r, Any $info, Any $inlinable)␤:(Parameter $param, Any $readonly)␤:(Parameter $param, Any…
01:48 dalek 6model: 743beb8 | diakopter++ | lua/compiler/LST2Lua.pm:
01:48 dalek 6model: minor fix to the localizer
01:48 dalek 6model: review: https://github.com/diakopter/6model/commit/743beb8668
01:49 colomon nom: multi trait_mod:<is>(Method $m, :$symmetric!) { say "Woah!" }; sub foo is symmetric (Int $a, Num $b) { $a.Num + $b }; say foo(1e0, 10);
01:49 p6eval nom 16b498: OUTPUT«===SORRY!===␤Malformed block at line 1, near "(Int $a, N"␤»
01:49 pmurias diakopter: coping over and tweaking CodeGen.cs to make it emit lua code seems a very bad idea
01:49 diakopter of course
01:49 colomon nom: multi trait_mod:<is>(Method $m, :$symmetric!) { say "Woah!"; $m; }; sub foo(Int $a, Num $b) is symmetric { $a.Num + $b }; say foo(1e0, 10);
01:49 p6eval nom 16b498: OUTPUT«===SORRY!===␤No applicable candidates found to dispatch to for 'trait_mod:<is>'. Available candidates are:␤:(Attribute $attr, Any $rw)␤:(Attribute $attr, Any $readonly)␤:(Routine $r, Any $info, Any $inlinable)␤:(Parameter $param, Any $readonly)␤:(Parameter $param, Any…
01:49 pmurias especially as it emits bytecode
01:50 colomon nom: multi trait_mod:<is>(Routine $m, :$symmetric!) { say "Woah!"; $m; }; sub foo(Int $a, Num $b) is symmetric { $a.Num + $b }; say foo(1e0, 10);
01:50 p6eval nom 16b498: OUTPUT«Woah!␤===SORRY!===␤CHECK FAILED:␤Calling 'foo' will never work with argument types (num, int) (line 1)␤    Expected: :(Int $a, Num $b)␤»
01:50 colomon aha!
01:50 pmurias diakopter: the route i went when working on the lisp backend is to load the nam opcodes from .json
01:51 diakopter how were you going to handle labels/goto
01:51 pmurias lisp has labels/gotos?
01:52 diakopter that's what I'm asking
01:52 diakopter I figured nam opcodes would include gotos
01:53 diakopter decommute
01:53 pmurias diakopter: lisp has them
01:53 pmurias diakopter: it's a rare opcode in them .nam
01:54 colomon nom: multi trait_mod:<is>(Routine $m, :$symmetric!) { say $m.Signature; $m; }; sub foo(Int $a, Num $b) is symmetric { $a.Num + $b }; say foo(1e0, 10);
01:54 p6eval nom 16b498: OUTPUT«===SORRY!===␤Method 'Signature' not found for invocant of class 'Sub'␤»
01:55 colomon nom: multi trait_mod:<is>(Routine $m, :$symmetric!) { say $m.params.perl; $m; }; sub foo(Int $a, Num $b) is symmetric { $a.Num + $b }; say foo(1e0, 10);
01:55 p6eval nom 16b498: OUTPUT«===SORRY!===␤Method 'params' not found for invocant of class 'Sub'␤»
02:00 colomon nom: multi trait_mod:<is>(Routine $m, :$symmetric!) { say $m.signature.perl; $m; }; sub foo(Int $a, Num $b) is symmetric { $a.Num + $b }; say foo(1e0, 10);
02:00 p6eval nom 16b498: OUTPUT«:(Int $a, Num $b)␤===SORRY!===␤CHECK FAILED:␤Calling 'foo' will never work with argument types (num, int) (line 1)␤    Expected: :(Int $a, Num $b)␤»
02:04 wolfman2000 joined #perl6
02:13 fsergot joined #perl6
02:15 colomon jnthn: any hints on how to do meta programming on subs?
02:50 alc joined #perl6
02:59 woosley joined #perl6
03:19 FAruk joined #perl6
03:19 FAruk hello
03:20 FAruk say "hello
03:23 thou joined #perl6
03:27 japhb nom: my %h; %h<a><b> = 1;
03:27 p6eval nom 16b498: OUTPUT«Method 'at_key' not found for invocant of class 'Any'␤  in method postcircumfix:<{ }> at src/gen/CORE.setting:1039␤  in block <anon> at /tmp/fqkPO8DfXf:1␤  in <anon> at /tmp/fqkPO8DfXf:1␤»
03:27 japhb known?
03:31 Faruk joined #perl6
03:31 Faruk hi I am new
03:32 Faruk I need to know how to intstall perl6 in window7
03:34 japhb Faruk, I believe that both Rakudo and Niecza (the two top Perl 6 compilers right now) will both run on Windows.  Try http://rakudo.org/how-to-get-rakudo and http://github.com/sorear/niecza
03:35 Faruk Thanks japhb. Let me try
03:40 vlixes joined #perl6
03:45 sorear good * #perl6
03:46 * sorear wonders if niecza needs a "proper website" and if so what form it should take.
03:48 sorear ping moritz
03:49 kaleem joined #perl6
03:57 satyavvd joined #perl6
04:10 skangas joined #perl6
04:32 daniel-s joined #perl6
04:34 skangas joined #perl6
04:49 moritz sorear: pong
04:56 sunnavy joined #perl6
05:00 sorear moritz: do you think niecza needs more of a web site?
05:01 moritz sorear: yes
05:10 shachaf sorear: Does it have any of a website right now?
05:11 shachaf I suppose the github page is something.
05:17 orafu joined #perl6
05:24 dalek niecza: 4391579 | moritz++ | README.pod:
05:24 dalek niecza: fix grammar in README.pod
05:24 dalek niecza: review: https://github.com/sorear/niecza/commit/4391579206
05:25 moritz well, people typically want a webpage with at least the information from the README, plus release announcements (and possibly other blog posts)
05:25 moritz and an RSS or atom feed to follow them
05:47 ethndbst joined #perl6
06:00 * sorear is unsure of the best cource of action
06:10 sorear moritz: what would constitute a webpage?
06:15 araujo joined #perl6
06:15 araujo joined #perl6
06:24 sorear moritz: do you think I need to set up something comparable to rakudo.org?
06:25 sorear colomon: wow.  I had no idea :16 would be so easy
06:26 sorear colomon, moritz: niecza needs a new framework for handling str/num conversions.  I'm putting it off because I really don't want to write a decimal/binary floating point number convertere
06:59 dalek niecza: e2d48d3 | sorear++ | docs/ (2 files):
06:59 dalek niecza: mv docs/{tracing,environment}.pod and update
06:59 dalek niecza: review: https://github.com/sorear/niecza/commit/e2d48d317c
06:59 * sorear sleep
07:05 wtw joined #perl6
07:26 GlitchMr joined #perl6
07:27 icovnik joined #perl6
07:31 kaleem joined #perl6
07:40 GlitchMr joined #perl6
07:49 * tadzik wake
08:14 sayu joined #perl6
08:19 mj41 joined #perl6
08:23 mj41 joined #perl6
08:27 Trashlord joined #perl6
08:50 agentzh joined #perl6
09:00 daxim joined #perl6
09:04 mkramer joined #perl6
09:04 mkramer left #perl6
09:09 icovnik joined #perl6
09:09 * moritz zombie state
09:16 kaleem joined #perl6
09:20 * gfldex hands moritz his morning brain
09:21 * moritz takes a deep bite
09:23 nek joined #perl6
09:37 sunnavy joined #perl6
09:54 moritz std: sub f(|:$x) { }
09:55 p6eval std be1f10e: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Malformed parameter at /tmp/GW2PGoczyb line 1:â�¤------> [32msub f([33mâ��[31m|:$x) { }[0mâ�¤    expecting any of:â�¤    nameâ�¤   new name to be definedâ�¤ parameterâ�¤      routine_defâ�¤    signatureâ�¤Parse failedâ�¤FAILED 00:01 120mâ�¤Â»
09:55 moritz nom: sub f(:$x) { }; say &f.signature.params[0].perl
09:55 p6eval nom 16b498: OUTPUT«Any $x␤»
09:55 moritz nom: sub f(:$x) { }; say &f.signature.params[0].named_names.perl
09:56 p6eval nom 16b498: OUTPUT«Array.new("x")␤»
09:57 moritz nom: sub f(*%) { }; say &f.signature.params[0].named_names.perl
09:57 p6eval nom 16b498: OUTPUT«().list␤»
09:58 moritz nom: sub f(*%) { }; say &f.signature.params[0].perl
09:58 p6eval nom 16b498: OUTPUT«Associative␤»
10:03 moritz woah, Parameter.perl has to handle so many cases that I'm asking myself if it wasn't easier to just store its source code in the Parameter object
10:03 Kivutarrr joined #perl6
10:06 moritz jnthn: how costly would another str attribute in Parameter be?
10:10 GlitchMr joined #perl6
10:10 GlitchMr perl6: my $i = 0; while $i < 10000000 { $i = $i + 1 }; say $i
10:11 p6eval niecza v11-8-ge2d48d3: OUTPUT«10000000␤»
10:11 p6eval ..pugs b927740, rakudo 16b498: OUTPUT«(timeout)»
10:11 GlitchMr perl6: multi sub foo(Str $s) { say $s }
10:11 GlitchMr foo(42)
10:11 p6eval pugs b927740, rakudo 16b498:  ( no output )
10:11 p6eval ..niecza v11-8-ge2d48d3: OUTPUT«Potential difficulties:â�¤  &foo is declared but not used at /tmp/j5YcF1PswX line 1:â�¤------> [32mmulti sub foo[33mâ��[31m(Str $s) { say $s }[0mâ�¤â�¤Â»
10:11 GlitchMr ...
10:11 moritz nom: my int $i = 0; while $i < 10000000 { $i = $i + 1 }; say $i
10:11 GlitchMr Accidental line break...
10:12 GlitchMr perl6: multi sub foo(Str $s) { say $s } foo(42)
10:12 p6eval nom 16b498: OUTPUT«(timeout)»
10:12 p6eval niecza v11-8-ge2d48d3: OUTPUT«[31m===[0mSORRY![31m===[0m��Strange text after block (missing comma, semicolon, comment marker?) at /tmp/y2UmRipGhw line 1:�------> [32mmulti sub foo(Str $s) { say $s }[33m�[31m foo(42)[0m��Parse failed��»
10:12 p6eval ..rakudo 16b498: OUTPUT«===SORRY!===␤Confused at line 1, near "multi sub "␤»
10:12 p6eval ..pugs b927740: OUTPUT«42␤»
10:13 GlitchMr perl6: multi sub foo(Str $s) { say $s }; foo(42)
10:13 p6eval rakudo 16b498: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'foo' will never work with argument types (int) (line 1)␤    Expected any of:␤    :(Str $s)␤»
10:13 p6eval ..niecza v11-8-ge2d48d3: OUTPUT«␤Unhandled Exception: No matching candidates to dispatch for &foo␤  at <unknown> line 0 (&foo @ 0) ␤  at /tmp/1mkP_BbePc line 1 (mainline @ 1) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2223 (ANON @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 22…
10:13 p6eval ..pugs b927740: OUTPUT«42␤»
10:13 GlitchMr perl6: multi sub foo(Str $s) { say $s }; eval('multi sub foo(Int $s) {say $s*2};'); foo(42)
10:13 p6eval rakudo 16b498: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'foo' will never work with argument types (int) (line 1)␤    Expected any of:␤    :(Str $s)␤»
10:13 p6eval ..niecza v11-8-ge2d48d3: OUTPUT«Potential difficulties:â�¤  &foo is declared but not used at (eval) line 1:â�¤------> [32mmulti sub foo[33mâ��[31m(Int $s) {say $s*2};[0mâ�¤â�¤â�¤Unhandled Exception: No matching candidates to dispatch for &fooâ�¤  at <unknown> line 0 (&foo @ 0) â�¤  at /tmp/j6xhsBDUuw…
10:13 p6eval ..pugs b927740: OUTPUT«42␤»
10:14 GlitchMr perl6: multi sub foo(Str $s) { say $s }; multi sub foo(Int $s) {say $s*2}; foo(42)
10:14 p6eval rakudo 16b498, niecza v11-8-ge2d48d3: OUTPUT«84␤»
10:14 p6eval ..pugs b927740: OUTPUT«42␤»
10:14 GlitchMr eval() causes problems... not surprised...
10:14 moritz why problems?
10:14 moritz so far it looks according to spec
10:14 GlitchMr ok :)
10:14 moritz routines are lexically scoped by default
10:15 GlitchMr I though that eval() is... well... eval()...
10:15 moritz and eval() introduces a new scope
10:15 GlitchMr Makes sense...
10:15 moritz so unless you take extra care, what is declared in an eval stays in the eval
10:15 GlitchMr perl6: multi sub Main::foo(Str $s) { say $s }; multi sub Main::foo(Int $s) {say $s*2}; foo(42)
10:15 p6eval niecza v11-8-ge2d48d3: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Two definitions found for symbol ::GLOBAL::Main::&fooâ�¤â�¤  first at ??? line 0â�¤  second at ??? line 0 at /tmp/PzZD3_7rii line 1:â�¤------> [32m(Str $s) { say $s }; multi sub Main::foo[33mâ��[31m(Int $s) {say $s*2}; foo(42)[0mâ�¤â�¤â€¦
10:15 p6eval ..pugs b927740: OUTPUT«84␤»
10:15 p6eval ..rakudo 16b498: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&foo' called (line 1)␤»
10:15 GlitchMr But there is probably failure on my part...
10:16 moritz probably.
10:16 GlitchMr Main::foo has different meaning than foo, I guess...
10:17 moritz that's what the output suggests, yes
10:19 GlitchMr perl6: print sqrt(-1)
10:19 p6eval niecza v11-8-ge2d48d3: OUTPUT«0+1i»
10:19 p6eval ..pugs b927740, rakudo 16b498: OUTPUT«NaN»
10:22 GlitchMr perl6: my $a = 2;$a+<=2;print $a
10:22 p6eval rakudo 16b498, niecza v11-8-ge2d48d3: OUTPUT«8»
10:22 p6eval ..pugs b927740: OUTPUT«2»
10:23 GlitchMr perl6: my $a = 2;$a====2;print $a
10:23 p6eval rakudo 16b498: OUTPUT«True»
10:23 p6eval ..pugs b927740: OUTPUT«2»
10:23 p6eval ..niecza v11-8-ge2d48d3: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Cannot make assignment out of === because chaining operators are diffy at /tmp/xtKlOJvNtv line 1:â�¤------> [32mmy $a = 2;$a====[33mâ��[31m2;print $a[0mâ�¤â�¤â�¤Unhandled Exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/C…
10:28 GlitchMr perl6: my &ultraprint = sub {print @_}; ultraprint(2, '+', 2, '=', 4)
10:28 p6eval rakudo 16b498: OUTPUT«2+2=4»
10:28 p6eval ..niecza v11-8-ge2d48d3: OUTPUT«2 + 2 = 4»
10:28 p6eval ..pugs b927740: OUTPUT«*** Can't modify constant item: VStr "MkCode {isMulti = True, subName = \"&\", subType = SubPrim, subOuterPads = [], subInnerPad = MkPad (padToList []), subPackage = , subAssoc = AIrrelevantToParsing, subParams = [], subBindings = [], subSlurpLimit = [], subReturns …
10:28 GlitchMr 2+2=4
10:28 GlitchMr 2 + 2 = 4
10:28 GlitchMr ... ok...
10:28 GlitchMr I see differences there.
10:39 replore_ joined #perl6
11:17 tzhs joined #perl6
11:17 dalek rakudo/nom: 11e836e | moritz++ | src/Perl6/SymbolTable.pm:
11:17 dalek rakudo/nom: use more nqp:: ops in SymbolTable
11:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/11e836e1e2
11:38 Psyche^ joined #perl6
11:53 donri joined #perl6
12:07 jnthn o/ from TCPW :)
12:07 colomon \o
12:10 colomon jnthn: so, about that "is symmetric"... how do I register a new sub in nom?  metaprogramming, I mean...
12:10 colomon ;)
12:10 jnthn colomon: Your trait_mod didn't get found as you put Method in the signature and then applied to trait to a Sub :)
12:10 jnthn moritz: (str for the Perl source) fairly cheap I guess
12:11 colomon jnthn: if you scroll down further, you'll see I did get it right eventually
12:11 jnthn colomon: ah, ok :)
12:11 jnthn colomon: I need to do some work yet on the meta-programming bits for signatures and parameters.
12:11 colomon but I still don't know how to .... ah
12:12 jnthn Mostly, they're missing various perl 6 space constructors and stuff
12:12 jnthn I guess actually having a use case now helps give me an idea how to start working on it :)
12:12 Psyche^ joined #perl6
12:14 bluescreen10 joined #perl6
12:17 masak lol hai from TCPW... heh, jnthn++ beat me to it ;)
12:22 jnthn :P
12:22 jnthn what's new :P
12:23 masak moritz has become a zombie, it seems.
12:24 * masak hopes that won't affect moritz' excellent stewardship of roast
12:24 * moritz tried to get the $!perl attribute into Parameter, and got a segfault as the answer
12:27 moritz nom: class A { has str $.x }; sa A.new.x
12:27 p6eval nom 11e836: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&sa' called (line 1)␤»
12:27 moritz nom: class A { has str $.x }; say A.new.x
12:27 p6eval nom 11e836: OUTPUT«␤»
12:27 replore joined #perl6
12:28 [particle] joined #perl6
12:33 jnthn moritz: Where did you add it?
12:33 jnthn moritz: At the end, or?
12:34 moritz jnthn: right after $!variable_name
12:34 moritz does it matter?
12:34 jnthn moritz: yes
12:34 jnthn moritz: If you do that, binder.h needs updating.
12:34 moritz oh
12:35 jnthn (take a look, it should be clear what to do)
12:36 moritz indeed it is, thank you
12:37 jnthn moritz: I would suggest putting it at the end though (more)
12:37 jnthn The attributes are roughly sorted in order of importance at bind time.
12:37 jnthn So as to get better cache hit
12:38 moritz nom: say (3 ?| 4).WHAT
12:38 p6eval nom 11e836: OUTPUT«Bool()␤»
12:38 jnthn (CPU cache)
12:38 moritz jnthn: ok
12:43 bluescreen100 joined #perl6
12:48 dalek Heuristic branch merge: pushed 20 commits to nqp/bigint by jnthn
12:48 dalek nqp/bigint: 60d70e2 | jonathan++ | src/ops/nqp_bigint.ops:
12:48 dalek nqp/bigint: Update bigint ops to work with new repr API.
12:48 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/60d70e2a34
12:54 moritz nom: -> $a, $b {YOU_ARE_HERE}
12:54 p6eval nom 11e836: OUTPUT«Use of uninitialized value in string context␤Use of uninitialized value in string context␤===SORRY!===␤error:imcc:syntax error, unexpected DOT ('.')␤        in file '(file unknown)' line 20376793␤␤»
12:54 moritz nom: my $x = -> $a, $b {YOU_ARE_HERE}
12:54 p6eval nom 11e836: OUTPUT«Use of uninitialized value in string context␤Use of uninitialized value in string context␤===SORRY!===␤error:imcc:syntax error, unexpected DOT ('.')␤        in file '(file unknown)' line 71357083␤␤»
13:03 dalek nqp/bigint: e388430 | jonathan++ | src/ (3 files):
13:03 dalek nqp/bigint: Split bigint repr struct into instance and body. Split instance_of into allocate and initialize to match new API.
13:03 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/e38843038c
13:03 dalek nqp/bigint: f4f9287 | jonathan++ | src/6model/reprs/P6bigint.c:
13:03 dalek nqp/bigint: Toss defined, which is gone from the repr API. Fix up attribute related repr methods.
13:03 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/f4f92874bd
13:03 mkramer joined #perl6
13:07 [Coke] joined #perl6
13:08 moritz not to self: reconfigure after changing to bigint branch
13:09 moritz *note
13:09 * moritz still in zombie mode
13:09 dalek nqp/bigint: b0f876a | jonathan++ | src/6model/reprs/P6bigint.c:
13:09 dalek nqp/bigint: Implement copy_to, get rid of repr_clone.
13:09 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/b0f876acb8
13:09 jnthn moritz: Wait a little...still some patches to go.
13:10 moritz jnthn: just noticed that the build still fails
13:10 jlaire joined #perl6
13:10 jnthn yes :)
13:10 moritz in particular P6bigint.c doesn't know about the Body distinction
13:11 moritz erm, that was before your last patch :-)
13:12 masak convenient... moritz develops a full-fledged IRC logging solution so that he can leave notes to self. :P
13:13 moritz well, everybody can leave notes to themselves on IRC
13:14 * moritz reads http://www.littlehart.net/atthekeyboard/2011/11/03/infrastructure-debt/ and finds himself nodding at nearly every paragraph
13:15 dalek nqp/bigint: 1eea4e5 | jonathan++ | src/6model/reprs/P6bigint.c:
13:15 dalek nqp/bigint: Update get/set native repr functions to new API.
13:15 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/1eea4e5561
13:16 * flussence can relate to that article without even reading beyond the URL
13:17 moritz that I could too :-)
13:18 mkramer left #perl6
13:22 jnthn hmm...have I broken the negative case of get_int or was it already weird...
13:22 moritz it wasn't broken :-)
13:23 moritz but you can push it and let me have a look at it
13:23 dalek nqp/bigint: 324df8e | jonathan++ | src/6model/reprs/P6bigint.c:
13:23 dalek nqp/bigint: Update GC related bit of the bigint repr. Builds again.
13:23 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/324df8e1ec
13:23 jnthn moritz: Yeah, somehow I have got it so I lost the assignment to ret...
13:23 jnthn moritz: I'm confused.
13:23 jnthn moritz: I don't seem to have changed that bit...
13:24 jnthn if (MP_LT == mp_cmp_d(&i, 0)) {
13:24 jnthn mp_neg(&i, &i);
13:24 jnthn return ret;
13:24 jnthn ...but it never sets ret.
13:24 moritz oops
13:29 moritz should be
13:29 moritz mp_neg(&i, &i);
13:29 moritz ret = mp_get_int(&i);
13:29 moritz mp_neg(&i, &i);
13:29 moritz return ret;
13:29 * moritz recompiles and tests
13:30 jnthn hmm, think I may have busted tests
13:30 * [Coke] is bit by "master" not being the right branch.
13:31 PerlJam [Coke]: how hard did it bite you?  Is it time to make master == nom ?
13:31 * [Coke] wonders if he updated t/spectest.data at some point while pointing at the wrong branch. whooops.
13:31 [Coke] PerlJam: eh. just wasted 10m.
13:31 [Coke] (of computer time, not coleda time.)
13:31 PerlJam okie
13:32 moritz Could not find method 'compose'
13:32 jnthn yeah, same here
13:33 dalek nqp/bigint: d387ce9 | moritz++ | src/6model/reprs/P6bigint.c:
13:33 dalek nqp/bigint: initialize return value in P6bigint -> get_int
13:33 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/d387ce905b
13:41 jnthn Hmm. Confusing bug is confusing. But not bigint specific.
13:42 moritz [Coke]: I recommend  git branch -D master
13:42 moritz then master branch is gone, and you can't accidentally merge to it, change to it etc.
13:44 [Coke] moritz: this was a relatively new clone.
13:45 moritz huh, origin still has master :/
13:45 [Coke] er, relatively untouched. it existed before nom did. Either way, you have to remember at least once to switch it. ;)
13:46 [Coke] I wonder how much time I lost on this project because I was (implicitly) expecting hashes to interate in insertion order by default.
13:47 moritz roast assumed that in some places too :/
13:48 [Coke] *iterate, whoops. weird thinko.
13:52 dalek nqp/bigint: f9262fc | jonathan++ | t/nqp/60-bigint.t:
13:52 dalek nqp/bigint: Avoid a curious, seemingly new issue by removing a needless .HOW (what get_knowhow gives is already a HOW).
13:52 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/f9262fc80e
13:52 jnthn moritz: found what's going on...this works around it
13:55 moritz ... and set_int is broken for negative numbers, again :(
13:56 thou joined #perl6
13:56 moritz but this time it returns 0, not the 2s complement
13:57 mls hi perl6!
13:57 masak hi mls!
13:57 woosley left #perl6
13:57 moritz \o m.*
13:58 mls jnthn: did you read my comment about the excess ops in while loops
13:59 * moritz wonders if the mp_int i = ...  line copies
13:59 moritz and I should only store the pointer
14:00 * moritz doesn't really understand C, and thus experiments
14:02 masak tadzik: question from us here at TCPW: can you somehow attach Pod to tests?
14:02 moritz what's a test? :-)
14:03 masak I left that open because I don't want to ask an XY problem question :P
14:04 moritz class MyTest { #= that's it!  \n method doit() { is 1+1, 2, 'addition works'; } }; MyTest.doit
14:05 jnthn mls: Yes; I don't know that it's quite so simple.
14:06 mls I think you have to define a "native bool" or something.
14:11 masak niceza: grammar G { regex TOP { <ident> !~~ ^ 'moose' $ }; regex ident { \w+ } }; say ?G.parse("foo"); say ?G.parse("moose")
14:11 jnthn moritz: oh, yes, I think it does
14:11 masak niecza: grammar G { regex TOP { <ident> !~~ ^ 'moose' $ }; regex ident { \w+ } }; say ?G.parse("foo"); say ?G.parse("moose")
14:11 p6eval niecza v11-8-ge2d48d3: OUTPUT«[31m===[0mSORRY![31m===[0m��Action method quantifier:sym<~~> not yet implemented at /tmp/cq_veDmkI7 line 1:�------> [32mgrammar G { regex TOP { <ident> !~~ ^[33m�[31m 'moose' $ }; regex ident { \w+ } }; say[0m���Unhandled Exception: Cannot use hash …
14:12 masak don't worry, I won't unspec this one ;)
14:12 masak but I am a bit curious if it's ever been used for something.
14:13 jnthn Well, given it's not implemented :P
14:13 masak niecza: say so "foo" ~~ /"foo"/
14:13 p6eval niecza v11-8-ge2d48d3: OUTPUT«Bool::True␤»
14:13 masak jnthn: I was thinking maybe STD implemented it and used it
14:14 masak I do think that the $0 ~~ <.ident> use case looks interesting.
14:17 sunnavy joined #perl6
14:18 tokuhiro_ joined #perl6
14:18 jnthn moritz: got a fix here that passes all the test
14:18 jnthn s
14:18 jnthn moritz: Will deuglify it then commit :)
14:21 moritz \o/
14:22 jnthn pushed
14:22 dalek nqp/bigint: 2163a93 | jonathan++ | src/6model/reprs/P6bigint.c:
14:22 dalek nqp/bigint: Fix get_int/set_int in P6bigint.
14:22 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/2163a93942
14:22 jnthn moritz: all tests pass here now :)
14:27 moritz still fails here. I wonder if it didn't rebuild, or something
14:29 jnthn hm, odd
14:31 moritz after a 'make clean', everything passes again
14:31 jnthn oh hmm...looks like we may have a makefile dependency fial
14:32 moritz when I touch P6Bigint.c, it does trigger some rebuilds
14:32 jnthn yeah, wrong ones
14:32 fsergot joined #perl6
14:33 moritz ah
14:33 moritz DYNOPS don't seem to depend on DYNPMC
14:33 moritz and DYNPMC is what depends on METAMDODEL_SOURCE
14:34 jnthn found it
14:35 * moritz too
14:35 moritz $(OPS_DIR)/$(BIGIN_OPS)$(LOAD_EXT)  doesn't depend on the bigint repr
14:36 jnthn yeah, patched here
14:36 dalek nqp/bigint: ebffd93 | jonathan++ | tools/build/Makefile.in:
14:36 dalek nqp/bigint: Make the right thing depend on the bigint repr.
14:36 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/ebffd93591
14:37 moritz it's good that our build system is still simple enough that I'm not running away screaming :-)
14:37 * jnthn really doesn't like complex build systems :)
14:40 lateau_ joined #perl6
14:40 slavik1 joined #perl6
14:43 moritz so, what's next? merge bigint into master, update nom to it, and start to switch rakudo's Int?
14:44 jnthn moritz: One missing thing in including bigint within Int yet.
14:45 jnthn No reason not to merge the branch now though.
14:45 * moritz kinda hoped it would be as easy as adding a :repr('P6bigint') in the bootstrap somehow...
14:45 jnthn No, because Int has to stay as a P6opaque and embed a P6bigint.
14:46 moritz so that classes inheriting from Int can have attributes?
14:46 jnthn And while that bit is done, the thing for the bigint ops to locate the bigint without the P6opaque object body isn't done yet
14:46 jnthn moritz: yes, or mixins
14:47 * moritz still has problems with mixins into Int/Num/Str. Shouldn't those be immutable objects?
14:48 jnthn moritz: but
14:48 jnthn (as oposed to does)
14:48 jnthn does should not work on them
14:48 moritz hm
14:49 jnthn (though does because nobody can tell me what I should look at to make that decision, and I didn't have a good idea for how it should look yet)
14:49 moritz so it's supposed to return a new object that wraps the Int, thus not violating the immutability?
14:49 moritz jnthn: I still maintain that we need a way to flag classes as producing immutable objects
14:50 jnthn moritz: me too but it's just what that API should look like :)
14:50 moritz trait on the class would be my first instinct
14:50 moritz or maybe a separte declaration keyword
14:51 moritz immutable_class Foo { has int $.x; has int $.y }
14:51 jnthn trait works for a start I guess...ew can always upgrade to something better later
14:52 moritz some of our classes in the setting which are supposed to be immutable probably aren't under the hood right now
14:52 jnthn indeed
14:52 moritz they might need some small degree of fixing
14:53 moritz I'm thinking of Date and Rat there
14:53 jnthn 42 does Blah actually works
14:53 jnthn and should not.
14:53 moritz which probably initialize attributes wrongly
14:53 jnthn ah, ok
14:57 moritz ah right, Rat.new creates an instance, and then calls .BUILD($numerator, $denominator)
14:59 masak niecza: say so "foo" ~~ / |w foo /
14:59 p6eval niecza v11-8-ge2d48d3: OUTPUT«Bool::False␤»
14:59 masak |w not implemented...
14:59 moritz wtf is |w?
15:00 masak oh wait, it's <|w>
15:00 masak it's the new \b
15:00 masak niecza: say so "foo" ~~ / <|w> foo /
15:00 p6eval niecza v11-8-ge2d48d3: OUTPUT«[31m===[0mSORRY![31m===[0m��Unrecognized regex assertion at /tmp/AqImRfMdNU line 1:�------> [32msay so "foo" ~~ / <[33m�[31m|w> foo /[0m��Parse failed��»
15:00 moritz ah right
15:00 moritz I recently read that in S05 and wondered where it came from :-)
15:01 masak it's a fairly recent change.
15:01 jnthn std: say so "foo" ~~ / <|w> foo /
15:01 p6eval std be1f10e: OUTPUT«ok 00:01 123m␤»
15:04 masak <~~0>      # match according to $0's pattern
15:04 masak <~~foo>    # match according to $foo's pattern
15:04 masak shouldn't that be "$<foo>'s pattern"?
15:04 jnthn prolly
15:04 masak TimToady: ^^
15:05 [Coke] IWBNI github let you RSS-subscribe to all the commits, the way dalek can get them all.
15:05 masak do tell github. they seem nice.
15:05 moritz agreed
15:05 masak maybe it works already :)
15:05 moritz masak: don't tell TimToady, fix it :-)
15:06 moritz (dalek only gets them all because we install post-commit hooks, fwiw)
15:06 lateau_1 joined #perl6
15:06 masak moritz: I woulda fix'd it if I got any stronger response than "prolly" ;)
15:07 [Coke] moritz: I didn't mean in the same technical way, right.
15:07 moritz masak: I'm pretty sure $<foo> is what is meant
15:07 * masak fixes
15:07 Chillance joined #perl6
15:09 dalek specs: 88326a9 | masak++ | S05-regex.pod:
15:09 dalek specs: [S05] fix braino
15:09 dalek specs: review: https://github.com/perl6/specs/commit/88326a930f
15:15 molaf joined #perl6
15:19 fsergot joined #perl6
15:28 kaleem joined #perl6
15:33 Kivutarrr left #perl6
15:33 masak std: m(foo)
15:33 p6eval std be1f10e: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Undeclared routines:â�¤        'foo' used at line 1â�¤   'm' used at line 1â�¤Check failedâ�¤FAILED 00:01 119mâ�¤Â»
15:33 masak std: m:g (foo)
15:33 p6eval std be1f10e: OUTPUT«ok 00:01 120m␤»
15:33 moritz that is... weird.
15:34 sjn std: m (foo)
15:34 p6eval std be1f10e: OUTPUT«ok 00:01 120m␤»
15:34 masak oh my :)
15:34 masak it's spec, though.
15:34 sjn it's also deeply confusing for newbies
15:34 moritz std: m:g( foo )
15:34 p6eval std be1f10e: OUTPUT«[31m===[0mSORRY![31m===[0m�No delimiter found at /tmp/5_Y5MNWzrA line 1 (EOF):�------> [32mm:g( foo )[33m�[31m<EOL>[0m�Undeclared routine:� 'foo' used at line 1�Parse failed�FAILED 00:01 119m�»
15:35 moritz delimiter for what?
15:35 masak the regex.
15:35 masak (foo) becomes an argument for :g
15:35 moritz oh.
15:37 masak nom &
15:38 simcop2387 joined #perl6
15:41 masak oops, premature '&' ;)
15:44 pmurias joined #perl6
15:59 avar joined #perl6
16:01 MayDaniel joined #perl6
16:04 dalek rakudo/nom: 79c1c9f | moritz++ | Configure.pl:
16:04 dalek rakudo/nom: [Configure.pl] fix import list, not_gerd++
16:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/79c1c9f8f5
16:11 tadzik masak: well, what do you want to achieve by that? :)
16:12 tadzik like, as a test description on steroids?
16:13 tadzik ( hello #perl6! )
16:18 [Coke] why were you trying to fix gerd in the first place?
16:19 masak tadzik: I want to write documentation and tests in the same file. so that I can pull out and render the Pod afterwards, and it's already "tied" to passing/failing tests.
16:20 masak I got this idea from listening to lichtkind++ talk about Documentation-Driven Development.
16:22 masak [Coke]: ww?
16:22 [Coke] 12:04 <+dalek> rakudo/nom: [Configure.pl] fix import list, not_gerd++
16:23 masak ah.
16:23 masak :)
16:23 TimToady masak: www? :)
16:25 masak apparently ;)
16:26 DarthGandalf joined #perl6
16:28 tadzik masak: ok; how is that different to writing your Pod in any other file, from the users' perspective?
16:30 masak tadzik: the goal was to cheaply link pieces of Pod to individual tests.
16:30 masak hm, or to groups of tests, I guess.
16:31 tadzik so to get some special kind of tests-pod introspection?
16:32 masak I'm not proposing any new Perl 6 features. just wondering if there's a way to combine Pod and tests.
16:32 tadzik well, nothing stops you :)
16:32 tadzik I don't see how is that different from writing Pod along with any other code. Do you want any tests-Pod interaction?
16:33 masak only want to know which order the Pod and the tests come in.
16:34 masak so that I can emit the pod as HTML-or-whatever with the test pass/fail status interleaved in the right places.
16:34 tadzik oh, that's what you want
16:34 masak yeah. sorry for exaplaining crappily :)
16:34 tadzik hmm
16:35 tadzik so TAP output along with formatted Pod?
16:35 [Coke] masak: just use the pod var for "recent pod" as the test description
16:36 masak tadzik: well, I'm thinking more of the HTML rendering of the documentation as primary, and the test results interleaved -- but yes, they would probably be extracted from the TAP output somehow.
16:37 masak [Coke]: I don't know about such a var.
16:37 tadzik there isn't any
16:37 tadzik but you can $=POD.shift every time you want some
16:37 masak that's far too brittle.
16:37 tadzik or write yourself an iterator
16:37 masak especially since there might be many tests per piece of Pod.
16:38 tadzik that's reasonable
16:38 tadzik but how is that connected?
16:38 tadzik You want Test.pm to automagically print Pod pieces?
16:38 masak I guess my mental image for this is what we used to have with the spec and the spectests -- except there it's done through smartlinks.
16:39 masak no, I don't want a special testing framework. I want a special documentation serializer ;)
16:39 masak there's a subtle difference.
16:39 tadzik sorry, but I completely don't get it :)
16:39 masak g'ah, I lost you! :)
16:40 tadzik spec and spectests, hrm
16:40 masak tadzik: did you ever see the spec with test pass/fail statuses interleaved?
16:40 tadzik oh, oh
16:40 tadzik masak: nope
16:40 masak because that's exactly what I mean.
16:40 masak it was quite nice.
16:40 masak but the mechanism behind that was smartlinks, which some people implemented during the Golden Age, and then it broke and no-one had the brains to fix it.
16:41 masak I'd like for the mechanism to be... Pod, basically.
16:41 masak I was wondering what primitives there are in place already for doing that, without too much boilerplate.
16:44 am0c joined #perl6
16:49 masak I mean, if I have a Perl 6 parser that's willing to part with enough AST information, I'll probably be able to recreate the relative positions of Pod and tests. if I just have a non-Perl6 parser, I could still make educated guesses but it might be more brittle. if I had enough introspective information, it'd be outright easy.
16:51 Faruk joined #perl6
16:51 Faruk Hello
16:51 masak hi Faruk
16:51 masak welcome back.
16:52 Faruk I am new here. please bear with me
16:52 Faruk How can I install perl6 plugin on latest version of padre
16:52 Faruk I need some step
16:52 masak we are good at bearing with newcomers :)
16:52 Faruk :)
16:52 masak but I don't know the answer to your question, unfortunately. I don't use Padre regularly.
16:53 masak maybe someone else here does.
16:53 masak szabgab?
16:53 tadzik szabgab probably
16:53 Faruk ok, Thanks so much
16:53 tadzik you may want to ask on #padre channel somewhere
16:53 masak here on #freenode, I think.
16:53 Faruk Please help if any body can on this
16:53 Faruk ok
16:54 masak er, s/#freenode/frenode/
16:54 masak argh
16:55 kaleem joined #perl6
16:56 Faruk Anybody here know how can I install perl6 plugin on latest version of padre?
16:57 PerlJam Faruk: um ... the same way you install any other plugin?
16:58 [Coke] I'm not sure anyone here uses padre.
16:58 masak https://metacpan.org/module/Padre::Plugin::Perl6
16:58 pmurias masak: re smartlinks for modules, what i would find usefull is to have the tests serve as (additional) examples for the docs
16:59 PerlJam I use padre off and on but I haven't really used it with Perl 6 (other than install the plugin and test that it works :)
16:59 pmurias masak: as fail/pass won't be especially usefull for released modules which are supposed to have 100% passes
17:00 masak true.
17:08 masak nom &
17:16 alvis joined #perl6
17:24 GlitchMr joined #perl6
17:40 GlitchMr joined #perl6
17:41 GlitchMr joined #perl6
17:42 icovnik joined #perl6
17:43 GlitchMr joined #perl6
17:45 GlitchMr joined #perl6
17:47 GlitchMr joined #perl6
17:50 GlitchMr joined #perl6
17:54 sorear good * #perl6
17:58 GlitchMr joined #perl6
18:01 felher o/
18:02 mkramer joined #perl6
18:08 tlocalhos joined #perl6
18:11 Chillance joined #perl6
18:17 dalek 6model: 4c6650e | diakopter++ | .gitignore:
18:17 dalek 6model: prepare for .lua scripts
18:17 dalek 6model: review: https://github.com/diakopter/6model/commit/4c6650e003
18:32 mj41 joined #perl6
18:46 dual joined #perl6
19:01 thou joined #perl6
19:10 MayDaniel joined #perl6
19:21 moritz nom: .say for $(1, 2);
19:21 p6eval nom 79c1c9: OUTPUT«1 2␤»
19:23 soh_cah_toa joined #perl6
19:28 GlitchMr42 joined #perl6
19:29 dalek 6model: 67020dd | diakopter++ | lua/compiler/ (4 files):
19:29 dalek 6model: rewrite localizer from nqp to lua; achieve 300,000% speedup (regex-heavy code).
19:29 dalek 6model: review: https://github.com/diakopter/6model/commit/67020ddcbd
19:30 flussence I... what...
19:31 dalek 6model: f30959d | diakopter++ | lua/compiler/LocalsOptimizer.lua:
19:31 dalek 6model: oops; add LocalsOptimizer.lua I forgot
19:31 dalek 6model: review: https://github.com/diakopter/6model/commit/f30959d39c
19:31 diakopter flussence: ?
19:32 flussence 300 *thousand*?
19:32 diakopter yeah, 50 hours to 1 minute
19:32 flussence holy crap.
19:32 diakopter nqp regexes are very slow
19:38 dalek faq: 5738d87 | moritz++ | questions:
19:38 dalek faq: another question: does Perl 6 have coroutines?
19:38 dalek faq: review: https://github.com/perl6/faq/commit/5738d87910
19:38 dalek faq: a784c68 | moritz++ | / (2 files):
19:38 dalek faq: explain item context and list-(non)-flattening
19:38 dalek faq: review: https://github.com/perl6/faq/commit/a784c68179
19:38 camel-661 joined #perl6
19:38 moritz IWBN if somebody could look over that last commit and tell me if it makes sense, and if I got carried away (too long?)
19:38 icovnik joined #perl6
19:38 dalek 6model: f52dae6 | diakopter++ | lua/compiler/ (2 files):
19:38 dalek 6model: bugfix
19:38 dalek 6model: review: https://github.com/diakopter/6model/commit/f52dae61db
19:39 flussence moritz: makes sense to me. it's one of the things I keep forgetting too :)
19:41 moritz flussence: good, thanks for looking
19:41 * diakopter looked too and agreed
19:42 diakopter now to track down why NQPCode is getting set in the BootstrapSetting, but not in the NQPSetting
19:46 wk joined #perl6
19:57 dalek faq: 64de598 | moritz++ | / (2 files):
19:57 dalek faq: coroutines
19:57 dalek faq: review: https://github.com/perl6/faq/commit/64de598659
20:13 cognominal___ nom: eager 1|2
20:13 p6eval nom 79c1c9:  ( no output )
20:14 flussence_ joined #perl6
20:16 dalek niecza: 5b74146 | sorear++ | docs/nam.pod:
20:16 dalek niecza: [docs/nam.pod] Update basic details.  Have not yet touched the big list of ops.
20:16 dalek niecza: review: https://github.com/sorear/niecza/commit/5b74146555
20:17 pothos_ joined #perl6
20:17 y3llow_ joined #perl6
20:18 ksi joined #perl6
20:18 wk joined #perl6
20:28 carlin joined #perl6
20:32 mj41 joined #perl6
20:34 dalek faq: fb957a6 | moritz++ | answers.md:
20:34 dalek faq: add ids to the answers
20:34 dalek faq: review: https://github.com/perl6/faq/commit/fb957a63e7
20:34 dalek faq: 21709ee | moritz++ | / (2 files):
20:34 dalek faq: answer "is Perl 6 ready yet?" question
20:34 dalek faq: review: https://github.com/perl6/faq/commit/21709ee785
20:47 dalek faq: 8e5d92a | sorear++ | answers.md:
20:47 dalek faq: Fix typo
20:47 dalek faq: review: https://github.com/perl6/faq/commit/8e5d92af3e
20:53 mkramer left #perl6
20:54 dalek faq: d16a0ce | moritz++ | / (2 files):
20:54 dalek faq: answer "why Perl 6?"
20:54 dalek faq: review: https://github.com/perl6/faq/commit/d16a0ce152
20:55 * moritz should stop answering questions, and should focus on getting them online somewhere
20:56 cognominal___ moritz: PEG? I peg your pardon, what is it? :)
20:56 dalek mu: cdd8ca1 | moritz++ | docs/u4x/web/style.css:
20:56 dalek mu: [u4x] update source location
20:56 dalek mu: review: https://github.com/perl6/mu/commit/cdd8ca195c
20:57 moritz straw poll, would you prefer [ ] doc.perl6.org/faq  or [ ] faq.perl6.org ?
20:57 sorear https://secure.wikimedia.org/wikipedia/en/wiki/Parsing_expression_grammar
20:57 cirne100 joined #perl6
20:58 dalek faq: 41b3b5e | moritz++ | answers.md:
20:58 dalek faq: annotate PEG with a link, cognominal++, sorear++
20:58 dalek faq: review: https://github.com/perl6/faq/commit/41b3b5ec3c
21:00 cirne100 joined #perl6
21:09 cirne100 joined #perl6
21:11 sorear moritz: how do you plan to answer the question about threading when nobody puts much stock in S19?
21:11 sorear *S17
21:12 moritz sorear: either "we don't really know yet", or I'll wait until somebody implements a decent amount of threading
21:13 MayDaniel joined #perl6
21:14 moritz sorear: do you have a better idea than that?
21:17 dalek faq: 07826f7 | moritz++ | / (4 files):
21:17 dalek faq: start to generate web pages
21:17 dalek faq: review: https://github.com/perl6/faq/commit/07826f7328
21:20 sorear moritz: nope
21:22 sorear colomon: ping
21:23 moritz http://faq.perl6.org/ # please don't link to it until we have some prettier layout
21:24 moritz and you can shortlink to individual FAQ items like this: http://faq.perl6.org/#ref
21:33 fsergot joined #perl6
21:33 fsergot hi! :)
21:34 moritz hi
21:34 moritz http://faq.perl6.org/ is now updated from its repo via cron job, twice per hour
21:35 * moritz goes to sleep, and hopes that some desgin fairy makes the website pretty over night
21:37 fsergot moritz++ :)
21:40 alvis joined #perl6
22:00 sorear diakopter: ISTR you saying earlier that you wanted to allow unrestricted CLR access on p6eval but I can't find the relevant log
22:06 diakopter I went back and forth
22:06 * sorear wonders about adding a "needs tests" category
22:07 sorear oh, nvm, we HAVE the tests.
22:09 dalek niecza: c599e5a | sorear++ | lib/ (2 files):
22:09 dalek niecza: sqrt(-1) is NaN, complex math is opt-in (fixes #64)
22:09 dalek niecza: review: https://github.com/sorear/niecza/commit/c599e5a7b7
22:12 dalek roast: 040fce3 | sorear++ | S32-num/sqrt.t:
22:12 dalek roast: [S32-num/sqrt] Unfudges for sorear/niecza#64
22:12 dalek roast: review: https://github.com/perl6/roast/commit/040fce3e0f
22:14 localhost joined #perl6
22:14 diakopter omg.
22:14 diakopter nqplua lives
22:18 dalek 6model: 8200643 | diakopter++ | lua/ (7 files):
22:18 dalek 6model: passes nqp/t/02-05
22:18 dalek 6model: review: https://github.com/diakopter/6model/commit/8200643102
22:25 flussence_ rakudo: lines.map(*.say)
22:25 p6eval rakudo 79c1c9:  ( no output )
22:26 flussence_ rakudo: eager lines.map(*.say)
22:26 p6eval rakudo 79c1c9: OUTPUT«Land der Berge, Land am Strome,␤Land der Äcker, Land der Dome,␤Land der Hämmer, zukunftsreich!␤Heimat bist du großer Söhne,␤Volk, begnadet für das Schöne,␤vielgerühmtes Österreich,␤vielgerühmtes Österreich!␤␤Heiß umfehdet, wild umstritten␤liegst dem Erdteil du inmi…
22:26 flussence_ bug?
22:43 dalek 6model: 4b343a9 | diakopter++ | lua/ (4 files):
22:43 dalek 6model: more tests pass
22:43 dalek 6model: review: https://github.com/diakopter/6model/commit/4b343a95e8
22:48 sorear flussence: no
23:04 BinGOs joined #perl6
23:11 sorear diakopter: so... are you back to pro-sandboxing?
23:12 diakopter sorear: I guess so; more people are using niecza and it'd be a pain to reconstruct parts of the p6eval chroot if it were overwritten/deleted
23:16 sorear I guess we should make that easier
23:16 sorear automate the reconstruction of p6eval in some way
23:16 colomon sorear: o/
23:16 colomon oh, pong!
23:16 * sorear was reading about the Open Virtualization Format yesterday (related to the GitHub enterprise stuff)
23:17 sorear colomon: I'd like your input on the most useful interpretation of use ...:from<clr ...>
23:17 colomon oh!
23:18 colomon like a shorter (more portable, I'm guessing) way of doing the     constant Application      = CLR::("Gtk.Application,$GTK");  stuff?
23:18 sorear yes
23:19 colomon sounds sweet!  what's your question?
23:19 dalek niecza: 1f5c317 | sorear++ | lib/NieczaCLR.cs:
23:19 dalek niecza: Correct handling of undefined values in CoerceArgument (fixes #66)
23:19 dalek niecza: review: https://github.com/sorear/niecza/commit/1f5c317877
23:20 sorear colomon: what the best interpretation of the syntax is
23:20 benabik joined #perl6
23:20 sorear colomon: how would you prefer to write the header?
23:21 colomon Hmmm.  I haven't given anything like that thought before, mostly I was hoping I'd one day (now?  haven't tried) be able to package those CLR::("Gtk.Application,$GTK");  lines in a module.
23:21 dalek niecza: 5392c63 | sorear++ | src/niecza:
23:22 dalek niecza: Mention -I in help output (fixes #52)
23:22 dalek niecza: review: https://github.com/sorear/niecza/commit/5392c6319f
23:22 colomon Are you suggesting something like    use Application :from<clr Gtk>     ?
23:23 sorear colomon: that's one way, but not necessarily the best
23:23 sorear in fact probably not
23:23 sorear I was hoping that someone who actually uses this stuff could help
23:25 colomon hmmm.
23:26 colomon my first thought is that (like I hinted at there), ideally you wouldn't have to specify all that in your script at all.  it would be much nicer if you could bundle whatever was needed in some sort of module, so that your final script would just be something like   use Gtk;
23:27 colomon maybe that's very obvious, but I guess what I'm trying to say is that efficiency of declaring an individual class may be relatively unimportant, if the goal is to wrap them up in a module once and use that forever after.
23:30 sorear colomon: it sounds like you're stockholmizing the boilerplate code
23:30 sorear colomon: imagine a world where you don't have to write Gtk.pm6 at all
23:30 colomon as in stockholm syndrome?
23:30 sorear yes
23:31 sorear there's no reason use has to be limited to one class at a time
23:31 colomon I'd like to point out that a world where you only have to write Gtk.pm6 once (particularly where that can be made into a module that anyone can use) is still a pretty nice world.
23:32 colomon but sure, imagining even that is unnecessary now...
23:32 colomon then something like
23:32 colomon use Gtk :from<clr>
23:32 colomon ?
23:32 colomon that seems simple and powerful.  but is it enough info for niecza to work it all out?
23:34 Fried_ joined #perl6
23:35 sorear by Gtk.pm6 do you really mean GtkSharp.pm6?
23:35 colomon ..... yes
23:35 sorear or are you imagining another Zavolaj-based Gtk?
23:36 sorear niecza needs, at least, the assembly strongname (from $GTK)
23:36 colomon gtk-sharp, right.  I just internalized it as Gtk, as that is the namespace name.
23:36 colomon that's the  Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f stuff?
23:36 sorear yes
23:37 sorear it feels to me that having a Gtk.pm6 module is useful iff it can usefully hide details and make apps more portable
23:38 colomon yeah.
23:40 colomon I guess I can see it both ways.
23:41 colomon If I'm using Gtk(-sharp) a lot, I probably want to hide the assembly strongname away from my main code; if not, it's as it's a mouthful I'm going to be cutting and pasting forever, and then what happens when I need to change it?
23:42 colomon On the other hand, for a one-off use of a library, a one-line
23:42 colomon use GtkSharp :from<clr Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f>
23:42 colomon would be pretty darned awesome
23:47 dalek 6model: edafbfa | diakopter++ | lua/runtime/Runtime/ (2 files):
23:47 dalek 6model: pass a whole lot more tests
23:47 dalek 6model: review: https://github.com/diakopter/6model/commit/edafbfadee
23:47 diakopter whee

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

Perl 6 | Reference Documentation | Rakudo