»ö« 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! | Rakudo Star Released! Set by diakopter on 6 September 2010. |
|||
00:05
ggoebel joined
00:06
jferrero joined
00:09
MayDaniel left
00:10
pythonian4000 is now known as pythonian4000afk
00:12
dnl left
00:14
jferrero left
|
|||
dukeleto | lichtkind: ETOOMANYTHINGS | 00:35 | |
lichtkind | same here :) | 00:36 | |
00:40
Chat7676 joined,
Chat7676 is now known as Bella,
whiteknight joined
00:41
Bella left
00:42
stkowski_ joined
00:43
stkowski left,
stkowski_ is now known as stkowski
00:51
stkowski left
00:57
QinGW joined
01:04
risou joined
01:07
risou_ left
01:26
jhuni joined
01:37
pythonian4000afk is now known as pythonian4000
01:43
pythonian4000 is now known as pythonian4000afk
01:48
pythonian4000afk is now known as pythonian4000,
jasonmay left
01:49
jasonmay joined,
dukeleto left
01:50
dukeleto joined
01:53
florz left
01:54
jhuni left
|
|||
lichtkind | but im learning to enjoying doing instead of worring about what im missing | 01:55 | |
colomon | ETOOMANYTHINGS is a way of life here. | 02:01 | |
02:12
florz joined,
skangas left
02:34
whiteknight left
02:36
rgrau left
02:39
xinming joined
02:42
xinming_ left
02:45
petdance joined
02:52
lichtkind_ joined
02:53
lichtkind left,
lichtkind_ is now known as lichtkind,
lichtkind left
03:00
obra joined
03:05
risou_ joined
03:08
risou left
03:17
ggoebel left
03:29
patspam joined
03:36
nadim left
03:46
hercynium joined
03:48
Guest66311 left
03:59
cdarroch left
04:05
sftp left
04:08
patspam left
04:13
LoRe left
04:14
hercynium left,
LoRe joined
04:15
justatheory left
04:19
cls_bsd left
04:25
meppl joined
04:31
LoRe left
04:39
petdance left
04:44
LoRe joined
05:04
_kaare joined
05:25
flussence_ joined,
flussence left
05:35
cls_bsd joined
|
|||
araujo | pastie.org/1257320 | 05:36 | |
05:37
lue left
05:41
pythonian4000 is now known as pythonian4000afk
|
|||
araujo | pastie.org/1257327 | 05:44 | |
:) | |||
05:59
nymacro joined
|
|||
sorear | good * #perl6 | 06:00 | |
06:01
nadim joined
06:04
envi left,
dnl joined
|
|||
dnl | moinsen | 06:05 | |
06:07
satyavvd joined
06:08
envi joined
06:22
lue joined
06:23
wtw joined
06:30
lue left
06:48
pythonian4000afk is now known as pythonian4000
06:56
Bzek joined
07:00
lue joined
07:01
baux joined,
baux left
07:05
risou_ left,
risou joined
07:06
lue left
07:09
baux joined
07:16
nymacro left
07:22
lue joined
|
|||
jnthn | morning, #perl6 | 07:24 | |
sorear | hello jnthn | 07:27 | |
(I have a few millituits if you need them) | |||
jnthn | I think I need a few mililakes of coffee... :-) | 07:28 | |
sorear | Which lake? | ||
How many km^3 are there in an ISO Standard Lake?? | 07:29 | ||
jnthn | Lake Biakal. ;-) | ||
gah, | |||
Baikal | |||
07:38
kensanata joined
07:39
lue left
07:40
jfried joined
07:48
s1n left
|
|||
sorear | I drink by the attolake then | 07:51 | |
07:55
lue joined
07:58
dnl left,
dnl joined
08:00
cosimo left
08:01
dnl left,
dnl joined
08:03
satyavvd left
|
|||
jnthn | Heh. So it turns out Baikal's volume is around 23615.39 kilometers cubed. A few millilakes would thus see me drinking around 70 kilometers cubed of coffee. A typical cup of coffee is, say, 0.25 liters. This occupies about 1/4000th of a cubic meter. In the unlikely event I did the maths right, I'm set to drink 280 billion cups of coffee. That's a little much even for me. | 08:06 | |
08:09
lue left
|
|||
sorear | You only did the math right if your typical cup of coffee is 250 liters | 08:11 | |
sorear is in the one country in the world that uses fl. oz. *raage* | 08:12 | ||
don't want to talk any perl 6? | |||
jnthn | oh, crap :-) | ||
Well, I may have just about drunk enough coffee to do Perl 6 now... :-) | 08:13 | ||
I'm meant to be focusing on $dayjob though ;-) | |||
Did you see the new multi-dispatch spec? It seems...saner. | |||
sorear | yes | 08:14 | |
it basically exactly matches how I was planning to *implement* multi-dispatch | 08:15 | ||
jnthn | Nice :-) | ||
I don't think that I like the "instance = curried proto" implementation approach. Still trying to work out exactly what it's an instance of in a sense. | 08:16 | ||
sorear | I have very little hacking or IRC time this week, I'll very likely have a null report for #phasers | ||
jnthn | Plan to try it this weekend. | ||
sorear | it's not a currying of the proto | ||
it's a partial evaluation of the proto | |||
jnthn | Well, in one place the spec seems to hint that this could be a way to do it. | ||
It's one I've pondered in the past, but don't really like. | 08:17 | ||
sorear | the compiler (or role composer) can see all of the candidates, and builds a scope-specific dispatch tree | ||
note, in particular, that CORE::<&infix<+>> has a fixed set of candidates, so instead of having to partially evaluate a proto, I can just use a hand-written dispatch tree in low-level code | 08:19 | ||
ie basically what Perl 5 does, and just as fast | |||
08:19
cosimo joined
|
|||
jnthn | Aye, the proto there would almost certainly just have { * } as a body. | 08:20 | |
I wonder if CORE immutability means we can rely on wrapping of things declared in CORE to be forbidden. | |||
sorear | it's forbidden to wrap any sub in a compilation unit after that compilation unit has run its CHECK | 08:21 | |
jnthn | ? | 08:22 | |
I think .wrap is rather more dynamic than that. | |||
sorear | my interpretation of S06:2784 and similar clauses is that AOP cannot cross compilation unit boundaries | 08:24 | |
in user code, there is only one compilation unit; it contains all modules and ends right before MAIN | |||
08:25
Trashlord left
|
|||
sorear | but we're free to make the setting a separate compilation unit | 08:25 | |
the compiler in any event must be a separate compilation unit | |||
08:25
rgrau joined
|
|||
sorear | (some remarks of TimToady's lead to the conclusion that the compiler is in a separate AppDomain with its own CORE:: and GLOBAL::, which I'm probably going to do since metacircularity is confusing) | 08:26 | |
08:26
QinGW left
|
|||
jnthn | Hmm. That doesn't quite mesh with the level I'd been considering a "compilation unit" as. | 08:29 | |
08:29
lue joined
|
|||
sorear | the biggest question facing me right now is whether Niecza should be written in Perl 6, versus (say) C# | 08:32 | |
pro: the entire compiler is as portable between VMs as the backend | |||
con: the compiler is a bit slower | |||
con: compiling the compiler is MUCH slower | |||
the Niecza compiler is about 12,000 lines of Perl 5 atm. if I rewrote that in Perl 6, and made Niecza 10 times faster than it is now, I'd still have a 2 minute turnaround | 08:33 | ||
the Perl 5 compiler gives me a 10 second turnaround, and C# is about as fast | |||
jnthn | We pretty much have the same pros and cons in Rakudo at the moment. | 08:38 | |
The portability is nice BUT it makes development slower. | 08:39 | ||
08:40
lue left
|
|||
jnthn | (Plus, there's no actual portable implementation yet.) | 08:45 | |
08:45
MayDaniel joined
08:46
mavrc joined
08:47
lue joined
|
|||
sorear | I'm hoping to fix that soon | 08:53 | |
jnthn | Me too ;-) | ||
sorear | kid51 has drafted me onto the Lorito team | ||
jnthn | Ooh. :-) | ||
*That's* nice to hear. :-) | |||
08:54
colbseton` joined
|
|||
sorear | it means that instead of just whining about Parrot low-level architecture idiocy, now I can do something about it. maybe. | 08:54 | |
sorear wonders how wrapping a method will work, esp. wrt. nextsame; | 08:55 | ||
09:02
flussence_ is now known as flussence
09:03
Axius joined
09:05
lue left
09:08
qwebirc31167 joined
09:15
masak joined
|
|||
masak | oh hai, #perl6! | 09:15 | |
09:16
vx64z joined
|
|||
jnthn | lolitsmasak! | 09:16 | |
09:16
lue joined
|
|||
masak | \o/ | 09:16 | |
sorear | hi masak | 09:20 | |
09:21
Axius left
09:28
cjk101010 left,
lue left,
cjk101010 joined
|
|||
sorear out | 09:29 | ||
09:36
colbseton` left,
colbseton` joined
09:37
_kaare left
|
|||
masak | lunch & | 09:41 | |
09:42
ggoebel joined
09:56
lue joined
10:01
lue left
10:05
uniejo joined
10:07
risou_ joined
10:08
ggoebel left
10:09
risou left
10:11
Dunearhp left
10:12
uniejo left
10:14
tadzik joined
|
|||
tadzik | o/ | 10:15 | |
10:15
lue joined
10:26
MayDaniel left
10:30
tadzik left
10:32
tadzik joined,
lue left
10:35
PerlJam left
10:38
jhuni joined
10:39
PerlJam joined,
MayDaniel joined
10:40
lue joined,
pythonian4000 is now known as pythonian4000afk
|
|||
colomon | sorear++ | 10:41 | |
sjohnson | colomon += 2; | 10:47 | |
10:48
hanekomu_ joined
|
|||
jnthn | Mmm...lunch :-) | 10:48 | |
sjohnson | yo | 10:49 | |
bed time for me | |||
jnthn | Sweet dreams | 10:54 | |
10:56
oyse joined
|
|||
sjohnson | :) | 10:56 | |
sjohnson dreams of perl 6 | |||
10:56
kanishka left
10:59
icwiener joined
11:01
lue left
11:06
lue joined
11:09
smash joined
|
|||
smash | hello everyone | 11:09 | |
11:10
lue left
|
|||
tadzik | hi smash | 11:10 | |
11:11
ggoebel joined
|
|||
araujo | pastie.org/1257367 | 11:15 | |
11:17
tadzik1 joined,
ggoebel left
|
|||
masak | new day, new syntax :) | 11:17 | |
tadzik1 | what syntax?> | 11:18 | |
masak | araujo's programming language project. | 11:19 | |
11:20
tadzik left
|
|||
tadzik1 | ...at last | 11:20 | |
11:20
tadzik1 is now known as tadzik
|
|||
araujo | masak, I kind of considered the 'if' conditionals without parens better :D | 11:20 | |
masak | I noticed. :) | ||
araujo | and came up with some code today :P | ||
masak | it's still more confusing than helpful to me that there is no 'elsif'-like thingie. | ||
even if it's not necessary from a syntactic viewpoint, it helps remind the reader of what's happening. | 11:21 | ||
11:21
toebu left
|
|||
masak | <TimToady> maybe ??? warns on composing, !!! fails, and ... just tries to work | 11:21 | |
I think that should be in the spec, at least conjecturally. | 11:22 | ||
anyone mind if I add it? | |||
jnthn | masak: +1 | 11:23 | |
It still feels fine to me the morning after. | 11:24 | ||
Well, day after. :-) | |||
masak | that's a good sign. :) | ||
masak refrains from pulling horrible puns from the "you think it's cute today" direction | |||
frettled | Are we talking about kittens? | 11:25 | |
masak | yeah. kittens. yep. | ||
jnthn | Kittens are cute every day. | 11:26 | |
masak goes looking in S12 and S14 for a nice place to put the above | |||
jnthn | S14 | ||
I'd expect. | |||
11:27
pnu left
|
|||
araujo | masak, you have 'labels' | 11:27 | |
masak | having looked through S12, I'd agree. | ||
araujo | so they are not keywords, but that ... labels, you can do: | 11:28 | |
if = 1 2 then: { .... } else: { } | |||
in the same way | 11:29 | ||
if = 1 2 then: { .... } elif: = a + b c { ... } else: { } | |||
11:30
pnu joined
11:31
hanekomu_ left
|
|||
masak | how many times in one scope can I use the 'elif:' label? | 11:32 | |
araujo | masak, all you want | 11:34 | |
masak | huh. | ||
araujo | they are like comments | ||
masak | how does one invoke a literal block in koan? | ||
araujo | with '^' | ||
masak | ah, right. | 11:35 | |
well, it's up to you to make 'elif' and 'else' optional like that. it's your language. :) | |||
(let f \{ :n * n n } { f }) -- isn't that missing a '|' after ':n'? | 11:36 | ||
araujo | | is optional too | 11:37 | |
:D | |||
masak | I see. | ||
actually, even with the 'let' syntax, I'd throw in a '=' between the definiend and the definition, just for good measure. | |||
araujo | for small one liners, i think it can be omitted | ||
masak | then why have it at all? | ||
araujo | well, when you have bigger functions, and several arguments, i think it can make code readable | 11:38 | |
it is up to you at the end :P | |||
masak | yes, but it's up to you at the beginning :) | ||
araujo | There Is No Way To Do It But The Way You Choose To Do It = TINWATDITBTWYCTDI | 11:39 | |
11:39
lue joined
|
|||
araujo | :D | 11:39 | |
masak | I'm having difficulty deciding whether that's sagely advice, or somehow even more strict than Python's line. | ||
araujo | hehe | 11:40 | |
probably neither | |||
hence why a koan | |||
:P | |||
masak | :) | 11:41 | |
11:47
leprevost joined
|
|||
masak | [backlog] millilakes. *chuckle* | 11:54 | |
takadonet | morning all | 11:55 | |
masak | takadonet: \o | ||
takadonet | masak: how are u? | ||
masak | I'm fine. and u? | 11:56 | |
takadonet | busy!! | ||
An open book exam for a new position here, giving a perl 6 talk to our lab and wife coming home tomorrow! | |||
masak | Perl 6 talk to your lab. nice! | 11:57 | |
11:58
lue left
|
|||
jnthn | Turns out that a few people at the (C#) place I'm currently consulting have been watching the video of my Oslo Perl 6 talk. :-) | 11:58 | |
Seems to have made a good impression. :-) | 11:59 | ||
takadonet | well if this goes well, it will increase my chances to use perl6 in my work | ||
when speed is increased :(. Trying to parse out a few GBytes text files with perl6 would be.......... slow | 12:00 | ||
I already tried | |||
12:01
wamba joined
12:02
leprevost left
|
|||
flussence | p6 grammars would probably be faster for me, 99% of my work is figuring out how to parse nasty, undocumented text output formats :( | 12:02 | |
12:02
leprevost joined
|
|||
takadonet | flussence: funny i'm the opposite most of the time | 12:03 | |
12:06
lumi_ joined
12:07
lumi_ left
12:08
risou joined
12:10
risou_ left
|
|||
takadonet | masak: When did Pugs start again? 2004? | 12:14 | |
masak | Feb 2005. | 12:15 | |
takadonet | thanks | ||
and ended 'active' development in? | |||
masak | I'd say summer of 2007, but it was slow-ish already some time before that. | 12:16 | |
12:16
drbean left
|
|||
masak | see strangelyconsistent.org/blog/happy-...ary-perl-6 | 12:16 | |
12:17
lue joined
12:18
wamba left,
wamba joined
12:25
cjk101010 left
12:26
tadzik left
12:29
lue left
12:32
tadzik joined
12:47
molaf joined
12:48
lue joined
|
|||
flussence | What does Duration do, exactly? Is it just a stricter number type? | 12:51 | |
masak | Duration is a Real type, so in that sense it's a number. but it can do arithmetic on Instants, which general Reals can't. | 12:52 | |
flussence | oh, so in that sense it's a lot like the interval type in postgresql... | 12:53 | |
makes sense | |||
masak | I don't know about the interval type in postgresql. maybe if you have a source... | 12:55 | |
flussence | yep, one sec... | 12:56 | |
masak | anyway, a Duration is just a time length in atomic seconds. | ||
it's not a range of two Instants or anything like that. | |||
flussence | www.postgresql.org/docs/9.0/static/...etime.html | 12:57 | |
in pg it's basically just a strict type, but it also lets you specify the duration as hours/minutes/etc. | |||
masak | there's a special value called... "allballs"? o.O | 12:58 | |
flussence | SQL is weird. | ||
masak | I'm speechless. | 12:59 | |
flussence | they don't make it easy to get unixy numeric representations out of their date formats either... :( | 13:00 | |
masak | hard to tell whether postgresql's 'interval' type is atomic or not. it seems quite tied to years and months, so maybe not. | ||
flussence | I think that's just the format of its input/output strings, the storage size gives a bit of a hint that it works like a normal date value. | 13:01 | |
masak | ...whatever that means. | 13:02 | |
13:02
miso_soup joined
|
|||
flussence | actually, from the date range given, it looks like it's stored as floating point... | 13:02 | |
eww, I never read the docs for this in detail before. | 13:04 | ||
okay I think I cleared up my confusion; Duration is like the interval type, but not insane. | 13:07 | ||
13:08
timbunce joined,
risou left
13:09
plainhao joined
|
|||
takadonet | how many tests are they in the Perl 6 official test suite at the moment? | 13:09 | |
flussence | about 27000, last I checked... | ||
smolder.parrot.org/app/projects/smoke_reports/5 | 13:10 | ||
there's a few numbers to go on | |||
that includes the non-official tests though | |||
oyse | What are the best resources for Rakudo internals? | 13:16 | |
masak | oyse: github.com/rakudo/rakudo/blob/maste...cture.html | 13:17 | |
takadonet | flussence: thanks | ||
13:20
lue left
|
|||
oyse | masak: what about the runtime architecture? Internal objects created during execution etc. | 13:21 | |
13:21
Patterner left
13:22
ggoebel joined
|
|||
masak | sounds like what you're describing is the Parrot runtime. | 13:24 | |
I don't know off-hand where one'd find architecture documentation for that. | |||
somewhere under docs.parrot.org/parrot/latest/html/ , I guess. | |||
oyse | masak: Yes it is probably close to the parrot runtime architecture, but I am guessing that Rakudo builds something on top of that? | 13:25 | |
e.g. what happens when "my $num = 1" is executed. How is the $num variable stored internally? | |||
masak | oyse: gist.github.com/653552 | 13:27 | |
jnthn | The lexpad it's stored in is provided by Parrot. Pretty much all operators - = included - just mean a multi-dispatch. | ||
masak | se especially lines 72 to 75. | ||
s/se/see/ | |||
oyse | Ah, I can get the PIR?! Sweet! Thanks | 13:28 | |
jnthn | So it looks up the container stored under $num, creates an Int and then calls infix:<=> with them. | ||
But yes, the PIR reveals all. Note that my declarations also result in something near the top of the sub. | |||
PerlJam | Perl being so english-like sure does make the use-mention problem more pronounced. :) | 13:30 | |
jnthn | I need to start quoting when I'm being unmeta. :-) | 13:31 | |
13:32
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
oyse | So if I understand correctly all the different Perl6 types are implemented as PMCs? | 13:35 | |
PerlJam | oyse: in Rakudo, yes. Mostly. | 13:36 | |
oyse | Mostly? | ||
jnthn | Well, that's not really the case | ||
A few low-level bits are | 13:37 | ||
Most things are instances of the P6opaque PMC, which subclasses Parrot's Object PMC | |||
Though that'll all change in the not too distant future. | |||
masak | \o/ | 13:40 | |
takadonet | when did Rakudo started? | 13:43 | |
takadonet looks at masak | |||
masak | takadonet: see strangelyconsistent.org/blog/happy-...ary-perl-6 | 13:44 | |
takadonet | masak: sorry :( | ||
masak | grep for "Rakudo". | ||
don't be sorry; it's not that I don't want to tell you -- it's just that I said it well there. :) | 13:45 | ||
13:46
BaBiE_AriN joined
|
|||
BaBiE_AriN | hi.. | 13:47 | |
takadonet | BaBiE_AriN: hey | 13:48 | |
masak | hi there | ||
13:50
BaBiE_AriN left
13:53
_twitch joined
13:56
wtw left
14:03
lue joined
14:04
jaldhar left
14:06
moritz_malle joined
|
|||
moritz_malle | oh hai from mallorca | 14:07 | |
masak | moritz_malle! \o/ | ||
oh, *that's* where you are! | |||
flussence | yay | ||
smash | moritz_malle: hi | ||
moritz_malle | internet price: 1 euro for 12 minutes | 14:08 | |
masak | scandal! | ||
moritz_malle won´t chek mails, otherwise he´ll feel obliged to answer any :-) | |||
smash | 120 euros/day ! | ||
masak | we'd better give you your money's worth, then :) | ||
moritz_malle expects great entertainment :-) | 14:09 | ||
my wife too | |||
what´s new in #perl6 land? | |||
PerlJam | moritz_malle: Some good challenges would be porting specific Perl 5 modules to Perl 6. | 14:10 | |
jnthn | o/ moritz_malle | 14:11 | |
moritz_malle | perljam: feel free to propose some - they are not limited to my blog | ||
perljam: or collect ideas in a repo somewhere | 14:12 | ||
jnthn | moritz_malle: Hope you're enjoying Mallorca :-) | ||
moritz_malle | jnthn: I am, we are :-) | ||
very good food in rough masses | |||
14:12
icwiener left
|
|||
moritz_malle | fresh fruits with every meal | 14:12 | |
2 minutes left... | |||
masak | quick! amuse moritz_malle! | 14:13 | |
moritz_malle | well, the beach and a good book will do that in a few minutes anyway | 14:14 | |
jnthn | Can't beach about that. | ||
</awful_pun> | |||
masak | :P | ||
moritz_malle | so far I´ve read 3 books from cover to cover, each at least with 400 pages | ||
yay, jnthn has authenticated himself :-) | 14:15 | ||
now I know that I didn´t chat with an imposter | |||
bye bye, I´ll be back late sunday night | |||
masak | moritz_malle: enjoy! hope you come back refreshed and happy from your travels! | ||
smash | moritz_malle: have fun | ||
14:20
moritz_malle left
14:23
lue left
14:25
Chillance joined
14:27
skangas joined,
miso_soup left
14:35
colbseton` left
14:36
colbseton` joined,
rgrau_ joined
14:38
pyrimidine joined
14:40
silug left,
icwiener joined
14:45
lue joined
|
|||
jnthn | decommute & | 14:57 | |
14:57
jfried left
15:00
oyse left
|
|||
pmichaud | good morning, #perl6 | 15:01 | |
15:01
colbseton` left,
colbseton` joined
|
|||
masak | mroing, pmichaud. | 15:02 | |
smash | pmichaud: mornin' | 15:04 | |
15:05
kcwu left
15:09
dual left
15:17
kcwu joined
|
|||
masak | www.twit.tv/floss140 # merlyn++'s interview with pmichaud++ | 15:18 | |
and lol, I blogged: strangelyconsistent.org/blog/second...done-wrong | 15:19 | ||
longish post. for the tl;dr crowd: most things in the spec are great, but some -- not so much. | 15:20 | ||
tadzik | is there a way to download a video? | 15:27 | |
masak | I believe it's a radio show. | 15:28 | |
or a podcast, really. | |||
flussence | masak: I agree with that qw-numbers thing, that's what ».Num is for! | 15:30 | |
or commas, even. | |||
masak | aye. | ||
it addresses a real problem, but the solution is potentially so much more painful than the original problem. | |||
flussence | seems to me the benefit gained isn't really enough to justify the hidden magic going on there/ | 15:31 | |
s|/|. | |||
masak | I don't want those hybrid types screwing up a completely innocent program a few years down the line. I want simplicity. I want a list of strings. | ||
15:32
Ross joined,
Ross left,
Ross joined
15:33
Trashlord joined
|
|||
flussence | that reminds me, I actually had a reason to use the p5 "0 but true" string once... in javascript. | 15:37 | |
it was someone else's code defaulting to 1 if the input was false... even though 0 was a valid value for whatever it was | 15:38 | ||
masak | Perl 6 turns that hack into a built-in feature. :) (runtime traits) | 15:39 | |
15:40
mberends joined
|
|||
flussence | yep, I noticed "0 but Bool::True" is valid code now while I was typing that | 15:40 | |
in that context the choice of "but" makes a whole lot more sense | |||
(I didn't get it before :) | 15:41 | ||
15:42
Limbic_Region joined,
justatheory joined
15:45
tzhs joined
15:48
\xF0 left
15:49
jhuni left
15:50
\xF0 joined
|
|||
colomon | masak++ | 15:50 | |
jnthn | morning, pmichaud | 15:55 | |
masak: tl;dr :P | |||
jnthn puts it in a tab to read later on :) | |||
masak | :) | ||
15:59
sftp joined
|
|||
masak | sftp: hi. I'm told you're preferable to normal ftp. | 16:07 | |
you probably get that a lot. | |||
sftp | masak -> yeah, it's true | 16:09 | |
masak | :) | ||
16:15
dual joined
16:16
cdarroch joined,
cdarroch left,
cdarroch joined
16:17
_twitch left
16:21
packetknife joined
16:22
packetknife left,
stkowski joined,
packetknife joined,
packetknife left,
packetknife joined
16:23
packetknife left
16:30
Ross left
16:31
baux left
16:33
lamstyle left
16:35
lamstyle joined
16:36
cosimo left
16:37
cosimo joined
16:40
dnl left,
kjeldahl joined,
kensanata left
16:41
cogno joined
16:42
kjeldahl left
16:43
kjeldahl joined
16:45
tzhs left
16:46
Ross joined,
Ross left,
Ross joined
16:47
lamstyle left
|
|||
masak | nom & | 16:48 | |
16:48
masak left
16:49
lamstyle joined
16:50
Gothmog_ left
16:53
icwiener_ joined
16:54
nadim left
16:55
icwiener left
16:57
lamstyle left
16:58
lamstyle joined,
tadzik left
17:01
tadzik joined
17:02
dnl joined
17:06
nadim joined
17:11
cogno left
17:14
Limbic_Region left
17:21
timbunce left
17:23
tadzik left,
tadzik joined
17:24
cogno joined
17:26
patspam joined
17:28
timbunce joined
|
|||
x3nU | well, i have bought recently editplus and i'm finishing syntax definition for perl6 and autocompletion | 17:30 | |
nothing advanced | |||
though | |||
17:33
cogno left
17:39
Ross left
17:40
Ross joined,
patspam left
17:42
patspam joined,
patspam left
17:43
patspam joined
17:50
wamba left
17:58
smash left
17:59
Ross left,
jferrero joined
|
|||
colomon wishes p6 were fast enough to use for this afternoon's $work project | 18:04 | ||
[particle] | use more p6's. | 18:07 | |
diakopter | heh | 18:08 | |
18:08
zb left
|
|||
colomon | rakudo is just not up to parsing 50meg files yet. | 18:08 | |
Tene | Yeah, just fork and run on all your cores... oh wait... | 18:09 | |
;) | |||
18:09
constant left
18:14
zb joined
|
|||
colomon | is comb available for p5? | 18:21 | |
Tene | colomon: my @items = $foo =~ m/(needle)/g | 18:25 | |
colomon | Tene++ | ||
18:31
_kaare joined
|
|||
_kaare | Hm, again. Wouldn't it be a good thing at least to mention rakudo releases on blogs that are picked up by feeds? | 18:32 | |
18:32
tadzik left
18:33
patrickas joined
18:34
tadzik joined
|
|||
takadonet | colomon: Funny reverse of roles..... Asking for p6 functions in p5..... | 18:35 | |
colomon | well, my inner perler now speaks p6, so when circumstances force me to go p5, I need translation... | 18:36 | |
flussence | it seems like they're slowly ending up there anyway :) | ||
dukeleto | If you are interested in mentoring for Google Code-In, please add tasks to this wiki: trac.parrot.org/parrot/wiki/GoogleC...n2010Tasks | 18:39 | |
18:42
icwiener_ left
18:45
colbseton` left
18:46
hatsefla1s is now known as hatseflats
|
|||
TimToady | you have to be careful with m/()/g though, since nested parens will return extra fields | 18:55 | |
19:04
patrickas left
19:06
orafu left
19:07
leprevost left,
orafu joined
19:08
patrickas joined
19:13
cognominal left
19:29
qwebirc31167 left
19:31
Chat1901 joined
|
|||
Chat1901 | hi | 19:31 | |
patrickas | hi Chat1901 | 19:32 | |
sbp | welcome to #perl6, the channel about en.wikipedia.org/wiki/Perl_6 | ||
Chat1901 | add me on bbm 226f9390 | ||
hi patrickas | 19:34 | ||
patrickas | sorry no bbm! | ||
19:34
Chat1901 left
19:48
patspam left
19:55
patspam joined
19:56
masak joined
|
|||
masak | ahojte, #perl6! | 19:56 | |
jnthn | o/ masak | ||
colomon | \o | 19:58 | |
dalek | odel: c8d35ab | jnthn++ | dotnet/runtime/Runtime/Ops.cs: [dotnet] Make the repr_defined op return an object, so we can actually, like, use it from the setting. |
||
odel: ac08da5 | jnthn++ | common/NQP/NQPSetting.pm: [common] Add .defined methods to the various built-in types. |
|||
19:59
molaf left
20:00
Bzek left
|
|||
masak | 6model hacking, yay! | 20:00 | |
jnthn++ | |||
20:00
Bzek joined
|
|||
jnthn | :-) | 20:01 | |
masak: Nice blog post :-) | |||
masak | thank you :) | ||
it's a controlled rant, more or less. | 20:02 | ||
20:02
cognominal joined
|
|||
TimToady | I find it interesting that you want opposite things in adjacent paragraphs :) | 20:02 | |
masak | :) | ||
I know. but they're not exact opposites. | |||
jnthn | That's inconsis...oh, wait...the blog name. | ||
:-) | |||
masak | heh. | ||
TimToady | but it does occur to me that the two dwimmeries are really teh same | ||
masak | maybe they are. | 20:03 | |
TimToady | so mostly we just need to name it | ||
as a concept | |||
masak | but I really don't like having it per default on <> | ||
TimToady | I think it has to be that way | ||
masak | I think it'll screw up things as much as it removes an FAQ. | ||
TimToady | we've relied on it to disambiguoate <1/12> and such | ||
masak | yeah. don't like that either. :/ | ||
TimToady | the other solutions were worse | 20:04 | |
diakopter tries to pronounce guoate | |||
masak | at least I don't get the normal warm fuzzies about it. | ||
TimToady | I think you're hung up in P5-think with your mental def of <> | ||
frettled | diakopter: is it similar to ghoti? | ||
masak | diakopter: did I write that? :) | ||
diakopter | no, TT did | ||
Tene | for number lists, we could have an explicit different form | ||
q:lolnumbers[1 2 3 4 5 6 7 8] | 20:05 | ||
masak | TimToady: I think I'm hung up on tools that do one thing, and do it well. | ||
TimToady | no, I think more like qw// is the string form, and qw:dwim is the def of <> | ||
masak | ok. | ||
didn't think of it that way before. fair enough. | |||
TimToady | and is the same dwim that happens anywhere that strings might be meant as numbers | 20:06 | |
including pre-MAIN | |||
masak | maybe that is the way to go. | 20:07 | |
my defenses are crumbling :) | |||
TimToady | it feels like the stuff-everything-into-one-place that we did successfully with smartmatching | ||
jnthn | pmichaud: ping | 20:08 | |
20:09
tadzik left
|
|||
masak | Python kills off the Python 2.x branch: twitter.com/obra/status/29109607910 | 20:12 | |
PerlJam | smaller impedence mismatch between Python 2.x and 3.x makes that easier to do. | 20:13 | |
TimToady | which means almost nothing, given py2->3 was just a few tweaks | ||
masak | nod. | ||
chromatic finds a rub, though: twitter.com/chromatic_x/status/29116147053 | 20:14 | ||
20:15
meppl left
20:29
am0c joined
20:35
estrabd is now known as estrabd_afk,
pyrimidine left
|
|||
masak | TimToady: does %hash<2/3> have the same magic as <2/3> does? | 20:48 | |
if not, why not? if it does, how do I get the non-magic form? | |||
20:49
timbunce left
|
|||
Tene | masak: %hash{'2/3'} of course. | 20:49 | |
masak | duh. of course. :/ | ||
Tene++ | 20:50 | ||
20:50
pythonian4000afk is now known as pythonian4000
|
|||
TimToady | and if it's a string-keyed hash, it'll pull out the original Str form anyway | 20:51 | |
masak | ah; indeed. | 20:52 | |
my arguments are weak and feeble. orz | |||
20:55
perlygatekeeper left,
timbunce joined
|
|||
TimToady | I think of it as an endearing quality :) | 20:55 | |
masak | :P | 20:56 | |
Tene | masak: I'm also skeptical about this num-producing thing. | ||
masak | Tene: are you able to verbalize better than I was why it's a bad idea? | 20:57 | |
TimToady | the point is, there a places where people are kinda forced to write everything as strings, and these are the places people need relief. | 20:59 | |
especially if the alternative is arduous, or requires eval | |||
masak | I do agree about the problem as stated. the unease is purely related to the solution. | 21:01 | |
specifically, I don't like the hybrid types. | |||
Tene | masak: hybrid types suggest hackish smell to me, this reminds me of semipredicate problem | 21:02 | |
masak | Tene: nod | ||
Tene | If you want nums or ints or whatever without commas, either make a different quoting form, or >>.Int or whatever | ||
TimToady | in some sense they aren't hybrids: they aren't really Str anymore, they just come with a .Str that is forced back | 21:03 | |
21:03
am0c left
|
|||
TimToady | >>.Int does no good at all for <1 2.3 4/3 foo> | 21:03 | |
masak | rakudo: class StrInt is Str { has $.Str; has $.Int; }; my $a = StrInt.new(:Str("42"), :Int(42)); say $a ~~ Str; say $a.Int.WHAT | ||
p6eval | rakudo 479650: OUTPUT«1Int()» | ||
Tene | TimToady: If you want that, we have *commas* | ||
TimToady | not on the command line you don't | 21:04 | |
and probably not on user input | |||
Tene | masak: for the MAIN signature, my inclination is something more like "$x as Int" instead of a constraint | ||
masak | Tene: problem is, that doesn't affect dispatch. | ||
so different multis would tie. | 21:05 | ||
TimToady | what masak++ sez | ||
Tene | TimToady: what's the connection between user input and <> ? | ||
TimToady | the general case I stated above | ||
places where the user is forced to put text, but may mean numbers | |||
21:05
MayDaniel left
|
|||
masak | does that include &prompt? | 21:06 | |
TimToady | I can argue that one both ways | ||
masak | :) | ||
what about $*IN.get? | |||
Tene | If you want numbers from text, I expect you should ask for that. | 21:07 | |
jnthn | pmichaud: akshually unping :-) | ||
TimToady | tell that to everyone who expects <1 2 3> to do the "right thing" | ||
masak | Tene: I have a counterexample. people reading numbers from $*IN, and sorting them. | ||
TimToady | it has happened over and over | ||
sjohnson | "perl6, always doing the right thing" | 21:08 | |
21:08
Trashlord left
|
|||
masak | question is, how common is the <1 2 foo> case? because if it's not that common, >>.Int would still work. | 21:08 | |
or >>.Num | |||
Tene | TimToady: so your solution is to make strings that happen to look like numbers behave like numbers? | ||
What if I'm reading in filenames, and the filenames happen to look like numbers? | 21:09 | ||
masak | what if the strings are freaking huge numbers, purely by accident? | ||
colomon | or better yet, +« | ||
TimToady | that is what the user expects most of the time, and a goodly part of the other times, Cool will save their bacon anyway | ||
Tene | suddenly I get different sorting behavior for one directory than another? | ||
masak | oh right! what's the sorting behavior of the not-really-hybrid types? | ||
TimToady | it's impossible to make everyone happy with sort | 21:10 | |
masak | right. | ||
Tene | you said MMD, though. Are my filenames that I read from stdin going to dispatch to different MMD candidates if they happen to look like numbers? | 21:11 | |
dalek | odel: 1bb02e7 | jnthn++ | dotnet/runtime/ (2 files): [dotnet] Start working towards some closure support by adding new_closure and capture_outer ops. |
||
odel: 13a72ce | jnthn++ | dotnet/compiler/PAST2DNSTCompiler.pm: [dotnet] Compile block references to either capture lexical context or create a closure, based upon $block.closure. |
|||
odel: c04f22c | jnthn++ | dotnet/ (2 files): [dotnet] Fix a silly (used static block object instead of dynamic one always) and get our outer from the set one, and we have sufficiently working closures to pass a (modified to avoid NYI return) 48-closure.t. |
|||
masak | what if there's one Str candidate and one Num candidate? which way will the special type go? will it tie? | 21:12 | |
TimToady | no, it would go to the Num candidate | ||
but to answer Tene++'s Q, it's rather unlikely that you'd want to feed filenames to a function that is overloaded like that | 21:13 | ||
21:13
icwiener joined
21:14
am0c joined
|
|||
TimToady | and I haven't said that $*IN.get should do it | 21:14 | |
Tene | TimToady: filenames on CLI args, then. | ||
21:15
tadzik joined
|
|||
tadzik | good late-evening | 21:16 | |
TimToady | if the interface you're calling is overspecific on nominal typing, then you'd have to use ~ | ||
but Any.Str should work okay | |||
Tene | TimToady: Don't normal Ints and Nums have a .Str method anyway? | ||
Yeah. | |||
So how are these hybrid types different from normal numeric types? | 21:17 | ||
TimToady | shadowed | ||
sjohnson | in p6, can one yank something out of an array | ||
TimToady | as in splice? | ||
sjohnson | without undeffing it, then doing a grep { defined } | ||
yeah | |||
the splice scares me, what with all its arguments | |||
for (@list) { # about 3 steps in, say..... $something = yank; } | 21:18 | ||
just yanks it out of list | |||
kind of like... a pop in the middle | |||
snap() | |||
crackle || pop() | |||
masak | TimToady: another thing that I could have written in the "Abstraction Astronautism" section, but somehow forgot, is the ObjAt thing gotten back from the WHICH macro. | ||
maybe I don't understand it properly, but it seems to me that raises barriers that weren't much needed in the first place (pointer arithmetics?), in exchange for making p6 implementations more complicated. | |||
Tene | sjohnson: @a = @a[0..4],@a[6..*]; | 21:19 | |
masak | sjohnson: &slice | ||
er, &splice | 21:20 | ||
Tene | s/=/:=/ | ||
yeah, &splcie is the right way, but if you prefer not to read the docs for it, you can do that ^ | 21:21 | ||
TimToady | gather for @list { .take unless .do-not-want } | ||
sjohnson | yeah, TimToady, thats the idea | ||
masak | TimToady: isn't that just &grep? | ||
TimToady | that is legal P6 | ||
masak | oh wait, it's index-based. | ||
sjohnson | the "yank" idea i think it a good one | ||
think of how many times you are parsing @ARGV with a for, and you are stripping out some --switches | 21:22 | ||
TimToady | yank is just a "don't take" :) | ||
sjohnson | true | ||
cause $_ has the data | |||
TimToady | and "don't take" is usually spelled "next" | ||
21:23
spq1 left
|
|||
sjohnson | but if i wanted to kill the value from @ARGV list | 21:23 | |
if i undef it | |||
the index remains | |||
21:24
_kaare left
|
|||
sjohnson | bad example, ARGV, cause maybe i shouldn't altar it. let's say... @animals | 21:24 | |
TimToady | you're thinking like an imperative programmer, not like a functional programmer | ||
sjohnson | TimToady: if i told my boss that, would he fire me? i dont quite know the difference | ||
i can't tell if it's a compliment or not! | |||
TimToady | it's just an observation :) | ||
changing something in place is imperative or procedural | 21:25 | ||
a functional program will instead return a new list and put it in a new place | |||
sjohnson | is there more than one way to do it? | ||
:) | 21:26 | ||
TimToady | sure | ||
sjohnson | i realize splice is the answer | ||
but i suppose i kind of mean.. it would be neat if you could call splice without many arguments, or none at all | |||
TimToady | splice is the imperative answer :) | ||
sjohnson | and have it do what you like | ||
for example, next unless length; | |||
no args! | |||
maybe splice; | |||
would junk the current loop index | |||
TimToady | how would it know? | ||
for some_function() { splice; } # huh? | 21:27 | ||
sjohnson | well, if you do... $_ = "pig"; | ||
TimToady | the actual array it's reading from may be half-way around the globe | ||
sjohnson | in there, it will change the @in_array value it's on to pig. is it then difficult to instead just destory the current index? | 21:28 | |
TimToady | yes, but a rw parameter only has to track the argument itself, it doesn't have to track the outer container | ||
sjohnson | i see | ||
maybe in perl 8 :) | |||
TimToady | it's one of those situations where making it work would slow down the 99% of loops that don't use it | 21:29 | |
sjohnson | to get around it, i find myself doing @second_stage type lists | ||
and im kinda thinkin... maybe there's a more cryptic way of doing it | |||
TimToady | think of that as the right way to do it, if you name the variable better | ||
sjohnson | the @second_stage idea? | ||
sjohnson pats himself on the back | |||
TimToady | if you're just going to feed that list to another function, just compose the two functions | 21:30 | |
sjohnson | using ' | ||
'next' technology and the like | |||
TimToady | the old .grep.sort.map.grep.classify».foo.grep.map kind of thing, give or take a few block arguments | ||
also saves wear and tear on the sigil keys if you don't have to name your intermediates | 21:31 | ||
sjohnson | ahh | 21:32 | |
assembly-line programming paradigm | |||
i think i need to pay you for perl coaching | |||
TimToady | just pay it forward please :) | ||
sjohnson | i like to do it the TimToady way, which is a bit of a paradox | ||
jasonmay | hah | 21:33 | |
Juerd loves imperative programming | |||
sjohnson | i follow the "Just Do it!" programming model | 21:34 | |
Juerd | Almost as much as functional programming :D | ||
colomon | sjohnson++ | ||
TimToady | I won't object to objects... | ||
21:34
am0c left
|
|||
TimToady | though, really, .splice is OO | 21:34 | |
Juerd | An old sysadmin script that cron ran every 10 minutes started taking almost 10 minutes. The solution: do things in place | 21:35 | |
TimToady | given the array is an object | ||
from the FP view, OO programmers are continually cheating the type system, and often get away with it, until they don't :) | 21:36 | ||
from the OO view, FP programmers don't know the first thing about how the real world works. :) | 21:38 | ||
21:38
envi left
|
|||
sjohnson | TimToady: what do you think of this methodology: pastie.org/1258982 | 21:39 | |
colomon wants his objects' methods as pure as reasonably possible, and his I/O untouched by monads. | |||
sjohnson | i just wrote it. is this how you would do something similar? | 21:40 | |
(oops, extra whitespace on line 12) | |||
Tene | sjohnson: the simple, imperative way to remove list indexes is splice, as we've already said. | ||
TimToady | it doesn't work very well as soon as you want your switches to have extra arguments | 21:41 | |
Tene | sjohnson: you really should use a MAIN sub for that. | ||
TimToady | it was p5 | 21:42 | |
in p5 I tend to shift my @ARGV destructively | |||
Tene | sub MAIN(@*pertinent, :$verbose, :$dryrun) { ... } | ||
TimToady | but yeah, this is better solved by binding to a MAIN sig in p6 | ||
s[ '@*' ] = '*@'; | 21:43 | ||
Tene | Oops, yeah. | 21:44 | |
sjohnson | TimToady: in this case, im not sure how i could use your grep.map.other stuff tricks | ||
to avoid a 2nd stage @pertinent_arguments list | |||
TimToady | well, in this case, you have a good name, which probably means it's worth naming | 21:45 | |
sjohnson | heh | 21:46 | |
glad you liked it | |||
TimToady | a name like @second-stage is relatively meaningly | ||
meaningliess* | |||
grr | |||
sjohnson | perl advice straight from the camel's mouth! | ||
TimToady | m e a n i n g l e s s . . . | ||
sjohnson | much appreciateed | ||
TimToady | there | ||
sjohnson | -e | ||
sbp | unmeaningful | ||
Tene | or even better, @filenames, or @servers, or @ips, or whatever | ||
TimToady | Mu | ||
sjohnson | Tene: yep. in the real stuff i do it for, it will be @files or something | 21:47 | |
or @isbns | |||
in that example, just was a bit more vague as the program doesn't do anything | |||
masak | I'm writing a Perl (5) course. this FP map.grep.map tip comes in handy for the next part of that course as well. thanks. | ||
Tene | naming something "arguments" kinda irks me there, unless you're like gathering arguments to pass to a command or something. | ||
TimToady | well, if you never put a non-isbn into @isbns, you don't have to grep 'em out | ||
Tene | sjohnson: which makes it awkward to actually answer your question. | 21:48 | |
sjohnson | TimToady: the @isbns would come from @ARGV though | ||
Tene | Yes, so you gather them under another name. | ||
sjohnson | Tene: you answered it exactly how i hoped | ||
21:49
Trashlord joined
|
|||
sjohnson | i couldn't have bought a better answer | 21:49 | |
TimToady | Moral: it's best if variable names don't lie. | ||
masak | Name Your Variables Well. | ||
sjohnson | you can tell a lot about the character of a man by his variable names | ||
TimToady | and every time you do a modification in-place, the variable name is lying, or is overly generic | ||
sjohnson | if he's trustworthy or not | ||
masak | TimToady: that must be why I never know what to name accumulator variables that I increment in a loop. | 21:50 | |
Juerd | $data | 21:51 | |
sjohnson | thanks for looking at my cute code you guys | ||
Tene | np | 21:52 | |
masak | anytime. | ||
Juerd | masak: And if $data is taken, just use $moredata | ||
masak | Juerd: what would I do without you? :) | ||
TimToady | the need for accumulator variables probably just means the language designer is an idiot :) | ||
Juerd | masak: You'd probably have named it $foo, which is a really silly name and utterly non-descriptive. | ||
masak | Juerd: yeah. what would I have been thinking? | 21:53 | |
Juerd | The name "foo" doesn't say anything about the contents of the variable, while "data" does. | ||
masak | absolutely. | ||
"data" is much better than "foo". | |||
Juerd | Agreed. I'm glad you brought this up. | ||
TimToady | unless you happen to be foo processing | ||
Juerd | TimToady: There's no way to be sure | 21:54 | |
sbp | or your native language is one where foo means data | ||
TimToady | Juerd: just read the comments, then you'll know for sure | ||
Juerd | I used to call my variables $info, but that turned out to be a lie too. | ||
TimToady | metadata should always go into comments | ||
sbp | $thisVariableBelongsToEpimenides | 21:55 | |
that should probably be a scope | |||
sjohnson | i usually use animal words instead of foo and bar | ||
sbp | epimenides' $variable = ...; | ||
sjohnson | i think their cuter | ||
masak | Juerd: I'm thinking of calling some of my variables $value | ||
TimToady | .oO(three animals walk into a foo...) |
21:56 | |
Juerd | TimToady: There are no comments in my code. Comments are not necessary if code is self-documenting, like for dwim($data) -> $data2 { dwim2($data2); } | ||
sjohnson | <cow pig chicken> allows a 3rd variable | ||
though i think "baz" is the 3rd one | |||
Juerd | sjohnson: $data, $data2, $data3, $data4 allows for as many as you'd ever need! | ||
sjohnson | Juerd++ # the knuth of perl | 21:57 | |
Juerd | sjohnson: And symbolic references even let you iterate over all your datas | ||
TimToady | it's much more convenient for dereferencing if you name the first one $data1 | ||
21:57
MayDaniel joined
|
|||
TimToady | so all variables should in with '1' in case you need more of 'em | 21:58 | |
Juerd | p5: for (1..99999999) { if (${ "data" . ($_ > 1 ? $_ : "") } =~ /regex/) { die "Data contains 'regex'!!!11" } } | 21:59 | |
21:59
orafu left
|
|||
TimToady | orz | 21:59 | |
sjohnson | starcontrol II | ||
masak | the channel is just teeming with variable naming advice tonight. | 22:00 | |
Tene | masak: you've seen rfc3092 yes? | ||
Juerd | In very complicated programs, like those with nested loops, I may use identifiers like $data5a, $data5b, ... | ||
Tene | .g rfc3092 | ||
phenny | Tene: www.faqs.org/rfcs/rfc3092.html | ||
masak looks | |||
TimToady | $dataa5 is a bit problematical though | 22:01 | |
sjohnson | nothing beats @asokdfjgrew | ||
Tene | First on the standard list of metasyntactic variables used in syntax examples (bar, baz, qux, quux, corge, grault, garply, waldo, fred, plugh, xyzzy, thud) | ||
TimToady | that can't be true; waldo was too easy to find | ||
Juerd | :) | ||
masak | Tene: wonderful. thanks. | 22:02 | |
Juerd | He wouldn't have been if his name were data | ||
TimToady | I only liked the original series. | ||
Juerd | Code security remains important | ||
masak | Tene: speking seriously for a while, I'm at a stage in my variable-naming where I very seldom end up with "foo". I guess I used to, but nowadays I tend to take naming more seriously than that. I use "foo" in string literals sometimes. | 22:03 | |
TimToady | especially if followed by a "d" | ||
Juerd | I don't think I've ever used "foo" in serious code. | ||
diakopter spews | |||
Tene contributes a spec test change, s/*/foo/g | 22:04 | ||
Juerd | In non-example code, even. | ||
sbp | I've got a good example of this, YOU HOLD ON RIGHT THERE | ||
Tene | s/test // | ||
flussence | I am guilty of using "i" for a loop var :( | ||
lucs | i++ | 22:05 | |
TimToady | sbp: sorry, I tried, but the earth is rotating too fast </pant /pant /pant/ | ||
> | |||
flussence | (use ii, it's more greppable) | ||
Juerd | flussence: Doesn't everyone do that? | ||
sbp | .title gist.github.com/654528 | ||
phenny | sbp: gist: 654528 - Code Shui- GitHub | ||
TimToady | I tend to like $ix if it's an index | ||
Juerd | I grew up with BASIC, so it took a while for me to adjust from "X" to "i" | ||
masak | TimToady: I know a pole or two you could move to to rid yourself of that problem. | ||
sbp | python, but you get the idea. a method in a simple editor | ||
the first causes splosions in the cranial region | 22:06 | ||
TimToady | I'm just waiting for someone to install an East Pole in the correct place. | ||
sbp | the second is practically self documenting | ||
flussence | I learned to stop doing it after trying to debug code with two adjacent nested loops | ||
sbp | just from the variable names | ||
(and method names, and the such) | |||
Tene | an ex co-worker (who just left; anyone want a job?) had this horrible habit of naming his variables with leading underscores indicating the level of nested scope. | 22:07 | |
Juerd | flussence: Why would you have two adjacent loops over indices? | ||
masak | TimToady: they've been talking about the East Pole for years now. I'm starting to suspect it's a vapor-pole. | ||
Juerd | Tene: Not a big fan of refactoring, probably :) | ||
Tene | my $foo; sub bar { my $_lol; while true { my $__wtf; } } | ||
flussence | this was html formy stuff, one was to get input/textarea values, the other was select values because it's slightly different... | ||
tadzik | I suppose it's twice as far as the Middle East | ||
Tene | and then it was inconsistent in places too. :( | 22:08 | |
Juerd | flussence: But why would you loop over the indices if you can loop over the values proper? | ||
flussence | that was in js, no foreach over dom node lists :( | ||
turned out to be good practice everywhere though | 22:09 | ||
Tene | He wouldn't actually give any reason for doing it, and he refused to stop doing it. He also committed modules generated by h2xs, as he wasn't able to write 'package Foo;' himself, or something? | ||
TimToady | when you mention h2xs I throw up a little in my mouth | 22:10 | |
flussence | Tene: half the code I maintain at $dayjob has weird underscores to indicate not to use it outside the package... the problem is the other half doesn't. | ||
dukeleto | TimToady: that is good to hear :) | 22:11 | |
Tene | Fortunately he mostly stayed away from Perl these days. | ||
Juerd | flussence: It's probably a good idea to stop using globals altogether, rather than indicating which ones can and which ones shouldn't be touched. | 22:12 | |
TimToady | but that isn't portable | ||
flussence | those were method names... | ||
Juerd | I see | 22:13 | |
flussence | (the code's actually pretty good about avoiding globals) | ||
Juerd | Let's stop using global function names too :D | ||
TimToady | okay | ||
done | |||
Juerd | :) | ||
TimToady | perl6: say GLOBAL::.keys | 22:14 | |
p6eval | rakudo 479650: OUTPUT«Could not find sub &GLOBAL in main program body at line 22:/tmp/hYsbH7Z8gR» | ||
..pugs: OUTPUT«***  Unexpected "GLOBAL" expecting bare or pointy block construct, ":", "=>" or operator at /tmp/Y_Hg8hAmay line 1, column 5» | |||
Juerd | If all function names were lexical to their own block, you'd never have to worry about something else calling it. | ||
Juerd wants to go back to copy-and-paste programming | 22:15 | ||
And I long for "goto 10" | 22:16 | ||
TimToady invents hygienic copy-and-paste | |||
Juerd | copy/paste could be improved with copy on write! | ||
TimToady | unfortunately, the margins are too small, and irssi won't let me paste the solution here | ||
Juerd: you jest, but that's sort of the essence of Xanadu | 22:17 | ||
lucs | TimToady: Nelson's Xanadu? | ||
TimToady | *nod* | 22:18 | |
Juerd | I don't know what Xanadu is, but I figure that it's probably incredibly scary. | ||
sbp | scary and awesome | ||
Juerd googles | |||
sbp | .wik Xanadu (Nelson) | ||
phenny | "Theodor Holm Nelson (born 1937) is an American sociologist, philosopher, and pioneer of information technology." - en.wikipedia.org/wiki/Ted_Nelson | ||
TimToady | it was sort of revision control for the whole world of text, if you believe in ASCII | ||
Juerd | "Wired magazine called it the "longest-running vaporware story in the history of the computer industry"." | 22:19 | |
22:19
timbunce left
|
|||
Juerd | When will Wired write about Perl 6? :) | 22:19 | |
sbp | back in them days we didn't have no fancy unicode, we had to work down t' mines with a pint of coal and a pencil made of chloroform... | ||
TimToady | hasn't sucked up enough money yet | ||
jnthn | We're working on it. | 22:20 | |
Oh, wait... | |||
22:20
alester left
|
|||
sjohnson | they called perl6 vaporware? | 22:22 | |
Juerd | No, Project Xanadu | ||
sjohnson | interesting | 22:23 | |
never heard of it | |||
guess that's not surprising | |||
masak | that Wired article has been described as very mean-spirited. (don't remember by who.) | ||
sbp | true fact: Ted Nelson, when he was young, used to cross roads by turning his back to the traffic and just jumping out. he figured they'd stop, and he wouldn't have to wait. must have worked because he's still alive. won't test, DONTTRY, WONTFIX | 22:24 | |
that might be from the Wired article, now that I think of it | |||
something I read years ago, don't blame me for bibliographic inaccuracies | |||
x3nU | ftp://x3n.info/pub/apps/win32/x86/rakudo-star/rakudo-star.2010.10.exe | 22:25 | |
22:26
tylercurtis joined
|
|||
TimToady offers his condolences to any future historians who are only now just trying to wade through all this stuff and nonsense to try to figure out how Perl 6 succeeded (or didn't) and why. | 22:27 | ||
masak | *lol* | ||
masak waves peevishly at same historians | |||
jnthn | I imagine that Perl 6 must be one of the most documented language design/implementation proccesses. | ||
x3nU | (note that this win32 build is totally untested, i'll test tommorow) | ||
sbp | no, no, historians LIKE the messy stuff | 22:28 | |
masak | historians: TimToady may be apologetic, but I only intend to make life harder for you! I'm in ur meme stream, mucking things up! | ||
sbp | it's all the tidied up, heavily groomed rubbish that they hate | ||
because it has all the layers of cultural bias and other similar historical perversions in it | |||
which, unless you're studying the history of cultural bias, isn't all that helpful | |||
jnthn | Do historians like puns? :-) | ||
22:29
Trashlord left
|
|||
sbp | only if they're really punny | 22:29 | |
TimToady | only if they're pundits | ||
sbp | they answer everyþing with a þong | ||
TimToady recovers enough to wince | 22:30 | ||
masak | do they wear the þongs? | ||
or maybe they just use them for smilies: :þ | 22:31 | ||
TimToady | that looks...sloppy and wet... | 22:32 | |
masak | :ð | ||
sbp | eths wynn | ||
22:33
kjeldahl left
|
|||
TimToady | what that, someone blowing a smoke X? | 22:33 | |
*what's | |||
or someone showing off a tongue piercing? | |||
masak | :D | 22:34 | |
sbp | this is getting somewhat off-topic, but... | ||
masak | O RLY? | ||
sbp | I assume you've seen the awesome new additions to Unicode? | ||
e.g. U+1F343 LEAF FLUTTERING IN WIND | |||
TimToady | ow | ||
masak has only seen the new smilies | |||
sbp | it's like a whole new plane of dingbats | ||
seriously, U+1F304 SUNRISE OVER MOUNTAINS | 22:35 | ||
can't wait for Michael Everson to give us all some nice glyphs for these | |||
flussence | I was about to suggest something like that, satirically... | ||
but wow. | |||
TimToady | how do we know it's really a sunrise, and not a sunset running backwards? | 22:36 | |
Tene | Man, Michael Everson. It's interesting to see the same person come up in different circles. | ||
22:36
mavrc left
|
|||
Tene | He started a huge argument on the lojban mailing list a while back. | 22:36 | |
masak | :) | ||
sbp | Buckminster Fuller suggested we call sunset "sunclipse" | ||
phenny | sbp: 22:36Z <[bjoern]> tell sbp h ttp://www.textfiles.com/underconstruction/ | ||
masak | sunrises, lojban arguments. I gotta look this guy up. | 22:37 | |
sbp | can't remember what he suggested we cal sunrise though | ||
flussence | unsunclipse? | ||
TimToady | sunprise!?! | ||
Tene | masak: it was for his publication series of translations of Alice in Wonderland | ||
sbp | oh, he suggested "sunsight" for sunrise | ||
sbp coughingly mentions www.mikeoates.org/mas/leek/sunset.htm by-the-by | 22:38 | ||
Tene | He wanted to publish the lojban translation of Alice in Wonderland, but he wanted to reformat it to add initial capitals to sentences and names, drop the normal lojban punctuation, add periods at the end of lojban sentences, etc. | ||
22:38
risou joined
|
|||
Tene | So it would still (mostly) be isomorphic to lojban, but would be very atypical for lojban. | 22:38 | |
masak | Tene: eew | ||
that sounds very iconoclastic, from the Lojban viewpoint. | 22:39 | ||
Tene | yeah | ||
22:39
kulp joined
|
|||
TimToady | yeah, like logban isn't complete artifice to begin with... | 22:39 | |
22:39
Trashlord joined,
kulp left
|
|||
TimToady | *lojban | 22:39 | |
Tene | TimToady: Nobody claims that it isn't... | 22:40 | |
masak | TimToady: hey! they did make their words from random letter from the world's languages... :) | ||
*letters | |||
TimToady | let's never us mind that humans like to have their languages organized into nouns and verbs to go into different brain bits | ||
and let's just define each verb to have its own positional parameters willy nilly | 22:41 | ||
masak | Lojban wasn't designed with puny humans in mind. | ||
but yeah, the positional params suck. | |||
TimToady | what about punny humans? | ||
flussence | .oO( Lojban sounds like PHP... ) |
||
sbp | don't start that again, puns are a thorny issue here now | ||
Tene | yeah, totally better to first come up with a complete map and categorization of all possible types of parameters, and order them in universal importance order. | 22:42 | |
TimToady | ÞþÞþÞþÞþÞþÞþ | ||
masak | thank you. now don't ever do that, again. | 22:43 | |
masak pulls out a couple of thorns | |||
sbp | TimToady: get þee to a punnery! | ||
masak | *groan* | ||
*lol* | 22:44 | ||
jnthn | :D | ||
masak | sbp++ | ||
Juerd | :þ | ||
masak | rakudo: say "sbp++" for ^10 | ||
p6eval | rakudo 479650: OUTPUT«sbp++sbp++sbp++sbp++sbp++sbp++sbp++sbp++sbp++sbp++» | ||
22:45
icwiener left
|
|||
TimToady wonders what the opposite of a punnery is, genderwise... | 22:45 | ||
sbp | a monadstery? | 22:46 | |
masak | a mona-hystery? | ||
jnthn | I dunno, but the leader of it is a puntiff. | 22:47 | |
sbp | :-) | ||
TimToady | whereas the leader of a punnery cannot rise above the level of an Abscess | 22:48 | |
22:50
dnl left
|
|||
sbp | rakudo: say \frac{\pi^2}{6} | 22:51 | |
p6eval | rakudo 479650: OUTPUT«Could not find sub &frac in main program body at line 22:/tmp/DasCYBtyCY» | ||
sbp | someone will create a latex dialect for perl6, right? right? | ||
diakopter | in some universe.. | ||
TimToady | how else will we know who to shoot first? | 22:52 | |
sbp | heh! | ||
masak | I'd like to see a sturdy tool that could turn Perl 6 source code into beautifully laid-out TeX output. | ||
tadzik | sbp: ooc, what should the code do? | ||
Tene | masak: alternate compiler backend, perhaps? | 22:53 | |
sbp | tadzik: presumably it would let you use latex expressions anywhere that you'd have a mathematical expression in perl6. don't ask me, I'm just the imaginer, the visionary, the one in danger of being first against the wall when the revolution comes (but I'll just blame Knuth) | ||
(he won't be able to say anything because he doesn't use email. take that, Prof. Luddite) | 22:54 | ||
diakopter | sbp: but then it'd have to also re-implement all of latex... | ||
22:54
dnl joined
|
|||
masak | Tene: yes, maybe -- though "backend" makes me suspect it gets things in a too-digested form. | 22:54 | |
TimToady | um, this isn't email... | ||
sbp | so what? it's 2010, come on. gimme a break. what did Djikstra say? all programmers do now is glue libraries together? | ||
no, but I could hack up an email-to-irc bridge | 22:55 | ||
22:55
dnl left
|
|||
sbp | *-ij- | 22:55 | |
TimToady | you have a point | ||
Tene | masak: translate the parse tree to custom nodes that render LaTeX, basically. | ||
dukeleto | sbp: do you have an reference for that Dijkstra quote? | ||
TimToady | or perhaps a punt | ||
dukeleto | Tene: that sounds awesome | 22:57 | |
sbp | dukeleto: oh cruel irony! it wasn't Dijkstra at all | ||
dukeleto | Tene: so it would do PAST->LaTex ? | ||
sbp | it was... Prof. Knuth! | 22:58 | |
“There’s the change that I’m really worried about: that the way a lot of programming goes today isn’t any fun because it’s just plugging in magic incantations — combine somebody else’s software and start it up” | |||
dukeleto | sbp: what is that from? | ||
Tene | dukeleto: PAST is too low, really. | ||
dukeleto | Tene: what is high enough? | ||
sbp | .g "just plugging in magic incantations" | ||
phenny | sbp: reprog.wordpress.com/2010/03/03/wha...ogramming/ | ||
Tene | dukeleto: the match object | ||
dukeleto: what rakudo uses for --target=parse | |||
sbp | p.594 of Coders at Work | ||
by Siebel | |||
TimToady | hmm, I'm likely to see Knuth this weekend... | 22:59 | |
I mean, a week hence | |||
sbp | tell him I'm very sorry for my luddite slur | ||
masak | tell Knuth we said hi! | ||
sbp | actually, if you want to really make yourself useful... | ||
dukeleto | TimToady: tell him I said "Thanks for LaTeX, dude" | 23:00 | |
sbp | TimToady: tell him that the W3C Validator team were actually very impressed by the email he sent them a few years ago rightly complaining about them changing their architecture out from underneath him rendering his old pages invalid | ||
masak | actually, I meant to do all the exercises in Knuth's books, but Perl 6 kinda got in the way... :) | ||
sbp | their minds were sort of blown | ||
TimToady | in other words, he was being a Luddite :) | ||
sbp | YES! | 23:01 | |
masak | they changed their architecture? | ||
sbp | well, they were changing their architecture; and in the process they got rid of some *very* old crufty DTDs that nobody used anymore. except, guess what? Knuth had learned how to make websites from a book in like *1993*, I kid you not. and it had this old doctype in it | ||
and he'd been using it ever since! | |||
23:02
dnl joined
|
|||
masak | pfft, the w3c getting rid of doctypes. there's your mistake right there. | 23:02 | |
you can't invalidate parts of the web. or at least, it's a disgrace. | |||
I'm with Knuth on this one. | |||
sbp | timbl said the Validator works the wrong way around | ||
it penalises people for making mistakes | |||
he said it should award points for the things that people get right | |||
perhaps code syntax checking should work that way too | 23:03 | ||
TimToady | and the larger the font, the more points | ||
masak | note the modules.perl6.org does the "award points" thing. | 23:04 | |
s/the/that/ | |||
TimToady | masak++ | ||
dukeleto | TimToady: i am concerned about the avg default font size on the web as well. It is bad for the eyes. | ||
patrickas notes that it was masak++'s idea | |||
diakopter | nosquint plugin for firefox is the bestest | 23:05 | |
masak | now I get points for awarding points. how referent. | ||
TimToady | "Your karma exceeds the syntactic distress of this program, so we'll just try to run it anyway..." | ||
Tene | dukeleto: people don't just adjust their browser or desktop preferences? | ||
masak | TimToady: I wish. | ||
flussence is still holding out for a 300dpi desktop screen within my lifetime... | 23:06 | ||
TimToady | just look at your HDTV through binoculars the wrong way | 23:07 | |
works in 3d too | |||
masak | 'night, #perl6 :) | 23:08 | |
flussence | hmm... red-green 3D binoculars | ||
o/ bai | |||
TimToady | masak: night | ||
tadzik | 'night masak | ||
23:08
masak left
|
|||
dukeleto | Tene: i just crank my default way up, but some sites require manual intervention | 23:11 | |
dalek | odel: 25487a2 | jnthn++ | dotnet/compiler/PAST2DNSTCompiler.pm: [dotnet] Implement compilation of pasttype return (though there's no handler installed to catch it just yet. |
23:15 | |
odel: 083fa12 | jnthn++ | dotnet/ (2 files): [dotnet] Stub in block handlers setup. |
|||
sjohnson | i feel good today. i argued to fix a security play in GnuPG, and there were a few nay-sayers, but the developers agreed with me in did it. | ||
maybe i can do the same for perl 6 someday :3 | |||
.oO(still waiting for good ideas) |
23:16 | ||
23:18
tylercurtis left
23:25
pythonian4000 is now known as pythonian4000afk
23:27
MayDaniel left
|
|||
sorear | I think that the most fundamental mismatch between Perl 5 and Perl 6 is that in Perl 5, Int is a subtype of Str | 23:27 | |
Perl5think still holds that "everything is a string" tclishly, although this has not been strictly true since Perl 5.0 (not all $foo eq "ARRAY(0x8064304c)" are created equal) | 23:28 | ||
23:30
patrickas left
23:34
Limbic_Region joined
|
|||
sorear | phenny: tell masak to check out lhs2tex | 23:45 | |
phenny | sorear: I'll pass that on when masak is around. | ||
Trashlord | thanks | 23:46 | |
that means a lot | |||
sorear | ? | ||
talking to em? | |||
Trashlord | disregard, random drunken talk | 23:47 | |
I'm just surprised I didn't say anything here earlier, heh | |||
you'll come to realize I'm usually like this | |||
23:51
krakan left,
krakan joined
23:56
krakan left
23:57
javuchi joined
|
|||
javuchi | ey how fast is parrot compared to the jvm? | 23:57 | |
tadzik | ask #parrot on irc.perl.org. Parrot is not as mature as JVM, it doesn't have JIT and GC is far from perfect. But if you pay attention, you will see they're improving fast | 23:58 | |
JVM has years of optimizations after it, Parrot is a lot fresher compared to it | |||
sorear | parrot's current speed is a joke, nobody will deny this | 23:59 | |
javuchi | i'm trying to find some information regarding speed | ||
that bad, sorear? |