»ö« 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␤ b␤c␤»
masak \o/
n: say "\ta\n\t b\n\tc".indent(*)
p6eval niecza v15-6-gefda208: OUTPUT«a␤ b␤c␤» 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 1␤Undeclared routine:␤ 'does' used at line 1␤Check failed␤FAILED 00:01 108m␤»
flussence std: role B {}; class A { does B }
p6eval std 1ad3292: OUTPUT«===SORRY!===␤Undeclared routine:␤ 'does' used at line 1␤Check failed␤FAILED 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&nbsp;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