»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:02 lestrrat left, thou left 00:03 lestrrat joined 00:11 fgomez left 00:19 wolfman2000 joined 00:36 thou joined 00:40 thou left
sorear good * #perl6 00:58
01:02 scott__ joined 01:06 benabik joined 01:35 liuchong joined
japhb sorear, Does niecza interpret an AST or an internal bytecode or does it generate CLR bytecode and then run that? 01:39
01:40 whiteknight left 01:43 _jaldhar joined
japhb wonders if he has asked that question before ... feels like yes 01:43
sorear japhb: it creates CLR bytecode. 01:44
japhb sorear, OK, thank you. 01:47
colomon o/ 01:57
sorear o/ colomon 02:03
02:13 oiig_ left 02:14 oiig_ joined, orafu left, orafu joined 02:15 thelazydeveloper left 02:18 jferrero left 02:25 jferrero joined 02:27 xinming_ joined 02:31 xinming left 03:00 kaleem joined 03:05 kaleem left 03:17 wolfman2000 left 03:40 tokuhirom left 04:01 cognominal_ joined 04:02 cognominal left 04:21 mucker joined, fgomez joined, mucker left 04:26 mucker joined, mucker left 04:30 mucker joined 04:44 kaleem joined 04:58 spaceships left 05:01 snarkyboojum left 05:03 snarkyboojum joined 05:34 sftp left, zeus2012 joined
zeus2012 hello 05:36
sorear hello, zeus2012, and welcome
moritz \o
zeus2012 thanks 05:37
05:39 birdwindupbird joined 05:40 zeus2012 is now known as Sorian
Sorian what its means perl6? 05:40
sorear perl6 is a proper noun
it means itself
it is a name for an abstract thing 05:41
Sorian :>
sorear it means perlcabal.org/syn/
Sorian ok 05:42
sorear if there is another language you would rather use, ask around 05:43
06:26 cognominal_ left 06:27 cognominal joined 06:28 envi_ left 06:35 NamelessTee joined 06:38 cognominal left 06:39 cognominal joined, Sorian left 06:41 tarch joined 06:44 cognominal left 06:46 cognominal joined 06:48 scottp left, fgomez left, scottp joined 07:03 brrt joined 07:04 fhelmberger joined 07:13 fgomez joined 07:15 fgomez left 07:26 fglock_ joined 07:31 NamelessTee left 07:38 _jaldhar left
masak morning, y'all. 07:45
tadzik morning masak-san 07:46
sorear o/ masak 07:47
mathw o/ 07:53
masak std: my $a = 42 but method foo { say "OH HAI" } 07:58
p6eval std 1ad3292: OUTPUT«Potential difficulties:␤ 'method' declaration outside of class at /tmp/0kilp_avOj line 1:␤------> my $a = 42 but method foo ⏏{ say "OH HAI" }␤ok 00:00 43m␤»
masak aww :)
but makes sense, I guess.
some syntactic sugar isn't worth it.
mathw probably not 08:11
you can always do that with a role
but it would have a certain appeal... although probably limited use in the real world
although where you did want it, yo uwould miss it 08:12
masak finds it very cute that jaffa4 thinks ([**] 1,2,3,4) should give "some other value" than 1 :) 08:13
std: my $a = 42 but my method foo { say "OH HAI" } 08:14
p6eval std 1ad3292: OUTPUT«ok 00:00 43m␤»
tadzik multiply! twice! :)
masak <jaffa4> is it not power?
"damn, I keep exponentiating and nothing happens!"
08:16 kaleem left
masak moritz: also, I think you're tilting at windmills trying to send jaffa4 to Sxx. or, let's just say the prior for it working at all is rather low at this point. 08:16
mathw last I checked, 1 to the power of anything was 1 08:20
that is still, true, right? 08:21
masak yes, that is still true.
mathw good 08:22
tadzik whew, I though somebody lied to me again. It has happened twice already
mathw I haven't forgotten *all* my maths :)
tadzik "you can't take a square root of a negative number" and "you can't divide by zero"
r: say sqrt(-2); say 1/0
p6eval rakudo 3bd91f: OUTPUT«NaN␤Inf␤»
tadzik oh well
r: say i * i
p6eval rakudo 3bd91f: OUTPUT«-1+0i␤»
masak tadzik: I used to be a big fan of 1/0 == Inf. not so much anymore. :)
mathw I always thought it was logical, but it also isn't 08:23
it is if you only look at division
tadzik It always sounded fishy to me
mathw but it breaks the relationship with multiplication
because 0 * Inf == 0
masak the real answer is that you can't divide by 0 :)
mathw: nope.
p6: say 0 * Inf
p6eval pugs, rakudo 3bd91f, niecza v15-6-gefda208: OUTPUT«NaN␤»
mathw blinks
but 0 is the zero of multiplication!
argh
masak mathw: they "tie" and you can't really say anything about the result.
mathw infinity makes my head hurt
sorear Just remember that it has nothing to do with math and you'll be all right. 08:24
mathw the mathematicians who study it might disagree
masak mathw: did you ever look into א_0 and א_1? it's great stuff.
mathw but at the moment I'm more inclined to worry about SQL 08:25
sorear Infinity was created by Kahan et al at Intel as a practical convenience to programming and making out-of-range computations DWIM
mathw: Mathematical infinities? I know of three common ways to define that, and two more uncommon ones, and none of them are the one IEEE uses 08:26
when mathematicians adjoin a limited number of infinities to a continuous number system, they usually just add one - this allows all four arithmetic operations to be continuous everywhere 08:27
in, say, complex analysis, it's very convenient to just say: "f is rational, so it must be continuous everywhere" 08:28
08:29 kaleem joined
masak sorear: the real projective line has but one infinity, but surely the ordinary real number line has +∞ and -∞ distinct? 08:30
sorear The ordinary real number line does not have any infinities.
masak fair enuf. 08:31
sorear The sequence 1, 2, 3, 4, ... does not have a limit
masak right.
"infinity is not a number"
bonsaikitten amusingly 2,4,6,8 ... has the same amount of items as 1,2,3,4... 08:32
moritz any countable, infinite sequence has the same number of items as 1, 2, 3, 4 ...
mathw whereas it's impossible to even write the first two elements of an uncountably infinite sequence 08:33
bonsaikitten yup :) people intuitively dislike that
bonsaikitten likes aleph_0 sized infinities 08:34
masak mathw: how then is it a sequence?
moritz mathw: that's not true
sorear 0, 1
I just wrote the first two elements of Ord
moritz mathw: you can define the sequence 1, 2, 3, {all real numbers > 3)
sorear which is so big, it's *not even a set*
larger than every definable cardinal, etc
mathw moritz: cheat :P 08:35
moritz mathw: "cheating is technique" # hpmor.com/chapter/78
masak cheating would imply breaking the rules, not using them creatively. 08:36
moritz well, s/cheating/hacking/ then :-) 08:37
sorear in mathematics, unlike law, what you see is what you get
sorear thinks the Loewenheim-Skolem paradox is relevant here 08:38
mathw This channel's so smart, when you're all bored with Perl 6 how about you design a database system that doesn't suck/ 08:39
sorear I have this weird sense of self-conciousness trying to prevent me from using ordinals in public
moritz is rather happy with postgres 08:40
sorear like I'd be showing off in a bad way or something
sorear knows happy postgres users
moritz sorear: it's ok to use ordinals in public, if you're in the presence of the right kind of people
arnsholt I'm reasonably happy with Pg 08:41
bonsaikitten mathw: that's subjective, what would be needed to make you happy?
arnsholt But SQL is generally a bad fit for general object storage though, which is a bit of a shame
moritz (maybe we can expose nqp's/rakudo's bounded serialization to the userspace?) 08:42
arnsholt moritz: That'd be cool. Would hopefully make things like Storable relatively simple 08:43
mathw SQL really annoys me 08:44
frettled masak: Your latest blog entry appears to be made tomorrow :)
tadzik :>
sorear I am highly dubious about the possibility of using bounded serialization effectively for storing user data
mathw It's powerful, but it's also really dumb
moritz frettled: and it was made a month ago :-)
sorear frettled: it has for a few months
arnsholt mathw: SQL syntax really annoys me. I don't particularly mind the semantics though
sorear SQL syntax is just stupid 08:45
mathw I do think some of what I'm doing at the moment is a bad fit for an SQL database though
sorear especially the quoting rules
frettled moritz: It looks as if you will be staying at my place during the hackathon, and I look forward to seeing you in a week :) Are there any allergies or special needs I need to be aware of?
moritz sorear: why? (re bounded serialization)
mathw it fits in what we understand to be relational theory, but that's not the same thing as what SQL Server does
frettled sorear: ah, I haven't looked at Planet Perl Six in a long time, haha :O)
sorear moritz: too fragile, binds the data too closely to the program 08:46
moritz: IME one of the killer features of Storable is that you can modify the classes and load the same data
and load the same data in different but related programs
it seems very tricky to make that work in an environment where the default behavior is to serialize HOW 08:47
(yes, boundedness ameliorates this partially. I still am nervous.)
moritz well, how do other languages solve that problem? languages where objects aren't just glorified hashes, that is 08:49
masak oh, this is cute: en.wikipedia.org/wiki/Division_by_z...y_attempts -- it's a bit like liquid spec, where a logical blunder like 0/0 == 0 can creep in because things are untested. :) 08:50
frettled: oh thank Bog it's tomorrow. then I won't have to be ashamed anymore.
sorear moritz: every language I know of that has a general-purpose serialization facility saves object types using something like a name 08:51
I know that "50 million Frenchmen cannot be wrong" is not a sound argument, but still 08:52
mathw serialisation always worries me
frettled masak: hee-hee
mathw I can see that it has a use where things like Windows Communication Foundation use it (although that does make it rather harder for hte other end to not be written in .NET) but for long-term storage... it's easy, but some of the implicationsa re not 08:53
moritz sorear: maybe we can introduce by-name lookup mode for some boundaries for user-space serialization
masak wow, a divide-by-zero once knocked out the propulsion system of a Ticonderoga-class cruiser: en.wikipedia.org/wiki/USS_Yorktown_...ip_testbed 08:55
sorear masak: Didn't we lose the Arianne 5 to an exception-throwing division? 08:56
moritz masak: since 1/0 is infinite, it can nock out arbitrary large ships :-)
sorear: the problem with Arianne 5 was an overflow
sorear I don't think the USS_Yorktown *EXPLODED* after dividing by zero 08:57
masak moritz: :P
sorear: no, it was just dead in the water.
tadzik that would've been so holywood-y
masak exploding due to a divide-by-zero sounds... what tadzik said :)
moritz sorear: they reused the software of the Arianne 4, but v5 had more power, accelerated faster, and thus produced an overflow in some accumulator
tadzik imagine this. The Division, by Steven Spielberg
moritz sorear: the overflow was detected, error messages emitted. The receiver module wasn't programmed to receive error messages, interpreted them as flight data 08:58
tadzik Starring Georg Cantor
moritz wrongly detected a huge deviation from the should-be course, initiated counter measures 08:59
tadzik "When you have only yourself to count on"
masak tadzik: "The empty set gets in everywhere. Be very afraid."
sorear hey, I'm headed towards the ground, self destruct now before I annihilate some innocent city
bbkr Bruce Willis in "Divide hard"
moritz which were so sever that they threatened to break the rocket. A consistency checker noticed, and activated self-destruction
masak lovely. 09:00
moritz (at least that's the story a professor told us in our class on software verification)
sorear although iirc the self-destruct produced enough infrared radiation to melt car windows in one of the observation lots
moritz that would greatly surprise me
sounds more like a nuclear explosion would be required for that, considering that it was already quite a bit up in the air 09:01
sorear en.wikipedia.org/wiki/Ariane_5_Flight_501 09:02
moritz: yeah, it greatly suprised me - someday I should factcheck that 09:03
09:03 estrabd left
masak the value that overflowed was "horizontal bias". 09:04
09:04 estrabd joined
fglock_ finds more funny perl5 variable syntax: ' $ {!} ', ' @ {+} ', ' $#{+} ', ' @{ x ->[10] } ', ' ${v {int} -> {t}} ' 09:04
sorear anyways. tadzik. hollywood explosion caused by software bugs
as opposed to the Therac-25 incidents, which were worse but less photogenic. Also not related to the concept of infinity. 09:05
moritz fglock: yes, the fun of allowing space after sigil
fglock_ except when it is not allowed: ' $# {+} ', ' $ #{+} ', ' @ { + } ' are syntax errors 09:07
moritz how... intuitive. 09:08
masak sorear: skimming the Wikipedia article, I get the impression that it wasn't so much a single error that caused it, but just bad software design. 09:09
09:09 estrabd left 09:11 estrabd joined
tadzik sorear: indeed. Now we only need to add a nuclear warhead onboard, a spacraft flying towards Washington and Bruce Willis on a jetpack trying to fix the onboard computer and we've got a movie 09:11
moritz tadzik: you forgot the love story
tadzik oh, right
sorear a movie about a rocket that explodes without warning wouldn't work, I think 09:12
tadzik yeah
sorear you need to have a long drawn-out crisis
tadzik you've got to have this long flight and the disturbing ticking noise on the radar
sorear unless it's a scathing documentary on avionics software QC practices 09:13
I might watch that
mathw it has to be linked somehow to someone's attempts to make another person look bad because they were promoted over them 09:15
and there also has to be a coverup for a journalist to get killed trying to expose
which means there absolutely has to be nuclear material on the rocket
tadzik and a cold war reference
09:15 spider-mario joined
tadzik because it never gets old 09:16
bonsaikitten masak: it was good design, just that someone took a shortcut and thus made all the assumptions and checks invalid
tadzik . o O ( it never gets cold )
moritz and the person that they try make look bad is the woman that Bruce Willis falls in love with
bonsaikitten sorear: it's not the avionics software I fear, it's the hardware ... the stories I've heard make me wonder why there are so few failures in airplanes
moritz considering that there are rumors that you can remotly log in with telnet (!) on the flight control system and tune the engines, I'm worried about the software too. 09:18
bonsaikitten moritz: as long as some components have failure modes that are best described at "rapid loss of structural integrity" ... eh, no worries ;)
moritz bonsaikitten: as long as the auto destruction is triggered in a timely matter, no worries :-) 09:19
bonsaikitten I kinda like having both wings attached to the plane 09:20
I'm conservative ;)
09:21 daxim joined
moritz "self-destructing safety vests are under your seat" 09:21
jnthn morning 09:23
tadzik hello
moritz \o jnthn 09:24
masak jnthn! \o/ 09:25
09:31 fhelmberger left
frettled jnthn: o/ 09:33
fglock_ heh - I've hacked -MO=Deparse in perlito5:
$ node perlito5.js -Isrc5/lib -MO=Deparse -e ' say "works!" while 1 '
masak nice. fglock_++
fglock_ it emits perl5 from the AST
masak &say wouldn't work with -e in vanilla perl :) 09:34
but I guess you're free from such back-compat constraints.
09:34 kresike joined
fglock_ sure - it compiles to: Perlito5::Runtime::say('works!') 09:34
09:34 tarch left
masak heh. 09:35
fglock_ pastebin.com/542jzNbh 09:38
09:39 kaleem left 09:42 kaleem joined
tadzik nice 09:42
09:43 spider-mario left 09:44 spider-mario joined
masak r: say <a b c d e>.kv.invert.perl 09:47
p6eval rakudo 3bd91f: OUTPUT«Method 'invert' not found for invocant of class 'List'␤ in block <anon> at /tmp/QqHmWorf4f:1␤␤»
masak r: say <a b c d e>.kv.hash.invert.perl
p6eval rakudo 3bd91f: OUTPUT«("a" => "0", "b" => "1", "c" => "2", "d" => "3", "e" => "4").list␤»
09:47 kaleem left
masak r: say <a b c d e>.kv.hash.perl 09:47
p6eval rakudo 3bd91f: OUTPUT«("0" => "a", "1" => "b", "2" => "c", "3" => "d", "4" => "e").hash␤»
09:49 cj left 09:50 cj joined 10:09 pernatiy left 10:23 tarch joined 10:28 Patterner left 10:29 scott__ left
masak r: say (my %).push(<a 1 a 2 a 3 b 4 b 5 c 6 c 7>).perl 10:30
p6eval rakudo 3bd91f: OUTPUT«("a" => ["1", "2", "3"], "b" => ["4", "5"], "c" => ["6", "7"]).hash␤»
masak \o/
10:32 Psyche^ joined, Psyche^ is now known as Patterner 10:33 lestrrat left 10:34 lestrrat joined 10:36 NamelessTee joined 10:40 revdiablo left 10:43 thelazydeveloper joined 11:01 brrt left
flussence this seems like a very PHPish thing to do: lwn.net/Articles/491788/ 11:15
11:20 lichtkind joined
lichtkind moritz: ? 11:23
masak flussence: isn't this the same security issue that Perl fixed 10 years ago? 11:24
lichtkind: ¿
flussence masak: yes, and here the security fix is "off by default for compatibility reasons"... 11:25
masak the only one who gets away with restricting his communication to a single question mark is Victor Hugo. :)
flussence: I found that odd too. 11:26
jnthn huh, the compatibility reason seems to be "people relied on hash iteration ordering"...
(disclaimer: only skimmed it...)
masak wtf 11:28
jnthn Makes me want to ensure we deliberately "break" such code every Rakduo release. :)
masak how can you *rely* on hash iteration ordering?
jnthn "Historically, dict iteration order has not changed very often across" 11:29
releases and has always remained consistent between successive executions of
Python. Thus, some existing applications may be relying on dict or set ordering.
flussence speaking of which, maybe rakudo should be randomising its hash iteration... 11:30
r: .gist.say for {a=>1,b=>2,c=>3};
p6eval rakudo 3bd91f: OUTPUT«("a" => 1, "b" => 2, "c" => 3).hash␤»
flussence r: .gist.say for {a=>1,b=>2,c=>3}.kv;
p6eval rakudo 3bd91f: OUTPUT«a␤1␤b␤2␤c␤3␤»
flussence r: .gist.say for {a=>1,b=>2,c=>3}.hash; 11:31
p6eval rakudo 3bd91f: OUTPUT«"a" => 1␤"b" => 2␤"c" => 3␤»
jnthn It should be, I think...
Though may need a bigger hash.
flussence r: .gist.say for {'a'..z' X 1..*}.hash; 11:32
p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 2␤»
flussence r: .gist.say for ( 'a'..z' X 1..* ).hash;
p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 2␤»
flussence oh, oops
jnthn missing '
flussence r: .gist.say for ( 'a'..'z' X=> 1..* ).hash;
p6eval rakudo 3bd91f: OUTPUT«(timeout)»
flussence /facepalm
r: .gist.say for ( 'a'..'z' Z=> 1..* ).hash;
p6eval rakudo 3bd91f: OUTPUT«"a" => 1␤"b" => 2␤"c" => 3␤"d" => 4␤"e" => 5␤"f" => 6␤"g" => 7␤"h" => 8␤"i" => 9␤"j" => 10␤"k" => 11␤"l" => 12␤"m" => 13␤"n" => 14␤"o" => 15␤"p" => 16␤"q" => 17␤"r" => 18␤"s" => 19␤"t" => 20␤"u" => 21␤"v" => 22␤"w" => 23␤"x" => 24␤"y" => 25␤"z" => 26␤»…
flussence n: .gist.say for ( 'a'..'z' Z=> 1..* ).hash; 11:34
p6eval niecza v15-6-gefda208: OUTPUT«"z" => 26␤"y" => 25␤"x" => 24␤"w" => 23␤"v" => 22␤"u" => 21␤"t" => 20␤"s" => 19␤"r" => 18␤"a" => 1␤"b" => 2␤"c" => 3␤"d" => 4␤"e" => 5␤"f" => 6␤"g" => 7␤"h" => 8␤"i" => 9␤"j" => 10␤"k" => 11␤"l" => 12␤"m" => 13␤"n" => 14␤"o" => 15␤"p" => 16␤"q" => 17␤»…
flussence ?!
moritz lichtkind: ! 11:36
n: say ( 'a'..'z' Z=> 1..* ).hash;
p6eval niecza v15-6-gefda208: OUTPUT«{"a" => 1, "b" => 2, "c" => 3, "d" => 4, "e" => 5, "f" => 6, "g" => 7, "h" => 8, "i" => 9, "j" => 10, "k" => 11, "l" => 12, "m" => 13, "n" => 14, "o" => 15, "p" => 16, "q" => 17, "r" => 18, "s" => 19, "t" => 20, "u" => 21, "v" => 22, "w" => 23, "x" => 24, "…
moritz n: say ( 'a'..'z' Z=> 1..* ).hash.list; 11:37
p6eval niecza v15-6-gefda208: OUTPUT«"z" => 26 "y" => 25 "x" => 24 "w" => 23 "v" => 22 "u" => 21 "t" => 20 "s" => 19 "r" => 18 "a" => 1 "b" => 2 "c" => 3 "d" => 4 "e" => 5 "f" => 6 "g" => 7 "h" => 8 "i" => 9 "j" => 10 "k" => 11 "l" => 12 "m" => 13 "n" => 14 "o" => 15 "p" => 16 "q" => 17␤»
lichtkind moritz: could you install an gitit wiki instance?
so we can test it if it really works as interface between git and wiki world
moritz lichtkind: if it's for testing the software, can't you do it on your own machine? 11:39
lichtkind true
moritz lichtkind: I'm happy to install it when you actually want to use it, but I don't want to install more than necessary on that box 11:40
11:48 NamelessTee left
lichtkind moritz: it sounds like "the right thing to go"(tm) but i think i should test it first 11:56
i think i start by torturing the official gitit wiki to look how to break the syntax limits 11:57
12:05 _jaldhar joined 12:12 skids left 12:15 IngisKahn left, bluescreen10 joined 12:30 stepnem left 12:39 stepnem joined 12:41 pernatiy joined
masak p6: my int $x; say $x 12:47
p6eval pugs: OUTPUT«int␤»
..niecza v15-6-gefda208: OUTPUT«===SORRY!===␤␤Malformed my at /tmp/AB_LNFxJ8R line 1:␤------> my⏏ int $x; say $x␤␤Parse failed␤␤»
..rakudo 3bd91f: OUTPUT«0␤»
masak lol Pugs u so rong
jnthn Pugs cna't possibly be right
mikec nice 12:48
jnthn Why an int type object exists, you can't store it in something of type "int"
12:48 tokuhirom joined
masak right. 12:48
a natively typed container can't encompass the corresponding type object.
moritz jnthn: which branch of zavolaj should we use these days? master or v2? 12:49
arnsholt moritz++ # I'd completely forgotten about that
jnthn v2 became master, iirc 12:51
Well, was merged into
v2 was "make it work on nom"
moritz oh indeed 12:52
there just isn't any merge commit, seems to have been a fast-forward merge
jnthn yeah, it was merged, it was...right.
moritz should I delete v2 to avoid confusion?
jnthn So, feel free to remove v2 branch to...yes ;)
moritz done 12:53
12:54 PacoAir joined
masak moritz++ 12:54
moritz jnthn: oh, and have you tested the osx-fix branch on windows? 12:56
seems to work fine on OS X and linux
12:57 birdwind1pbird joined, bluescreen10 left, Patterner left, bluescreen10 joined
jnthn moritz: I seem to recall testing something recently 12:58
12:58 Psyche^ joined, Psyche^ is now known as Patterner
jnthn Maybe search irclog for me and osx-fix :) 12:59
Can't run a test rihgt now, at $client
moritz broken irclog search is broken :/ 13:00
ah well
no hurry
13:01 mucker left
jnthn Wait, it looks like the osx-fix branch is merged already 13:02
Well, was a fastforward...
13:02 GlitchMr joined
moritz eeks 13:02
moritz hates that
ok, killing that branch too 13:03
13:03 oiig_ left
jnthn yeah, it's coming back to me now...I think I tested it and merged it. 13:03
moritz ok, there's just one branch remaining besides master, and that's out_params. Which isn't merged. 13:06
bbkr there are still some warnings when running test suite for NativeCall on newest XCode, I'll post them in issues after finishing $dayjob 13:07
13:07 lichtkind left
moritz some of the new clang warnings are quite "funny" 13:08
for example clang warns about assignment in an if-condition. Nothing wrong with that, but the way to disable the warning is to double the parens, if ((x = something() )) { ... } 13:09
now they warn whenver one doubles the parens around something that is not an assignment. Which is... not very helpful
timotimo haha 13:12
that's amusing
moritz it's a meta warning: "doing this might limit our ability to warn" 13:14
timotimo: it's only amusing as long as you're not on the receiving end of the bug reports complaining about build warnings :-)
timotimo can you disable *that* warning? ;)
moritz probably. But that requires clang-specific code then :/ 13:17
13:21 lichtkind joined 13:30 LylePerl left, leprevost joined 13:42 skids joined 13:55 _jaldhar left 13:59 JimmyZ joined 14:16 cognominal left 14:17 cognominal joined
JimmyZ aloha 14:20
moritz o/ 14:21
14:22 LylePerl joined
masak JimmyZ: 你好 14:25
JimmyZ 麦高下午好 14:26
masak 你记得我的名字。爽。 14:30
JimmyZ 呵呵
masak :)
daxim 嘿,哥们儿
JimmyZ 大家好 14:31
masak 好的。
JimmyZ daxim 在澳大利亚? 14:32
daxim 奥地利 14:33
14:33 PacoAir left
tadzik zażółć gęślą jaźń! 14:33
JimmyZ daxim: 中国人 ?
masak was just gonna suggest 奥地利 based on whois info 14:34
14:34 birdwind1pbird left
daxim 不是 14:34
masak JimmyZ: 如果他是不是中国人,他怎么能使用中国文字! :P
s/是// 14:37
daxim www.flickr.com/photos/shijialee/393...datetaken/ 14:38
JimmyZ daxim: 那个穿 perlchina 衣服的是你? 14:39
14:40 birdwindupbird left 14:41 birdwindupbird joined
masak oh, I had forgotten how elegant and beautiful 中文 is. 14:42
"[that one wearing perlchina clothes]-NP is you?" 14:43
daxim 他是 perlchina.org/bjpwQiang - 我是那个欧洲人
JimmyZ oh
masak hehe
daxim 啊 哦
JimmyZ daxim: 你的中文不错哦,我还以为你是中国人呢,呵呵 14:45
daxim 哪里,哪里…… :) 14:46
masak :D
masak would like to be able to pull that off at some point :)
我的中文错得不得了 ^^ 14:48
JimmyZ masak: perlchina.org/
masak: which likes perl.org
masak indeed. 14:49
woot.
14:49 liuchong left
masak tadzik: that be the "yellow the goose's self-awareness" one? :) 14:51
tadzik aye :)
masak it's a hoot to pronounce. takes me like 7 seconds, far too long. 14:52
tadzik hehe 14:53
masak gets a frightening vision of Lingua::Polishgata
14:53 snearch joined
tadzik huh, I have no idea how to write the pronounciation using english letters 14:53
masak why would you want to? 14:55
Polish lettering is optimized for Polish sounds.
tadzik Oh Geez, we _have_ to have that! 14:56
gist.github.com/2377441
that's from #maemo
I mean, it's not particulary useful if you know Perl, but it's awesome nonetheless :) 14:57
masak we could try it out. it has to be very non-noisy. 14:58
tadzik aye
masak massive kudos if it manages to work out repeated s/// :)
daxim every infobot does this out-of-the-box
TimToady and missing/extra whitespace
flussence maybe p6eval's command line should be the last $n irc lines... 14:59
TimToady extra credit for figgering out *the style corrections 15:00
TimToady sincerely doubts it can easily figure out TimToady's sub-word style of corrections; those approach a Turing test
tadzik decomutees, or however you write that 15:01
TimToady *tes
*mm
masak :P
QED. 15:02
15:02 fsergot joined
fsergot Hello #perl6 o/ 15:02
masak a "decomutee" is a t-shirt coming out of a coma.
mikec haha
masak fsergocie, cz!
TimToady in Turkish, to get vowel harmony
er, vowul harmonu 15:03
masak get thee to an autopunnery.
15:04 estrabd left
moritz tadzik: fwiw in #perlde we have such a bot 15:06
tadzik: biggest problem is that people in here mix p5 and p6 regexes a lot
15:09 birdwindupbird left 15:11 JimmyZ_ joined 15:13 JimmyZ left, JimmyZ_ is now known as JimmyZ
TimToady wonders how Bruce Willis got the North Korean rocket to divide by 0... 15:19
15:20 kresike left, JimmyZ left
TimToady you don't suppose he reprogrammed the rocket in Perl 6? 15:20
oh wait, the thing is that Bruce Willis can do anything because *he* is programmed in Perl 6 :) 15:21
moritz he just divides the rocket by Chuck Norris :-)
TimToady he's part of the Singularity that is unevenly distributed...
TimToady wonders if there was a Therac-style error with the US "tracking laser" :) 15:22
15:23 snearch left
gfldex i'm quite confident that the great ppl of north korea can explode their missiles without the help of imperialistic kapitalisic exploitation regimes 15:26
it's proly a plot after all 15:27
"give us more money for oil and food or we build a rocket that actually works"
TimToady wonders whether they can also explode their nukes without help
gfldex they managed to explode 2 nukes IIRC 15:28
TimToady well, 1.5
gfldex you mean one of them went "pffffft"? 15:29
TimToady it was a very big pffffft, but a pffffft nonetheless
(we think)
gfldex if i would spend that much money on a pfffft i would insist on it being a big one 15:30
TimToady still something you wouldn't want to be close to...
15:32 NamelessTee joined
TimToady "Comrade, it is your great honor to go into that cave and throw this nuclear hand grenade as far as you can..." 15:33
TimToady wanders off to the shower wondering whether it would be any better to toss a nuclear horseshoe... 15:40
gfldex TimToady: you got that a little wrong. It's the communists that are getting the nukes thrown _at_ as can be seen here: www.youtube.com/watch?feature=playe...U2Q#t=405s 15:44
15:44 tokuhirom left, tokuhirom joined 15:47 Psyche^ joined 15:48 pernatiy left 15:49 tokuhirom left 15:51 Patterner left, Psyche^ is now known as Patterner 15:54 zipf joined 15:59 Shozan joined 16:12 JimmyZ joined, daxim left 16:21 answer_42 joined 16:24 zipf left 16:33 sftp joined 16:37 LylePerl left 16:43 JimmyZ left 17:06 spaceships joined 17:12 bluescreen10 left
lichtkind removed .pretty from index A 17:15
17:17 sudokode left 17:20 HarryS left 17:21 pernatiy joined 17:25 HarryS joined
felher moritz: ping :) 17:26
17:29 sudokode joined 17:30 PacoAir joined 17:31 Chillance joined, bluescreen10 joined 17:36 fgomez joined 17:49 bluescreen10 left
moritz felher: pong 17:50
sjohnson heh 17:55
felher moritz: I just removed 'method Bool() { False }' from Exception.pm and did 'make spectest': gist.github.com/2378269 . Most of the spectest-errors are of the kind 'nok(try { eval(...) }, ...)'. They fail now because try seems to return the exception upon die'ing and this exception is now True. 17:56
moritz: Maybe they can be changed to eval_dies_ok?
moritz felher: one must be careful with eval_dies_ok 17:57
felher moritz: there are some other, though, like : "my $success = try { eval...".
moritz felher: my $x = 3; eval_dies_ok '$x'; # dies, because it can't see the outer $x
felher: so generally dies_ok { eval(...) } is safer
felher: feel free to change those tests you feel confident about, and leave the rest to me 17:58
(fwiw t/spec/S32-exceptions/misc.rakudo is unrelated. I really need to fix that)
felher moritz: yeah, i wanted to mention that too. :) Since i could not see the relation i compiled rakudo again without the little patch and it was still there :) 17:59
moritz felher: I'm not sure how I managed to lose the patch that made that test pass. I was 100% sure I had pushed it to nom 18:01
maybe I was in a wrong branch or so
felher yeah, may well be. :) 18:02
18:02 bluescreen10 joined
felher moritz: well, i don't have much time now but i will make a patch for exception.pm and one for the spectests tonight :) 18:03
moritz felher: \o/ 18:04
dalek kudo/nom: d056801 | moritz++ | src/Perl6/Grammar.pm:
typed exception for unknown syntactical category
18:06
18:07 tarch left
jnthn EVENIN' 18:21
oops 18:22
lichtkind jnthn: o/
jnthn hi
masak EVENIN' #PERL6! 18:23
jnthn
.oO( "What's up?" "Evidently, not your caps lock key." )
On the upside, I have tuits. On the downside, I'm really tired. 18:24
The tuits will last the whole weekend though, whereas the tiredness is hopefully more temporary :)
18:28 fglock_ left
masak jnthn: bash.org/?835030 ;) 18:31
jnthn :P 18:33
dalek Heuristic branch merge: pushed 108 commits to rakudo/name-cleanup by jnthn 18:36
18:38 s1n left 18:43 uvtc joined 18:48 preflex left 18:49 preflex joined
masak wow, 108 commits! 18:53
jnthn ...have happened since I last worked on that branch :)
masak oh :) 18:54
right, merging is what people do who already pushed their branch into the limelight :P
18:54 birdwindupbird joined
uvtc masak, in my RSS reader, your "t3: addition chains" post keeps staying right at the top of the planet Perl 6 listing. 18:55
masak uvtc: yeah. sorry. should be resolved by itself tomorrow. 18:56
lesson learned: provide your blogging software with a check to prevent you from posting in the future. 18:57
uvtc masak, No complaints. Just curious how long it'll stay there ... Maybe it will take up permanent residence.
:)
TimToady masak: well, have you done it yet?
uvtc masak, Ah, that's what it was. Heh.
TimToady notes the time lagging while masak hacks his software so he can say "yes" 18:58
masak TimToady: I'll do it right away.
TimToady "lesson learned" hah!
masak well, real soon :) 18:59
uvtc Right after this next blog post ...
TimToady why is there no unicode for a round tuit?
jnthn masak: Easiest way to sync it between the various machines I hack on :P
diakopter .u CIRCLED DIGIT TWO 19:01
phenny U+2461 CIRCLED DIGIT TWO (②)
TimToady close
sjohnson anyone here like hockey?
TimToady we really need a 'tuit' char that we can use ENCLOSING CIRCLE with 19:02
19:03 thou joined
jnthn Just make one up and ask the Unicode folks to add it. Given some of what's in Unicode 6, the bar seems pretty low. ;-) 19:04
19:06 machine2 joined
diakopter .u A4A8 19:06
phenny U+A4A8 YI RADICAL TU (꒨)
diakopter .u A000
phenny U+A000 YI SYLLABLE IT (ꀀ)
uvtc .u 233e 19:07
phenny U+233E APL FUNCTIONAL SYMBOL CIRCLE JOT (⌾)
19:08 s1n joined
uvtc .u 2780 19:09
phenny U+2780 DINGBAT CIRCLED SANS-SERIF DIGIT ONE (➀)
19:09 padrino joined
padrino ciao 19:09
!list
19:09 padrino left 19:13 wolfman2000 joined, alvis`` joined
TimToady best I can give masak is a ㉘ 19:14
uvtc .u 24c9
phenny U+24C9 CIRCLED LATIN CAPITAL LETTER T (Ⓣ)
19:16 alvis` left
masak worksforme. 19:17
actually, I have tuis. I'm just, just as jnthn, rilly rilly tajerd.
19:17 s1n left
uvtc Ok, last one. 19:18
.u 235f
phenny U+235F APL FUNCTIONAL SYMBOL CIRCLE STAR (⍟)
TimToady .u ㊟ 19:19
phenny U+329F CIRCLED IDEOGRAPH ATTENTION (㊟)
masak TimToady, uvtc, sorear, jnthn, tadzik, moritz: github.com/masak/psyde/commit/10a3...9f8f333080 19:20
uvtc The little circle with the star in it seems like something you'd get at an amusement park. :) (hm. U+329f not displaying for me)
moritz masak++ 19:22
uvtc Neat. Is `after` an operator that works only between `Date` objects? 19:24
jnthn when * after Date.today
:D
moritz uvtc: no 19:25
r: say 4 after 3
p6eval rakudo 3bd91f: OUTPUT«True␤»
moritz r: say 4 after 4
p6eval rakudo 3bd91f: OUTPUT«False␤»
jnthn r: say 4 after 4
p6eval rakudo 3bd91f: OUTPUT«False␤»
uvtc r: 'c' after 'a'
p6eval rakudo 3bd91f: ( no output )
TimToady hates webpages that waste whitepsace and then give me a horizontal scrollbar...
masak I like to use `before` and `after` with dates and times. it reads well. strangelyconsistent.org/blog/novemb...or-the-eye 19:26
TimToady *him
masak :)
uvtc r: say 'c' after 'a'
p6eval rakudo 3bd91f: OUTPUT«True␤»
masak r: say pi after 3.14
p6eval rakudo 3bd91f: OUTPUT«True␤»
uvtc Neat. Thanks, moritz.
masak r: say pi after 3.15
p6eval rakudo 3bd91f: OUTPUT«False␤»
TimToady we need afterish and beforeish for the maybe-eqv case
moritz TimToady: !before and !after exist 19:27
masak what moritz said :)
TimToady don't always read well in the presence of not-raising
moritz speaking of which
masak `afterish` and `beforeish` don't read that well either. 19:28
TimToady suggestions welcome :)
masak `aftereqv`, `beforeqv` :)
uvtc r: 3 same-ballpark pi
p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Confused␤at /tmp/i9oE2cz8wi:1␤»
TimToady before-or-same
moritz we should have a trait that allows you declare an infix:<cmp> and derive 'before' and 'after' from them
19:28 FACEFOX joined
moritz likewise leg => eq, ne, lt, gt, le, ge 19:28
masak ooh
+1
moritz and <=> => ==, !=, <, <=, >, <= 19:29
erm, >=
masak I see a great need.
people will thank us when they're writing custom types.
sjohnson u 19:30
oops
TimToady .u ䷿䷾ 19:33
phenny U+4DFF HEXAGRAM FOR BEFORE COMPLETION (䷿)
U+4DFE HEXAGRAM FOR AFTER COMPLETION (䷾)
19:34 s1n joined
masak I wonder if anyone else on the channel 'sides me and au++ studied I Ching in any depth. 19:38
sjohnson .u ( `ー´) 19:39
phenny sjohnson: U+0020 U+FF08 U+3000 U+FF40 U+30FC U+00B4 U+FF09
masak .u              19:40
phenny masak: Sorry, your input is too long!
masak :)
.u           19:41
phenny masak: U+2002 U+2003 U+2004 U+2005 U+2006 U+2007 U+2008 U+2009 U+200A
moritz ok, I've started writing a module that derivees such operators for you...
and it's more complicated than I thought, initially
the first problem is that I don't know how to create the nominal type constraints for the signatures of the derived ops
std: anon multi foo() { } 19:42
p6eval std 1ad3292: OUTPUT«ok 00:00 41m␤»
moritz r: anon multi foo() { }
p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Cannot use 'anon' with individual multi candidates. Please declare an anon-scoped proto instead␤at /tmp/vUI_S41Wv4:1␤»
moritz and that's the second problem. I'd need to generate invdividual, anon multis
masak that does not make immediate sense to me. 19:43
moritz which one? 19:44
rakudo's error?
TimToady lessee, <=> means, <, =, or >, and leg means lt, eq, or gt, so bsa should mean before, same, or after, and cmp should mean, er...c<mumble>, m<mumble>, or p<mumble>, where those ops work across types consistently-ish in the way default sort wants to work 19:45
lunch & 19:47
masak if you solve the "default sort across types" problem, I'll even let you name them c<mumble>, m<mumble>, and p<mumble> :)
moritz c'mon mister perl? 19:48
r: multi () { }
p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Confused␤at /tmp/PSIToKEp8g:1␤»
moritz r: multi sub () { }
p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Cannot put multi on anonymous routine␤at /tmp/POzlDI6ear:1␤»
masak cinnamon mustard pepper.
jnthn Why do you need to put "multi" on it? 19:57
"multi" means "locate the controlling proto and add this to its candidate list"
masak can't multi protolessly ;) 19:58
jnthn Right
But multi candidates are just normal routines. 19:59
masak carl masak pwn'd! hah!
oh wait
jnthn "multi" doesn't make them different, it just changes how they're installed. :)
moritz jnthn: well, I want to export them. And when they are imported, they should behave as normal multi candidates
jnthn So if you're doing that yourself by hand... :)
moritz: Sure, but the normal case of doing exports just has a proto with the candidates installed in EXPORT somewhere. 20:00
moritz jnthn: so I need an anon proto, and .add_candidate a single candidate to it? 20:01
jnthn Should cut it 20:02
nom: anon proto (|$) { }
p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Confused␤at /tmp/01EK3gzILL:1␤»
jnthn nom: anon proto sub (|$) { }
p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Cannot put proto on anonymous routine␤at /tmp/sXOyCGinJZ:1␤»
jnthn Ah
That one feels like an unrequired restriction.
moritz aye
uvtc I was asking here yesterday about how nested lists work. 20:03
Tene moritz: can't you just define a type that implements those operators in terms of the first, and then derive that type in your custom type?
uvtc I see that square brackets don't flatten (thanks spider-mario++). 20:04
r: my @b = ('i', ['x', 'y', 'z'], 'j'); say @b[1][2]; # prints 'z'
p6eval rakudo 3bd91f: OUTPUT«z␤»
uvtc And that if the inner array already exists, I can do this:
r: my @a = <x y z>; my @b = ('i', [@a], 'j'); say @b[1][2]; # prints 'z'
p6eval rakudo 3bd91f: OUTPUT«z␤»
uvtc I also saw that you can assign a list to a scalar to avoid list flattening:
r: my @a = <x y z>; my $c = ('i', @a, 'j'); say $c.perl
p6eval rakudo 3bd91f: OUTPUT«$("i", Array.new("x", "y", "z"), "j")␤»
jnthn moritz: elsif $*MULTINESS { in routine_def would just change to checking it's 'multi'
uvtc but that looks odd to me (why assign a list to a scalar?), and also, indexing into it doesn't work: 20:05
r: my @a = <x y z>; my $c = ('i', @a, 'j'); say $c[1][2]; # doesn't print 'z'
p6eval rakudo 3bd91f: OUTPUT«Index out of range. Is: 2, should be in 0..0␤ in method gist at src/gen/CORE.setting:8224␤ in sub say at src/gen/CORE.setting:6258␤ in block <anon> at /tmp/lb9wP1PJJF:1␤␤»
20:05 birdwindupbird left
uvtc (Shoot, sorry to trod over Tene/jnthn convo there.) 20:05
jnthn uvtc: my $c = ('i', @a, 'j') # this does not prevent flattening 20:06
uvtc: It's that flattening is lazy.
20:07 birdwindupbird joined
PerlJam wonders what's with all the extra parens 20:07
;)
jnthn uvtc: Array.new(...) does not imply non-flattening. It'd look like [...] if it was not going to flatten.
uvtc: The .perl output is simply revealing this laziness.
masak: To multi-macros actually work? :) 20:08
*Do
uvtc jnthn, I'm happy to just stick with Baby Perl 6 for now --- is there any good reason I'd need to assign a list to a scalar?
jnthn uvtc: Yes, when you want that list to act as an item 20:10
uvtc PerlJam, old habit. :)
jnthn (But that doesn't sany anythin gabout the thing inside of it.)
s/sany/say/
moritz gist.github.com/2379772 # this is what I have now. Somehow the name of the generated operator always comes out as 'infix:<>'. Any idea why?
uvtc jnthn, I must say, this seems rather complicated to me. 20:11
jnthn, Thanks for the help.
Tene uvtc: the summary is, @ represents a flattening of many items, $ represents a single item. 20:12
masak jnthn: I don't see why not. well, barring that the spec might still change around in how macro parameters are handled.
Tene If you want it to act as a single item, use $. If you want it to act as many items, use @.
masak jnthn: but assuming you can introspect ASTs with where clauses, multi macros make a lot of sense.
jnthn masak: Or just arity
masak or maybe even introspect them with subsignatures.
or just arity, sure.
20:12 NamelessTee left
jnthn moritz: Yeah, something to do with anonymous roles and lexical scoping. 20:13
uvtc Tene, thanks. Perhaps I can find an example at some point in the Perl 6 Book.
jnthn moritz: Just declare a my role named { has $.name }; and then $c does named(...);
20:14 uvtc left
masak the other day I had a really clear thought about macro signatures and compile-mode/run-mode and jiggery-pokery between them, with a conclusion of some kind. but I'm too tired to remember what it was now :/ 20:14
PerlJam masak: next time, write it down then :)
moritz \o/ 20:15
and suddenly it "works" 20:16
sorear masak++
jnthn nom: multi macro foo($a) { quasi { say 1 } }; multi macro foo($a, $b) { quasi { say 2 } }; foo(42); foo(24, 42) 20:17
p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Illegal redeclaration of macro 'foo' at line 1, near "; foo(42);"␤»
jnthn aww
moritz jnthn++ # gist.github.com/2379772 looks much better now 20:18
hey, I have another evil idea
can't I just generate a named proto + multi, and then rename them bother later on? 20:19
masak "later on"? lexpads are immutable at runtime. :) 20:20
moritz masak: I know I know I know. But for the export trait it's not important what the name in the lexpad is, but rather what name the routine itself reports
masak: that's why do I this fun thing of mixing in a role that changes the name 20:21
masak moritz: nice gist. should probably have a &die to check that the hash key exists.
moritz yes, it should
and if it ever makes it into a proper module, it will
masak moritz: also 'is autogen' is too generic. maybe 'is comparison' or something? 20:22
moritz 'is comparison' doesn't capture the idea either
masak 'is deriving_lots_of_other_ops' :)
moritz comparison-autogen
jnthn Well, it's totally not spec'd API, but .'!set_name'(...) works too for changing the name, I think.
autocomparators 20:23
masak sounds like something out of Transformers.
moritz well, it is a transformer :-) 20:24
20:24 GlitchMr left
moritz ===SORRY!=== 20:25
get_pointer() not implemented in class 'Perl6::Metamodel::ClassHOW'
that's a new one, isn't it? :-)
jnthn Wow.
How'd you get that?
moritz with evil magic :-)
and, it's triggered from inside the optimizer
jnthn bah 20:26
moritz some blocks inside visit_op
I just changed all the anon subs to
do { proto a(|$) { }; mutli a ($a, $b) { # same body as before }; &a }
20:28 NamelessTee joined
moritz and then called 20:29
./perl6 -e 'use A; say "a" before "b"'
meta programming is fun. 20:31
jnthn Oddness. Feel free to ticket it.
moritz I'll see if I can boil it down to something managable 20:32
jnthn: can I fudge in type constraints into a signature somehow? 20:33
jnthn nom: say ?eval('module MY; 1')
p6eval rakudo 3bd91f: OUTPUT«False␤»
jnthn nom: say ?eval('module foo; 1')
p6eval rakudo 3bd91f: OUTPUT«False␤»
jnthn nom: say ?eval('module foo; 0')
p6eval rakudo 3bd91f: OUTPUT«False␤»
jnthn nom: say ?eval('module foo { 0 }')
p6eval rakudo 3bd91f: OUTPUT«False␤»
jnthn nom: say ?eval('module foo { 1 }')
p6eval rakudo 3bd91f: OUTPUT«False␤»
jnthn Oh
moritz nom: say eval('module foo; 1 ')
p6eval rakudo 3bd91f: OUTPUT«foo()␤»
jnthn It evaluates to the type object...
moritz nom: say eval('module foo { }; 1 ') 20:34
p6eval rakudo 3bd91f: OUTPUT«1␤»
jnthn S02-names-vars\variables-and-packages.rakudo has a bunch of tests like
moritz which is what people expect from classes
jnthn ok !eval('module MY; 1'), 'MY is an out of scope name';
moritz oh
that's from the days where eval didn't throw exceptions
jnthn I think what it's aiming at is testing that you're not allowed to declare pseudopackages.
Right, and we're been passing them bogusly 20:35
moritz it should really be eval_dies_ok 'module MY;'
jnthn Now in my names-cleanup branch
===SORRY!===
Cannot use pseudo-package MY in a package name
also...
moritz much better
jnthn ok !eval('module SUPER; 1'), 'SUPER is an out of scope name';
Is SUPER really spec?
moritz no
I think I removed that recently
jnthn ok, then I kill that test
moritz (it was mentioned but not really specced) 20:36
masak SUPER is ex-spec.
it has ceased to be.
jnthn I ex-spected that was the case. 20:37
eval_dies_ok 'module CONTEXT;', 'CONTEXT is an out of scope name'; 20:39
That one became DYNAMIC, I guess?
moritz yes, I think so
\o/
I've managed to fudge in the type constraints
it's getting more evil by the minute :-) 20:40
nqp::bindattr ftw
jnthn OK, then that's one of the test files my names-cleanup branch has made unhappy fixed/improved. :)
moritz gist.github.com/2379772 # now with type checks 20:45
jnthn Wow. And since you are generating them at compile time int he trait, then the compilation unit using the module gets the compile-time type checking. :)
moritz it needs to be compile time for them to be installable into a lexical scope 20:46
jnthn Aye
Mostly just being happy that you can be really dynamic in a module, then present a static, analysable view to the outside world. 20:47
20:49 cognominal left
masak 'night, #perl6 20:49
20:50 knewt_ joined, cognominal joined, knewt_ left
masak dream really dynamically, then present a static, analysable view to the waking world :) 20:50
20:50 knewt_ joined, knewt_ left
jnthn 'night, masak 20:50
20:51 NamelessTee left, NamelessTee joined
moritz enough meta brain damage for tonight 20:54
moritz also goes to bed
jnthn 'night moritz
20:55 FACEFOX left, FACEFOX joined, FACEFOX left 20:57 FACEFOX joined, FACEFOX left 20:59 FACEFOX joined, FACEFOX left 21:00 FACEFOX joined, FACEFOX left 21:03 FACEFOX joined, FACEFOX left, FACEFOX joined, FACEFOX left 21:06 FACEFOX joined, FACEFOX left 21:08 FACEFOX joined 21:11 skids left 21:15 leprevost left 21:17 wolfman2000 left 21:22 birdwindupbird left
tadzik masak: \o/ 21:35
oh, evrybody's sleeping
jnthn o/ tadzik :)
tadzik \o/ 21:36
tadzik 's back from geocaching
spider-mario \o 21:37
21:40 answer_42 left 21:41 fsergot left, Moukeddar joined, fgomez left 21:42 Moukeddar left
sjohnson ( `ー´) 21:42
tadzik (´ー` )
sjohnson hehe 21:43
tadzik ( ° ー°)<( Are you laughing at me? ) 21:44
:P
all fat faces in action!
sjohnson needs more fat face emoticons 21:46
21:51 fgomez joined
dalek kudo/name-cleanup: 4de6f1d | jnthn++ | src/Perl6/ (2 files):
Fix handling of the anonymous name :: and avoid some duplicate work in package_def.
21:55
kudo/name-cleanup: f262bbb | jnthn++ | src/Perl6/World.pm:
Add PARENT to the list of recognized pseudo-packages (though it is NYI).
kudo/name-cleanup: 6a30cd3 | jnthn++ | src/Perl6/World.pm:
Fix thinko in hanlding pseudo-packages in type names.
kudo/name-cleanup: c78bab9 | jnthn++ | src/Perl6/World.pm:
Re-disallow declaring GLOBAL.
21:56 fgomez left, fgomez joined
jnthn tadzik: Were you working on keyhash/keyweight? Did you block on something with them? 22:01
tadzik jnthn: I think they were mostly working 22:02
oh, I may have some refactors lying around, hold on
roles stuff iirc, yes
I was tackling that on GPW
I'll try to rebuild it
22:03 lichtkind left
tadzik jnthn: oh, ISTR we didn't come to the conclusion regarding roles and BUILD or so 22:08
felher Hm: 'class X::Syntax::Variable::Match does X::Syntax' and 'class X::Syntax::Variable::Numeric does X::Syntax '. This means that you can not catch those exceptions with 'when X::Syntax::Variable', doesn't it? OOC, is this just NYI, not yet specced/decided, or will there never be a complete hierarchy? 22:10
jnthn Package names and role compositoin or inheritance aren't related at all in the language. 22:13
tadzik: Oh...hm.
tadzik now I get maximum recursion depth exceeded in Stringy, ~, Stringy, ~... 22:17
felher jnthn: yeah. That part was just a recap to assure i didn't get something completely wrong, or it it's some kind of boostraping issue with something hardwired somewhere in rakudo. Do you have an answer to the second part, also? :)
jnthn felher: moritz++ is the best person to answer that, since he's designing the hierarchy in question. It seems reasonable to have an X::Syntax::Variable though, at first blush. 22:18
tadzik jnthn: wklej.org/id/731188/ is the patch. It may be a little off, I got some merge conflicts when I tried to apply it
jnthn tadzik: That often winds up being an error reporting failure.
tadzik I'm now trying to recall what was on my mind
I think what I ended up with is keeping and initializing %!storage in a Settish role and then using the accessor method in the classes 22:19
felher jnthn++: Thanks for your answer, as ever :) I want to talk to moritz on the morrow anyway :) 22:22
22:23 localhost left 22:25 localhost joined
dalek kudo/name-cleanup: 921de87 | jnthn++ | src/Perl6/ (2 files):
Implement :: on the end of a name meaning .WHO, so now Foo::<&bar>() style things work.
22:32
22:37 mucker joined 22:41 IngisKahn joined 22:42 _jaldhar joined
jnthn Time for some rest & 22:46
22:58 bluescreen10 left 23:00 FACEFOX left 23:01 pernatiy left, pernatiy_ joined 23:02 y3llow_ joined 23:03 FACEFOX joined
[Coke] wants an IRC client that uses irssi when I'm here, but the weblogs when I return. 23:03
23:04 NamelessTee left 23:05 ashleyde1 joined, y3llow_ left 23:06 masak_ joined, y3llow_ joined 23:07 baest_ joined 23:08 huf_ joined
[Coke] ... are the names in the weblog color coded? TimToady keeps showing up bold-green. 23:09
23:09 y3llow_ left, y3llow_ joined, preflex_ joined, clkao_ joined 23:10 BooK__ joined 23:12 wooden_ joined 23:13 wooden_ left, wooden_ joined, y3llow_ left, y3llow_ joined 23:14 zamolxes_ joined 23:15 pochi_ joined, bluescreen10 joined, y3llow_ left, preflex left 23:16 preflex_ is now known as preflex, y3llow_ joined, y3llow left, wooden left, ashleydev left, masak left, baest left, BooK left, pochi left, huf left, felher left, phenny left, clkao left, zamolxes left 23:18 phenny joined 23:19 machine2 left, y3llow_ left 23:20 FACEFOX left, felher joined, y3llow joined, machine2 joined 23:22 y3llow left 23:24 y3llow joined, FACEFOX joined 23:25 y3llow left, y3llow joined 23:27 huf_ is now known as huf, y3llow left, y3llow joined 23:29 oiig_ joined 23:30 y3llow left, y3llow joined 23:32 y3llow left, y3llow joined 23:33 spider-mario left 23:34 y3llow left 23:35 y3llow joined 23:37 y3llow left, y3llow joined 23:39 y3llow left, y3llow joined 23:41 y3llow left 23:42 y3llow joined 23:44 y3llow left, y3llow joined 23:46 y3llow left 23:47 y3llow joined 23:49 y3llow left, y3llow joined 23:51 y3llow left 23:52 y3llow joined 23:54 y3llow left, y3llow joined 23:56 y3llow left 23:57 y3llow joined
flussence [Coke]: I guess some of them are hardcoded - p6eval is too 23:57
(it seems to use a stable hashing algorithm as well :) 23:58
23:59 y3llow left, y3llow joined