»ö« 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.
sorear japhb: ping. What do I need to be aware of for stealing Rakudo's MAIN_HELPER? 00:08
colomon sorear++ 00:10
;)
sorear colomon: don't hold your breath, it seems to depend on roles
colomon ...which you're also going to do this month, right? ;) ...
sorear++
Util Problem with Niecza; 00:18
perl6: my @a = 12, 13, 14, 15; for @a[^4].pairs -> $p { say $p.perl }; say "---"; for @a[^4].kv -> $k, $v { say $k.perl; say $v.perl; }
p6eval rakudo a9bead: OUTPUT«0 => 12␤1 => 13␤2 => 14␤3 => 15␤---␤0␤12␤1␤13␤2␤14␤3␤15␤» 00:19
..niecza v13-5-g52411f8: OUTPUT«0 => 12␤1 => 13␤2 => 14␤3 => 15␤---␤0␤GatherIterator.new(...)␤»
..pugs b927740: OUTPUT«(0 => 12)␤(1 => 13)␤(2 => 14)␤(3 => 15)␤---␤\0␤\12␤\1␤\13␤\2␤\14␤\3␤\15␤»
sorear wow, impressive! 00:32
Timbus padre would be excellent if copy and paste worked properly :[ 01:23
F_n am i reading p3 for p6cc2001 right? test is looking for commandline args, but description says to accept multiple lines from stdin 01:55
shinobicl_ hi! 02:13
rakudo: for ( {1}, {2} ) -> $func { say $func.WHAT() }
p6eval rakudo a9bead: OUTPUT«Block()␤Block()␤»
shinobicl_ rakudo: for ( {1}, {2} ) -> $func { say $func }
p6eval rakudo a9bead: OUTPUT«Block.new()␤Block.new()␤»
shinobicl_ how can i do it so this prints "1" and "2" ? 02:14
sorear say $func() 02:17
shinobicl_ rakudo: for ( {1}, {2} ) -> $func { say $func() } 02:18
p6eval rakudo a9bead: OUTPUT«1␤2␤»
shinobicl_ :D
[Coke] rakudo MAIN bug: "sub MAIN($a, :$b=4) { say "$a, $b" } - generates 2 warnings. 03:05
sorear seen diakopter 03:15
aloha diakopter was last seen in #perl6 9 days 1 hours ago saying "oh, you typoed x for c then :P".
sorear wonders why git log FILENAME -p is rejected. GNU feature hatred? 03:19
F_n: masak will be getting in in a couple more hours... I can't speak to the intentions of the tests 03:20
sorear aha 03:33
japhb sorear: pong -- I have not backlogged for a couple days, but I noticed the highlight. What's up? 03:34
Hmmm, guess I just missed him 03:37
sorear who? 03:38
japhb you
sorear japhb: I want to learn about MAIN 03:39
japhb Ah, sure. What did you want to know?
sorear anything that might be a problem when I steal Rakudo's implementation 03:40
sorear anything that's tied to Rakudo that I should change 03:40
japhb sorear, OK. Well, here are a few notes:
japhb 1. The version that's in Rakudo is not finished by any stretch of the imagination. In fact, I had the extended yak shaving path MAIN -> val() -> Str.Numeric() -> Failure -> sigh, ran into holiday family visit lack of tuits. 03:42
2. Thus, hack-val(), which is one *tiny* piece of what val() should be.
japhb 3. TimToady is (was?) of the opinion that val() should not only be able to handle base types, but also Enums and constants. I'm not sure that we actually want to go there, for reasons of information leakage. 03:43
4. $*USAGE should be calculated per COMP_UNIT that has a MAIN(), before mainline runtime. This is not the case yet in Rakudo; there's nothing to stop it, but it is just not done yet. 03:44
japhb 5. My plan was to drop much of hack-val() in favor of trying conversions to various types in some fixed order, trapping Failure, returning successful conversions, and going on to the next attempted conversion on Failure trap. 03:46
6. There is still a pending question about how these implicitly val()-converted things should dispatch, since they need to act as *both* Str *and* the converted type if any. 03:47
(TimToady wanted the Str-ness to be "slightly looser" than the (converted type)-ness, but had not decided how to do that in a general way.) 03:48
7. I think there were a couple cases in gen-usage() that I wanted to make a little more dwimmish, but I don't remember what they were off the top of my head.
Um ... I think that's most of what I had in mind (except for of course any TODO notes you see), but I'm not looking at the code at the moment. 03:49
(Actually, I'm supposed to be socializing, but dangit, the pull of the IRC highlight is JUST TOO STRONG. ;-) )
over
Oh, one more thing: 03:50
8. jnthn had the idea of adding a Routine.usage() method that does the gen-usage() calculation on an arbitrary routine, and calling that on &MAIN just before runtime, instead of some additional specially named setting magic function (e.g. USAGE_HELPER() ). 03:52
ok, now "over". :-) 03:53
sorear 1. until someone figures out the details of Failure, I will short-circuit this yak by die()ing in Str.Numeric
have you seen this?
nom: say +"abc"
p6eval nom a9bead: OUTPUT«0␤»
sorear nom: say +"123abc"
p6eval nom a9bead: OUTPUT«Failure.new(exception => Exception.new())␤»
japhb Yeah, that's because my str-numeric branch has not been merged, because of the aforementioned Failure() issues. 03:54
The strictness that str-numeric() adds causes a number of roast failures.
sorear 3. that leads to the question of which lexical scope. CORE::? I can't imagine my-app --number=pi will be that useful.
japhb (And some strangeness in other parts of the Setting that don't expect that strictness.)
sorear 4. Not $?USAGE? Also, I thought only the main compilation unit could have a MAIN. 03:55
5. that was my idea too.
6. sounds like MI to me.
japhb 4. $?USAGE might be correct. I'm not looking at the spec. :-)
sorear 8. that actually sounds vaguely *more* ick to me. :/ 03:56
japhb 4a. Any comp unit can have a MAIN (for reasons of self-testing modules, for instance, Python-style), but only the "mainline" MAIN will actually get dispatched to.
6. I watched an exchange between jnthn and TimToady in which they went off on this one for a while, so I assume they had some deep understanding that I as yet lack on this. 03:57
japhb 8. I have warring feelings. Slightly stronger for me is that it doesn't feel right for all Routines to have a special method that only lets them describe themselves as MAIN would, but perhaps there is a missing unification here. 03:58
benabik .
sorear
benabik u.u 03:59
japhb sorear, OK, I have to run to an appointment, but I will try to backlog later if you have more questions or thoughts on this.
Sorry I can't be of more help right now!
sorear thanks. bye. 04:00
japhb np
afk &
dalek ecza: fd3c735 | sorear++ | src/niecza:
Fix multifor/lazy list failure (Util++)
05:20
ast: 18f9e04 | sorear++ | S04-statements/for.t:
Test for sorear/niecza@fd3c735
05:22
japhb sorear, I'm bak if you have any remaining things to talk about 05:23
sorear sort of wonders about the mechanics of "I'm supposed to be socializing but the pull of the highlight" 05:24
karma (Util
aloha (Util has karma of 0.
sorear karma Util
aloha Util has karma of 119.
sorear I wonder if this actually works (Util++) 05:25
karma Util
aloha Util has karma of 119.
sorear aw
japhb, ACTION was at you
japhb (re: socializing v. highlight) "Oh, I'll just go and check to see if anything critical happened. You know, at work, or something .... Oooh, I've been highlighted! Uh, I'll just be a minute here ... or three ... or fifteen ...." :-) 05:26
sorear haha. 05:27
japhb sorear, ACTION?
sorear That. 05:28
no good names for 'em 05:29
japhb "emotes"?
sorear that works too
japhb (Util)++
karma Util 05:30
aloha Util has karma of 120.
sorear karma (Util)
aloha (Util) has karma of 0.
sorear huh!
thanks!
japhb np
:-)
sorear hasn't had many chances to socialize lately :|
sorear as I mentioned to colomon earlier, don't hold your breath for MAIN in niecza; it depends on slightly improved roles and lots of reflecttion additions 05:32
japhb Well, then maybe by the time you get on that, I'll have tuits to throw at Rakudo's implementation .... 05:33
rsimoes1 where I can read about this behavior? 05:37
perl6: my $scalar = ("a", "b", "c"); say $scalar;
p6eval pugs b927740, rakudo a9bead, niecza v13-5-g52411f8: OUTPUT«a b c␤»
rsimoes1 seems like it did an implicit join?
japhb nom: my $scalar = ("a", "b", "c"); .say for $scalar.WHAT, $scalar.Str, $scalar.gist; 05:40
p6eval nom a9bead: OUTPUT«Parcel()␤a b c␤a b c␤»
japhb rsimoes1: you're looking at the gist-ification of Parcel()
thou niecza: my @a = <one two three>; say ("x two x" ~~ / @a /).perl; 06:27
p6eval niecza v13-6-gfd3c735: OUTPUT«#<match from(2) to(5) text(two) pos([].list) named({}.hash)>␤»
thou nom: my @a = <one two three>; say ("x two x" ~~ / @a /).perl; 06:28
p6eval nom a9bead: OUTPUT«Match.new(orig => "x two x", from => 7, to => -3, ast => Any, list => ().list, hash => EnumMap.new())␤»
thou does anyone know of a workaround for interpolating an array into a regex in nom? instead of hard-coding the list of alternations? 06:29
TimToady nom: my @a = <one two three>; say ("x two x" ~~ / <{ join '|', @a}> /).perl; 06:33
p6eval nom a9bead: OUTPUT«Match.new(orig => "x two x", from => 2, to => 5, ast => Any, list => ().list, hash => EnumMap.new())␤»
thou nice
moritz \o 08:27
Tene o/ 08:30
masak \o 08:48
masak we're up to 20 contestants now. 08:55
masak and rt.perl.org/rt3/Ticket/Display.html?id=107244 looks like a bug report generated by p6cc solution writing ;) 08:55
djanatyn hey, masak. quick question! :D 08:58
i'm trying to write a test for rt.perl.org/rt3/Public/Bug/Display...l?id=74300
djanatyn the problem was that the presence of a new($) multi method breaks attribute intialization. 08:59
djanatyn class A { has $.a; multi method new($) { say "hi"; }}; # so, is the problem that when you create a new instance of this class, $.a is not initialized? 09:00
I guess I'm just having some trouble understanding basic vocabulary.
masak looks at the ticket
F_n: oh wow, that's a bit of a contradiction. :/ I'd say the tests take precedence, but we won't hold it against you if you follow the description there. 09:01
F_n: this probably merits an addition to NOTES, too. will fix.
djanatyn ...sorry, but what is F_n? are you reading from irc logs? 09:02
moritz djanatyn: F_n is a nick name 09:03
djanatyn Ah, okay.
masak djanatyn: yes, I was responding to a question from the logs.
djanatyn Oh. ^_^
Sorry, got confused. 09:04
masak djanatyn: yes, you've correctly identified the problem above.
djanatyn Okay, thanks
masak djanatyn: sorry, sometimes our bug descriptions are a bit terse because we're so familiar with the domain.
:)
djanatyn Nah, it's pretty descriptive. I'm just a bit unfamiliar with the domain :) 09:05
moritz nom: class A { has $.x }; say A.new(x => 10).x 09:06
p6eval nom a9bead: OUTPUT«10␤»
moritz nom: class A { has $.x; multi method new($) { } }; say A.new(x => 10).x 09:06
p6eval nom a9bead: OUTPUT«10␤»
djanatyn ah, cool. thanks! 09:07
moritz the two produce the same output in current rakudo, because the bug has been fixed
djanatyn I was talking to Tene about it earlier, and got a little confused with the code examples that were used in the irclogs.
but, I learned about pairs and things, which was fun.
moritz fun++
djanatyn nom: class A { has $.foo; multi method new($) { } }; say A.new(:foo<10>).foo 09:09
p6eval nom a9bead: OUTPUT«10␤»
djanatyn that's the syntax that they used in the examples that had me confused.
nom: class A { has $.foo; multi method new($) { } }; say A.new(:foo<foobar>).foo 09:14
p6eval nom a9bead: OUTPUT«foobar␤»
masak F_n: strangelyconsistent.org/p6cc2011/NOTES updated -- thanks! 09:17
F_n masak: great, thanks 09:23
rindolf Hi all. 09:39
rakudo: qq{Hello "Sophie"!}
p6eval rakudo a9bead: ( no output )
rindolf rakudo: say qq{Hello "Sophie"!}
p6eval rakudo a9bead: OUTPUT«Hello "Sophie"!␤»
rindolf :-)
try.rakudo.org/ - this timed out.
djanatyn woo, all tests successful. 09:46
masak time to write more tests! :) 09:50
dalek ast: 363a3db | Jonathan++ | S12-construction/new.t:
RT #74300
10:03
ast: cbde750 | moritz++ | S12-construction/new.t:
Merge pull request #12 from djanatyn/master

