»ö« 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«NaNInf» | ||
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«a1b2c3» | ||
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 $xParse 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/bjpw 的 Qiang - 我是那个欧洲人 | ||
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!===Confusedat /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 insteadat /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!===Confusedat /tmp/PSIToKEp8g:1» | ||
moritz | r: multi sub () { } | ||
p6eval | rakudo 3bd91f: OUTPUT«===SORRY!===Cannot put multi on anonymous routineat /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!===Confusedat /tmp/01EK3gzILL:1» | ||
jnthn | nom: anon proto sub (|$) { } | ||
p6eval | rakudo 3bd91f: OUTPUT«===SORRY!===Cannot put proto on anonymous routineat /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
|