»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:01
envi_ joined
00:04
molaf_ joined
00:06
molaf left
|
|||
diakopter | anyone around who knows nqp regexes? | 00:15 | |
specifically, the substitute kind | 00:16 | ||
00:17
aloha left
00:20
replore joined
00:21
aloha joined
00:30
soh_cah_toa left
00:32
icovnik left
00:39
benabik joined
00:40
whiteknight joined
00:41
whiteknight is now known as Guest84118
00:42
mkramer joined,
shinobicl_ joined
00:43
mkramer left,
packetknife joined
00:44
scottp joined
00:45
shinobicl_ left,
shinobicl_ joined
00:52
benabik left
00:53
wolfman2000 left
01:02
pmurias joined
|
|||
pmurias | diakopter: hi | 01:02 | |
diakopter | hi | 01:03 | |
pmurias | diakopter: what's the state of the lua 6model? | 01:04 | |
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? | ||
diakopter | same one as 6model/dotnet | ||
pmurias | diakopter: you mean most of the Perl 6 setting? | ||
diakopter | no, the NQP setting in the 6model repo (much much smaller) | 01:06 | |
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 | ||
(not to mention the pir that the regex compiler emits) | 01:10 | ||
there's a long way to go. | 01:12 | ||
omg; nqp regexes are so slow | 01:24 | ||
01:29
hypolin joined
|
|||
dalek | odel: 9cc0442 | diakopter++ | lua/compiler/LST2Lua.pm: 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 | |
01:34
Trashlord left
|
|||
pmurias | diakopter: you can try writing a niecza lua backend ;) | 01:34 | |
diakopter | ;) | 01:37 | |
sorear's CodeGen.cs is scary | 01:42 | ||
01:44
colomon left,
colomon joined
|
|||
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… | ||
dalek | odel: 743beb8 | diakopter++ | lua/compiler/LST2Lua.pm: minor fix to the localizer |
01:48 | |
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"» | ||
pmurias | diakopter: coping over and tweaking CodeGen.cs to make it emit lua code seems a very bad idea | ||
diakopter | of course | ||
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); | ||
pmurias | especially as it emits bytecode | ||
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… | ||
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)» | ||
colomon | aha! | ||
pmurias | diakopter: the route i went when working on the lisp backend is to load the nam opcodes from .json | ||
diakopter | how were you going to handle labels/goto | 01:51 | |
pmurias | lisp has labels/gotos? | ||
diakopter | that's what I'm asking | 01:52 | |
I figured nam opcodes would include gotos | |||
decommute | 01:53 | ||
pmurias | diakopter: lisp has them | ||
diakopter: it's a rare opcode in them .nam | |||
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'» | ||
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'» | ||
01:56
Guest84118 left
|
|||
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
02:10
envi_ left
02:13
fsergot joined
|
|||
colomon | jnthn: any hints on how to do meta programming on subs? | 02:15 | |
02:17
fsergot left
02:30
pmurias left
02:32
Chillance left
02:34
packetknife left
02:36
worr left
02:50
alc joined
02:59
woosley joined
03:17
thou left
03:19
FAruk joined
|
|||
FAruk | hello | 03:19 | |
say "hello | 03:20 | ||
03:20
FAruk left
03:23
thou joined
|
|||
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» | ||
japhb | known? | ||
03:31
Faruk joined
|
|||
Faruk | hi I am new | 03:31 | |
I need to know how to intstall perl6 in window7 | 03:32 | ||
japhb | Faruk, I believe that both Rakudo and Niecza (the two top Perl 6 compilers right now) will both run on Windows. Try rakudo.org/how-to-get-rakudo and github.com/sorear/niecza | 03:34 | |
Faruk | Thanks japhb. Let me try | 03:35 | |
03:40
vlixes joined
|
|||
sorear | good * #perl6 | 03:45 | |
sorear wonders if niecza needs a "proper website" and if so what form it should take. | 03:46 | ||
03:48
Bucciarati left
|
|||
sorear | ping moritz | 03:48 | |
03:49
kaleem joined
03:57
satyavvd joined
04:03
Faruk left
04:07
am0c left
04:10
skangas joined
04:31
skangas left
04:32
daniel-s joined,
vlixes left
04:34
skangas joined
04:42
shinobicl_ left
04:48
araujo left
|
|||
moritz | sorear: pong | 04:49 | |
04:55
sunnavy left
04:56
sunnavy joined
|
|||
sorear | moritz: do you think niecza needs more of a web site? | 05:00 | |
moritz | sorear: yes | 05:01 | |
05:02
ethndbst left
|
|||
shachaf | sorear: Does it have any of a website right now? | 05:10 | |
I suppose the github page is something. | 05:11 | ||
05:16
orafu left
05:17
molaf_ left,
orafu joined
|
|||
dalek | ecza: 4391579 | moritz++ | README.pod: fix grammar in README.pod |
05:24 | |
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 | |
and an RSS or atom feed to follow them | |||
05:47
ethndbst joined
|
|||
sorear is unsure of the best cource of action | 06:00 | ||
moritz: what would constitute a webpage? | 06:10 | ||
06:15
araujo joined,
araujo left,
araujo joined
|
|||
sorear | moritz: do you think I need to set up something comparable to rakudo.org? | 06:24 | |
colomon: wow. I had no idea :16 would be so easy | 06:25 | ||
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:26 | ||
dalek | ecza: e2d48d3 | sorear++ | docs/ (2 files): mv docs/{tracing,environment}.pod and update |
06:59 | |
sorear sleep | |||
07:05
wtw joined
07:18
kaleem left
07:26
GlitchMr joined
07:27
icovnik joined
07:31
kaleem joined,
thou left
07:40
GlitchMr left,
GlitchMr joined
|
|||
tadzik wake | 07:49 | ||
07:49
icovnik left
08:14
sayu joined
08:19
mj41 joined
08:22
mj41 left
08:23
mj41 joined
08:27
Trashlord joined
08:50
agentzh joined
09:00
daxim joined
09:04
mkramer joined,
mkramer left
09:09
icovnik joined
|
|||
moritz zombie state | 09:09 | ||
09:15
kaleem left
09:16
kaleem joined
|
|||
gfldex hands moritz his morning brain | 09:20 | ||
moritz takes a deep bite | 09:21 | ||
09:23
nek joined
09:26
alc left
09:30
sayu left
09:36
sunnavy left
09:37
sunnavy joined
09:42
GlitchMr left
|
|||
moritz | std: sub f(|:$x) { } | 09:54 | |
p6eval | std be1f10e: OUTPUT«===SORRY!===Malformed parameter at /tmp/GW2PGoczyb line 1:------> sub f(⏏|:$x) { } expecting any of: name new name to be defined parameter routine_def signatureParse failedFAILED 00:01 120m» | 09:55 | |
moritz | nom: sub f(:$x) { }; say &f.signature.params[0].perl | ||
p6eval | nom 16b498: OUTPUT«Any $x» | ||
moritz | nom: sub f(:$x) { }; say &f.signature.params[0].named_names.perl | 09:56 | |
p6eval | nom 16b498: OUTPUT«Array.new("x")» | ||
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 | ||
p6eval | nom 16b498: OUTPUT«Associative» | ||
09:59
hypolin left
|
|||
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 | |
10:03
Kivutarrr joined
|
|||
moritz | jnthn: how costly would another str attribute in Parameter be? | 10:06 | |
10:10
GlitchMr joined
|
|||
GlitchMr | perl6: my $i = 0; while $i < 10000000 { $i = $i + 1 }; say $i | 10:10 | |
p6eval | niecza v11-8-ge2d48d3: OUTPUT«10000000» | 10:11 | |
..pugs b927740, rakudo 16b498: OUTPUT«(timeout)» | |||
GlitchMr | perl6: multi sub foo(Str $s) { say $s } | ||
foo(42) | |||
p6eval | pugs b927740, rakudo 16b498: ( no output ) | ||
..niecza v11-8-ge2d48d3: OUTPUT«Potential difficulties: &foo is declared but not used at /tmp/j5YcF1PswX line 1:------> multi sub foo⏏(Str $s) { say $s }» | |||
GlitchMr | ... | ||
moritz | nom: my int $i = 0; while $i < 10000000 { $i = $i + 1 }; say $i | ||
GlitchMr | Accidental line break... | ||
perl6: multi sub foo(Str $s) { say $s } foo(42) | 10:12 | ||
p6eval | nom 16b498: OUTPUT«(timeout)» | ||
niecza v11-8-ge2d48d3: OUTPUT«===SORRY!===Strange text after block (missing comma, semicolon, comment marker?) at /tmp/y2UmRipGhw line 1:------> multi sub foo(Str $s) { say $s }⏏ foo(42)Parse failed» | |||
..rakudo 16b498: OUTPUT«===SORRY!===Confused at line 1, near "multi sub "» | |||
..pugs b927740: OUTPUT«42» | |||
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)» | ||
..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… | |||
..pugs b927740: OUTPUT«42» | |||
GlitchMr | perl6: multi sub foo(Str $s) { say $s }; eval('multi sub foo(Int $s) {say $s*2};'); foo(42) | ||
p6eval | rakudo 16b498: OUTPUT«===SORRY!===CHECK FAILED:Calling 'foo' will never work with argument types (int) (line 1) Expected any of: :(Str $s)» | ||
..niecza v11-8-ge2d48d3: OUTPUT«Potential difficulties: &foo is declared but not used at (eval) line 1:------> multi sub foo⏏(Int $s) {say $s*2};Unhandled Exception: No matching candidates to dispatch for &foo at <unknown> line 0 (&foo @ 0)  at /tmp/j6xhsBDUuw… | |||
..pugs b927740: OUTPUT«42» | |||
10:13
nek left
|
|||
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» | ||
..pugs b927740: OUTPUT«42» | |||
GlitchMr | eval() causes problems... not surprised... | ||
moritz | why problems? | ||
so far it looks according to spec | |||
GlitchMr | ok :) | ||
moritz | routines are lexically scoped by default | 10:15 | |
GlitchMr | I though that eval() is... well... eval()... | ||
moritz | and eval() introduces a new scope | ||
GlitchMr | Makes sense... | ||
moritz | so unless you take extra care, what is declared in an eval stays in the eval | ||
GlitchMr | perl6: multi sub Main::foo(Str $s) { say $s }; multi sub Main::foo(Int $s) {say $s*2}; foo(42) | ||
p6eval | niecza v11-8-ge2d48d3: OUTPUT«===SORRY!===Two definitions found for symbol ::GLOBAL::Main::&foo first at ??? line 0 second at ??? line 0 at /tmp/PzZD3_7rii line 1:------> (Str $s) { say $s }; multi sub Main::foo⏏(Int $s) {say $s*2}; foo(42)… | ||
..pugs b927740: OUTPUT«84» | |||
..rakudo 16b498: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&foo' called (line 1)» | |||
GlitchMr | But there is probably failure on my part... | ||
moritz | probably. | 10:16 | |
GlitchMr | Main::foo has different meaning than foo, I guess... | ||
moritz | that's what the output suggests, yes | 10:17 | |
GlitchMr | perl6: print sqrt(-1) | 10:19 | |
p6eval | niecza v11-8-ge2d48d3: OUTPUT«0+1i» | ||
..pugs b927740, rakudo 16b498: OUTPUT«NaN» | |||
GlitchMr | perl6: my $a = 2;$a+<=2;print $a | 10:22 | |
p6eval | rakudo 16b498, niecza v11-8-ge2d48d3: OUTPUT«8» | ||
..pugs b927740: OUTPUT«2» | |||
GlitchMr | perl6: my $a = 2;$a====2;print $a | 10:23 | |
p6eval | rakudo 16b498: OUTPUT«True» | ||
..pugs b927740: OUTPUT«2» | |||
..niecza v11-8-ge2d48d3: OUTPUT«===SORRY!===Cannot make assignment out of === because chaining operators are diffy at /tmp/xtKlOJvNtv line 1:------> my $a = 2;$a====⏏2;print $aUnhandled Exception: Check failed at /home/p6eval/niecza/boot/lib/C… | |||
GlitchMr | perl6: my &ultraprint = sub {print @_}; ultraprint(2, '+', 2, '=', 4) | 10:28 | |
p6eval | rakudo 16b498: OUTPUT«2+2=4» | ||
..niecza v11-8-ge2d48d3: OUTPUT«2 + 2 = 4» | |||
..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 … | |||
GlitchMr | 2+2=4 | ||
2 + 2 = 4 | |||
... ok... | |||
I see differences there. | |||
10:38
replore left
10:39
replore_ joined
10:40
replore_ left
11:02
skangas left
11:17
tzhs joined
|
|||
dalek | kudo/nom: 11e836e | moritz++ | src/Perl6/SymbolTable.pm: use more nqp:: ops in SymbolTable |
11:17 | |
11:21
daxim left
11:24
daniel-s left
11:34
satyavvd left
11:38
Psyche^ joined
11:40
GlitchMr left
11:42
Patterner left,
Psyche^ is now known as Patterner
11:46
wk left
11:53
donri joined
|
|||
jnthn | o/ from TCPW :) | 12:07 | |
colomon | \o | ||
jnthn: so, about that "is symmetric"... how do I register a new sub in nom? metaprogramming, I mean... | 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 :) | ||
moritz: (str for the Perl source) fairly cheap I guess | |||
colomon | jnthn: if you scroll down further, you'll see I did get it right eventually | 12:11 | |
jnthn | colomon: ah, ok :) | ||
colomon: I need to do some work yet on the meta-programming bits for signatures and parameters. | |||
colomon | but I still don't know how to .... ah | ||
jnthn | Mostly, they're missing various perl 6 space constructors and stuff | 12:12 | |
I guess actually having a use case now helps give me an idea how to start working on it :) | |||
12:12
Psyche^ joined,
Patterner left,
Psyche^ is now known as Patterner
12:14
bluescreen10 joined
|
|||
masak | lol hai from TCPW... heh, jnthn++ beat me to it ;) | 12:17 | |
jnthn | :P | 12:22 | |
what's new :P | |||
masak | moritz has become a zombie, it seems. | 12:23 | |
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 | |||
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)» | ||
moritz | nom: class A { has str $.x }; say A.new.x | ||
p6eval | nom 11e836: OUTPUT«» | ||
12:27
replore joined,
[particle]1 left
12:28
[particle] joined
|
|||
jnthn | moritz: Where did you add it? | 12:33 | |
moritz: At the end, or? | |||
moritz | jnthn: right after $!variable_name | 12:34 | |
does it matter? | |||
jnthn | moritz: yes | ||
moritz: If you do that, binder.h needs updating. | |||
moritz | oh | ||
jnthn | (take a look, it should be clear what to do) | 12:35 | |
moritz | indeed it is, thank you | 12:36 | |
jnthn | moritz: I would suggest putting it at the end though (more) | 12:37 | |
The attributes are roughly sorted in order of importance at bind time. | |||
So as to get better cache hit | |||
moritz | nom: say (3 ?| 4).WHAT | 12:38 | |
p6eval | nom 11e836: OUTPUT«Bool()» | ||
jnthn | (CPU cache) | ||
moritz | jnthn: ok | ||
12:43
bluescreen100 joined
|
|||
dalek | Heuristic branch merge: pushed 20 commits to nqp/bigint by jnthn | 12:48 | |
p/bigint: 60d70e2 | jonathan++ | src/ops/nqp_bigint.ops: Update bigint ops to work with new repr API. |
|||
moritz | nom: -> $a, $b {YOU_ARE_HERE} | 12:54 | |
p6eval | nom 11e836: OUTPUT«Use of uninitialized value in string contextUse of uninitialized value in string context===SORRY!===error:imcc:syntax error, unexpected DOT ('.') in file '(file unknown)' line 20376793» | ||
moritz | nom: my $x = -> $a, $b {YOU_ARE_HERE} | ||
p6eval | nom 11e836: OUTPUT«Use of uninitialized value in string contextUse of uninitialized value in string context===SORRY!===error:imcc:syntax error, unexpected DOT ('.') in file '(file unknown)' line 71357083» | ||
dalek | p/bigint: e388430 | jonathan++ | src/ (3 files): Split bigint repr struct into instance and body. Split instance_of into allocate and initialize to match new API. |
13:03 | |
p/bigint: f4f9287 | jonathan++ | src/6model/reprs/P6bigint.c: Toss defined, which is gone from the repr API. Fix up attribute related repr methods. |
|||
13:03
mkramer joined
13:06
[Coke] left
13:07
[Coke] joined
|
|||
moritz | not to self: reconfigure after changing to bigint branch | 13:08 | |
*note | 13:09 | ||
moritz still in zombie mode | |||
dalek | p/bigint: b0f876a | jonathan++ | src/6model/reprs/P6bigint.c: Implement copy_to, get rid of repr_clone. |
||
jnthn | moritz: Wait a little...still some patches to go. | ||
13:09
jlaire left
|
|||
moritz | jnthn: just noticed that the build still fails | 13:10 | |
13:10
jlaire joined
|
|||
jnthn | yes :) | 13:10 | |
moritz | in particular P6bigint.c doesn't know about the Body distinction | ||
erm, that was before your last patch :-) | 13:11 | ||
masak | convenient... moritz develops a full-fledged IRC logging solution so that he can leave notes to self. :P | 13:12 | |
moritz | well, everybody can leave notes to themselves on IRC | 13:13 | |
moritz reads www.littlehart.net/atthekeyboard/20...ture-debt/ and finds himself nodding at nearly every paragraph | 13:14 | ||
dalek | p/bigint: 1eea4e5 | jonathan++ | src/6model/reprs/P6bigint.c: Update get/set native repr functions to new API. |
13:15 | |
flussence can relate to that article without even reading beyond the URL | 13:16 | ||
moritz | that I could too :-) | 13:17 | |
13:18
mkramer left
|
|||
jnthn | hmm...have I broken the negative case of get_int or was it already weird... | 13:22 | |
moritz | it wasn't broken :-) | ||
but you can push it and let me have a look at it | 13:23 | ||
dalek | p/bigint: 324df8e | jonathan++ | src/6model/reprs/P6bigint.c: Update GC related bit of the bigint repr. Builds again. |
||
jnthn | moritz: Yeah, somehow I have got it so I lost the assignment to ret... | ||
moritz: I'm confused. | |||
moritz: I don't seem to have changed that bit... | |||
if (MP_LT == mp_cmp_d(&i, 0)) { | 13:24 | ||
mp_neg(&i, &i); | |||
return ret; | |||
...but it never sets ret. | |||
moritz | oops | ||
should be | 13:29 | ||
mp_neg(&i, &i); | |||
ret = mp_get_int(&i); | |||
mp_neg(&i, &i); | |||
return ret; | |||
moritz recompiles and tests | |||
jnthn | hmm, think I may have busted tests | 13:30 | |
[Coke] is bit by "master" not being the right branch. | |||
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. | |||
PerlJam: eh. just wasted 10m. | |||
(of computer time, not coleda time.) | |||
PerlJam | okie | ||
13:32
donri left
|
|||
moritz | Could not find method 'compose' | 13:32 | |
jnthn | yeah, same here | ||
dalek | p/bigint: d387ce9 | moritz++ | src/6model/reprs/P6bigint.c: initialize return value in P6bigint -> get_int |
13:33 | |
jnthn | Hmm. Confusing bug is confusing. But not bigint specific. | 13:41 | |
moritz | [Coke]: I recommend git branch -D master | 13:42 | |
then master branch is gone, and you can't accidentally merge to it, change to it etc. | |||
[Coke] | moritz: this was a relatively new clone. | 13:44 | |
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. ;) | ||
I wonder how much time I lost on this project because I was (implicitly) expecting hashes to interate in insertion order by default. | 13:46 | ||
moritz | roast assumed that in some places too :/ | 13:47 | |
[Coke] | *iterate, whoops. weird thinko. | 13:48 | |
dalek | p/bigint: f9262fc | jonathan++ | t/nqp/60-bigint.t: Avoid a curious, seemingly new issue by removing a needless .HOW (what get_knowhow gives is already a HOW). |
13:52 | |
jnthn | moritz: found what's going on...this works around it | ||
moritz | ... and set_int is broken for negative numbers, again :( | 13:55 | |
13:56
thou joined
|
|||
moritz | but this time it returns 0, not the 2s complement | 13:56 | |
mls | hi perl6! | 13:57 | |
masak | hi mls! | ||
13:57
woosley left
|
|||
moritz | \o m.* | 13:57 | |
mls | jnthn: did you read my comment about the excess ops in while loops | 13:58 | |
moritz wonders if the mp_int i = ... line copies | 13:59 | ||
and I should only store the pointer | |||
moritz doesn't really understand C, and thus experiments | 14:00 | ||
masak | tadzik: question from us here at TCPW: can you somehow attach Pod to tests? | 14:02 | |
moritz | what's a test? :-) | ||
masak | I left that open because I don't want to ask an XY problem question :P | 14:03 | |
moritz | class MyTest { #= that's it! \n method doit() { is 1+1, 2, 'addition works'; } }; MyTest.doit | 14:04 | |
jnthn | mls: Yes; I don't know that it's quite so simple. | 14:05 | |
mls | I think you have to define a "native bool" or something. | 14:06 | |
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 | ||
masak | niecza: grammar G { regex TOP { <ident> !~~ ^ 'moose' $ }; regex ident { \w+ } }; say ?G.parse("foo"); say ?G.parse("moose") | ||
p6eval | niecza v11-8-ge2d48d3: OUTPUT«===SORRY!===Action method quantifier:sym<~~> not yet implemented at /tmp/cq_veDmkI7 line 1:------> grammar G { regex TOP { <ident> !~~ ^⏏ 'moose' $ }; regex ident { \w+ } }; sayUnhandled Exception: Cannot use hash … | ||
masak | don't worry, I won't unspec this one ;) | 14:12 | |
but I am a bit curious if it's ever been used for something. | |||
jnthn | Well, given it's not implemented :P | 14:13 | |
masak | niecza: say so "foo" ~~ /"foo"/ | ||
p6eval | niecza v11-8-ge2d48d3: OUTPUT«Bool::True» | ||
masak | jnthn: I was thinking maybe STD implemented it and used it | ||
I do think that the $0 ~~ <.ident> use case looks interesting. | 14:14 | ||
14:16
sunnavy left
14:17
sunnavy joined
14:18
tokuhiro_ joined
|
|||
jnthn | moritz: got a fix here that passes all the test | 14:18 | |
s | |||
moritz: Will deuglify it then commit :) | |||
moritz | \o/ | 14:21 | |
jnthn | pushed | 14:22 | |
dalek | p/bigint: 2163a93 | jonathan++ | src/6model/reprs/P6bigint.c: Fix get_int/set_int in P6bigint. |
||
jnthn | moritz: all tests pass here now :) | ||
moritz | still fails here. I wonder if it didn't rebuild, or something | 14:28 | |
jnthn | hm, odd | 14:29 | |
moritz | after a 'make clean', everything passes again | 14:31 | |
jnthn | oh hmm...looks like we may have a makefile dependency fial | ||
moritz | when I touch P6Bigint.c, it does trigger some rebuilds | 14:32 | |
jnthn | yeah, wrong ones | ||
14:33
fsergot joined
|
|||
moritz | ah | 14:33 | |
DYNOPS don't seem to depend on DYNPMC | |||
and DYNPMC is what depends on METAMDODEL_SOURCE | |||
jnthn | found it | 14:34 | |
moritz too | 14:35 | ||
$(OPS_DIR)/$(BIGIN_OPS)$(LOAD_EXT) doesn't depend on the bigint repr | |||
jnthn | yeah, patched here | 14:36 | |
dalek | p/bigint: ebffd93 | jonathan++ | tools/build/Makefile.in: Make the right thing depend on the bigint repr. |
||
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,
slavik1 joined
14:41
tokuhiro_ left
|
|||
moritz | so, what's next? merge bigint into master, update nom to it, and start to switch rakudo's Int? | 14:43 | |
jnthn | moritz: One missing thing in including bigint within Int yet. | 14:44 | |
14:44
alvis left
|
|||
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... | |||
jnthn | No, because Int has to stay as a P6opaque and embed a P6bigint. | ||
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 | ||
moritz: yes, or mixins | |||
moritz still has problems with mixins into Int/Num/Str. Shouldn't those be immutable objects? | 14:47 | ||
jnthn | moritz: but | 14:48 | |
(as oposed to does) | |||
does should not work on them | |||
moritz | hm | ||
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? | ||
jnthn: I still maintain that we need a way to flag classes as producing immutable objects | |||
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 | ||
or maybe a separte declaration keyword | |||
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 | ||
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 | ||
moritz | they might need some small degree of fixing | ||
I'm thinking of Date and Rat there | 14:53 | ||
jnthn | 42 does Blah actually works | ||
and should not. | |||
moritz | which probably initialize attributes wrongly | ||
jnthn | ah, ok | ||
moritz | ah right, Rat.new creates an instance, and then calls .BUILD($numerator, $denominator) | 14:57 | |
14:59
fsergot left
|
|||
masak | niecza: say so "foo" ~~ / |w foo / | 14:59 | |
p6eval | niecza v11-8-ge2d48d3: OUTPUT«Bool::False» | ||
masak | |w not implemented... | ||
moritz | wtf is |w? | ||
masak | oh wait, it's <|w> | 15:00 | |
it's the new \b | |||
niecza: say so "foo" ~~ / <|w> foo / | |||
p6eval | niecza v11-8-ge2d48d3: OUTPUT«===SORRY!===Unrecognized regex assertion at /tmp/AqImRfMdNU line 1:------> say so "foo" ~~ / <⏏|w> foo /Parse failed» | ||
moritz | ah right | ||
I recently read that in S05 and wondered where it came from :-) | |||
masak | it's a fairly recent change. | 15:01 | |
jnthn | std: say so "foo" ~~ / <|w> foo / | ||
p6eval | std be1f10e: OUTPUT«ok 00:01 123m» | ||
masak | <~~0> # match according to $0's pattern | 15:04 | |
<~~foo> # match according to $foo's pattern | |||
shouldn't that be "$<foo>'s pattern"? | |||
jnthn | prolly | ||
masak | TimToady: ^^ | ||
[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. | ||
moritz | agreed | ||
masak | maybe it works already :) | ||
moritz | masak: don't tell TimToady, fix it :-) | ||
(dalek only gets them all because we install post-commit hooks, fwiw) | 15:06 | ||
15:06
lateau_1 joined
|
|||
masak | moritz: I woulda fix'd it if I got any stronger response than "prolly" ;) | 15:06 | |
[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 | ||
masak fixes | |||
15:07
Chillance joined
|
|||
dalek | ecs: 88326a9 | masak++ | S05-regex.pod: [S05] fix braino |
15:09 | |
15:09
lateau_ left
15:15
molaf joined
15:18
kaleem left
15:19
fsergot joined
15:28
kaleem joined
15:33
Kivutarrr left
|
|||
masak | std: m(foo) | 15:33 | |
p6eval | std be1f10e: OUTPUT«===SORRY!===Undeclared routines: 'foo' used at line 1 'm' used at line 1Check failedFAILED 00:01 119m» | ||
masak | std: m:g (foo) | ||
p6eval | std be1f10e: OUTPUT«ok 00:01 120m» | ||
moritz | that is... weird. | ||
sjn | std: m (foo) | 15:34 | |
p6eval | std be1f10e: OUTPUT«ok 00:01 120m» | ||
masak | oh my :) | ||
it's spec, though. | |||
15:34
simcop2387 left
|
|||
sjn | it's also deeply confusing for newbies | 15:34 | |
moritz | std: m:g( foo ) | ||
p6eval | std be1f10e: OUTPUT«===SORRY!===No delimiter found at /tmp/5_Y5MNWzrA line 1 (EOF):------> m:g( foo )⏏<EOL>Undeclared routine: 'foo' used at line 1Parse failedFAILED 00:01 119m» | ||
moritz | delimiter for what? | 15:35 | |
masak | the regex. | ||
(foo) becomes an argument for :g | |||
moritz | oh. | ||
masak | nom & | 15:37 | |
15:38
simcop2387 joined
|
|||
masak | oops, premature '&' ;) | 15:41 | |
15:44
pmurias joined
15:52
tzhs left
15:53
lateau_1 left
15:56
_jaldhar left
15:58
risou_awy is now known as risou
15:59
avar left,
avar joined
16:01
MayDaniel joined
|
|||
dalek | kudo/nom: 79c1c9f | moritz++ | Configure.pl: [Configure.pl] fix import list, not_gerd++ |
16:04 | |
16:07
icovnik left
|
|||
tadzik | masak: well, what do you want to achieve by that? :) | 16:11 | |
like, as a test description on steroids? | 16:12 | ||
( hello #perl6! ) | 16:13 | ||
[Coke] | why were you trying to fix gerd in the first place? | 16:18 | |
16:19
agentzh left
|
|||
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:19 | |
I got this idea from listening to lichtkind++ talk about Documentation-Driven Development. | 16:20 | ||
[Coke]: ww? | 16:22 | ||
[Coke] | 12:04 <+dalek> rakudo/nom: [Configure.pl] fix import list, not_gerd++ | ||
masak | ah. | 16:23 | |
:) | |||
16:23
DarthGandalf left
|
|||
TimToady | masak: www? :) | 16:23 | |
masak | apparently ;) | 16:25 | |
16:26
DarthGandalf joined
|
|||
tadzik | masak: ok; how is that different to writing your Pod in any other file, from the users' perspective? | 16:28 | |
masak | tadzik: the goal was to cheaply link pieces of Pod to individual tests. | 16:30 | |
hm, or to groups of tests, I guess. | |||
tadzik | so to get some special kind of tests-pod introspection? | 16:31 | |
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 :) | ||
I don't see how is that different from writing Pod along with any other code. Do you want any tests-Pod interaction? | |||
masak | only want to know which order the Pod and the tests come in. | 16:33 | |
so that I can emit the pod as HTML-or-whatever with the test pass/fail status interleaved in the right places. | 16:34 | ||
16:34
kaleem left
|
|||
tadzik | oh, that's what you want | 16:34 | |
masak | yeah. sorry for exaplaining crappily :) | ||
tadzik | hmm | ||
so TAP output along with formatted Pod? | 16:35 | ||
[Coke] | masak: just use the pod var for "recent pod" as the test description | ||
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 | |
[Coke]: I don't know about such a var. | |||
tadzik | there isn't any | ||
but you can $=POD.shift every time you want some | |||
masak | that's far too brittle. | ||
tadzik | or write yourself an iterator | ||
masak | especially since there might be many tests per piece of Pod. | ||
tadzik | that's reasonable | 16:38 | |
but how is that connected? | |||
You want Test.pm to automagically print Pod pieces? | |||
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. | ||
no, I don't want a special testing framework. I want a special documentation serializer ;) | 16:39 | ||
there's a subtle difference. | |||
tadzik | sorry, but I completely don't get it :) | ||
masak | g'ah, I lost you! :) | ||
tadzik | spec and spectests, hrm | 16:40 | |
masak | tadzik: did you ever see the spec with test pass/fail statuses interleaved? | ||
tadzik | oh, oh | ||
masak: nope | |||
masak | because that's exactly what I mean. | ||
it was quite nice. | |||
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. | |||
I'd like for the mechanism to be... Pod, basically. | 16:41 | ||
I was wondering what primitives there are in place already for doing that, without too much boilerplate. | |||
16:44
am0c joined
|
|||
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:49 | |
16:50
fsergot left
16:51
Faruk joined
|
|||
Faruk | Hello | 16:51 | |
masak | hi Faruk | ||
welcome back. | |||
Faruk | I am new here. please bear with me | 16:52 | |
How can I install perl6 plugin on latest version of padre | |||
I need some step | |||
masak | we are good at bearing with newcomers :) | ||
Faruk | :) | ||
masak | but I don't know the answer to your question, unfortunately. I don't use Padre regularly. | ||
maybe someone else here does. | 16:53 | ||
szabgab? | |||
tadzik | szabgab probably | ||
Faruk | ok, Thanks so much | ||
tadzik | you may want to ask on #padre channel somewhere | ||
masak | here on #freenode, I think. | ||
Faruk | Please help if any body can on this | ||
ok | |||
masak | er, s/#freenode/frenode/ | 16:54 | |
argh | |||
16:55
kaleem joined
|
|||
Faruk | Anybody here know how can I install perl6 plugin on latest version of padre? | 16:56 | |
PerlJam | Faruk: um ... the same way you install any other plugin? | 16:57 | |
[Coke] | I'm not sure anyone here uses padre. | 16:58 | |
masak | metacpan.org/module/Padre::Plugin::Perl6 | ||
pmurias | masak: re smartlinks for modules, what i would find usefull is to have the tests serve as (additional) examples for the docs | ||
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 | ||
masak | true. | 17:00 | |
17:02
wtw left
|
|||
masak | nom & | 17:08 | |
17:13
Faruk left
17:16
alvis joined
17:24
am0c left
17:25
GlitchMr joined
17:39
GlitchMr left,
dual left
17:40
GlitchMr joined,
GlitchMr left
17:41
GlitchMr joined
17:42
GlitchMr left,
icovnik joined
17:43
GlitchMr joined,
mj41 left
17:44
GlitchMr left
17:45
GlitchMr joined
17:47
GlitchMr left,
GlitchMr joined
17:49
GlitchMr left
17:50
GlitchMr joined
17:54
thou left
|
|||
sorear | good * #perl6 | 17:54 | |
17:55
smash left
17:58
GlitchMr left,
GlitchMr joined
|
|||
felher | o/ | 18:02 | |
18:02
mkramer joined
18:04
[particle] left
18:06
tlocalhos left
18:08
tlocalhos joined
18:11
Chillance left,
Chillance joined
|
|||
dalek | odel: 4c6650e | diakopter++ | .gitignore: prepare for .lua scripts |
18:17 | |
18:25
icovnik left
18:32
mj41 joined
18:33
molaf left
18:46
dual joined
18:58
MayDaniel left
19:01
thou joined
19:05
wolfman2000 left
19:10
MayDaniel joined
19:17
MayDaniel left
|
|||
moritz | nom: .say for $(1, 2); | 19:21 | |
p6eval | nom 79c1c9: OUTPUT«1 2» | ||
19:23
soh_cah_toa joined
19:28
GlitchMr42 joined
|
|||
dalek | odel: 67020dd | diakopter++ | lua/compiler/ (4 files): rewrite localizer from nqp to lua; achieve 300,000% speedup (regex-heavy code). |
19:29 | |
flussence | I... what... | 19:30 | |
19:30
kaleem left
|
|||
dalek | odel: f30959d | diakopter++ | lua/compiler/LocalsOptimizer.lua: oops; add LocalsOptimizer.lua I forgot |
19:31 | |
19:31
GlitchMr left
|
|||
diakopter | flussence: ? | 19:31 | |
flussence | 300 *thousand*? | 19:32 | |
diakopter | yeah, 50 hours to 1 minute | ||
flussence | holy crap. | ||
diakopter | nqp regexes are very slow | ||
19:37
alvis left
|
|||
dalek | q: 5738d87 | moritz++ | questions: another question: does Perl 6 have coroutines? |
19:38 | |
q: a784c68 | moritz++ | / (2 files): explain item context and list-(non)-flattening |
|||
19:38
camel-661 joined
|
|||
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 | |
19:38
icovnik joined
|
|||
dalek | odel: f52dae6 | diakopter++ | lua/compiler/ (2 files): bugfix |
19:38 | |
flussence | moritz: makes sense to me. it's one of the things I keep forgetting too :) | 19:39 | |
moritz | flussence: good, thanks for looking | 19:41 | |
diakopter looked too and agreed | |||
now to track down why NQPCode is getting set in the BootstrapSetting, but not in the NQPSetting | 19:42 | ||
19:46
wk joined
|
|||
dalek | q: 64de598 | moritz++ | / (2 files): coroutines |
19:57 | |
20:03
mj41 left
20:05
wk left
20:07
Ingis is now known as IngisKahn
|
|||
cognominal___ | nom: eager 1|2 | 20:13 | |
p6eval | nom 79c1c9: ( no output ) | ||
20:13
camel-661 left
20:14
flussence_ joined
|
|||
dalek | ecza: 5b74146 | sorear++ | docs/nam.pod: [docs/nam.pod] Update basic details. Have not yet touched the big list of ops. |
20:16 | |
20:17
y3llow left,
pothos_ joined,
y3llow_ joined,
flussence left
20:18
ksi joined,
y3llow_ is now known as y3llow,
wk joined
20:19
pothos left,
pothos_ is now known as pothos
20:28
bluescreen10 left,
bluescreen100 left,
carlin joined
20:32
mj41 joined
|
|||
dalek | q: fb957a6 | moritz++ | answers.md: add ids to the answers |
20:34 | |
q: 21709ee | moritz++ | / (2 files): answer "is Perl 6 ready yet?" question |
|||
20:39
GlitchMr42 left
|
|||
dalek | q: 8e5d92a | sorear++ | answers.md: Fix typo |
20:47 | |
20:55
mkramer left
|
|||
dalek | q: d16a0ce | moritz++ | / (2 files): answer "why Perl 6?" |
20:55 | |
moritz should stop answering questions, and should focus on getting them online somewhere | |||
cognominal___ | moritz: PEG? I peg your pardon, what is it? :) | 20:56 | |
dalek | : cdd8ca1 | moritz++ | docs/u4x/web/style.css: [u4x] update source location |
||
moritz | straw poll, would you prefer [ ] doc.perl6.org/faq or [ ] faq.perl6.org ? | 20:57 | |
sorear | secure.wikimedia.org/wikipedia/en/...on_grammar | ||
20:57
cirne100 joined
|
|||
dalek | q: 41b3b5e | moritz++ | answers.md: annotate PEG with a link, cognominal++, sorear++ |
20:58 | |
20:58
cirne100 left
21:00
cirne100 joined
21:05
thou left
21:07
cirne100 left
21:09
cirne100 joined
|
|||
sorear | moritz: how do you plan to answer the question about threading when nobody puts much stock in S19? | 21:11 | |
*S17 | |||
moritz | sorear: either "we don't really know yet", or I'll wait until somebody implements a decent amount of threading | 21:12 | |
21:13
MayDaniel joined
|
|||
moritz | sorear: do you have a better idea than that? | 21:14 | |
dalek | q: 07826f7 | moritz++ | / (4 files): start to generate web pages |
21:17 | |
sorear | moritz: nope | 21:20 | |
colomon: ping | 21:22 | ||
moritz | faq.perl6.org/ # please don't link to it until we have some prettier layout | 21:23 | |
and you can shortlink to individual FAQ items like this: faq.perl6.org/#ref | 21:24 | ||
21:33
fsergot joined
|
|||
fsergot | hi! :) | 21:33 | |
moritz | hi | 21:34 | |
faq.perl6.org/ is now updated from its repo via cron job, twice per hour | |||
moritz goes to sleep, and hopes that some desgin fairy makes the website pretty over night | 21:35 | ||
fsergot | moritz++ :) | 21:37 | |
21:40
alvis joined,
alvis left
|
|||
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:00 | |
diakopter | I went back and forth | 22:06 | |
sorear wonders about adding a "needs tests" category | |||
oh, nvm, we HAVE the tests. | 22:07 | ||
22:08
tlocalhos is now known as localhost
|
|||
dalek | ecza: c599e5a | sorear++ | lib/ (2 files): sqrt(-1) is NaN, complex math is opt-in (fixes #64) |
22:09 | |
ast: 040fce3 | sorear++ | S32-num/sqrt.t: [S32-num/sqrt] Unfudges for sorear/niecza#64 |
22:12 | ||
22:13
localhost left
22:14
localhost joined
|
|||
diakopter | omg. | 22:14 | |
nqplua lives | |||
dalek | odel: 8200643 | diakopter++ | lua/ (7 files): passes nqp/t/02-05 |
22:18 | |
flussence_ | rakudo: lines.map(*.say) | 22:25 | |
p6eval | rakudo 79c1c9: ( no output ) | ||
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 umstrittenliegst dem Erdteil du inmi… | ||
flussence_ | bug? | ||
22:27
flussence_ is now known as flussence
|
|||
dalek | odel: 4b343a9 | diakopter++ | lua/ (4 files): more tests pass |
22:43 | |
22:45
replore left
|
|||
sorear | flussence: no | 22:48 | |
22:56
carlin left
23:03
BinGOs left
23:04
BinGOs joined
|
|||
sorear | diakopter: so... are you back to pro-sandboxing? | 23:11 | |
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:12 | |
sorear | I guess we should make that easier | 23:16 | |
automate the reconstruction of p6eval in some way | |||
colomon | sorear: o/ | ||
oh, pong! | |||
sorear was reading about the Open Virtualization Format yesterday (related to the GitHub enterprise stuff) | |||
colomon: I'd like your input on the most useful interpretation of use ...:from<clr ...> | 23:17 | ||
colomon | oh! | ||
23:17
ksi left
|
|||
colomon | like a shorter (more portable, I'm guessing) way of doing the constant Application = CLR::("Gtk.Application,$GTK"); stuff? | 23:18 | |
sorear | yes | ||
colomon | sounds sweet! what's your question? | 23:19 | |
dalek | ecza: 1f5c317 | sorear++ | lib/NieczaCLR.cs: Correct handling of undefined values in CoerceArgument (fixes #66) |
||
sorear | colomon: what the best interpretation of the syntax is | 23:20 | |
23:20
benabik joined
|
|||
sorear | colomon: how would you prefer to write the header? | 23:20 | |
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 | ecza: 5392c63 | sorear++ | src/niecza: Mention -I in help output (fixes #52) |
23:22 | |
colomon | Are you suggesting something like use Application :from<clr Gtk> ? | ||
sorear | colomon: that's one way, but not necessarily the best | 23:23 | |
in fact probably not | |||
I was hoping that someone who actually uses this stuff could help | |||
colomon | hmmm. | 23:25 | |
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:26 | ||
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:27 | ||
sorear | colomon: it sounds like you're stockholmizing the boilerplate code | 23:30 | |
colomon: imagine a world where you don't have to write Gtk.pm6 at all | |||
colomon | as in stockholm syndrome? | ||
sorear | yes | ||
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. | ||
but sure, imagining even that is unnecessary now... | 23:32 | ||
then something like | |||
use Gtk :from<clr> | |||
? | |||
that seems simple and powerful. but is it enough info for niecza to work it all out? | |||
23:34
Fried_ joined
|
|||
sorear | by Gtk.pm6 do you really mean GtkSharp.pm6? | 23:35 | |
colomon | ..... yes | ||
sorear | or are you imagining another Zavolaj-based Gtk? | ||
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. | ||
that's the Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f stuff? | |||
sorear | yes | ||
it feels to me that having a Gtk.pm6 module is useful iff it can usefully hide details and make apps more portable | 23:37 | ||
colomon | yeah. | 23:38 | |
23:40
MayDaniel left
|
|||
colomon | I guess I can see it both ways. | 23:40 | |
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:41 | ||
On the other hand, for a one-off use of a library, a one-line | 23:42 | ||
use GtkSharp :from<clr Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f> | |||
would be pretty darned awesome | |||
23:45
f00li5h left
|
|||
dalek | odel: edafbfa | diakopter++ | lua/runtime/Runtime/ (2 files): pass a whole lot more tests |
23:47 | |
diakopter | whee | ||
23:52
Fried_ left
|