»ö« 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:02
ksi left
00:05
thou joined
00:07
molaf left
00:12
tokuhirom left
00:14
wolfman2000 left
00:20
arlinius left
00:22
molaf joined
00:24
replore joined,
arlinius joined
00:31
tokuhirom joined
00:42
hundskatt left
00:50
tokuhirom left
00:56
hundskatt joined
01:01
panterax joined,
replore left
01:03
panterax left
01:04
lestrrat left
01:05
panterax joined,
lestrrat joined
|
|||
dalek | ecza: 82ae125 | (Paweł Murias)++ | lib/Perl5Interpreter.cs: Fix memory leak. |
01:07 | |
colomon | \o/ | 01:34 | |
01:43
Chillance left
01:49
zjmarlow left
02:03
pmurias left
02:07
whiteknight left
02:25
DarthGandalf left
02:26
xinming joined
02:32
DarthGandalf joined
02:41
DarthGandalf left
02:45
wolfman2000 joined,
DarthGandalf joined
|
|||
sorear | huh, Rakudo's attributive parameters use assignment | 03:00 | |
std: my $x = 5; $x but= role { }; # oops | 03:07 | ||
p6eval | std dc62e1d: OUTPUT«===SORRY!===Cannot make assignment out of but because structural infix operators are diffy at /tmp/lGmrcw3CN_ line 1:------> my $x = 5; $x but=⏏ role { }; # oopsCheck failedFAILED 00:01 110m» | ||
TimToady | STD doesn't like to generate type-changing operators | 03:14 | |
03:18
dku joined
|
|||
[Coke] | gist.github.com/1476841 ... soooo close. | 03:22 | |
dalek | ast: 764ef9e | (Solomon Foster)++ | S32-trig/generate-tests.pl: Add FatRat tests (appropriately fudged for Rakudo), remove fudging for Niecza. |
||
sorear | 14:37 < [Coke]> # 01/15/2012 - niecza at 98.54% | ||
colomon | [Coke]: I've got more coming in a minute or two | 03:23 | |
sorear | is there supposed to be a new(er) line in the gist? | ||
dalek | ast: 5ce04dc | (Solomon Foster)++ | S32-trig/ (13 files): Add FatRat tests (appropriately fudged for Rakudo), remove fudging for Niecza. |
03:24 | |
colomon | [Coke]: there, that last push should be 13 * 8 or so more passing tests for niecza. | ||
[Coke] | I'll do a quick check for some LHF and rerun. | 03:26 | |
dalek | ast: 9ebc638 | coke++ | S05-metasyntax/interpolating-closure.t: fudge for niecza |
03:32 | |
ecza: f9b2ede | coke++ | t/spectest.data: run S05-metasyntax/interpolating-closure.t |
|||
03:36
orafu left
03:37
ponbiki joined
|
|||
sorear | std: :(:$!bar) | 03:37 | |
p6eval | std dc62e1d: OUTPUT«ok 00:01 109m» | ||
03:38
Psyche^ joined,
orafu joined
|
|||
sorear | std: :(:$!bar = 10, :$!baz?) | 03:40 | |
p6eval | std dc62e1d: OUTPUT«===SORRY!===Cannot put optional positional parameter after variadic parameters at /tmp/F9ScIONWFQ line 1:------> :(:$!bar = 10, :$!baz?⏏)Check failedFAILED 00:01 111m» | ||
TimToady | o.O | ||
03:41
Patterner left,
Psyche^ is now known as Patterner
|
|||
sorear | found the bug... testing fix | 03:55 | |
what did you mean by? 19:14 < TimToady> STD doesn't like to generate type-changing operators | |||
TimToady | I put operators into that category that return a different type from their inputs | 03:56 | |
so they don't make a lot of sense for change-in-place operations | 03:57 | ||
04:07
ponbiki left
04:20
eclipse_11 joined
|
|||
[Coke] | colomon, sorear: updatd. | 04:22 | |
# 01/15/2012 - niecza at 99.31% | |||
b: say 19058-18927 | 04:23 | ||
p6eval | b 1b7dd1: OUTPUT«131» | ||
colomon | ah, man | ||
I really need to go to bed instead of trying to find those last 131 tests... | 04:24 | ||
afk | |||
04:26
agentzh joined,
agentzh left
04:27
agentzh joined
04:28
agentzh left
|
|||
[Coke] | also updated docs.google.com/spreadsheet/ccc?ke...URFM1A0cHc | 04:31 | |
dalek | ecza: 4fbf388 | sorear++ | / (7 files): Add support for attributive parameters, & role constraint |
04:49 | |
ast: 6755bea | sorear++ | S (2 files): [S12-attributes/instance,S06-signature/code] Unfudge for niecza |
|||
[Coke] | sorear: estimate on how many more that gives us? | ||
sorear | 10? 20? | 04:51 | |
probably closer to 10 | |||
niecza: class { has ($!x, $!y) } | |||
p6eval | niecza v13-266-g6383a22: OUTPUT«===SORRY!===Unhandled parameter twigil ! at /tmp/zes9sdHpve line 1:------> class { has ($!x⏏, $!y) }Unhandled parameter twigil ! at /tmp/zes9sdHpve line 1:------> class { has ($!x, $!y⏏) }Use… | ||
sorear | niecza: class { has $x } | 04:53 | |
p6eval | niecza v13-266-g6383a22: ( no output ) | ||
[Coke] | I have 42 more unfuding shorting. | ||
*unfudging shortly. | |||
dalek | ast: 9b324ea | coke++ | S05-metasyntax/angle-brackets.t: fudge for niecza |
04:54 | |
ecza: 0e97331 | coke++ | t/spectest.data: run S05-metasyntax/angle-brackets.t |
|||
04:59
zjmarlow joined
|
|||
dalek | ast: 239510c | coke++ | S05-metasyntax/longest-alternative.t: fudge for niecza |
05:01 | |
ecza: a638258 | coke++ | t/spectest.data: run S05-metasyntax/longest-alternative.t |
|||
[Coke] | 19 more.. | ||
05:03
s1n joined
05:11
zjmarlow left,
zjmarlow joined
|
|||
dalek | ast: 06bb994 | coke++ | S05-match/capturing-contexts.t: fudge for niecza |
05:13 | |
ecza: 6b78f00 | coke++ | t/spectest.data: run S05-match/capturing-contexts.t |
|||
[Coke] | 25 more... | ||
05:18
zjmarlow_ joined,
zjmarlow left
|
|||
dalek | ast: cef0c9a | coke++ | S05-metasyntax/regex.t: niecza fudge |
05:18 | |
ecza: 4d79458 | coke++ | t/spectest.data: run S05-metasyntax/regex.t |
05:19 | ||
[Coke] | 22 more... | ||
05:21
zjmarlow__ joined
05:24
zjmarlow_ left
05:25
birdwindupbird joined,
zjmarlow__ left
05:26
hundskatt left,
zjmarlow__ joined
05:28
woosley joined
05:30
eclipse_11 left
|
|||
dalek | ecza: bf92914 | coke++ | t/spectest.data: run S12-methods/attribute-params.t |
05:31 | |
[Coke] | 13.. | ||
05:33
zjmarlow__ left
05:34
zjmarlow__ joined
05:38
dku left
05:47
odoacre left,
zjmarlow__ left
05:48
odoacre joined
05:52
zjmarlow joined
|
|||
[Coke] | # 01/16/2012 - niecza at 100.02% | 05:57 | |
BOOYAH! | |||
sorear | \o/ | ||
[Coke] | gist updated, google doc not. zzzzz. | 05:58 | |
moritz | \o/ | 06:04 | |
sorear++ [Coke]++ colomon++ | 06:05 | ||
congratulations everybody | |||
06:19
koban joined
06:36
raiph joined
06:37
hundskatt joined
06:39
lestrrat left
06:40
lestrrat joined
06:44
Trashlord left
06:46
Trashlord joined
06:50
kaleem joined
07:00
c1sung joined
|
|||
sorear | std: our ($A::b, $C::d) | 07:01 | |
p6eval | std dc62e1d: OUTPUT«===SORRY!===Malformed parameter at /tmp/qZP7Jq7DgE line 1:------> our ($A::⏏b, $C::d) expecting any of: formal parameter named_paramParse failedFAILED 00:01 109m» | ||
sorear | std: our $A::b | ||
p6eval | std dc62e1d: OUTPUT«ok 00:01 108m» | ||
dalek | ast: 631d013 | moritz++ | integration/error-reporting.t: RT #76986, multiple anon vars in the same scope |
07:02 | |
07:02
wtw joined
07:03
GlitchMr joined
|
|||
sorear | niecza: has $x | 07:06 | |
p6eval | niecza v13-275-ga638258: OUTPUT«===SORRY!===Attribute $!x declared outside of any class at /tmp/vSJlcG2LFj line 1 (EOF):------> has $x⏏<EOL>Potential difficulties: 'has' declaration outside of class at /tmp/vSJlcG2LFj line 1:------> has… | ||
masak | wow, Easter is early this year. | ||
sorear++ [Coke]++ colomon++ | |||
sorear | o/ masak | 07:07 | |
07:07
jeffreykegler joined
07:14
jeffreykegler left
|
|||
masak | sorear: \o | 07:15 | |
sorear ponders splitting up NieczaActions into a couple of semi-arbitrary pieces | 07:18 | ||
07:26
benabik joined
07:27
benabik left
|
|||
masak | sorear: how's the work on 6model convergence going? the v13 announcement says that's a future direction. | 07:31 | |
sorear | masak: the role implementation work was a large part of that | ||
the main remaining hurdle is allowing users to write their own metaclasses ... | 07:32 | ||
moritz | niecza: say 1.HOW | ||
p6eval | niecza v13-275-ga638258: OUTPUT«ClassHOW.new(...)» | ||
moritz | niecza: say 1.HOW.HOW | ||
p6eval | niecza v13-275-ga638258: OUTPUT«ClassHOW.new(...)» | 07:33 | |
moritz | circularity++ | ||
niecza: say Numeric.^HOW | |||
p6eval | niecza v13-275-ga638258: OUTPUT«Unhandled exception: Unable to resolve method HOW in class ClassHOW at /tmp/fROk3wKHj3 line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3013 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3014 (module-CORE @ 59)  at /h… | ||
moritz | niecza: say Numeric.HOW | ||
p6eval | niecza v13-275-ga638258: OUTPUT«ClassHOW.new(...)» | ||
sorear | niecza's ClassHOW is a thin wrapper over a C# class ... that can't even usefully be subclassed at the C# level | ||
moritz | is Numeric a class? | ||
sorear | and there's only one of it, with an 'int type;' field that can be CLASS, ROLE, etc | ||
no | 07:34 | ||
moritz | so ClassHOW handles roles too? | ||
sorear | yes | ||
most of the '6model' tasks from here on is refactoring ClassHOW to expose more of its interface as Perl 6 methods that can be overriden | |||
07:35
thou left
|
|||
sorear | and break it up into separate ClassHOW, RoleHOW, CurriedRoleHOW, ParametricRoleHOW, PackageHOW, ModuleHOW, and SubsetHOW classes | 07:35 | |
moritz | SomeHOW sounds like and interesting task :-) | 07:36 | |
07:36
justatest joined
|
|||
sorear | another problem is dealing with the 'cascading augment' feature that niecza has classically had | 07:37 | |
moritz | what's cascading augment? | 07:38 | |
sorear | right now in niecza you can say augment class Any { method pies() { 5 } } and the new method instantly shows up on every Any-derived class in the system and calling it is no slower than if it were defined on the class in the first place | ||
making this work properly requires weak references and a fair amount of support from ClassHOW | |||
oh, it also heavily colludes with the serializer | 07:41 | ||
masak | sorear: and EnumHOW :) | ||
sorear | There is no EnumHOW. Enums have no metamodel features that distinguish them from other classes. | ||
07:42
justatest left
|
|||
masak | hm. | 07:42 | |
moritz | so what do they have? a custom superclass? | ||
sorear | yes | ||
moritz | an enum needs to get its .pick method from somewhere... | ||
sorear | will probably be refactored into a role someday | 07:43 | |
moritz | sorear: and where is that superclass determined? | ||
in ClassHOW? | |||
07:43
daxim joined
|
|||
sorear | moritz: in the action method | 07:45 | |
enum foo < a > desugars to class foo is Int is IntBasedEnum { ... } | |||
(actually, the bulk of the logic in the action method concerns constructing the 'constant's inside the enum) | 07:46 | ||
(which is a WHO issue, not a HOW issue, anyway) | |||
moritz | rakudo has a separate metaclass for enums, but I guess both approaches work | 07:47 | |
commute& | |||
sorear | nom: class Foo { has $x; say $x } | 07:48 | |
p6eval | nom 326de8: OUTPUT«Can only use repr_get_attr_obj on a SixModelObject in <anon> at /tmp/gjsC6z7cwU:1 in block <anon> at /tmp/gjsC6z7cwU:1 in <anon> at /tmp/gjsC6z7cwU:1» | ||
07:53
muixirt joined
|
|||
muixirt | good morning | 07:53 | |
sorear | good morning muixirt | 07:54 | |
muixirt | I mentioned y'day the merge_sort example on rosetta code | ||
07:55
lestrrat left
|
|||
muixirt | it still doesn't work with nom | 07:55 | |
07:56
lestrrat joined
|
|||
muixirt | if you change one line: my @r = merge_sort @a[ $m ..^ @a ]; | 07:56 | |
to: my @r = merge_sort @a[ $m ..^ @a.elems ]; | 07:57 | ||
then it works, any explanations? | |||
sorear | I guess ..^ isn't numifying the rhs right | 07:58 | |
TimToady | how old is your nom? This bug was fixed recently, I think | 07:59 | |
sorear | o/ TimToady | ||
muixirt | TimToady: brand new (and several things were fixed, jnthn++) | 08:00 | |
08:00
koban left
|
|||
TimToady | maybe it has regressed; rebuilding latest here | 08:01 | |
muixirt | y'day Util's version didn't work, now it works | ||
TimToady | are you sure $m is an Int? | 08:05 | |
muixirt | no | ||
Int() | 08:08 | ||
TimToady | .. only upgrades the rhs to numeric if the left side is | ||
hmm | |||
08:08
fridim left
|
|||
TimToady | nom: my @a = 1,2,3,4,5; say (3..^@a).list | 08:08 | |
p6eval | nom 326de8: OUTPUT«3 4» | ||
TimToady | that seems right | ||
nom: my @a = 1,2,3,4,5; say @a[ 3..^@a ] | 08:09 | ||
p6eval | nom 326de8: OUTPUT«4 5» | ||
muixirt | TimToady: did you try it? | ||
TimToady | that also seems right | ||
not the whole thing | |||
dalek | ecza: 16b6b2e | sorear++ | / (5 files): Implement has $x creating an alias pseudo-lexical |
08:10 | |
muixirt | that's why I'm asking, I couldn't reproduce the bug with a smaller code snippet | ||
dalek | ast: 86cfd86 | sorear++ | S (2 files): Unfudges for sorear/niecza@16b6b2e |
||
08:19
domidumont left
|
|||
sorear -> sleep | 08:20 | ||
08:23
domidumont joined
|
|||
masak | 'night, sorear. | 08:30 | |
dream of specific HOWs. | |||
sorear's comment made me wonder why we have an EnumHOW in Rakudo :) | 08:34 | ||
moritz | I think one goal was to move some of the actions logic to the meta class | 08:36 | |
where it can be generalized more easily | |||
the second thing that I just remembered is that enums have specialized mixin rules | 08:37 | ||
$thing but True # overrides method $thing.Bool | |||
masak | oh! | 08:38 | |
jnthn | Different declarator = Different HOW. | 08:54 | |
08:56
bacek left
|
|||
jnthn | And yes, .^composalize for getting a composable thingy from the EnumHOW is a nice way to factor the role thingy in a very general way. | 08:57 | |
08:57
nornagest joined
|
|||
masak | "composalize". beautiful coinage. | 09:00 | |
jnthn: could I use E.^add_enum_value( $some-value ) to change an Enum at runtime? | 09:01 | ||
09:03
preflex joined
|
|||
moritz | nom: enum A <b c>; A.^add_enum_value(6'); A.^compose; say A.enums | 09:03 | |
p6eval | nom 326de8: OUTPUT«===SORRY!===Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 2» | ||
moritz | nom: enum A <b c>; A.^add_enum_value(6); A.^compose; say A.enums | ||
p6eval | nom 326de8: OUTPUT«Method 'value' not found for invocant of class 'Int' in add_enum_value at src/gen/Metamodel.pm:2375 in method dispatch:<.^> at src/gen/CORE.setting:788 in block <anon> at /tmp/UGrRSNXZvY:1 in <anon> at /tmp/UGrRSNXZvY:1» | ||
moritz | nom: enum A <b c>; A.^add_enum_value("x" => 6); A.^compose; say A.enums | ||
p6eval | nom 326de8: OUTPUT«("b" => 0, "c" => 1, "x" => 6).hash» | ||
moritz | it seems you can; not sure if you should can though. | 09:04 | |
jnthn | Normal meta-programming rule applies | ||
You can if you understand the consequences. | |||
daxim | coinages are the translator's nightmare | 09:05 | |
perl6: so algol, we invent a whole new language for our whole new language! | 09:06 | ||
p6eval | pugs b927740: OUTPUT«***  Unexpected "new" expecting ":" or "(" at /tmp/Vh53pSCHIJ line 1, column 56» | ||
..niecza v13-275-ga638258: OUTPUT«===SORRY!===Unsupported use of C++ constructor syntax; in Perl 6 please use method call syntax at /tmp/KALejEFN9W line 1:------> o algol, we invent a whole new language ⏏for our whole new language!Undeclared routi… | |||
..rakudo 326de8: OUTPUT«===SORRY!===Unsupported use of C++ constructor syntax; in Perl 6 please use method call syntax at line 1, near "for our wh"» | |||
masak | moritz++ # should can | ||
daxim: indeed. see strangelyconsistent.org/blog/the-gh...f-algol-68 | 09:07 | ||
daxim | I know this | ||
moritz | (totally unrelated): de.arxiv.org/PS_cache/arxiv/pdf/120...2801v1.pdf | 09:08 | |
09:08
bacek joined
09:09
JustMe04_ left
09:13
ponbiki joined
|
|||
tadzik | good morning | 09:14 | |
masak | good actual morning, tadzik. :) | 09:15 | |
tadzik | what an exceptional day | ||
masak | moritz: I am confused by the term "metamaterial" :) | ||
tadzik: truly a remarkable set of 24 hours. | |||
moritz | masak: it's jargon for a solid that is structered on a smaller scale then the wavelength of light | 09:16 | |
masak: which can lead to weird effects, like negative refractive index | |||
masak | right. | ||
daxim slaps the material scientists with a greek dictionary | |||
masak | so, "micromaterial" would've been OK :) | 09:17 | |
moritz | more like "nano" | ||
masak | yeah! we should introduce the term "nanomaterial" :P | ||
moritz | but "nano" is already taken by a different branch of material scientists | 09:18 | |
masak starts cranking out "hands off my 'meta'" stickers | |||
daxim | it's perfectly cromulent to talk about nano-scale material even if it does not come out of a drexler-type nano-factory | 09:19 | |
context etc. | |||
daxim pokes george clooney. want "diamond age" film, now. | 09:20 | ||
09:27
bacek left
09:34
ponbiki left,
dakkar joined
|
|||
masak | wow, Zavolaj! jnthn++ | 09:35 | |
09:40
bacek joined
09:41
donri joined
|
|||
muixirt wonders if rosetta code Anagrams was ever tested with perl6 and the original data file | 09:48 | ||
09:52
GlitchMr42 joined
|
|||
mathw | I think 'nanomaterial' might already mean something else | 09:52 | |
although somethign that probably blurs into 'metamaterial' along the way | |||
jnthn | masak: You...only just discovered Zavolaj? :) | 09:53 | |
mathw | jnthn: I for one only discovered with your blog post how awesome it's got | ||
masak | jnthn: no, but I like the recent improvements. | ||
jnthn | Ah. :) | ||
And there's more to come yet. :) | |||
09:53
GlitchMr left,
GlitchMr42 is now known as GlitchMr
|
|||
moritz | are nested structs already implemented? | 09:53 | |
jnthn | moritz: Not yet. | 09:54 | |
mathw | arrays of structs with arrays of structs containing structs in them! | ||
(instant headache time) | |||
jnthn | mathw: Should be possible once I'm done. | ||
mathw | jnthn: hopefully it gets to the point where the extra levels just happen thanks to the existing mechanisms | 09:55 | |
masak | HN is currently discussing HN's recent "kindness scaling" trouble: news.ycombinator.com/item?id=3469453 | ||
interesting discussion. | |||
jnthn | masak: Yeah, that's how the design is meant to fall out. Of course, implementation is where we see how well that works out. :) | 09:56 | |
er, mathw ^^ | 09:58 | ||
tab fail strajks again | |||
09:58
mj41 joined
|
|||
mathw | :) | 10:02 | |
10:03
woosley left
|
|||
mathw | well it would be a pretty poor design if you had to hand-code it for every possible depth level | 10:03 | |
and that's not the kind of thing you'd do | |||
10:06
geekosaur left,
jrockway_ joined,
eviltwin_b joined,
clkao_ joined,
itz_ joined
10:07
shachaf_ joined,
zostay_ joined,
LoRe_ joined,
mj41 left,
clkao left,
rafl left
10:08
nornagest left,
mj41 joined
10:09
rafl joined,
tomaw joined
10:14
shachaf_ is now known as shachaf
10:15
mj41 left,
muixirt left
|
|||
Timbus | timbus@timbox:~/Projects/rakudo/zavolaj$ ../perl6 examples/sqlite3.p6 | 10:16 | |
open status 0 | |||
hoho | |||
moritz | jnthn: it seems that all the test files in zavolaj abort with "relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC: | 10:17 | |
Timbus | changed the pointer to pointer into an CArray[int] | ||
i feel bad but it works | |||
i hate that error :< | 10:18 | ||
jnthn, how about letting CPtr take a single attribute? that would be a pretty good way to build pointer chains when needed. I assume that's probably already the plan though | 10:24 | ||
10:34
bacek left
|
|||
moritz | jnthn: I have two small commits to zavolaj that fix the test compilation with gcc. Could you please give me a commit bit? | 10:36 | |
jnthn: there's another problem; on linux the library loader doesn't seem to look into the current working directory, and thus fails to load the test .so files | 10:40 | ||
when I run LD_LIBRARY_PATH=. prove -e perl6 then all tests pass (with my fixes) | |||
10:42
domidumont left
10:47
bacek joined
10:49
panterax left
10:50
panterax joined
|
|||
jnthn | sorry, had meeting | 10:50 | |
moritz not in a hurry | |||
jnthn | moritz: You now have a commit bit | 10:51 | |
dalek | volaj: ecf0ae4 | moritz++ | t/05-arrays.c: get rid of a GCC warning |
||
volaj: 7ec2386 | moritz++ | t/CompileTestLib.pm: [t] fix compilation of shared libraries with GCC |
|||
moritz is not afraid to use it | |||
jnthn | \o/ | ||
moritz++ | 10:52 | ||
moritz | I just hope I didn't break compilation on windows :-) | ||
jnthn | Timbus: Is your use case that you need to be able to chase pointers? | ||
Timbus: Something with CPointer repr can hold a pointer | |||
10:56
raiph left
|
|||
jnthn guesses he's missing something | 10:56 | ||
Timbus: Anyway, if you make changes to get sqlite working, I'd be happy to look over them and find a way to neaten things | 10:57 | ||
moritz | www.perlmonks.org/?node_id=948107 | 10:58 | |
Timbus | jnthn, sqlite takes a ptrptr | 11:01 | |
and sets the inner ptr | |||
jnthn | Timbus: ah, ok | ||
Timbus | i know of many libraries that do | ||
jnthn | *nod* | ||
Yeah, that's something Zavolaj should support in a better way. | |||
Timbus | it's not really that I need the value or anything, but yeah | ||
it needs to allocate the space | |||
... and i probably do need the value too (haven't thought that far ahead) | 11:02 | ||
11:04
Chillance joined
|
|||
mathw | I'd be surprised if you didn't need it later | 11:04 | |
jnthn | lunch & | 11:05 | |
Timbus | i don't normally capitalize my 'i' so the effect was lost (what i meant was, i myself, won't need the value. i just gotta pass it back to the library wanting the handle) | 11:06 | |
i do need to pull it out of the returned ptrptr, yes | 11:07 | ||
mathw | Well you need it in the sense that you need it to use the library... | 11:09 | |
Or, the library needs it in order to work | |||
Or something | |||
It's Monday... | |||
masak | moritz: that PerlMonks post makes a *great* comparison. self-accelerating change. | 11:10 | |
masak made a comment | 11:13 | ||
11:31
domidumont joined
11:41
DarthGandalf left
11:52
fridim joined
|
|||
flussence | nice post, raiph++ | 11:55 | |
I notice parallels between perl6 and web development all the time... we even have a Mozilla/Chrome/IE situation. No prizes for guessing which is which :) | 12:00 | ||
12:09
bkolera left
12:14
nornagest joined
12:16
bluescreen10 joined
|
|||
masak .oO( Yapsi is a web browser implemented entirely in JavaScript ) | 12:17 | ||
12:18
DarthGandalf joined
|
|||
arnsholt | Running in another browser =) | 12:18 | |
jnthn | Like Mozilla, Rakudo even has excessive memory usage :P | 12:20 | |
flussence | yeah, but at least I can still compile rakudo in 1GB. Firefox has gone way off the deep end there :( | 12:25 | |
masak | arnsholt: or itself, ultimately. | ||
arnsholt | Yeah, and ultimately in itself. IIRC there are a couple of Common Lisp compilers that require a CL compiler to build | 12:26 | |
masak | this is the first time I've gotten a clear picture of what made chromatic give up on Rakudo Star: www.perlmonks.org/?node_id=940679 | 12:27 | |
colomon | [Coke]++ sorear++ | ||
arnsholt | masak: Nice find. I'm kinda curious what kind of project it is/was | 12:31 | |
12:33
bluescreen10 left
|
|||
masak | something to do with Onyx Press, I hazard. | 12:34 | |
well, that's basically a given unless chromatic owns several firms. :) | 12:35 | ||
jnthn | The whole reason for *not* releasing a Rakudo Star based on nom so far was because we didn't want to cause a bunch of breakage to existing stuff, or at least keep it down to a manageable level. :/ | 12:38 | |
masak | well, as some other node in that thread diagnoses, chromatic suffered "early adopter burnout". | 12:39 | |
colomon | sure... but if he was counting on regular progress on R*.... | ||
that is, R* being stable but getting better. | 12:40 | ||
moritz | well, thing is, he wanted to use listen to user feedback, and act accordingly to it | ||
and all the users said "make it faster" | |||
so we do | |||
but that doesn't find mr. chromatic's approval | |||
jnthn | Well, quite. | ||
masak | there's no question about the nom refactor being the right thing to do in the long run. | 12:41 | |
colomon | right | ||
masak | I'm not enough of a core hacker to know whether it could've been made smaller/more isolated from other simultaneous refactors. | ||
(list semantics, parsing) | |||
maybe it could. maybe not. | 12:42 | ||
jnthn | Well, the list changes and QRegex didn't need to be part of it. | ||
masak | right. | ||
jnthn | They weren't in my original plan, pmichaud just felt it was the time for him to do them. Which was great while he actually had tuits. And became not so great very shortly after he stopped having them. | ||
moritz | but it would have been more work to first restore the old semantics and then rework them | ||
jnthn | (Not casting any blame here, it's just the unfortunate way things came out.) | ||
12:43
nornagest left
|
|||
jnthn | moritz: Yes, that could also have been true in various cases. | 12:43 | |
In the end, it all needed doing. | |||
It's basically a throughput vs latency situation. | |||
Doing it in one go had better throughput, but higher latency. | |||
12:43
nornagest joined
|
|||
jnthn | If we'd done it in smaller chunks, we'd have put out more incremental changes, but getting to the current point would have taken longer, and probably resulted in worse code quality. | 12:44 | |
dalek | ast: 3a0067e | (Solomon Foster)++ | S06-signature/sub-ref.t: Fudge for niecza. |
||
colomon | if we'd had the resources, the "right thing" to do would probably have been to keep a couple programmers working on the ng branch and doing quasi-regular R* releases from it until nom was ready. | 12:46 | |
but that's a big "if" | |||
12:46
lutok joined
|
|||
dalek | ecza: 0247a8a | (Solomon Foster)++ | t/spectest.data: Turn on S06-signature/sub-ref.t. |
12:46 | |
masak | thinking about it, I'm *very* relieved Rakudo managed to get "escape velocity" enough to survive the (temporary, at least) loss of a core dev. | 12:47 | |
that's not a give. cf Pugs. | |||
given* | |||
12:47
bluescreen10 joined
12:48
fridim left
|
|||
jnthn | colomon: I'd *love* Rakudo to have had the resources to make that feasible. | 12:48 | |
moritz | nom: say 367 / 594 | ||
p6eval | nom 326de8: OUTPUT«0.617845117845118» | ||
colomon | yeah, and I'd love it if TPF would pay all of us fulltime, too. ;) | ||
moritz | so about 60% of the tests that rakudo runs are fudged | 12:49 | |
jnthn | moritz: Test *files*? | 12:50 | |
moritz | jnthn: yes | ||
jnthn | moritz: Is there any easy way for me to see which tests we don't run at all? | ||
er, test files we don't run at all :) | |||
moritz | nom: say 318 /594 # better estimate | 12:51 | |
p6eval | nom 326de8: OUTPUT«0.535353535353535» | ||
moritz | jnthn: I can make such a list if you want | ||
jnthn | moritz: Would be interesting to see. | ||
I discovered pseudo.t somewhere in S02 the other day which has 140 or so tests if I implement a bunch of the pseudo packages. :) | 12:52 | ||
dalek | kudo/nom: 30b27ed | moritz++ | t/spectest.data: fix spelling of test file name |
||
masak | jnthn: you'd better; I hear Niecza is close to running as many tests as Rakudo! :P | 12:53 | |
jnthn | masak: : | ||
:P | |||
masak | hurry before it's too late | 12:54 | |
jnthn isn't sure whether to find that motivating of demotivating. :) | |||
*or | |||
colomon | motivating! | 12:55 | |
moritz | jnthn: I'm generating that list now, it was an easy modification to tools/update_passing_test_data.pl | 12:57 | |
jnthn | moritz: yay :) | ||
moritz | jnthn: moritz.faui2k3.org/tmp/tests.txt | 12:58 | |
those with [SPA] can probably directly added to t/spectest.data | |||
moritz works on it | |||
a plan of 0 usually means that the file failed to compile | 12:59 | ||
jnthn | int eresting; | 13:00 | |
13:00
jferrero left
|
|||
dalek | kudo/nom: acee932 | moritz++ | t/spectest.data: run 3 more test files |
13:02 | |
moritz | I think I fudged some of those files and then forgot to add them to t/spectest.data. distractions-- | ||
oh, and autounfudge also finds a few things to remove | 13:05 | ||
jnthn | :) | ||
moritz: Do those three you added to spectest.data really all pass, or do they need fudging? | 13:06 | ||
moritz | jnthn: they pass as-is (fudged) | ||
jnthn | nice :) | ||
moritz: [SPA] ( 5/6 ) t/spec/S05-metasyntax/interpolating-closure.t | 13:07 | ||
also | |||
moritz | I've fixed the spelling of that file in 30b27ed | 13:08 | |
so that's already accounted for | |||
jnthn | ah, ok | ||
[SPA] ( 1/1 ) t/spec/S24-testing/0-compile.t | |||
also | |||
...1 test ;) | |||
[SP ] ( 26/76 ) t/spec/S32-num/stringify.t | |||
That sounds like a good candidate for fudging. | 13:09 | ||
moritz | I'm looking at that one | ||
it's... weird | |||
13:09
pmurias joined
|
|||
jnthn | Also [SPA] ( 1/1 ) t/spec/S29-context/exit-in-if.t | 13:09 | |
moritz | we seem to be failing about 40 (!) stringifiation tests in there because we produce '1 + 2i' instead of '1+2i' in Complex.Str | ||
and I wonder where that's specced | 13:10 | ||
dalek | ecza: bfb4205 | (Paweł Murias)++ | / (3 files): Sending string with nulls in the middle from p5 land works. |
||
jnthn | moritz: I think TimToady++ did a spec commit on that like, really recently. | 13:11 | |
moritz | that commit didn't spec Complex.Str though | 13:12 | |
13:12
jferrero joined
|
|||
dalek | ast: 077c384 | (Paweł Murias)++ | S01-perl-5-integration/strings.t: Test passing string with unicode and nulls to/and from perl5. |
13:13 | |
moritz | nom: say Complex.new(1, Inf).Str | ||
p6eval | nom 326de8: OUTPUT«1 + Infi» | ||
jnthn | moritz: it does | ||
383 +Returns a string representation of the form "C<1+2i>", without | |||
384 +internal spaces. (C<Str> coercion also returns this.) | |||
pmurias | one more passing test file for niecza ;) | ||
moritz | oh | ||
moritz blind | |||
pmurias | moritz: blind? | 13:14 | |
moritz | pmurias: I've read through the diff and still missed the thing I was actually looking for | 13:15 | |
pmurias is slow today | |||
jnthn isn't doing so bad, but you'd hope so by the 5th cup of black coffee :) | 13:16 | ||
mathw | on the bright side, you can now fix it :D | ||
arnsholt | My hands usually start shaking from too much caffeine around the fifth cup ^_^ | 13:18 | |
masak | everybody knows you empty the cup, and then you throw it against the wall. shouting "we need to do something to energize the community!" | 13:20 | |
felher | colomon: I just looked into your Math::Prime module. That lazy-list with the next-prime function ist quite cool :) | ||
jnthn | Well, at this place I'm more likely to shout, "write f'ing commit messages!!1!!!" :) | 13:21 | |
But maybe I should try throwing mugs...nothing else I've tried has worked yet. :) | |||
13:23
takadonet joined
|
|||
masak | jnthn: commit messages only start to make sense after atomic commits start to make sense. | 13:27 | |
jnthn | masak: Well, yeah, that's the underlying issue. | 13:28 | |
(I tend to talk about the two together.) | |||
masak | and atomic commits... aren't obvious. they have to be discovered. | 13:29 | |
in particular, they're not the natural state of being if your VCS happens to suck. | |||
jnthn | TFS. :'( | 13:30 | |
dalek | ast: 3bf5bff | (Paweł Murias)++ | S01-perl-5-integration/subs.t: Add missing plan. |
||
ecza: 96a7a50 | (Paweł Murias)++ | t/ (3 files): Add t/run_spectests_p5 which runs the spec tests for p5 integration. |
13:32 | ||
masak | jnthn: ah. | ||
pmurias | moritz: all spec test should have an explicit plan? | 13:34 | |
moritz | pmurias: most | ||
mathw | TFS? | ||
moritz | ie those that can be easily (-ish) be verified by a human | 13:35 | |
jnthn | mathw: Team Foundation System. The crappy Microsoft one that's just a tiny bit less crappy than SourceSafe, but still mostly awful. | 13:36 | |
mathw | ah that | ||
masak | s/System/Server/ | ||
mathw | I've never had the displeasure | ||
We use git at my place \p/ | |||
\o/ | 13:37 | ||
git and thoroughly modern C# | |||
jnthn | masak: heh, you don't work with it and you know better than me :P | ||
mathw | it's not quite as good as Perl 6, Haskell or Lisp | ||
but it's pretty groovy | |||
jnthn likes C# | |||
jnthn loves Git :) | |||
mathw | Git is cool | ||
arnsholt likes C# as well | |||
mathw | although we've got some weird problems with it | ||
like my TortoiseGit has stopped being able to rebase properly | |||
and my GitExtensions in VS2010 has decided that including the committer name is too much trouble (it worked fine before) | 13:38 | ||
but in general I like it, and although my colleague hasn't quite grasped all of it yet I like how we can throw branches around with wild abandon and it just copes :D | 13:39 | ||
and C# having closures is the most awesome thing, especially when you start playing with the Reactive Framework | 13:40 | ||
We'd both like to use F# but in some ways it's actually quite primitive and the tool support is certainly very clunky | |||
flussence | blah, VCSes. I'm still stuck on svn at $dayjob... but I use git for all new projects without telling anyone :) | 13:44 | |
moritz | "guerilla git" | 13:45 | |
wouldn't that make a great book title? :-) | 13:46 | ||
flussence | it'd probably be a short book :) | ||
.oO( "1. Use git! 2. Don't let anyone catch you." ) |
13:47 | ||
13:47
zjmarlow left
|
|||
dalek | ast: 645f735 | moritz++ | / (4 files): 5 rakudo unfudges found by autounfudge.pl |
13:49 | |
kudo/nom: e7c5034 | moritz++ | t/spectest.data: run exit-in-if.t |
|||
moritz | flussence: it could talk about git-svn, git-cvs, git-hg and whatever, how to adapt to their branching models etc. | ||
masak | flussence: I do the same. I can fruitfully use git to organize my own commits, and then interact in whatever way necessary with other people's VCS, or lack of it. | 13:50 | |
13:51
nornagest left
|
|||
flussence | I tried git-svn once... the prehistoric svn server here *really* didn't like it for some reason. I ended up having to fix corrupted XML strings in a repo dump by hand. :( | 13:51 | |
mathw | I tried it, it went strange | 13:52 | |
colomon | yeah, I didn't lose anything, but it got kind of wonky over time | 13:53 | |
moritz | nom: my num $x = 1.2e0; say "foo $x $bar" | ||
p6eval | nom acee93: OUTPUT«===SORRY!===Variable $bar is not predeclared at line 1, near "\""» | ||
moritz | nom: my num $x = 1.2e0; say "foo $x bar" | ||
p6eval | nom acee93: OUTPUT«foo 1.2 bar» | ||
moritz | t/spec/S12-attributes/defaults.t has a line has $.self_in_code = { self.echo }; | 13:58 | |
is that allowed? | |||
(I'd say "no", but I'm not 100% sure) | |||
colomon | we had a bunch of discussions touching on that yesterday | 13:59 | |
my impression is "no one knows" | 14:01 | ||
in general, that test file is weird and I'm not sure completely thought out | 14:02 | ||
like, is there really a difference between what's going on in line 28 and line 29? Isn't 28 required to be a thunk? | 14:04 | ||
in which case the line 43 test is wrong | |||
and also, making it an eval instead of just a normal class is unnecessary | |||
14:05
estrabd joined
|
|||
dalek | ast: c831c95 | moritz++ | S (2 files): fudge kv.t for rakudo |
14:05 | |
masak disfondly remembers A12's weird ideas about how blocks and attribute initialization would work together | 14:07 | ||
I'm glad we evolved those ideas :) | 14:08 | ||
moritz | colomon: the eval is even wrong, because then the compiler complains that Foo is only stubbed | 14:09 | |
colomon: in my last roast commit I sneakily included a small patch that removed the eval | |||
colomon: erm, yes. After a closer review I'd just like to delete that test file | 14:11 | ||
14:12
nornagest joined
|
|||
moritz | nobody seems to have touched that file except for general-purpose cleanup | 14:13 | |
dalek | ast: 25075dc | moritz++ | S12-attributes/defaults.t: remove outdated test file |
||
colomon | eh, I'd have been in favor of rewriting it to current standard. but it might indeed be easier to start from scratch. | 14:14 | |
moritz | feel free to revert+rewrite | 14:16 | |
but IMHO those "test how many times this closure has been executed" tests are fragile and not very benefitial | 14:17 | ||
it's the kind of test you write if you don't really understand the feature at hand | |||
14:19
kaleem left
|
|||
colomon | hmmm. It seems like a reasonable sort of test to me; my complaint was just that it got all the details wrong. | 14:29 | |
very wrong | 14:30 | ||
14:43
sayu joined
|
|||
tadzik | 'afternoon | 14:43 | |
dalek | ast: 9e48a8d | moritz++ | S32-num/stringify.t: fudge S32-num/stringify.t for rakudo |
||
ast: 5d4cfd4 | (Solomon Foster)++ | integration/error-reporting.t: Refudge for niecza. |
|||
masak | tadzik: \o | 14:44 | |
dalek | kudo/nom: b75ebed | moritz++ | src/core/Complex.pm: update Complex.Str to match current spec |
14:45 | |
kudo/nom: 2c1d2f9 | moritz++ | t/spectest.data: run S32-num/strintify.t |
|||
felher | tadzik: o/ | 14:46 | |
colomon | moritz: I've reverted your change and started rewriting the tests locally. :) | 14:50 | |
moritz: but I'm going to go skiing before I finish, I think. ;) | |||
moritz | colomon: have fun! | 14:51 | |
14:55
eviltwin_b is now known as geekosaur
|
|||
colomon | oh! if the default value is explicitly a closure, then you're assigning the closure to the attribute, right? | 14:58 | |
colomon had not fully appreciated how incredibly wrong that test file was | 14:59 | ||
afk # off to City Forest | 15:01 | ||
15:02
birdwindupbird left
15:03
PacoAir joined,
xinming_ joined
|
|||
[Coke] | niecza: say ("ACHOO")x10; | 15:03 | |
p6eval | niecza v13-279-g16b6b2e: OUTPUT«===SORRY!===Whitespace is required between alphanumeric tokens at /tmp/iMGUgMfcAD line 1:------> say ("ACHOO")x⏏10;Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 919 (die @ … | ||
[Coke] | aw. | ||
15:06
xinming left
|
|||
PerlJam | Does latest NQP not build against lated Parrot? | 15:07 | |
tadzik | I doubt it | ||
masak | niecza: say "ACHOO"x 10 | 15:09 | |
p6eval | niecza v13-279-g16b6b2e: OUTPUT«ACHOOACHOOACHOOACHOOACHOOACHOOACHOOACHOOACHOOACHOO» | ||
masak | niecza: say "ACHOO"x\10 | ||
p6eval | niecza v13-279-g16b6b2e: OUTPUT«Unhandled exception: Cannot use value like Capture as a number at <unknown> line 0 (ExitRunloop @ 0)  at /home/p6eval/niecza/lib/CORE.setting line 211 (Any.Numeric @ 5)  at <unknown> line 0 (ExitRunloop @ 0)  at /home/p6eval/niecza/lib/CORE.settin… | ||
masak | niecza: say "ACHOO"x\ 10 | ||
p6eval | niecza v13-279-g16b6b2e: OUTPUT«ACHOOACHOOACHOOACHOOACHOOACHOOACHOOACHOOACHOOACHOO» | ||
PerlJam | ah ... :instanceof was removed from P | 15:10 | |
er PIR | |||
jnthn | er... | 15:16 | |
And replaced with...? | 15:17 | ||
PerlJam | dunno. I just read the parrot log | ||
tadzik | whiteknight's to be asked, I guess | ||
PerlJam | Though, this looks relevant: github.com/parrot/parrot/issues/560 | ||
15:18
kaare__ joined
15:25
kaleem joined
|
|||
jnthn | NQP's multi-dispatch uses it. | 15:27 | |
jnthn didn't know about the ticket :( | 15:28 | ||
Anyway, looks like next NQP release will just have to be against the previous month's Parrot. It's non-trivial to change NQP to avoid using :instanceof. | 15:29 | ||
15:31
Trashlord left
|
|||
moritz | huh, is the broken parrot already released? | 15:33 | |
or is it too close to the release already? | |||
PerlJam | the parrot release is tomorrow isn't it? | 15:34 | |
moritz | aye | ||
jnthn | moritz: Well, we could ask them to revert the removal too | 15:44 | |
eek, I thought the release was next week. Calendar reading fail. :/ | 15:45 | ||
PerlJam | jnthn: what exactly is :instanceof used for? It looks like a compile-time note that says the subroutine is a DispatcherSub rather than the normal Sub and then there's code that relies on knowing what sort of sub its dealing with. Is there no other compile-time (or, earlier-than-run-time) way to attach this information? | 15:47 | |
jnthn | PerlJam: Not so far as I know. | ||
PerlJam: I mean, it's not jsut attaching info, but it's creating it as a different PMC type | 15:48 | ||
Turning it into the subtype would be messy. | |||
I can find a way, it's just...not a great use of time given how many real issues exist. | 15:49 | ||
15:49
wtw left
|
|||
PerlJam | so, to replace it now, would mean that you'd have to "manually" create DispatcherSubs and make sure they are created early enough to be useful? | 15:49 | |
jnthn | PerlJam: It'd mean in-place type changing the existing Sub PMCs, I think. | 15:50 | |
[Coke] | I think we can just start with "hey, we were using that, do you mind?" | ||
PerlJam | [Coke]: indeed. | ||
jnthn | [Coke]: Yes, worth a try. | ||
PerlJam | Maybe whiteknight has a quick solution too </hopeful> | 15:51 | |
jnthn | In the long run, I don't really want to be using :instanceof. | ||
[Coke] opened the dialog. | 15:52 | ||
jnthn | [Coke]: Thanks. | ||
masak | [Coke]++ | ||
[Coke] | ah, so did benabik++, apparently. | 15:53 | |
jnthn | I would rather not have to deal with its removal just yet, though. | ||
[Coke] doesn't want to run the compiler spec stats again after all those nom commits! | |||
jnthn | ;) | 15:54 | |
[Coke] looks for some LHF first. ;) | 15:55 | ||
jnthn | [Coke]: Why isn't Rakudo allowed to be ahead some days? :) | 15:56 | |
15:56
molaf left
|
|||
felher | Could someone please explain to me the difference between the following statements? | 15:58 | |
nom: sub x() { say "x"; } x(); | |||
p6eval | nom 2c1d2f: ( no output ) | ||
felher | nom: sub y() { say "x"; } y(); | 15:59 | |
p6eval | nom 2c1d2f: OUTPUT«===SORRY!===Confused at line 1, near "sub y() { "» | ||
felher | Ah... | ||
because 'x' is also the string-repetition operator? | |||
moritz | felher: both should be mis-parses | ||
oh right, yes | |||
need a ; after } | |||
felher | moritz: thnx :) | 16:00 | |
I tested it for about 10 minutes and the second in poste it here it i realize that 'x' is the string-repetition operator ... | 16:01 | ||
16:02
bluescreen10 left
16:03
am0c left
|
|||
jnthn | std: sub x() { say "x"; } x() | 16:04 | |
p6eval | std dc62e1d: OUTPUT«ok 00:01 111m» | ||
jnthn | Even STD sees it as the string repetition operator :) | ||
moritz | std: sub y() { say "x"; } y() | 16:05 | |
p6eval | std dc62e1d: OUTPUT«===SORRY!===Strange text after block (missing comma, semicolon, comment marker?) at /tmp/OhIFilLcmU line 1:------> sub y() { say "x"; }⏏ y() expecting any of: bracketed infix infix or meta-infix statement modifier loopPa… | ||
jnthn | Teaches you to call your sub something better than x :P | ||
felher | indeed :) | ||
jnthn | ok, home time & | 16:06 | |
16:07
mj41 joined
|
|||
masak decommutes | 16:29 | ||
16:33
kaleem left
16:38
Chillance left
16:39
molaf joined
16:42
kaleem joined
|
|||
jnthn home | 16:42 | ||
colomon | perl6: class Foo { has $.a = { say "NicGaviskey"; }; }; my $f = Foo.new; $f.a() | 16:52 | |
p6eval | pugs b927740, rakudo 2c1d2f, niecza v13-279-g16b6b2e: ( no output ) | ||
colomon | perl6: class Foo { has $.a = { say "NicGaviskey"; }; }; my $f = Foo.new; $f.a()() | ||
p6eval | pugs b927740, rakudo 2c1d2f, niecza v13-279-g16b6b2e: OUTPUT«NicGaviskey» | ||
colomon | jnthn: reckon that's correct behavior? | ||
16:53
thou joined
|
|||
jnthn | colomon: Looks fine to me. | 16:54 | |
The parens on $f.a() are invoking the method a | |||
colomon | right | ||
16:55
Trashlord joined
|
|||
TimToady | but see S02:2426 | 16:56 | |
colomon | nooooo! | ||
TimToady | perl6: class Foo { has $.a = { say "NicGaviskey"; }; }; my $f = Foo.new; $f.a.() | ||
p6eval | pugs b927740, rakudo 2c1d2f, niecza v13-279-g16b6b2e: OUTPUT«NicGaviskey» | ||
colomon | that's also correct? | 16:57 | |
TimToady | but see S02:2426 | ||
colomon | I'm looking but not seeing | ||
TimToady | $.foo.() # means $.foo().() | 16:58 | |
colomon | I gathered as much, I'm just not seeing justification for that in S02:2426. Maybe the stupid software took me to the wrong line number? | 17:00 | |
TimToady | should just be the paragraph before that example | 17:02 | |
done a git pull lately? | |||
or is the ir clog link not working? | 17:03 | ||
colomon | did you mean S12:2426? | ||
I do see a reference there in S12 | |||
TimToady | no S02, the section Ampersand and invocation | 17:05 | |
mikemol | Kinda reading a lot of backlog. If you assume all numbers have a string representation, why does that imply inclusion of a string pointer with the number? Couldn't you generate that on-demand, possibly storing the representation in a cache as an optimization for subsequent calls? | ||
colomon | TimToady: ah, if I jump to that title I see it. | 17:06 | |
mikemol | I mean, if being lazy is a virtue, be lazy, dangit! | ||
TimToady | colomon: so obviously the line link is screwed up somehow | ||
colomon | TimToady: yeah | 17:07 | |
TimToady | mikemol: but we don't want to kludge up the representation all numbers just to handle val() allomorphism | ||
this is one tail that should not wag the dog | |||
so I think MI is a better solution | |||
dalek | ast: c411376 | jnthn++ | S12-class/literal.t: Fix a test that thought a type object should be boolean true. |
17:09 | |
TimToady | and maybe it's not so bad if we get an ambiguous dispatch out of an IntStr; that's why + and ~ are single character coercers, after all... | 17:10 | |
and we can always get smarter down the road; failing the ambiguous dispatch is the conservative thing to do for 6.0 | 17:11 | ||
sorear: ^^ you can put it back on your todo list :) | 17:12 | ||
mikemol | I just got a boatload of tuit drains finally covered; the OMGWTF busy season is finally over. Need to do a little wedding planning, possibly prep for a Penguicon presentation, a tweak to RC's syntax highlighting to allow highlighting to be switched off...but then I should be able to look at p6 specs again. | 17:13 | |
17:13
xinming_ left
|
|||
colomon | Penguicon! | 17:14 | |
mikemol | I just presented on IPv6 at MDLUG, and they want me to submit to present on IPv6 at Penguicon. So, yeah. :) | ||
colomon | cool | 17:15 | |
I presented on p6 last year. | |||
but haven't gotten beyond thinking about ConFusion this year. ;) | |||
dalek | kudo/nom: 86bb3ae | jnthn++ | src/ (3 files): Make sure we don't generate a throwaway GLOBAL in an eval - just use the one currently in force. |
17:16 | |
kudo/nom: 6f9a909 | jnthn++ | t/spectest.data: Run S12-class/literal.t. |
|||
mikemol | Only realy question in my mind is if I'll have enough time to divide my talk into each of IPv6 and your {server|home network|enterprise network|software}...Each case has different takes on capabilities and considerations. | ||
ast: 26d151e | (Solomon Foster)++ | S12-attributes/defaults.t: Revert "remove outdated test file", to provide a starting framework for developing a sensible modern version of these tests. This reverts commit 25075dceff423a637e93e97642a9efe6b5653317. |
17:23 | ||
ast: 15bfd0d | (Solomon Foster)++ | S12-attributes/defaults.t: Rewrite test to conform to current standard. moritz++, other p6ers, please code review. |
|||
ecza: 68084c6 | (Solomon Foster)++ | lib/CORE.setting: Borrow Rakudo's implementation of categorize. |
17:24 | ||
ecza: a59163d | (Solomon Foster)++ | t/spectest.data: Turn on S32-list/categorize.t. |
|||
ecza: 83e8bea | (Solomon Foster)++ | t/spectest.data: Turn on S12-attributes/defaults.t. |
|||
[Coke] | neoformix.com/spot/#/perl6 - new visualization tool for twitter. (perl6 is kind of a light topic for it, try just "perl") | 17:27 | |
[Coke] restarts the niecza spectest run. ;) | |||
[Coke] sees that his gist was tweeted. huh. | 17:29 | ||
[Coke] would have gussied it up. | |||
colomon | tweeted by whom? | 17:30 | |
[Coke] | twitter.com/#!/audreyt/status/1588...0580610049 | ||
she appears to be patient zero. | |||
colomon | danke | 17:31 | |
[Coke]: to be fair, S12-attributes/defaults.t probably works on Rakudo now, too, they just haven't had a chance to add it to spectest.data. Give them a bonus 32 or so. | 17:33 | ||
17:35
GlitchMr42 joined,
daxim left
|
|||
[Coke] will check them for LHF. | 17:37 | ||
... but later. ;) | |||
17:38
GlitchMr left
17:40
zjmarlow joined
|
|||
masak | zjmarlow: hi! | 17:41 | |
17:42
GlitchMr42 left
|
|||
zjmarlow | Hello. | 17:50 | |
17:51
packetknife joined
17:57
Chillance joined
|
|||
dalek | ast: 66892d4 | jnthn++ | integration/advent2009-day22.t: Remove bogus type constraint, which could never have worked (ng wasn't good at checking attribute type constraints though). |
17:58 | |
18:00
ksi joined
18:03
dakkar left
|
|||
dalek | ast: ff3141d | jnthn++ | S02-types/capture.t: nom re-fudging |
18:10 | |
kudo/nom: 98c9ddf | jnthn++ | src/core/Parameter.pm: Another couple of tweaks to make Signature.perl a little less wrong. |
|||
kudo/nom: d032415 | jnthn++ | src/core/Parcel.pm: Improve Parcel.Capture. |
|||
kudo/nom: 5bc4fdc | jnthn++ | t/spectest.data: Turn on two more integration tests. |
|||
[Coke] | b: say 19182-19131 | 18:11 | |
p6eval | b 1b7dd1: OUTPUT«51» | ||
[Coke] | rakudo has pulled ahead again. ;) | ||
I am not doing another "official" run until tomorrow though. ;) | 18:12 | ||
18:19
fridim_ joined
18:22
fsergot joined
18:31
zjmarlow left
18:47
spine joined
18:54
sayu left
19:01
mj41 left,
molaf left
19:02
nornagest left,
kaleem left
19:03
takadonet left
19:06
GlitchMr joined,
revdiablo joined,
revdiablo left,
revdiablo joined
|
|||
felher | Any comments on: gist.github.com/1622404 ? Otherwise i put it on rosetta-code (rosettacode.org/wiki/Miller-Rabin_p...lity_test) in a few hours. | 19:08 | |
moritz | felher: !%% is a bit weird for % | 19:12 | |
felher | moritz: oh, yeah. It first was only %% at a different position. Than i copied it up and made it to !%% instead of %. good point :) | 19:14 | |
moritz | felher: you don't need any parens around the condition of the 'while'-loop | ||
felher | moritz: another good point :) | 19:15 | |
moritz | my $x = $a ** $d mod $n; # in the underlying math library that we use for bigint we have a special function for that... but it's not exposed to p6 space :/ | ||
felher | moritz: yeah. I also looked for a math-module but there doesn't seem to be one that handles that case, yet. :) | 19:16 | |
felher looks into math::bigint... maybe.... :) | 19:17 | ||
colomon | p6's math::bigint module is quite obsolete now. :) | 19:19 | |
felher | Nope, no modpow in there :) | ||
dalek | ecs: dc8b0a4 | larry++ | S02-bits.pod: Revise val() semantics to use MI And we'll conservatively leave ambiguities ambiguous for now. |
19:20 | |
ecs: c4a5930 | larry++ | S02-bits.pod: Provide rationale for one-pass parsing |
|||
TimToady | re modpow, see rosettacode.org/wiki/Modular_expone...ion#Perl_6 | 19:21 | |
19:22
kmwallio joined
19:23
packetknife left
19:24
packetknife joined
|
|||
TimToady | felher: ^^ | 19:25 | |
I only just added that a few days ago | |||
felher | TimToady: Oh, thnx. Yeah, i'll use that :) | ||
TimToady++ | |||
masak | oh, so *that's* the hard lesson of source filters! | 19:26 | |
TimToady | people seldom generalize that lesson sufficiently | 19:27 | |
masak | I thought it was something like "don't treat language as strings without structure" :) | ||
TimToady | == treat as a different language | ||
jnthn | moritz: ($a ** $d mod $n) if we expose the bigint op as an nqp op then we can probably get the optimizer to do the re-writing of it. | 19:28 | |
moritz | jnthn: I'll take care of exposing it as nqp op | 19:29 | |
TimToady | it's not clear whether that should be done unless you know you're in Int | ||
jnthn | TimToady: Oh, I was planning on re-writing at the opcode level | 19:30 | |
TimToady: That implies that we already inlined ** and mod. | |||
TimToady | what if they're floaters? | 19:31 | |
jnthn | TimToady: What? :) | ||
TimToady: As in, floating point? | |||
TimToady | or Rats | 19:32 | |
jnthn | TimToady: Inlining implies a compile time multiple dispatch. | ||
TimToady: That implies static knowledge that we have an Int. | |||
TimToady: And that no overriding candidates that'd bust things have been introduced. | |||
TimToady | .oO(gee, how come when I add an Int declaration at line 42, line 8927 doesn't run out of memory?) |
19:33 | |
jnthn | TimToady: I'm only proposing the transform take place on the (low level) opcodes that operate on bigints. | ||
TimToady | which makes it very mysterious | ||
the user now has to predict the behavior of the optmizer | 19:34 | ||
jnthn | Only in so far as gradual typing is mysterious. :) | ||
TimToady | though I suppose one could view it as a strange form of strength reduction | ||
jnthn | TimToady: Maybe I missed something - I thought what moritz was suggesting was replacing two operations with a single, more efficient one. | ||
TimToady | is it always more efficient? | 19:35 | |
moritz | fsvo "always" :-) | ||
jnthn | :_) | ||
moritz | I know that it'll be always more runtime efficient with a single op in rakudo | 19:36 | |
jnthn | Even if the operation isn't greatly so, not creating an intermediate result only to throw it away again will be. | ||
Ints are GC-able. | |||
(And escape analysis etc is a little way off. :)) | |||
19:37
birdwindupbird joined
|
|||
TimToady | but maybe it's a bit wrongish to only apply to Int; three Rats or Nums that happen to be integers could also benefit | 19:37 | |
moritz | jnthn: btw did you see my comments on the zavolaj tests under linux? | ||
TimToady | so maybe you should *always* turn it into a modexp of some sort, and let it decide | 19:38 | |
moritz | TimToady: doing that optimization for three floats that happen to be int could change the result | ||
TimToady | as in make it more correct? :P | ||
moritz | because they can overflow in the ** part | ||
aye :-) | |||
fsvo "correct" :-) | |||
TimToady | certainly FatRats should always produce an exact result | 19:43 | |
well, at least with integer powers | 19:44 | ||
FatRat ** Int % FatRat should be exact | |||
19:46
Vlavv` joined
|
|||
TimToady | btw, I think rosettacode.org/wiki/Modular_expone...ion#Perl_6 really shines in helping the reader understand the algorithm | 19:49 | |
19:49
Vlavv_ left
|
|||
TimToady | assuming they know how 'repeat' and assignops work... | 19:49 | |
19:51
Trashlord left
|
|||
moritz | aye; reads much nicer than the libtommath code :-) | 19:51 | |
dalek | p: 97760d4 | moritz++ | / (3 files): nqp::expmod_I |
19:52 | |
19:53
pnu left,
pnu joined,
itz_ left
19:56
jferrero left
19:57
kmwallio left,
revdiablo left,
geekosaur left,
hundskatt left,
localhost left,
cooper left,
overrosy_ left,
sivoais left,
drbean left,
groky left,
BinGOs left,
moritz left,
ruoso joined,
moritz joined,
sivoais joined,
cj joined,
overrosy joined,
cooper joined,
revdiablo joined,
revdiablo left,
revdiablo joined,
cosimo joined,
kmwallio joined,
geekosaur joined,
prammer joined,
hundskatt joined,
drbean joined
19:58
groky joined,
localhost joined
20:00
itz joined
20:07
BinGOs joined
20:09
fsergot left
|
|||
felher | aye | 20:13 | |
20:15
GlitchMr42 joined
20:17
jferrero joined
20:18
GlitchMr left
|
|||
sorear | good * #perl6 | 20:20 | |
felher | o/ sorear | ||
masak | sorear! \o/ | 20:21 | |
20:24
birdwindupbird left
|
|||
masak | perl6: say "foo" ~~ / f (o) $0 / | 20:28 | |
p6eval | niecza v13-285-g83e8bea: OUTPUT«#<match from(0) to(3) text(foo) pos([#<match from(1) to(2) text(o) pos([].list) named({}.hash)>].list) named({}.hash)>» | ||
..pugs b927740: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20111008/blib6/pugs/perl5/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime::Match::HsBridge'"*** '<HAND… | |||
..rakudo 5bc4fd: OUTPUT«=> <foo> 0 => <o>» | |||
masak | in Perl 5, having backreferences be spelled $1 rather than \1 would require a special case, because the "natural" thing for Perl 5 to do would be to interpolate the *last* $1 during regex compilation. | 20:30 | |
20:31
fsergot joined
|
|||
masak | the \1 backreferences come from sed, right? | 20:32 | |
jnthn | buubot_backup: eval print "foo" =~ /f(o)$0/ | ||
buubot_backup | jnthn: 1 | ||
jnthn | er :) | 20:33 | |
buubot_backup: eval print "foo" =~ /f(o)$1/ | |||
buubot_backup | jnthn: o1 | ||
masak | it works? great. :) | ||
jnthn | buubot_backup: eval print "foo" =~ /f(o)\1/ | ||
buubot_backup | jnthn: o1 | ||
masak | (no print needed) | ||
jnthn | oh! | 20:34 | |
moritz | buubot_backup: eval 'foo' =~ /f(o)\1/; $& | 20:35 | |
buubot_backup | moritz: foo | 20:36 | |
moritz | buubot_backup: eval 'foo' =~ /f(o)$1/; $& | ||
buubot_backup | moritz: fo | ||
moritz | buubot_backup: use warnings; eval 'foo' =~ /f(o)$1/; $& | ||
buubot_backup | moritz: Couldn't match input. | ||
moritz | buubot_backup: eval use warnings; 'foo' =~ /f(o)$1/; $& | ||
buubot_backup | moritz: Use of uninitialized value $1 in regexp compilation at (eval 20) line 1. fo | ||
sorear | eval 2 | ||
buubot_backup | sorear: 2 | ||
masak | ah; moritz++ | 20:37 | |
so they don't work. | |||
moritz | eval use warnings; $_= 'fo'; s/(o)/\1$1/; $_ | 20:38 | |
buubot_backup | moritz: \1 better written as $1 at (eval 20) line 1. foo | ||
masak | right, so "use \1 here, use $1 there" :) | 20:41 | |
or, as A05 has it, "Tell me again, when do I say \1, and when do I say $1? Why are they different?" | 20:42 | ||
20:50
alester joined
21:01
rjbs- joined
21:02
fridim_ left
|
|||
flussence is currently crawling through two screens of gdb asm dumps and scary 128-bit code... trying to get my browser to not crash on the nyan cat YT video | 21:02 | ||
21:03
pat_js joined
|
|||
flussence | I can't really complain about rakudo's lack of error message line numbers after this :) | 21:04 | |
21:05
zby_home joined
|
|||
masak can :) | 21:06 | ||
rsimoes1 | Has Scheme's numeric tower ever been looked at for Perl 6? | 21:08 | |
abstracting numeric type relationships away from the system's representation of them is a pretty neat idea | 21:09 | ||
21:09
GlitchMr42 left
|
|||
rsimoes1 | www.r6rs.org/final/html/r6rs/r6rs-Z-H-6.html | 21:10 | |
21:10
kaare__ left
21:13
Trashlord joined
|
|||
tadzik | something broke panda | 21:13 | |
tadzik golfing | 21:14 | ||
jnthn | oh crap, I removed the bamboo! | ||
21:14
zjmarlow joined,
spine left
|
|||
jnthn | tadzik: What's the failure mode? | 21:15 | |
tadzik | rakudo: gist.github.com/1623088 | ||
p6eval | rakudo 5bc4fd: OUTPUT«Type check failed in assignment to '$v'; expected 'Mu' but got 'Command' in method REIFY at src/gen/CORE.setting:5142 in method reify at src/gen/CORE.setting:4335 in method reify at src/gen/CORE.setting:4335 in method gimme at src/gen/CORE.setting:4699 in… | ||
tadzik | jnthn: as above | ||
jnthn | WTF?! | ||
tadzik | you have a kickass machine, you bisect it :P | 21:16 | |
21:17
pat_js left
|
|||
tadzik peeks at CORE.setting | 21:17 | ||
jnthn | tadzik: Needn't, I already know where it is | ||
tadzik | cool | ||
21:21
LoRe_ is now known as LoRe
|
|||
PerlJam | surely that would have been caught by a failed test? | 21:21 | |
jnthn | PerlJam: You'da thunk so | 21:24 | |
masak | rsimoes1: Perl 6 has more of a "numeric comb" -- everything's Numeric, and then there are subtypes under that. | ||
jnthn | tadzik: Any chance of a test? | ||
masak | rsimoes1: I don't think anyone ever considered a tower. seems a bit too abstract for Perl 6, perhaps. | ||
rsimoes1: people sometimes have the expectation that an Int will be a Num or a Rat. | 21:25 | ||
tadzik | jnthn: surely | 21:26 | |
rsimoes1 | in the tower, an Int isa Number and does Rat, does Real, does Complex | ||
dalek | kudo/nom: e700b91 | jnthn++ | src/core/ (2 files): Fix regression in usage message generation introduced by workaround for usage message generation when working around changes to Parameter. |
||
21:26
pat_js joined
|
|||
tadzik | wait, wat | 21:27 | |
jnthn | It's, er, what happened. :) | ||
rsimoes1 | I guess the tower is mapped to the numeric set relations | 21:28 | |
sorear | rsimoes1: niecza's overload resolution mechanism was conciously modeled on the r(5)rs numeric now | ||
rsimoes1 | oh, groovy | ||
sorear | s/now/tower/ | 21:29 | |
I still haven't read r6rs | |||
"I feel old" | |||
rsimoes1 | the tower was preserved in r6rs | ||
so that's a relief =] | |||
masak | rsimoes1: right, people sometimes expect the Perl 6 numeric type system to map to numeric set relations. it doesn't. | ||
rsimoes1 | complex is non-real, right? | 21:31 | |
sorear | right | ||
rsimoes1 | eh, easy enough to remember | 21:32 | |
dalek | ecs: 962cd09 | sorear++ | S03-operators.pod: [S03] fix tiny typo |
21:35 | |
21:37
packetknife left,
packetknife joined
21:41
Trashlord left
21:53
cognominal left
21:58
molaf joined
22:09
kmwallio left
|
|||
dalek | ast: ab726ff | tadzik++ | S06-other/main-usage.t: Add a test for a freshly discovered regression |
22:16 | |
jnthn | tadzik: Thanks. :) | 22:24 | |
22:28
donaldh joined
|
|||
donaldh | Hi jnthn | 22:36 | |
jnthn | o/ donaldh | 22:37 | |
donaldh | I'm just reading today's irc log about Zavolaj | ||
jnthn | :) | ||
donaldh | I _had_ sqlite working with zavolaj v1. | ||
jnthn | donaldh: OK. In theory, it should not be a difficult port. If it is, I'd like to understand why so I can fix things. | 22:38 | |
donaldh | Yep, I'm just reading v2 to understand it. | ||
jnthn | (e.g. is native('...') is still the same, OpaquePointer is still there, etc.) | 22:39 | |
Arrays changed somewhat. | |||
donaldh | If you look at branch out_params on github, I used 'is rw' to mark out params. | 22:40 | |
sub sqlite3_open_v2( Str $filename, OpaquePointer $ppDB is rw, Int $flags, Str $zVfs ) | |||
22:40
alester left
|
|||
donaldh | It was a bit hacky because I was learning and seemed to be hitting issues with parrot NCI at the time. | 22:41 | |
jnthn | Oh... :) | 22:42 | |
Yeah, I only got the stuff in Zavolaj 1 master in place. | |||
You can hack it by doing: | 22:43 | ||
22:43
am0c joined
|
|||
donaldh | If I'd 'finished' what I did on out_params I'd have asked you to merge it :) | 22:43 | |
jnthn | my $ppDB := CArray[Int].new; $ppDB[0] = 0; | 22:44 | |
And then passing that | |||
Need to do out params properly really though. | |||
Should be easier to do it in a good way now. | |||
donaldh | I think we'll need a new type map for 'is rw' parameters. | 22:45 | |
And maybe some magic to create an instance of the correct type when the pointer is null. | |||
Is that possible from a type extracted from a signature? | 22:46 | ||
s/from/on/ | |||
jnthn | All the stuff I've done so far uses type objects to handle C NULLs. | ||
(So yes.) | |||
sorear | o/ donaldh | 22:48 | |
22:48
donri left
|
|||
donaldh | o/ | 22:48 | |
22:53
panterax left,
panterax joined
|
|||
dalek | ecza: 0ae0fa0 | (Paweł Murias)++ | / (2 files): Enable specifing list context to p5 subs (we still support only one return value). |
22:54 | |
pmurias | sorear: how can we support my $foo=123;eval('print $foo',:lang<perl5>)? | 22:56 | |
sorear | That's a bit beyond my competence. Better to ask #p5p | 23:09 | |
jnthn | niecza: role R { }; my $x = 0; $x does R; say $x.WHAT | 23:11 | |
p6eval | niecza v13-285-g83e8bea: OUTPUT«Int+R()» | ||
jnthn | niecza: role R { }; my $x = 0; $x does R; say 0.WHAT | ||
p6eval | niecza v13-285-g83e8bea: OUTPUT«Int+R()» | ||
jnthn | Oops. :) | ||
(Rakudo has same issue.) | |||
dalek | ast: 2327d69 | jnthn++ | S14-roles/mixin.t: Unfudge a test for Rakudo. Along the way, make it not attempt to mix in to constants (which should fail, but currently doesn't in Rakudo nor Niecza). |
23:19 | |
kudo/nom: 44d5f15 | jnthn++ | src/ (2 files): Implement 0 but Answer(42) style of mixing in (for does also). |
|||
sorear | urp, I thought I fixed that alreay | 23:20 | |
jnthn | sorear: How are you planning to fix it? | 23:24 | |
That is, how to we decide what we can/can't mix in to? | |||
Rakudo has had a "fix me" comment there for months... | |||
sorear | jnthn: I mean I thought I fixed the test :) | 23:28 | |
jnthn | sorear: oh :) | 23:29 | |
sorear | my best idea for the real issue has been an 'Immutable' tag role | ||
incidentally, I need this for constant folding too | |||
jnthn | My word, these trait tests are bitrotten | ||
Yeah, the constant folder I started hacking on the other day mostly went off "do we have a known compile time value for this thingy", which is too loose. | 23:35 | ||
dalek | ast: 60cabaf | jnthn++ | S14-traits/routines.t: Correct routine trait test (which didn't even parse!) and todo one test for Rakudo. |
23:39 | |
ast: ebfbce1 | jnthn++ | S14-traits/attributes.t: Fix a concatenation that was presumably meant to be a smartmatch operator. |
|||
kudo/nom: fb11366 | jnthn++ | src/core/Attribute.pm: Add missing accessor to Attribute. |
|||
kudo/nom: 77e31ae | jnthn++ | t/spectest.data: Turn on a couple of traits tests. |
|||
23:41
Trashlord joined
23:46
pmurias left
23:48
tokuhirom joined
23:56
ksi left
23:57
PacoAir left
|