»ö« 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:05
ruben1194navarro joined
00:08
cdarroch left
00:14
ruben1194navarro left
00:16
ymasory left
00:23
xinming_ left,
xinming joined
00:24
s1n joined
00:36
cookys left
00:38
colomon left
00:42
MindosCheng left
00:46
colomon joined
01:12
stkowski left
01:14
whiteknight left
01:52
cxreg joined
02:03
ymasory joined
02:09
revdiablo joined,
revdiablo left,
revdiablo joined
02:21
jedai left,
jedai joined
02:35
alester joined
02:40
leprevost joined
02:49
ymasory left
03:19
_jaldhar joined
03:37
alester left
03:43
gantrixx left
03:51
sunnavy left,
sunnavy joined
03:52
sunnavy left,
sunnavy joined
03:55
orafu left
03:56
orafu joined
04:01
jrockway left,
jrockway joined,
envi joined
04:08
am0c joined
04:13
sunnavy left
04:14
sunnavy joined
04:18
sunnavy left,
sunnavy joined
04:22
[particle]1 joined
04:24
[particle] left
04:25
nymacro joined
04:26
bluescreen10 left
04:42
MayDaniel joined
04:52
f00li5h joined
04:57
colomon left
05:00
spinclad left
05:07
Khisanth left,
colomon joined
05:12
Khisanth joined
05:22
MayDaniel left,
dayangkun joined
05:34
justatheory left,
am0c left
05:35
dayangkun_ joined
05:38
dayangkun left
05:46
cookys joined
06:12
s1n left
06:13
s1n joined
06:24
birdwindupbird joined
06:27
molaf joined,
devnull_ joined
06:33
devnull_ left
|
|||
miso2217_ | morning all | 06:39 | |
Is there a Data::Dumper stype .perl (with indentation for huge data structures) for perl6? | 06:40 | ||
TimToady | there is a .pretty method specced, but I don't think it's implemented yet | 06:47 | |
06:56
dayangkun_ left
06:57
dayangkun_ joined
06:58
araujo left
|
|||
sorear | we're not quite sure how it should best work | 06:59 | |
miso2217_ | sorear: why? What are the possible issues? | 07:11 | |
07:11
dayangkun__ joined
07:14
birdwindupbird left,
dayangkun_ left
|
|||
sorear | miso2217_: there are just a lot of decisions to make, and Perl 6 hackers are by their nature perfectionists | 07:21 | |
07:42
dayangkun_ joined
07:43
daxim joined
07:44
dayangkun__ left
|
|||
miso2217_ | sorear: I would personally be quite happy to use .perl whith a few tabs and newlines. Is the discussion on the .pretty issues available somewhere? (irc logs?). Perfectionism is good, a less than perfect .pretty is better than none at all I think. | 07:49 | |
07:50
dayangkun__ joined
07:51
dayangkun_ left
07:54
Mowah joined
08:05
birdwindupbird joined
|
|||
mberends | miso2217_: irclog.perlgeek.de/search.pl?channe...;q=.pretty # you can also search for other keywords ;-) | 08:08 | |
afair .perl whether pretty or not is unable to deconstruct all possible data back to the perl6 code that could reconstruct it. There are so many difficult corner cases. | 08:12 | ||
08:15
birdwindupbird left
|
|||
mberends | rakudo: my $u = -> $s { $s.uc.say }; $u("hi"); $u.perl.say # <-- miso2217_ | 08:19 | |
p6eval | rakudo 5ac05e: OUTPUT«HI{ ... }» | ||
08:21
starcoder is now known as spameggs,
spameggs is now known as starcoder
|
|||
mberends | some perfectionists believe that the ... above should rather be the source code of the pointy sub, but implementing that is either hard or impossible. | 08:22 | |
tadzik | sounds possible to me. Isn't that quite similar to .WHY? | ||
So we include the original source code with every object in the code | 08:23 | ||
like .orig in Match | |||
not that I like the idea | |||
08:24
birdwindupbird joined,
masak joined
|
|||
masak | salutations, #perl6. | 08:24 | |
tadzik | hello masak | ||
masak | first day in quite a while with some time available for Perl 6. :) | 08:25 | |
masak pulls and builds | 08:26 | ||
tadzik | tbh, I'd like to see a sub with a signature, but the source code? Meh | ||
mberends | \o/ | ||
miso2217_ | mberends: And what says the spec on that? | ||
masak | tadzik: I'm quite neutral on "seeing the source code", but I'd definitely like to access it, if need be. | 08:27 | |
mberends | miso2217_: dunno, you read it and tell me please | ||
masak | tadzik: the Ruby people seem to get quite a bit of mileage out of analyzing source code as ASTs. | 08:28 | |
mberends | shopping(nom) & | 08:29 | |
miso2217_ | mberends: ok I'll look at this | ||
tadzik | masak: well, I don't quite like the idea to be honest | ||
08:30
birdwindupbird left
|
|||
miso2217_ | the spec says .pretty is just a .perl with formatting, the .pretty method doesn't seem to have any aditionnal features compared to .perl | 08:36 | |
tadzik | `makes sense | 08:37 | |
08:38
dayangkun joined
|
|||
miso2217_ | to me as well | 08:38 | |
how difficult would it be to try some rakudo hacking on the implementation of the .pretty method? | 08:39 | ||
08:40
dayangkun__ left
|
|||
tadzik | not :) | 08:41 | |
we just need some manpower I suppose | |||
tuned .perl for arrays and hashes alone would be quite .pretty I think | 08:42 | ||
miso2217_ | There was a doc on implementing new methods for rakudo in perl6, I just cann't remember where, any ideas? | 08:43 | |
tadzik | moritz blog I suppose | ||
miso2217_ | tadzik: exactly what I think, I'm using .perl to dump moderatly complex data structures and it quickly becomes useless because of the lack of readability | 08:44 | |
tadzik | it's basically use MONKEY_TYPING and augment class someclass {} | ||
miso2217_: I know that feeling | |||
rakudo: use MONKEY_TYPING; augment class Array { method perl { "foobar" } }; [1,2,3].perl.say | 08:45 | ||
p6eval | rakudo 5ac05e: OUTPUT«===SORRY!===A method named 'perl' already exists in class 'Array'. It may have been supplied by a role.» | ||
tadzik | shite | ||
rakudo: my @a = 1, 2, 3 but role { method perl { "foobar" } }; @a.perl.say | 08:46 | ||
p6eval | rakudo 5ac05e: OUTPUT«[1, 2, foobar]» | ||
tadzik | precedence | ||
rakudo: my @a = 1, 2, 3; @a = @a but role { method perl { "foobar" } }; @a.perl.say | 08:47 | ||
p6eval | rakudo 5ac05e: OUTPUT«[1, 2, 3]» | ||
miso2217_ | shouldn't the role by applied on the Array type instead of the instance? | ||
tadzik wonders why the augment example actually doesn't work | 08:48 | ||
miso2217_ | s/by/be/ | ||
tadzik | miso2217_: yeah, should | ||
hmmm | 08:49 | ||
miso2217_ | strange | 08:50 | |
I'll play with it later, o/ | |||
tadzik | rakudo: use MONKEY_TYPING; augment class Array { method pretty { self.perl.subst(/ /, "\n } }; [1,2,3].perl.say | ||
p6eval | rakudo 5ac05e: OUTPUT«===SORRY!===Null regex not allowed at line 22, near ", \"\\n } };"» | ||
tadzik | prr | ||
08:50
dayangkun_ joined
|
|||
tadzik | rakudo: use MONKEY_TYPING; augment class Array { method pretty { self.perl.subst(/ /, "\n", :g) } }; [1,2,3].pretty.say | 08:50 | |
p6eval | rakudo 5ac05e: OUTPUT«===SORRY!===Null regex not allowed at line 22, near ", \"\\n\", :g"» | ||
tadzik | rakudo: use MONKEY_TYPING; augment class Array { method pretty { self.perl.subst(" ", "\n", :g) } }; [1,2,3].pretty.say | ||
p6eval | rakudo 5ac05e: OUTPUT«[1,2,3]» | 08:51 | |
tadzik | hi-ha | ||
alright, I got motivated | 08:52 | ||
08:52
am0c joined
08:53
broquaint joined,
Mowah left,
dayangkun left
|
|||
tadzik | oh funny, my Rakudo doesn't work :) | 08:54 | |
09:11
dayangkun__ joined
09:12
envi left
09:14
dayangkun_ left,
yegor left
09:19
yegor joined
09:31
daxim left
10:00
woosley joined
|
|||
masak | $ touch Foo.pm | 10:01 | |
$ perl6 | |||
> use Foo | |||
_block110 | |||
> use Foo | |||
P | |||
> ^C | 10:02 | ||
I'd consider the above a bug if I understood it better. | |||
so let's start at the top. what piece of code is '_block110' here? | |||
should it really be returned? what's the use case? | |||
and what in the world does "P" mean? | 10:03 | ||
tadzik | masak: consider ^D instead of ^C :) | ||
masak | thanks :P | ||
I usually do ^D, but I just wanted to get out of the REPL this time... :) | |||
anyway, unless there are acausal things involved, that shouldn't matter for the above questions. | 10:04 | ||
tadzik | sure | ||
for me it could just return Bool::True | 10:05 | ||
moritz | good mroning | 10:10 | |
masak | morning, moritz. | ||
tadzik | good mroritz | 10:11 | |
10:11
dayangkun_ joined
|
|||
masak | rakudo: use Test | 10:12 | |
p6eval | rakudo 5ac05e: ( no output ) | ||
masak | rakudo: my $c = (use Test) | ||
p6eval | rakudo 5ac05e: OUTPUT«error:imcc:syntax error, unexpected ')' (')') in file 'EVAL_11' line 25077063===SORRY!===syntax error ... somewhere» | ||
masak | wonderful error message. | ||
but I just submitted a rakudobug with that one. | |||
tadzik | when /imcc/ { poke whiteknight } :) | ||
10:12
pernatiy left
10:14
s1n left,
spinclad joined
10:15
dayangkun__ left
10:18
s1n joined
|
|||
masak | some of you may remember my little experiment Index::Multidim: gist.github.com/892178 | 10:19 | |
I plan to rewrite it to reach a bit further. | |||
in short, I'm too eager for S09 features to actually sit around and wait for them ;) | |||
the reason I'm bringing it up here is that I'd like to bounce around a few design decisions. | 10:20 | ||
frettled | Ah, the good old bouncy-bouncy. | ||
masak | notable, the whole API thing. | ||
I'd like a natural syntax for calling into Index::Multidim. that's really the most important part. | |||
you'll note that I currently use an infix:<@@> operator and pass in a string. | 10:21 | ||
in retrospect, I think both of these decisions might've been wrong :) | |||
frettled | If not outright ugly. :) | 10:22 | |
masak | even that. | ||
the nice thing with passing in a string is that the string will look exactly like the S09 syntax. | 10:23 | ||
frettled | yup | ||
That's what made it an acceptable hack in my book. | |||
masak | the trouble with passing in a string is that it gets increasingly tricky to parse that string as we pile on features. | ||
variable interpolation. ranges. combinations of these features. | |||
frettled | and if someone throws in a string in there… | 10:24 | |
masak | right. it starts degrading pretty quickly. | ||
now, as to alternatives to that: | |||
I found out that I could declare an infix:<;> operator, and then use that within an actual [] array constructor. | 10:25 | ||
I think that has real potential. because then I could pass in actual ranges, actual variables, actual whatevers, and so on. | |||
but! | |||
frettled | Hmm. | ||
masak | I think in today's Rakudo, I'm fairly limited in setting the precedence of infix:<;>. | 10:26 | |
is that correct? | |||
frettled | *crickets* | ||
masak | rakudo: class Semi { has $.lhs; has $.rhs }; our sub infix:<;>($lhs, $rhs) { Semi.new(:$lhs, :$rhs) }; say [1,2;3,4,5;6].perl | 10:27 | |
p6eval | rakudo 5ac05e: OUTPUT«[1, Semi.new(lhs => 2, rhs => 3), 4, Semi.new(lhs => 5, rhs => 6)]» | ||
masak | that's not what I want. | 10:28 | |
infix:<;> gets a tighter precedence than infix:<,>. | |||
frettled | Oh bugger... | ||
masak | now, I don't think that's a showstopper. | ||
if nothing else, I think I can post-process that Array to get out what it should've been! :) | 10:29 | ||
frettled | Yep, that's pretty much it for your neat solution. | ||
masak | please shudder in unison. | ||
frettled shudders in unison. | |||
masak | ;) | ||
I'll have lunch, and then write such a post-processor. | |||
in the meantime, if anyone knows of a better way, feel free to speak up. | 10:30 | ||
frettled | I'll go for a bike ride, and will probably be idle for a looong time again. :D | ||
frettled thinks masak is on a right-ish track, at least. | |||
masak | frettled: it was nice bouncing with you. | ||
frettled | masak: nice bouncing with you too! :D | ||
masak | :D | ||
tadzik | frettled: please watch your wrists :) | 10:40 | |
10:40
dayangkun_ left
|
|||
tadzik | I hope it's not too late :) | 10:40 | |
10:41
daxim joined
|
|||
masak hugs poor tadzik | 10:41 | ||
tadzik hugs back | 10:43 | ||
this gypsum makes typing quite entertaining | |||
masak | phenny: "gypsum"? | ||
phenny | masak: Language guessing failed, so try suggesting one! | ||
moritz | phenny: "gips"? | 10:44 | |
phenny | moritz: "gypsum" (ro to en, translate.google.com) | ||
masak | :P | ||
moritz | phenny: de "gips"? | ||
phenny | moritz: "gypsum" (de to en, translate.google.com) | ||
moritz | :-) | ||
masak | phenny: se "gips"? | ||
phenny | masak: "gypsum" (se to en, translate.google.com) | ||
10:44
whiteknight joined
|
|||
masak | phenny: "vit riddare"? | 10:44 | |
phenny | masak: "white knight" (sv to en, translate.google.com) | ||
tadzik | hrm | 10:45 | |
this heavy white thing they put on your hand when it's broken | |||
moritz | not "rider"? | ||
tadzik | phenny: "gips"? | ||
phenny | tadzik: "gypsum" (ro to en, translate.google.com) | ||
flussence | cast? | 10:46 | |
masak | moritz: no, that's "ryttare". | ||
moritz: a bit inconsistent, I know. | |||
phenny: se "ryttare"? | |||
phenny | masak: "rider" (se to en, translate.google.com) | ||
tadzik | maybe a cast | ||
masak | yes, a cast. | ||
10:46
daxim left
|
|||
moritz | phenny: "ritter"? | 10:47 | |
phenny | moritz: "Knight" (de to en, translate.google.com) | ||
moritz | phenny: "reiter"? | ||
phenny | moritz: "Reiter" (de to en, translate.google.com) | ||
moritz didn't know that Reiter was an English word too | |||
masak | it isn't :) | 10:48 | |
tadzik | phenny: "halt"? | ||
phenny | tadzik: "containing" (de to en, translate.google.com) | ||
tadzik | phenny: oh, really? | ||
phenny: "hammerzeit"? | |||
phenny | tadzik: Language guessing failed, so try suggesting one! | ||
masak | rakudo: class Multiproxy { has $.target; method postcircumfix:<[ ]>($x) { say "Doing multidim on $.target.WHICH() with $x.perl()!" } }; role Multidim { method multi { return Multiproxy.new(:target(self)) } }; my @a; @a does Multidim; @a.multi[1,2] | ||
p6eval | rakudo 5ac05e: OUTPUT«Doing multidim on 36356296 with (1, 2)!» | ||
masak | I believe we have something here. | ||
how'd you like that syntax? :) | 10:49 | ||
tadzik | du du dum :) | ||
10:49
envi joined
|
|||
tadzik | is that the S09 syntax? | 10:49 | |
masak | no, there's an extra '.multi' there. | ||
and this is without the semicolons, so far. | |||
but it shows that it's possible to wire up. | |||
rakudo: class Multiproxy { has $.target; method postcircumfix:<[ ]>($x) { say "Doing multidim on $.target.WHICH() with $x.perl()!" } }; role Multidim { method multi { return Multiproxy.new(:target(self)) } }; my @a does Multidim; @a.multi[1,2] | 10:50 | ||
p6eval | rakudo 5ac05e: OUTPUT«Doing multidim on 55283216 with (1, 2)!» | ||
masak | I like that a lot. | ||
moritz | without semicolon you'll just have troubles mixing slices and multi dim | ||
masak | yes, but see above. I think I can simulate the real behaviour of the semicolon. | ||
define infix:<;> as building a Semi object, and then post-translate from Semi to LolSlice. | 10:51 | ||
tadzik | lolisliced! | ||
masak | man, I love the power of ASTs. | ||
that's really a blog post all on its own. | |||
the post-translation will take [1, Semi.new(:lhs(2), :rhs(3)), 4, :lhs(5), :rhs(6))] and turn it into [LolSlice.new([1, 2]), LolSlice.new([3, 4, 5]), LolSlice.new([6])] | 10:56 | ||
jnthn | teh weekend \o/ | ||
masak | \o/ | ||
10:57
am0c left
10:58
pernatiy joined
11:00
uniejo left
|
|||
tadzik | yay, let's go biking... ohwait :( | 11:01 | |
11:01
leprevost left
|
|||
masak | tadzik: you're facing a time of less strenuous activity. take advantage of it. read books. re-read the apocalypses/synopses. learn Haskell. see the opportunities. :) | 11:02 | |
tadzik | :) | 11:05 | |
11:09
coldhead left
11:12
dju joined
11:13
daxim joined
11:32
daxim_ joined
11:34
daxim left
11:37
daxim_ left
11:38
daxim_ joined
11:45
daxim_ left,
JimmyZ joined
11:46
daxim_ joined
11:54
Patterner left
11:56
Psyche^ joined
11:57
Psyche^ is now known as Patterner
12:04
icwiener joined
12:13
f00li5h left
12:14
JimmyZ left,
_twitch joined,
am0c joined
|
|||
masak | it is *so good* to be writing Perl 6 again. | 12:15 | |
12:22
am0c left
|
|||
colomon | masak++ | 12:22 | |
12:23
_twitch left
12:25
meswami joined
|
|||
masak | awww. | 12:32 | |
who would have guessed, declaring a sub infix:<;> causes problems... | |||
rakudo: our sub infix:<;>($lhs, $rhs) {}; { say "A"; say "B" } | |||
p6eval | rakudo 5ac05e: ( no output ) | ||
masak | :( | ||
rakudo: our sub infix:<;>($lhs, $rhs) { say $lhs, $rhs }; 1; 2; 3 | 12:33 | ||
p6eval | rakudo 5ac05e: OUTPUT«infix:<;>1Bool::True2Bool::True3» | ||
masak | I believe this is backwards. the stopper ';' should take precedence over any declared infixes, unless we're inside a parenthetical thingy. | 12:34 | |
masak submits rakudobug | |||
oh well. will have to use double ';;' for Index::Multidim. not really a problem, but would've been nicer with single ones. | 12:35 | ||
12:37
envi left
12:38
envi joined
|
|||
jnthn | What does STD think? | 12:42 | |
std: sub infix:<;>($lhs, $rhs) {}; { say "A"; say "B" } | |||
p6eval | std 4608239: OUTPUT«Potential difficulties: $rhs is declared but not used at /tmp/UjV4z1oj7u line 1:------> sub infix:<;>($lhs, ⏏$rhs) {}; { say "A"; say "B" } $lhs is declared but not used at /tmp/UjV4z1oj7u line 1:------> sub infix:<;>(⏏$lhs, $rhs) {}; { | ||
..say "… | |||
jnthn | std: sub infix:<;>($, $) {}; { say "A"; say "B" } | ||
p6eval | std 4608239: OUTPUT«ok 00:01 122m» | ||
colomon | how can std tell the difference? | ||
errr, that's not what I wanted to say | |||
jnthn | std does know about user defined operators | ||
I'm thinking that example doesn't force it to reveal what it's parsing that ; as though | 12:43 | ||
colomon | that's what I meant | ||
jnthn | And wondering how to construct one that does :) | ||
colomon | without executing the code, I can't see how to do it. | ||
12:44
f00li5h joined
|
|||
jnthn | Well, we could look at the AST that STD produces, but that needs somebody with a local STD :) | 12:44 | |
12:45
mj41 joined
|
|||
colomon | yeah | 12:45 | |
masak | yes, that's the ticket. looking at viv output. | 12:47 | |
I also don't have that set up. I definitely should. | |||
jnthn | oh, maybe you can do it with statement modifiers | ||
std: sub infix:<;>($, $) {}; { say "A" if 1; say "B" if 1; } | |||
p6eval | std 4608239: OUTPUT«ok 00:01 122m» | ||
jnthn | I expect that'd fail if the ; wasn't being parsed as a statement sep there. | 12:48 | |
masak | jnthn++ | ||
masak submits rakudobug | |||
jnthn | You already did submit the Rakudo bug! :P | 12:49 | |
colomon | std: (say "A" if 1;) + 10 | ||
p6eval | std 4608239: OUTPUT«ok 00:01 121m» | ||
masak | apparently I'm getting senile. | ||
colomon | std: (say "A" if 1) + 10 | ||
p6eval | std 4608239: OUTPUT«ok 00:01 121m» | ||
masak | ok, I'll just amend that ticket, then. | ||
colomon | jnthn: are you sure? | ||
masak | colomon: yes, it's the 'if' twice that makes it work. | 12:50 | |
jnthn | std: say "A" if 1 + say "B" if 1 | 12:51 | |
p6eval | std 4608239: OUTPUT«===SORRY!===Confused at /tmp/0oSvOuPJP1 line 1:------> say "A" if 1 + say "B" ⏏if 1 expecting statement_mod_loopParse failedFAILED 00:01 120m» | ||
12:53
Mowah joined
12:55
noganex joined
12:56
daxim_ left
12:57
daxim_ joined
12:58
noganex_ left
13:01
daxim__ joined
13:02
daxim_ left
13:05
noganex left
|
|||
masak | rakudo: class Semi { has $.lhs; has $.rhs }; our sub infix:<;;>($lhs, $rhs) { Semi.new(:$lhs, :$rhs) }; say [1;;2;;3].perl | 13:07 | |
p6eval | rakudo 5ac05e: OUTPUT«[Semi.new(lhs => Semi.new(lhs => 1, rhs => 2), rhs => 3)]» | ||
masak | hmmm. | ||
I don't think I've encountered the kind of transformation that I need to do here before. | 13:08 | ||
it's a kind of flattening-and-separation. | |||
13:09
Chillance joined
|
|||
jnthn | It looks more like you just want it parsed at list precedence? | 13:10 | |
13:10
noganex joined
|
|||
jnthn | er | 13:10 | |
list associativity | |||
masak | is there a way to do that in Rakudo? | 13:12 | |
jnthn | Not easily. | 13:14 | |
masak | thought so. | ||
which is why I'm post-processing it to look like it had list associativity all along. | |||
in a twisted way, that's kinda fun, too. | |||
13:16
hanekomu joined
|
|||
jnthn goes to read for a bit | 13:16 | ||
13:16
hudnix joined
13:21
AdamGallagher_ joined
|
|||
AdamGallagher_ | If you're a programmer, want to create a 2D real-time MMORPG with me? I can provide the art, here's a sample: i55.tinypic.com/2yxrdkl.png. If interested, my MSN and email is [email@hidden.address] | 13:23 | |
tadzik | I was expecting Rick Astley on the picture | 13:26 | |
masak | AdamGallagher_: do you plan to use Perl 6? | 13:27 | |
AdamGallagher_ | Yes. | ||
masak | hm. challenging. | 13:28 | |
what graphics library? or is that as yet undecided? | |||
13:30
Adam93 joined,
AdamGallagher_ left
|
|||
tadzik | darn | 13:31 | |
masak | something tells me that wasn't a stay-on anyway... | ||
I'd love to see something like that get done in Perl 6. but I also don't think it's a particularly easy First Project at this point. | |||
to say the least. | 13:32 | ||
13:32
meswami left
|
|||
tadzik | aye | 13:32 | |
but it reminded me of making an ncurses module :) | |||
masak | there's ncurses in Parrot, so that should be fairly straightforward. | ||
tadzik | oh | ||
that's a pir I've never seen before | 13:34 | ||
13:36
uniejo joined
|
|||
masak | rakudo: sub foo { my @a = 1, 2, 3; push @a, 4, 5, 6 }; say foo.perl | 13:37 | |
p6eval | rakudo 5ac05e: OUTPUT«[1, 2, 3, 4, 5, 6]» | ||
13:40
Adam93 left,
AdamGallagher_ joined
|
|||
masak | AdamGallagher_: welcome back. :) | 13:40 | |
AdamGallagher_ | Thank you. | 13:42 | |
tadzik | seen supernovus | ||
aloha | supernovus was last seen in #perl6 88 days 16 hours ago saying "Well, that set of optimizations seems to have helped, went from 1m16.339s with the old page generation method to 0m41.936s with the new one.". | ||
masak | AdamGallagher_: I think the MMORPG idea is cool. I'm wondering if Perl 6 is ready for it yet, though. | 13:43 | |
AdamGallagher_: two things: first, the graphics part. I haven't seen a connection to any graphics library that would help you build such a game. second, the real-time part. I think you might find Rakudo's performance... wanting. | 13:44 | ||
I say this not to discourage you, but to let you know what the limitations are right now. | |||
AdamGallagher_ | Yeah, I suppose so. The engine has not been chosen yet, and I've just been nailing out the basic tiles/sprites for the project, so the language is flexible. | 13:46 | |
masak | maybe Niecza would be a viable target. | ||
sorear might know more about which graphics libs are accesible from Niecza on Mono or the CLR. | 13:47 | ||
AdamGallagher_: I know pygame is generally well-liked as a game library: www.pygame.org/news.html | 13:49 | ||
tadzik | pygame is just SDL bindings, isn't it? | ||
masak | seems that way. | 13:50 | |
here's one game written with pygame: taw.chaosforge.org/jrpg/ | |||
seems to be RPG-ish, but it's for learning kanji. | |||
13:52
pernatiy left
13:54
AdamGallagher_ left
|
|||
masak | huh. I'm so used to vim that I find it hard to use nano or pico nowadays. the keyboard shortcuts are so... arbitrary! :) | 13:55 | |
^O for saving? really?? | |||
14:03
ymasory joined
14:04
risou joined
14:07
colomon left
14:10
colomon joined
|
|||
tadzik | surveytime! ~/.perl6/doc/Foo::Bar/some_example or ~/.perl6/doc/Foo/Bar/some_example? | 14:18 | |
the latter then, thanks | |||
jnthn | ^O feels like "open" :) | 14:20 | |
geekosaur | ^Kd :) | 14:23 | |
masak | tadzik: I'd go with the latter as well. | 14:26 | |
tadzik | especially having the namespaces stuff in mind, as in with HTTP::Server, HTTP::Server::Simple, HTTP::Server::Simple::PSY etc | 14:28 | |
o/ | 14:29 | ||
ww | 14:30 | ||
masak | ooh, this Index::Multidim thing is really coming together. | 14:32 | |
I'm currently at 77 lines, and I already handle most of the important plumbing. | |||
I don't know if you're aware, but Perl 6 is a terrific language for these things ;) | 14:33 | ||
14:33
lateau joined
|
|||
tadzik | :) | 14:34 | |
I'm starting to find TDD terrific | |||
14:34
mj41 left
|
|||
tadzik | instead of thinking "how do I make this work" I think "I'll write a test for it, let's see what will happen" | 14:34 | |
masak | same here. | 14:36 | |
jnthn | masak: Is Index::Multidim related to S09? | ||
masak | yes. | ||
moritz finds the lingual proximity of "terrible" and "terrific" curious | 14:37 | ||
jnthn | yay :) | ||
masak | it gives us some of the goodness from S09 using an external library. | ||
moritz: both used to mean "frightening". | |||
jnthn | masak: Anything that could eventually make it into core Rakudo? | ||
geekosaur | moritz: IIRC they are related in much the way "awe" and "awful" are | 14:38 | |
masak | jnthn: I'm not aiming for that, but I wouldn't rule it out either. | ||
jnthn | moritz: You can use "terribly good" to mean "really really good" :) | ||
moritz | geekosaur: that was the second connection I thought of :-) | ||
masak | it's just a process by which negative words enter slang and become positive words. | ||
jnthn | Aye. The "terribly good" thing appears in Slovak too. I was a little surprised to see the idiom pop up in a literally translatable way. :) | 14:39 | |
masak | in the book "Rainbows end", which takes place ~30 years into our future, the word "tragic" has become slang and means "cool, awesome". :) | ||
tadzik | :) | 14:40 | |
jnthn | A school teacher friend in the UK says that some of her pupils are now starting to use the word "sick" to mean "awesome". | ||
For my generation it decidedly means disgusting. :) | |||
geekosaur | that's several years old in the US | ||
moritz | that probably takes some time to get used to :-) | ||
jnthn | geekosaur: Gah, why'd it have to cross the atlantic... :P | 14:41 | |
geekosaur | it's some corollary of bad news traveling faster than good, I think | 14:42 | |
:) | |||
tadzik | that's because humans are interested in sad things, at least some of them | 14:43 | |
news are full of death, sadness and hate. I think there is a Day of Good News in Poland, in which TV stations at least try to broadcast happy things | |||
masak | I think positive words become worn out, and negative words take their place because they evoke some emotion. and people who are hip don't mind that they mean the opposite of what they want to express. | 14:45 | |
"wow, that is so disturbed! kudos!" | |||
geekosaur | that's some of it. there's also some amount of the younger generation wanting to shock or at least confuse the older | 14:46 | |
tadzik | words of the wise, indeed | ||
true too | |||
masak | all tests pass. oh, what joy. | 14:50 | |
jnthn | Time to write more tests. | ||
tadzik | shh! | 14:52 | |
jnthn | So, where had I got to with nqp/ctmo... | ||
tadzik | "all tests pass for me too!" | ||
oh so it's hackathon time? | 14:53 | ||
(say yes, I have a beer which needs a use-case) | |||
jnthn | tadzik: Yes, the first tuit-less half of my month is over, and now I should have far more Perl 6 time :) | 14:54 | |
masak | yes, I'm already writing more tests. :) | ||
tadzik | yay :) | ||
14:54
Axius joined
|
|||
masak | oh dear. it's not just comma. | 14:57 | |
guess how .[0..1;;2] is parsed... :/ | |||
well, down the rabbit-hole we go. | |||
colomon | 0 .. (1;;2), eh? | ||
masak | yup. | ||
luckily, there's only a finite number of these cases. | 14:59 | ||
tadzik | hmm. Is there a blocker for the META.info-based ecosystem to become The Ecosystem other than making modules.perl6.org use it? | 15:03 | |
moritz just read perl6-users. OH NOEZ | 15:05 | ||
colomon | moritz: what's up? | ||
moritz anticipates another totally useless thread | |||
15:05
icwiener_ joined
|
|||
moritz | "Does there currently exist a set of criteria by which Perl6, or an implementation thereof, can be defined as "production-ready"? | 15:05 | |
" | |||
tadzik | when is that? | ||
moritz | I'm inclined to answer "no", or put that thread on my ignore list before I read any more mails | 15:06 | |
tadzik | oh, it's "now()" | ||
moritz | like, 4 minutes ago | ||
tadzik | moritz: please don't | ||
moritz | which one? | ||
tadzik | if they keep asking, then we probably need to announce it wide and open | ||
more wide and more open, if needed. And reply to the email with the link | 15:07 | ||
then put it in some FAQ, and then we can dance macarena and laugh everytime someone asks that | |||
so far, I can understand their worries | |||
15:07
icwiener left
|
|||
tadzik | so, who wants to blog about this? :) | 15:08 | |
masak | moritz: it's natural of people becoming more involved asking questions like these. think of it as an initiation rite. | ||
moritz: and the answers we give are usually so warped by our echo chamber that they don't really make it across. so people keep asking. | 15:09 | ||
tadzik | like with "when will perl6 be complete, and how soon is that" | 15:10 | |
moritz | ok, I've written a reply, against better judgement | 15:11 | |
tadzik | given the api change, as in repo-url => source-url in META.info, how should things like this be announced? Make a module installer complain about this? It's stupid, not every user is a module developer | 15:13 | |
15:13
pernatiy joined
|
|||
tadzik | moritz: good too (the reply) | 15:14 | |
that quite sums it up | |||
masak also sent a reply | 15:15 | ||
tadzik: I'd suggest doing what you did last time: bugging developers until everyone's switched over. | |||
tadzik: if you phrase it in the form of a badge to be gained, it's not so bad :) | |||
15:16
gdey joined
|
|||
masak | "get the source-url badge for your Perl 6 module!" | 15:16 | |
s/get/earn/ | |||
"here's what you need to do:" -- and then very concrete instructions, step by step. | |||
that, combined with nagging. | 15:17 | ||
15:18
leprevost joined
|
|||
tadzik | so 1) panda commit, 2) perl6-users mail, 3) hacking on modules.perl6.org to make it ecosystem-friendly, 4) adding an Up-to-date badge for the modules | 15:18 | |
s/ecosystem/new ecosystem/ | |||
and hopefully 5) merging the new-ecosystem | 15:19 | ||
frettled | tadzik: wrists? :) | ||
tadzik | frettled: oh, how did the biking go? :) | ||
masak | tadzik: with (2), maybe a blog post as well. easier to link to when people ask for instructions. | ||
and easier to update after the fact. | |||
frettled | tadzik: just fine, but I'm exhausted, I underestimated the needed energy intake before the trip, so I ended up doing ≈ 40-45 minutes on reserve energy. :) | 15:20 | |
tadzik | frettled: I was skateboarding on thursday and broke my wrist, hence my warning: watch out :) | ||
frettled | tadzik: aha! | ||
15:20
gdey left
|
|||
tadzik | oh, shiny! | 15:20 | |
.u ≈ | |||
phenny | U+2248 ALMOST EQUAL TO (≈) | ||
tadzik | I need this in my keyboard layout | ||
frettled | tadzik: But broken wrists suck :( You have my sympathy! (For us bicylists, it's the collarbone that we worry about. ;) | 15:21 | |
TimToady | .u ≋ | ||
phenny | U+224B TRIPLE TILDE (≋) | ||
masak | ouch, collarbone. :/ | 15:22 | |
TimToady | masak: btw, STD used to try to parse semi as an operator, but it's much simpler to parse ; as statement sep | 15:24 | |
then instead of subscripts supplying context at compile time, you merely transform a statement list into a lol at reduction time | |||
15:24
gdey joined
|
|||
tadzik | ≈≈≈ | 15:24 | |
yay :) | |||
TimToady | and at the same time, we got list comprehension improvements by defaulting bracketed things to statementlist | 15:26 | |
frettled | tadzik++ | ||
or perhaps that should be: | |||
tadzik±± | |||
15:27
rjbond3rd joined
|
|||
TimToady | tadzik∓∓ | 15:27 | |
frettled: I always thought it was the cranium that bicyclists worry about the most... | 15:28 | ||
15:28
orphu joined
|
|||
tadzik | I should github that keyboard layout, for if I lose it, I won't be able to type again | 15:28 | |
masak | TimToady: oh! | 15:29 | |
frettled | TimToady: nah, that's protected by the Helmet of Invincibility. | ||
TimToady | and if you break your cranium, your worries are over, I guess | ||
masak | TimToady: well, I'm not sure I can do that from a module, since it needs to be done at compile time. | ||
15:29
gdey left
|
|||
masak | so I'll just keep heading down the path I've set out. | 15:29 | |
but it's good to know that it's really the same semicolon even within lols. thanks. | 15:30 | ||
std: 1..2..3 | |||
p6eval | std 4608239: OUTPUT«===SORRY!===".." and ".." are non-associative and require parens at /tmp/4tIHW8ezru line 1:------> 1..2..⏏3Check failedFAILED 00:01 120m» | ||
masak | oh, good. | 15:31 | |
rakudo: say (1..2..3).perl | |||
p6eval | rakudo 5ac05e: OUTPUT«2..3» | ||
masak submits rakudobug | |||
rakudo: say (7..8..9).perl | |||
tadzik | rakudo: my %a; given %a<foo> { when '' { say 'a' }; when Any { say 'b' };default { say 'c' } } | ||
p6eval | rakudo 5ac05e: OUTPUT«2..9» | ||
rakudo 5ac05e: OUTPUT«b» | |||
15:31
rjbond3rd left
|
|||
tadzik | rakudo: my %a; %a<b> = 5; say %a<a> // %a<b> | 15:32 | |
p6eval | rakudo 5ac05e: OUTPUT«5» | ||
masak ==> STORE | 15:33 | ||
TimToady | masak is FETCHing | ||
jnthn gets out his circularity chain saw and tries to get NQP (and thus later Rakudo) to have a view of packages that somewhat matches the synopses | 15:35 | ||
TimToady | the synopses define packages more by what they don't do (anymore) than by what they do do... | 15:36 | |
jnthn | aye | 15:37 | |
Things are...very lexical :) | |||
tadzik | ISTR a discussion about what do we actually need packages for | ||
TimToady | except when they're MOPy | ||
tadzik | when a package can't just be a module? | ||
jnthn | TimToady: I'm still pondering that a particular compilation unit's view of GLOBAL (maybe to be merged into the loading unit's one) lives in UNIT::GLOBAL | ||
TimToady | you can still register packages as failovers via CANDO | ||
you can still use packages to make variables globally visible | 15:38 | ||
jnthn | TimToady: I don't see the spec saying it can be, but I don't see anything saying I can't do it that way either. :) | ||
And it makes loading quite sane | |||
I mean, it needs the UNIT of the module being loaded anyway, to find EXPORT | |||
TimToady | well, the peculiar view has to have some name or other; I think STD used GLOBALish, but it's certainly negotiable | 15:39 | |
jnthn | Really the unit's view of GLOBAL wants to be accessible the same way, imo. | ||
15:39
gdey joined
|
|||
TimToady | the question is whether our GLOBAL unification ends up looking more like mixin/shadowing or composing/unification | 15:39 | |
jnthn | Hmm, I guess calling it GLOBAL is confusing 'cus it's not really what GLOBAL::Foo::Bar would map to | ||
As that has to map to the final merged view, otherwise it's not very, well, global. :) | 15:40 | ||
TimToady | what I think | ||
that's why I called it GLOBALish | |||
15:41
risou_ joined
|
|||
jnthn | Aye, I start to appreciate that now. :) | 15:41 | |
TimToady | .o(what is something before it's global?) | ||
jnthn | Ambitious? :) | 15:42 | |
TimToady | GLOBALescent | ||
15:43
risou left
|
|||
TimToady | HEMISPHERICAL | 15:43 | |
REGIONAL | |||
moritz | CONTINENTAL | ||
TimToady | OCEANIC | ||
TITANIC | |||
oh, wait... | 15:44 | ||
MULTINATIONAL | |||
TECTONIC | 15:45 | ||
TimToady pictures all these UNIT plates grinding against each other | |||
GLOBALIZATION | |||
FREE TRADE ASSOCIATION | 15:46 | ||
15:46
justatheory joined
|
|||
TimToady | wait, that ttiar, unless it's ttiar... | 15:46 | |
15:49
pmurias joined
|
|||
TimToady is now thinking about Miss X | Miss Y | Miss Z ==> Miss Universe | 15:49 | ||
TimToady now wonders whether we | 15:50 | ||
will end up with a UNIVERSE outside of PROCESS outside of GLOBAL | |||
.oO(Before breakfast is the easiest time to believe six impossible things.) |
15:51 | ||
15:56
JimmyZ joined
16:04
am0c joined
|
|||
ncow | hi. I'm attempting to compile rakudo star 2011.01 (is that really the version number?), I started it at around 22:00 before going to bed, it's now 09:05 and 'make' is still running. | 16:05 | |
How long does it take to build this, good grief | |||
TimToady | how much memory do you have? | 16:06 | |
you're probably thrashing | |||
ncow | Perl 5 takes under 10 min on this machine, Perl 6 really needs to take 10+ hours (11 so far) ? | ||
this machine has about 256, and 2 GB in swap | 16:07 | ||
TimToady | the threshold for thrashing is a well known discontinuity in computer performance | ||
and rakudo has a big file to compile | |||
ncow | yeah it is thrashing, but the system is still responsive | ||
TimToady | responsiveness will usually depend on whether you're trying to do something disk-bound | 16:08 | |
CPU is idle mostly | |||
ncow | TimToady: granted, but perhaps maybe the devs will realize this may not be the best way to build a programming language compiler | ||
TimToady | there are tradeoffs... | 16:09 | |
ncow | I mean this takes more than twice as long as building a modern gcc | ||
moritz | ncow: we're working on reducing the memory footprint during compilation and runtime. But it's not an easy task. | ||
jnthn | The devs understand the issue fairly well, and care about it, but have to care about dozens of other things too. :) | ||
moritz | well, C is a simple language in comparison to Perl 6 | ||
ncow | (I think last time I build gcc on this box it took maybe 2 hours, or less | ||
jnthn | Anyway, memory usage improvements for AST nodes and match objects are in the works already. | 16:10 | |
ncow | jnthn: I get that, it just seems like a bad move over all to have designed it in this way at all. OH well | ||
jnthn | And those are the big cost for the compilation. | ||
ncow: Designed what in what way, specifically? | |||
moritz | ncow: we didn't design rakudo with the goal of consuming large amounts of memory during compilation :-) | 16:11 | |
we just decided to focus on features first, and resource usage second | |||
which seems to have worked out pretty well, considering the community we built around it | |||
TimToady | and as a temporary workaround, adding memory works pretty well :) | 16:12 | |
jnthn | The answer isn't really to try and find weird ways to break a single lexical scope over a bunch of files and then try and pretend it's one scope. It's to make compiling something of the size of core.pm not consume crazy resources. | ||
tadzik | ncow: it takes about 5-10 minutes on my 2 GB machine, so it's not exactly how you think | 16:13 | |
ncow | I guess what I mean is, I don't really understand why it isn't a straight up C source package like Perl 5 is (for example) | ||
TimToady | it depends on how you want your interpreter loop to look too; my impression is that core.pm compiles all together so that it can "goto" from one instruction to another "efficiently", for some definition of both of those | 16:14 | |
moritz | there are several reasons | ||
ncow | tadzik: I'd by lying if I said this box had the newest hardware, but I'm just comparing this to the realive ease it has in building Perl 5 and other source packages | ||
TimToady | Perl 5 is not trying to do nearly as much as Perl 6 is | ||
moritz | 1) there's an impedance mismatch between rakudo and parrot, for which we pay with increased resource usage | ||
jnthn | Trying to build a Perl 6 compiler entirely in C is FAR harder than a Perl 5 one, in my view. | 16:15 | |
moritz | 2) Perl 6 needs a much more elaborate runtime environment than p5 or C | ||
16:15
leprevost left
|
|||
moritz | 3) even the Perl 5 developers acknowledge that perl5 is not the easiest project to hack on. The efficiency comes at a great price: decreased hackability | 16:16 | |
we chose not to pay that price up-front | |||
TimToady | 4) Perl 6 is not written in fiddly C like P5 is, but in a higher level language (Perl 6 itself, eventually) | ||
or maybe that's the same as 3 | |||
moritz | there's certainly a connection | 16:17 | |
tadzik | ncow: I understand | 16:18 | |
ncow: don't get me wrong, I'm not happy with it either | |||
ncow | TimToady: ok but that sounds like a chick-and-egg scenario: "It's written in Perl 6, but if you don't already have Perl 6, how are you going to build Perl 6, but if you already have Perl 6, then why do you need to build Perl 6?!" | ||
moritz | ncow: GCC is also written in C | ||
ncow: you could ask the exact same question about C | 16:19 | ||
ncow | no I know it's not exactly that, but it does seem clearing with C sources. I'm not sure how it actually is with Perl 6 (I think it's using Perl 5 for the initial build, as it runs Configure.PL) | ||
tadzik | and about coffee | ||
to know why do you need coffee, you need coffee | |||
ncow | moritz: thats' becuase you usually build gcc with another intance of gcc or other C compiler | ||
moritz is not coffee-bootstrapped | |||
TimToady | ncow: but the nice thing about bootstrapping in Perl 6 is that whenever Perl 6 gets faster, our compiler gets faster too | 16:20 | |
moritz | ncow: but why do you do it, if you already have a C compiler? | ||
ncow | I've build full tool-chains, and you always start with a host system that has one already | ||
TimToady | (rakudo is not really bootstrapped yet, though niecza is) | ||
ncow | s/build/built/ | ||
TimToady | (for the most part) | ||
ncow | TimToady: true | ||
niecza? Sounds central/eastern european (polosh, czec, russian?) | 16:21 | ||
TimToady | eventually we'd like Perl 6 to replace a lot of programming that currently has to be done in C or C++ | ||
16:22
jedai_ joined
|
|||
ncow | you want to replace all C packages out there? | 16:22 | |
16:22
jedai left
|
|||
moritz | not all | 16:23 | |
don't think in absolutes | |||
ncow | or are you talking about Perl related, like XS stuff? | ||
tadzik | ncow: yep, it's Polish-inspired | ||
ncow | oh, tak :) | ||
bardzo dobze | |||
TimToady | .oO(Pragmatic idealists think in absolutes but act in relatives.) |
16:30 | |
16:33
JimmyZ left
|
|||
TimToady | The truth is somewhere in the middle; we never get to absolutes, but it's not true that everything is equally relative; reality is mostly defined not by straight lines but by asymptotes. | 16:33 | |
That's the Real Meaning of Postmodernism, or an approximation to it. :) | 16:34 | ||
masak | ncow: hi. nice meeting you. | 16:36 | |
ncow: don't think we're blind to the fact that Rakudo is slow and memory-hungry. quite the opposite. | |||
ncow: and we want it to improve as well. but in practice, the skills to actually do that sit with a small number of people whose time is very limited. | 16:37 | ||
TimToady | we could do it a little faster if someone would give us a billion dollars, but then people would fight more... | ||
masak | I think we might as well adopt the "skunkworks project" moniker and run with it... | 16:38 | |
not that I'd object to someone donating a billion dollars to the Perl 6 effort. | 16:39 | ||
TimToady | when people invest more they usually expect more ROI | ||
but more investment of time and money will come naturally as we asymptotically approach world domination | 16:40 | ||
16:41
bacek left
|
|||
masak | aye. | 16:41 | |
TimToady | and we should remember that you can kill an engine as easily by flooding it as by starving it | ||
16:41
risou joined
|
|||
masak | when I look at the Rakudo project in one-year jumps, it's easy to see the progress. | 16:42 | |
TimToady | or is this analogy dying now that we're done with carbeurators... | ||
masak | ;) | ||
maybe someone should slip us a billion dollars distributed over 10 years. | |||
TimToady | I think of it more in surfer terms; you have to catch the wave as it builds up, neither too soon nor too late. | 16:43 | |
they have to pretend it's less money to begin with, I think | |||
masak | Pugs caused a wave. I know because I felt it abate in 2007. | ||
TimToady | that was a wipout :) | 16:44 | |
*wipe | |||
16:44
risou_ left
|
|||
masak | Rakudo caused another wave, but it was much longer and flatter. | 16:44 | |
TimToady | niecza is currently looking more like a tsunami... | ||
masak | Niecza might well cause a wave almost as spiked as Pugs, but it's partly shadowed by Rakudo's wave. | ||
but it's looking more attractive with every release. | 16:45 | ||
dalek | p/ctmo: a0bc338 | jonathan++ | src/stage0/ (7 files): Update bootstrap so that int/num/str are stored lexically in the setting. |
16:46 | |
p/ctmo: 2dd24da | jonathan++ | src/HLL/SerializationContextBuilder.pm: Just re-use the perfectly good existing mechanism for getting hold of UNIT of a module being loaded; no need to invent a new one. |
|||
p/ctmo: bc6e222 | jonathan++ | src/Regex (2 files): Give the PIR Regex module a block that can be considered its otuer scope. Twiddle the way we find 'int' to remove the hack for this and just do it by normal lexical lookup in the setting. |
|||
TimToady | and it's not all written in Haskell :) | ||
masak | ;) | 16:48 | |
I got Greg Young (the teacher at the CQRS course) to have a look at Perl 6. this was one of his reactions: twitter.com/gregyoung/status/58540276943306752 | |||
not sure what (or whether) to say to that. | |||
s/say/reply/ | 16:49 | ||
moritz | well, don't | ||
jnthn | ...of all the things to pick out... | ||
daxim__ | I read it as implied "that shan't be possible because I think it's not a good idea" | ||
TimToady | ugly things should look ugly, and that does | 16:50 | |
moritz | you *can* obfuscate in nearly all languages. I'm sure Mr. Young knows that | ||
masak | jnthn: the other thing he picked out was "I don't like file-scoped class decls." odd indeed. | ||
16:50
Axius left
|
|||
masak | I like TimToady's and moritz' replies. those are the one's I'd have replied with, had I replied. | 16:51 | |
TimToady | seems to be falling into the anything not prohibited is mandatory falacy | ||
*fallacy | |||
masak | I replied that it's not an either-or thing. you could do it with a block or with a file-scoped declaration. | 16:52 | |
16:53
hanekomu left
|
|||
TimToady | might just be the typical allergic reaction to TMTOWTDI too | 16:53 | |
16:53
daxim__ left
16:54
Rotwang joined
|
|||
TimToady | but ::($name) is ugly in the same way that en.wikipedia.org/wiki/Escape_tower is ugly | 17:00 | |
17:00
colomon left
17:01
Vlavv left
17:02
Vlavv joined
17:04
colomon joined
|
|||
masak | TimToady: how is it ugly "in the same way"? | 17:07 | |
17:08
mj41 joined
|
|||
tadzik | one man's ugly is another man's prettu | 17:09 | |
...that turned out deeper than I wanted it to be | 17:10 | ||
masak | maybe the analogy is that neither ::($name) nor the escape tower was built to be pretty. | 17:14 | |
they were meant to accomplish something with little fanfare or eye towards esthetics. | 17:15 | ||
17:21
araujo joined
17:23
hanekomu joined
|
|||
masak | but yes, beauty is also in the eye of the one doing the beholding. | 17:24 | |
TimToady | they're both escape mechanisms, like BEGIN or eval | ||
masak | oh, I see. | ||
a friend of mine is very proud of Ruby's '5.times do ...' feature. when I see that one, all I can think is "what's that method doing on a Fixint? | 17:25 | ||
tadzik | I have something like this coded for Perl6 I think :) | 17:26 | |
TimToady | except we prohibit ttiar, so something has to bypass that | 17:27 | |
5.times: {...} would be pretty easy | |||
tadzik | yep, that's what I mean | ||
17:28
whiteknight left
|
|||
masak | my point is not that it could be done in Perl 6, but that what's syntactically pretty to my friend is semantically ugly to me. | 17:29 | |
17:30
hanekomu left
|
|||
TimToady | which is why that isn't built-in, which is kinda our point :) | 17:30 | |
tadzik | moritz: how is build_projects_list.pl treating you recently? It doesn't work for me | ||
Use of uninitialized value $contents in split at build-project-list.pl line 123. | |||
TimToady | 買い物をします。& | 17:31 | |
dalek | p/ctmo: 7054621 | jonathan++ | src/ (5 files): Enable a way to get hold of 6model's core meta-object 'KnowHOW' without installing it in the root of the global Parrot namespace (so that this pollution can be cleaned up). |
17:33 | |
p/ctmo: 1ed385e | jonathan++ | / (25 files): While cleaning up anyway, start the long-promised removal of the name Rakudo from the 6model core and NQP. |
|||
p/ctmo: 7462ede | jonathan++ | / (7 files): Another round of changes; seems we're consistently referring to 6model objects now. |
|||
masak | ctmo ftw! jnthn++ | 17:35 | |
jnthn is happy to be slowly getting things moving again :) | 17:37 | ||
17:39
s1n left
17:41
s1n joined
17:42
risou_ joined
17:43
dju_ joined
17:44
lateau left
17:45
risou left
17:46
dju left,
twinshadow left
|
|||
tadzik | gosh, it's ssled github doing tricks again | 17:47 | |
17:54
alester joined,
nymacro left
17:56
Sarten-X left
|
|||
tadzik | masak: processing github.com/masak/perl6-literate/ra.../META.info | 17:57 | |
malformed UTF-8 character in JSON string, at character offset 109 (before "\x{82c}a Haskell) in...") at build-project-list.pl line 127. | |||
masak: *poke* | |||
is UTF-8 JSON-illegal? | 17:58 | ||
or I need to decode_utf8 that first? I never know | |||
moritz | \x{82c} is already decoded, and probably shouldn't be | 17:59 | |
masak | clearly, something's odd there. | 18:00 | |
tadzik | encohprocessing github.com/masak/perl6-literate/ra.../META.info | 18:01 | |
bleh, this darn cast | |||
encode_utf8 did it | |||
one day I'll learn it instead of shotgun coding every time I need it | |||
moritz | tadzik: read perlgeek.de/en/article/encodings-and-unicode if you want to learn it :-) | 18:02 | |
tadzik | yeah, I remember that post :) | ||
I remember reading it, but I don't remember the content good enough to put it into practice. Plus I very rarely need it | |||
okay, build_projects_list is a bit slower than it was, but it seems to work for META.infos | 18:03 | ||
it needs to be ran with PERL_LWP_SSL_VERIFY_HOSTNAME=0 though | |||
*mumble grumble github mumble stupid mumble grumble* | 18:04 | ||
18:05
Sarten-X joined,
JimmyZ joined
|
|||
tadzik | www.cpan.org/ got a lot prettier recently, if you didn't know | 18:06 | |
masak | improvements++ | 18:07 | |
18:08
Mowah left
|
|||
masak | tadzik: the basic rule is that outside of your program, things are sequences of bytes. inside your program, things should be strings (=sequences of characters). the two are not the same, so you need to convert at the I/O boundaries. | 18:09 | |
tadzik | yep, I'm aware of that | 18:10 | |
so how does moritz know whether "before \x{82c}a Haskell" is encoded or decoded? :) | |||
moritz | because encoded strings contain bytes | 18:11 | |
and 0x82c > 0xFF | |||
tadzik | mhm | 18:12 | |
sorear | good * #perl6 | ||
masak | sorear! \o/ | 18:13 | |
tadzik | yay, win! | 18:14 | |
sorear | niecza: sub infix:<;>($lhs, $rhs) {}; { say "A"; say "B" } | 18:15 | |
p6eval | niecza v4-65-g79da9b6: OUTPUT«Potential difficulties: $lhs is declared but not used at /tmp/4zHVBt8dS0 line 1:------> sub infix:<;>(⏏$lhs, $rhs) {}; { say "A"; say "B" } $rhs is declared but not used at /tmp/4zHVBt8dS0 line 1:------> sub infix:<;>($lhs, | ||
..⏏$rhs) {}; { say "… | |||
tadzik | moritz, look: i.imgur.com/j1TEO.png | 18:16 | |
note the new names ;) | |||
masak doesn't know what to look for | 18:17 | ||
tadzik | masak: note how it's Acme::Meow. Now look at modules.perl6.org, and glue the changes with the new ecosystem | ||
masak | tadzik: ah. | 18:18 | |
tadzik | basically: modules.perl6.org is now META.info compatibile | ||
masak | \o/ | ||
tadzik: let me just say that I admire the work that you're doing with the ecosystem. tadzik++ | 18:19 | ||
moritz | tadzik: nice | ||
tadzik | thank you masak :) | ||
moritz: is build_projects_list.pl ran with this fancy env variable currently? | |||
moritz: and, any againsts about me pushing this, merging my ecosystem fork with perl6/ecosystem and fulfill the destiny? :) | 18:20 | ||
* fulfilling | |||
moritz | perl build-project-list.pl /var/www/modules.perl6.org/ 2>&1 >>~/update-mp6.log | ||
is the call | |||
tadzik: go right ahead | |||
tadzik | I'm quite sure you need PERL_LWP_SSL_VERIFY_HOSTNAME=0 perl build-project-list.pl | 18:21 | |
or maybe not, look in the logs | |||
it didn't work for me at least | |||
moritz | BEGIN { $ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0 } should do | ||
tadzik | w/o BEGIN it worked only for the 1st get() in here | 18:22 | |
sorear | niecza: sub infix:<;>($lhs, $rhs) { say $lhs, $rhs }; { say "A"; say "B" } #OK | ||
tadzik | let's see | ||
p6eval | niecza v4-65-g79da9b6: OUTPUT«AB» | ||
sorear | aww | ||
ncow: hi! | |||
dalek | osystem: 080f198 | tadzik++ | spec.pod: Add a bare-bones META.info spec |
18:24 | |
osystem: acee9be | moritz++ | spec.pod: s/repo/source/, make source-type optional |
|||
osystem: 202e965 | tadzik++ | spec.pod: Add a note about doc/ directory |
|||
tadzik | hide! | ||
osystem: 1b45a6f | tadzik++ | spec.pod: POD fix |
|||
osystem: 2f232c8 | tadzik++ | spec.pod: Clarify where are the doc/ contents installed |
|||
osystem: 0aa3d75 | tadzik++ | projects.list: Merge git://github.com/perl6/ecosystem |
|||
tadzik | oh, that wasn't that bad | ||
masak | dalek survived :) | 18:25 | |
tadzik | yeah, I'm suprised | ||
where did those dozens of META.list and SHELTER commits go? | |||
dalek must have remorted the last 5 commits | |||
dalek++ | |||
18:26
mayuresh joined
18:27
envi left
|
|||
dalek | href="https://modules.perl6.org:">modules.perl6.org: c5f7f34 | tadzik++ | web/build-project-list.pl: Make build_projects_list.pl aware of the new ecosystem |
18:27 | |
tadzik | so, an up-to-date badge. Definitely a Panda picture | 18:28 | |
18:29
ymasory left
18:30
mayuresh left
|
|||
tadzik | en.wikipedia.org/wiki/File:Panda_Cu..._China.JPG -- perfect | 18:31 | |
masak | awwww | ||
18:32
justatheory left,
justatheory joined
|
|||
tadzik | I _so_ regret this will have to be small on the modules page | 18:34 | |
moritz | masak: about the Class/Teacher/Student example yesterday... I'm still not convinced if the separation you suggested is beneficial | 18:35 | |
masak: because in the end, you still needs reports of who attends or teaches which class | |||
so there needs to be some amount of coupling anyway - when you try to reduce it, you introduce other complexity (waterbed theory et al) | 18:36 | ||
18:36
justatheory left
|
|||
masak | moritz: I must confess that the rationales behind aggregates still confuse me. | 18:37 | |
I expect to have to go through a cycle of trying them out and failing a bit before really grokking them. | 18:38 | ||
moritz | masak: one more thing... in the shopping cart example, you mentioned that the cart ID is the only reference in a shopping cart item | 18:39 | |
masak: but what about a reference to product description/price etc.? | |||
masak | moritz: short answer: if that's important in the shopping cart (and it likely is in this case), copy it over. | 18:40 | |
moritz: that's what we did with Student-Schedule-Enrollment in the third image. | |||
and it's just a more extreme form of denormalization. | 18:41 | ||
moritz | well, of course it's important, otherwise we wouldn't know what to ship and bill :-) | ||
masak | there's a principle behind all this madness: "Tell, don't ask" | 18:42 | |
we're making the Cart more independent of Products. | |||
and things like Enrollment are called "transaction objects" or "time interval objects". | 18:43 | ||
18:43
glass joined,
risou joined
18:44
ymasory joined
18:45
risou_ left
|
|||
PerlJam | masak: When you "try and fail" in the process of learning, if you could keep snapshots of each attempt along with some notes, that would be excellent material for a tutorial I think. | 18:46 | |
masak | hm, interesting idea. | 18:48 | |
jnthn and I just set Friday as a full-day hackathon for trying out CQRS and Event Sourcing. | |||
we could easily inhabit #cqrs-perl6 while doing that, and share our insights along the way. | 18:49 | ||
we're building a next-generation real-time connection game server. :) | |||
tadzik | wow :) | ||
jnthn | \o/ | 18:50 | |
masak: How many gallons of beer will this need? ;) | |||
masak | (Druid is a connection game. Hex, Y, and Gonnect are a few others. they're my favourite kind of games.) | ||
jnthn: I'll let you be the domain expert of that :P | |||
jnthn aggressively denormalizes systembolaget | 18:51 | ||
arnsholt | jnthn: Forgot about the insane opening hours again? =) | 18:52 | |
jnthn | :P | 18:53 | |
18:53
ymasory left
18:54
Mowah joined
|
|||
sorear | masak: hmm. Think I should rejoin #perl6-cqrs? | 18:55 | |
18:57
mkramer1 joined
|
|||
masak | sorear: it's #cqrs-perl6, and I can't answer that for you :) | 18:59 | |
been fairly quiet there today. | |||
PerlJam | I don't really "get" cqrs, but it seems that one of the big ideas is to have a user-centric API rather than a programmer-centric one. | 19:01 | |
s/rather than/in addition to/ perhaps | |||
masak | yes, it usually starts in the task-based interface. | 19:03 | |
Greg Young likes to point out that you can't really do DDD on the traditional server/client model, where only DTOs are sent back and forth. | 19:04 | ||
because DDD cares more about the domain model than the CRUD mould allows. | |||
arnsholt | jnthn: Same thing happens to me (every damn time, just about) and I'm a native! >.< | 19:07 | |
PerlJam | masak: and another big idea is .... laziness :) | ||
masak | yes. under the name of "eventual consistency". | 19:08 | |
19:08
drbean left
|
|||
masak | but the term "consistency" shouldn't be discussed with clients. it's better to frame things in terms of time, and say that the data is "stale" or "old". | 19:09 | |
19:13
am0c left
19:15
drbean joined
19:18
noganex_ joined
19:19
noganex left
19:25
glass left
|
|||
tadzik | moritz: did you write build_projects_list.pl? | 19:35 | |
moritz | tadzik: partially | ||
tadzik | hmm | ||
I set a $projects->{$name}->{some_badge} in get_projects(), then as I see the $projects hash travels around the source code, and in the meantime the badge is lost | 19:36 | ||
19:50
alester left
19:57
woosley left
|
|||
dalek | href="https://modules.perl6.org:">modules.perl6.org: 1353611 | tadzik++ | web/ (3 files): Award a Panda badge to projects which conform to the newest specs |
19:57 | |
tadzik | I hope I managed to make it before 22 :) | ||
aloha: clock? | |||
masak | aloha: time? | ||
aloha: chrono-something? | 19:58 | ||
tadzik | it responds to clock? on #parrot | ||
frettled | aloha: aloha! | ||
dukeleto | aloha msg aloha say hello | ||
tadzik | aloha: wake up! | 19:59 | |
we're losing her! /o\ | |||
tadzik runs in circles | |||
dukeleto walks in the opposite direction in precessing ellipses | 20:00 | ||
frettled | how cryptic of you | ||
tadzik | phenny: "parabola"? | 20:01 | |
phenny | tadzik: "parabola" (it to en, translate.google.com) | ||
tadzik | pff | ||
phenny: pl "parabola"? | |||
phenny | tadzik: "parabola" (pl to en, translate.google.com) | ||
masak | phenny: sv "ett parallelogram är blott en galen kvadrat"? | 20:05 | |
phenny | masak: "a parallelogram is but a crazy square" (sv to en, translate.google.com) | ||
tadzik | phenny: pl "równoległobok to kopnięty kwadrat"? | 20:06 | |
phenny | tadzik: "This kicked square parallelogram" (pl to en, translate.google.com) | ||
20:07
y3llow_ joined
20:08
pothos left,
pothos_ joined,
justatheory joined
20:09
justatheory left,
y3llow left,
y3llow_ left
20:10
pothos_ is now known as pothos,
y3llow joined
20:11
starcoder left,
starcoder joined,
dual joined
|
|||
sorear | ncow: ping | 20:14 | |
20:15
molaf left
|
|||
frettled | people.su.se/~jj/junk/dragon-vomit.png | 20:15 | |
tadzik: ^ for an, ahem, better translation thingy. | 20:16 | ||
20:16
y3llow left,
y3llow joined
|
|||
jnthn | frettled: bwahaaha | 20:18 | |
frettled: Is that for real?! | |||
:) | |||
frettled | Yes, fortunately. :) | ||
jnthn | omg | ||
:) | |||
frettled | jnthn: groups.google.com/group/shibboleth-...a3a7?pli=1 | 20:19 | |
tadzik | ;) | ||
Install 2,3 repeat, spank, vomit blows | |||
jnthn | dragon with intercourse to goat-time? | 20:20 | |
20:21
justatheory joined
|
|||
masak | to how many times like the wind, a pole, and the dragon? | 20:22 | |
that's what I always end up asking myself. | 20:23 | ||
jnthn | Please apologize for your stupidity. :P | ||
frettled | jnthn: almost like reading Usenet, eh? | ||
jnthn | frettled: Yeah, apart from this makes more sense. | ||
;) | |||
frettled | \o/ | ||
masak | jnthn: this insult to father's stones? | 20:24 | |
anyway. there are many thank you. | |||
frettled | The answer in Japanese is rather friendly, though, if we can believe Google translate: «Matsumoto, hello. This is Nate. Google Translator is a incompetent, is vulgar. (Laughs) Be sure to email me directly. Not. You can write in Japanese. I will help you.» | ||
masak | awww :) | 20:25 | |
jnthn | :) | ||
masak | frettled: I find it somewhat amusing that the list is called "shibboleth-users" :P | ||
frettled | masak: yes, wonderfully ironic :D | ||
jnthn had noticed that too :) | |||
masak | it's like ra-i-ain on your wedding da-y-y-y. | 20:26 | |
SORRY!!!!! | |||
jnthn | Yes, alanis... :P | 20:27 | |
masak | a little too ironic. don't you think? | ||
frettled | Ironic, ironic, I want your &s all over my <BODY>. | 20:28 | |
masak | anyway, I think the take-home message here is "the wind, pole, and dragon". | ||
frettled | masak: not to forget that if you lack skill with the goat-time, you should get help. | ||
masak | frettled: I initially read that as "I want your ampersands all over my body"... :) | 20:29 | |
jnthn | I read it as a reference to the sub s... | ||
moritz | geek erotic? :-) | ||
masak | frettled: true. lacking skill with the goat-time would be an insult to father's stones. | ||
frettled | And we don't want that, do we? | 20:31 | |
jnthn | Oh no, that could lead to parsing configuration for JSP error handler. | 20:34 | |
oh, wait... | |||
tadzik | modules.perl6.org/ -- Pandas! | 20:35 | |
jnthn | Unbearably cute \o/ | ||
frettled | w00t! | 20:36 | |
tadzik | the Big Image was not only too big, but too cute to be shown on the website :) | ||
the perl6-users email explains it all | 20:37 | ||
dukeleto likes pandas | |||
tadzik: i see you have been doing good work up here in Perl 6 land | 20:38 | ||
tadzik: how (if at all) does Pies relate to Plumage? | |||
tadzik | dukeleto: just finishing what I started few months ago :) | 20:39 | |
20:39
gdey left
|
|||
tadzik | dukeleto: no Plumage connection, yet I plan to look into "how plumage handles stuff" and analyze for the possible ideas exchange | 20:39 | |
dukeleto | tadzik: yes, lots of thought went into plumage, and it would be nice if plumage and pies knew enough about each other to not stomp on each other and hopefully, work well together | 20:41 | |
tadzik | dukeleto: I have a feeling that Plumage should be possible to be implemented as a Pies implementation. If not, then Pies is probably not good enough | ||
dukeleto | tadzik: sounds like -Ofun to me | ||
tadzik | Plumage in nqp, right? | ||
dukeleto | tadzik: yep | 20:42 | |
tadzik: the newer flavor of nqp :) | |||
tadzik | :) | ||
which newer? :) | |||
dukeleto | tadzik: the older newer | ||
tadzik: the artisticly licensed code formerly known as nqp-rx (sorry, prince) | 20:43 | ||
tadzik | I see | ||
20:51
justatheory left
20:53
kensanata joined
21:00
orphu left
21:01
bacek joined
21:25
dorlamm joined
21:28
Mowah left
21:29
donri left
|
|||
tadzik | ...how silent | 21:57 | |
masak | well, I stopped coding and helped jnthn design a polar bear with a viking helmet. | 21:58 | |
and now it's sleep o'clock. | 21:59 | ||
jnthn | I wrote lots about how awesome Malmö is and why everybody should come in June to do Perl stuff. :) | ||
masak++ # makes awesome polar bears | |||
tadzik | that explains the silence. I wouldn't want the bear to wake up eithe | 22:00 | |
masak | jnthn: thanks :) | ||
tadzik | share! | ||
masak | soon enough :) | 22:01 | |
jnthn | Will be on the workshop website very soon (tomorrow, maybe... :)). | ||
Or in next few days, anyway :) | |||
22:06
dorlamm left
22:10
bacek left
|
|||
tadzik | workshop website? | 22:11 | |
masak | tadzik: we're doing Nordic Perl Workshop this year. | ||
tadzik | oh cool | 22:13 | |
lue | hello worlds! o/ | 22:15 | |
masak | czesc lue! | ||
'night, #perl6. | 22:16 | ||
tadzik | o/ | ||
22:16
masak left,
bacek joined
22:27
bacek left
22:34
Rotwang left
22:41
bacek joined
22:42
coldhead joined
22:44
icwiener_ left
22:45
ymasory joined,
Transformer joined
22:48
Transformer left
|
|||
jnthn | sleep & | 22:55 | |
22:59
kst left
23:01
justatheory joined
23:05
ponbiki left
23:06
pmurias left
23:11
kst joined
23:45
twinshadow joined
23:47
mj41 left
|