GCI - Test for RT #74300
masak sorear: 'niecza -v' gives rather odd output. all I wanted was something like 'This is Niecza, v13.', but it goes on about git hashes and how long MAIN took. 10:10
moritz djanatyn: GCI task completed, thanks a lot! 10:21
masak: that output doesn't seem to be a git sha1 10:23
fatal: Not a valid object name 9e5f9648088c084066a3483af3342310e7ffb61496f790c8a71b23975154d833
djanatyn moritz: nope, thank you! :D 10:27
masak moritz: then I can't even put words on what it is rather than being just a simple version number :)
djanatyn I'm on a challenge to use haskell exclusively during winter break.
But, I made sure that perl6 was the only exception :) 10:28
moritz djanatyn: or you can hack on pugs, which is perl 6 implemented in haskell :-)
masak ooh, interesting. my Niecza codebase has bitrotted. time to go hunting for bugs. 10:29
tadzik morning! 10:59
djanatyn: fyi, Bailador has post now, and various other things :) 11:03
masak: are you planning to move Ratel somewhere, or shall I do it? 11:04
masak tadzik: I can do it tonight. 11:07
tadzik great, thanks
masak tadzik: best would be if Tene++ did it; he wrote it :)
tadzik sure
fsergot o/ 11:20
LlamaRider rakudo: my Int $num = 5/5; 11:21
p6eval rakudo a9bead: OUTPUT«Type check failed in assignment to '$num'; expected 'Int' but got 'Rat'␤ in block <anon> at /tmp/cxNz8oT0qi:1␤ in <anon> at /tmp/cxNz8oT0qi:1␤»
LlamaRider is this intended?
moritz yes
LlamaRider: if you want an Int as the result of a division, use div instead of 7
nom: say (5 div 5).WHAT
p6eval nom a9bead: OUTPUT«Int()␤»
LlamaRider not sure I am allowed to, the P6 contest wants me to use '/' :) 11:22
but I was always a fan of coercive subtyping, strange there is no obvious way to cast Rat into Int
moritz LlamaRider: it wants the math semantics of /, it doesn't mean you have to use / in your code
LlamaRider: (5/5).Rat 11:23
erm, .Int
LlamaRider sweet :)
10x!
fsergot nom: my Int $s = (5/5).Int
p6eval nom a9bead: ( no output )
moritz LlamaRider: in general, you can coerce to a type calling .Type on the value 11:24
nom: say 3.Str
p6eval nom a9bead: OUTPUT«3␤»
moritz nom: say 3.Str.WHAT
p6eval nom a9bead: OUTPUT«Str()␤»
Tene masak: you can do whatever you like with Ratel; it was a quick hack that I'm not invested in whatsoever. 11:25
masak Tene: ok; just thought I'd give you first dibs on creating a repo for it :) 11:26
niecza: grammar G { token TOP { <foo> }; token foo { '<A>' <bar>* [$<b>=[ '<B>' <bbar=.bar>* ]]? '<C>' }; token bar { [<!before '<'> .]+ } }; my $q = '<A> X <B> X <C>'; G.parse($q); say $<foo><bar>.WHAT; say $<foo><bbar>.WHAT
p6eval niecza v13-6-gfd3c735: OUTPUT«List()␤Match()␤»
Tene maybe in the morning; I'm going to sleep now.
'night
masak 'night, Tene
sorear: the above should yield OUTPUT«List()␤List()␤» if you ask me.
sorear: and if I'm not mistaken, it did in earlier releases of Niecza and has since regressed, which breaks my tests. 11:27
lunch &
fsergot Hmm, maybe i'll start in P6 contest too :) 11:32
moritz fsergot: just sign up, it doesn't cost anything :-) 11:34
fsergot moritz: Im not sure if Im good enough. will try :) 11:36
moritz trying is the only way to find out :-)
fsergot right :)
moritz wow, all that talk about hash collision complexity attacks on the web, and perl 5.8.1 had protection against that 8 years ago 11:37
tadzik yeah
moritz it kinda makes you think about the majurity of all the new "cool" web solutions 11:38
s/j/t/
masak fsergot: definitely sign up. we can never get better if we don't challenge ourselves. 11:54
fsergot Ok, thanks. :)
masak 'sides, even *being* on this channel has a high correlation with success in the contest ;) 12:10
tadzik :) 12:11
masak I think rt.perl.org/rt3/Ticket/Display.html?id=63760 can be closed -- any objections? 12:46
tadzik I have no idea how loop { say "OH HAI"; last } while 1 should behave 12:49
nom: loop { say "OH HAI"; last } while 1
p6eval nom a9bead: OUTPUT«===SORRY!===␤Missing block at line 1, near ""␤»
tadzik nom: loop { say "OH HAI"; last }; while 1
p6eval nom a9bead: OUTPUT«===SORRY!===␤Missing block at line 1, near ""␤»
tadzik oh, it used to work 12:50
no objections here :)
masak ``If I were to design a language from scratch, I would follow the Algol68 path and make every statement and declaration an expression that yields a value'' -- Bjarne Stroustrup, "The Design and Evolution of C++" 12:51
nom: loop { say "OH HAI"; last } say "OH HAI again"
p6eval nom a9bead: OUTPUT«===SORRY!===␤Confused at line 1, near "loop { say"␤»
masak just checking :)
thing's I learned from reading Peter Norvig: Python has no method call syntax. 13:09
tadzik it doesn't? 13:10
masak x.f(y) *looks* like a separate method call syntax. 13:11
tadzik but it's a mere hash lookup?
masak but it's just x.f which is an attribute lookup which returns a bound method.
followed by a normal function invocation.
tadzik right
masak both Ruby and Python have the concept of bound methods in the language. in Perl 6 we can emulate it, but we don't have it as a language concept. 13:12
neither does Perl 5.
eiro back! 13:31
my god damn cat ruined my keyboard
huf how?
eiro is there a irc log ? I would like to know if someone replied to me. 13:32
tadzik irclog.perlgeek.de
eiro he lied on my keyboard, asking for affection. i tried to take it out but he grapped the keyboard, the laptop falled down. 13:33
thanks
nice web interface ! is the software oss ? 13:34
yes! 13:35
cool
perl stuff!
arg ... perl requirement :(
s/perl/mysql/
noone did actually :) it could be an awesome perl6 project 13:37
masak it's moritz++' IRC log software. 13:38
baest eiro: as I read the code it should be very easy to convert to another database. Just change the ilbot.sql to something more SQL standardish and change database.conf 13:39
tadzik and convert it to Bailador :>
eiro got to go ... bbl 13:40
baest tadzik: :)
masak perl: welcome! 14:09
it's about time we got some perl on this channel! :D 14:10
perl :) 14:13
trying to figure out an efficient server socket design tonight, i backended libevent for the eventloop, i started parent to only listen for SIGCHLD and listen to children over socketpairs, and children handling accept(), now i am worried since children are performing alot of blocking operations that its possible for a single child to do many accepts before it goes off doing the work effectively 14:18
and possibly leaving clients to timeout
so now i thinking, damnit, why not just have parent doing the accepts and toss work to children over socketpairs as i can't see something as high performance as epoll() kqueue() needing more than 1 process for the TCP socket 14:19
course bitch is have to do a completely rewrite for the latter 14:20
masak which implementation did you say you were using?
Rakudo? Niecza?
perl neither just have libevent linked in as C library atm
masak ah. 14:21
masak then this is probably the wrong forum, at least if you're expecting sensible feedback :) 14:21
this is #perl6.
there's always #perl-help on irc.perl.org, if you want help with something involving Perl 5. 14:22
perl can;t find anyone intelligent enough to talk on this topic, so thought i might try here :)
masak no doubt we're suitably flattered by that. :) 14:23
nevertheless, if we allowed this to descend into a general tech support shop, we'd soon descend into chaos. CHAOS, I tell ye! ;) 14:24
also, it wouldn't be as much fun as discussing Perl 6 all day.
perl i think perl6 should backend libevent to make use of kqueue and epoll in my opinion
get rid of select completely
masak sounds interesting.
prototypes in that direction are very welcome. 14:25
flussence I thought someone was already writing an event module that did that...
perl select() ineffecient when to many fd's to process
flussence select() is the least of our performance issues :)
masak hah! 14:26
perl well may kings bow down and angels sing when perl6 is ready 14:33
flussence I wonder if this still causes horrible crashes... 14:36
nom: 1 XXZXZXZXZZZZZZXZXXXZ 2
p6eval nom a9bead: OUTPUT«(timeout)»
flussence yep
masak perl: I'd be happy if I could just do my everyday tasks in Perl 6, in a fast, stable, and memory-efficient way.
perl masak: what are the memory issues? 14:40
masak perl: just that Rakudo is quite memory-hungry. 14:42
perl well everytime someone submits code that is more than X syscalls they should be beaten on a stake
masak I actually don't know about Niecza's memory consumption. haven't paid attention to it.
perl: beating on a stake is not a common practice in here. we tend to waft people with the turbulence of butterfly wings instead. 14:43
flussence niecza's repl actually starts off 20MB more than rakudo's... 14:44
masak I wouldn't be surprised if Niecza's builds using less memory, though. 14:46
flussence oh, yeah, that part is much lower.
masak though that comparison is not entirely fair -- Rakudo is more featureful :)
[Coke] is reminded to double check the latest spec test counts. 14:48
masak :)
flussence I get the impression sometimes that rakudo's Gigantic Compile Of Doom contributes to the slow uptake
masak No Killer App contributes to the slow uptake. 14:55
or, more exactly, there has to be a more coherent reason for people to get Perl 6 than "look! grammars and metaops and junctions!"
they'd stand a Gigantic Compile Of Doom if they knew there was a reward on the other side besides getting to experiment a little. 14:56
flussence hm, true
masak nom: package Color { our ($red, $green, $blue) = 1..* }; say Color.blue 14:57
p6eval nom a9bead: OUTPUT«use of uninitialized value of type Mu in string context␤use of uninitialized value of type Mu in string context␤===SORRY!===␤error:imcc:Multiple declarations of lexical '$green'␤␤ in file '(file unknown)' line 955␤»
masak o.O
masak submits rakudobug
nom: package Color { our ($red, $green, $blue) = 1..* }; say Color::blue
p6eval nom a9bead: OUTPUT«use of uninitialized value of type Mu in string context␤use of uninitialized value of type Mu in string context␤===SORRY!===␤error:imcc:Multiple declarations of lexical '$green'␤␤ in file '(file unknown)' line 39790752␤»
benabik wouldn't that be Color::blue ? 14:58
Oh.
masak aye.
but the problems occur already in the declaration part.
nom: package Color { our $red }; say "alive"
p6eval nom a9bead: OUTPUT«alive␤»
masak nom: package Color { our ($red, $green) }; say "alive"
p6eval nom a9bead: OUTPUT«use of uninitialized value of type Mu in string context␤use of uninitialized value of type Mu in string context␤===SORRY!===␤error:imcc:Multiple declarations of lexical '$red'␤␤ in file '(file unknown)' line 58687820␤»
masak nom: package C { our ($r, $g) }
p6eval nom a9bead: OUTPUT«use of uninitialized value of type Mu in string context␤use of uninitialized value of type Mu in string context␤===SORRY!===␤error:imcc:Multiple declarations of lexical '$r'␤␤ in file '(file unknown)' line 26048650␤»
masak golf'd :)
nom: package { our ($r, $g) } 14:59
p6eval nom a9bead: OUTPUT«use of uninitialized value of type Mu in string context␤use of uninitialized value of type Mu in string context␤===SORRY!===␤error:imcc:Multiple declarations of lexical '$r'␤␤ in file '(file unknown)' line 33399641␤»
masak :)
nom: our ($r, $g)
p6eval nom a9bead: OUTPUT«use of uninitialized value of type Mu in string context␤use of uninitialized value of type Mu in string context␤===SORRY!===␤error:imcc:Multiple declarations of lexical '$r'␤␤ in file '(file unknown)' line 382␤»
masak oh my. :/ 15:00
nom: my ($r, $g)
p6eval nom a9bead: ( no output )
flussence nom: our ($, $g)
p6eval nom a9bead: OUTPUT«use of uninitialized value of type Mu in string context␤use of uninitialized value of type Mu in string context␤===SORRY!===␤error:imcc:Multiple declarations of lexical '$g'␤␤ in file '(file unknown)' line 15915070␤»
flussence :D
masak nom: my ($, $) 15:02
p6eval nom a9bead: ( no output )
masak nom: our ($, $)
p6eval nom a9bead: ( no output )
masak nom: our ($, $, $g)
p6eval nom a9bead: OUTPUT«use of uninitialized value of type Mu in string context␤use of uninitialized value of type Mu in string context␤===SORRY!===␤error:imcc:Multiple declarations of lexical '$g'␤␤ in file '(file unknown)' line 166␤»
masak does Niecza have anything corresponding to Rakudo's <?DEBUG(1)> in grammars? 15:10
I feel I need it now, since a Niecza regression introduced an unknown hangup in my previously working code, and I'm only able to track it some ways into the grammar using print statements...
tadzik hrm 15:37
nom: package Foo { our $blue; }; $Foo::blue = 5; say $Foo::blue 15:38
p6eval nom a9bead: OUTPUT«5␤»
tadzik masak: ^
masak right, it works with any 'our' declaration that doesn't try to declare several variables in one go. 15:38
tadzik oh
masak and it has nothing to do with packages. 15:39
colomon www.keithschwarz.com/darts-dice-coins/ -- seems like it might be handy for full .pick implementation. 15:41
masak nice illustrations. 15:44
it's posts like these that I like best about the web.
tadzik it's so full of JS 15:45
masak it is? I didn't notice. 15:47
tadzik it made my CPU choke a bit :) 15:48
moritz if you disable JS, you see the TeX source code instead 15:50
so quite readable :-)
TimToady o_O
tadzik :P 15:51
moritz (things like \frac{1}{6} instead of 1/6)
TimToady
masak oh yeah, my brain parses \frac without a hitch since several years back. 15:52
also, \infty
TimToady wonders if val('⅙') should be made to work, or if we should use something else to extract Unicode values 15:54
masak votes for 'something else' 15:55
TimToady hmm, baseless numbers, so :0<⅙> :)
masak also, I'm not really convinced val() should be mucking with constants and enums either.
Google Go calls 'proceed' 'fallthrough' -- did we ever consider that? :) 15:56
(though I like the symmetry between 'proceed' and 'succeed')
TimToady yes, but it doesn't rhyme
masak right.
moritz TimToady: if ew make val('⅙') DWIM, we should also make ⅙ in perl 6 code DWIM
TimToady well, don't think I haven't considered it :) 15:57
masak .oO( brought to you from the Department of Diminishing Returns )
TimToady otoh, why the heck does Unicode record the actual numeric values if we're s'posed to ignore 'em? 15:58
masak feels a bit like W3C specifying alphabetized lists for *all the alphabets in the world* :/
TimToady people have little trouble understanding ⅙
it gets a little hairier if we decide to support 2⅔ and such 15:59
one place where juxtaposition means addition, not multiplication, I note
masak here it is: www.w3.org/TR/2011/WD-css3-lists-20...alphabetic 16:00
CSS jumping the shark :(
flussence I think I've read one of the newer unicode standards actually specifies *arbitrary* superscript+subscript fractions should be rendered as a ligature... bet that's fun for font rendering people 16:02
daxim you culturally insensitive clod, I count house number variants 甲乙丙丁 all the time!
TimToady gradea hook firehorse nail? 16:03
masak looks like zodiacal numbers to me.
TimToady firehorse is definitely zodiacal, but the others are in common use
masak hm.
TimToady at least as radicals/subparts 16:04
masak yep, they're "heavenly stems". 16:05
moritz would like to eat some "heavenly stew" right now :-)
masak :) 16:06
TimToady but yes, also just 1st, 2nd, 3rd
masak decommutes
kranius hello
TimToady howdy
TimToady cool, ༳ looks like the most complicated thing to support 16:20
.u ༳
phenny U+0F33 TIBETAN DIGIT HALF ZERO (༳)
TimToady == -1/2
benabik 0/2 = 0
No? ;-) 16:21
TimToady it's using "half" in front the way roman numerals do subtraction
so 0 - ½
so ༲ means 8½ 16:23
benabik .u ༲
phenny U+0F32 TIBETAN DIGIT HALF NINE (༲)
tadzik 0_o
crazy stuff
benabik Tibet has some odd digits.
huf that's just like time in lots of languages
TimToady expresses as 17/2 in the database, so just a Rat
halfway to... 16:24
huf half-nine is 8:30
in german i think?
TimToady correct
unless it's Deutsch :P
huf same thing in hungarian, but that's probably just german influence
TimToady thing is, it's really easy for a parser to recognize that it has a Unicode character that it doesn't know how to parse, and go out to secondary storage to fetch a translation for it, or the name of something to autoload (thinking about set operators here) 16:28
it doesn't have to be something carried around in memory unless you use it
TimToady one could go as far as to allow ½ as a postfix:<½>, which makes 5½ work, but also weirdly allows $x½ 16:32
:) 16:33
make that :) * ½
hey, if a splattered brane isn't good for thinking sideways, I don't know what is... 16:35
djanatyn tadzik: :O 16:36
cool!
tadzik I just made it support templates, but that triggers those nasty GC bugs again 16:36
colomon it seems like any bigger piece of code run in nom triggers GC bugs... at least, that's been my experience 16:42
tadzik well, I have a code which triggers it deterministically :) 16:43
colomon ooo, that's a plus 16:43
TimToady perl6: 1 XXZXZXZXZZZZZZXZXXXZ 2 16:47
p6eval rakudo a9bead: OUTPUT«(timeout)» 16:47
..pugs b927740: OUTPUT«*** ␤ Unexpected "XXZXZXZXZZZZZZXZXXXZ"␤ expecting operator␤ at /tmp/IJUVl9YM_K line 1, column 3␤»
..niecza v13-6-gfd3c735: ( no output )
benabik niecza: say 1 XXZXZXZXZZZZZZXZXXXZ 2 16:48
p6eval niecza v13-6-gfd3c735: OUTPUT«1 2␤»
TimToady niecza++
otoh, making val handle vulgar fractions allows them to be used from the command line and such; a postfix solution doesn't work for that 16:52
masak it could be just my limited imagination, but I don't see us needing unicode fractions, either in the language or on the command line. 17:17
now, a way to serialize compact structs, *that* would be useful.
TimToady this is more about forming a coherent, useful policy on obvious Unicode characters like set operators than it is about vulgar fractions, appearances to contrary notwithstanding 17:32
TimToady the semantics of characters matching <:No> are a small part of the more general issue of whether Perl should require predeclaration of the obvious, a commmon failing in other languages... 17:38
as for serializing compact structs, that's okay too--I'm not an exclusivist :P 17:40
TimToady sorear: re irclog.perlgeek.de/perl6/2011-12-18#i_4845837 I think it's clear from the spec that only .. is recognized as meta syntax, and you'd use /\d/ => 'x' if you really want a character class to be recognized 17:45
kshannon masak: In your 1st Dec blog post about macros you say "ASTs have to start carrying around their own lexical environment". Have you done anything more about that? 17:46
I think that would be really useful for my attempt at operator precedence.
TimToady
.oO(If Python is "batteries included", Perl 6 is "wind, solar, geothermal, and 4th-gen nuke plants included".)
17:59
kshannon :)
sorear masak: try 'sha256sum lib/CORE.setting 18:01
masak kshannon: haven't yet, but I mean to take a deep look this weekend. 18:03
sorear: would you agree that my expected printed-out message would make sense for the -v flag? 18:04
kshannon OK, I guess I'll go fix some more simple bugs in the meantime... 18:05
masak sorear: also, would you like me to submit the issue I found with named captures as a nieczabug?
kshannon: I don't really see the connection between macro lexical cheating and operator precedence.
kshannon: but if you want a clue, roles do some similar kind of cheating. 18:06
TimToady phenny: tell raiph re: irclog.perlgeek.de/perl6/2011-12-18#i_4848275 I'd say 6model is not so much related to moose as it is to the Responder Interface stuff that nothingmuch++ was working on in the same timeframe, but representation polymorphism has been the p6 plan for ages 18:09
phenny TimToady: I'll pass that on when raiph is around.
TimToady you can see where I'm up to in my backlogging... :/ 18:11
colomon TimToady++ 18:12
sorear masak: there's NIECZA_RX_TRACE=1, which might help 18:15
cognominal TimToady, does representation polymorphism comes form "The art of the metaobjecr protocol" too?
sorear masak: _LTM_ can also help
TimToady cognominal: I don't know; all I know is that the concept was obviously needed for Perl 6 to handle foreign objects gracefully 18:16
dalek ecza: 68f80b8 | sorear++ | / (2 files):
Fix for $<a>=[ <b>+ ] (masak)++
cognominal when I google, I got only Perl 6 releated links.
TimToady when I'm designing, I only think about what's right, not about where an idea might (or might not) have come from 18:18
masak sorear: thanks xx 2
cognominal that's good, but the history of ideas is an intesting thing too.
masak aye 18:19
TimToady having filtered most of these ideas through my subconscious, information about provenance is normally stripped
so I can't tell you offhand which of my ideas were original, and which merely someone else's idea popping up in a different form 18:20
so I have to officially not care about that :) 18:21
cognominal this is not part of your internal meta-ideas protocol :)
sorear masak: no, but it would make sense for the -V flag. I still think -v means --verbose 18:21
wooh, I'm back in the present 18:22
TimToady cognominal: it is probably a social failing of an aspergery nature :)
sorear TimToady: I have the same problem, fwiw 18:23
TimToady there are, of course, some things I'm pretty sure I thought up myself, and some things I'm pretty sure I stole, but mostly I'm not sure. 18:24
and I strongly suspect that if I tracked that info I'd be a worse designer, according to the waterbed theory of Pooh brains... 18:26
but I can't even claim sole ownership of the synthesis, since y'all are my adjunct brains... 18:27
but that's okay too :)
slavik1 TimToady: hive mind? 18:30
cognominal slavik1: we are not insects :) 18:34
TimToady in some ways; otoh I remember wanting representation polymorphism as far back as when I first added an XML parser to P5, and realized how much of the overhead was translating C data to Perl data...
cognominal and TimToady is not our queen. :)
slavik1 cognominal: the borg are not insects either :)
TimToady is more like a drone :)
sorear do insects even havehive minds? 18:35
TimToady you'd have to ask the hive
masak sorear: both Perl 5 and S19 disagree with you on -v == --verbose
cognominal will use the gps attack to make that drone land in Paris for the next Perl conference.
sorear masak: oh. Well then. 18:41
masak I've always thought of -v (in Perl) as "tell me the version", and -V as "give me all possible information about this build" 18:43
LlamaRider ok, super basic question if anyone has a minute 18:56
rakudo: my @arry = [ [1,2],[3,4]]; say @arry[0;1]; say @arry[0][1]; 18:57
p6eval rakudo a9bead: OUTPUT«Any()␤3 4␤»
LlamaRider new array indexing and where do I read about it.
kind of confusing
tadzik okay. Your @arry is an array with one element, are you aware of that? 19:00
rakudo: my @a = [1,2],[3,4]; say @a[0;1]; say @a[0][1] 19:01
p6eval rakudo a9bead: OUTPUT«3 4␤2␤»
tadzik I'm not quite familiar with this first syntax, to be honest
masak LlamaRider: you read about it in S09. but it's not implemted yet.
LlamaRider: and even if it were -- as I understand it, you can't use the multidim indexing syntax if you havn't explicitly declared the array as being multidim-indexable. 19:02
LlamaRider what bugs me is that the semicolon syntax and the bracket syntax do different things. Which I didn't expect. Hence I am reading more about it.
tadzik that's because it's not yet implemented, as masak said
masak LlamaRider: consider that part of the spec appropriately slushy, since it's yet to meet up with reality.
tadzik perl6: my @a = [1,2],[3,4]; say @a[0;1]; 19:03
p6eval niecza v13-6-gfd3c735: OUTPUT«Unhandled exception: Excess arguments to postcircumfix:<[ ]>, used 2 of 3 positionals␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (postcircumfix:<[ ]> @ 0) ␤ at /tmp/UXHSlxHNXL line 1 (mainline @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2573…
..pugs b927740: OUTPUT«*** ␤ Unexpected ";"␤ expecting "x", octal digit, "o", "b", fraction, exponent, term postfix, operator or "]"␤ at /tmp/o9uKhVUeUi line 1, column 30␤»
..rakudo a9bead: OUTPUT«3 4␤»
benabik I'm guessing rakudo evaluates 0;1 to 1, then evaluates @a[1] to [3,4]
masak LlamaRider: the semicolon and bracket syntax do the same thing, unless things are missing along the path.
LlamaRider ok, seems torny at the moment 19:04
masak LlamaRider: what you're seeing currently from the implementations is garbage.
benabik nom: my @a = [1,2],[3,4]; say @a[say 'hi';1]
p6eval nom a9bead: OUTPUT«hi␤3 4␤»
masak LlamaRider: no, just not implemented yet.
LlamaRider lol
I see ^^
thanks a lot
saved me another 30 minutes of head scratching :)
masak ir parses the semicolon readily, since that's part of the syntax of the language.
LlamaRider so, is there a "safe" way to do say a hash of hashes with the current implementations (I'm using Rakudo) 19:07
tadzik sure thing 19:08
rakudo: my %a = foo => { bar => { asd => 1 } }; say %a<foo><bar><asd>
p6eval rakudo a9bead: OUTPUT«1␤»
tadzik what do you mean: a "safe way"?
LlamaRider = trying to stay away from the semicolon syntax 19:09
tadzik look above
LlamaRider thanks, that's what I had in mind
tadzik the old syntax works fine
LlamaRider what's the closest I get to Data::Dumper? Doing "say %a.perl;" ? 19:12
tadzik I think so
I don't know of any better way
masak yes. .perl isn't immune to pretzels, though. 19:13
any circularity and it hangs.
tadzik heh
LlamaRider rakudo: my %h ; %h<x><y> = 1; 19:20
p6eval rakudo a9bead: OUTPUT«Method 'at_key' not found for invocant of class 'Any'␤ in method postcircumfix:<{ }> at src/gen/CORE.setting:1155␤ in block <anon> at /tmp/UabHS3pk0G:1␤ in <anon> at /tmp/UabHS3pk0G:1␤»
LlamaRider any idea why it doesn't autovivify ?
works if it's only one level 19:21
rakudo: my %h ; %h<x> = 1; say %h<x>;
p6eval rakudo a9bead: OUTPUT«1␤»
colomon that's not autovivifying (on one level) -- you told it it was a hash with %
colomon probably not autovivifying (one second level) is a bug 19:22
niecza: my %h ; %h<x><y> = 1;
tadzik known one, too
p6eval niecza v13-7-g68f80b8: ( no output )
kshannon Anyone here understand how you catch exceptions at the PIR level?
colomon niecza: my %h ; %h<x><y> = 1; say %h.perl
p6eval niecza v13-7-g68f80b8: OUTPUT«{"x" => {"y" => 1}}.hash␤»
tadzik push_eh rings a bell, but not sure 19:23
kshannon: seen docs.parrot.org/parrot/latest/html/...s.pod.html ?
kshannon sweet, thanks. 19:24
LlamaRider ok, so I need some extra work to make it do what I want. You're sure the bug is known? Then I don't need to report. 19:25
tadzik not sure if it's reported, but I think all the devs know about it :) 19:28
masak no harm in reporting it, too. feel free. 19:31
cognominal [20:13] <masak> yes. .perl isn't immune to pretzels, though. 19:37
stop beating about the Bush. :) 19:38
masak Mission Accomplished! 19:39
sorear o/ fglock 19:58
also, hello and welcome, LlamaRider_
fglock sorear: hi!
LlamaRider_ hi sorear, nice to be here 19:59
fglock profiling perlito... thinking about modularization - I'm thinking of adding 'require' to load less-used compiler parts maybe 20:01
perlito executes 50M statements during bootstrap; memory doesn't seem too high, about 100Mb 20:04
LlamaRider_ rakudo: say 5 % 0 ; 20:06
p6eval rakudo a9bead: OUTPUT«5␤»
LlamaRider_ there's a "Division by zero" error missing here.
what is the best way of me throwing these crumbs to the devs? just look at the tracker and not spam here? 20:07
fglock food & 20:08
colomon rakudo 20:09
TimToady it is not considered spam, so you can spam us and the masakbot will submit the bug
colomon ; s
rakudo: say 5 div 0
p6eval rakudo a9bead: OUTPUT«Divide by zero␤ in block <anon> at /tmp/HKfmDdAFko:1␤ in <anon> at /tmp/HKfmDdAFko:1␤»
TimToady alternately, you can submit it yourself
colomon Is 5 % 0 a division by zero error? 20:10
rakudo: say 5 %% 0
LlamaRider_ it has to be. has no meaning in math
p6eval rakudo a9bead: OUTPUT«Bool::True␤»
TimToady perl6: say 5 % 0
LlamaRider_ if you can't divide by 0, you can't get a remainder by 0
p6eval niecza v13-7-g68f80b8: OUTPUT«Unhandled exception: System.DivideByZeroException: Division by zero␤ at Builtins.mod (Niecza.Variable a1, Niecza.Variable a2) [0x00000] in <filename unknown>:0 ␤ at Anon.1.Run.MAIN.C0mainline (Niecza.Frame ) [0x00000] in <filename unknown>:0 ␤ at Niecza.…
..rakudo a9bead: OUTPUT«5␤»
..pugs b927740: OUTPUT«*** Illegal modulus zero␤ at /tmp/FVGkTT7jjt line 1, column 5 - line 2, column 1␤»
LlamaRider_ Hm, I am starting to think I should switch away from Rakudo ^^ 20:11
TimToady each implementation has its plusses and minuses 20:12
TimToady pugs is very...stable... 20:12
colomon I never really thought about this before: why is 5 div 0 a "Divide by zero exception" (or whatever) rather than NaN? 20:14
LlamaRider_ typically a convention. It's NaN in Matlab 20:16
TimToady well 5 div 0 should produce an integer, and I don't believe we've specced NaN for the Int type, though we have Inf specced 20:17
maybe we want NaN there too... 20:18
TimToady perl6: say (1/0).perl 20:19
p6eval rakudo a9bead: OUTPUT«1/0␤»
..pugs b927740: OUTPUT«*** Illegal division by zero␤ at /tmp/uTK1bFgjTo line 1, column 6-9␤»
..niecza v13-7-g68f80b8: OUTPUT«Inf␤»
LlamaRider_ omg
scary discrepancies
TimToady rakudo is just being lazy about converting a Rat :) 20:20
moritz nom: say 1/0 ~~ Inf 20:21
p6eval nom a9bead: OUTPUT«Bool::True␤»
moritz you see, it's some sort of Inf
it's just a Rat-ish Inf :-)
LlamaRider_ if you took the lim of something tending to 1/0, sure.... but like this... 20:22
TimToady nom: say 1/0 + 1
p6eval nom a9bead: OUTPUT«Inf␤»
TimToady nom: say (-1) / 0
p6eval nom a9bead: OUTPUT«-Inf␤»
moritz LlamaRider_: what would you want instead?
LlamaRider_ in the rationals, error or NaN are at least mathematically correct 20:23
division by zero is simply not defined there
all the Infs come in Real number calculus
TimToady and the problem with defining it as the limit is that we don't know which direction the 0 came from
LlamaRider_ besides not having Real numbers, that's also a problem ;) 20:24
TimToady so the sign is relatively meaningless
moritz nom: say 1 ~~ Real
p6eval nom a9bead: OUTPUT«Bool::True␤»
moritz hey, we have real numbers :-)
TimToady er, some of 'em...
nom: say i ~~ Real 20:25
moritz sure; you can't represent all of 'em in finite memory
p6eval nom a9bead: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&i' called (line 1)␤»
LlamaRider_ yeah well, my example was with "div", so no reals there ;)
moritz nom: say 1i ~~ Real
p6eval nom a9bead: OUTPUT«Bool::False␤»
TimToady niecza: say i ~~ Real
p6eval niecza v13-7-g68f80b8: OUTPUT«Bool::False␤»
LlamaRider_ say i ** 4 ~~ Real
TimToady perl6: say e ~~ Real 20:26
p6eval rakudo a9bead, niecza v13-7-g68f80b8: OUTPUT«Bool::True␤»
..pugs b927740: OUTPUT«*** No such subroutine: "&e"␤ at /tmp/S_6U5zpYHI line 1, column 5 - line 2, column 1␤»
LlamaRider_ niecza: say i ** 4 ~~ Real
p6eval niecza v13-7-g68f80b8: OUTPUT«Bool::False␤»
TimToady complexity is sticky, and Real doesn't know to look for 0i
colomon TimToady: I'm still leaning toward your old suggestion that NaN, Inf, and -Inf ought to be (a?) type(s?) of their own.
TimToady they're forms of near-bottom type 20:27
one could consider casting them out of Any, and propagating them the same as Failure 20:28
then those ops that want to handle them specially can just define multis that recognize them
in some sense, they are concepts rather than values, so belong outside of Any 20:29
colomon +1
LlamaRider_ I'm sure Cantor would consider that comment rude. :) But I don't think Perl needs to model math perfectly. So no comment from me :) 20:30
TimToady has wondered whether the failure of a Match should also return such a concept, rather than a Match object
moritz LlamaRider_: problem is, the math world fits rather badly into computer-representable data types 20:31
moritz math thinks in terms of subsets 20:32
but implementing math in terms of subsets inside the computer is *very* expensive
TimToady especially when you start with infinite sets :)
moritz aye
LlamaRider_ fair enough 20:33
TimToady anyway, having types outside of Any is our escape valve for concepts that need meta-help from time to time
junctions being the first of those concepts to apply for a job 20:34
colomon TimToady: on the other hand, NaN & Inf have historically propagated through math operations, having to specifically code that in every case seems a bit rough...
maybe they should always be Nums? 20:35
TimToady might just be able to fudge it for Num types
masak just to give a data point: in Java, division by 0 is an error when performed on integers, and NaN on floaty types.
of course, Perl doesn't make as much of a distinction...
TimToady if Num is really RealNum|FakeNum then FakeNums could be outside of Any, with no one the wiser 20:37
LlamaRider_ Lots of CS algorithms have initial values at +/- Infinity. Take Dijkstra, etc.
TimToady sure
LlamaRider_ would be nice if you don't need to think of types in such applications
TimToady perl6: say [min]()
p6eval niecza v13-7-g68f80b8: OUTPUT«Unhandled exception: No value for parameter $a in infix:<min>␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (infix:<min> @ 0) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1566 (reduceop @ 8) ␤ at /tmp/L6C4dTJXTz line 1 (mainline @ 1) ␤ at /home/p6ev…
..pugs b927740: OUTPUT«*** Cannot cast from VList [VUndef] to VCode (VCode)␤ at /tmp/JC8UoWAWzG line 1, column 5 - line 2, column 1␤»
..rakudo a9bead: OUTPUT«Inf␤»
colomon [min] doesn't work at all in niecza. :( 20:38
LlamaRider_ go rakudo on this one :)
TimToady nom: say [max]()
p6eval nom a9bead: OUTPUT«-Inf␤»
TimToady perl6: say [&&]()
p6eval rakudo a9bead: OUTPUT«Bool::True␤»
..pugs b927740: OUTPUT«1␤»
..niecza v13-7-g68f80b8: OUTPUT«===SORRY!===␤␤This macro cannot be used as a function at /tmp/H63y_b8aaZ line 1 (EOF):␤------> say [&&]()⏏<EOL>␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 919 (die @ 2) ␤ at …
LlamaRider_ all I wanted to say is that Infs being Num is very convenient. Nice examples above. 20:40
TimToady sure, don't wanna break that
TimToady but perhaps it's one of the chief features of those concept types is that sometimes they pretend to be an Any, and sometimes they don't 20:41
it might be possible for Inf to pretend to be Num part-time
that's all I'm sayin'
lunch & 20:42
sorear niecza: say [min](3,2,4) 20:48
p6eval niecza v13-7-g68f80b8: OUTPUT«Unhandled exception: Excess arguments to infix:<min>, used 2 of 3 positionals␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (infix:<min> @ 0) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1566 (reduceop @ 8) ␤ at /tmp/HceaZl2noZ line 1 (mainline @ 1) … 20:49
sorear niecza: say [min] 3, 2, 4
p6eval niecza v13-7-g68f80b8: OUTPUT«Unhandled exception: Excess arguments to infix:<min>, used 2 of 3 positionals␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (infix:<min> @ 0) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1566 (reduceop @ 8) ␤ at /tmp/KXCtMdUden line 1 (mainline @ 1) …
sorear oh
:|
apparently min, like ~, is defined by STD to have assoc<list>
[Coke] gist.github.com/1476841 - slight gain by niecza past 2 days, up to 84% of rakudo. 20:55
colomon sorear: what does that mean in practice? 21:04
sorear colomon: it means infix:<min> needs to be defined with a ** arg list 21:05
but ** arg lists aren't implemented yet
look at the definition of infix:<~>
I need proper LoL semantics stuff for this to work
sorear wonders if sending pm an email asking for help would be useful 21:06
moritz sorear: I'd try that if I were you 21:07
masak +1 21:14
[Coke] shares a work horror story. I'm on a week-plus vacation (but everyone knows I'm at home this week.). Get a call about a minor issue with the dev continuous build, all set. an hour later, a call that involves svn and the phrase, "so then I deleted trunk and copied the branch to trunk" 21:15
masak o.O 21:17
dalek ast: 8b49f58 | coke++ | S05-match/make.t:
niecza fudge
21:20
[Coke] masak: yah, that's the face I made on the phone. ;) 21:21
thankfully I can just clean it up when I return next week. ;) 21:22
tadzik I don't get it, maybe I should be grateful for my childhood that I didn't work much with svn :)
sorear tadzik: it's the equivalent of git checkout branch; git push -f origin master 21:23
tadzik eww
masak :D
there's humor in the fact that svn atrocities need to be explained in terms of git atrocities to today's young generation... 21:24
"it's as if you would dip your iPad in boiling butter"
LlamaRider_ I thought that's how they made those tablets in the first place ^^ 21:25
masak that's why the screen is so smooth.
tadzik :P 21:26
masak did today: wrote a 2500-line C program that didn't do what I wanted. :/ 21:27
time to solve the problem in my sleep, I think.
'night, #perl6
colomon \o
tadzik o/ 21:28
sorear (and I'm probably younger than tadzik anyway :P) 21:29
tadzik I doubt it :) I'm from 7th of Dec, 1990 21:30
sorear oh, you're three weeks younger than me
LlamaRider_ sweet, I finished my little piece of code :) thanks for all the help guys! 21:33
LlamaRider_ Interesting. In current Rakudo it is faster to do hash lookup for undefined values than to add "when" clauses in a for loop (I know the range where the values are undefined). 21:44
LlamaRider_ Not sure if that's important, but I found it curious 21:45
tadzik Rakudo has various performance problems 21:46
colomon niecza: 22:19
niecza: my $x = [0, 100, 280, 33, 400, 5665]; say @($x)[1] 22:20
p6eval niecza v13-7-g68f80b8: OUTPUT«100␤»
colomon niecza: say %() ~~ Hash 22:21
p6eval niecza v13-7-g68f80b8: OUTPUT«Unhandled exception: Unmatched key in Hash.LISTSTORE␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (Any.hash @ 0) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /tmp/u6FAQgAplk line 0 (mainline @ 0) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2573 (A… 22:22
dalek ast: 9ec0398 | (Solomon Foster)++ | S03-operators/context-forcers.t:
Clean up a bit, and fudge for niecza.
22:32
dalek ecza: c17e94b | (Solomon Foster)++ | t/spectest.data:
Turn on S03-operators/context-forcers.t.
22:35
dalek kudo/nom: e6fee1b | util++ | docs/announce/2011.12:
[docs] Fix typo
22:45
thou niecza: gist.github.com/1530283 23:57
nom: gist.github.com/1530283
p6eval niecza v13-8-gc17e94b: OUTPUT««take», «garbage»␤»
nom e6fee1: OUTPUT««take », «garbage»␤»
thou is sigspace handling in a rule meant to be deterministic? (notice the space after 'take ' in the nom result) i've noticed other sigspace weirdness as well 23:59
i think [ patA | patB ] should behave like [patA|patB] sigspace-wise?
but that doesn't seem to be the case