»ö« 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. |
|||
bbkr1 | jnthn: I will try to work on HTTP::Easy once I finish JSON::RPC refactoring. I don't guarantee it will receive full-blown HTTP request handling but fixing main issue (library expects that whole request is passed at once and can be read in single recv()) is quite simple. | 00:01 | |
jnthn | bbkr1: Sounds good. :) | 00:04 | |
OK, sleep time for me. | |||
night o/ | |||
colomon | phenny: tell pmurias gist.github.com/1691700 # p5test results | 00:07 | |
phenny | colomon: I'll pass that on when pmurias is around. | ||
TimToady | hmm, we don't have an operator for complex conjugate, do we? | 00:15 | |
perl6: sub prefix:<±>(Complex $c) { $c.re - $c.im }; say ±(1+2i) | 00:17 | ||
p6eval | pugs b927740: OUTPUT«decodeUTF8': bad data: '\177'decodeUTF8': bad data: '\177'*** No such method in class Complex: "&re" at /tmp/SbKeKKvzWz line 1, column 30-44» | ||
..rakudo 0bcf48, niecza v13-366-g4c94673: OUTPUT«-1» | |||
TimToady | oops | ||
perl6: sub prefix:<±>(Complex $c) { $c.re - $c.im\i }; say ±(1+2i) | |||
p6eval | pugs b927740: OUTPUT«decodeUTF8': bad data: '\177'decodeUTF8': bad data: '\177'***  Unexpected "i" expecting "(" or "." at /tmp/XpwuMqFcNw line 1, column 44» | ||
..rakudo 0bcf48: OUTPUT«1-2i» | |||
..niecza v13-366-g4c94673: OUTPUT«Unhandled exception: WTF in prefix:<±> at /home/p6eval/niecza/boot/lib/CORE.setting line 919 (die @ 2)  at /home/p6eval/niecza/src/NieczaPassSimplifier.pm6 line 145 (run_optree @ 4)  at /home/p6eval/niecza/src/NieczaPassSimplifier.pm6 line 149 (run_… | |||
TimToady | huh, what's niecza's problem? | 00:18 | |
sorear | I have no idea | ||
TimToady wonders if ± has any established meaning on complex numbers | 00:19 | ||
sorear | sure | ||
sqrt(-1) = ±i | |||
TimToady wonders what the operator should be | 00:24 | ||
P5 apparently uses ~ but we can't do that | 00:25 | ||
^ maybe, but it'll be confused with upto | |||
00:29
pochi joined
|
|||
sorear | postfix:<^*> maybe | 00:31 | |
TimToady | oh, obviously it should be COMBINING OVERBAR :) | ||
sorear | can't? don't operators have to be an integral number of graphemes? | 00:32 | |
TimToady | 冗談ですよ! | 00:33 | |
a postfix is interesting, because it does't matter if it gets the precedence wrong | 00:37 | ||
benabik | Does math have an operator for complex conjugate, or do they just use conjugate() ? | 00:38 | |
colomon | benabik: do you mean mathematicians or p6? | 00:39 | |
benabik | colomon: mathematicians. | ||
colomon | en.wikipedia.org/wiki/Complex_conjugate -- two notations on the first screen. :) | ||
TimToady | a postfix is interesting, because it does't matter if it gets the precedence wrong | 00:40 | |
perl6: sub postfix:<¯>(Complex $c) { $c.re - $c.im\i }; say 1+2i¯ | |||
p6eval | niecza v13-366-g4c94673: OUTPUT«Unhandled exception: WTF in postfix:<¯> at /home/p6eval/niecza/boot/lib/CORE.setting line 919 (die @ 2)  at /home/p6eval/niecza/src/NieczaPassSimplifier.pm6 line 145 (run_optree @ 4)  at /home/p6eval/niecza/src/NieczaPassSimplifier.pm6 line 149 (run… | ||
..pugs b927740: OUTPUT«decodeUTF8': bad data: '\175'decodeUTF8': bad data: '\175'***  Unexpected "i" expecting "(" or "." at /tmp/UwIHydO6dR line 1, column 45» | |||
..rakudo 0bcf48: OUTPUT«1-2i» | |||
colomon | sorear: S05-capture/caps.t is crashing with an odd error | 00:41 | |
ah, nothing quite like a WTF error | 00:42 | ||
TimToady | sorear: looks like it's dying in constant folding | 00:43 | |
btw, nom++ for getting it right | 00:44 | ||
you'll note the ¯ binds tighter than the +, but it doesn't matter | 00:45 | ||
benabik | 2i -> -2i -> 1-2i ? | 00:46 | |
[Coke] | ZOMG. I just discovered "At Last the 1948 Show" (www.youtube.com/watch?v=-eDaSvRO9xA...e=related) | ||
TimToady | 0-2i surely | ||
oh, you're asking about the transformation above | 00:47 | ||
yes | |||
it's doing 1 + (2i¯), but that's the same as (1+2i)¯ | |||
perl6: sub postfix:<^>(Complex $c) { $c.re - $c.im\i }; say 1+2i^ | 00:50 | ||
p6eval | pugs b927740: OUTPUT«***  Unexpected "i" expecting "(" or "." at /tmp/OfTRSILhky line 1, column 45» | ||
..rakudo 0bcf48: OUTPUT«1-2i» | |||
..niecza v13-366-g4c94673: OUTPUT«Unhandled exception: WTF in postfix:<^> at /home/p6eval/niecza/boot/lib/CORE.setting line 919 (die @ 2)  at /home/p6eval/niecza/src/NieczaPassSimplifier.pm6 line 145 (run_optree @ 4)  at /home/p6eval/niecza/src/NieczaPassSimplifier.pm6 line 149 (run… | |||
TimToady | is a postfix:<^> too ambiguous? | 00:51 | |
timotimo | does "everyone wants the colon" refer to the colon in, for example, [email@hidden.address] { some_code }" ? | 00:52 | |
TimToady | it's referring to all the proposed uses of colon in the original 361 RFCs | ||
your example is one of "Larry gets the colon." :) | 00:53 | ||
00:53
molaf__ left
|
|||
timotimo | oh, now i get it. | 00:54 | |
sorear is busy atm getting the bootstrap working | 00:55 | ||
TimToady whistles innocently | |||
well, sanity would just go for .conj | 01:01 | ||
dalek | ecs: 0de30ce | larry++ | S32-setting-library/Numeric.pod: add complex conjugate |
01:05 | |
01:09
molaf__ joined
01:22
ksi left
|
|||
dalek | ecza: ddbbcc4 | sorear++ | src/ (4 files): Implement a new STD-level role composition cache |
01:29 | |
01:29
cognominal joined
|
|||
sorear , being a latecomer, didn't read most of the RFCs and doesn't know any of the colon proposals | 01:30 | ||
TimToady | things like : instead of .. | ||
and any number of P5-like traits ("attributes") | 01:31 | ||
01:31
cognominal_ left
|
|||
TimToady | and lots of other things | 01:31 | |
01:37
bkolera left
|
|||
sorear | almost working | 01:40 | |
01:41
bkolera joined
01:45
wolfman2000 joined
|
|||
sorear | grr- seems implementing curried roles completely broke the categorical handling | 01:54 | |
01:59
cognominal_ joined
02:01
cognominal left
02:04
tokuhirom joined
02:07
cognominal_ left
02:13
cognominal joined,
whiteknight left
02:15
cognominal_ joined
02:18
cognominal left
02:21
cognominal_ left
02:26
LlamaRider joined
02:29
cognominal joined
|
|||
[Coke] | # 01/27/2012 - niecza at 99.53% | 02:33 | |
(rakudo has pulled ahead slightly, 19515 to 19424) | |||
02:33
cognominal left
|
|||
timotimo | what's the plan to make perl6 implementations perform as good as possible? i don't know much about parrot, does it feature a JIT? | 02:34 | |
and are there already thoughts on multithreading in the current perl6 interpreters? or what the interfaces would look like to offer threading to users? | 02:38 | ||
02:46
cognominal joined
|
|||
timotimo | rakudo: my $foo = 5; $foo.HOW | 03:01 | |
p6eval | rakudo 0bcf48: ( no output ) | ||
timotimo | weird. that crashes locally for me | ||
rakudo: my $foo = 5; say $foo.HOW | 03:02 | ||
p6eval | rakudo 0bcf48: OUTPUT«Method 'gist' not found for invocant of class 'Perl6::Metamodel::ClassHOW' in sub say at src/gen/CORE.setting:5938 in block <anon> at /tmp/kD0RwZcZL5:1 in <anon> at /tmp/kD0RwZcZL5:1» | ||
timotimo | i have *no* idea, what the difference between .. and ... is, but (0 ... *)[1000000] is just very slow. (0 .. *)[1000000] on the other hand immediately fills up all the ram i have and gets killed | 03:08 | |
colomon | odd | 03:11 | |
flussence | one is a series, the other is a range | 03:16 | |
something like that anyway | |||
timotimo | OK | ||
what on earth is Cool() useful for? | |||
is it seriously just there to say my $foo is Cool? | 03:18 | ||
my $metal is True and Whatever? | 03:19 | ||
colomon | Must (all) of the built-in types are Cool | ||
It provides all the magic perl functions. | 03:20 | ||
03:21
orafu left,
orafu joined
|
|||
timotimo reads the actual definition of it | 03:23 | ||
colomon | though it's supposed to be even more magical than it is in current implementations. :) | 03:24 | |
timotimo | subset Uncool where not ~~ Cool; - does this work as i expect it to? | 03:25 | |
or is there a smart mismatch operator? | |||
colomon | niecza: my $a = [*] 1..20; say $a; say $a.comb(/1./); | 03:26 | |
p6eval | niecza v13-367-gddbbcc4: OUTPUT«243290200817664000017» | ||
colomon | !~~ | ||
subset Uncool where $_ !~~ Cool | |||
or something like that | |||
timotimo | do i actually need the $_? | 03:27 | |
colomon | You need something there, but maybe not that | ||
timotimo | all the rest of perl seems to suggest i don't. just like in sub foo($x where Cool) | ||
i suppose a * would work, too? | |||
colomon | * !~~ Cool probably works | 03:28 | |
niecza: subset Uncool where * ~~ Cool; say "alive" | |||
p6eval | niecza v13-367-gddbbcc4: OUTPUT«alive» | ||
colomon | niecza: subset Uncool where * !~~ Cool; say "alive" | ||
p6eval | niecza v13-367-gddbbcc4: OUTPUT«alive» | ||
timotimo | what did i do when i did thus: | ||
rakudo: subset Uncool where not Cool; say "yay" | 03:29 | ||
p6eval | rakudo 0bcf48: OUTPUT«yay» | ||
timotimo | rakudo: subset Uncool where not Cool; class Barf {}; say Barf ~~ Cool; say Barf ~~ Uncool; | ||
p6eval | rakudo 0bcf48: OUTPUT«Bool::FalseBool::True» | ||
colomon | as far as I know, not doesn't actually work like that; but I'd be delighted to learn I was wrong | ||
timotimo | niecza: subset Uncool where not Cool; class Barf {}; say Barf ~~ Cool; say Barf ~~ Uncool; | ||
p6eval | niecza v13-367-gddbbcc4: OUTPUT«Bool::FalseBool::True» | ||
03:30
bluescreen10 left
|
|||
timotimo | what tools can one use to understand why rakudo/niecza decide to interpret something one way or the other? is there a way to make them print a pretty AST or something? | 03:31 | |
03:32
jferrero left
|
|||
colomon | you can do that with std, I think, though I've not messed around with it. | 03:33 | |
colomon has no idea why where not Cool would work, but it sure looks like it is.... | |||
[Coke] | say so not Cool time | 03:34 | |
nom: say so not Cool time | |||
p6eval | nom 0bcf48: OUTPUT«===SORRY!===Confused at line 1, near "say so not"» | ||
benabik | nom: say (not Cool).WHAT | ||
p6eval | nom 0bcf48: OUTPUT«Bool()» | ||
benabik | nom: say (not Cool) | ||
p6eval | nom 0bcf48: OUTPUT«Bool::True» | ||
03:35
jferrero joined
03:38
Psyche^ joined
|
|||
timotimo | oh god, using junctions for array slicing or hash slicing, heads explodes | 03:41 | |
i mean, it's obvious that it *should* behave the way it does in perl6, but who the hell comes up with the fact that you should be able to do it? | |||
03:42
Patterner left,
Psyche^ is now known as Patterner
|
|||
timotimo | rakudo: sub test(*%slurp) { say %slurp.perl }; test("a" => 100, "b" => 99); | 04:06 | |
p6eval | rakudo 0bcf48: OUTPUT«Too many positional parameters passed; got 2 but expected 0 in sub test at /tmp/_E5tXNOa9F:1 in block <anon> at /tmp/_E5tXNOa9F:1 in <anon> at /tmp/_E5tXNOa9F:1» | ||
timotimo | i don't understand what i did wrong? shouldn't *%slurp slurp all named arguments? | ||
benabik | nom: sub test(*%_) { %_.perl.say }; test( :a(100) ) | 04:07 | |
p6eval | nom 0bcf48: OUTPUT«("a" => 100).hash» | ||
benabik | nom: sub test(*%_) { %_.perl.say }; test( "a" => 100 ) | 04:08 | |
p6eval | nom 0bcf48: OUTPUT«Too many positional parameters passed; got 1 but expected 0 in sub test at /tmp/MGChHVNOTn:1 in block <anon> at /tmp/MGChHVNOTn:1 in <anon> at /tmp/MGChHVNOTn:1» | ||
benabik | I think you have to use the :name(value) format for named arguments. | ||
timotimo | i do? | ||
oh my | |||
LlamaRider | hm, junctions are quite interesting actually. Very strongly remind me of paraconsistent logics, or 4-valued logics. Pretty neat | ||
colomon | no, name => value form is fine | 04:12 | |
timotimo | colomon: then what did i do wrong? did i somehow put a pair into the first positional argument? | 04:13 | |
benabik | nom: sub test(*%_) { %_.perl.say }; test( a => 100 ) | ||
p6eval | nom 0bcf48: OUTPUT«("a" => 100).hash» | ||
benabik | hah | ||
timotimo | nom: sub test(*%_) { %_.perl.say }; test( a => 100, b => 200 ) | ||
p6eval | nom 0bcf48: OUTPUT«("a" => 100, "b" => 200).hash» | ||
colomon | there you are | ||
timotimo | hohom | ||
benabik | Although it seems odd that "a" => 100 was turned into a positional. | ||
colomon | benabik: agreed | ||
benabik | nom: say ("a" => 100).perl | 04:14 | |
p6eval | nom 0bcf48: OUTPUT«"a" => 100» | ||
colomon | niecza: sub test(*%_) { %_.perl.say }; test( "a" => 100 ) | ||
benabik | nom: say (a => 100).perl | ||
p6eval | niecza v13-367-gddbbcc4: OUTPUT«Unhandled exception: Excess arguments to test, used 0 of 1 positionals at /tmp/B0bBr8jpqJ line 0 (test @ 1)  at /tmp/B0bBr8jpqJ line 1 (mainline @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 3609 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.se… | ||
nom 0bcf48: OUTPUT«"a" => 100» | |||
timotimo | weird! | ||
colomon | same thing in niecza, though | ||
timotimo | what does std say? | ||
benabik | Probably "ok" | ||
colomon | std: sub test(*%_) { %_.perl.say }; test( "a" => 100 ) | 04:15 | |
p6eval | std 47c76b3: OUTPUT«ok 00:01 113m» | ||
timotimo | i have no actual idea what "std" does :) | ||
benabik | It parses it. Which will give you syntax errors, but not tell you what it would do. | ||
timotimo | hmm, well, that's not terribly helpful | 04:16 | |
in this case at least | |||
does any((1, 2, 3), (6, 7, 8)) == any(1, 2, 3, 6, 7, 8) because any evaluates its arguments "in a flat context"? or something similar? | |||
LlamaRider | ah, nice, array question ^^ | 04:19 | |
timotimo | rakudo: my @a, @b = (1, 2, 3), (9, 8, 7); say any($(@a), $(@b)) | ||
p6eval | rakudo 0bcf48: OUTPUT«===SORRY!===Variable @b is not predeclared at line 1, near " = (1, 2, "» | ||
timotimo | rakudo: my @a = (1, 2, 3); my @b = (9, 8, 7); say any($(@a), $(@b)) | ||
p6eval | rakudo 0bcf48: OUTPUT«any(1 2 3, 9 8 7)» | ||
timotimo | i'm comparibly proud of figuring this out :) | ||
whoa | |||
rakudo: my @a = (1, 2, 3); my @b = (9, 8, 7); say any($(@a), $(@b)) xx 2 | 04:20 | ||
p6eval | rakudo 0bcf48: OUTPUT«This type cannot unbox to a native string in method join at src/gen/CORE.setting:1061 in method Str at src/gen/CORE.setting:4673 in method gist at src/gen/CORE.setting:4946 in sub say at src/gen/CORE.setting:5938 in block <anon> at /tmp/auN6ygleot:1 in … | ||
benabik | nom: my $j = any(1,2); say $j; print $j | 04:22 | |
p6eval | nom 0bcf48: OUTPUT«any(1, 2)This type cannot unbox to a native string in method print at src/gen/CORE.setting:6062 in sub print at src/gen/CORE.setting:5932 in block <anon> at /tmp/sIH95auxIu:1 in <anon> at /tmp/sIH95auxIu:1» | ||
timotimo | oh, that is the problem? | ||
benabik | Junctions appear to have a .gist, but lack a .Str? | ||
sorear | timotimo: right now for niecza the best way to check an interpretation is NIECZA_TRACE_DOWNCALLS | 04:23 | |
benabik: by design | |||
benabik | sorear: oh? | ||
sorear | you *want* junctions to autothread .Str | ||
because that makes $str eq any(1,2,3) work | 04:24 | ||
benabik | Oh, right. | ||
timotimo | rakudo: say (any($(1, 2, 3), $(9, 8, 7)) xx 2).perl # i don't understand why. | ||
p6eval | rakudo 0bcf48: OUTPUT«(any((1, 2, 3), (9, 8, 7)), any((1, 2, 3), (9, 8, 7))).list» | ||
benabik | I guess the auto-threading is having a problem there then? | ||
sorear | (feeding a junction to print() strikes me as a bad idea anyhow) | ||
benabik | sorear: Agreed, but that's not the failure mode I expected. | ||
sorear | benabik: the behavior you're seeing is expectable if LTA | 04:25 | |
timotimo | niecza: say (any($(1, 2, 3), $(9, 8, 7)) xx 2).perl | ||
p6eval | niecza v13-367-gddbbcc4: OUTPUT«(any($(1, 2, 3), $(9, 8, 7)), any($(1, 2, 3), $(9, 8, 7))).list» | ||
timotimo | why is that not any($(1, 2, 3, 1, 2, 3), $(9, 8, 7, 9, 8, 7)) | 04:26 | |
sorear | it's too long and I can't read it | ||
04:27
jaldhar joined
|
|||
sorear | it looks like you might be expecting xx to autothread junctions | 04:28 | |
timotimo | well, any(<cat dog mouse>) ~ "is furry" works | 04:29 | |
don't see why it doesn't work with xx2 :( | |||
when i use x 2 instead it repeats the string representation, but it's close to what i'd expect xx2 to do | |||
sorear | because xx is a comma operator | 04:30 | |
x needs to interpret the left side as Str; xx leaves it as Mu | |||
and things that work at the Mu level don't autothread | |||
also, | |||
timotimo | oh | ||
sorear | niecza: say rand xx 4 | ||
p6eval | niecza v13-367-gddbbcc4: OUTPUT«0.64871914947811471 0.7228391611589301 0.8318316064923218 0.5280976796187915» | ||
timotimo | not bad! | 04:31 | |
that's actually cooler than i thought | |||
04:50
Chillance left
04:53
PacoAir left
|
|||
TimToady | timotimo: what you really want is 'where none(Cool)' | 04:56 | |
perl6: subset Uncool where non(Cool); class Barf {}; say Barf ~~ Uncool; say Int ~~ Uncool | 04:57 | ||
p6eval | niecza v13-367-gddbbcc4: OUTPUT«===SORRY!===Undeclared routine: 'non' used at line 1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 919 (die @ 2)  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 32)  at /home… | ||
..rakudo 0bcf48: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&non' called (line 1)» | |||
..pugs b927740: OUTPUT«*** No such subroutine: "&Uncool" at /tmp/52wOniYlbR line 1, column 51-65» | |||
TimToady | perl6: subset Uncool where none(Cool); class Barf {}; say Barf ~~ Uncool; say Int ~~ Uncool | ||
p6eval | rakudo 0bcf48, niecza v13-367-gddbbcc4: OUTPUT«Bool::TrueBool::False» | 04:58 | |
..pugs b927740: OUTPUT«*** No such subroutine: "&Uncool" at /tmp/XwHoPNllVz line 1, column 52-66» | |||
TimToady | pugs: subset Uncool of Any where none(Cool); class Barf {}; say Barf ~~ Uncool; say Int ~~ Uncool | ||
p6eval | pugs b927740: OUTPUT«*** No such subroutine: "&Uncool" at /tmp/QrY3xIGamn line 1, column 59-73» | ||
TimToady | timotimo: re performance, we're mostly concentrating on making information available to the compiler that is likely going to make it possible to optimize heavily, but no implementation does a lot of that optimization yet | 05:00 | |
this is why routines are lexically scoped, so we know exactly what candidate list we're dealing with at compile time | 05:01 | ||
and why we have optional native types | |||
and rules that say what CHECK time (end of compile) may or may not assume about what can change at run time | |||
we don't intend to rely on a JIT for performance, but if one is available, all the better | 05:02 | ||
sorear | part of the idea is that Perl 6 effectively contains C as a subset, and the C subset is sufficiently type-rich that it can probably be run within an order of magnitude of real C | 05:03 | |
much like what Haskell does in that regard | |||
TimToady | so just write a Haskell emitter :) | ||
sorear | being able to mix languages is great - being able to mix semantic levels in one syntax is better | ||
sorear suspects Haskell is NP-hard | 05:06 | ||
TimToady | if a => 100 doesn't work for a named argument, that's just a bug | ||
05:06
tokuhirom left
|
|||
sorear | +parsing | 05:06 | |
TimToady: re? | |||
05:06
tokuhirom joined
|
|||
TimToady | oh, nevermind, it was "a" => 100 | 05:06 | |
an hour or so ago | 05:07 | ||
sorear | should "a" => 100 work for a named arg? | ||
TimToady | no, that's one way of hiding it | 05:08 | |
since a named arg has to be an identifier anyway | 05:09 | ||
sorear | you mean that foo(|("+" => 5)) is erroneous? | 05:10 | |
TimToady | no, that's still a pair | ||
but you can't an arg named + | |||
05:10
tokuhirom left
|
|||
TimToady | *have an | 05:10 | |
conveniently, + => 5 is a syntax error | 05:11 | ||
perl6: my @a = (1, 2, 3); my @b = (9, 8, 7); say any($(@a), $(@b)) | |||
p6eval | rakudo 0bcf48: OUTPUT«any(1 2 3, 9 8 7)» | ||
..niecza v13-367-gddbbcc4: OUTPUT«any([1, 2, 3], [9, 8, 7])» | |||
..pugs b927740: OUTPUT«any(VInt 1,VInt 2,VInt 3,VInt 7,VInt 8,VInt 9)» | |||
TimToady | niecza: my @a = 1,2,3; my @b := @a; say $@a === $@b | 05:13 | |
p6eval | niecza v13-367-gddbbcc4: OUTPUT«===SORRY!===Invalid hard reference syntax at /tmp/1PzYsYSAbT line 1:------> my @a = 1,2,3; my @b := @a; say $⏏@a === $@bParse failed» | ||
TimToady | huh, I guess I haven't put that into STD yet... | 05:14 | |
Timbus | std: (1,2,3) ==> [+] ==> say | 05:20 | |
p6eval | std 47c76b3: OUTPUT«===SORRY!===Preceding context expects a term, but found infix ==> instead at /tmp/WiFzoJeRcJ line 1:------> (1,2,3) ==> [+] ⏏==> sayParse failedFAILED 00:01 110m» | ||
Timbus | bah | ||
rakudo: (1,2,3) ==> reduce(*+*) ==> say | 05:22 | ||
p6eval | rakudo 0bcf48: OUTPUT«6» | ||
Timbus | i guess thats fine | ||
TimToady | [+] oughta work | 05:23 | |
Timbus | yes | 05:24 | |
dalek | d: e8e82b9 | larry++ | STD.pm6: allow other sigils for hard ref than $ |
05:27 | |
Timbus | i dont like making a cool looking list type solution, and having to then put a reduce op all the way back at the start | ||
code aesthetics | |||
timotimo | i'm wondering about the ff operator | 05:29 | |
if i put an ff into a method of a class, apparently the flipflop state is held somewhere "in" the type object? at least different instances of the type share the same floppedness of the flipflop. can i somehow turn this into a per-instance type deal? | 05:30 | ||
TimToady | ff is supposed to implement state with a 'state' var, but rakudo cheats | 05:34 | |
sorear | it's not held in the type object; it's an anonymous global variable | 05:35 | |
timotimo | so is it something like: at compile time, every ff will have a "hidden" variable in global scope that holds its state, or something? | ||
TimToady | you'd have to clone some code into the object to get that to clone the ff state | ||
shouldn't be global | |||
sorear | timotimo: that's exactly what niecza does | ||
TimToady | or cloning is unlikely to work right | ||
timotimo | hm, but if it's global and anonymous, how could i overshadow it lexically for just the instance? | ||
sorear | I think Rakudo might be using a hash keyed on CALLER::<$?FILE> and CALLER::<$?LINE> or something like that | ||
TimToady | the state of ff should be in a state variable | ||
timotimo | i suppose at that point it's unlikely i'll get much benefit from using ff | ||
sorear: probably also $?COLUMN, else how'd you have more than one ff per line? | 05:36 | ||
sorear | timotimo: as TimToady says, the spec has recently (FSVO 'recently') been changed to require "state" semantics | ||
TimToady | well, it's been discussed as state semantics for years now... | ||
sorear | timotimo: I distinctly remember thinking "wait, this won't work if there is more than one ff operator on a line" | 05:37 | |
but don't listen to me, my knowledge is probably out of date | |||
timotimo | haha, great :D | 05:38 | |
TimToady | it might be based on position now rather than line, but it's still wrong | ||
dalek | ecs: 6967af1 | larry++ | S (5 files): bloodbath to remove bogus 'our' declarations |
05:54 | |
05:55
hitekrednek joined
|
|||
dalek | d: 48335fc | larry++ | STD.pm6: allow ==> [+] ==> to work |
05:55 | |
05:57
abercrombie joined
|
|||
sorear | TimToady: if .lol is basically just .tree(*.item), then what is the LoL type? | 05:58 | |
TimToady | there may not be a LoL type really | 05:59 | |
sorear | have you decided yet what to do about the prefix:<||> operator and its distinction from prefix:<|> ? | 06:02 | |
TimToady | well, something like it is needed to override ; lists | 06:04 | |
06:24
kmwallio joined
06:33
kmwallio left
06:37
rsimoes1 left
06:49
rsimoes1 joined
|
|||
sorear makes faint ffffy noises | 07:02 | ||
seems niecza can no longer build STD.dll in a 250MB ulimit | 07:03 | ||
whatever I do, it keeps wanting more and more memory/time | |||
07:06
molaf__ left
07:11
rsimoes1 left
07:26
rsimoes1 joined
|
|||
dalek | ecza: a325d40 | sorear++ | / (5 files): Rebootstrap; redo categoricals for new role setup |
07:26 | |
sorear | **phew** | 07:29 | |
07:30
Trashlord joined
08:12
tokuhirom joined
09:06
fasad joined
|
|||
fasad | hi | 09:07 | |
sorear | hello fasad | ||
welcome to #perl6 | |||
fasad | i noticed a small error in S32:Numeric - under the heading Numeric, para two, the second line reads "intended that such types such support". I believe the second such should be removed | 09:09 | |
09:19
kaare_ joined
|
|||
dalek | ecs: fe690ba | moritz++ | S32-setting-library/Numeric.pod: [S32] remove accidental remove word duplication :-), fasad++ |
09:22 | |
fasad | moritz: :) | 09:24 | |
moritz++ | |||
09:28
kaare_ left
09:29
kaare_ joined
|
|||
masak | lol morning! | 09:40 | |
fasad: hi, how's the Perl 6 coming along? | 09:41 | ||
09:43
mj41 joined
|
|||
fasad | masak: nice. gotta admit, it's a great language. It's hard to go back to Perl 5 now :-0 | 09:43 | |
masak | well, yes and no. | 09:45 | |
fasad | ? | ||
masak | I still quite like Perl 5. it has obvious deficiencies, but it's mature and stable. | ||
and the implementation is bloody fast. there's just no way around that. | 09:46 | ||
fasad | masak: Agreed. | ||
masak | that said, I enjoy coding in Perl 6 more. | 09:47 | |
so I know what you mean :) | |||
fasad | one more thing, i found out yesterday that rakudo doesn't support LABELs while niecza does, shouldn't this be reflected on perl6.org/compilers/features ? | 09:48 | |
moritz | wouldn't hurt | ||
phenny | moritz: 27 Jan 22:45Z <jnthn> ask moritz if he could drop a latest book build into the star repo - I don't have the build environment for it on this machine | ||
moritz: 27 Jan 22:46Z <jnthn> tell moritz also Pie.pm compilation fails in svg-plot, so I removed it from the modules list for this release | |||
moritz: 27 Jan 22:47Z <jnthn> tell moritz That said, my release plan is tomorrow afternoon so if you have it fixed by then... | |||
moritz | phenny: tell jnthn if you remove SVG::Plot, you also need to remove Math::Model, which depends on it; but I'll look into fixing it later today. Re book, will do | 09:49 | |
phenny | moritz: I'll pass that on when jnthn is around. | ||
dalek | ar: 31324a0 | moritz++ | skel/docs/UsingPerl6-draft.pdf: update "Using Perl 6" to latest build from git |
09:51 | |
moritz | afk | ||
masak | fasad: do you have write access to add it? | ||
the file is here: github.com/perl6/features/blob/mas...tures.json | 09:52 | ||
fasad | no i don't have write access but i don't want it right now, i'm not even on github ! i'm not a serious programmer :) that's why i love Perl, it's so easy to use, for non-programmers like me !! | 09:55 | |
masak | heh. | 09:56 | |
fasad | masak: ? | 09:57 | |
masak | fasad: ¿ | 09:58 | |
during the Pugs heyday, signup was almost automatic. it used to be "Privmsg me your email address" <a few seconds' delay> "Welcome aboard!" | 10:01 | ||
sorear: niecza seems to handle '-I lib' well, but not '-I=lib'. intentional? | 10:06 | ||
10:09
xinming left
10:11
xinming joined
10:12
bkolera left
10:17
GlitchMr joined
10:18
birdwindupbird joined
|
|||
masak | hm. | 10:18 | |
TimToady added .conj to Numeric, but there's already a .conjugate in there. | 10:19 | ||
I can see arguments for having either, but not both. | |||
arguments for .conj: we already call other methods .re and .im, and that's cute and will probably stay. | |||
10:20
buubot_backup left
|
|||
masak | arguments for .conjugate: it says what it does, there's prior art in .ceiling | 10:20 | |
I meant to blog about the macros today, but seems there isn't a time slot for it. :/ | 10:26 | ||
will attempt it tomorrow instead. | |||
another difference is that TimToady's .conj works on Complex, whereas the pre-existing .conjugate works on Numeric. | 10:34 | ||
discuss. :) | |||
& | |||
sorear | masak: yes, the -I=foo thing is intentional | 10:37 | |
sorear -> seleep | |||
10:37
bacek joined
|
|||
jnthn | morning | 10:57 | |
phenny | jnthn: 09:49Z <moritz> tell jnthn if you remove SVG::Plot, you also need to remove Math::Model, which depends on it; but I'll look into fixing it later today. Re book, will do | ||
jnthn | moritz: tell phenny I put SVG::Plot back in - only one module fails to pre-compile and the build seems to survive that. BUT it may also be a build ordering issue and not the module's fault...realized that after going to sleep last night. | 11:04 | |
OMG | 11:05 | ||
phenny: tell moritz I put SVG::Plot back in - only one module fails to pre-compile and the build seems to survive that. BUT it may also be a build ordering issue and not the module's fault...realized that after going to sleep last night. | |||
phenny | jnthn: I'll pass that on when moritz is around. | ||
jnthn | coffee...where is my coffee... | ||
11:09
dbr joined
11:14
xinming left
11:17
xinming joined
11:24
xinming left,
xinming joined,
whiteknight joined
11:27
am0c joined
11:58
MayDaniel joined
|
|||
moritz tells phenny about SVG::Plot :-) | 12:07 | ||
phenny | moritz: 11:05Z <jnthn> tell moritz I put SVG::Plot back in - only one module fails to pre-compile and the build seems to survive that. BUT it may also be a build ordering issue and not the module's fault...realized that after going to sleep last night. | ||
jnthn | :P | 12:09 | |
12:12
Moukeddar joined,
legoo joined
|
|||
legoo | say3 | 12:14 | |
12:14
legoo left
|
|||
dalek | ast: 177ae7d | moritz++ | S05-grammar/namespace.t: correct a test |
12:19 | |
kudo/nom: 443d24d | moritz++ | / (6 files): Merge branch 'nom' of git://github.com/rakudo/rakudo into nom |
12:20 | ||
kudo/nom: 8659ed8 | moritz++ | t/spectest.data: run S05-grammar/namespace.t |
|||
jnthn | moritz: Good news. masak++ just helped me put topo sort into the module installer so we pre-compile stuff in order. | 12:25 | |
moritz: And SVG::Plot now works | |||
Sorry for le false alarm | |||
moritz | jnthn: no problem | ||
masak | once again, topo sort saves the day. | 12:26 | |
moritz | do we have a topo sort module? | ||
masak | no. | ||
moritz | we really should have | ||
jnthn | Also this is written in Perl 5. | ||
masak | ufo kinda needed to be no-deps. | ||
jnthn | We really should eat our own dogfood at some point for this script. | ||
masak | aye. | ||
moritz | I know it's not hard, but somehow I managed to still bust in on the first 5 tries :-) | 12:27 | |
masak | moritz: I can create a Sort::Topologically module for modules.perl6.org | ||
moritz | (especially when I include cycle detection) | ||
jnthn | masak: go for it :) | ||
moritz | masak: please do | ||
jnthn | Oh | ||
We have built-in topological sorting with cycle detection in Perl 6. | |||
masak | moritz: it's easy once you know it's just DFS. no cycle detection needed. | ||
jnthn | You just need to translate your things into multi candidates. :) | ||
moritz | jnthn: :-) | ||
jnthn | Then get the candidate list. :) | ||
masak | jnthn: you are so evil. | 12:28 | |
like, irrevocably evil. :) | |||
now I feel like doing that :P | |||
moritz | shouldn't be too hard, constructing anonymous types at runtime.... | ||
arnsholt | I think you should do it. And then call it Sort::Topologically >:D | ||
moritz | Acme::Sort::Topologically :-) | 12:29 | |
masak | moritz: I was thinking anonymous types too. but you can't refer to those twice... | ||
moritz | masak: of course you can | ||
masak | show me. | ||
moritz | masak: you can store them in your data structure of choice | ||
dalek | ar: b6ec842 | jnthn++ | skel/tools/build/module-install.pl: Get module-install.pl to actually install modules in order, using a masak++-assisted translation of masak++'s ufo technology. |
||
masak | moritz: yeahbut | ||
moritz | nom: my $x = anon class { }; say $x.new; say $x.new; | ||
p6eval | nom 0bcf48: OUTPUT«<anon>.new()<anon>.new()» | 12:30 | |
masak | moritz: signatures need to be static. | ||
moritz: using where clauses doesn't cut it. | |||
moritz | masak: hm, right | ||
masak | moritz: because they all end up on the same level. | ||
jnthn | masak: eval :P | ||
masak | jnthn: of course! | ||
moritz | jnthn: but even then they can't be anonymous | ||
masak | I just build all the data as one big program string! | ||
what could possibly go wrong :> | |||
moritz | because you can't use anonymous types as nominal types... except for the incocant, of course :-) | 12:31 | |
moritz has a wide, evil grin on his face | |||
masak | o.O | 12:34 | |
I'm surrounded by evil people | |||
moritz | just because I have an evil grin doesn't mean I'm evil! | ||
masak | no, but the prior just went up! :P | ||
moritz | I'm just... creative! | ||
masak | moritz: jnthn is sitting next to me, evilly crafting a proof-of-concept solution | 12:35 | |
moritz | oh, and I have Sticky Toffee Pudding left over from yesterday's Burns Supper. I should heat up a portion of that :-) | ||
masak | OMG jnthn output the solution in the error message! o.O | 12:40 | |
12:40
am0c left
|
|||
huf | iiuc, this is right up there with calculating pi in c++ templates... :D | 12:41 | |
colomon | Burns Supper! | 12:46 | |
moritz even wore a kilt | 12:47 | ||
colomon | was there the great chieftain o' the puddin-race? | 12:49 | |
jnthn | jnthn.net/rakudo-star-2012.01.tar.gz | 12:50 | |
Anyone want to try building that? | |||
I've tried it on Windows and Linux. | 12:51 | ||
colomon | downloading | ||
jnthn | Just perl Configure.pl --gen-parrot, then make install | ||
12:52
az5112 joined
|
|||
az5112 | I think the following demonstrates a bug in rakudo: pastebin.com/KYXKBceh | 12:53 | |
When I pass 4 on the cmd-line it will produce ERR>> value-at-pos = 4 ERR>> new-value = 4 Meaning that 4 - 1 equals 4??? | |||
Passing a hard-coded number inside MAIN (instead of $n) fixes the problem. | 12:54 | ||
jnthn | az5112: What Rakudo are you runnin? | 12:55 | |
az5112: I think you've hit a bug moritz++ fixed a week or two back. | |||
az5112: Yeah, on latest it gives 4 and 3 | 12:56 | ||
az5112: It's to do with things passed in to MAIN continuing to carry around a string representation and then not losing it when a calculation is done. | 12:57 | ||
moritz | colomon: of course | 13:01 | |
jnthn: tar warns that most time stsamps are about 1k seconds in the future :-) | 13:02 | ||
jnthn | moritz: Of course, it's not released yet :) | 13:03 | |
moritz | jnthn: :-) | ||
colomon | moritz: we went to a Burns night up here a few years before we moved up here -- but they seem to have stopped having them since we moved. every year we mumble about setting up our own. but then, Jen doesn't like haggis... | ||
jnthn: okay, it's built. tests you'd like me to run on it? | |||
jnthn | colomon: Does it make install? | 13:04 | |
colomon | yes | ||
jnthn | colomon: Just try running it and seeing if it actually, like, works :) | ||
13:04
cognominal_ joined
|
|||
colomon | Wynne:rakudo-star-2012.01 colomon$ ./perl6 --version | 13:05 | |
This is perl6 version 2012.01 built on parrot 3.11.0 revision 0 | |||
jnthn | colomon: Try maybe | ||
use JSON::Tiny; say from-json('[1,2,3]').perl | |||
Just to check module works | |||
colomon | > use JSON::Tiny; say from-json('[1,2,3]').perl | ||
[1, 2, 3] | |||
moritz | colomon: well, we've been doing our own ever since I and some friends returned from a year of studying in Scotland | ||
jnthn | colomon: yay | ||
OK, so we'll have a Star release this afty, it seems :) | 13:06 | ||
but first...la lunch | |||
tadzik | \o/ | ||
moritz builds the star | |||
13:07
cognominal left
|
|||
colomon | moritz: awesome! closest I came this year was listening to some of Jim Malcolm's Robert Burns album this week. | 13:07 | |
colomon has the 12-CD complete works of Robert Burns, but hasn't listened to it recently. | 13:08 | ||
jnthn: I just fired off a reasonably complex ABC file using the ABC tools and your candidate R*, and it worked beautifully. | 13:09 | ||
moritz | colomon: I find some of Burns' work quite abstruse; others I like | ||
colomon | moritz: I adore Tam o Shanter; I listen to Malcolm's epic 15-minute song version pretty regularly. But yeah, the 12-CD set has a lot of stuff I don't particularly care to listen to. | 13:11 | |
13:11
MayDaniel left
|
|||
moritz | it's a bit like CPAN; if you're very productive, not everything is worth consuming :-) | 13:12 | |
colomon | :) | ||
tadzik | Tam O'Shanter, that rings a bell | 13:13 | |
az5112 | jnthn: This is perl6 version 2011.12-18-ga7fd89e built on parrot 3.11.0 revision RELEASE_3_11_0 | ||
colomon | tadzik: www.robertburns.org/works/308.shtml -- but the Scots dialect is pretty thick | 13:14 | |
tadzik | being familiar with Polish-English, this is pretty a'right ;) | 13:16 | |
colomon | :) | ||
masak | less than 24 hours till p6cc deadline! | 13:23 | |
jnthn | colomon: Great! | 13:24 | |
tadzik | okay, that _is_ pretty thick :) | ||
moritz | erm | ||
once I install star, what do I need to set besides PATH? | |||
tadzik | PERL6LIB maybe | 13:25 | |
moritz | I've put $star/install/bin first in PATH, and then I get | ||
tadzik | (wild guess) | ||
moritz | $ perl6 -e 'use JSON::Tiny; say from-json("[0, undef]").perl' | ||
===SORRY!=== | |||
Incorrect pre-compiled version of src/gen/Metamodel.pm loaded | |||
hm | 13:26 | ||
there's an install/lib/parrot/3.11.0/languages/perl6/lib/JSON/Tiny.pm, so I'd kinda expect rakudo to find it | 13:27 | ||
ah, I had some precompiled modules in ~/.perl6/lib | |||
which seem to have taken precedence | |||
though I wonder why it complained about Metamodel.pm, when I really tried to load JSON/Tiny.pm | 13:28 | ||
tadzik | precompiled modules are more harm than good, I'm afraid :/ | 13:30 | |
13:32
cognominal_ left
|
|||
colomon | tadzik: the executive summary is it's about a man on an epic boozer, who runs into a witches' celebration on the way home. He forgets himself and applauds loudly when the one sexy witch dances, and then the entire horde chases him the rest of the way home. With the strong subtext the entire sequence is just the BS story he made up to distract his wife from his epic lateness. :) | 13:32 | |
dalek | ecs: 1b66aa1 | moritz++ | S29-functions.pod: fix signature of bless Object is gone, and since * is allowed as candidate, the previous type constraint there was wrong too |
13:33 | |
13:33
cognominal joined
|
|||
dalek | ast: 8992cb9 | moritz++ | S32-num/co (2 files): .conjugate is spelled .conj according to specs commit 0de30c |
13:39 | |
kudo/nom: 396f827 | moritz++ | src/core/ (3 files): conjugate -> conj according to specs commit 0de30ce, which introduced .conj. We had it before, but with a different name |
13:42 | ||
ecza: 4abaa66 | moritz++ | lib/CORE.setting: s:g/conjugate/conj/, as per specs commit 0de30c |
13:48 | ||
13:49
Moukeddar left
|
|||
colomon | moritz++ # I'd meant to get around to that when I had some spare time | 13:54 | |
13:55
robin joined
13:57
robin left
|
|||
jnthn | moritz: We could twiddle module search order, but that'll be a Rakudo change... | 14:08 | |
moritz: If it works without any old pre-compiled modules in the way, that's fine for me | |||
I want Rakudo to manage the pre-compilation stuff really | |||
14:13
whiteknight left
14:15
xinming left
|
|||
moritz too | 14:16 | ||
moritz remembers discussing that in March (?) 2010 in Copenhagen | |||
14:18
PacoAir joined
|
|||
jnthn | Maybe while I'm doing the serialization stuff will be the natural time. | 14:19 | |
OK, so seems that tarball I uploaded can be the release. | 14:20 | ||
Hm. Do we not have a Star relesae guide? :) | 14:21 | ||
moritz | don't think so | 14:24 | |
pmichaud++ has done all the previous star releases | 14:25 | ||
iirc he meant to compile a guide at some point | |||
jnthn | moritz: OK. Well, I can guess some of the tasks. | 14:26 | |
Upload tarball. Post release announcement on rakudo.org. | 14:27 | ||
github.com/rakudo/star/downloads has it :) | |||
moritz | now announce it everywhere :-) | 14:28 | |
[Coke] gives up on p6cc as the script he wrote fails to pass t1-base-test. | 14:33 | ||
[Coke] lies and tries one more time... | 14:34 | ||
14:34
xinming joined
|
|||
jnthn | moritz: Now announced on rakudo.org/ | 14:35 | |
moritz | jnthn++ | ||
jnthn | And I believe that's aggregated by Planet Perl 6. | ||
masak | whaddabout p6c? | ||
sjn | nice! | ||
jnthn | masak: yeha, that's next | ||
masak | \o/ | 14:36 | |
sjn | good to see a nom release :D | ||
moritz | jnthn: and CC' p6u | ||
masak | sjn: yeah, finally! | ||
moritz | can we now get rid of the 'rakudo 2011.07' column on the features matrix? | ||
masak | [Coke]: oh, so solutions are coming? waiting in rapt anticipation, then. | 14:37 | |
jnthn | moritz: Done. | 14:39 | |
moritz: (the mails) | |||
moritz removes b from the feature matrix | |||
masak | moritz++ | 14:40 | |
jnthn++ | |||
14:41
Chillance joined
|
|||
jnthn | Pm'd Pm to let him know what I've done, and ask if I missed anything :) | 14:41 | |
masak | yay, nom is now out there! | 14:43 | |
[Coke] | masak: one or more solutions sent. | ||
\o/ . o O (nom) | |||
masak | [Coke]: \o/ | 14:44 | |
people, do like [Coke]: send in solutions, before it's too late! | |||
[Coke] | masak: no, they're fine. ;) | 14:45 | |
14:46
not_gerd joined
|
|||
masak | *lol* | 14:46 | |
not_gerd | congrats for the * release | ||
dalek | atures: 8eaf43f | moritz++ | features.json: remove rakudo 2011.07 column ... now that we have a nom-based star release |
14:47 | |
not_gerd | minor nitpick: could someone fix the links in the rakudo.org announcement? | ||
jnthn | not_gerd: er, they're broken? | ||
not_gerd | they're not hyperlinked | ||
jnthn | oh, the ones at the bottom | ||
yeha, they're linked earlier up | 14:48 | ||
will fix | |||
not_gerd: done, thanks | |||
not_gerd | np | ||
15:02
icwiener joined
|
|||
[Coke] | jnthn:++ * | 15:18 | |
15:18
hitekrednek left
|
|||
fsergot | Does anyone know golang? | 15:23 | |
masak | fsvo "know" | 15:24 | |
15:26
kaare_ left,
kaare_ joined,
cooper left
15:28
chemouna joined
15:31
birdwindupbird left
|
|||
moritz | heard of it, not used it yet | 15:42 | |
dalek | albot: 975c5eb | moritz++ | evalbot.pl: update star to 2012.01 |
15:44 | |
15:44
p6eval left
15:45
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
moritz | star: use JSON::Tiny; say to-json({ a => ['b', Any], c => "foo\nbar"}) | 15:45 | |
p6eval | star 2012.01: OUTPUT«{ "a" : [ "b", null ], "c" : "foo\nbar" }» | 15:46 | |
moritz | takes less than 2 seconds on my system | ||
TimToady | in the dogfood department, note rosettacode.org/wiki/Topological_sort#Perl_6 | 15:48 | |
jnthn | moritz: Should be less after the serialization work. | 15:50 | |
masak | TimToady: neither seems to be DFS-based at first glance. | ||
jnthn | Works more like the one I have in multidispatch.c | 15:51 | |
TimToady | that why I only said "note" :) | ||
masak | I'm not saying DFS-based is necessarily better, mind :) | ||
just that I like that solution :) | |||
TimToady | congrats on the nominally new * | 16:04 | |
star: say 'hi' | 16:06 | ||
p6eval | star 2012.01: OUTPUT«hi» | ||
masak | \o/ | ||
TimToady | I was just guessing :) | ||
I guess it's newbie friendly... | 16:07 | ||
jnthn | :) | ||
TimToady | oh, duh, dalek just said that | ||
my irssi client lowlights all dalek messages in blue, and my brane glazes over | |||
jnthn | Should be back to more regular star releases now :) | ||
16:08
not_gerd left
|
|||
TimToady | so, what should we add to features to make up for removing a column? think anyone will work on pugs if we add it? :) | 16:08 | |
moritz | TimToady: fglock pondered adding perlito | 16:09 | |
TimToady | maybe an alternate page with all known implementations :) | 16:10 | |
moritz | if you find somebody willing to maintain it... | ||
TimToady | there is that... | 16:11 | |
we'll probably get more columns when we start adding other backends | |||
jnthn | yes | 16:12 | |
16:12
shinobicl___ joined
|
|||
fsergot | nom: sub abc( Int @arr ){ say 1; }; abc((1,2,3)); | 16:19 | |
p6eval | nom 396f82: OUTPUT«Nominal type check failed for parameter '@arr'; expected Positional but got Parcel instead in sub abc at /tmp/FqdpE4iGxh:1 in block <anon> at /tmp/FqdpE4iGxh:1 in <anon> at /tmp/FqdpE4iGxh:1» | ||
fsergot | Can I specify that only arrays with Int numbers can fit subroutines? | ||
masak | why u no put whitespace between signature and function body :( | ||
fsergot: use a where clause. | 16:20 | ||
jnthn | fsergot: Like you just did but you need to pass an array declared as my Int @arr = .. | ||
fsergot: Or you can do what masak said if you want it to be on the values rther than actually being a type check. | |||
masak | or use a subtype. | ||
which is just a portable where clause :) | |||
fsergot | masak: Should I put whitespace there? :) | ||
masak | yes, between ')' and '{'. | 16:21 | |
it's not required, but it looks really odd without it. | |||
and you'll get in trouble in other similar places for not using whitespace. | 16:22 | ||
fsergot | Ok. :) | ||
Thanks jnthn++ and masak++ :) | |||
sjn | on a completely unrelated tangent: www.sluggy.com/ has a storyline about NOM these days. :) | ||
TimToady | masak: maybe we should add a column for yapsi :) | 16:23 | |
masak | er. | 16:24 | |
would rather see a column for Pugs... | |||
moritz | maybe we should have a yapsi column, but not for what is implemented, but for what masak has already pondered an implementation strategy :-) | 16:30 | |
masak | comes out to about the same :P | ||
abercrombie | Hi, what's the difference between 2012.01 and 2012.01 star? | 16:31 | |
masak | compiler vs distribution | ||
abercrombie | Is there any feature difference? | ||
masak | like Linux kernel vs Linux distribution. | ||
no feature differences in the compiler itself. | |||
abercrombie | ok, thanks | 16:32 | |
masak | the distribution release is based on the compiler release. | ||
jnthn | abercrombie: The compiler release is JUST the compiler. No modules, no docs, no runtime. | ||
The distribution release has all of those things. It includes the 2012.01 compiler. | |||
abercrombie | I got it. I see .star is larger than the normal .01 | ||
PerlJam | jnthn: the README still says "This is the 2011.07 release of Rakudo Star." :) | 16:34 | |
abercrombie | Yes, I also saw that | 16:35 | |
[Coke] | PerlJam: oops. | 16:37 | |
[6~ | |||
masak | should totally have a Rakudo Star release guide... :) | 16:38 | |
16:43
donri joined
|
|||
donri | ~/Perl/rakudo-star-2012.01$ make blizkost-install | 16:43 | |
make: *** No rule to make target `blizkost-install'. Stop. | |||
jnthn | PerlJam: arrgh, why... | 16:44 | |
README should not have version numbers in :/ | |||
16:46
buubot_backup joined
|
|||
donri | ^ readme claims that should work | 16:48 | |
jnthn | It won't. | 16:50 | |
Note to self: fix the README for the next relesae :;/ | |||
donri | :) | ||
Juerd | mv README FIXME | 16:51 | |
16:51
mdxi left
16:54
mdxi joined
|
|||
moritz | jnthn: don't worry, nobody actually reads REDMEs :-) | 16:56 | |
16:58
tokuhirom left
16:59
tokuhirom joined
17:03
tokuhirom left
17:07
shinobicl___ left
|
|||
dalek | ar: 4ef2ccc | moritz++ | skel/README: make skel/README less outdated |
17:09 | |
jnthn | moritz: I'm just glad we didn't call it IGNOREME :) | 17:15 | |
17:16
benabik left
|
|||
masak | nom & | 17:20 | |
jnthn | nom & | ||
skids | Is there an aggregation point for the (somewhat futile) task of creating an encouraged organized hierarchy for Perl6 external module namespaces? (That is, reducing the mess vs. P5's CPAN?) CPAN6 seems to be more oriented towards the "how to" rather than the "what" (and suffering from mission creep). | 17:26 | |
flussence | CPAN6? You mean modules.perl6.org? | 17:27 | |
skids | no I mean the thing perl.org is calling CPAN6 | ||
I mean, sorry, perlfoundation.org | 17:28 | ||
That has registered cpan6.org, also. | 17:29 | ||
17:29
benabik joined
|
|||
flussence | cpan6.org has no connection to anyone involved in Perl 6, afaik. I'd just ignore it. | 17:32 | |
skids | That I gathered. | ||
benabik | I'd ignore it because it says the first release will be April 2010. | 17:33 | |
skids | Basically I'm just looking to add some observations/suggestions to any ongoing conversations for providing guidelines for people writing external modules as to "what namespace should I plop this into", assuming such a conversation exists... | 17:34 | |
PerlJam | skids: I think so far it's been "This name looks like it fits" and go. | 17:35 | |
skids | Well, right now I wouldn't suggest bothering developers at all, lest they be discouraged, so that's fine, but building a plan to drop on them later on might be worth it :-) | ||
PerlJam | skids: so ... you have some ideas you'd like to share? :) | 17:37 | |
skids | Well, if there's no wiki for suggestions yet, where would be the best place to start a page. (Last time I did a similar thing I used www.perlfoundation.org/perl6/index.cgi?witch but nobody wanted to use SocialText so it fizzled.) | 17:38 | |
I'm developing ideas. They are still just cookie dough, though, not even half baked. | 17:39 | ||
PerlJam | maybe setting up a wiki to live at wiki.perl6.org would be a good first step. :) | 17:40 | |
17:41
zby_home_ joined
|
|||
skids | Cool, when I get to half-baked on it I'll look to plop it there. Thanks, PerlJam++ | 17:42 | |
17:42
icwiener left
17:43
icwiener joined
17:46
zby_home_ left
17:47
zby_home_ joined,
zby_home_ left,
zby_home_ joined
17:51
birdwindupbird joined
18:08
fsergot left
18:11
aindilis joined
18:14
Transformer joined
18:17
Transformer left
18:24
birdwindupbird left
18:34
fsergot joined
18:35
birdwindupbird joined
18:36
supernovus joined
|
|||
dalek | kudo/nom: 783f523 | moritz++ | src/ (2 files): more typed parse error messages |
18:38 | |
supernovus | Congrats on the newest Star release! I guess I should try to get Exemel working on Rakudo again. | 18:41 | |
18:43
chemouna left,
chemouna joined
|
|||
supernovus | Let's see if I can crash my computer... compiling Rakudo and Niecza at the same time. | 18:44 | |
18:47
Trashlord left
18:50
Trashlord joined,
Shozan joined
|
|||
flussence | that's how I *normally* do it :) | 18:50 | |
18:51
SHODAN left
|
|||
dalek | ast: d1f0fd8 | moritz++ | S32-exceptions/misc.t: tests for typed syntax errors |
18:51 | |
supernovus | Well, even on a little virtualbox VM, I was able to compile both at the same time with no out of memory issues. Impressive :-) | 18:54 | |
moritz | which means that you have at least 2G memory in that box :-) | 18:56 | |
(or it's 32 bit, then less may do) | 18:57 | ||
18:58
Shozan left
|
|||
moritz | std: my $::('foo') | 18:58 | |
p6eval | std 48335fc: OUTPUT«ok 00:01 109m» | ||
supernovus | The host OS is 64 bit, the VM is 32 bit (I unfortunately don't have hardware virtualization extensions). The VM has 1 GB of allocated RAM, plus 2 GB of swap, but it doesn't look like it had to dip much into swap. | ||
moritz | niecza: my $::('foo') | 18:59 | |
p6eval | niecza v13-369-g4abaa66: OUTPUT«Use of uninitialized value in string context at /home/p6eval/niecza/boot/lib/CORE.setting line 1209 (warn @ 3)  at /home/p6eval/niecza/boot/lib/CORE.setting line 212 (Mu.Str @ 10)  at <unknown> line 0 (ExitRunloop @ 0)  at /home/p6eval/niecza/src/… | ||
supernovus | When I upgrade my physical machine, I'm definitely going for hardware extensions and a crapload more RAM. I want to be able to dedicate 4 GB to each VM (impossible at the moment, as that's what my physical computer has, heh.) | 19:00 | |
Well the basic XML parsing and output is working fine (needs to be tested with some more complex documents to see if anything in the grammar has broken), I need to fix the query methods and namespace support though. Hopefully this won't be much more difficult than when I ported it from alpha to ng (seems like ages ago...) | 19:04 | ||
moritz | in December I bought a machine for $work; 92GB RAM, 2x 6core + hyperthreading, plus a nice GPU | ||
I should install some development tools on there, and do some rakudo smoking :-) | 19:05 | ||
supernovus | 92 GB of RAM? Holy crap! | ||
moritz | I "only" demanded 64GB, but somehow thoe whole process of going through our IT deparment, getting offers from vendors etc. increased it a bit. I didn't complain. | 19:07 | |
supernovus | Damn, I'll be happy going from 4GB to 16GB, as that's all I can afford this upgrade cycle... I need more contracts :-P | 19:09 | |
Anyway, $time = "lunch"; Have a good * | 19:12 | ||
flussence | at my $dayjob it took far too much complaining before they gave me a workstation faster than my netbook :( | ||
moritz | supernovus: guten appetit :-) | 19:13 | |
supernovus | moritz: danke! | ||
19:14
supernovus left
|
|||
moritz | it does have an advantage to work in an environment where most colleagues need rather expensive lab equipment, so spending 8k EUR for a simulation machine every other year doesn't seem too much for 'em :-) | 19:14 | |
19:16
fsergot left
19:20
Trashlord left
|
|||
sorear | good * #perl6 | 19:23 | |
colomon | \o | 19:24 | |
moritz | o/ | 19:25 | |
19:25
_dbr joined
|
|||
colomon | sorear: have you looked at the S05-capture/caps.t issue at all? (release is Monday, right?) | 19:26 | |
sorear | no. yes. | ||
19:28
icwiener left
|
|||
colomon | right now spectest is failing on S02-magicals/env.t (one test fails) and S05-capture/caps.t (dies halfway through) | 19:28 | |
19:28
dbr left,
wolfman2000 left
|
|||
dalek | ecza: 1b41aa7 | sorear++ | lib/CORE.setting: Fix .chunks for .synthetic change, colomon++ |
19:34 | |
19:37
LlamaRider left
19:38
fsergot joined
|
|||
colomon | sorear++ | 19:44 | |
19:59
fsergot left
20:02
cognominal left
20:04
cognominal joined
|
|||
colomon | sorear: no new failures after that commit. :) | 20:09 | |
20:13
_dbr left
20:16
chemouna left
20:26
pmurias joined
20:27
cooper joined
|
|||
dalek | kudo/nom: 9719f7d | moritz++ | src/ (3 files): more typed syntax errors |
20:38 | |
ast: 277e13d | moritz++ | S32-exceptions/misc.t: more tests for typed syntax errors |
20:39 | ||
20:39
donri left
20:40
donri joined
|
|||
moritz | wow, Perl 6 has *lots* of different syntax errors | 20:41 | |
20:49
birdwindupbird left
|
|||
eviltwin_b | it'd probably be easier if it weren't trying to catch and correct perl 5 :) | 20:52 | |
moritz | well, most of those are easily categorized into a common exception class | 20:55 | |
nom: try eval 'undef $/'; say $!.perl | |||
p6eval | nom 783f52: OUTPUT«X::Obsolete.new(old => "\$/ variable as input record separator", replacement => "the filehandle's .slurp method", when => " in Perl 6", filename => "/tmp/rKmZgAjdUL", line => 1, column => Any, message => "Unsupported use of \$/ variable as input record separator; in … | ||
tadzik | niice! | ||
moritz | one thing I really want to do is get rid of X::Base | 20:56 | |
all exceptions that aren't explicitly typed should be folded into X::AdHoc or so | 20:57 | ||
and then I can mold together X::Base and Exception | |||
sorear | moritz++ | 21:04 | |
21:04
GlitchMr left
|
|||
moritz | ok, one thing I'd like to discuss | 21:06 | |
currently I classify some exceptions as compile time ( ~~ X::Comp ), and some as syntax ( ~~ X::Syntax, which does X::Comp ) | |||
does that make sense? | |||
the distinction seems rather blurry | 21:07 | ||
are redeclaration errors syntax errors? what about method redeclarations? | |||
sorear | it's a little blurry because Perl 6 doesn't have a formal grammar | 21:08 | |
but I would call both of those non-syntax compile errors | |||
moritz | what about required-after-optional parameters? | 21:09 | |
(there are lots of parameter/signature related errors) | 21:10 | ||
my point is, independently of each individual answer, I'm having a hard time classifying some of these errors, so I wonder if the whole approach of distinguishing syntax and non-syntax errors is wrong | 21:13 | ||
moritz slowly drifts off to sleep, and will backlog in case anybody has any insight or interesting opinion | 21:17 | ||
21:19
samlh joined
21:20
samlh left
21:21
raiph joined
21:23
samlh joined
|
|||
sorear | o/ raiph | 21:25 | |
21:29
pmurias left
|
|||
sorear | niecza: say 5.Str\.Str | 21:34 | |
p6eval | niecza v13-370-g1b41aa7: OUTPUT«Unhandled exception: WTF in mainline at /home/p6eval/niecza/boot/lib/CORE.setting line 1347 (die @ 3)  at /home/p6eval/niecza/src/NieczaPassSimplifier.pm6 line 145 (run_optree @ 5)  at /home/p6eval/niecza/src/NieczaPassSimplifier.pm6 line 149 (run_o… | ||
colomon | love that error message. ;) | 21:37 | |
21:47
samlh left
21:48
samlh joined
|
|||
dalek | ecza: 881f22b | sorear++ | src/NieczaActions.pm6: Fix crazy unspace method call bug |
21:49 | |
22:01
kaare_ left
|
|||
dalek | ast: 331dde9 | sorear++ | S02-lexical-conventions/unspace.t: [S02] Regression test for sorear/niecza@881f22b |
22:03 | |
22:15
mj41 left
22:16
mj41 joined
|
|||
sorear | colomon: what do you think should be written about spectests for announce.v14? | 22:20 | |
22:21
az5112 left
22:43
alvis left
22:46
cognominal_ joined
22:49
cognominal left
|
|||
colomon | maybe something like: "With this release, Niecza now passes a similar number of spectests as Rakudo. (Note: This does not mean they pass the same tests.)" ? | 22:50 | |
hmm... I guess it would be nice if I had panda-niecza working for the release, too. :) | 22:58 | ||
23:06
dorlamm joined
23:18
ksi joined
23:34
s1n joined
|
|||
jnthn back | 23:35 | ||
sorear | o/ jnthn | 23:55 | |
colomon | \o | ||
jnthn | o/ | ||
23:57
donri left
|