»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:20
noteventime joined
00:34
shinobicl__ joined
00:35
localhost left
00:36
shinobicl__ left
00:37
localhost joined
00:51
Chillance left
01:08
fgomez left
01:09
fgomez joined
01:19
scott__ joined
01:34
havenn joined
01:40
havenn left
01:59
whiteknight left
02:01
noteventime left
02:27
tokuhiro_ left
02:45
xinming_ joined
02:48
xinming left
03:12
orafu left
03:14
orafu joined
03:20
derrazo left,
envi_ joined
03:26
leprevost left
03:29
lestrrat left
03:30
lestrrat joined
04:28
Timbus left
04:47
Timbus joined
04:50
NamelessTee joined
05:11
envi_ left
05:33
havenn joined
|
|||
moritz | sorear: btw my niecza build still fails, make: *** No rule to make target `boot/obj/Run.CORE.ser', needed by `boot/obj/Run.CClass.ser'. Stop. | 05:38 | |
sorear | moritz: don't use -j | 05:49 | |
moritz | sorear: I don't | 05:50 | |
sorear | comments earlier today suggest some dolt made (g)make -j by default | ||
moritz | I'm on Debian stable; I'm pretty sure my make is too old for that kind of fancy | 05:51 | |
moritz tries again after git clean -xdf | |||
sorear | in that case, I have no idea whatsoever what the problem is, and as such cannot help you. | 05:52 | |
sorry. | |||
moritz | hm, seems to get further this time | 05:53 | |
sorear | what version of make do you use? | ||
that error message is worthless | 05:54 | ||
moritz | sorear: 3.81 | ||
sorear | me too | ||
moritz | sorear: if you want to reproduce, simply rm -rf boot/, touch a source file and try to rebuild | ||
anyway, build finished now after git clean -xdf | |||
sorear | hmm, I would consider that DIHWIDT | 05:55 | |
since you left .fetch-stamp alone | |||
05:56
NamelessTee left
|
|||
sorear | .fetch-stamp is newer than FETCH_URL, so no downloading of boot/ | 05:56 | |
directory modtimes aren't terribly useful so we need to use an external file | |||
if you find a way to make it less breakable, tell me | 05:57 | ||
since I no longer care about staying on ingy's good side - I HATE MAKE | |||
06:02
wtw joined
06:17
mucker joined
06:43
birdwindupbird joined
06:52
agentzh joined
07:27
havenn left
|
|||
moritz deletes a few old rakudo branches | 07:34 | ||
07:39
DarthGandalf left
07:42
mj41 joined
|
|||
moritz | rafl: good morning. Did you attend the GSoC feedback meeting on Friday? Was there a good explanation about why TPF wasn't accepted? | 07:46 | |
07:53
DarthGandalf joined,
DarthGandalf left,
DarthGandalf joined
07:57
fglock joined
|
|||
arnsholt | sorear: Indeed. Make sucks mightily. It's just a shame that all the alternatives suck mightily | 08:00 | |
I've been meaning to look into redo though, which looks promising | |||
masak | good morning, #perl6 | 08:02 | |
sorear | good moring, masak | ||
moritz | good am, arnsholt and masak | ||
tadzik | good mornings | 08:10 | |
moritz: there's a log: gist.github.com/2175315 | 08:11 | ||
moritz | tadzik: thanks | ||
rafl: never mind :-) | 08:18 | ||
08:22
dakkar joined
08:24
kaleem joined
|
|||
masak | carol++ GSoc++ # gist.github.com/2175315 | 08:26 | |
moritz curses loudly at the proprietary simulation software he uses | |||
08:41
eternaleye left
08:43
eternaleye joined,
bacek left,
eternaleye left
08:44
eternaleye joined,
eternaleye left,
eternaleye joined
08:45
zipf joined
08:56
zipf left,
agentzh left
|
|||
moritz | wow, perl 5.16 gets __SUBS__, which is like Perl 6's &?ROUTINE | 09:05 | |
09:06
Gothmog_ joined
|
|||
flussence | I hear they're trying to make gather/take work too :) | 09:07 | |
masak | __SUB__, surely? | ||
moritz | erm, yes | 09:08 | |
09:08
bacek joined
|
|||
tadzik | flussence: I think they did :) | 09:08 | |
moritz | there's a module for that | 09:09 | |
tadzik | I see we all read lwn from time to time :) | ||
moritz | metacpan.org/release/List-Gather | ||
n: 'foo'.print | 09:14 | ||
p6eval | niecza v15-6-gefda208: OUTPUT«Unhandled exception: Unable to resolve method print in class Str at /tmp/db_Pe7OphD line 1 (mainline @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 3842 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3843 (module-CORE @ 65)  at /home/p… | ||
masak | n: 'foo'.say | 09:15 | |
p6eval | niecza v15-6-gefda208: OUTPUT«foo» | ||
moritz | that stops the starry obfu from working on niecza | ||
though easy enough to work around | 09:16 | ||
masak | or patch :) | ||
moritz | and wow, I've written a program that's faster in rakudo than in niecza | 09:17 | |
mainly because its runtime is dominated by &eval calls | 09:18 | ||
masak | heh. | 09:20 | |
hm -- en.wikipedia.org/wiki/Perl mentions Rakudo but not Niecza. arguably this should be rectified. | |||
rafl | masak: glad i could help ;) | 09:21 | |
masak | "At the 2000 Perl Conference, Jon Orwant made a case for a major new language initiative." | 09:22 | |
masak laughs | |||
rafl | whops. s/masak/moritz/. ETOOEARLY! | 09:23 | |
masak | heh -- figgered it was a mistab. :) | ||
09:23
daxim joined
|
|||
moritz | rafl: masak and me are quite used to mistabs :-) | 09:23 | |
masak | I never wake up and wonder whether I'm moritz or masak. but apart from that, basically every kind of mixup happens. :P | 09:24 | |
yeah, that wikipedia page needs an update. it contains a lot of "As of early 2009", and mentions Mildew as an active non-Parrot implementation, but not Niecza. | 09:25 | ||
moritz | we also shouldn't have 'Future' as the heading for the Perl 6 section | ||
it's another instance of the "p6 is an automatic upgrade from p5" thought | 09:26 | ||
masak | Richard Bandler talks a lot about people with a mental slot like "later" or "soon" or "tomorrow". they place tasks there and somehow never get them done. | ||
I think something similar is going on with the "Perl 6 == future" meme. | 09:27 | ||
arnsholt | masak: Perhaps rephrase to "Orwant made a _strong_ case for a major new language initiative"? =) | ||
masak | arnsholt: he said "we need to do something, or people will lose interest and walk away". | 09:28 | |
strangelyconsistent.org/blog/happy-...ary-perl-6 | 09:29 | ||
arnsholt | Indeed, indeed | 09:32 | |
09:32
envi_ joined
09:36
dakkar left
|
|||
moritz | ok, I've now split the "Future" section into a "Perl 6" and a "Future of Perl 5" section, en.wikipedia.org/w/index.php?title=...=483623605 | 09:37 | |
but both section still need lots of work | 09:38 | ||
09:40
zipf joined
|
|||
moritz | but I can't do that at $dayjob right now :-) | 09:41 | |
masak | nevertheless, moritz++ | 09:43 | |
today's autopun: "Doctor told me I had insomnia. I spent all night awake worrying about it." | 09:47 | ||
moritz | there's an odd feeling to changing a web page that seems to have so much authority | ||
09:47
icwiener joined,
icwiener left,
icwiener joined
|
|||
moritz | it's a mixture of "wow, I can do that?" and "if it's so important, why has nobody bothered before me?" and "I hope I don't screw it up" | 09:47 | |
masak: nice one :-) | 09:48 | ||
masak | moritz: that pretty much sums up Wikipedia. we wouldn't think the same of it if it were named "Jimbo's Bag o' Trivia" | 09:49 | |
09:49
zipf left
|
|||
masak | instead, it's called "Wikipedia", and there's a definite black-hole effect around it, whereby things become slightly more authoritative *because* they're on Wikipedia. | 09:50 | |
moritz | and the weird thing is, if I write arbitrary stuff into it, I get called out for not citing my sources. But if I write the same arbitrary stuff on my own web page first, nobody complains, because I can cite is as a source :-) | 09:51 | |
ss/cite is/cite it/ | |||
masak | there's all kind of ways to "trick" Wikipedia into accepting facts, yes. some of them are subtle and truly worrying. | 09:52 | |
moritz | well, I don't want to trick wp; I sometimes just want to add some knowledge to it, and need to take an extra step to "prove" my credibility | ||
masak | nod | 09:53 | |
moritz | fwiw on the 'Black Perl' page I've added a link to the IRC logger where TimToady++ confirms his authorship. So far it has survived, contrary to colomon++'s prediction that it would go away in a week | 09:55 | |
masak | yay | 09:56 | |
10:09
zipf joined
|
|||
colomon is trying to remember when he said that.... | 10:12 | ||
moritz | colomon: irclog.perlgeek.de/perl6/2010-05-11#i_2319892 | ||
colomon | indeed! | 10:13 | |
moritz | the IRC logs are part of my outsourced memory :-) | ||
colomon | moritz++ | 10:14 | |
have to admit I'm still a bit astonished, but I'm glad, too. :) | 10:16 | ||
masak | I feel slightly powerless nowadays when I don't have the Internet at my fingertips. prediction: this will only get more pronounced as we progress into the future. | ||
or rather, the human/internet connection will be even more immediate and effortless, and as a consequence, we will feel more powerless when the connection is broken. | 10:17 | ||
10:18
scott__ left
10:19
havenn joined
|
|||
moritz doesn't contradict at all | 10:19 | ||
though I'll do my best to raise my daughter so that she'll be able to both efficiently use the Internet, and cope without it too | 10:20 | ||
masak | oh, sure. | ||
colomon | Little Henry is already learning to type (at his own desire, not ours) | 10:21 | |
masak | my point is just that it'll be "coping" ;) | ||
moritz | colomon: how old is he? and can he read? | ||
colomon | 3, and no, he cannot | 10:22 | |
but he's learning his letters | |||
well, he can read / spell a few words | |||
moritz | wow, that's quite early | ||
colomon | actually, I think he knows all his letters now | ||
moritz | I couldn't even spell my name when I entered school with 6 years | 10:23 | |
masak | I could, but I insisted my name should be spelled more logically. | ||
"KAL" | |||
colomon | he also knows that caps lock gets you uppercase (he doesn't really have the dexterity for the shift key yet) and enter/return sends the messages (he's been texting his granny) | ||
but mostly we have to spell for him. | 10:24 | ||
bbkr | hm, I'm 30 and I can barely handwrite because I got C64 with printer at the age of 6 :) | ||
colomon | "I want to type 'model railroading'." | ||
C64++ | |||
masak | bbkr: hey, I'm 30 too! :) | ||
moritz | bbkr: :-) | ||
moritz also doesn't like writing manually | |||
masak | I can handwrite, and I take pride in knowing how to do it. but I'm just so slow at it! | 10:25 | |
moritz | I mean, handwriting | ||
masak: fast xor readable :-) | |||
masak | writing sloppily only makes my writing sloppy, and not much faster. | 10:30 | |
colomon | bbkr: I'm old enough that I'd already learned to handwrite, but young enough that when we got a C64, I changed my printing to look more like its characters. ;) | 10:31 | |
10:31
dakkar joined
|
|||
masak | but I write quite clearly, most of the time. I've often gotten the comment that my handwriting looks like a girl's. | 10:31 | |
apparently, girls tend to handwrite well, according to some. | 10:32 | ||
10:34
NamelessTee joined,
dakkar left
10:35
dakkar joined
|
|||
jlaire | I've been told that many times, too :| | 10:43 | |
I handwrite mostly math or other things where slowness isn't a big issue | 10:44 | ||
10:55
am0c joined
11:08
pernatiy left
11:19
icwiener left,
icwiener joined
|
|||
moritz | meh, nobody can distinguish my u's, v's and \nu's reliably, not even I | 11:22 | |
masak | heh, for a few seconds I read your "\nu" as "a u written after a linebreak" :P | 11:26 | |
I'm pretty sure I can write those three and reliably distinguish them afterwards. whether others can, I'm not so certain. | 11:27 | ||
\nu is distinguished from v. in the former, both strokes "curve" a bit to the right. | 11:28 | ||
or "bulge", is perhaps a more appropriate term. | 11:29 | ||
daxim | experts: what's the Perl6 equivalent code of <www.mail-archive.com/perl-unicode@p....html>? | ||
moritz | when I have enough time, I can do that too. But in the haste of transcribing a lecture on the fly, I usually fail | ||
daxim: I don't think we have an API for the Unicode::UCD stuff yet :/ | 11:30 | ||
daxim: feel free to propose one | |||
daxim | what about the program with the two matches? | ||
moritz | n: say so "为" ~~ /<:isHan>/ | 11:31 | |
p6eval | niecza v15-6-gefda208: OUTPUT«===SORRY!===ISHAN does not exist as a UCD table at /tmp/BcoFaqE8DR line 1:------> say so "为" ~~ /<:isHan⏏>/Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1362 (die @ 3)  at … | ||
moritz | n: say so "为" ~~ /<:Han>/ | ||
p6eval | niecza v15-6-gefda208: OUTPUT«True» | ||
moritz | and \X is supposed to be dealt with by a single dot in grapheme mode, but that's NYI too | ||
colomon | perl6: say so "为" ~~ /<:Han>/ | 11:32 | |
p6eval | pugs: OUTPUT«*** No such subroutine: "&so" at /tmp/69AK70W3LJ line 1, column 5 - line 2, column 1» | ||
..rakudo 57a681, niecza v15-6-gefda208: OUTPUT«True» | |||
11:40
kaleem left,
kaleem joined
11:41
jferrero left
11:43
jferrero joined
11:45
pernatiy joined
11:46
icwiener left,
icwiener joined
11:51
NamelessTee left,
tokuhiro_ joined
|
|||
masak | r: say so "ASCII" ~~ /<:Han>/ | 11:52 | |
p6eval | rakudo 57a681: OUTPUT«False» | ||
masak | n: say so "ASCII" ~~ /<:Han>/ | ||
p6eval | niecza v15-6-gefda208: OUTPUT«False» | ||
masak | \o/ | ||
12:03
skids left
12:07
awwaiid joined
12:10
pernatiy left,
pernatiy joined
12:15
icwiener left
12:48
lestrrat left,
lestrrat joined
|
|||
moritz | tratt.net/laurie/tech_articles/arti..._that_isnt | 12:50 | |
12:54
benabik left
|
|||
Juerd | moritz: How's the feather1/3 thing? Do the current memory assignments suffice? | 13:14 | |
[Coke] ~~ | 13:15 | ||
moritz | Juerd: feather1 has enough memory for compiling rakudo. That's about all I currently know :/ | 13:16 | |
Juerd | Okay, great | 13:17 | |
moritz | now testing stuff in #perl6-bottest | 13:18 | |
13:22
fgomez left,
spider-mario joined
13:32
fgomez joined
13:33
skids joined
|
|||
masak | spider-mario! \o/ | 13:41 | |
spider-mario | :) | 13:42 | |
13:42
fsergot joined
|
|||
fsergot | hi #perl6 o/ | 13:42 | |
masak | dzień dobry, fsergocie. | 13:44 | |
13:44
mucker left
|
|||
fsergot | :) | 13:47 | |
masak : making people smile | 13:51 | ||
13:55
araujo left
14:00
araujo joined,
araujo left,
araujo joined
14:07
alester joined
14:12
zipf left
|
|||
daxim | mail.pm.org/pipermail/moscow-pm/201...12134.html | 14:16 | |
14:19
zipf joined
14:21
fgomez left
|
|||
fsergot | masak: Do You learn Polish lang.? :) | 14:24 | |
moritz | ok, I now have rakudo, b and niecza running on the feather3 evalbot | ||
no cron jobs for rebuilding/rsyncing yet | 14:25 | ||
Juerd | moritz++ | ||
moritz | next on the list: std and pugs | ||
though maybe it'll take a day or two | |||
spider-mario | what does “b” refer to? | 14:27 | |
masak | spider-mario: an old branch of Rakudo. | ||
moritz | spider-mario: the 'Beijing' release of rakudo, the last release before the 'nom' branch | ||
masak | spider-mario: pre-nom, to be exact. | ||
spider-mario | ok :) | ||
I thought nom had become the main branch, are there still reasons to use the old one? | 14:28 | ||
are there still regressions? | |||
masak | fsergot: I'm in an eternal love affair with the slavic languages. Russian in particular, but I like Polish too. | ||
moritz | spider-mario: yes, some few | ||
spider-mario: the most significant being autovivification | |||
flussence | b: 'abc'.indent(4) # doesn't work in nom yet | 14:29 | |
p6eval | b 1b7dd1: ( no output ) | ||
moritz | nom: say 'abc'.indent(4) | ||
p6eval | rakudo 57a681: OUTPUT«Method 'indent' not found for invocant of class 'Str' in block <anon> at /tmp/vquXQ76jPx:1» | ||
moritz | flussence: what is it blocking on? tuits? | ||
flussence | AFAIK the breakages were very minor, I might have the nom code somewhere, lemme check | 14:30 | |
github.com/flussence/p6-misc/blob/.../Indent.pm - there it is, not quite in copy-pastable form, but it passes its tests. | 14:33 | ||
I'm at $dayjob right now, but if anyone familiar with rakudo's innards wants to put that in the right place, go for it | 14:35 | ||
n: say 'abc'.indent(4) | 14:36 | ||
p6eval | niecza v15-6-gefda208: OUTPUT« abc» | ||
flussence | ooh, didn't know it worked there. | ||
masak | n: say " a\n b\n c".indent(*) | 14:40 | |
p6eval | niecza v15-6-gefda208: OUTPUT«a bc» | ||
masak | \o/ | ||
n: say "\ta\n\t b\n\tc".indent(*) | |||
p6eval | niecza v15-6-gefda208: OUTPUT«a bc» | 14:41 | |
masak | I've forgotten the exact indent rules, but that's gotta be right :) | ||
14:41
PacoAir joined
|
|||
flussence | well, implementing it did involve changing the rules :) | 14:41 | |
masak | I remember :) | 14:42 | |
n: say " abc".indent(-4) | |||
p6eval | niecza v15-6-gefda208: OUTPUT«Asked to remove 4 spaces, but the shortest indent is 2 spaces at /home/p6eval/niecza/lib/CORE.setting line 1226 (warn @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 913 (ANON @ 10)  at /home/p6eval/niecza/lib/CORE.setting line 926 (Str.indent @ 10… | ||
masak | \o/ | 14:43 | |
14:43
thou joined
|
|||
spider-mario | the error message is awesome \o/ | 14:44 | |
flussence | oh, I remember now, I prodded sorear++ to change Test.pm just so I could test that triggered a warning | ||
spider-mario | if only all error messages could be as descriptive. | 14:45 | |
masak | I like the fact that we have such a method, too. | ||
it fell out of heredocs, because heredocs need .indent(*) internally. | 14:46 | ||
14:46
GlitchMr joined
14:50
mucker joined
|
|||
dalek | ecs: 13572a7 | masak++ | S32-setting-library/Str.pod: [S32/Str] clarification/grammar fix |
14:50 | |
15:09
wtw left
|
|||
masak | aha, "scannerless parsing". good term. # tratt.net/laurie/tech_articles/arti..._that_isnt | 15:20 | |
and I hadn't thought about it that way, but it's really essential for slang braiding. ("language/grammar composition") | 15:21 | ||
shinobicl | hi... today i saw a discussion online about OOP and i got a question for you perl6 people :) | ||
pure abstract classes plus multiple inheritance... v/s roles... is there _any_ difference at all? | 15:22 | ||
besides runtime composition, that is.. | 15:23 | ||
flussence | perl6 roles have the []-parameterisation thing | 15:24 | |
masak | abstract classes + MI don't give you composition safety. | ||
15:24
NamelessTee joined
15:26
zipf left
|
|||
shinobicl | flussence: that's a +1, but, masak, sorry i'm not very versed on this stuff. What do you mean by composition safety? | 15:26 | |
masak | r: role R1 { method foo {} }; role R2 { method foo {} }; class C does R1 does R2 {}; say "alive" | 15:27 | |
p6eval | rakudo 57a681: OUTPUT«===SORRY!===Method 'foo' must be resolved by class C because it exists in multiple roles (R2, R1)» | ||
masak | I mean that. | ||
shinobicl | oh, i see, and how do you solve that? | 15:28 | |
masak | class C tries to compose roles R1 and R2, but fails because there are conflicting methods. | ||
MI doesn't have anything like it and just does... whatever it feels like, much depending on the particular MRO. | |||
15:29
birdwindupbird left
|
|||
masak | r: role R1 { method foo {} }; role R2 { method foo {} }; class C does R1 does R2 { method foo { self.R1::foo } }; say "alive" | 15:29 | |
p6eval | rakudo 57a681: OUTPUT«alive» | ||
masak | like that. | ||
it's really over-stretching the use for package/our :: notation, but it works really well, and is sorta strangely consistent. | 15:30 | ||
in general, any role composition conflict can be silenced by declaring a method in the class body. | |||
shinobicl | r: role R1 { method !foo {} }; role R2 { method foo {} }; class C does R1 does R2 { }; say "alive" | 15:33 | |
p6eval | rakudo 57a681: OUTPUT«alive» | ||
shinobicl | nice :) | ||
but, why the error does not arise when you try to use "foo" for the first time? you are being forced to solve any conflict even if you dont' use the conflicting methods | 15:35 | ||
masak | private and public methods never collide. | 15:36 | |
doy | shinobicl: getting the errors at compile time is a pretty huge win | ||
masak | shinobicl: because having conflicting methods is a grave enough design error that you deserve to be alerted at composition time. | ||
shinobicl: your methods form an API, and if your API contains ambiguities like this, it means you're confused and need to be told. | 15:37 | ||
I might turn the question around: "why wait with reporting an obvious error until the last moment, when we can report it as we find it?" | |||
15:38
zipf joined
|
|||
masak | or maybe s/error/thinko/ | 15:41 | |
15:43
mtk joined
|
|||
shinobicl | well, it makes sense :) and in some ways it encourages you to make roles as small as possible, unless you want to take care of hundreds of conflicting methods whenever you make a new class from roles. | 15:46 | |
15:47
Psyche^ joined,
Patterner left,
Psyche^ is now known as Patterner
|
|||
masak | there are lots of reasons to keep roles small. | 15:49 | |
then again, there are lots of reasons to keep classes small, too :) | |||
15:51
benabik joined
15:52
benabik left
|
|||
masak decommutes | 15:53 | ||
16:05
MayDaniel joined
16:17
mj41 left
16:24
tokuhiro_ left
16:28
kaleem left,
snearch joined
16:38
kaleem joined
16:43
thou left
16:44
kaare_ joined
|
|||
tadzik | 'evenings | 16:52 | |
felher | o/ tadzik | 16:54 | |
TimToady | lovely community/rosettacode page, but there's no link to it | 17:04 | |
17:05
zipf left
17:06
kaleem_ joined
17:07
kaleem left,
MayDaniel left
17:13
pernatiy left
|
|||
spider-mario | great, the parsing time of rakudo seems to have been divided by ~4 since star 2012.02 | 17:17 | |
17:18
raiph joined
|
|||
PerlJam | re small roles ... I'd hate to see class defs like class Foo does Alpha does Beta does Gamma does Bingo does Fred does Work does Blah does More-Blah does Something-else { ... } | 17:22 | |
It's all about balance. | 17:23 | ||
colomon | Isn't the degree of the name collision problem going to be exactly the same in either case? | ||
17:24
snearch left
|
|||
colomon | well, maybe not exactly the same, but of the same magnitude, anyway. | 17:24 | |
17:25
zipf joined
|
|||
flussence | std: class A { does B } | 17:30 | |
p6eval | std 1ad3292: OUTPUT«===SORRY!===Undeclared name: 'B' used at line 1Undeclared routine: 'does' used at line 1Check failedFAILED 00:01 108m» | ||
flussence | std: role B {}; class A { does B } | ||
p6eval | std 1ad3292: OUTPUT«===SORRY!===Undeclared routine: 'does' used at line 1Check failedFAILED 00:01 109m» | ||
flussence | dunno, I thought that worked. | ||
either way I think there's a way to not have to specify everything all on one line | 17:31 | ||
17:31
jevin left,
kaleem_ left
|
|||
flussence | (though I'm also of the opinion that you're doing something wrong when your package's full name is a significant fraction of its total code) | 17:32 | |
TimToady | "also does" | ||
flussence | aha | ||
(why the "also"?) | |||
TimToady | hid the namespace of declarators | 17:33 | |
*hide | |||
especially with regard to "is" | |||
see Test.pm | |||
flussence | oh, I get it | 17:34 | |
TimToady | it also reads better | ||
since you're doing something later than expected | |||
PerlJam | flussence: it's not about having to specify everything on one line as much as it is about having to *think* about all the different roles and what they might contain and how they'll be mashed together, etc. | ||
17:34
jevin joined
|
|||
PerlJam | But, for the most part, I think people will find a natural balance between packaging things in classes vs packaging them in roles after the initial cambrian explosion caused by the introduction of a relatively new concept. | 17:38 | |
17:42
leprevost joined
17:44
dukeleto joined
|
|||
dukeleto | o/ | 17:44 | |
PerlJam | dukeleto: greetings. | ||
dukeleto | how did the recent Rakudo release on top of parrot 4.2.0 go? | 17:45 | |
17:48
Chillance joined,
zipf left
|
|||
arnsholt | jnthn: I've been having a fair bit of trouble getting the Zavolaj test suite to run properly, and I'm considering fiddling with the test suite to only use functions from POSIX (which should be available on Windows as well) | 17:51 | |
Would you be interested in such a patch? | |||
PerlJam assumes the rakudo release went fine because he had no problems with it | 17:54 | ||
colomon assumes the rakudo release went fine because he had no part in it | 17:56 | ||
PerlJam | colomon: does that mean we should be extra careful for the release(s) you are a part of? :) | 17:57 | |
colomon | ;) | 17:58 | |
TimToady | moritz: I'm not happy with the error message, since the ⏏ should be after the whitespace | 18:02 | |
colomon | arnsholt: that sounds like a very good idea to me | 18:03 | |
18:03
daxim left
|
|||
masak | PerlJam: I don't see the problem with a class doing lots of roles. have you had a look at ClassHOW lately? it's wonderfully subdivided into role, just like that. | 18:07 | |
PerlJam: subdividing into more roles means the metamodel becomes more refined/flexible. going for larger roles -- don't even know if that was an option here -- would mean the metamodel became *less* refined flexible. | 18:09 | ||
it doesn't even feel like a tradeoff in this case. | |||
18:14
mj41 joined
|
|||
PerlJam | Yeah, I guess we'll start coming up with standard roles (role names) that make sense and add those to our "normal" vocabulary. | 18:16 | |
I know we went through this same thing in the early days of Perl 5 when we suddenly had CPAN and modules that started with many "use" lines. But everyone adjusted as the modules (modules names) got more "conceptual clout" | 18:18 | ||
18:19
mucker left
|
|||
masak | oh, the current MOP factoring as cute-today over-usage of roles? I didn't even consider that possibility. | 18:20 | |
TimToady | about the too-many-role-names problem, note that related roles can be composed into larger roles | 18:29 | |
so you aren't required to have a million 'does' declarations in a row | 18:30 | ||
so small vs large roles is not really an either/or thing | 18:31 | ||
masak | right. | 18:44 | |
but let's say I was somehow forced to choose between bulky roles and many roles: I'd choose many. | 18:45 | ||
18:48
ksi joined
18:49
icwiener joined
|
|||
arnsholt | phenny: tell jnthn I'm considering making the Zavolaj test suite depend only on stdlib/POSIX. Sound interesting? | 18:50 | |
phenny | arnsholt: I'll pass that on when jnthn is around. | ||
19:00
Araq joined
19:03
dakkar left
19:05
lestrrat left
19:06
lestrrat joined
|
|||
Araq | hi everyone | 19:07 | |
what's your favourite perl6 feature? | |||
tadzik | hm, let's see | 19:11 | |
the full-blown MOP I thin | |||
k | |||
19:12
GlitchMr left
|
|||
masak | I like the fact that you can mutate the grammar to your liking. | 19:12 | |
tadzik | or multiple dispatching | ||
masak | I like how the grammar is homoiconic in a way. | ||
or at least metacircular :) | |||
19:13
lucas_ joined
19:14
tokuhiro_ joined
|
|||
colomon | the rich suite of operators, I think | 19:15 | |
19:17
havenn left
|
|||
masak | on a higher level, I kinda like how it "carr[ies] forward the high ideals of the Perl community", essentially answering lots of "what-if" type questions about Perl-the-language-family that we wouldn't have known with just Perl 5. | 19:17 | |
two Perls for the price of one. | |||
and speaking of language evolution; I just found this: blog.feabhas.com/2012/03/on-the-evo...ing-style/ | 19:21 | ||
(following a simple program through C -> C with classes -> C++98 -> C++11) | 19:22 | ||
19:23
havenn joined
|
|||
masak | ooh, and the HN thread has a nice "C++ without classes" solution :) # news.ycombinator.com/item?id=3757005 | 19:25 | |
19:27
envi_ left
19:31
jaldhar left,
_jaldhar joined
19:35
_jaldhar left
19:44
am0c left
19:47
noteventime joined
19:51
birdwindupbird joined
|
|||
TimToady | interesting article: cr.yp.to/critbit.html | 19:58 | |
though, of course, handwavey on the subject of what "sorted" means | 19:59 | ||
Araq | it means lexicographical order | ||
TimToady | whatever that means | 20:00 | |
masak | r: class P{has@.c;method Str{join "+",map {my$j=""if$j=@.c[$_]or next;my ($e)=("x"when 1),("x**$_"when *>1);"{$j}$e"},reverse ^@.c}};multi infix:<*>(P$p1,P$p2){P.new(:c(map ->$i{[+]map {$_ <$p1.c&&$i-$_ <$p2.c??$p1.c[$_]*$p2.c[$i-$_]!!0},^$i},^($p1.c+$p1.c)))};sub x{P.new(:c(0,1))};say x*x | ||
p6eval | rakudo 57a681: OUTPUT«===SORRY!===Unable to parse blockoid, couldn't find final '}' at line 2» | ||
Araq | 'a' < 'b' ? | ||
masak | b: class P{has@.c;method Str{join "+",map {my$j=""if$j=@.c[$_]or next;my ($e)=("x"when 1),("x**$_"when *>1);"{$j}$e"},reverse ^@.c}};multi infix:<*>(P$p1,P$p2){P.new(:c(map ->$i{[+]map {$_ <$p1.c&&$i-$_ <$p2.c??$p1.c[$_]*$p2.c[$i-$_]!!0},^$i},^($p1.c+$p1.c)))};sub x{P.new(:c(0,1))};say x*x | 20:01 | |
p6eval | b 1b7dd1: OUTPUT«x**2» | ||
masak | \o/ | ||
Araq | well you can use any order relation that you like | ||
colomon | masak: I've been pondering how to solve the quadratic equation thing Properly in p6. ;) | ||
masak | sorry for being a bit terse. I was concerned about the character limit. | ||
colomon: yeah, that's what started me off down this lane too :) | |||
I think I just invented an idiom in there somewhere :P | 20:02 | ||
TimToady | I think about all you can say about crit-bit is that it shorts a 1 bit after a 0 bit, but anything else is going to be assuming an encoding that may or may not produce a meaningful sort | 20:04 | |
UTF-8 will probably sort nicely, in a raw sort of way | |||
UTF-16 will not sort so nicely | 20:05 | ||
at least, not after you get out of plane 0 | |||
doy | well, and the fact that the sorting order is reliant on the encoding at all seems pretty wrong too | 20:06 | |
TimToady | from a Unicode point of view, but not from a low-level view :) | 20:07 | |
doy | well, right | ||
masak | r: class P { has @.c;method gist {join "+",map {my $j="" if $j=@.c[$_] or next;my ($e)=("x" when 1),("x**$_" when * > 1);"{$j}$e"},reverse ^@.c}};multi infix:<*>(P $p1, P $p2) {P.new(:c(map ->$i {[+] map {$_ <$p1.c && $i-$_ <$p2.c??$p1.c[$_]*$p2.c[$i-$_]!!0},^$i},^($p1.c+$p1.c)))};sub x {P.new(:c(0,1))}; say x * x | ||
p6eval | rakudo 57a681: OUTPUT«x**2» | ||
masak | \o/ | ||
doy | but if you expose the sorting functionality as an actual api, it effectively means that you can't ever change your internal encoding in the future | 20:08 | |
TimToady | for an object hash, we'd have to sort based on the bitstring of .WHICH, which may or may not have anything to do with UTF-8 | 20:11 | |
for a Str key, however, keys could be canonicalized to UTF-8 if they didn't come in that way | |||
Araq | convert strings to utf-32 in the crit bit tree implementation and be done with it ;-) | 20:12 | |
or just use the byte comparisons | |||
TimToady | so we could conceivably guarantee Unicodebetical order for hashes | ||
Str hashes* | |||
Araq | after all, a hash has no order whatsoever | ||
so it's still a win | 20:13 | ||
TimToady | well, our utf8 can potentially represent characters outside of UTF-32 | ||
and UTF-32 is rather wasteful for memory in western lands | 20:14 | ||
Araq | do it on the fly in the crit bit tree implementation | ||
and utf-8 can't represent characters outside of utf-32 | 20:15 | ||
per definition | |||
TimToady | I'll wager UTF-8 will be faster simply because you don't have to look at all those 0 bits | ||
our definition of utf8 is not utf-8 | |||
Araq | if "your" utf-8 supports more characters, it's not utf-8 ;-) | ||
20:15
ksi left
|
|||
TimToady | note the absence of a hyphen :) | 20:16 | |
Araq | omg | ||
TimToady | but yes, Unicode is only defined to 10ffff | ||
one of the principles of Perl is must be possible to think evil thoughts | 20:17 | ||
and characters outside that range are one of those evil thoughts that must be thinkable | |||
it's perfectly fine to blow up if you try to send those characters to an API that doesn't expect it, however | |||
as far as perl is concerned, characters are just numbers | 20:18 | ||
Araq | *shrug* your utf32 could be different from utf-32 too | ||
TimToady | and I'm not even claiming this will be the default view, since we're supporting Unicode by default, so by default it'll blow up on big chars | 20:19 | |
so perhaps our crit-bit trees could just be thought of as a sequence of integers | |||
where the size of the integers is known one way or another | 20:20 | ||
masak | please optimize for the non-evil case ;) | ||
TimToady | either by fiat (this tree uses 32-bit integers) or by variable-length encoding (this tree encodes integers in a utf8-ish form) | ||
you just have to avoid accidentally comparing bits that are not the same power of 2 | 20:21 | ||
masak: it is not clear that there is a distinction, at least for western languages | 20:22 | ||
jnthn | o/ | 20:23 | |
phenny | jnthn: 18:50Z <arnsholt> tell jnthn I'm considering making the Zavolaj test suite depend only on stdlib/POSIX. Sound interesting? | ||
TimToady | if we end up with strings made out of ropes of UCS-4, UCS-2, and UCS-1, then the crit bits have to be cognizant of that somehow | ||
jnthn | phenny: ask arnsholt what else does it currently depend on? | ||
phenny | jnthn: I'll pass that on when arnsholt is around. | ||
TimToady | and ropes of UCS are extendible to UCS-8, UCS-16 for evil purposes as well. :) | 20:24 | |
(using the term UCS loosely, of course) | |||
this also fits with the notion that NFG is simply a list of Int on some level | 20:26 | ||
in which case critbits need to deal with signedness, assuming we use negative ints for synthetic codepoints | 20:27 | ||
which I still think is probably the right way to go | 20:28 | ||
jnthn | phenny: tell arnsholt anyways, patches that improve Zavolaj portability are welcome. | ||
phenny | jnthn: I'll pass that on when arnsholt is around. | ||
masak | jnthn! \o/ | 20:32 | |
jnthn | masak! \o/ | ||
20:33
havenn left
|
|||
jnthn | On small roles, I guess there's perhaps some role-y version of the SRP and ISP. | 20:37 | |
20:42
kaare_ left
|
|||
masak | ISP should apply directly to roles. | 20:43 | |
TimToady | I don't think my ISP would understand the thrust of that remark... | 20:51 | |
20:54
tokuhiro_ left
20:55
mj41 left
21:02
havenn joined
|
|||
fsergot | good night #perl6 o/ | 21:04 | |
:) | |||
21:04
fsergot left
21:11
skids left
21:15
birdwindupbird left,
japhb_ joined
|
|||
japhb_ | Anyone else having trouble getting to the IR clog, or is it just me? | 21:16 | |
flussence | nope, 's down | ||
japhb_ | bah | ||
masak | 'night, #perl6 | 21:17 | |
japhb_ | Well, from earlier today (I don't know if it's been answered already): TimToady, the RosettaCode community page has not been linked in to the rest of perl6.org yet because I was still adding content and seeking community input. Are you wanting to link it in as is? | 21:18 | |
o/ masak | |||
mikemol | japhb_: Just about everything around Perl 6 is considered work-in-progress, and very little needs to be of some kind of 'release' grade. | 21:19 | |
It's probably OK to add the link. | |||
TimToady | .oO(commit early, commit often) |
||
mikemol | Also, AFAIK, you're not stepping on anyone's toes if you add the link. To the contrary; you might be risking taking ownership. :) | 21:20 | |
japhb_ | mikemol, understood. I tend to have a higher-than necessary bar for releasing, so it's good to get the reminder sometimes. | ||
Anybody object to fitting the link into the box on the front page, as well as the main community index page? | |||
PerlJam | japhb_: ask forgiveness rather than permission :) | 21:21 | |
21:21
crncosta joined
|
|||
japhb_ | PerlJam, damn you and your sense of sanity! | 21:21 | |
mikemol | "forgiveness" often comes in the form of bugfixing, anyway; if stuff had to be perfect before being committed, we wouldn't need bugtrackers. :) | ||
21:22
pernatiy joined
|
|||
japhb_ | OCD: sometimes, it gets in the way. | 21:22 | |
PerlJam | japhb_: we have an aphorism for every situation :-) | ||
japhb_ | Of course. That's what I get for hanging out with linguists. | 21:23 | |
mikemol | Does that mean that for every situation, $situation === $aphorism? | ||
.oO( Uh, sir? We've got an aphorism here... ) |
|||
21:35
crncosta left
|
|||
dalek | href="https://perl6.org:">perl6.org: 08cec58 | (Geoffrey Broadwell)++ | source/ (2 files): Add Rosetta Code page to main community page and community box on front page |
21:39 | |
href="https://perl6.org:">perl6.org: 5358193 | (Geoffrey Broadwell)++ | source/index.html: Fix a few places on home page where 'Perl 6' should be 'Perl 6' |
|||
japhb_ | There, should be linked in on the next site update. | ||
Is there a way to awaken the update bot? | 21:40 | ||
Also, is there any particular reason that perl6.org internal links are absolute, instead of relative? | 21:41 | ||
(It would be much nicer to test changes locally if the internal links were relative.) | 21:42 | ||
21:43
pyrimidine left
21:44
pyrimidine joined
21:45
alester left
21:49
lichtkind joined
|
|||
lichtkind | cheers | 21:50 | |
jlaire | p6: say 0/0 | 21:59 | |
moritz | japhb_: yes, it means you can move a page around without having to udpate all the local links inside that file | ||
p6eval | pugs: OUTPUT«*** Illegal division by zero at /tmp/DUaVzCA0Gu line 1, column 5 - line 2, column 1» | ||
..rakudo 57a681: OUTPUT«Divide by zero in sub infix:<div> at src/gen/CORE.setting:2641 in sub DIVIDE_NUMBERS at src/gen/CORE.setting:6851 in sub infix:</> at src/gen/CORE.setting:6983 in block <anon> at /tmp/qjMj38PqYQ:1» | |||
..niecza v15-6-gefda208: OUTPUT«0» | |||
jlaire | p6: say 0.Num/0 | ||
p6eval | rakudo 57a681: OUTPUT«Divide by zero in sub infix:</> at src/gen/CORE.setting:3067 in sub infix:</> at src/gen/CORE.setting:2480 in block <anon> at /tmp/SkQPVdk4IX:1» | ||
..niecza v15-6-gefda208: OUTPUT«NaN» | |||
..pugs: OUTPUT«*** No such method in class Int: "&Num" at /tmp/6ZxzbIebW6 line 1, column 5 - line 2, column 1» | |||
flussence | This sounds like the sort of problem <base href=> was invented to solve :) | 22:00 | |
jlaire | niecza: say (0.Num/0 xx 8) ~ " Batman!" | ||
p6eval | niecza v15-6-gefda208: OUTPUT«NaN NaN NaN NaN NaN NaN NaN NaN Batman!» | ||
jlaire | niecza: say ("" xx 8).join(0.Num/0) ~ " Batman!" | ||
p6eval | niecza v15-6-gefda208: OUTPUT«NaNNaNNaNNaNNaNNaNNaN Batman!» | ||
spider-mario | <p6eval> ..niecza v15-6-gefda208: OUTPUT«0» | 22:03 | |
something’s wrong, or am I missing something? | |||
22:04
icwiener left
|
|||
flussence | n: say (0/0) | 22:04 | |
p6eval | niecza v15-6-gefda208: OUTPUT«0» | ||
flussence | n: (say 0)/0 | ||
p6eval | niecza v15-6-gefda208: OUTPUT«0» | ||
flussence | to me, looks like it's wrong | ||
n: say (0/0).WHAT | 22:05 | ||
p6eval | niecza v15-6-gefda208: OUTPUT«Rat()» | ||
flussence | n: say (0/0).Num | ||
p6eval | niecza v15-6-gefda208: OUTPUT«0» | ||
japhb_ | flussence, how does the <base> element solve my issue? Or where you referring to moritz's? | 22:07 | |
flussence | japhb_: moritz's I guess, though it'd fix both :) | 22:08 | |
22:08
PacoAir left
|
|||
japhb_ smacks himself upside the head | 22:13 | ||
DUH, *that's* why the repo has an app.psgi file in the root. | |||
Hmmm, without file extensions, it 404's. | 22:14 | ||
moritz | not on perl6.org | ||
which uses apache2, and content negotation | |||
japhb_ | I was just using plackup to run the app on a local port. | 22:15 | |
moritz | I also have an Apache running locally, and a 'perl6' virtual host which points to the online/ dir | ||
japhb_ | I can't (easily) make perl6.org the root of my apache2 instance. | ||
nod. | |||
IWBNI the plack up just did that for you. | 22:18 | ||
(I'm not an expert on Plack plugins) | |||
22:18
NamelessTee left,
Araq left
22:22
spider-mario left
|
|||
dalek | href="https://perl6.org:">perl6.org: 36f4aef | (Geoffrey Broadwell)++ | source/index.html: (Hopefully) reduce the number of lines used in the community box on the front page so that it doesn't overflow |
22:22 | |
22:22
leprevost left
|
|||
lichtkind | moritz: planned any yapc talks? | 22:28 | |
22:32
Chillance left
22:39
aloha left
22:44
aloha joined
22:47
bruges_ left,
bruges joined
22:55
s1n left
|
|||
dalek | href="https://perl6.org:">perl6.org: 97c3336 | (Geoffrey Broadwell)++ | source/community/rosettacode.html: perl6.org's styles expect <dd> contents to be wrapped in paragraphs, so do that for the rosettacode page community favorites list |
23:01 | |
23:03
havenn left
23:14
envi_ joined
23:15
lucas_ left
23:17
lue joined
|
|||
lue | hello world o/ | 23:17 | |
23:18
whiteknight joined
|
|||
japhb_ | o/ lue | 23:20 | |
23:26
havenn joined,
skids joined
|
|||
sorear | good * #perl6 | 23:34 | |
carol++ GSoC++ | |||
masak: the 'r' in Carl is silent in German? | 23:35 | ||
my han/kana handwriting is a lot neater than my latin handwriting - I blame learning as an adult | 23:36 | ||
moritz++ # updating Wikipedia | 23:37 | ||
dalek | d: 3c2fb9c | larry++ | STD.pm6: obs updates; move ident checks to explain_mystery Obsolescence messages based on identifiers now done from explain_mystery so that user-defined subs of the same name aren't impacted. Added messages for new P5 regex modifiers, qr, local, and new (as function call). |
23:46 | |
sorear | masak: ping | 23:48 | |
23:49
noteventime left
23:53
nsh left
|