»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! | Rakudo Star Released! Set by diakopter on 6 September 2010. |
|||
00:00
colomon left
|
|||
dalek | kudo: d4b72da | KodiB++ | src/builtins/Signature.pir: [builtins/Signature] Use ObjectRef instead of Perl6Scalar. |
00:09 | |
kudo: fb57ef1 | KodiB++ | src/Perl6/Grammar.pm: [Grammar] Permit ">>" after infix:<->. This fixes RT #77800. |
|||
kudo: 3221cad | KodiB++ | src/ (6 files): Merge branch 'perl6scalar-cleanup' |
|||
ast: 71fdf1d | KodiB++ | S03-metaops/hyper.t: [hyper.t] Added tests for RT #77800. |
00:10 | ||
00:11
justatheory left
00:13
jferrero left
00:14
lue joined
|
|||
lue | hello o/ | 00:15 | |
diakopter | ahoi | ||
00:17
Kodi left
00:19
Chillance left
|
|||
sjohnson | hi | 00:24 | |
00:35
risou joined
00:39
cdarroch left
00:47
Entonian left
00:49
QinGW joined
00:53
QinGW left
00:58
QinGW joined
01:04
mfollett joined
01:07
ggoebel left,
risou left,
colomon joined,
risou joined
01:08
ggoebel joined
01:11
[Coke] joined
01:12
risou left,
Banu joined
01:25
Banu left,
Italian_Plumber joined
01:35
jaldhar joined
01:39
molaf_ joined
01:42
molaf left
01:52
meppl joined
|
|||
colomon | rakudo: my $a = Real.new; say $a.WHAT | 01:53 | |
p6eval | rakudo 3221ca: OUTPUT«Real()» | ||
01:58
justatheory joined
02:01
am0c^ joined
02:03
leprevost joined
02:07
leprevost left
02:09
leprevost joined
02:18
Thorben joined
|
|||
Thorben | Newbie question. Better to learn Perl 5 and then 6, or to learn 6 first and disreguard 5? | 02:21 | |
I guess, how big are the changes? C# to C++ big? | |||
\xF0 | learn either | 02:22 | |
the changes are substantial | |||
Thorben | Been working off the free ebook from perl.org | 02:23 | |
Based on a perl 5 build. | |||
\xF0 | there's lots of good teaching material on perl 5 out there | 02:24 | |
02:24
Italian_Plumber left
|
|||
Thorben | How difficult is it to make the transition from 5 to 6? | 02:24 | |
florz | that question is impossible to answer | 02:25 | |
and mostly irrelevant | |||
what's relevant as far as learning is concerned are concepts, not syntax | 02:26 | ||
so, if you want to write production code, go with 5, if you want to have a cleaner language to play with, go with 6, I'd say | 02:27 | ||
02:27
leprevost left
|
|||
Thorben | 5 seems more appropriate at the moment. Thanks. | 02:31 | |
02:42
satyavvd joined
02:56
leprevost joined
03:00
QinGW left
03:07
QinGW joined
03:11
meppel joined
03:12
meppl left,
ash_ joined
|
|||
ash_ | rakudo: say do { given 1 { 'foo' when 1; default { 'fail' }; }; }; | 03:13 | |
p6eval | rakudo 3221ca: OUTPUT«fail» | ||
ash_ | say do { given 1 { when 1 { 'foo' }; default { 'fail' }; }; }; | ||
rakudo: say do { given 1 { when 1 { 'foo' }; default { 'fail' }; }; }; | |||
p6eval | rakudo 3221ca: OUTPUT«foo» | ||
03:14
alester joined
|
|||
ash_ | can you not use when like: <statement> when <condition>; ? | 03:14 | |
std: say do { given 1 { 'foo' when 1; default { 'fail' }; }; }; | 03:16 | ||
p6eval | std 1d6fdf3: OUTPUT«ok 00:01 117m» | ||
03:18
meppel left,
meppl joined
|
|||
s_mosher | rakudo: say do { given 1 { 'foo'.say when 1; default { 'fail' }; }; }; | 03:18 | |
p6eval | rakudo 3221ca: OUTPUT«foofail» | 03:19 | |
s_mosher | it just fails to break | ||
ash_ | hmm weird | ||
perl5.14 is planning on having a slightly different functionality of given/when then it seems, or i might be interpreting this wrong | 03:20 | ||
03:22
mfollett left
|
|||
TimToady | I think Perl 5 is doing it wrong | 03:22 | |
03:25
mfollett joined
|
|||
TimToady | when semantics are useful in places where you don't want break, and modifier when is appropriate for that task | 03:26 | |
druther force breakables to be in an official comb structure, not hidden down in statement modifiers | |||
makes it real nice to write list comprehensions with a when inside a for modifier too | 03:27 | ||
03:29
Thorben left
|
|||
ash_ | hmm, ya, i wasn't thinking like that, that would be annoying in perl5 if when implied last | 03:30 | |
since a for loop won't work the same | |||
TimToady | anyway, this is specced; see S04:952 | 03:31 | |
ash_ | kk | ||
PerlJam | ash_: where are you reading about 5.14's given/when? | ||
ash_ | transfixedbutnotdead.com/2010/08/30...statement/ i think i read it wrong, let me re-read that article | 03:32 | |
TimToady | me, I've more or less given up trying to tell the p5 folks how to borrow p6 features... | ||
ash_ | oh, sorry, i read that totally wrong | 03:33 | |
PerlJam | TimToady: it's not like they have an implementation to learn from ... oh, wait :) | 03:34 | |
ash_ | it says: given blocks returns the last evaluated expression, or an empty list if the block exited with break | ||
thats how: $a = do { given (1) { 'one' when 1; } }; would set $a = 'one' | 03:35 | ||
rakudo: my $a = do { given (1) { 'one' when 1; } }; | 03:36 | ||
p6eval | rakudo 3221ca: ( no output ) | ||
ash_ | thats a very ruby-esk way of doing things... | ||
TimToady | my impression is that p5's switch is fairly useless from the standpoint of returning values, but I could be misinformed | 03:37 | |
ash_ | in ruby all statements, even control statements, return their last value of the block (or anything passed to c<return>); so you can say: a = <if statement> or a = any form of statement really, could be a given/when type statement or even a for loop | 03:38 | |
TimToady | you can do that in p6 too, but sometimes you need a 'do' to parse the following as a statement | 03:39 | |
ash_ | then should: my $a = do { given (1) { 'one' when 1; } }; $a eq 'one'? | 03:40 | |
TimToady | rakudo: say do given 1 { when 0 { 'a' }; when 1 { 'b' }; default { 'c' } } | ||
p6eval | rakudo 3221ca: OUTPUT«b» | ||
TimToady | yes, certainly, that's the final value of the block | ||
ash_ | ah, so that might be a rakudo bug | 03:41 | |
rakudo: my $a = do { given (1) { 'one' when 1; } }; say $a | |||
p6eval | rakudo 3221ca: OUTPUT«one» | ||
ash_ | oh, nm | ||
TimToady | what bug? | ||
ash_ | i thought i tried that a second ago and it didn't work... | ||
TimToady | you didn't 'say' | ||
ash_ | maybe i need to go lay down... # probably needs sleep | ||
TimToady always needs sleep, most of the time... | 03:42 | ||
ash_ | rakudo: say do if 0 { 1 + 2 } else { 1 + 4 }; | 03:43 | |
p6eval | rakudo 3221ca: OUTPUT«5» | ||
ash_ | rakudo: say if 0 { 1 + 2 } else { 1 + 4 }; | ||
p6eval | rakudo 3221ca: OUTPUT«===SORRY!===Confused at line 22, near "say if 0 {"» | ||
ash_ | neat | ||
i like do | |||
rakudo: say do given 1 { 'foo' when 1; default { 'fail' }; }; | 03:46 | ||
p6eval | rakudo 3221ca: OUTPUT«fail» | ||
ash_ | is... that right? | ||
s_mosher | ash_, 'foo' there is evaluated in... whatever's Perlish for "void context" | 03:47 | |
ash_ | rakudo: say do given 1 { 'foo' when 1; }; | 03:48 | |
p6eval | rakudo 3221ca: OUTPUT«foo» | ||
ash_ | thats weird | ||
oh | |||
i see | |||
hmm | |||
03:49
envi joined
|
|||
ash_ | rakudo: say do given 1 { 'foo'.say when 1; default { 'fail' } }; | 03:49 | |
p6eval | rakudo 3221ca: OUTPUT«foofail» | ||
03:51
mncharity joined
|
|||
mncharity | fyi, on perl6.org/ and perl6.org/compilers/ , the STD.pm links are varieties of "404". | 03:52 | |
ash_ | rakudo: { say $^x } if 1; | 04:03 | |
p6eval | rakudo 3221ca: ( no output ) | ||
ash_ | rakudo: { say $^x } for 1..3; | ||
p6eval | rakudo 3221ca: OUTPUT«123» | ||
ash_ | rakudo: if 1 -> $x { say $x } | ||
p6eval | rakudo 3221ca: OUTPUT«1» | ||
ash_ | rakudo: { say $^x } if 1; | 04:04 | |
p6eval | rakudo 3221ca: ( no output ) | ||
ash_ | :-( | ||
bug... i think | |||
S04:693 say: { say $^x } if foo(); is equiv to "if foo() -> $x { say $x }" | 04:05 | ||
rakudo: { say $^x } if 1; if 1 -> $x { say $x } | |||
p6eval | rakudo 3221ca: OUTPUT«1» | ||
ash_ | rakudo disagrees | 04:06 | |
ash_ submits rakudo bug | |||
mncharity | anyone around know the state of STD_P5.pm6 vs MAD vs PPI ? | 04:12 | |
04:13
pythonian4000 is now known as pythonian4000afk
|
|||
ash_ | how do you send updates to the bug tracker at rt.perl.org ? | 04:21 | |
04:23
mncharity left
|
|||
ash_ | well anyone listening with control over the rt, ticket 78124 and 77750 are duplicates | 04:30 | |
ash_ sleep... | 04:38 | ||
04:57
alester left
|
|||
sorear | People :/ | 05:11 | |
diakopter | I replied to mncharity by email | 05:15 | |
sorear | You found his email? | 05:16 | |
All I found was that he's a #concatenative regular | |||
diakopter | he wrote Elf | ||
perl.net.au/wiki/Elf | 05:19 | ||
sorear | aye | 05:20 | |
05:21
agentzh joined,
sftp left
05:23
irclogbot_backup joined,
irclogbot_backup left,
Guest23195 joined
|
|||
sorear | diakopter: mm, this looks like my kind of compiler | 05:25 | |
05:28
Guest23195 left
05:29
pythonian4000afk is now known as pythonian4000
05:33
justatheory left
05:41
pythonian4000 is now known as pythonian4000afk,
LaVolta joined
05:44
masonkramer left,
masonkramer joined
|
|||
diakopter | sorear: nod. I assumed you knew about it | 05:49 | |
sorear | diakopter: I hadn't looked at it in much depth before | 05:50 | |
05:52
mfollett left
06:00
leprevost left
|
|||
diakopter fixes links on perl6.org | 06:02 | ||
diakopter and updates /compilers | |||
sorear | hmm, linux 2.6.32 adds support for memory usage in free(1), this seems like a good excuse to upgrade | 06:11 | |
06:12
wtw joined
|
|||
dalek | ecza/master: 22654de | sorear++ | src/C (3 files): Remove the simulated evaluation stack This bit of technical debt has been with us since before it was renamed niecza. |
06:15 | |
06:16
kjeldahl joined
|
|||
diakopter | sorear: Wow! perlito is extremely active recently, and those commit comments are very interesting! github.com/sorear/niecza/commit/226...a1483bc349 | 06:18 | |
it's plain, however, why fglock tends to stay away from #perl6 :) | |||
these days. | |||
erm, wrong url. | |||
github.com/fglock/Perlito/commits/master/ | 06:19 | ||
that's the one I meant to paste | |||
sorear: but your diff is very interesting too :) | |||
moritz_ | diakopter: why does he stay away? | 06:20 | |
diakopter | probably the same reasons I should too :/ distractibility | 06:21 | |
I mean, if his productivity in Perlito is any evidence | |||
plainly he places code success over socializing | 06:22 | ||
on irc. | |||
moritz_: commit/push pending for perl6.org | 06:23 | ||
diakopter looks for a writeup on masak's p6-on-rakudo | 06:26 | ||
sorear | Hello from Linux 2.6.32 | ||
diakopter found it | 06:27 | ||
moritz_ | good morning sorear | ||
sorear | /usr/bin/time reports peak memory now | ||
\o/ | |||
06:27
QinGW1 joined
|
|||
moritz_ wants it | 06:27 | ||
06:29
QinGW2 joined,
QinGW left
06:30
QinGW joined
06:31
QinGW1 left
|
|||
diakopter | moritz_: is mildew in Mu ? | 06:32 | |
moritz_ | diakopter: I think so, yes | 06:33 | |
06:33
QinGW2 left
|
|||
dalek | : 8968a74 | diakopter++ | v6/README: remove mention of old old old sprixel |
06:44 | |
href="https://perl6.org:">perl6.org: e73d475 | diakopter++ | source/compilers/index.html: update perl6.org putter++ and others for prompting it. |
06:48 | ||
06:51
Guest23195 joined
|
|||
diakopter | I'm not married to most of those changes; please commit/push corrections ;) | 06:52 | |
diakopter is also still waiting for clarification of S01's "first practical implementation" phrase. _any_ criteria to help narrow down "practical" would be much appreciated. | 06:54 | ||
I guess the usual response to that is "we'll know it when we see it"; :/ | 06:55 | ||
07:01
baux joined
|
|||
sorear | What line? | 07:02 | |
diakopter | :) S01 is very short | 07:03 | |
the 4th to last sentence or something | |||
07:07
masak joined
|
|||
masak | oh hai, #perl6! | 07:07 | |
phenny | masak: 29 Sep 22:15Z <lichtkind> tell masak of course i just ramble here since weeks to finde someone who redirects the blogs.perl.org/users/lichtkind/ posts with the tag perl6 to planet6 | ||
masak: 29 Sep 22:22Z <lichtkind> tell masak its blogs.perl.org/users/lichtkind/perl-6/ | |||
diakopter | masak: I added yapsi to perl6.org | ||
moritz_ finds that amusing | 07:08 | ||
masak | phenny: tell [Coke] lichtkind says blogs.perl.org/users/lichtkind/perl-6/ | ||
phenny | masak: I'll pass that on when [Coke] is around. | ||
masak | diakopter: thanks! | ||
diakopter++ | |||
diakopter | oh; it's not updated yet | 07:09 | |
07:15
mberends left
|
|||
masak really likes the "some not quite there features" list in the R* announcement | 07:19 | ||
for several reasons, actually. | |||
it's honest to have such a list. it probably pre-empts some irritated/disappointed questions. and the list itself is inspiring. :) | 07:20 | ||
a merge commit to p6l? :( there's really no need to send those to p6l, let alone make one in the first place... | 07:26 | ||
TimToady: please don't do that. | |||
probably just unfamiliarity with git. it does have merge as a default, after all. | 07:27 | ||
moritz_ | pulling with git pull --rebase most likely helps | 07:33 | |
masak | aye, that's what I tend to do. there are other ways, too. | 07:35 | |
git embraces TIMTOWTDI :) | 07:36 | ||
also, moritz_++ for the .get_value/.set_value spec change. in spite of all. :) | 07:39 | ||
I liked the patch, but I winced at the wording "*perceived* privacy". that was probably the idea, though. | 07:41 | ||
07:42
pythonian4000afk is now known as pythonian4000
|
|||
masak | I just changed s/perceived privateness/privacy/. hope that's OK. | 07:45 | |
dalek | ecs: 66610ca | masak++ | S12-objects.pod: [S12] minor wording tweaks |
07:49 | |
07:50
tadzik joined
07:56
satyavvd left
|
|||
masak | <ash_> well anyone listening with control over the rt, ticket 78124 and 77750 are duplicates | 07:57 | |
masak merges | |||
sorear | Any reason why I shouldn't s/_/-/ to be consistant with everything else in P6? | 07:58 | |
07:59
nymacro joined
|
|||
sorear | hello masak. | 07:59 | |
masak | hi. | ||
07:59
Guest23195 left
|
|||
masak | sorear: yes. there tends to be an aversion towards dashes and underscores in "core" names in general. | 07:59 | |
but introspection is non-core enough for that to be OK. | 08:00 | ||
08:00
ruoso left
|
|||
masak | when they are allowed, the established rule seems to be: undescore for "low-level" things, dashes for other things. I think this counts as low-level. | 08:00 | |
as a side note, I used to be a big fan of dashes in sub and method names ever since dashes were allowed. lately I've switched entirely to underscores. don't know if this is a phase, or if the dashes thing was. :) | 08:02 | ||
I may or may not have switched back because vim color-codes things nicer for me with underscores. | |||
(er, that may or may not have influenced the switch back, I mean) | 08:03 | ||
moritz_ | so far all meta model methods have _ instead of - | 08:05 | |
08:05
nymacro left
|
|||
moritz_ | also the low level module loading/importing primitives | 08:05 | |
tadzik | hello | 08:07 | |
masak | tadzik! \o/ | 08:10 | |
08:14
ruoso joined
|
|||
diakopter | masak: there, updated. perl6.org/compilers/ | 08:22 | |
masak | \o/ | ||
08:30
timbunce joined
08:31
timbunce left,
timbunce_ joined
08:32
nymacro joined
|
|||
masak replied to Damian on p6l | 08:33 | ||
08:34
fod left
|
|||
moritz_ | masak++ # wording fix | 08:34 | |
moritz_ also has an idea what to write, but waits until masak's email hit p6l, so that he does't duplicate effort | 08:36 | ||
masak | it should also have gone directly to you, since I didn't change the recipient list that Damian chose. | 08:37 | |
moritz_ | masak: thanks. I've also searched for the place in the IRC logs to link to, and mine is just 2 lines different from yours :-) | 08:38 | |
masak | :) | ||
yes, there was a bit of ambiguity where to put the start of the conversation. | |||
08:41
x19290 joined,
icwiener joined,
orafu left,
x19290 left
08:46
kjeldahl left
|
|||
moritz_ | seems rakudo on newest parrot has quite a few new regressions | 08:50 | |
diakopter | sorear: triumph! sprixel has nested compilation units, either just-in-memory or on-disk-as-well. :) | 08:51 | |
moritz_ | \o/ | 08:54 | |
masak | wow, Damian holds a more extreme and pronounced variant of my views. | ||
moritz_ | diakopter: do you maintain the sprixel compilation on the p6eval server? | 08:55 | |
08:55
x19290 joined
08:56
wamba joined
08:57
nymacro left,
nymacro joined
08:59
x19290 left,
x19290 joined
|
|||
x19290 | I have an install log of rakudo-star-2010.08. | 09:00 | |
sorear | wow, TheDamian is insane | ||
x19290 | It says when I typed `make install', | ||
moritz_ | sorear: how so? :-) | ||
diakopter | moritz_: no, not really | 09:01 | |
moritz_ | diakopter: would be nice if you did, as soon as sprixel is in a shape that it can run simple commands from IRC | ||
diakopter | moritz_: b/c it's in the infancy of the 9th or so rewrite | ||
09:02
dakkar joined
|
|||
diakopter | it won't be there for years or so, since its purpose is now solely to get STD running on the CLR .. | 09:02 | |
:) | |||
09:02
Guest23195 joined
|
|||
x19290 | hello | 09:03 | |
sorry for my rudeness | |||
masak | sorear: my colleague does Java for a living. I explained the situation with attribute un-privacy to him, and asked what he thought. "Do you even have to ask?" he said. (he's firmly in the "restrict the power of the programmer for his own good" camp.) | ||
x19290 | I have an install log of rakudo-star-2010.08. | ||
It says when I typed `make install', | |||
lib/parrot/2.7.0/languages/perl6/lib/Form/Grammar.pir was installed. | |||
But now I rebuild/reinstall rakudo-star-2010.08, | |||
I cannot find lib/parrot/2.7.0/languages/perl6/lib/Form/Grammar.pir | |||
What's wrong? | |||
moritz_ | x19290: hwo do you try to rebuild/reinstall? | 09:04 | |
masak | x19290++ # clear description of problem | 09:05 | |
diakopter | masak, sorear, for what it's worth, the CLR permits getting/setting anything/everything anywhichwhere, as long as your CIL to access such private parts is emitted at runtime ;) | ||
sorear | masak: Does your colleague know about java.lang.reflect? | ||
x19290 | i installed everything on /opt/rakudo | ||
i rm -rf /usr/src/rakudo-* | |||
sorear | masak: does your colleague support deleting java.lang.Serializable, the RMI framework, and most of the java web service stuff? because it breaks encapsulation in exactly the same way as Any.perl | 09:06 | |
masak | sorear: he says he does. and that he suspects that that would make Java just as bad as Perl... :) | ||
x19290 | untared 2010.08.tar.gz on /usr/src | ||
masak | sorear: he's undecided on java.lang.Serializable. this seems to be news to him. | ||
x19290 | and on parrot directory, perl Configure.pl --prefix=/opt/rakudo | ||
masak | sorear: (it certainly is to me) | 09:07 | |
sorear | diakopter: IIUC it works at compile time too, as long as you load the code off a hard disk and don't pass --security=verify-all | ||
x19290 | on parrot directory, make install. I have a write permission on /opt | ||
moritz_ | x19290: you can try it with removing /opt/rakudo first too... | ||
x19290: though I'd recommend you take the 2010.09 release | |||
09:08
pythonian4000 is now known as pythonian4000afk
|
|||
moritz_ | sometimes installed versions of parrot and rakudo can interact badly with the build process :( | 09:08 | |
diakopter | sorear: ah. | ||
sorear: well, on windows... | |||
;) | |||
sorear | diakopter: MSDN says that code loaded from IE's Local Domain skips verification | ||
x19290 | I said I removed /opt/rakudo first. | 09:09 | |
diakopter | you said /usr/src... | ||
x19290 | sorry. | ||
moritz_ | did you also remove the unpacked sources? | 09:10 | |
x19290 | yes. | ||
09:10
jest joined
|
|||
moritz_ | then something on your system must have changed inbetween | 09:10 | |
moritz_ has no idea what that could be | |||
x19290 | Should I have Form/Grammar.pir or not? | ||
moritz_ | no; it's a generated file | 09:11 | |
x19290 | ok. | ||
moritz_ | should be built during the 'make install' step (yes, should be 'make', but the build system is a bit broken right now) | ||
09:11
qwebirc21435 joined
|
|||
x19290 | Thank you very much moritz_. | 09:13 | |
moritz_ | x19290: thank you for trying rakudo, and reporting trouble | ||
x19290 | quit | ||
09:13
x19290 left
|
|||
masak | from Damian's email: "As it stands at the moment, it's not clear to me why we even bother with opaque objects, if it's going to be this trivial to break encapsulation." -- best rendering of my unease into words so far. TheDamian++ | 09:13 | |
sorear | I don't think $obj.^attributes<foo>.GET_VALUE($obj) is exactly trivial | 09:14 | |
moritz_ | I also don't buy the argument of passing Attribute objects around | ||
to work with it, you must know exactly that it's an Attribute | 09:15 | ||
masak | both of those views should go on p6l. | ||
(IMHO) | |||
09:16
stepnem joined
|
|||
moritz_ | a reason for opaque objects is performance, btw :-) | 09:16 | |
masak | aye. | 09:17 | |
diakopter | (you're assuming a LOT about an optimizer :P) | ||
moritz_ | diakopter: both jnthn and sorear are working on meta objects that compile attribute accesses down to array slot accesses | 09:18 | |
instead of hash-ish accesses | |||
masak | moritz_: doesn't necessarily mean that the hash can be dropped altogether, though. | ||
just that the array is the primary means of access. | |||
moritz_ | right | 09:19 | |
diakopter | ok, but I don't see how that's related to opaqueness. | ||
masak | for example, in Yapsi, the exact same situation occurs with normal lexical blocks. but we still want to be able to introspect them. | ||
diakopter | I was referring to how unused slots can be optimized away.. | ||
moritz_ | in which case get_value and set_value are free to die() with a helpful message | ||
sorear | Privacy in Perl is a convention, and I'd like to keep it that way | 09:20 | |
It's not like Java, where privacy is what prevents you from saying Runtime.getRuntime().securityManager = null; installBackdoor(); | |||
Security and encapsulation are concerns best separated, IMO | 09:21 | ||
moritz_ | correct | ||
masak | well, Damian is only talking about encapsulation, and that it's too easily broken in Perl 6 right now. | 09:24 | |
moritz_ | to be fair, .new has always bothered me a bit | ||
maybe it should be restricted to only those attributes with accessors | 09:25 | ||
sorear | the Perl 6 'has' is very constraining | ||
Moose's has takes named arguments, dozens of them | |||
one of which is :init_arg | |||
masak | moritz_: many years ago, I had a similar complaint/comment. | ||
sorear | YOU control how the default .new parses stuff | ||
masak | moritz_: but it was around the time when I was learning about the private/public distinction in Perl 6 (and how it differs from Java), so I thought "oh, that's probably just the way things are" | 09:27 | |
moritz_ | masak: well, that's probably just the way things are :-) | ||
masak | with Damian rocking the boat, it suddenly feels less insane to clamor for a more encapsulated Perl 6. | 09:29 | |
let's see if someone comes up with a new, consistent model which still allows for .new and serialization. | |||
moritz_ | masak: I'd be happy with such a model, if it's roughly as convenient as the current one | 09:30 | |
masak | of course. | ||
one big question seems to be "how DO you set a private attribute?" | |||
(by breaking encapsulation, I guess) | 09:31 | ||
sorear | $!foo = 2; | ||
masak | sorear: funny guy. | ||
moritz_ | phenny: tell jnthn about trac.parrot.org/parrot/ticket/1807#comment:1 - seems you partially broke line numbers along the way | ||
phenny | moritz_: I'll pass that on when jnthn is around. | ||
masak | I admit I didn't express myself very precisely. :P | 09:32 | |
"how DOES .new assign values to private attributes?" | |||
(under a hypothetical new model which respects encapsulation) | |||
sorear | .new passes them down to CREATE | 09:33 | |
which is pretty low level, and has to see the attributes to give them values | |||
s/values/storage/ | |||
moritz_ | sorear: I thought it passed them to .bless ? | ||
09:33
Alias joined
|
|||
sorear | in Smalltalk, CREATE is a method on the metaclass. I wonder if that would be a better way to think about it. | 09:34 | |
moritz_: I thought bless called CREATE | |||
09:34
orafu joined
|
|||
masak | no, I think bless modifies an already CREATEd tabula rasa object. | 09:34 | |
but I might be wrong. | 09:35 | ||
moritz_ | sorear: in rakudo you can call self.bless($repr, |%attribute_values) | ||
masak | that, by the way, is why I've already thought re-blessing to a narrower class makes a lot of sense. because that's what the normal bless already does. | ||
sorear | reblessing in general makes sense | 09:36 | |
it's not a very commonly used operation, but when I need it, I need it | |||
09:36
sundar joined
|
|||
masak | I think I've more or less convinced jnthn of the use case already. | 09:37 | |
moritz_ | masak: I don't understand; in self.bless($repr, |%foo) neither 'self' nor $repr is of a parent type of the generated object | ||
09:37
mavrc joined
|
|||
masak | moritz_: I always thought of .CREATE as creating a new, defined Mu object, and .bless as giving it the right class (and attribute slots, and attribute values). that may or may not actually be the case, though. | 09:39 | |
more likely .CREATE already gives it the right class. | |||
in which case .bless is a bit of misnomer. | |||
moritz_ | I kinda think of .CREATE as creating a low-level storage thing | 09:40 | |
and .bless magically associates it with a new high-level object | |||
masak | right, but does .CREATE make different low-level storage things for classes A and B? | 09:42 | |
moritz_ | that might very well be the case | 09:43 | |
at least it's allowed to | |||
masak | in either case, bless having re-bless capabilities isn't too far-fetched. | 09:44 | |
moritz_ | agreed | ||
masak | it just magically associates a new high-level object with an old low-level storage thing :) | ||
actually, reblessing to wider types is obvious from this viewpoint. | 09:45 | ||
09:45
mavrc left
|
|||
masak | reblessing to narrowr types might require a new low-level $repr object to accomodate the new attrs. | 09:45 | |
09:48
mavrc joined
09:56
zb left
09:58
sundar left
|
|||
masak | nom & | 10:00 | |
10:00
Italian_Plumber joined
10:02
orafu left,
QinGW left
10:04
mavrc left
10:06
jest left
10:20
zb joined
10:23
mavrc joined
10:26
daxim joined
10:27
ruoso left
10:35
LaVolta left,
kjeldahl joined
10:41
Italian_Plumber left
10:45
qwebirc21435 left,
pythonian4000afk is now known as pythonian4000,
sandra_f joined
10:46
sandra_f left
10:56
Italian_Plumber joined
10:59
orafu joined
11:01
tadzik left
11:02
tadzik joined
11:06
sjn left
11:09
sjn joined
11:13
maddog007 joined
11:14
maddog007 left
11:20
ggoebel left
|
|||
masak | I'm still getting OpenFoundry emails, even after the demise of the Pugs SVN repo. anyone know how to make it stop? :) | 11:22 | |
[Coke] | TheDamian++ | 11:28 | |
phenny | [Coke]: 07:08Z <masak> tell [Coke] lichtkind says blogs.perl.org/users/lichtkind/perl-6/ | ||
[Coke] | ugh. that URL has no visible "FEED" button. | 11:29 | |
11:30
icwiener left
|
|||
[Coke] | if someone can translate that to an rss/atom link, I can planetsix it. | 11:30 | |
masak | it's blogs.perl.org, it's gotta have rss/atom. | 11:31 | |
sorear | blogs.perl.org/users/lichtkind/atom.xml | ||
moritz_ | yes, but not per tag | ||
sorear | oh | ||
masak | this Twitterer wants it all, but is sad about something -- what? twitter.com/meettya/status/25965877970 | 11:32 | |
seems he thinks it'll be another 5 years before Perl 6 matches Perl 5. | 11:33 | ||
that actually sounds accurate, for some values of 'matches'. | |||
colomon | TheDamian++ indeed | 11:34 | |
masak | what is this, suddenly a lot of privacy proponents appear out of the bushes? | 11:35 | |
where were you when moritz_ and I argued a few days ago? :) | |||
moritz_ | the sheer mass of proponents doesn't mean it's a more sensible(sic!) position :-) | 11:36 | |
see also: PHP | |||
masak | didn't say it was. | ||
moritz_ | I know :-) | ||
masak | just saying I didn't feel their support then as I do (indirectly) now. | ||
11:36
tadzik left
|
|||
dalek | ecza/master: 52eeda0 | sorear++ | / (4 files): Factor out CodeGen's internal type inferrer |
11:36 | |
ecza/master: b8b0f44 | sorear++ | / (6 files): Kill off CLRImportObject for real |
|||
ecza/master: 3d28e35 | sorear++ | / (12 files): Start playing with a CgOp type remapper |
|||
moritz_ | niecza: say 1 | 11:37 | |
p6eval | niecza eb45fca: OUTPUT«Can't call method "syml" on unblessed reference at /home/p6eval/niecza/src/CompilerDriver.pm line 156.» | ||
masak | by the way, PHP is sensible if your goal is "deploy now". :) it's still unmatched in that regard, IMO. | ||
11:37
tadzik joined
|
|||
masak | granted, it's less-than-sensible if you want to do more advanced things than that :P | 11:38 | |
moritz_ | Executing: viv --noperl6lib -5 -o src/Niecza/Grammar.pmc src/Niecza/Grammar.pm6 | ||
/tmp/tmp4c6c66f6.tmp: line 1: viv: command not found | |||
while building niecza | |||
masak | Juerd++ # tnx.nl/php.html | ||
[Coke] | phenny: tell lichtkind - do you have an RSS feed for that that respects the Perl 6 tag? | 11:39 | |
phenny | [Coke]: I'll pass that on when lichtkind is around. | ||
[Coke] gets back to cold fusion & javascript. | |||
OPENFOUNDRY-- # STOP SENDING ME EMAILS ARRRRRGH | 11:41 | ||
moritz_ installs a newer STD.pm | |||
niecza: say 1 | 11:42 | ||
p6eval | niecza 3d28e35: OUTPUT«1» | ||
moritz_ | niecza: class A { method b() { say "oh hai" }; A.b; A.new.b(); | ||
p6eval | niecza 3d28e35: OUTPUT«===SORRY!===Unable to parse block at /tmp/CRYdz96T3Q line 1:------> class A ⏏{ method b() { say "oh hai" }; A.b; A.neCouldn't find final '}'; gave up at /tmp/CRYdz96T3Q line 1 (EOF):------> od b() { say "oh hai" }; A.b; | ||
..A.new.b();⏏… | |||
moritz_ | niecza: class A { method b() { say "oh hai" } }; A.b; A.new.b(); | 11:43 | |
p6eval | niecza 3d28e35: OUTPUT«oh haioh hai» | ||
moritz_ | niecza: class A { has $.x = 3; method p($y) { say "$.x $y" } }; A.new().p(5); A.new(x => '2 + 3 =').p(5); A.p(6) | 11:44 | |
p6eval | niecza 3d28e35: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object at Niecza.Kernel.Assign (Niecza.Frame th, Niecza.Variable lhs, Niecza.Variable rhs) [0x00000] in <filename unknown>:0  at SAFE.G496infix_58_60_61_62C (Niecza.Frame th) | ||
..[0x00… | |||
moritz_ | niecza: class A { has $.x = 3; method p($y) { say "$.x $y" } }; A.new().p(5); A.new(x => '2 + 3 =').p(5); | ||
[Coke] | hey, masak, how do I say "please stop sending me emails" in chinese? | ||
p6eval | niecza 3d28e35: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object at Niecza.Kernel.Assign (Niecza.Frame th, Niecza.Variable lhs, Niecza.Variable rhs) [0x00000] in <filename unknown>:0  at SAFE.G496infix_58_60_61_62C (Niecza.Frame th) | ||
..[0x00… | |||
moritz_ | niecza: class A { has $.x; method p($y) { say "$.x $y" } }; A.new().p(5); A.new(x => '2 + 3 =').p(5); | ||
p6eval | niecza 3d28e35: OUTPUT«Any() 5Any() 5» | ||
[Coke] | ah, nevermind, I'll just blacklist em. (*&@#$#@. | 11:45 | |
moritz_ | sorear: TODO: attribute default values, and attribute initialization in default .new() | ||
masak | [Coke]: 停止发送电子邮件给我! | ||
moritz_ | niecza: class A { }; say A.new; | ||
p6eval | niecza 3d28e35: OUTPUT«A()<instance>» | ||
masak | oops, that was without "please"... | 11:46 | |
moritz_ | niecza: class A { }; say A.WHAT; | ||
p6eval | niecza 3d28e35: OUTPUT«A()» | ||
moritz_ | niecza++ | ||
masak | [Coke]: 请你不要再发邮件我! | ||
moritz_ | (not perl 6 related, but I found this nice to read: jcole.us/blog/archives/2010/09/28/m...hitecture/ ) | ||
[Coke] | masak: too late. I really wish I knew for sure that pugs is the reason they keep sending me (*&#$ emails. | 11:49 | |
masak: thanks though. | |||
masak | [Coke]: let me know how it goes. | ||
sorear | moritz_: yeah. I haven't revisited default new since adding named parameters | 11:50 | |
[Coke] | They've ignored me for years. I finally got around to just programmatically ignoring their emails instead of manually ignoring them. | ||
masak | [Coke]: if I knew you were actually going to send it to them, I'd have given you the sentence in traditional hanzi. now they will think you're a mainlander. | ||
moritz_ | sorear: no problem, I was just looking to which degree niezca is usable... from reading the commit logs I don't get much of an idea about that | 11:51 | |
sorear | yeah, usability is hard to quantify. | 11:52 | |
moritz_ | indeed | ||
to a large degree it depends on the availability of builtins, and the quality of error messages | 11:53 | ||
Juerd | masak: PLP is, when installed, just as sensible for the "deploy now" case. And you get a much nicer programming language (Perl! :)) | 11:54 | |
sorear | the bad error message you got is very clearly a bug, I don't have a working MMD Str yet | ||
masak | Juerd: I see. wonder why I've heard about PHP but not about PLP (until now), though. | ||
moritz_ | sorear: well, it was good enough to guess that it had to do with the = | 11:55 | |
from Kernel.Assign | |||
11:58
pythonian4000 is now known as pythonian4000afk
12:01
satyavvd joined
|
|||
Juerd | masak: Because PLP doesn't have an organization pushing it, and because a huge part of the Perl community loathes the underlying ideas. | 12:07 | |
I often use PLP without using its features | 12:09 | ||
Just CGI-ish scripts, but instead of #!/usr/bin/perl and use CGI, I type "<:" at the beginning. | 12:10 | ||
12:12
jest joined
|
|||
daxim | wakaba.c3.cx/s/code/perlhp | 12:13 | |
12:13
agentzh left
|
|||
moritz_ | wakaba.c3.cx/perlhp/PerlHP.pm looks like it could be ported to Perl 6 (provided sufficient insanity) | 12:15 | |
daxim | the clean CPAN version is <p3rl.org/Markup::Perl>, better use that as starting point | 12:16 | |
12:16
jferrero joined
12:24
sftp joined
12:36
ggoebel joined
12:46
qwebirc80927 joined
13:01
Robinux left
|
|||
Juerd | Something like PerlHP and PLP can be written in a few hours | 13:07 | |
13:08
ggoebel left
13:11
masak left,
masak joined,
am0c^ left
|
|||
flussence wonders if it'd be worth the effort to implement a strict subset of PHP as a template language | 13:13 | ||
13:13
Robinux joined
|
|||
masak | flussence: watch out -- that's probably how PHP got started! :P | 13:15 | |
tadzik | :D | 13:16 | |
Personal Home Page, no? :) | |||
moritz_ | masak: I know for sure that PHP didn't start out as a strict subset of today's PHP | ||
tadzik: I thought People Hate Perl :-) | |||
now it means People Hate PHP :-) | |||
tadzik | or Please Help Programming | 13:17 | |
masak | there should be a "People Hate Perl 6", and then they should cause it to suffer delays -- oh wait... | ||
13:17
kjeldahl left
|
|||
moritz_ | nice try :-) | 13:18 | |
flussence | PHP6 is the biggest disappointment ever :( | ||
13:18
Patterner left
|
|||
flussence | "we're finally implementing Unicode! Maybe! Oh never mind we'll do it later." | 13:18 | |
masak | I thought you were going to say "the biggest disappointment since Perl 6" | ||
tadzik | same here ;) | 13:19 | |
masak | man, do we have a twisted sense of humour... | ||
moritz_ | flussence: disappointment is in the eye of the beholder; since I didn't expect anything from it, I'm not disappointed at all | ||
flussence | that's what I get for using it, I guess :) | ||
masak | "...biggest disappointment since Java 7..." | 13:20 | |
which, last I heard, will get closures after all. oh yay. | |||
13:20
Trashlord left
|
|||
tadzik | maybeItWillEvenGetRidOfThisHorribleCamelCase | 13:21 | |
masak wouldn't keep his hopes up | |||
moritz_ | hey, closures will make it easier to implement Perl 6 on the JVM :-) | 13:22 | |
moritz_ wonders what happened to those attempts to implement Perl 6 on some Lisp backends | |||
masak | lots of other languages on the JVM already support closures, AFAIU. | ||
the question for Java has mostly been how to cram it nicely into the existing model. | 13:23 | ||
13:23
Trashlord joined
|
|||
moritz_ | I guess it's possible to implement closures on any turing complete VM :-) | 13:23 | |
"cram it nicely" :-) | 13:24 | ||
jest | but seriously, I still don't quite understand the claims that it is impossible to run Perl over JVM | 13:25 | |
moritz_ | jest: it's not theoretically impossible; it's just that porting the perl 5 compiler to any VM is HARD | 13:26 | |
PerlJam wonders if Damian will make an appearance here soon :) | 13:27 | ||
13:28
pmurias joined
|
|||
masak has been sorely tempted for some time now to put together a concerted effort to put Perl 5 on the Parrot virtual machine | 13:28 | ||
jest | well, if C++0x got lambda, everything other can | 13:29 | |
masak | it would involve STD_P5, some Rakudo people, and some Perl 5 people. | ||
moritz_ | masak: if you do, please make it integrate well with Rakudo :-) | ||
masak | moritz_: that's a very good point. | ||
moritz_: that should be among the top two goals or so. | |||
13:30
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
masak | and probably a feature in its first release. | 13:30 | |
"you can run it from Rakudo! just do 'use v5' inside a block of code" | |||
moritz_ imagines masak's face while reading toke.c in the perl 5 source tree | 13:31 | ||
masak | hehe | ||
pmurias | masak: getting STD_P5 to work would be a usefull goal by itself | ||
masak | pmurias: then I'll reduce my goals to that for the mo. | ||
13:33
isBEKaml joined
|
|||
pmurias | masak: when we have STD_P5 we could use that do build a variety of cool stuff: a translator to Perl 6, tool support which can handle Devel::Declare, etc. | 13:38 | |
masak | pmurias: I'd be a champion for that, except I'm already a champion for the "when we have *STD* we could use that to build a variety of cool stuff" line :) | 13:39 | |
moritz_ notes that lack of cool project ideas certainly isn't one of Perl 6's problems | |||
more the lack of time and people to actually implement them | |||
masak | someone should start a matchmaking service between cool ideas and lurkers/newcomers in here :) | 13:40 | |
moritz_ | I did; with certain success | ||
but then ran out of ideas | |||
masak | moritz_++ # challenges | ||
moritz_ | still we got try.rakduo.org and MAIN subs out of it | ||
masak | \o/ | 13:41 | |
moritz_ | and ash_++ and patrickas++ as heavy contributors | ||
13:41
nymacro left
|
|||
moritz_ still hasn't sent out all the t-shirts | 13:41 | ||
tadzik | t-shirts? | ||
moritz_ | rakudo t-shirts for some of the participants | 13:42 | |
tadzik | how can one earn one? | ||
moritz_ | 1) travel back in time 2) participate in at least one of the challenges 3) have luck at the lottery at the end | 13:43 | |
tadzik | sounds like a nice excuse to dive deeper | ||
challenges are tempting, but I don't recall any of them recently | 13:44 | ||
masak | someone should help moritz_ think up new challenges. | ||
moritz_ | I've run out of ideas, and out of funds for t-shirts | ||
masak | I think funds for t-shirts can be arranged as well. | ||
I'm willing to donate if I know how. | |||
moritz_ | aye; [particle]++ offered some funding from the Rakudo Consulting group | 13:45 | |
[particle] | the offer still stands. | 13:46 | |
moritz_++ for the challenges | |||
moritz_ | [particle]: and I might come back to it, after getting a grasp on what I spent so far, and when I have new ideas | ||
[particle] | you know where to find me :) | 13:47 | |
moritz_ | indeed :-) | ||
13:47
kjeldahl joined
13:48
patspam joined,
timbunce joined
13:49
timbunce_ left
|
|||
isBEKaml | rakudo: class A { sub foo { say "hi!"; }; sub !foo { say "bar!"; }; }; my $x = A.new; $x.foo(); | 13:51 | |
p6eval | rakudo 3221ca: OUTPUT«Too many positional parameters passed; got 1 but expected 0 in 'foo' at line 1:/tmp/a0dCit0VHd in main program body at line 22:/tmp/a0dCit0VHd» | ||
isBEKaml | I still suck at perl6. :( | ||
rakudo: class A { sub foo { say "hi!"; }; sub !foo { say "bar!"; }; }; my $x = A.new; $x.foo; | 13:52 | ||
p6eval | rakudo 3221ca: OUTPUT«Too many positional parameters passed; got 1 but expected 0 in 'foo' at line 1:/tmp/j09JLdb4oq in main program body at line 22:/tmp/j09JLdb4oq» | ||
masak | std: sub !foo {} | ||
p6eval | std 1d6fdf3: OUTPUT«===SORRY!===Malformed block at /tmp/oGG8TPkPmx line 1:------> sub ⏏!foo {} expecting any of: name routine_def traitParse failedFAILED 00:01 114m» | ||
masak | rakudo: class A { sub !foo {} } | 13:53 | |
p6eval | rakudo 3221ca: OUTPUT«Could not find sub &foo in main program body at line 22:/tmp/1Qrpy3tsYH» | ||
masak | ah. :) | ||
isBEKaml | rakudo: class A { method !foo {} } | ||
p6eval | rakudo 3221ca: ( no output ) | ||
colomon | rakudo: role Duration { has $.duration; }; my $a = Duration.new(:duration(10)); say :$a.perl | ||
p6eval | rakudo 3221ca: OUTPUT«"a" => .new(duration => 10)» | ||
masak | isBEKaml: you know that you'll never be able to call a sub through the A.foo syntax? | 13:54 | |
colomon | known bug? | ||
masak | colomon: what's the bug? | ||
appears to work fine. | |||
isBEKaml | masak: momentarily forgot. :/ | ||
masak | oh, the lack of a name! | ||
yes, something like that is known. | |||
colomon | masak: the string ".new(duration => 10)" is certainly not going to produce a valid object | ||
masak | rakudo: role A {}; say A.WHAT | ||
p6eval | rakudo 3221ca: OUTPUT«A()» | ||
masak | rakudo: role A {}; say A.new.WHAT | 13:55 | |
p6eval | rakudo 3221ca: OUTPUT«A()» | ||
PerlJam | it's an anonymous class, so it has no name :) | ||
moritz_ | colomon: yes, known | ||
tadzik | roles can be instantiated? | ||
colomon | moritz_++ | ||
PerlJam | tadzik: no | ||
masak | tadzik: not as such. | ||
moritz_ | but they automatically generated a class from itself | ||
13:55
takadonet joined
|
|||
tadzik | hrm. How does .new... aha, got it | 13:55 | |
takadonet | morning all | ||
moritz_ | which we call "punning", because we like puns :-) | ||
PerlJam | tadzik: an anonymous class is punned from the role | ||
tadzik | weird. Morning | ||
colomon | PerlJam: having no name does not justify having a broken .perl. :) | ||
masak | I've never actually seen a use of role-to-class punning in actual Perl 6 code. | ||
colomon | masak: well, I might be about to code one. :) | 13:56 | |
masak | colomon: looking forward to that :) | ||
colomon | of course, I'm still very confused about my design, so maybe not. :) | 13:57 | |
isBEKaml | masak: well, I was about to look at how p6 treated 2 methods one private and other not. so hit that one off. | ||
tadzik | I don't get it. Roles can't be instantiated, but they automagically pun the classes from themselves, so that doesn't matter | ||
moritz_ | colomon: I don't quite see why you need a role at all | ||
PerlJam | tadzik: clearly it does matter. | ||
moritz_ | colomon: do you want to share code between otherwise unrelated classes? | 13:58 | |
isBEKaml | rakudo: class A { method foo { say "hie!"; }; method !foo { say "eih!"; }; }; my $x = A.new; $x.foo(); | ||
p6eval | rakudo 3221ca: OUTPUT«hie!» | ||
masak | isBEKaml: with methods, it's OK. they're in different "namespaces". | ||
isBEKaml | rakudo: class A { method foo { say "hie!"; }; method !foo { say "eih!"; }; }; my $x = A.new; $x.!foo(); | ||
13:58
smash_ joined
|
|||
p6eval | rakudo 3221ca: OUTPUT«===SORRY!===Confused at line 22, near "$x.!foo();"» | 13:58 | |
masak | isBEKaml: ...and there's a reason they're called "private methods" :) | ||
colomon | moritz_: well, "otherwise unrelated" is an open question when you're in the design phase, no? | ||
moritz_ | would be just $x!foo | ||
masak | isBEKaml: you can't call them from the outside. | 13:59 | |
isBEKaml | masak: my point was not about private methods per se. notice that there are two methods with the same name - only one being private. | ||
tadzik | PerlJam: so, why? | ||
moritz_ | colomon: I mean "that don't inherit from a common base class where it would make sense to put the common code" | ||
masak | rakudo: class A { method !foo { say "OH HAI" } }; A.new!foo | ||
p6eval | rakudo 3221ca: OUTPUT«OH HAI» | ||
13:59
smash_ is now known as smash
|
|||
masak | er. I stand corrected. :( | 13:59 | |
colomon | moritz_: I want to share code between two classes which are primarily related by that shared code. I would have done that without roles in C++ without thinking about it. But then, it seems like an application for roles. | ||
smash | hello everyone | ||
14:00
qwebirc80927 left
|
|||
masak | smash! \o/ | 14:00 | |
moritz_ | masak: known bug | ||
tadzik | hello smash | ||
colomon | smash: \o/ indeed | ||
moritz_ | colomon: then a role is a good idea | ||
masak | moritz_: oh phew. thought we were about to have another discussion :P | ||
moritz_ | colomon: but I don't see why you need a special constructor | ||
smash | new rakudo-star do add to benchmarks i guess | ||
great! | |||
moritz_ | masak: "moritz lenz, threatening with discussions since 1990 or so" | 14:01 | |
masak | "run away! run away!" | ||
moritz_ | colomon: I guess you have an attribute in your role; that is going to get flattened out in the classes you mix your role into | ||
isBEKaml | is that thing about two methods with the same name in a class known? rakudo doesn't seem to catch ambiguities here. | 14:02 | |
moritz_ | so you can do things like role duration { has $.duration }; class Note does duration { ... }; my $n = Note.new(duration => '12ps'); | ||
isBEKaml | std: class A { method foo { }; method !foo { }; }; | 14:03 | |
moritz_ | (though I guess that music notes last longer than 12ps :-) | ||
p6eval | std 1d6fdf3: OUTPUT«ok 00:01 115m» | ||
colomon | moritz_: I was just realizing that | ||
isBEKaml | nor does std. :( | ||
rakudo: class A { method foo { say "hie!"; }; method !foo { say "eih!"; }; }; my $x = A.new; $x.foo(); $x!foo(); | 14:04 | ||
p6eval | rakudo 3221ca: OUTPUT«hie!eih!» | ||
moritz_ | isBEKaml: so, where's the problem? | ||
isBEKaml: two methods, one foo, one !foo; both can be called | |||
colomon: that's what I wanted to tell you after reading your first blog post mentioning roles, but either I didn't, or I didn't explaini well | |||
isBEKaml | moritz_: I don't see it that way. public and private seem to be acting in two different zones. was that the intended idea? | 14:05 | |
14:05
Mowah joined
|
|||
moritz_ | isBEKaml: the idea is to leave the programmer the most freedom he wants | 14:05 | |
masak | isBEKaml: they're supposed to be acting in two different zones. | 14:06 | |
isBEKaml | moritz_: whatever you do, just don't give him enough rope to hang himself! | ||
masak | isBEKaml: that seems to trouble you. why? | ||
isBEKaml | :D | ||
moritz_ | isBEKaml: if that's your problem, you shouldn't ever use a workshop :-) | ||
masak | or a hammock. | 14:07 | |
moritz_ | or a sailing ship | ||
masak | or a rope. | ||
moritz_ | those usually come with some rope | ||
isBEKaml | moritz_: a workshop? like the ones filled with lathe, anvil and the like? | ||
moritz_ | isBEKaml: right | 14:08 | |
colomon | moritz_++: no worries | ||
isBEKaml | masak: my thinking was public and private things that are part of the class and they are merely modifiers specifying access to the class attributes. as such, they shouldn't really behave like they are living in a parallel universe. Moreover, classes are merely holders for their attributes and their behaviour is defined by the modifiers specified on their attributes. | 14:10 | |
gottreu | what's the closest thing to @x.pick(42) in Perl5 ? | ||
moritz_ | gottreu: use List::Util qw(shuffle); (shuffle @x)[0..41) | 14:11 | |
gottreu | is [) valid in p5? | 14:12 | |
moritz_ | sorry, meant ] | ||
isBEKaml | moritz_: Never quite liked it except perhaps the woodshop. ;) | ||
14:12
ggoebel joined
|
|||
moritz_ loves sailing | 14:12 | ||
gottreu | ok, i saw some crazy interval stuff...either earlier this week or years ago in the irc logs | ||
moritz_ | crazy stuff? can't have been here, we raise the bar of the common sanity level.. *SCNR* | 14:13 | |
14:13
orafu left
|
|||
gottreu | 'crazy' meaning of a impressively level of hackitude | 14:14 | |
isBEKaml | this week and years ago in the same sentence. that's the first symptom of addiction. :O | 14:15 | |
14:15
wamba left
|
|||
isBEKaml | or simply lost track of time? ;) | 14:15 | |
moritz_ | or just a different perception of time | ||
gottreu | i've haven't been reading the irc logs cover to cover . . . | 14:16 | |
moritz_ | now *that's* the first real sign of sanity :-) | ||
isBEKaml | or the *last* of freedom -- :P | 14:17 | |
moritz_ | :-) | ||
isBEKaml | SCNR | ||
PerlJam wonders what gottreu means by "interval" | |||
isBEKaml | rakudo: my $x = { say $^x }; $x(42); ## #78142 looked interesting, so... | 14:19 | |
p6eval | rakudo 3221ca: OUTPUT«42» | ||
flussence | oh, I think I remember what he was talking about | ||
isBEKaml | \o/ | ||
gottreu | in the mathematical sense. (1..10) vs. (1..10] and how one includes ten and one doesn't. open vs. closed intervals (if i remember my terminolgoy) | ||
flussence | ^yeah, that | ||
PerlJam | gottreu: ah, ok | 14:20 | |
flussence | I think someone tried to define a circumfix operator for that at the time and it didn't work... | ||
PerlJam | gottreu: that would be 1..10 and 1..^10 (and 1^..10) | ||
14:22
wtw left
14:24
ggoebel left,
ggoebel joined
|
|||
gottreu | rakudo: sub circumfix:<[ )>(@a) { @a[0] ..^ @a[1] }; say [0,10) | 14:25 | |
p6eval | rakudo 3221ca: OUTPUT«0123456789» | ||
gottreu | it seems lue was doing that on july 22 of this year. | 14:26 | |
flussence | of course I could've remembered wrong... | ||
14:39
satyavvd left
14:42
pmurias left
14:46
orafu joined
14:49
isBEKaml left
|
|||
colomon | doh! ABC appears to break ufo now.... | 14:54 | |
masak | d'oh! | ||
colomon | trying to pull latest ufo now... | 14:55 | |
seems to work fine now. wonder what that was? | 14:59 | ||
moritz_ | lack of computrons? | 15:00 | |
masak | cosmic rays? | 15:02 | |
colomon | happened repeatedly, so cosmic rays seems out. | 15:03 | |
it erased the old Makefile and didn't generate a new one. | |||
I did a git pull, merged in my local changes again, and then everything was fine. | |||
slavik | blame ext4 :P | 15:05 | |
15:06
justatheory joined,
_twitch joined
15:12
daxim left
15:14
mfollett joined
|
|||
sorear | good * #perl6 | 15:19 | |
15:21
ruoso joined,
ggoebel left
|
|||
masak | sorear: \o | 15:21 | |
ash_ | the error ticket #78142 is about is when you use a block with an if | 15:22 | |
rakudo: { say $^x } if 1; | |||
p6eval | rakudo 3221ca: ( no output ) | ||
ash_ | rakudo: if 1 -> $x { say $x } | ||
p6eval | rakudo 3221ca: OUTPUT«1» | ||
ash_ | according to S04, those should be the same thing | 15:23 | |
moritz_ | rakudo still follows the old spec | ||
ash_ | ah | ||
i didn't know the spec changed in that area recently | |||
moritz_ | fsvo "recently" | ||
15:24
Ross joined,
Ross left,
Ross joined
|
|||
ash_ | well, at least a tickets there to help remind someone that knows the p6 grammar :P | 15:26 | |
pmichaud | good morning, #perl6 | 15:28 | |
15:28
wamba joined
|
|||
colomon | o/ | 15:29 | |
ash_ | how does autovivication work across files? | 15:30 | |
sorear | I do not beleive these concepts interact in any way. | ||
moritz_ | same as it works within a single file | ||
ash_ | sorear: bug 76606 in the bug tracker is what i am talking about, if you had class foo::a { }; and class foo { } in 1 file, its fine, but if you make them separate files it gives an error, so saying foo was redeclared | 15:32 | |
maybe the word autovivication is the wrong one to use | 15:33 | ||
pmichaud | that's just a rakudo bug. | ||
moritz_ | that's more related to stubbing and symbol table/type object relation than to autoviv | ||
ash_ | got ya | 15:35 | |
15:36
icwiener joined
15:38
Cory1013 joined
15:39
Cory1013 left
|
|||
pmichaud | did TT #1807 get resolved yet (pct patch breaks line numbers)? | 15:44 | |
moritz_ | I don't think so | 15:45 | |
moritz_ git svn rebase's parrot | |||
nope | |||
pmichaud | okay, I'll fix. | 15:46 | |
moritz_ | ++pmichaud | ||
pmichaud | jnthn++ forgot to rebase his copy of pct before merging it back into trunk :-( | ||
so he ended up undoing a number of pct changes, including the line number changes | |||
15:47
Trashlord left
|
|||
moritz_ | I wonder why the diff seemed to contain unrelated changes | 15:47 | |
*wondered | 15:48 | ||
15:49
Trashlord joined
15:51
cogno joined
|
|||
moritz_ | the good news is that all rakudo failures on latest parrot are related to the line number thing, so fixing that should make rakudo run fine on parrot HEAD | 15:55 | |
pmichaud | I'm testing the fix now. | ||
parrot tests pass, now trying rakudo + tests | 15:57 | ||
15:59
wamba left
16:05
kjeldahl left
16:07
kjeldahl joined
|
|||
pmichaud | tests pass, committing fix | 16:08 | |
moritz_ | \o/ | 16:09 | |
16:09
jest left
|
|||
moritz_ | bumping PARROT_REVISION would be a nice addition | 16:09 | |
pmichaud | r49387 | ||
haven't run a full spectest yet -- doing that now. | |||
jnthn | o/ | 16:14 | |
phenny | jnthn: 09:31Z <moritz_> tell jnthn about trac.parrot.org/parrot/ticket/1807#comment:1 - seems you partially broke line numbers along the way | ||
16:15
cogno_ joined,
cogno left
|
|||
jnthn | moritz_: That patch accientally reverted some changes it shouldn't have. | 16:15 | |
But a follow-up patch put them back. | 16:16 | ||
oh, maybe incompletely. hm | |||
oh, pmichaud++ already got it | |||
sorry 'bout that. | 16:17 | ||
(It happened because when I did svn up to check my changes worked with latest, realclean didn't catch something and I got a very broken Parrot build. So I blew away the checkout, got a clean one and then re-saved the files I'd changed. I can only assume by that point I was probably sufficiently frustrated with the whole thing to just hit commit when the Parrot and nqp-rx tests passed and forgot to read the diff...) | 16:19 | ||
16:22
cogno_ left
16:25
ggoebel joined
16:30
isBEKaml joined
16:31
Entonian joined
|
|||
sorear | hello jnthn | 16:34 | |
jnthn: I'm playing with various refactors in the name of backend portabilty. One thing that I think I'm going to have huge issues with is the calling convention | 16:35 | ||
obviously each backend needs a different set of calling conventions, but it's not obvious how to write frontend code polymorphic over that | 16:36 | ||
16:39
dukeleto left
|
|||
jnthn | sorear: Two things come to mind. | 16:40 | |
16:41
pmichaud left
|
|||
jnthn | 1) We hide a bunch of stuff behind PAST in Rakudo, so it's just a case of compiling PAST::Op for methodcall and call for however that platfrom wants to make captures. | 16:41 | |
16:41
PerlJam left
16:42
cogno joined
|
|||
jnthn | 2) I suspect Capture and Signature can look fairly similar accross backends so the main task for a given platform is writing a carefully optimized binder. | 16:42 | |
16:42
Util left,
cogno left,
dalek left,
cogno joined,
Juerd left
|
|||
sorear | jnthn: Caller issues don't really bug me; the main issue is the polymorphic binder | 16:43 | |
jnthn | Define polymorphic. | ||
(in this context) | |||
16:43
cdarroch joined,
cdarroch left,
cdarroch joined
|
|||
sorear | Able to work properly on more than one backend | 16:43 | |
jnthn | Oh | 16:44 | |
OK, I'd never considered that a goal. | |||
I don't mind carefully writing and optimizing the binder per backend because it's a critical path | |||
sorear | the current niecza "binder" is a compile-time module which generates ENTER code | ||
jnthn | Same for things like multi-dispatch caching. | ||
OK. I think the binder should be a separate thingy that takes as input a capture, a signature and a bind target. | 16:45 | ||
16:45
baux left
|
|||
jnthn | (where the bind target is usually a lexpad) | 16:45 | |
sorear | the alternatives are using a full CPS sub per sub (quite heavy) or using a non-CPS sub for the binder, but needing inferior runloops for default and where (wtf) | 16:46 | |
jnthn | I don't think generating code in the sub to unpack the signature is the right factoring. But maybe I misunderstood what you mean. | ||
sorear | It's not the *right* factoring, but it's better than the obvious alternatives on .net | ||
16:46
juerd joined
|
|||
juerd | feather0 just died | 16:47 | |
sorear | feather0 = physical box? | ||
juerd | The good news is, apart from that the fire alarm still works, that feather2 and 3 aren't on it. | ||
sorear | fire alarm!?!? | ||
jnthn | !! | ||
juerd | sorear: Ya. | ||
First time in our server room | 16:48 | ||
diakopter | [Coke]: I replied to openfoundry and they replied in Engrish | ||
jdv79 | pictures | ||
sorear never thought of servers as being particularly flammable | |||
juerd | jdv79: I was next door when it happened and got there in time | ||
jnthn | Power supplies can die quite impressively. | ||
juerd | It definitely is the power supply | 16:49 | |
sorear | jnthn: Need fuel as well as ignition source | ||
juerd | I was making fun of Google's powers when it happened and it was a weird moment. | ||
sorear: Well, there was smoke but I haven't seen any flame. | |||
jnthn had a power supply shoot some flames out the back several years back. Scared the heck out of the guy sat on the desk accross from me. | 16:50 | ||
juerd | Anyway, I'll try another PSU | ||
If that doesn't work... I don't have spare hardware at the moment, so I'd have to migrate feather1 the hard, slow and annoying way. | |||
diakopter | and the other feather0 users haven't timed out yet... | 16:51 | |
jnthn | Bad day for hardware. My keyboard at $dayjob broke today too... | ||
juerd | diakopter: Oh, it'll happen :) | ||
No doubt there. | |||
afk | 16:52 | ||
moritz_ is happy that pugs svn isn't on feather anymore :-) | |||
diakopter | they're watching this unfold on irc.perl6.org. "...those poor people..." | ||
juerd | Unfold? | 16:53 | |
moritz_ wonders if unfold is available as unfoldl and unfoldr | |||
sorear | diakopter: irc.perl6.org? neverheardofit | ||
rdns to feather2, mm | 16:54 | ||
16:54
cogno left
|
|||
moritz_ | redirects to the public logs | 16:54 | |
diakopter | unfold.. as in "dramatic events unfold before one's eyes [like a storybook opening, I guess]" | 16:55 | |
17:00
dakkar left,
juerd is now known as Juerd
17:01
kjeldahl left
17:04
corjolio joined,
corjolio left
|
|||
diakopter wants to reiterate to everyone my recommendation to take a look at perlito's commit activity the past few months (extremely high) | 17:05 | ||
github.com/fglock/Perlito/commits/master | |||
17:07
stkowski joined
|
|||
[Coke] | diakopter: I have replied to them about 4 times over the years and never got any reply whatsoever. | 17:09 | |
Juerd | More than just the PSU of feather0 is broken | ||
I expect feather1 to be down for a few days :( | 17:10 | ||
17:10
kjeldahl joined
|
|||
diakopter | [Coke]: ah, oh. I emailed Shawn Chiou directly: [email@hidden.address] | 17:11 | |
Juerd | Could someone notify some perl6 mailing list to spread the word, please? | ||
[Coke] | diakopter: YOU HAVE A REAL EMAIL ADDRESS!? ;) | ||
I only ever found the contact@openfoundry one. | |||
17:11
plainhao joined
|
|||
diakopter | I don't remember what sleuthing I did to find that. | 17:12 | |
but I got this reply: "I'm sorry for the inconvenient. We will help you to remove from the list asap." | |||
and no emails since then (July this year) | |||
Juerd | I tried one of feather's harddisks in another server | 17:13 | |
That server promptly crashed. | |||
What the. | |||
diakopter | [Coke]: oh, yeah, there was his email address in the email on Sat, Jul 17, 2010 | 17:14 | |
[OpenFoundry] 致歉信(Apology Letter)-並請協助確認您個人專案因整合流程疏失而流失的釋出版本資訊 | |||
there's a phone number there too :) | |||
Juerd | jnthn: A very bad day for hardware, indeed. | ||
jnthn | Juerd: :( | 17:16 | |
diakopter | moritz_: feel free to run try.rakudo.org on the p6eval box; I don't think port 80 is used | 17:17 | |
moritz_: oh, hm, uh-oh | |||
moritz_ | I thought feather3 was unaffected? | ||
diakopter hopes Juerd can recover feather1 | |||
Juerd | moritz_: Well, that other server that I mentioned... | ||
diakopter | b/c a lot of that botnix conf was not backed up anywhere, afaik | 17:18 | |
Juerd | moritz_: It kind of hosted feather[23] and a few other virtuals. | ||
diakopter: We have backups | |||
diakopter | oh; whew :) | ||
time to put some of that in git, too | |||
17:18
hirschnase joined
17:22
Robinux left
|
|||
sorear | diakopter: this isn't even the first time feather1 has had to be completely restored from backups | 17:22 | |
(apparently you can't just move VMs; the last feather0 hardware migration required feather[1-3] to be deleted outright) | 17:23 | ||
moritz_ | apparently feather2 just died (or its network connection) | 17:26 | |
last line I received from it was | |||
19:21:38 up 3 days, 17:20, 1 user, load average: 4.39, 2.83, 1.49 | |||
diakopter | moritz_: Juerd was just mentioning that | ||
(the disk from feather1 killed the host of the others | |||
) | 17:27 | ||
moritz_ | oh | ||
17:27
hugme left
17:29
Chillance joined
|
|||
Juerd | Apparently c25's sata took it so hard that two of its disk crashed | 17:30 | |
Hurrah for raid6 | 17:31 | ||
But it'll take a while to rebuild and it's not feasible to do it under load | |||
[Coke] is reminded to make sure his backup job is working at home. | |||
Juerd | Remember how I just now said that we have backups? | 17:32 | |
I kind of forgot to re-enable those after feather2/3 were migrated. | |||
Most recent one is 2010-07-21 | 17:33 | ||
17:33
s1n left
|
|||
sorear | Killer disks, huh? | 17:33 | |
Juerd | Apparently. | ||
Never had that before | |||
It's insane | |||
This shouldn't happen. It shouldn't even be possible. | |||
moritz_ | .oO( NSA technology meant for Iran ) |
17:34 | |
diakopter | .. if something in the disk melted/shorted... | ||
flussence | .oO( quantum failure, like the LHC? ) |
17:35 | |
17:35
patrickas joined
|
|||
patrickas was watching the feather drama unfold in the logs ... | 17:35 | ||
Juerd | diakopter: Nothing got that hot | 17:36 | |
At least, there's no visible evidence of that happening | |||
diakopter | well, something inside the disk can get hot in and of itself (not from the environment) | 17:37 | |
17:37
s1n joined
|
|||
Juerd | I see | 17:37 | |
diakopter | (way overly hot, I mean) | ||
17:37
x3nU is now known as konojacki
17:38
konojacki is now known as x3nU
|
|||
Juerd | Well, that might have happened. When I got there, the whole thing was rapidly blinking as if the power switch were connected to a stroboscope. | 17:38 | |
The power led and all the drive power leds | |||
flussence | whoa, that does not sound good | 17:39 | |
Juerd | flussence: In case you missed it... smoke came out of the PSU | ||
flussence | yow. | ||
Juerd | It's very un-good. | ||
tadzik | masak: strangelyconsistent.org/blog/6-buil...ou-needed, .classify, isn't the first output sorted? | 17:40 | |
17:40
Ross left
17:41
cogno joined
|
|||
masak | tadzik: yes...? | 17:41 | |
tadzik | at the first glance, I thought that's .classify capability :) | ||
masak | not sure what you're asking. it seems to come out sorted, by key. | ||
17:41
cogno left
|
|||
masak | I don't think that's spec. | 17:41 | |
but yes, I also noticed that it tends to do that. | 17:42 | ||
moritz_ | rakudo: say <a b c d e f g h i j k>.classify: *.uc | ||
p6eval | rakudo 3221ca: OUTPUT«A aB bC cD dE eF fG gH hI iJ jK k» | ||
masak | not sure how it'd behave with heterogenous types in the keys. | ||
Juerd | Has anyone seen my request regarding sending something to a mailinglist about feather? | ||
moritz_ didn't | |||
Juerd | Please inform the world that feather1 will be down for a while. | 17:43 | |
moritz_ | I will | ||
Juerd | As either data recovery or restoring from backups will be necessary | ||
The other server has priority, though. Sorry about that. | |||
moritz_ | that's fine | 17:44 | |
17:44
masonkramer left,
masonkramer joined
|
|||
moritz_ | "erst die arbeit, dann das vergnügen" as we say in .de :-) | 17:44 | |
Juerd: so feather{2,3} are expected back relatively quickly? | 17:45 | ||
(as in, hours and not days) | |||
Juerd | moritz_: ETA 6 hours | ||
moritz_: They'll be back up when the raid6 resync is done | |||
That takes 6 hours without load, a few weeks with load. | 17:46 | ||
moritz_ | ok, I'll write that | ||
17:47
pmichaud joined
|
|||
pmichaud decides now is a good time to start migrating irssi to another host. | 17:48 | ||
Juerd | pmichaud: Yes, especially since feather1 won't be up for a while | ||
pmichaud: It died, with actual smoke | |||
moritz_ | mail sent to p6c | 17:49 | |
pmichaud | I read the backlog.... sounds.... exciting (not in a good way) | ||
Juerd | moritz_: Thanks | ||
pmichaud | I'm glad we went ahead and moved pugs onto github :-) | ||
Juerd | I'm glad that feather2/3 were already migrated | ||
They're offline too now, but they will be back in hours | |||
I think I'll try those feather disks in a USB enclosure | 17:50 | ||
pmichaud | Juerd: as always, your efforts and abilities are amazing. | ||
Juerd | Can't have them take down more boxes. | ||
masak | moritz_: does that mean "arbete först, nöje sedan"? | ||
pmichaud | Juerd++ | ||
moritz_ | masak: I don't understand the "nöje sedan" part :-) | ||
jnthn | Ain't a Sedan a type of car? :-) | 17:51 | |
Juerd | pmichaud: I was here too early to practice my fire extinguisher skills | ||
moritz_ | roughly "work goes first, joy/leisure comes later" | ||
pmichaud | anyway, it's good that we're getting some real smoke tests. | ||
moritz_ | lol | ||
Juerd | ha-ha. | ||
jnthn | heh | ||
masak | moritz_: if my guess is correct, then de:"vernügen" equals sv:"nöje" | ||
diakopter mimics dalek: github.com/diakopter/sprixel/commit...93e22f2f0b | 17:52 | ||
Juerd | [21752.688657] sdc: sdc1 sdc2 sdc3 < sdc5 sdc6 > | 17:55 | |
One of the disks appears to have survived the ordeal! | |||
moritz_ | \o/ | ||
Juerd | If anyone needs certain data sooner rather than later, let me know | ||
masak | Juerd++ # neprikantata heroo | 17:56 | |
diakopter | well, the info (except the large log files) under /home/drain/ would be nice | ||
so we can get dalek going again | |||
17:57
pyrimidine left,
lichtkind joined
|
|||
Juerd | masak: Dankon *rugxigxas* | 17:57 | |
lichtkind | o/ | ||
phenny | lichtkind: 11:39Z <[Coke]> tell lichtkind - do you have an RSS feed for that that respects the Perl 6 tag? | ||
masak | :) | ||
17:58
Entonian_ joined
|
|||
Juerd | [21910.562136] VFS: Can't find ext3 filesystem on dev sdc6. | 17:58 | |
That's not good though | |||
6 is the data partition; rootfs on 5 mounted fine | |||
lichtkind | [Coke]: its, blogs.perl.org/users/lichtkind/perl-6/, thanks | 17:59 | |
moritz_ | lichtkind: that's not an RSS URL | ||
Juerd | Oh, it's lvm | 18:00 | |
18:00
Entonian left
|
|||
breinbaas | cd postgresq | 18:01 | |
moritz_ | no such directory | 18:02 | |
[Coke] | lichtkind: I need the /RSS/, not the user-visible HTTP. | ||
breinbaas | hm, EWRONGWINDOW (sorry) | ||
lichtkind | [Coke]: yes im searching | ||
moritz_ | no problem | ||
[Coke] | er, HTML. whoops. | ||
Juerd | I have feather1's data mounted now. Any other requests? | 18:03 | |
18:05
mfollett left,
Entonian_ left,
Entonian joined
|
|||
lichtkind | [Coke]: blogs.perl.org/users/lichtkind/atom.xml ß | 18:05 | |
moritz_ | that's not tag specific | 18:06 | |
lichtkind | moritz_: I I JUST SAW | ||
shift lock | |||
masak | apparently :) | ||
NOM & | 18:07 | ||
18:07
masak left
|
|||
tadzik | Juerd: how much memory does feather have? | 18:07 | |
rokoteko | Juerd: Well duh. Copy it somewhere safe, like another local hard disk? | ||
Juerd | tadzik: Currently, none. | ||
rokoteko: Doing that already :) | |||
tadzik | well, I meant before the fire | 18:08 | |
rokoteko | Just checking. :) | ||
moritz_ just had this vision of himself shouting at his wife, and then saying in normal tone "sorry, forgot caps lock" :-) | |||
Juerd | rokoteko: But if people need data quick, I can build tgz's :) | ||
18:08
exodist joined
|
|||
Juerd | tadzik: 2.5 GB | 18:08 | |
There wasn't any fire. Just smoke. | |||
tadzik | Juerd: how much of that memory could have been free, on average? | 18:10 | |
I filed a Parrot ticket about Parrot not building there, and I'm being asked such questions :) | |||
diakopter | parrot builds on the p6eval box, and it has 1GB ram | 18:11 | |
Juerd | tadzik: juerd.nl/i/d58dc3794529cdd4337f43e2fd044204.png | ||
18:11
mikehh joined
|
|||
Juerd | In case you're wondering what happened in week 35: svn was shut down | 18:11 | |
lichtkind | [Coke]: looks like i have to do open a new blog i just try it inc more and then maybe post the new URL, thanks for doing that task | 18:12 | |
[Coke] | lichtkind: might be worth asking dave cross if we can get tag-based feeds. | 18:14 | |
lichtkind | [Coke]: yes thats what im currently about to do :)= | ||
[Coke] | ;) | 18:16 | |
diakopter: that .png seems to kill my IE. | |||
diakopter | there was a time when IE couldn't handle pngs with alpha channels, but that was like 8 years ago.. it doesn't kill my IE8 | 18:17 | |
[Coke] | ... I blame my poor 3G dev machine which is again memory starved. nevermind. | 18:18 | |
diakopter | heh | ||
lichtkind | [Coke]: done ... I'll be back :) | 18:19 | |
18:20
smash left
|
|||
diakopter scrutinizes CursorBase.pmc | 18:20 | ||
tadzik | wklej.org/id/395620/ -- just from the top of my head, what if we want to use Zip with 'eeks' now, we're screwed? | 18:21 | |
ash_ | the server that is hosting try.rakudo.org is that one of the ones that is down? | 18:22 | |
i don't know which feather its on | 18:23 | ||
18:23
_twitch left
|
|||
colomon | rakudo: our sub infix:<Zeeks>(@a, @b) { "{@a.perl} and {@b.perl}" }; say Zeeks(1..3, 4..6) | 18:23 | |
p6eval | rakudo 3221ca: OUTPUT«Could not find sub &Zeeks in main program body at line 22:/tmp/PvygxwFsAy» | ||
flussence | tadzik: that sounds like more of a case of "don't do that" | ||
18:23
perlpilot joined
|
|||
jnthn | tadzik: use Z[eeks] | 18:23 | |
tadzik | flussence: like "Don't name your infixes with /^Z/"? :) | ||
jnthn: oh, nice | |||
Juerd | ash_: It's on feather3. All feather servers are currently down. | 18:24 | |
tadzik | but, it doesn't work I'm afraid | ||
oh, my bad | |||
colomon | rakudo: our sub infix:<Zeeks>(@a, @b) { "{@a.perl} and {@b.perl}" }; say 1..3 Zeeks 4..6 | ||
p6eval | rakudo 3221ca: OUTPUT«Nominal type check failed for parameter '@a'; expected Positional but got Int instead in 'infix:<Zeeks>' at line 22:/tmp/5Z6_YHZFD2 in main program body at line 22:/tmp/5Z6_YHZFD2» | ||
colomon | rakudo: our sub infix:<Zeeks>(@a, @b) { "{@a.perl} and {@b.perl}" }; say (1..3) Zeeks (4..6) | 18:25 | |
perlpilot | what happened to feather? | ||
p6eval | rakudo 3221ca: OUTPUT«1..3 and 4..6» | ||
ash_ | Juerd: thanks | ||
jnthn | perlpilot: Real life smoke testing. | ||
;-) | |||
Juerd | 1 not ok | ||
colomon | rakudo: our sub infix:<Zeeks>(@a, @b) { "{@a.perl} and {@b.perl}" }; say (1..3) Zeeks (4..6); our sub infix:<eeks>($a, $b) { "$a and $b" }; say (1..3) Z[eeks] (4..6) | ||
p6eval | rakudo 3221ca: OUTPUT«1..3 and 4..61 and 42 and 53 and 6» | ||
jnthn | perlpilot: Epic hardware fail. | ||
Juerd | Or the other way around? not ok 1? | ||
jnthn | not ok 1 # is tap | 18:26 | |
Juerd | I keep forgetting the order | ||
moritz_ | not ok 1 - test description | ||
Juerd | -, not #? | ||
jnthn | Thankfully, we have test harnesses that remember :-) | ||
Juerd: my # was meta :-) | |||
moritz_ | # is for TODO and SKIP comments | 18:27 | |
Juerd | jnthn: Yea, well, when I ported p5 tests to p6 for pugs, I noticed that most didn't use any Test module. | ||
And that means you do have to remember the order :D | |||
jnthn | :-) | 18:28 | |
18:29
perlpilot is now known as PerlJam
|
|||
Juerd | ASOehtsn,t. psnrchoeurlchuoeuhtnsnaoteuh235n | 18:29 | |
F* | |||
flussence | while we're on the subject, does anyone know why my boxes seem to fail 9 tests here, but everyone else seems to pass? smolder.parrot.org/app/projects/tes...tory/5/838 | ||
Juerd | The disk I'm backing up the feather data to, just had a head crash. | ||
flussence | oh crap. | ||
Juerd | Backup will have to wait until stores open. I'm out of spare disks. | ||
jnthn | wtf...I hope that's just unlucky coincidence. :/ | 18:30 | |
18:30
timbunce left,
pmichaud left
|
|||
PerlJam | Juerd++ hardware-- | 18:30 | |
Juerd | jnthn: Can't be something else | ||
jnthn: It's a used USB drive | |||
It wasn't even connected until I used it for that backup | |||
jnthn | Meh. *very* bad day for hardware. | 18:31 | |
Juerd++ # persistence :-) | |||
Juerd | Hm, maybe... | 18:32 | |
Maybe they have hard drives at Makro | |||
A big store that's open for another 90 minutes | |||
afk | |||
PerlJam wonders if there's any grant money for a feather fail-over | 18:33 | ||
of course, someone would have to provide bandwidth too. | |||
tadzik | Error validating server certificate for 'svn.parrot.org:443': -- anyone else gets this? | ||
on perl Configure.pl -gen-parrot | |||
flussence | never seen that, and it's valid in my browser too... | 18:34 | |
PerlJam | tadzik: not I | ||
tadzik | hrm | ||
same here | 18:35 | ||
ah, whatever | |||
18:35
stkowski left
18:36
timbunce joined
18:38
stkowski joined
18:41
nymacro joined
18:43
Entonian left
18:46
jferrero left
18:55
hirschnase left
19:07
stkowski left
|
|||
Juerd can haz harddisk | 19:15 | ||
sjohnson | heh | 19:16 | |
rough day for hardware here too. dhcp server at work won't give my boss's laptop an IP | |||
Juerd | Sounds like software | ||
sjohnson | my sound wouldn't work upon starting my computer up today | 19:17 | |
which has never happened. | |||
for a while i thought a surge hit the building and destroyed some electreonics | |||
but the sound works upon restarting my computer | |||
Juerd | [==============>......] recovery = 71.1% (496986792/698241024) finish=41.5min speed=80729K/sec | 19:19 | |
That's the server for feather[23] | |||
When it's done, it needs another sync | |||
19:20
Ross joined,
Ross left,
Ross joined
19:32
wamba joined
19:33
plainhao left
19:34
jferrero joined
19:38
envi left
19:40
icwiener left
19:41
timbunce left
19:44
lichtkind_ joined
19:45
lichtkind left
19:46
lichtkind_ is now known as lichtkind
19:47
timbunce joined
19:53
mfollett joined
19:57
patrickas left
19:58
Alias_ joined,
Italian_Plumber left
19:59
Guest23195 left
20:01
Alias left
20:02
PerlJam left
|
|||
Juerd | The backup, from USB to USB goes at approx. 7 MB/s | 20:04 | |
That's pretty speedy. It's faster than what I could do directly from feather, while it was running | |||
Good to know. Next time when I want to migrate, I should just take out one of the RAID members, put it in a USB thing and rsync that first | 20:05 | ||
Then shut everything down and sync the remainder | |||
By the way, I can really recommend the Sharkoon Quickport, or clones. | 20:06 | ||
frettled | Juerd: oh, so it's not just I who struggle with faulty hardware and recovery :( | 20:07 | |
ash_ | e-sata is faster than USB if your just doing straight up file transfers (but you need the hardware support if you can find a harddrive case with an e-sata port) | 20:08 | |
Juerd | frettled: Feather's PSU started smoking, so, no. | ||
frettled had the rather unpleasant experience of discovering that backups had failed _silently_ for a server, and the time of discovery was after the most importan disk drive gave up. | |||
Juerd: ah, the magic smoke that | |||
Juerd | ash_: Definitely, but I don't have esata on my new laptop. For my old laptop I had a cardbus card, but the new one only takes those express cards and I never got around to getting one of those. | ||
ash_ | i now have 2 Time Machine backups of my computer that run every hour, i am tired of loosing stuff :-( | ||
frettled | the magic smoke that's needed to keep the computer running | ||
Juerd knows about the magic smoke and has probably breathed too much of it. | 20:09 | ||
frettled | Juerd: don't let it go, man. | ||
Juerd | Well | ||
At first I thought: we should keep the magic smoke IN the server room | |||
But I didn't because I didn't like the smell. | 20:10 | ||
ash_ hands Juerd a big fan to blow the smoke out a window | |||
Juerd | There wasn't that much smoke. When I cut the power it was gone in a minute | ||
But the smell stayed | 20:11 | ||
Juerd is so relieved that one of the disks from feather has survived. | |||
Juerd knocks on wood | |||
Backup isn't done yet. | |||
Meanwhile, c25's raid6 is redundant again. Now to get it back to N+2 | 20:12 | ||
frettled | :) | 20:13 | |
20:13
Ross left
|
|||
frettled | RAID6 <3 | 20:13 | |
Juerd | Certainly | ||
feather was N+2 too, by the way, with raid1 | |||
20:13
hugme joined,
ChanServ sets mode: +v hugme
|
|||
frettled | Software-RAID? | 20:14 | |
Juerd | feather2 is up | ||
frettled: Always. | |||
20:14
patspam left
|
|||
ash_ | rakudo: my $a = Mu.new(a => 3); | 20:14 | |
p6eval | rakudo 927f41: ( no output ) | ||
frettled | Juerd: Have you found a way of configuring an N+3 RAID? | 20:15 | |
Juerd | frettled: Except for really high-end cases, software raid is more reliable and performs better. And it's fully controller independent so if the controller breaks you pick any other one, or even USB :) | ||
frettled: N+x is easy with RAID 1 :) | |||
frettled | Juerd: I know the advantages and disadvantages all too well, having enjoyed what happens when a software RAID blows because of, well, a faulty PSU. :( | ||
Juerd | I've set up an N+3 raid1 for a SSL signing server that can't have backups. | 20:16 | |
frettled | Well, sure, for N=1 and N=3, N+3 is easy. | ||
But not for, say, N=8. | |||
Juerd | Uhhuh :) | ||
You hadn't specified that yet :) | |||
But I have no idea | 20:17 | ||
frettled has an 11-disk thingybob that would like N=7 + P=3 + S=1 | |||
But I | |||
arghle | |||
Juerd | It's still scary, isn't it? | ||
20:17
sftp left
|
|||
frettled | But I'm making do with N=7 + P=2 + S=2 | 20:17 | |
Juerd | How did you do the P=3? :) | ||
frettled | I don | ||
Juerd | I see | ||
ash_ | Juerd: so.... has anything been lost from any of the feathers? or do you know yet? (might of already been covered, just wondering) I don't remember if i backed up the apache conf for try.rakudo.org | ||
20:17
sftp joined
|
|||
frettled | arghle! DArnit! New keyboard, with the enter key sticking out where the ' is supposed to be. | 20:18 | |
Juerd | ash_: So far, everything can be read from the old feather1 filesystem | ||
ash_: feather[23] are probably fine. feather2 is even already back up. | |||
moritz_ | hugme: hug Juerd | ||
hugme hugs Juerd | |||
ash_ | ah, cool, i'll be sure to add that conf to the try.rakudo repo so we have it on hand | 20:19 | |
frettled | Juerd: How much data is there for the Perl 6-related stuff, BTW? | ||
Juerd | frettled: Not that much, but it consists of enormous amounts of very small files. | 20:20 | |
The data rate increased when I minimized the terminal that runs rsync -av | |||
Terminal couldn't keep up | |||
frettled | heh | ||
Juerd: since the new box I | |||
Juerd | (xterm) | ||
feather1-data is 38 GB | |||
frettled | I'm setting up is running proper virtualization (Xen), I thought I could consider offering mirror space. | 20:21 | |
Juerd | I think rsync attacks its source alphabetically. It's now doing diakopter's homedir. | ||
frettled: Oh, but we have backup space available | |||
diakopter | O_O | ||
Juerd | frettled: Realtime mirroring is HARD. | ||
diakopter: ? | 20:22 | ||
frettled | Juerd: I wasn | ||
diakopter | kidding.. | ||
frettled | 't thinking about realtime :)= | ||
Juerd | diakopter: ? | ||
20:23
masak joined
|
|||
masak | ahoj, #perl6! | 20:23 | |
flussence | .oO( why is the graphics performance of a terminal window still a bottleneck in this day and age? ) |
||
frettled | flussence: because of quantum. :) | ||
diakopter | many chains of buffers make for .. | ||
frettled | single-threaded interdependencies! | 20:24 | |
flussence | actually, IIRC, xterm has a lazy-redraw option somewhere... | ||
[particle] [waves] | 20:25 | ||
20:25
pythonian4000afk is now known as pythonian4000
|
|||
frettled | flussence: that kind of bottleneck is, BTW, why my Perl programs with progress reports often include a counter that I check for % 100 or % 1000 on :) | 20:25 | |
the lazy-redraw option is probably VT100 or something equally ancient | |||
Juerd | flussence: Truetype fonts, perhaps :) | 20:26 | |
jnthn | ahoj, masak! | ||
20:28
Ross joined,
Ross left,
Ross joined
|
|||
flussence | (I wonder if any *terms do asynchronous/lazy screen updating already...) | 20:28 | |
frettled | flussence: most likely they do | ||
flussence | oh wait, that's the whole point of libxcb... | ||
guess they get it for free then :) | 20:29 | ||
frettled | :) | 20:30 | |
masak | I don't understand what Darren Duncan is saying on p6l. :( | 20:33 | |
diakopter | I think I do | 20:35 | |
[particle] | iiuc it's basically, "Common Programming Terms Considered Harmful to Mathematicians" | ||
oh, didn't see the latest. | 20:36 | ||
masak | ok, I think I understand it now. | ||
diakopter | he's sorta proposing something like .NET's ISerializable msdn.microsoft.com/en-us/library/sy...zable.aspx where classes can control their own serialization | 20:37 | |
masak | it seems to me people want to use MONKEY_TYPING for turning on all kinds of bad behavior nowadays, only one of which is actually monkey-typing/patching. | ||
diakopter | .... effectively. | ||
[particle] | yes, it seems MONKEY_TYPING is getting overloaded | 20:38 | |
or, the proposals are to overload it | |||
jnthn | masak: I'm not at all keen on your suggestion that .^add_method should care about it, fwiw. | ||
That's the *normal* way classes are actually made. | 20:39 | ||
masak | jnthn: nodnod | ||
jnthn | Not just a monkey patching mechanism. | ||
I'm not being obtuse, I'm actually genuinely worried we'll get subtle bugs. | |||
diakopter | jnthn: do you (at least somewhat) agree with my claim that ISerializable is the logical conclusion of dduncan's wish? | ||
masak | jnthn: I agree with you. | ||
jnthn | diakopter: I probably need to read his mails. :-) | ||
diakopter | oh :) | ||
masak | I agree with moritz_-on-p6l that .perl is a useful debugging tool. | 20:53 | |
let's remember that its purpose is to be a Data::Dumper replacement, and Data::Dumper (or rather the blessed-hashrefs Perl 5 OO pseudostandard) doesn't care about encapsulation one bit. | 20:54 | ||
jnthn | Ah, a thread I feel a need to weigh in on a little. :-) | 20:55 | |
[particle] | Data::Dumper doesn't print sub bodies | ||
jnthn | [particle]: Nor does .perl in Rakudo :P | ||
[particle] | that's because you develop too slowly. | ||
[particle] adds beer to jnthn++'s queue | |||
jnthn | :P | 20:56 | |
yay beer \o/ | |||
masak | printing sub bodies is not so bad from an encapsultion point of view. it might be from a security point of view, but then you shouldn't have .perl'd it in the first place, should you? | 20:57 | |
20:57
dwilliamii left
|
|||
ash_ | what was the original intent of .perl? | 20:57 | |
[particle] | right, so enabling .perl on value types by default makes sense from the security perspective. | 20:58 | |
ash_: to be a built-in Data::Dumper replacement | |||
moritz_ | what's the security concern of .perl? | ||
[particle] | it outputs something you can eval | ||
moritz_ | so does join() :-) | ||
jnthn | You put your database password in the source and somebody just figured out how to .perl it ;-) | ||
masak | moritz_++ | 20:59 | |
[particle] | moritz_: that last line from me was to ash, not to you | ||
tadzik | :D | ||
masak | jnthn: not p6's fault. | ||
ash_ | jnthn: if they have that kind of access, they could do it in almost any language | ||
jnthn | masak: I wasn't suggesting it was at all. :-) | ||
moritz_ | [particle]: ah :-) | ||
masak | jnthn: I'd say it's a security concern only in the "don't trust user input" category, which is a very wide, very general category. | 21:01 | |
ash_ | so... is .perl for reconstructing the current state of the object or the original state of the object? | ||
masak | ash_: current. | ||
ash_: think of it as an anti-eval; it gives you some Perl 6 code that can reconstruct the object. | |||
21:02
cybergirl joined
|
|||
masak | that's why it's called .perl | 21:02 | |
jnthn | diakopter: Hmm, I just found the post you were talking about. | 21:03 | |
I've tended to see .perl's *primary* usefulness as a debugging tool rather than a serialization format. | |||
21:03
meraxes left
|
|||
moritz_ | right; you wan to avoid string eval for deserialization | 21:04 | |
*want | |||
21:04
meraxes joined,
cybergirl left
|
|||
masak | jnthn: agree. but it can be exploited for its encapsulation breaking. | 21:04 | |
jnthn | It's a crappy serialization method. | ||
[particle] | yes, so should the default debugging tool for p6 break encapsulation *by default*? | ||
jnthn | [particle]: Er, huh. | 21:05 | |
[particle]: I *want* my debugging tools to tell me what's really in there. | |||
That's why I debug stuff. :-) | |||
moritz_ | right :-) | ||
[particle] | then i think it's poorly huffmanized | ||
.perl is so pretty and easy to use | |||
masak | that's why we like it! | ||
moritz_ | exactly what you need for debugging | 21:06 | |
jnthn | I'm glad you write such good code that you rarely need to debug it. | ||
moritz_ loves hexdump. hexdump never lied to me | |||
ash_ | rakudo: class A { has $.a }; role B { has $.c }; my $a = A.new(:a(1)); $a does B; say $a.perl # .perl is kinda limited when you do complex things | ||
p6eval | rakudo 927f41: OUTPUT«.new(c => Any, a => 1)» | ||
masak | we're in a bind; we want debugging and encapsulation, but they are mutually exclusive. | ||
jnthn | masak: I'd hate to imagine people would use .perl to get at private attributes then parse the string to pull them out. | ||
masak | ash_: yes, but those are bugs. | ||
jnthn | I mean, do people really suck that much? | ||
:-) | |||
[particle] | .perl is to perl 6 what perl5 oo is to perl 5 | 21:07 | |
ash_ | masak: how would that look if there were no bugs? how can it say that B has ben added via .does and etc. | ||
masak | jnthn: it's not mainly about the decadence of those people, but about allowing it in the first place. | ||
[particle] | A SHOTGUN | ||
masak | jnthn: *I've* done it, and I'm not terribly decadent. | ||
jnthn | masak: Oops. :-) | ||
masak: Were you working around a Rakudo shortcoming? :-) | 21:08 | ||
masak | ash_: A.new(...) but B | ||
jnthn: not really. just writing a serialization method. | |||
this is all coming back to me right now, by the way. | |||
21:08
Ross left
|
|||
moritz_ | jnthn: that's why we now have .get_value in Attribute - to avoid having to parse .perl output :-) | 21:08 | |
jnthn | Well, that's my problem with the "we must not allow a way to do this properly". | ||
ash_ | masak: what if it was anon? or didn't have a name? my point is more that .perl is very limited as a serialization tool | 21:09 | |
21:09
thepler left
|
|||
jnthn | Because if we don't, people are going to resort to hacks like that. | 21:09 | |
masak | ash_: (class { ... }).new(...) | ||
moritz_ | ash_: it is limited right now; but not necessarily conceptually | ||
tadzik | let's not document it | ||
21:09
Ross joined,
Ross left,
Ross joined
|
|||
tadzik | sshh, no one will ever notice | 21:09 | |
or give it a fancy name, like allow_memoryleaks | 21:10 | ||
21:10
kjeldahl left
|
|||
frettled | .amole | 21:10 | |
moritz_ | jnthn: re set/bind_attr, I replied with a very similar email (but which hasn't hit p6l yet) | ||
[particle] | or call it .to_python and nobody will use it | ||
tadzik | :D | ||
frettled | [particle]++ | ||
tadzik | better! .to_php | ||
that will make all the people ashamed of themselves | 21:11 | ||
masak | jnthn: here: github.com/masak/druid/blob/master/...ame.pm#L50 | ||
moritz_ prefers as_mumble to to_mumble | |||
to_ sounds like in-place conversion | |||
ash_ | does .perl have a way of serializing blocks into something? or do those turn into ... | ||
frettled | masak: deliciously evil | ||
masak | ごめんごめん | 21:12 | |
[particle] | ash_: conceptually there is a way. rakudo doesn't implement it yet, but beer could help that | ||
jnthn | masak: ew. :P | ||
moritz_ | ash_: in principle it could store a referenced to the original source text | ||
ash_: see Data::Dumper::Deparse for p5 | |||
or something | |||
tadzik | bah. That will require keeping all the source code with the compiled program | ||
moritz_ | I think it's in main Data::Dumper | ||
when you set the Deparse = 1 option or so | 21:13 | ||
masak | jnthn: yes, ew. now tell me how to really do it. | ||
jnthn: I think I would have introspected the attrs as well, had that been possible at the time. | |||
frettled | masak: は何もない | ||
masak | :) | ||
er, I mean ^^ | 21:14 | ||
jnthn | masak: Why could the object not know how to serialize itself appropriately? | ||
masak | I don't mind objects knowing (and being able to get/set) their own private attrs. | ||
jnthn: but I can't think of a way of limiting such knowledge and such powers to just that object (or that class). | 21:15 | ||
.perl is a good example of how it's not limited. | |||
jnthn | .oO( "went with the aliens on this one" is such a masak++ commit message ) |
||
masak haven't really been the same since that night... | 21:16 | ||
*hasn't | |||
21:16
Chillance left
|
|||
masak | "PackFile header failed during unpack" | 21:17 | |
I just want to emphasize how much that error message, meaning "wrong Parrot for this Rakudo", sucks. | |||
frettled | Looks like a clear case for use of .subst ;) | 21:18 | |
jnthn | masak: That probably needs to be a Parrot chnage, since it's before Rakudo gets chance to take control and have its way with things. | ||
masak | frettled: .subst is for replacing *parts* of a string :) | ||
jnthn | masak: But I agree it's not clear at all to 99% of people. | 21:19 | |
masak | I'll see about submitting a parrotbug. | ||
21:19
wamba left
|
|||
jnthn | masak++ | 21:19 | |
frettled | jnthn: I think the only reason we're not in five nines territory, is that so many people are following the discussions on #perl | ||
masak | zzz & | 21:21 | |
21:21
masak left
21:24
Ross left
|
|||
Juerd | Backup complete | 21:28 | |
Juerd now has a full copy of the sole survivor disk | 21:29 | ||
No read errors :) | |||
frettled | Time to get a second copy? :) | ||
Juerd | I prefer going to bed | 21:35 | |
I hope to think of a way to bring feather back tomorrow. | |||
But my day's full of appointments with clients so don't count on a speedy recovery. | 21:36 | ||
sjohnson | bed! | 21:39 | |
21:43
Entonian joined
21:46
Sarten-X left
|
|||
ash_ | in ruby, .inspect breaks encapsulation to print the state of instance variables, but it doesn't print it in an eval-able form | 21:47 | |
.inspect is generally for debugging, kinda like how .perl is used for debugging | |||
jnthn | ash_: Maybe we need to give the two a divorce in Perl 6. | 21:48 | |
ash_ | serialization and debugging an object do seem like 2 different tasks, even if there is overlap in the data they show | 21:49 | |
21:50
sjn left
|
|||
Juerd | Isn't encapsulation broken by design, in Perl, anyway? | 21:50 | |
In the sense that if you really want to, it's just as accessible as any other variable | 21:51 | ||
ash_ | rakudo: class A { has $!b }; my $a = method { $!b = 3; }; my $b = A.new; $b.$a(); say $b.perl # encapsulation? where? :P | ||
p6eval | rakudo 927f41: OUTPUT«A.new(b => 3)» | ||
21:52
timbunce left
|
|||
tadzik | what :O | 21:52 | |
21:53
sjn joined
|
|||
ash_ | it evaluated $a in the context of $b | 21:53 | |
21:53
juerd_ joined,
Juerd left,
juerd_ is now known as Juerd
21:54
Sarten-X joined
|
|||
jnthn | ash_: That behaviour is...twisted. | 21:55 | |
ash_: Unless the spec explicitly allows it, it may be on the chopping block. | |||
21:55
ruoso left
|
|||
ash_ | ya, i am not sure if that is supposed to work, but it currently does :P | 21:56 | |
that could be useful though, its kinda like ruby's instance_eval | |||
i think pmichaud said that should give an error saying it can't find $!b when it made the method | 22:00 | ||
std: class A { has $!b }; my $a = method { $!b = 3; }; my $b = A.new; $b.$a(); say $b.perl | |||
p6eval | std 1d6fdf3: OUTPUT«ok 00:01 118m» | ||
ash_ | i guess you could feed it into viv to see if that output makes sense | 22:01 | |
Grimnir_ | hmm... I'm looking a bit on roles. I have never really used many object oriented features, although I have used generics a bit in Java in a project, but that was with a very good java programmer. It seems as it's not that difficult. is there any examples any where? | 22:04 | |
jnthn | It's more a semantic check than a syntactic one. | 22:05 | |
diakopter | jnthn: 'mono' was named for the Spanish for 'monkey' (deliberately, of course) :) | ||
jnthn | diakopter: Aye, I knew that. | 22:06 | |
lol...MONKEY_SEE \o/ | |||
22:06
mfollett left
|
|||
jnthn | TheDamian++ | 22:06 | |
ash_ | jnthn, which part of that i did shouldn't work? | 22:12 | |
the $!b? | |||
just wondering if there is any difference if i did .^add_method | |||
jnthn | ash_: I think it may want to try and resolve $!b at compile time | 22:15 | |
ash_: Maybe we have to just let anonymous methods lead to it being a lookup deferred until runtime though. | 22:16 | ||
Maybe. | |||
Otherwise life is hard for those constructing classes "by hand". | |||
22:18
mavrc left
22:19
mavrc joined
|
|||
ash_ | does that change anything for prototype-ish inheritence? | 22:20 | |
22:22
bluescreen joined
|
|||
jnthn | I don't see a relation...but maybe I'm just too tired. :-) | 22:26 | |
ash_ | just thinking, i am not exactly sure how to do prototype inheritence in perl6 yet, maybe i'll experiment with that some | 22:28 | |
jnthn | Write PrototypeHOW ;-) | 22:29 | |
22:30
stkowski joined
|
|||
ash_ | hehe maybe, if i make any good progress, that would be nice | 22:31 | |
22:33
jferrero left
22:47
jferrero joined
22:49
Entonian left
|
|||
jnthn pushes knowhow into the nqp-rx/nom bootstrap. | 22:53 | ||
Hopefully I has hacking time/energy at the weekend to give NQPClassHOW a good shove forward. | |||
jnthn gets rest | |||
ash_ | good night | 22:55 | |
lichtkind | good night | 23:01 | |
23:01
lichtkind left
23:08
jest joined
|
|||
jest | hi | 23:09 | |
I'm working on implementing correct index entries in Pod::PseudoPod::LaTeX and noticed that "Using Perl 6" uses index terms inconsistently with Pod::PseudoPod spec. | 23:10 | ||
In P::PP it is written that "Separate primary, secondary, and tertiary terms with a comma", like X<operators,binary>, where in the book a semicolon is used, like X<operators; binary> | 23:12 | ||
23:12
Mowah left
|
|||
jest | as there is no support for hierarchical indexes (yet), can I change all semicolons to commas in the book safely? | 23:13 | |
23:16
florz left
|
|||
ash_ | is perl 6 still planning on $ = eager and @ = lazy with lists? | 23:19 | |
jasonmay | so I see stuff in ./src/core/ for rakudo that I want to use, but they don't show up in INC out of the box. was there a step I missed in installing? | 23:24 | |
flussence | everything in src/core is built in afaik | 23:25 | |
ash_ | anything in rakudo is built in by default, no use's required, for now anyway | 23:30 | |
rakudo: say IO::Socket::INET.so | |||
p6eval | rakudo 8827d0: OUTPUT«0» | ||
ash_ | didn't have to import it to use it, its already there | ||
23:33
Italian_Plumber joined
|
|||
jasonmay | oh sweet | 23:34 | |
also IO::Socket::INET is what I was desiring, haha | |||
masonkramer | please don't make us use a pragma before we can use .perl | ||
if people are dumb enough to use eval + .perl to break encapsulation, the language won't be able to save them | 23:36 | ||
for other introspection, sure | 23:37 | ||
23:39
tadzik left
23:41
cdarroch left
23:48
ruoso joined
23:58
tylercurtis joined
|