Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-01-28

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:01 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:04 jnthn bbkr1: Sounds good. :)
00:04 jnthn OK, sleep time for me.
00:04 jnthn night o/
00:07 colomon phenny: tell pmurias https://gist.github.com/1691700 # p5test results
00:07 phenny colomon: I'll pass that on when pmurias is around.
00:15 TimToady hmm, we don't have an operator for complex conjugate, do we?
00:17 TimToady 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␤»
00:17 p6eval ..rakudo 0bcf48, niecza v13-366-g4c94673: OUTPUT«-1␤»
00:17 TimToady oops
00:17 TimToady perl6: sub prefix:<±>(Complex $c) { $c.re - $c.im\i }; say ±(1+2i)
00:17 p6eval pugs b927740: OUTPUT«decodeUTF8': bad data: '\177'␤decodeUTF8': bad data: '\177'␤*** ␤    Unexpected "i"␤    expecting "(" or "."␤    at /tmp/XpwuMqFcNw line 1, column 44␤»
00:17 p6eval ..rakudo 0bcf48: OUTPUT«1-2i␤»
00:17 p6eval ..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_…
00:18 TimToady huh, what's niecza's problem?
00:18 sorear I have no idea
00:19 * TimToady wonders if ± has any established meaning on complex numbers
00:19 sorear sure
00:19 sorear sqrt(-1) = ±i
00:24 * TimToady wonders what the operator should be
00:25 TimToady P5 apparently uses ~ but we can't do that
00:25 TimToady ^ maybe, but it'll be confused with upto
00:29 pochi joined #perl6
00:31 sorear postfix:<^*> maybe
00:31 TimToady oh, obviously it should be COMBINING OVERBAR :)
00:32 sorear can't?  don't operators have to be an integral number of graphemes?
00:33 TimToady 冗談ですよ!
00:37 TimToady a postfix is interesting, because it does't matter if it gets the precedence wrong
00:38 benabik Does math have an operator for complex conjugate, or do they just use conjugate() ?
00:39 colomon benabik: do you mean mathematicians or p6?
00:39 benabik colomon: mathematicians.
00:39 colomon http://en.wikipedia.org/wiki/Complex_conjugate -- two notations on the first screen.  :)
00:40 TimToady a postfix is interesting, because it does't matter if it gets the precedence wrong
00:40 TimToady perl6: sub postfix:<¯>(Complex $c) { $c.re - $c.im\i }; say 1+2i¯
00:40 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…
00:40 p6eval ..pugs b927740: OUTPUT«decodeUTF8': bad data: '\175'␤decodeUTF8': bad data: '\175'␤*** ␤    Unexpected "i"␤    expecting "(" or "."␤    at /tmp/UwIHydO6dR line 1, column 45␤»
00:40 p6eval ..rakudo 0bcf48: OUTPUT«1-2i␤»
00:41 colomon sorear: S05-capture/caps.t is crashing with an odd error
00:42 colomon ah, nothing quite like a WTF error
00:43 TimToady sorear: looks like it's dying in constant folding
00:44 TimToady btw, nom++ for getting it right
00:45 TimToady you'll note the ¯ binds tighter than the +, but it doesn't matter
00:46 benabik 2i -> -2i -> 1-2i ?
00:46 [Coke] ZOMG. I just discovered "At Last the 1948 Show" (http://www.youtube.com/watch?v=-​eDaSvRO9xA&amp;feature=related)
00:46 TimToady 0-2i surely
00:47 TimToady oh, you're asking about the transformation above
00:47 TimToady yes
00:47 TimToady it's doing 1 + (2i¯), but that's the same as (1+2i)¯
00:50 TimToady 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␤»
00:50 p6eval ..rakudo 0bcf48: OUTPUT«1-2i␤»
00:50 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…
00:51 TimToady is a postfix:<^> too ambiguous?
00:52 timotimo does "everyone wants the colon" refer to the colon in, for example, "@blah.map: { some_code }" ?
00:52 TimToady it's referring to all the proposed uses of colon in the original 361 RFCs
00:53 TimToady your example is one of "Larry gets the colon." :)
00:54 timotimo oh, now i get it.
00:55 * sorear is busy atm getting the bootstrap working
00:55 * TimToady whistles innocently
01:01 TimToady well, sanity would just go for .conj
01:05 dalek specs: 0de30ce | larry++ | S32-setting-library/Numeric.pod:
01:05 dalek specs: add complex conjugate
01:05 dalek specs: review: https://github.com/perl6/specs/commit/0de30ceb65
01:09 molaf__ joined #perl6
01:29 dalek niecza: ddbbcc4 | sorear++ | src/ (4 files):
01:29 dalek niecza: Implement a new STD-level role composition cache
01:29 dalek niecza: review: https://github.com/sorear/niecza/commit/ddbbcc4347
01:29 cognominal joined #perl6
01:30 * 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 ..
01:31 TimToady and any number of P5-like traits ("attributes")
01:31 TimToady and lots of other things
01:40 sorear almost working
01:41 bkolera joined #perl6
01:45 wolfman2000 joined #perl6
01:54 sorear grr- seems implementing curried roles completely broke the categorical handling
01:59 cognominal_ joined #perl6
02:04 tokuhirom joined #perl6
02:13 cognominal joined #perl6
02:15 cognominal_ joined #perl6
02:26 LlamaRider joined #perl6
02:29 cognominal joined #perl6
02:33 [Coke] # 01/27/2012 - niecza at 99.53%
02:33 [Coke] (rakudo has pulled ahead slightly, 19515 to 19424)
02:34 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:38 timotimo 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:46 cognominal joined #perl6
03:01 timotimo rakudo: my $foo = 5; $foo.HOW
03:01 p6eval rakudo 0bcf48:  ( no output )
03:01 timotimo weird. that crashes locally for me
03:02 timotimo 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␤»
03:08 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:11 colomon odd
03:16 flussence one is a series, the other is a range
03:16 flussence something like that anyway
03:16 timotimo OK
03:16 timotimo what on earth is Cool() useful for?
03:18 timotimo is it seriously just there to say my $foo is Cool?
03:19 timotimo my $metal is True and Whatever?
03:19 colomon Must (all) of the built-in types are Cool
03:20 colomon It provides all the magic perl functions.
03:21 orafu joined #perl6
03:23 * timotimo reads the actual definition of it
03:24 colomon though it's supposed to be even more magical than it is in current implementations.  :)
03:25 timotimo subset Uncool where not ~~ Cool; - does this work as i expect it to?
03:25 timotimo or is there a smart mismatch operator?
03:26 colomon niecza: my $a = [*] 1..20; say $a; say $a.comb(/1./);
03:26 p6eval niecza v13-367-gddbbcc4: OUTPUT«2432902008176640000␤17␤»
03:26 colomon !~~
03:26 colomon subset Uncool where $_ !~~ Cool
03:26 colomon or something like that
03:27 timotimo do i actually need the $_?
03:27 colomon You need something there, but maybe not that
03:27 timotimo all the rest of perl seems to suggest i don't. just like in sub foo($x where Cool)
03:27 timotimo i suppose a * would work, too?
03:28 colomon * !~~ Cool probably works
03:28 colomon niecza: subset Uncool where * ~~ Cool; say "alive"
03:28 p6eval niecza v13-367-gddbbcc4: OUTPUT«alive␤»
03:28 colomon niecza: subset Uncool where * !~~ Cool; say "alive"
03:28 p6eval niecza v13-367-gddbbcc4: OUTPUT«alive␤»
03:28 timotimo what did i do when i did thus:
03:29 timotimo rakudo: subset Uncool where not Cool; say "yay"
03:29 p6eval rakudo 0bcf48: OUTPUT«yay␤»
03:29 timotimo rakudo: subset Uncool where not Cool; class Barf {}; say Barf ~~ Cool; say Barf ~~ Uncool;
03:29 p6eval rakudo 0bcf48: OUTPUT«Bool::False␤Bool::True␤»
03:29 colomon as far as I know, not doesn't actually work like that; but I'd be delighted to learn I was wrong
03:29 timotimo niecza: subset Uncool where not Cool; class Barf {}; say Barf ~~ Cool; say Barf ~~ Uncool;
03:29 p6eval niecza v13-367-gddbbcc4: OUTPUT«Bool::False␤Bool::True␤»
03:31 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:33 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....
03:34 [Coke] say so not Cool time
03:34 [Coke] nom: say so not Cool time
03:34 p6eval nom 0bcf48: OUTPUT«===SORRY!===␤Confused at line 1, near "say so not"␤»
03:34 benabik nom: say (not Cool).WHAT
03:34 p6eval nom 0bcf48: OUTPUT«Bool()␤»
03:34 benabik nom: say (not Cool)
03:34 p6eval nom 0bcf48: OUTPUT«Bool::True␤»
03:35 jferrero joined #perl6
03:38 Psyche^ joined #perl6
03:41 timotimo oh god, using junctions for array slicing or hash slicing, heads explodes
03:41 timotimo 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?
04:06 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␤»
04:06 timotimo i don't understand what i did wrong? shouldn't *%slurp slurp all named arguments?
04:07 benabik nom: sub test(*%_) { %_.perl.say }; test( :a(100) )
04:07 p6eval nom 0bcf48: OUTPUT«("a" => 100).hash␤»
04:08 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␤»
04:08 benabik I think you have to use the :name(value) format for named arguments.
04:08 timotimo i do?
04:08 timotimo oh my
04:08 LlamaRider hm, junctions are quite interesting actually. Very strongly remind me of paraconsistent logics, or 4-valued logics. Pretty neat
04:12 colomon no, name => value form is fine
04:13 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 )
04:13 p6eval nom 0bcf48: OUTPUT«("a" => 100).hash␤»
04:13 benabik hah
04:13 timotimo nom: sub test(*%_) { %_.perl.say }; test( a => 100, b => 200 )
04:13 p6eval nom 0bcf48: OUTPUT«("a" => 100, "b" => 200).hash␤»
04:13 colomon there you are
04:13 timotimo hohom
04:13 benabik Although it seems odd that "a" => 100 was turned into a positional.
04:13 colomon benabik: agreed
04:14 benabik nom: say ("a" => 100).perl
04:14 p6eval nom 0bcf48: OUTPUT«"a" => 100␤»
04:14 colomon niecza: sub test(*%_) { %_.perl.say }; test( "a" => 100 )
04:14 benabik nom: say (a => 100).perl
04:14 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…
04:14 p6eval nom 0bcf48: OUTPUT«"a" => 100␤»
04:14 timotimo weird!
04:14 colomon same thing in niecza, though
04:14 timotimo what does std say?
04:14 benabik Probably "ok"
04:15 colomon std: sub test(*%_) { %_.perl.say }; test( "a" => 100 )
04:15 p6eval std 47c76b3: OUTPUT«ok 00:01 113m␤»
04:15 timotimo i have no actual idea what "std" does :)
04:15 benabik It parses it.  Which will give you syntax errors, but not tell you what it would do.
04:16 timotimo hmm, well, that's not terribly helpful
04:16 timotimo in this case at least
04:16 timotimo 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?
04:19 LlamaRider ah, nice, array question ^^
04:19 timotimo rakudo: my @a, @b = (1, 2, 3), (9, 8, 7); say any($(@a), $(@b))
04:19 p6eval rakudo 0bcf48: OUTPUT«===SORRY!===␤Variable @b is not predeclared at line 1, near " = (1, 2, "␤»
04:19 timotimo rakudo: my @a = (1, 2, 3); my @b = (9, 8, 7); say any($(@a), $(@b))
04:19 p6eval rakudo 0bcf48: OUTPUT«any(1 2 3, 9 8 7)␤»
04:19 timotimo i'm comparibly proud of figuring this out :)
04:19 timotimo whoa
04:20 timotimo 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 …
04:22 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␤»
04:22 timotimo oh, that is the problem?
04:22 benabik Junctions appear to have a .gist, but lack a .Str?
04:22 sorear timotimo: right now for niecza the best way to check an interpretation is NIECZA_TRACE_DOWNCALLS
04:23 sorear benabik: by design
04:23 benabik sorear: oh?
04:23 sorear you *want* junctions to autothread .Str
04:24 sorear because that makes $str eq any(1,2,3) work
04:24 benabik Oh, right.
04:24 timotimo rakudo: say (any($(1, 2, 3), $(9, 8, 7)) xx 2).perl # i don't understand why.
04:24 p6eval rakudo 0bcf48: OUTPUT«(any((1, 2, 3), (9, 8, 7)), any((1, 2, 3), (9, 8, 7))).list␤»
04:24 benabik I guess the auto-threading is having a problem there then?
04:24 sorear (feeding a junction to print() strikes me as a bad idea anyhow)
04:24 benabik sorear: Agreed, but that's not the failure mode I expected.
04:25 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
04:25 p6eval niecza v13-367-gddbbcc4: OUTPUT«(any($(1, 2, 3), $(9, 8, 7)), any($(1, 2, 3), $(9, 8, 7))).list␤»
04:26 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 #perl6
04:28 sorear it looks like you might be expecting xx to autothread junctions
04:29 timotimo well, any(<cat dog mouse>) ~ "is furry" works
04:29 timotimo don't see why it doesn't work with xx2 :(
04:29 timotimo when i use x 2 instead it repeats the string representation, but it's close to what i'd expect xx2 to do
04:29 sorear because xx is a comma operator
04:30 sorear x needs to interpret the left side as Str; xx leaves it as Mu
04:30 sorear and things that work at the Mu level don't autothread
04:30 sorear also,
04:30 timotimo oh
04:30 sorear niecza: say rand xx 4
04:30 p6eval niecza v13-367-gddbbcc4: OUTPUT«0.64871914947811471 0.7228391611589301 0.8318316064923218 0.5280976796187915␤»
04:31 timotimo not bad!
04:31 timotimo that's actually cooler than i thought
04:56 TimToady timotimo: what you really want is 'where none(Cool)'
04:57 TimToady perl6: subset Uncool where non(Cool); class Barf {}; say Barf ~~ Uncool; say Int ~~ Uncool
04:57 p6eval niecza v13-367-gddbbcc4: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤    'non' used at line 1â�¤â�¤Unhandled 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…
04:57 p6eval ..rakudo 0bcf48: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&non' called (line 1)␤»
04:57 p6eval ..pugs b927740: OUTPUT«*** No such subroutine: "&Uncool"␤    at /tmp/52wOniYlbR line 1, column 51-65␤»
04:57 TimToady perl6: subset Uncool where none(Cool); class Barf {}; say Barf ~~ Uncool; say Int ~~ Uncool
04:57 p6eval rakudo 0bcf48, niecza v13-367-gddbbcc4: OUTPUT«Bool::True␤Bool::False␤»
04:58 p6eval ..pugs b927740: OUTPUT«*** No such subroutine: "&Uncool"␤    at /tmp/XwHoPNllVz line 1, column 52-66␤»
04:58 TimToady pugs: subset Uncool of Any where none(Cool); class Barf {}; say Barf ~~ Uncool; say Int ~~ Uncool
04:58 p6eval pugs b927740: OUTPUT«*** No such subroutine: "&Uncool"␤    at /tmp/QrY3xIGamn line 1, column 59-73␤»
05:00 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:01 TimToady this is why routines are lexically scoped, so we know exactly what candidate list we're dealing with at compile time
05:01 TimToady and why we have optional native types
05:01 TimToady and rules that say what CHECK time (end of compile) may or may not assume about what can change at run time
05:02 TimToady we don't intend to rely on a JIT for performance, but if one is available, all the better
05:03 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 sorear much like what Haskell does in that regard
05:03 TimToady so just write a Haskell emitter :)
05:03 sorear being able to mix languages is great - being able to mix semantic levels in one syntax is better
05:06 * 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 sorear +parsing
05:06 sorear TimToady: re?
05:06 tokuhirom joined #perl6
05:06 TimToady oh, nevermind, it was "a" => 100
05:07 TimToady an hour or so ago
05:07 sorear should "a" => 100 work for a named arg?
05:08 TimToady no, that's one way of hiding it
05:09 TimToady since a named arg has to be an identifier anyway
05:10 sorear you mean that foo(|("+" => 5)) is erroneous?
05:10 TimToady no, that's still a pair
05:10 TimToady but you can't an arg named +
05:10 TimToady *have an
05:11 TimToady conveniently, + => 5 is a syntax error
05:11 TimToady perl6: my @a = (1, 2, 3); my @b = (9, 8, 7); say any($(@a), $(@b))
05:11 p6eval rakudo 0bcf48: OUTPUT«any(1 2 3, 9 8 7)␤»
05:11 p6eval ..niecza v13-367-gddbbcc4: OUTPUT«any([1, 2, 3], [9, 8, 7])␤»
05:11 p6eval ..pugs b927740: OUTPUT«any(VInt 1,VInt 2,VInt 3,VInt 7,VInt 8,VInt 9)␤»
05:13 TimToady niecza: my @a = 1,2,3; my @b := @a; say $@a === $@b
05:13 p6eval niecza v13-367-gddbbcc4: OUTPUT«[31m===[0mSORRY![31m===[0m��Invalid hard reference syntax at /tmp/1PzYsYSAbT line 1:�------> [32mmy @a = 1,2,3; my @b := @a; say $[33m�[31m@a === $@b[0m��Parse failed��»
05:14 TimToady huh, I guess I haven't put that into STD yet...
05:20 Timbus std: (1,2,3) ==> [+] ==> say
05:20 p6eval std 47c76b3: OUTPUT«[31m===[0mSORRY![31m===[0m�Preceding context expects a term, but found infix ==> instead at /tmp/WiFzoJeRcJ line 1:�------> [32m(1,2,3) ==> [+] [33m�[31m==> say[0m�Parse failed�FAILED 00:01 110m�»
05:20 Timbus bah
05:22 Timbus rakudo: (1,2,3) ==> reduce(*+*) ==> say
05:22 p6eval rakudo 0bcf48: OUTPUT«6␤»
05:22 Timbus i guess thats fine
05:23 TimToady [+] oughta work
05:24 Timbus yes
05:27 dalek std: e8e82b9 | larry++ | STD.pm6:
05:27 dalek std: allow other sigils for hard ref than $
05:27 dalek std: review: https://github.com/perl6/std/commit/e8e82b98af
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
05:27 Timbus code aesthetics
05:29 timotimo i'm wondering about the ff operator
05:30 timotimo 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:34 TimToady ff is supposed to implement state with a 'state' var, but rakudo cheats
05:35 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?
05:35 TimToady you'd have to clone some code into the object to get that to clone the ff state
05:35 TimToady shouldn't be global
05:35 sorear timotimo: that's exactly what niecza does
05:35 TimToady or cloning is unlikely to work right
05:35 timotimo hm, but if it's global and anonymous, how could i overshadow it lexically for just the instance?
05:35 sorear I think Rakudo might be using a hash keyed on CALLER::<$?FILE> and CALLER::<$?LINE> or something like that
05:35 TimToady the state of ff should be in a state variable
05:35 timotimo i suppose at that point it's unlikely i'll get much benefit from using ff
05:36 timotimo 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
05:36 TimToady well, it's been discussed as state semantics for years now...
05:37 sorear timotimo: I distinctly remember thinking "wait, this won't work if there is more than one ff operator on a line"
05:37 sorear but don't listen to me, my knowledge is probably out of date
05:38 timotimo haha, great :D
05:38 TimToady it might be based on position now rather than line, but it's still wrong
05:54 dalek specs: 6967af1 | larry++ | S (5 files):
05:54 dalek specs: bloodbath to remove bogus 'our' declarations
05:54 dalek specs: review: https://github.com/perl6/specs/commit/6967af185e
05:55 hitekrednek joined #perl6
05:55 dalek std: 48335fc | larry++ | STD.pm6:
05:55 dalek std: allow ==> [+] ==> to work
05:55 dalek std: review: https://github.com/perl6/std/commit/48335fc2f3
05:57 abercrombie joined #perl6
05:58 sorear TimToady: if .lol is basically just .tree(*.item), then what is the LoL type?
05:59 TimToady there may not be a LoL type really
06:02 sorear have you decided yet what to do about the prefix:<||> operator and its distinction from prefix:<|> ?
06:04 TimToady well, something like it is needed to override ; lists
06:24 kmwallio joined #perl6
06:49 rsimoes1 joined #perl6
07:02 * sorear makes faint ffffy noises
07:03 sorear seems niecza can no longer build STD.dll in a 250MB ulimit
07:03 sorear whatever I do, it keeps wanting more and more memory/time
07:26 rsimoes1 joined #perl6
07:26 dalek niecza: a325d40 | sorear++ | / (5 files):
07:26 dalek niecza: Rebootstrap; redo categoricals for new role setup
07:26 dalek niecza: review: https://github.com/sorear/niecza/commit/a325d40d57
07:29 sorear **phew**
07:30 Trashlord joined #perl6
08:12 tokuhirom joined #perl6
09:06 fasad joined #perl6
09:07 fasad hi
09:07 sorear hello fasad
09:07 sorear welcome to #perl6
09:09 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:19 kaare_ joined #perl6
09:21 dalek specs: fe690ba | moritz++ | S32-setting-library/Numeric.pod:
09:21 dalek specs: [S32] remove accidental remove word duplication :-), fasad++
09:21 dalek specs: review: https://github.com/perl6/specs/commit/fe690ba87a
09:24 fasad moritz: :)
09:24 fasad moritz++
09:29 kaare_ joined #perl6
09:40 masak lol morning!
09:41 masak fasad: hi, how's the Perl 6 coming along?
09:43 mj41 joined #perl6
09:43 fasad masak: nice. gotta admit, it's a great language. It's hard to go back to Perl 5 now :-0
09:45 masak well, yes and no.
09:45 fasad ?
09:45 masak I still quite like Perl 5. it has obvious deficiencies, but it's mature and stable.
09:46 masak and the implementation is bloody fast. there's just no way around that.
09:46 fasad masak: Agreed.
09:47 masak that said, I enjoy coding in Perl 6 more.
09:47 masak so I know what you mean :)
09:48 fasad one more thing, i found out yesterday that rakudo doesn't support LABELs while niecza does, shouldn't this be reflected on http://perl6.org/compilers/features ?
09:48 moritz wouldn't hurt
09:48 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
09:48 phenny 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
09:48 phenny moritz: 27 Jan 22:47Z <jnthn> tell moritz That said, my release plan is tomorrow afternoon so if you have it fixed by then...
09:49 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.
09:51 dalek star: 31324a0 | moritz++ | skel/docs/UsingPerl6-draft.pdf:
09:51 dalek star: update "Using Perl 6" to latest build from git
09:51 dalek star: review: https://github.com/rakudo/star/commit/31324a08a0
09:51 moritz afk
09:51 masak fasad: do you have write access to add it?
09:52 masak the file is here: https://github.com/perl6/featu​res/blob/master/features.json
09:55 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:56 masak heh.
09:57 fasad masak: ?
09:58 masak fasad: ¿
10:01 masak during the Pugs heyday, signup was almost automatic. it used to be "Privmsg me your email address" <a few seconds' delay> "Welcome aboard!"
10:06 masak sorear: niecza seems to handle '-I lib' well, but not '-I=lib'. intentional?
10:11 xinming joined #perl6
10:17 GlitchMr joined #perl6
10:18 birdwindupbird joined #perl6
10:18 masak hm.
10:19 masak TimToady added .conj to Numeric, but there's already a .conjugate in there.
10:19 masak I can see arguments for having either, but not both.
10:19 masak arguments for .conj: we already call other methods .re and .im, and that's cute and will probably stay.
10:20 masak arguments for .conjugate: it says what it does, there's prior art in .ceiling
10:26 masak I meant to blog about the macros today, but seems there isn't a time slot for it. :/
10:26 masak will attempt it tomorrow instead.
10:34 masak another difference is that TimToady's .conj works on Complex, whereas the pre-existing .conjugate works on Numeric.
10:34 masak discuss. :)
10:34 masak &
10:37 sorear masak: yes, the -I=foo thing is intentional
10:37 * sorear -> seleep
10:37 bacek joined #perl6
10:57 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
11:04 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:05 jnthn OMG
11:05 jnthn 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.
11:05 phenny jnthn: I'll pass that on when moritz is around.
11:05 jnthn coffee...where is my coffee...
11:09 dbr joined #perl6
11:17 xinming joined #perl6
11:24 xinming joined #perl6
11:24 whiteknight joined #perl6
11:27 am0c joined #perl6
11:58 MayDaniel joined #perl6
12:07 * 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.
12:09 jnthn :P
12:12 Moukeddar joined #perl6
12:12 legoo joined #perl6
12:14 legoo say3
12:19 dalek roast: 177ae7d | moritz++ | S05-grammar/namespace.t:
12:19 dalek roast: correct a test
12:19 dalek roast: review: https://github.com/perl6/roast/commit/177ae7dd07
12:20 dalek rakudo/nom: 443d24d | moritz++ | / (6 files):
12:20 dalek rakudo/nom: Merge branch 'nom' of git://github.com/rakudo/rakudo into nom
12:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/443d24d6c4
12:20 dalek rakudo/nom: 8659ed8 | moritz++ | t/spectest.data:
12:20 dalek rakudo/nom: run S05-grammar/namespace.t
12:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8659ed8bc4
12:25 jnthn moritz: Good news. masak++ just helped me put topo sort into the module installer so we pre-compile stuff in order.
12:25 jnthn moritz: And SVG::Plot now works
12:25 jnthn Sorry for le false alarm
12:25 moritz jnthn: no problem
12:26 masak once again, topo sort saves the day.
12:26 moritz do we have a topo sort module?
12:26 masak no.
12:26 moritz we really should have
12:26 jnthn Also this is written in Perl 5.
12:26 masak ufo kinda needed to be no-deps.
12:26 jnthn We really should eat our own dogfood at some point for this script.
12:26 masak aye.
12:27 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
12:27 moritz (especially when I include cycle detection)
12:27 jnthn masak: go for it :)
12:27 moritz masak: please do
12:27 jnthn Oh
12:27 jnthn We have built-in topological sorting with cycle detection in Perl 6.
12:27 masak moritz: it's easy once you know it's just DFS. no cycle detection needed.
12:27 jnthn You just need to translate your things into multi candidates. :)
12:27 moritz jnthn: :-)
12:27 jnthn Then get the candidate list. :)
12:28 masak jnthn: you are so evil.
12:28 masak like, irrevocably evil. :)
12:28 masak now I feel like doing that :P
12:28 moritz shouldn't be too hard, constructing anonymous types at runtime....
12:28 arnsholt I think you should do it. And then call it Sort::Topologically >:D
12:29 moritz Acme::Sort::Topologically :-)
12:29 masak moritz: I was thinking anonymous types too. but you can't refer to those twice...
12:29 moritz masak: of course you can
12:29 masak show me.
12:29 moritz masak: you can store them in your data structure of choice
12:29 dalek star: b6ec842 | jnthn++ | skel/tools/build/module-install.pl:
12:29 dalek star: Get module-install.pl to actually install modules in order, using a masak++-assisted translation of masak++'s ufo technology.
12:29 dalek star: review: https://github.com/rakudo/star/commit/b6ec842eba
12:29 masak moritz: yeahbut
12:29 moritz nom: my $x = anon class { }; say $x.new; say $x.new;
12:30 p6eval nom 0bcf48: OUTPUT«<anon>.new()␤<anon>.new()␤»
12:30 masak moritz: signatures need to be static.
12:30 masak moritz: using where clauses doesn't cut it.
12:30 moritz masak: hm, right
12:30 masak moritz: because they all end up on the same level.
12:30 jnthn masak: eval :P
12:30 masak jnthn: of course!
12:30 moritz jnthn: but even then they can't be anonymous
12:30 masak I just build all the data as one big program string!
12:30 masak what could possibly go wrong :>
12:31 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
12:34 masak o.O
12:34 masak I'm surrounded by evil people
12:34 moritz just because I have an evil grin doesn't mean I'm evil!
12:34 masak no, but the prior just went up! :P
12:34 moritz I'm just... creative!
12:35 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 :-)
12:40 masak OMG jnthn output the solution in the error message! o.O
12:41 huf iiuc, this is right up there with calculating pi in c++ templates... :D
12:46 colomon Burns Supper!
12:47 * moritz even wore a kilt
12:49 colomon was there the great chieftain o' the puddin-race?
12:50 jnthn http://jnthn.net/rakudo-star-2012.01.tar.gz
12:50 jnthn Anyone want to try building that?
12:51 jnthn I've tried it on Windows and Linux.
12:51 colomon downloading
12:51 jnthn Just perl Configure.pl --gen-parrot, then make install
12:52 az5112 joined #perl6
12:53 az5112 I think the following demonstrates a bug in rakudo: http://pastebin.com/KYXKBceh
12:53 az5112 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???
12:54 az5112 Passing a hard-coded number inside MAIN (instead of $n) fixes the problem.
12:55 jnthn az5112: What Rakudo are you runnin?
12:55 jnthn az5112: I think you've hit a bug moritz++ fixed a week or two back.
12:56 jnthn az5112: Yeah, on latest it gives 4 and 3
12:57 jnthn 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.
13:01 moritz colomon: of course
13:02 moritz jnthn: tar warns that most time stsamps are about 1k seconds in the future :-)
13:03 jnthn moritz: Of course, it's not released yet :)
13:03 moritz jnthn: :-)
13:03 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...
13:03 colomon jnthn: okay, it's built.  tests you'd like me to run on it?
13:04 jnthn colomon: Does it make install?
13:04 colomon yes
13:04 jnthn colomon: Just try running it and seeing if it actually, like, works :)
13:04 cognominal_ joined #perl6
13:05 colomon Wynne:rakudo-star-2012.01 colomon$ ./perl6 --version
13:05 colomon This is perl6 version 2012.01 built on parrot 3.11.0 revision 0
13:05 jnthn colomon: Try maybe
13:05 jnthn use JSON::Tiny; say from-json('[1,2,3]').perl
13:05 jnthn Just to check module works
13:05 colomon > use JSON::Tiny; say from-json('[1,2,3]').perl
13:05 colomon [1, 2, 3]
13:05 moritz colomon: well, we've been doing our own ever since I and some friends returned from a year of studying in Scotland
13:05 jnthn colomon: yay
13:06 jnthn OK, so we'll have a Star release this afty, it seems :)
13:06 jnthn but first...la lunch
13:06 tadzik \o/
13:06 * moritz builds the star
13:07 colomon moritz: awesome!  closest I came this year was listening to some of Jim Malcolm's Robert Burns album this week.
13:08 * colomon has the 12-CD complete works of Robert Burns, but hasn't listened to it recently.
13:09 colomon 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
13:11 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:12 moritz it's a bit like CPAN; if you're very productive, not everything is worth consuming :-)
13:12 colomon :)
13:13 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
13:14 colomon tadzik: http://www.robertburns.org/works/308.shtml  -- but the Scots dialect is pretty thick
13:16 tadzik being familiar with Polish-English, this is pretty a'right ;)
13:16 colomon :)
13:23 masak less than 24 hours till p6cc deadline!
13:24 jnthn colomon: Great!
13:24 tadzik okay, that _is_ pretty thick :)
13:24 moritz erm
13:24 moritz once I install star, what do I need to set besides PATH?
13:25 tadzik PERL6LIB maybe
13:25 moritz I've put $star/install/bin first in PATH, and then I get
13:25 tadzik (wild guess)
13:25 moritz $ perl6 -e 'use JSON::Tiny; say from-json("[0, undef]").perl'
13:25 moritz ===SORRY!===
13:25 moritz Incorrect pre-compiled version of src/gen/Metamodel.pm loaded
13:26 moritz hm
13:26 moritz there's an install/lib/parrot/3.11.0/lang​uages/perl6/lib/JSON/Tiny.pm, so I'd kinda expect rakudo to find it
13:27 moritz ah, I had some precompiled modules in ~/.perl6/lib
13:27 moritz which seem to have taken precedence
13:28 moritz though I wonder why it complained about Metamodel.pm, when I really tried to load JSON/Tiny.pm
13:30 tadzik precompiled modules are more harm than good, I'm afraid :/
13:32 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:33 dalek specs: 1b66aa1 | moritz++ | S29-functions.pod:
13:33 dalek specs: fix signature of bless
13:33 dalek specs:
13:33 dalek specs: Object is gone, and since * is allowed as candidate, the previous type constraint there was wrong too
13:33 dalek specs: review: https://github.com/perl6/specs/commit/1b66aa12b3
13:33 cognominal joined #perl6
13:39 dalek roast: 8992cb9 | moritz++ | S32-num/co (2 files):
13:39 dalek roast: .conjugate is spelled .conj
13:39 dalek roast:
13:39 dalek roast: according to specs commit 0de30c
13:39 dalek roast: review: https://github.com/perl6/roast/commit/8992cb914a
13:42 dalek rakudo/nom: 396f827 | moritz++ | src/core/ (3 files):
13:42 dalek rakudo/nom: conjugate -> conj
13:42 dalek rakudo/nom:
13:42 dalek rakudo/nom: according to specs commit 0de30ce, which introduced .conj.
13:42 dalek rakudo/nom: We had it before, but with a different name
13:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/396f827f72
13:48 dalek niecza: 4abaa66 | moritz++ | lib/CORE.setting:
13:48 dalek niecza: s:g/conjugate/conj/, as per specs commit 0de30c
13:48 dalek niecza: review: https://github.com/sorear/niecza/commit/4abaa662a2
13:54 colomon moritz++ # I'd meant to get around to that when I had some spare time
13:55 robin joined #perl6
14:08 jnthn moritz: We could twiddle module search order, but that'll be a Rakudo change...
14:08 jnthn moritz: If it works without any old pre-compiled modules in the way, that's fine for me
14:08 jnthn I want Rakudo to manage the pre-compilation stuff really
14:16 * moritz too
14:16 * moritz remembers discussing that in March (?) 2010 in Copenhagen
14:18 PacoAir joined #perl6
14:19 jnthn Maybe while I'm doing the serialization stuff will be the natural time.
14:20 jnthn OK, so seems that tarball I uploaded can be the release.
14:21 jnthn Hm. Do we not have a Star relesae guide? :)
14:24 moritz don't think so
14:25 moritz pmichaud++ has done all the previous star releases
14:25 moritz iirc he meant to compile a guide at some point
14:26 jnthn moritz: OK. Well, I can guess some of the tasks.
14:27 jnthn Upload tarball. Post release announcement on rakudo.org.
14:27 jnthn https://github.com/rakudo/star/downloads has it :)
14:28 moritz now announce it everywhere :-)
14:33 * [Coke] gives up on p6cc as the script he wrote fails to pass t1-base-test.
14:34 * [Coke] lies and tries one more time...
14:34 xinming joined #perl6
14:34 jnthn moritz: Now announced on http://rakudo.org/
14:35 moritz jnthn++
14:35 jnthn And I believe that's aggregated by Planet Perl 6.
14:35 masak whaddabout p6c?
14:35 sjn nice!
14:35 jnthn masak: yeha, that's next
14:36 masak \o/
14:36 sjn good to see a nom release :D
14:36 moritz jnthn: and CC' p6u
14:36 masak sjn: yeah, finally!
14:36 moritz can we now get rid of the 'rakudo 2011.07' column on the features matrix?
14:37 masak [Coke]: oh, so solutions are coming? waiting in rapt anticipation, then.
14:39 jnthn moritz: Done.
14:39 jnthn moritz: (the mails)
14:39 * moritz removes b from the feature matrix
14:40 masak moritz++
14:40 masak jnthn++
14:41 Chillance joined #perl6
14:41 jnthn Pm'd Pm to let him know what I've done, and ask if I missed anything :)
14:43 masak yay, nom is now out there!
14:43 [Coke] masak: one or more solutions sent.
14:43 [Coke] \o/ . o O (nom)
14:44 masak [Coke]: \o/
14:44 masak people, do like [Coke]: send in solutions, before it's too late!
14:45 [Coke] masak: no, they're fine. ;)
14:46 not_gerd joined #perl6
14:46 masak *lol*
14:46 not_gerd congrats for the * release
14:47 dalek features: 8eaf43f | moritz++ | features.json:
14:47 dalek features: remove rakudo 2011.07 column
14:47 dalek features:
14:47 dalek features: ... now that we have a nom-based star release
14:47 dalek features: review: https://github.com/perl6/f​eatures/commit/8eaf43f067
14:47 not_gerd minor nitpick: could someone fix the links in the rakudo.org announcement?
14:47 jnthn not_gerd: er, they're broken?
14:47 not_gerd they're not hyperlinked
14:47 jnthn oh, the ones at the bottom
14:48 jnthn yeha, they're linked earlier up
14:48 jnthn will fix
14:48 jnthn not_gerd: done, thanks
14:48 not_gerd np
15:02 icwiener joined #perl6
15:18 [Coke] jnthn:++ *
15:23 fsergot Does anyone know golang?
15:24 masak fsvo "know"
15:26 kaare_ joined #perl6
15:28 chemouna joined #perl6
15:42 moritz heard of it, not used it yet
15:44 dalek evalbot: 975c5eb | moritz++ | evalbot.pl:
15:44 dalek evalbot: update star to 2012.01
15:44 dalek evalbot: review: https://github.com/perl6/evalbot/commit/975c5eb48b
15:45 p6eval joined #perl6
15:45 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
15:48 TimToady in the dogfood department, note http://rosettacode.org/wik​i/Topological_sort#Perl_6
15:50 jnthn moritz: Should be less after the serialization work.
15:50 masak TimToady: neither seems to be DFS-based at first glance.
15:51 jnthn Works more like the one I have in multidispatch.c
15:51 TimToady that why I only said "note"  :)
15:51 masak I'm not saying DFS-based is necessarily better, mind :)
15:51 masak just that I like that solution :)
16:04 TimToady congrats on the nominally new *
16:06 TimToady star: say 'hi'
16:06 p6eval star 2012.01: OUTPUT«hi␤»
16:06 masak \o/
16:06 TimToady I was just guessing :)
16:07 TimToady I guess it's newbie friendly...
16:07 jnthn :)
16:07 TimToady oh, duh, dalek just said that
16:07 TimToady my irssi client lowlights all dalek messages in blue, and my brane glazes over
16:07 jnthn Should be back to more regular star releases now :)
16:08 not_gerd left #perl6
16:08 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:09 moritz TimToady: fglock pondered adding perlito
16:10 TimToady maybe an alternate page with all known implementations :)
16:10 moritz if you find somebody willing to maintain it...
16:11 TimToady there is that...
16:11 TimToady we'll probably get more columns when we start adding other backends
16:12 jnthn yes
16:12 shinobicl___ joined #perl6
16:19 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␤»
16:19 fsergot Can I specify that only arrays with Int numbers can fit subroutines?
16:19 masak why u no put whitespace between signature and function body :(
16:20 masak 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 = ..
16:20 jnthn fsergot: Or you can do what masak said if you want it to be on the values rther than actually being a type check.
16:20 masak or use a subtype.
16:20 masak which is just a portable where clause :)
16:20 fsergot masak: Should I put whitespace there? :)
16:21 masak yes, between ')' and '{'.
16:21 masak it's not required, but it looks really odd without it.
16:22 masak and you'll get in trouble in other similar places for not using whitespace.
16:22 fsergot Ok. :)
16:22 fsergot Thanks jnthn++ and masak++ :)
16:22 sjn on a completely unrelated tangent: http://www.sluggy.com/ has a storyline about NOM these days. :)
16:23 TimToady masak: maybe we should add a column for yapsi :)
16:24 masak er.
16:24 masak would rather see a column for Pugs...
16:30 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
16:31 abercrombie Hi, what's the difference between 2012.01 and 2012.01 star?
16:31 masak compiler vs distribution
16:31 abercrombie Is there any feature difference?
16:31 masak like Linux kernel vs Linux distribution.
16:31 masak no feature differences in the compiler itself.
16:32 abercrombie ok, thanks
16:32 masak the distribution release is based on the compiler release.
16:32 jnthn abercrombie: The compiler release is JUST the compiler. No modules, no docs, no runtime.
16:32 jnthn The distribution release has all of those things. It includes the 2012.01 compiler.
16:32 abercrombie I got it. I see .star is larger than the normal .01
16:34 PerlJam jnthn: the README still says "This is the 2011.07 release of Rakudo Star."  :)
16:35 abercrombie Yes, I also saw that
16:37 [Coke] PerlJam: oops.
16:37 [Coke] [6~
16:38 masak should totally have a Rakudo Star release guide... :)
16:43 donri joined #perl6
16:43 donri ~/Perl/rakudo-star-2012.01$ make blizkost-install
16:43 donri make: *** No rule to make target `blizkost-install'.  Stop.
16:44 jnthn PerlJam: arrgh, why...
16:44 jnthn README should not have version numbers in :/
16:46 buubot_backup joined #perl6
16:48 donri ^ readme claims that should work
16:50 jnthn It won't.
16:50 jnthn Note to self: fix the README for the next relesae :;/
16:50 donri :)
16:51 Juerd mv README FIXME
16:54 mdxi joined #perl6
16:56 moritz jnthn: don't worry, nobody actually reads REDMEs :-)
16:59 tokuhirom joined #perl6
17:09 dalek star: 4ef2ccc | moritz++ | skel/README:
17:09 dalek star: make skel/README less outdated
17:09 dalek star: review: https://github.com/rakudo/star/commit/4ef2ccc0ac
17:15 jnthn moritz: I'm just glad we didn't call it IGNOREME :)
17:19 masak nom &
17:20 jnthn nom &
17:26 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:27 flussence CPAN6? You mean modules.perl6.org?
17:27 skids no I mean the thing perl.org is calling CPAN6
17:28 skids I mean, sorry, perlfoundation.org
17:29 skids That has registered cpan6.org, also.
17:29 benabik joined #perl6
17:32 flussence cpan6.org has no connection to anyone involved in Perl 6, afaik. I'd just ignore it.
17:32 skids That I gathered.
17:33 benabik I'd ignore it because it says the first release will be April 2010.
17:34 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:35 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 :-)
17:37 PerlJam skids: so ... you have some ideas you'd like to share?  :)
17:38 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 http://www.perlfoundation.​org/perl6/index.cgi?witch but nobody wanted to use SocialText so it fizzled.)
17:38 skids I'm developing ideas.  They are still just cookie dough, though, not even half baked.
17:40 PerlJam maybe setting up a wiki to live at wiki.perl6.org would be a good first step.  :)
17:41 zby_home_ joined #perl6
17:42 skids Cool, when I get to half-baked on it I'll look to plop it there.  Thanks, PerlJam++
17:43 icwiener joined #perl6
17:47 zby_home_ joined #perl6
17:47 zby_home_ joined #perl6
17:51 birdwindupbird joined #perl6
18:11 aindilis joined #perl6
18:14 Transformer joined #perl6
18:17 Transformer left #perl6
18:34 fsergot joined #perl6
18:35 birdwindupbird joined #perl6
18:36 supernovus joined #perl6
18:38 dalek rakudo/nom: 783f523 | moritz++ | src/ (2 files):
18:38 dalek rakudo/nom: more typed parse error messages
18:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/783f523537
18:41 supernovus Congrats on the newest Star release! I guess I should try to get Exemel working on Rakudo again.
18:43 chemouna joined #perl6
18:44 supernovus Let's see if I can crash my computer... compiling Rakudo and Niecza at the same time.
18:50 Trashlord joined #perl6
18:50 Shozan joined #perl6
18:50 flussence that's how I *normally* do it :)
18:51 dalek roast: d1f0fd8 | moritz++ | S32-exceptions/misc.t:
18:51 dalek roast: tests for typed syntax errors
18:51 dalek roast: review: https://github.com/perl6/roast/commit/d1f0fd854f
18:54 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:56 moritz which means that you have at least 2G memory in that box :-)
18:57 moritz (or it's 32 bit, then less may do)
18:58 moritz std: my $::('foo')
18:58 p6eval std 48335fc: OUTPUT«ok 00:01 109m␤»
18:58 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.
18:59 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/…
19:00 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:04 supernovus 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
19:05 moritz I should install some development tools on there, and do some rakudo smoking :-)
19:05 supernovus 92 GB of RAM? Holy crap!
19:07 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:09 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:12 supernovus 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 :(
19:13 moritz supernovus: guten appetit :-)
19:13 supernovus moritz: danke!
19:14 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:23 sorear good * #perl6
19:24 colomon \o
19:25 moritz o/
19:25 _dbr joined #perl6
19:26 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 colomon right now spectest is failing on S02-magicals/env.t (one test fails) and S05-capture/caps.t (dies halfway through)
19:34 dalek niecza: 1b41aa7 | sorear++ | lib/CORE.setting:
19:34 dalek niecza: Fix .chunks for .synthetic change, colomon++
19:34 dalek niecza: review: https://github.com/sorear/niecza/commit/1b41aa7fbc
19:38 fsergot joined #perl6
19:44 colomon sorear++
20:04 cognominal joined #perl6
20:09 colomon sorear: no new failures after that commit.  :)
20:26 pmurias joined #perl6
20:27 cooper joined #perl6
20:38 dalek rakudo/nom: 9719f7d | moritz++ | src/ (3 files):
20:38 dalek rakudo/nom: more typed syntax errors
20:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9719f7d996
20:39 dalek roast: 277e13d | moritz++ | S32-exceptions/misc.t:
20:39 dalek roast: more tests for typed syntax errors
20:39 dalek roast: review: https://github.com/perl6/roast/commit/277e13dd30
20:40 donri joined #perl6
20:41 moritz wow, Perl 6 has *lots* of different syntax errors
20:52 eviltwin_b it'd probably be easier if it weren't trying to catch and correct perl 5 :)
20:55 moritz well, most of those are easily categorized into a common exception class
20:55 moritz nom: try eval 'undef $/'; say $!.perl
20:55 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 …
20:55 tadzik niice!
20:56 moritz one thing I really want to do is get rid of X::Base
20:57 moritz all exceptions that aren't explicitly typed should be folded into X::AdHoc or so
20:57 moritz and then I can mold together X::Base and Exception
21:03 sorear moritz++
21:06 moritz ok, one thing I'd like to discuss
21:06 moritz currently I classify some exceptions as compile time (  ~~ X::Comp ), and some as syntax ( ~~ X::Syntax, which does X::Comp )
21:06 moritz does that make sense?
21:07 moritz the distinction seems rather blurry
21:07 moritz are redeclaration errors syntax errors? what about method redeclarations?
21:08 sorear it's a little blurry because Perl 6 doesn't have a formal grammar
21:08 sorear but I would call both of those non-syntax compile errors
21:09 moritz what about required-after-optional parameters?
21:10 moritz (there are lots of parameter/signature related errors)
21:13 moritz 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:17 * moritz slowly drifts off to sleep, and will backlog in case anybody has any insight or interesting opinion
21:19 samlh joined #perl6
21:21 raiph joined #perl6
21:23 samlh joined #perl6
21:25 sorear o/ raiph
21:34 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…
21:37 colomon love that error message.  ;)
21:48 samlh joined #perl6
21:49 dalek niecza: 881f22b | sorear++ | src/NieczaActions.pm6:
21:49 dalek niecza: Fix crazy unspace method call bug
21:49 dalek niecza: review: https://github.com/sorear/niecza/commit/881f22b527
22:03 dalek roast: 331dde9 | sorear++ | S02-lexical-conventions/unspace.t:
22:03 dalek roast: [S02] Regression test for sorear/niecza@881f22b
22:03 dalek roast: review: https://github.com/perl6/roast/commit/331dde9a40
22:16 mj41 joined #perl6
22:20 sorear colomon: what do you think should be written about spectests for announce.v14?
22:46 cognominal_ joined #perl6
22:50 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:58 colomon hmm... I guess it would be nice if I had panda-niecza working for the release, too.  :)
23:06 dorlamm joined #perl6
23:18 ksi joined #perl6
23:34 s1n joined #perl6
23:34 * jnthn back
23:55 sorear o/ jnthn
23:55 colomon \o
23:55 jnthn o/
23:57 donri left #perl6

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

Perl 6 | Reference Documentation | Rakudo