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