»ö« 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. |
|||
takadonet | sorear: we don't really have that functionality in p6? | 00:03 | |
diakopter | takadonet: it's implementation dependent.. | 00:04 | |
of the implementation(s) with stable/robust GCs... I don't think there's that functionality. | 00:05 | ||
takadonet | diakopter: nuts ok well i will ignore it for now. I been porting over github.com/Takadonet/Tree--Simple/tree/ and it implements and has testing for weak references | ||
diakopter | I guess you're using rakudo | ||
takadonet | yes | 00:06 | |
plobsing | even fully GCed languages have weak references (eg: java). they're just not necessary in as many uses. | 00:09 | |
diakopter | takadonet: last I heard, there were still random segfaults in the rakudo testsuite due to (it was speculated) GC non-robustness. At the last Parrot Developer Summit I asked about it, but no one answered. | 00:12 | |
takadonet | diakopter: ok | ||
diakopter | (anyone reading this [backlog], please feel free to correct!) | ||
takadonet | heh | ||
diakopter: so... are you trying to communicate with the future? | 00:13 | ||
diakopter | always | ||
.oO( like all communication? ) |
|||
plobsing | diakopter: if you are referring to the "random" segfaults that occur sometimes, that is highly unlikely to be due to the GC, which is more-or-less deterministic. | ||
diakopter | I thought something was either deterministic or not | 00:14 | |
plobsing | it is only as non-deterministic as what you throw at it. | ||
hashes get walked randomly because hashes are random | 00:15 | ||
diakopter | (but assuming it is deterministic, what are the likelier culprits?) | ||
plobsing | there are 2 sources of random in parrot (that I know of): the PRNG and hash seeding | 00:16 | |
my money would be on the later being the source of the randomness | |||
diakopter | plobsing: are you saying there is no possibility the segfaults are caused by a bug? | ||
plobsing | segfaults are a bug | ||
diakopter | I should have been more specific. | 00:17 | |
plobsing: are you saying there is no possibility the segfaults are caused by a bug in parrot's source code? | |||
sorear | no, plobsing is saying that the segfaults are in parrot/src/hash/* | 00:18 | |
not parrot/src/gc/* | |||
plobsing | I never said that. What I'm saying is the fact that the segfaults are "random" suggests a random source is at least partly to blame. The GC is not a source of random. | ||
sorear | The GC is, however, a source of walking over lots of memory and dereferencing lots of pointers | 00:19 | |
If *anything* in Parrot corrupts memory, the GC will probably segfault | |||
plobsing | and if some of those pointers are invalid due to other code... kaboom | ||
most "GC bugs" are bugs in other code that causes GC to choke | 00:20 | ||
diakopter | I would've thought memory locations (for allocation) were selected by a randomness source.. leading me to blame more heavily the GC. | ||
plobsing | memory locations for allocation are sometimes randomized by the *OS*. this can be usually be disabled. | 00:21 | |
diakopter | right, I wasn't blaming the source of randomness | ||
plobsing | and, IIUC, some of the reports of random segfault reported dissabling this to not solve the problem | 00:22 | |
00:27
horror21 joined
00:33
risou left
|
|||
plobsing | diakopter: if you are still running into these issues (moritz closed the ticket 2 weeks ago), I recommend you follow up by creating a test case that consistently fails (all sources of randomness in parrot *can* be controlled) and then file a ticket. | 00:34 | |
tickets with "random" failures tend to get closed with messages like "this seems to be working now, it must have been fixed" | 00:35 | ||
00:35
[particle]1 joined
|
|||
diakopter | no, I wasn't aware moritz_ closed the ticket | 00:37 | |
takadonet | how can you tell if a scalar is a reference and not the object itself? | 00:38 | |
plobsing | I'm not entirely convinced the bug is gone. I've seen this dance 1 too many times now. | ||
takadonet | www.reddit.com/r/programming/commen...community/ | 00:40 | |
sorear | takadonet: in perl 5 or perl 6? | ||
takadonet | sorear: perl 6 :) | 00:41 | |
sorear | takadonet: that's easy. all scalars are references in Perl 6. | ||
takadonet | i know hehe | ||
somewhat realized that the piece of code that i'm porting is more complex then it needs to be since 'everything' is an object | 00:42 | ||
makes things easier when you can do ' $scalar_or_obj.can('clone') ' | |||
00:46
jhuni_ left
00:58
jhuni_ joined
01:16
am0c^ joined
01:26
orafu left
01:28
orafu joined
01:38
lichtkind left
01:41
sftp left
01:44
redicaps joined
01:57
mikehh joined
02:00
jaldhar joined,
jaldhar left
02:02
ispeak_ joined
02:04
whiteknight joined
02:05
Chillance left
02:06
jaldhar joined,
jaldhar left
02:10
jaldhar joined,
jaldhar left
02:12
mikehh left
02:13
orafu left,
orafu joined,
kanishka left,
ispeak_ left
02:20
xinming_ is now known as xinming
02:22
thelazydeveloper left
02:28
kanishka joined
02:45
takadonet left
02:53
ch3ck3r joined,
molaf_ left
02:56
ch3ck left,
kanishka left
02:57
adu joined
03:02
Raynes joined
03:03
ashleydev joined
03:04
sunnavy joined,
frooh joined
03:05
molaf_ joined,
felliott left
03:06
horror21 left
03:07
horror21 joined
03:11
whiteknight left,
ch3ck3r left
03:12
Raynes left,
ashleydev left,
sunnavy left
03:19
Raynes joined,
sunnavy joined,
ashleydev joined
03:26
rbxbx left,
rbxbx joined
03:39
baest joined
03:43
adu left
03:45
am0c left
03:51
orafu left
03:52
orafu joined,
rbxbx left
04:07
uasi joined
04:11
Guest19368 left
04:22
charsbr_ joined
04:25
orafu left
04:26
orafu joined
04:29
[Coke] joined
04:35
am0c^ left
04:44
Trashlord joined
04:47
envi joined
05:01
jaldhar joined
05:04
felliott joined
05:11
Trashlord left
05:13
felliott left
05:18
orafu left,
orafu joined
05:24
simcop2387 left
05:32
simcop2387 joined
05:45
orafu left
05:47
orafu joined
05:51
am0c joined
05:52
dju left
05:54
orafu left
05:56
rgrau left
06:03
satyavvd joined
06:07
dju joined
06:11
dju left,
dju joined,
kaare joined
06:12
kaare is now known as Guest19536,
orafu joined
06:15
am0c left
06:21
simcop2387 left
06:35
araujo left
06:46
justatheory left
|
|||
sorear | good * #perl6 | 06:55 | |
06:56
am0c joined
07:04
wtw joined
07:11
satyavvd left
07:16
MadMare joined
07:17
ponbiki joined
|
|||
moritz_ | good morning | 07:22 | |
07:22
MadMare left
07:23
Bonham joined
|
|||
sorear | good morning moritz_ | 07:27 | |
I wonder why there are no comments on any advent2010 for the last few days | 07:28 | ||
moritz_ didn't disable comments | |||
07:33
Trashlord joined
07:42
Bonham is now known as OxCart
07:45
Trashlord left
07:54
jhuni_ left
08:02
yfliu joined
08:04
yfliu left
08:29
Alias_ joined
08:34
tzhs joined
08:51
daxim joined
09:14
uasi_ joined
09:16
araujo joined,
uasi_ left
09:25
yfliu joined
|
|||
yfliu | help: Could not load oplib `perl6_ops' | 09:25 | |
moritz_ | yfliu: did you install rakudo? | 09:27 | |
moritz_ 's magic crystal ball shows that somebody hasn't read the README | |||
yfliu | I have installed 'setup-parrot-2.10.0-rakudo-35.exe' and 'setup-parrot-2.10.0.exe' on my win32 system | 09:29 | |
09:30
dakkar joined
|
|||
moritz_ | yfliu: then please send a bug report to whoever made those packages available | 09:31 | |
09:33
yfliu left
09:49
uasi left
10:11
thelazydeveloper joined
10:13
tzhs left
10:17
Trashlord joined
10:18
tzhs joined
10:26
am0c left
10:34
Weathz joined
10:48
satyavvd joined
|
|||
sorear out | 10:49 | ||
11:11
masak joined
|
|||
masak | oh hai, #perl6! | 11:11 | |
moritz_ | lolitsmasak! | 11:12 | |
how are things? | |||
masak | splendid, thanks. | ||
moritz_ | the sun is shining, and yesterday night I had excellent Norwegian food | 11:13 | |
masak | what kind of Norwegian food? | ||
moritz_ | all kinds, actually | 11:14 | |
masak | julbord? | ||
mathw | tonfisk? | ||
moritz_ | it was a big buffet dinner in a Norwegian/Bavarian restaurant | ||
julbord | |||
masak | nice. | ||
mathw | no wait that's not what I meant | ||
masak | seven people have now signed up for the contest! \o/ | 11:15 | |
mathw | lutfisk, that's what I meant | ||
moritz_ | \o/ | ||
mathw | but I know it's not that because you said it was excellent | ||
masak | mmm, lutfisk. | ||
moritz_ has 4 problems solved, he believes | |||
masak | mathw: hey, when prepared right... it can be a real treat. | ||
mathw | masak: interesting, you're the first person I've met who's had it who doesn't feel sick at the very mention of it | ||
masak | mathw: also, best use of white pepper in existence. | 11:16 | |
mathw: I'm Swedish. | |||
mathw | I know | ||
this includes Swedish and Norwegian people | |||
my friend's husband is Norwegian and can't stand the stuff | |||
masak | I wasn't too hot on lutfisk as a child, but I acquired the taste for it. | ||
moritz_ | masak: do you like gammelost? | 11:17 | |
mathw | I guess it's highly polarising | ||
like Marmite | |||
masak | mmm, Marmite :P | 11:18 | |
the trick is to layer it really thin. | |||
like, atom-width thin :) | |||
moritz_ likes gammelost zero-width thin :-) | 11:19 | ||
mathw | oh yes it's very potent | ||
I used to get upset at breakfast if someone left the lid off the Marmite jar, because it was so smelly | |||
these days I find I don't mind the smell at all | |||
but I still don't choose to eat it, and I am thus outside the marketing idea of love it or hate it | |||
I have become... indifferent to it | 11:20 | ||
11:21
f00li5h joined
|
|||
flussence | I tried eating a burger with marmite on it once, just out of curiosity. Never again. | 11:21 | |
masak | mathw: "indifference! that's even worse than hate!" -- famous quote from a friend of mine :) | ||
moritz_ disagrees, but doesn't really care | 11:22 | ||
*SCNR* | |||
mathw | depends what it is, I guess | ||
flussence: interesting way to boost the umami content, but I prefer adding worcestershire sauce myself | 11:23 | ||
and I suppose I shouldn't say anything about lutfisk given that I know what worcestershire sauce is made from | |||
huf | that was an attempt by the english at trolling the world. it was mostly successful (i'm talking about the pronunciation) | 11:24 | |
masak | lue's post attracts comments! www.reddit.com/r/programming/commen...community/ | 11:26 | |
unfortunately, they're a troll comment and its replies. | |||
huf | why are people so angry that it's taking a while from inception to widespread adoption? | 11:27 | |
it's as if they'd paid money and were promised a deadline | |||
masak | that's just cargo-culted bullying. no more, no less. | ||
huf | ah, got it | ||
mathw | and just people who don't like Perl | 11:28 | |
moritz_ | huf: you mean like diaspora? | ||
oh wait... :-) | |||
mathw | they probably don't even have reasons for it, they just don't like it because it's not $favourite-other-language | ||
huf | but... but... it's my favorite language! there are many like it, but this one is MINE! | 11:30 | |
mathw | yes, like that | ||
masak | I think I understand the psychology of learning and getting under the skin of a language by now. it's very hard to reason objectively about other languages after doing that. | 11:31 | |
mathw | yes | ||
masak | let's say I learn Python and become really good at it. after a while solutions start coming to my brain already half-written in Python. | ||
and that begins to feel like Python is the language that brains in general actually use when coding. | 11:32 | ||
mathw | yes | 11:33 | |
except they don't | |||
it's just that you've trained yourself to think in Python | |||
masak | right. | ||
mathw | whereas I, on the other hand, still spend about a quarter of my time thinking in Haskell | ||
which is a language I barely write these days | |||
and about half my time thinking in Perl | |||
and the other quarter thinking in fairy-land C++ | |||
which is a variant my compiler doesn't support | |||
masak | but it's easy to start confusing things that "look natural" to someone who is familiar with the language, and things that look natural to a relative outsider. | ||
mathw | this was the thing about the 8pen input method for Android when it came out | 11:34 | |
people said 'oh no it's too weird' | |||
but they're all talking from people who know about QWERTY | |||
the point of the entire project was to re-examine how to do touchscreen text input | 11:35 | ||
and the general reaction is "no it's not like other keyboards, not interested" | |||
people like familiar | |||
11:36
am0c joined
|
|||
masak | yes, that's it. | 11:39 | |
mathw | the problem is when that turns from 'I like this familiar thing' to 'all things which aren't familiar are WRONG and BAD and NOBODY SHOULD USE THEM' | 11:40 | |
masak | aye. | 11:41 | |
11:42
redicaps left
11:43
satyavvd left
11:44
uasi joined
|
|||
uasi | hi, #perl6 | 11:44 | |
mathw | hi | ||
masak | hi uasi | ||
uasi | I wrote a patch to fix RT ##77668 github.com/uasi/rakudo/commit/3022...defc195f11 | 11:46 | |
masak | here's someone who went through the 8pen tutorial, then went on to write a 6-word message, realized he was not proficient, and uninstalled the product: dauntingideas.com/content/8pen-keyb...r-hour-use | ||
uasi | could someone review this? | ||
masak | uasi++ | ||
uasi: it looks good to me, but I would pass this over to pmichaud for review before comitting it. | 11:47 | ||
uasi: have you run a spectest on it? | |||
11:47
thelazydeveloper left
|
|||
mathw | masak: yeah it takes a bit longer than that to get proficient. It's been my primary IM for a while now, but I still have lapses where I can't seem to write anything properly with it. | 11:48 | |
uasi | masak: yes. passed that | ||
mathw | which means it's never going to catch on, people won't invest the time | ||
TiMBuS | is there a way to get my module listed on modules.perl6.org? | 11:49 | |
masak | phenny: tell pmichaud I think github.com/uasi/rakudo/commit/3022...defc195f11 looks good (and it passes spectests), but I'd like you to review it before I commit it. | ||
phenny | masak: I'll pass that on when pmichaud is around. | ||
masak | TiMBuS: yes, get a commit bit to github.com/perl6/ecosystem and add it to projects.list | ||
TiMBuS | who can give me a commit bit? | 11:52 | |
masak | I can't, it seems. | 11:53 | |
TiMBuS | darn | 11:54 | |
can you add the line for me? | |||
github.com/TiMBuS/Net--IRC | 11:55 | ||
masak | you bet. | ||
masak adds it | |||
TiMBuS | woot | 11:56 | |
masak | what would you like the project name to be? | ||
TiMBuS | Net::IRC seems fine | ||
masak | we have absolutely no naming conventions, but I'd recomment 'net-irc' over that. | ||
TiMBuS | or Net-IRC i- yeah that | ||
masak | or 'Net-IRC'. | ||
dalek | osystem: 69dd73f | masak++ | projects.list: [projects.list] added TiMBuS++' Net-IRC |
11:57 | |
masak | added. TiMBuS++ | ||
TiMBuS | I was just going by how perl5 does it | ||
thanks masak :] | |||
masak | hopefully we'll be using CPAN too one day. | 11:58 | |
lunch & | 11:59 | ||
TiMBuS | i guess i should prove my code works | 12:01 | |
12:01
Unicron joined,
Unicron left
|
|||
TiMBuS | guess not! | 12:01 | |
freenode is different | |||
12:07
IllvilJa joined
|
|||
TiMBuS | rakudo: say 'huh what'.comb(/<-space - [\+\%\@\&\~]>+/) | 12:12 | |
p6eval | rakudo : OUTPUT«huhwhat» | ||
TiMBuS | why does that crash locally? maybe an outdated rakudo | ||
12:23
bluescreen joined,
ggoebel left,
bluescreen is now known as Guest38046
12:24
glow_ is now known as glow
12:28
ggoebel joined
|
|||
moritz_ tries uasi's patch | 12:35 | ||
TiMBuS | im not sure why, but locally this seems to be an issue: | 12:38 | |
> 'fff'.comb(/<-space - [\+\%\@\&\~]>+/) | |||
===SORRY!=== | |||
Cannot take substr outside string | |||
moritz_ | TiMBuS: that sounds like a very old rakudo | 12:39 | |
TiMBuS | it shouldnt be too old.. | ||
hmm i think my build is broken somewhere | 12:41 | ||
12:44
felliott joined
|
|||
TiMBuS | ok it -seems- like an old rakudo because --version is old, but no its definitely the latest build | 13:00 | |
moritz_ | when --version is old, something's terribly wrong | 13:01 | |
try to wipe out the install location | |||
like rm -rf parrot_install/ | |||
TiMBuS | parrot_install? nuked it | ||
yep | |||
moritz_ | and then recompile | ||
TiMBuS | i did that, along with a make realclean | 13:02 | |
git br shows only 'master' which im on, and git pull says its up to date | |||
colomon | "which perl6" ? | 13:03 | |
(falls in the category of obvious suggestions, I fear....) | 13:04 | ||
moritz_ | yes, 'make sure you actually run the newly compiled rakudo, not another binary' | ||
TiMBuS | i made a symlink in /usr/bin/perl6 to the parrot_install folder | 13:06 | |
the very one i deleted :[ | |||
moritz_ | huh | 13:07 | |
I get the same error as you did | |||
13:07
mtk joined
|
|||
moritz_ | rakudo: 'fff.comb(/<-space - [\+\%\@\&\~]>+/) | 13:07 | |
p6eval | rakudo : OUTPUT«===SORRY!===Confused at line 22, near "'fff.comb("» | ||
moritz_ | rakudo: 'fff'.comb(/<-space - [\+\%\@\&\~]>+/) | ||
p6eval | rakudo : ( no output ) | ||
TiMBuS | errnosay | ||
moritz_ | > 'fff'.comb(/<-space - [\+\%\@\&\~]>+/) | 13:08 | |
===SORRY!=== | |||
Cannot take substr outside string | |||
that's what I get locally | |||
TiMBuS | yeah its strange | ||
i also dont get that error sometimes, locally | |||
moritz_ | maybe the rakudo on the p6eval server is outdated too | ||
dammit | 13:09 | ||
the rebuild script doesn't like the git revisions of parrot yet :( | |||
moritz_ is at $work and can't fix it atm | 13:10 | ||
13:11
cosimo joined
|
|||
TiMBuS | ok i reduced it to .comb( <-space - [\+]> ) | 13:12 | |
'string' ~~ /<-space - [\+]>/ works however | 13:13 | ||
er, i mean .comb(/<-space - [\+]>/) | |||
.split is the same | |||
moritz_ | TiMBuS: care to submit a bug report? | 13:14 | |
13:15
cjk101010 joined
|
|||
TiMBuS | moritz_, i guess i can, but ill have to do it tomorrow. its way late | 13:17 | |
13:18
MayDaniel joined
|
|||
flussence | moritz_: does p6eval's rakudo use --gen-parrot? I've got an already-working script in that case... | 13:18 | |
moritz_ | flussence: it's a bit more complicated. It works with two separate install locations, so that one can be used while the other is being rebuilt | 13:19 | |
flussence | oh, hm | ||
colomon | I can verify the "Cannot take substr outside string" thing locally as well, and mine is definitely the latest Rakudo (.ords works) | 13:20 | |
flussence | +1 to that here (2010.11-16-gd1e6636) | 13:21 | |
masak | TiMBuS++ | 13:31 | |
I had that error half a year ago when updating GGE to ng. | |||
moritz_ | it was fixed for \w | 13:32 | |
masak | I had to rewrite a lot of .subst things into loops with string concatenation. | ||
I remember getting a lot of retroactive appreciation for .subst | |||
13:34
lola_89 joined
|
|||
lola_89 | hi | 13:34 | |
masak | lola_89: hi! | 13:35 | |
13:35
MayDaniel left
|
|||
lola_89 | masak: is there a place where I can find comparison between perl6 features and Python3 or ruby? I used this when decided between ruby and Python few years ago ^_^ | 13:36 | |
masak | lola_89: we don't have a page ready for that, but it's a really neat idea. | ||
however, I could show you around, if you want a tour. | 13:37 | ||
rakudo: say "hi, I'm the evalbot!" | |||
p6eval | rakudo : OUTPUT«hi, I'm the evalbot!» | ||
lola_89 | masak: yes please! | ||
flussence | rosettacode? | ||
masak | flussence: ooh, good idea. | ||
lola_89: why don't you start here? rosettacode.org/wiki/Category:Perl_6 | 13:38 | ||
there you will have comparisons across several languages and several problem domains. | |||
and if you have questions, don't hesitate to ask. | |||
lola_89 | masak: thank you! I will try also adding a wiki of comparison between python3 and perl6 later.. I will try not to be biased to my python :D | 13:40 | |
13:40
wamba joined
|
|||
masak | such a wiki page could conceivably belong here: www.perlfoundation.org/perl6/index.cgi | 13:41 | |
lola_89 | splendid! ^_^ | 13:43 | |
masak | rakudo: my $age = 21; my $username = "lola_" ~ (DateTime.new(now).year - $age) % 100; say "good luck, $username!" | 13:46 | |
p6eval | rakudo : OUTPUT«good luck, lola_89!» | 13:47 | |
masak | :) | ||
lola_89 | masak: 21 and half, actaully :D | 13:48 | |
13:49
lola_89 left
|
|||
masak | rakudo: my $age = 21.5; my $username = "lola_" ~ (DateTime.new(now).year - $age) % 100; say "good luck, $username!" | 13:50 | |
p6eval | rakudo : OUTPUT«good luck, lola_88.5!» | ||
flussence | heh :) | ||
moritz_ | if you're at least twenty, fractional years account for less than 5% of the total age, and can happily be neglected | ||
masak | rakudo: my $age = 21.5.Int; my $username = "lola_" ~ (DateTime.new(now).year - $age) % 100; say "good luck, $username!" | 13:51 | |
p6eval | rakudo : OUTPUT«good luck, lola_89!» | ||
masak | moritz_++ | ||
13:58
felliott left
13:59
fhelmberger left,
kjeldahl_ joined
14:00
fhelmberger joined
|
|||
moritz_ | rakudo: "fff".comb(/<-space - [\+\%\@\&\~]>+/).[1] | 14:00 | |
p6eval | rakudo : OUTPUT«Cannot take substr outside string in <anon> at line 22:/tmp/IOBRPFFQI4 in 'Cool::match' at line 2509:CORE.setting in <anon> at line 2239:CORE.setting in 'List::at_pos' at line 1 in 'Any::postcircumfix:<[ ]>' at line 1742:CORE.setting in main program body at line 1» | ||
moritz_ | since .comb returns a lazy list, you have to consume it to actually trigger the error | 14:01 | |
14:01
uniejo joined
|
|||
colomon | moritz_++ | 14:02 | |
14:06
lola_89 joined
|
|||
lola_89 | hi, were can I find latest version of perl6 book? | 14:06 | |
14:07
uniejo left
14:08
takadonet joined
|
|||
takadonet | morning all | 14:08 | |
masak | lola_89: github.com/perl6/book/downloads | 14:11 | |
lola_89 | masak: thanks! | 14:12 | |
14:13
jfried joined
14:16
lola_89 left
|
|||
moritz_ | masak: do you have some stats as to how many people read your contest? | 14:19 | |
masak | yes. just a moment. | ||
14:21
kensanata joined
|
|||
masak | my domain had 3k hits on Friday. that's an all-time high. | 14:21 | |
strangelyconsistent.org/blog/masaks...ng-contest has had 1.5k hits in total. the feed.atom has had 1.6k hits in total. I don't know if those numbers go back to the beginning of the site, or just beginning of December. | 14:23 | ||
flussence | Huh... I thought Unicode would have a superscript Pi symbol, but it only has i. | 14:26 | |
moritz_ | Unicode: it's not TeX | 14:27 | |
masak | reddit (564), perlfoundation (150), planetsix (59), perlgeek (52), twitter (49) are the top referers. | ||
14:27
am0c left
|
|||
flussence | (I'm trying to write a module to let people write numbers using Stupid Unicode Tricks, looks like I'll have to add up-arrow notation eventually) | 14:27 | |
masak | this is why we care about reddit :) | ||
daxim | ピ | 14:28 | |
flussence | .u ピ | ||
phenny | U+30D4 KATAKANA LETTER PI (ピ) | ||
takadonet | i linked your contest on reddit! | 14:29 | |
flussence | :) nice try | ||
moritz_ | Unicode obfu! | ||
masak | takadonet++ | ||
daxim | ㌮ ㌯ ㌰ these have superscript pi each | ||
masak | daxim: looks like someone waving. I was about to reply with 'Ч' :) | ||
daxim | cactus | 14:30 | |
moritz_ | .u Ч | ||
phenny | U+0427 CYRILLIC CAPITAL LETTER CHE (Ч) | ||
moritz_ | looks like a turned h-bar | ||
masak | someone on Twitter has opinions about the Web and mod_perl and Perl 6, and makes an appeal of some kind to Larry Wall: twitter.com/sylx/status/14323215945957377 | 14:31 | |
14:31
Guest19536 left
|
|||
masak | Google Translate didn't help me much with that one. | 14:31 | |
daxim | I always confuse 七 匕 when writing | 14:33 | |
moritz_ | we still need 7 volunteers for the advent calendar | ||
anybody wants to contribute something? | 14:34 | ||
dalek | : 5843a4c | moritz++ | misc/perl6advent-2010/ (2 files): [advent] retro-update schedule |
14:35 | |
14:36
simcop2387 joined
|
|||
flussence | .oO( I'd volunteer, but I'm absolutely hopeless at sticking to deadlines... ) |
14:37 | |
14:38
mux joined
|
|||
masak | flussence: if you know by how much you usually overshoot, you could pretend that the deadline is that much earlier than it actually is :P | 14:39 | |
flussence | I could get an article done by christmas, but I won't say which christmas :) | ||
masak | sheesh, that old trick. | 14:40 | |
14:48
Axius joined
14:50
shortcir1uit is now known as shortcircuit
|
|||
masak | rakudo: BEGIN { push @*INC, 'lib' } | 14:51 | |
p6eval | rakudo : OUTPUT«===SORRY!===Could not find sub &push» | ||
masak | damn annoying bug, that one. | ||
moritz_ | are BEGIN-time closures supposed to see outer lexicals? | ||
masak | I don't know. I hope so. | 14:52 | |
is there anything else I could use that executes before a subsequent 'use'? | |||
moritz_ | there's this heavy "when are closures not really closures" paragraph in S04 that I've never really grokked | ||
or was it S06? | |||
masak | S04. | 14:53 | |
it's right at the bottom. | |||
moritz_ | so you know what I mean :-) | ||
masak | oh yes. | ||
I didn't get it at all before Yapsi. now I understand it slightly. | |||
at least the need for it, if not all of the proposed solutions. | |||
shortcircuit | masak: I can't give anything illumantive on P6 specifically, but I could do a written form of my standard explain-Rosetta-Code-in-front-of-a-language-user-group presentation. | 14:54 | |
Throw that in the last-resort pile, I suppose. :) | 14:55 | ||
masak | shortcircuit: that would be very nice. please put it up as a gist or something. | ||
shortcircuit | gist? | ||
masak | gist.github.com | ||
moritz_ | github's nopaste service :-) | ||
masak | or whatever pastebin or blog you prefer. | ||
shortcircuit | Ah. :) | ||
For RC, I've lately been using text posts to rosettacode.reddit.com as a blog. :) | 14:56 | ||
moritz_ | that and a line like "there are a lot of nice perl 6 solutions on rosettacode" + link to perl 6 category would make a nice advent post | ||
masak | I must admit I'm very inspired by examples/library/ncurses_life.pir in the Parrot repo. I'd like a proof-of-concept use of ncurses in Rakudo, and then a module with an ncurses API in the ecosystem. (hint, hint) | ||
shortcircuit | moritz_: That's a core component of my presentation to a language-UG; show all the links I have that are language-specific, as tuned to that language. :) | 14:57 | |
14:57
kensanata left
|
|||
moritz_ | shortcircuit: write it, we'll publish it for you :-) | 14:58 | |
shortcircuit | Heh. :) | ||
Not going to be until this evening, at the earlier, though. At work right now. | |||
moritz_ | that's ok | 14:59 | |
we have a volunteer for tomorrow too, iirc | |||
15:00
glow left
15:02
icwiener joined
|
|||
uasi | masak: that guy on Twitter says "But this language (PHP) have ruled the Web world. This tragedy could have been avoided if Larry had made Perl 6 practically. mod_perl? Absurd." | 15:04 | |
masak | uasi: thanks. | 15:06 | |
shortcircuit | I thought it was P5 that was built with practice, and P6 that was built with experience. ;) | 15:07 | |
15:07
alester joined
|
|||
masak | that's a funny, and not altogether frivolous, way to put it. :) | 15:09 | |
allbery_b | there's also the little matter that perl isn't web specific. (how many people do you know who use the php cli?) | 15:11 | |
masak | I actually know a few people who use the PHP CLI. | 15:12 | |
allbery_b | (and are any of them insane enough to try to use it for sysadmin/devops tasks?) | ||
masak | I wouldn't though. I've seen too much of the rot that makes up the foundation of PHP. | ||
shortcircuit | I know someone who wrote a CD burner using the PHP CLI. | ||
I haven't seen the code, so I don't know how much it delegates to what library, though. | 15:13 | ||
flussence | probably system() calls | 15:14 | |
masak | rakudo: class A { has $!inner is rw; method outer { $!inner } }; my $a = A.new(:inner(1)); $a.outer = 2; say $a.outer | 15:22 | |
p6eval | rakudo : OUTPUT«2» | ||
15:23
ch3ck joined
|
|||
moritz_ | bug | 15:23 | |
(but known, afaict) | |||
masak | yeah. | ||
would be OK if the method were rw too. | |||
moritz_ | right | ||
and there's no reason to stick an 'rw' on a private attribute | 15:24 | ||
masak | rakudo: class A { has $!inner is rw; method outer is rw { $!inner } }; my $a = A.new(:inner(1)); $a.outer = 2; say $a.outer | ||
p6eval | rakudo : OUTPUT«===SORRY!===No applicable candidates found to dispatch to for 'trait_mod:<is>'. Available candidates are::(Mu $child, Role $r):(Routine $r, Any :default($default)!):(Code $block, Any $arg?, Any :export($export)!):(Mu $child, Mu $parent):(Mu $type where ({ ... }), Any :rw($rw)… | ||
moritz_ | it's the old "doesn't decontainerize" issue | ||
masak | *nod* | ||
I find it slightly inconsistent that you can initialize a non-rw private attribute, but you can't initialize a non-rw lexical variable. | 15:25 | ||
moritz_ | well, you can't anymore, according to spec | ||
masak | oh, good. | 15:26 | |
problem solved, then. | |||
moritz_ | afaict TimToady++ changed it to only work for attributes with accessors | ||
takadonet | what about doing an alias to a method? | 15:27 | |
moritz_ | (I might be wrong though) | ||
masak | takadonet: could you be a bit more specific? | 15:28 | |
moritz_ | Author: TimToady [email@hidden.address] | ||
Date: Fri Nov 5 21:15:11 2010 -0700 | |||
[S12] default BUILD should not init private attrs | |||
15:31
sftp joined
|
|||
takadonet | masak: sorry little busy here.... at work .... github.com/Takadonet/Tree--Simple/...le.pm#L192 | 15:34 | |
masak | moritz_: so... with the new spec, private readonly attributes are exactly as useless as readonly lexical variables? :) | ||
takadonet | masak: That how p5 creates an alias | ||
masak | takadonet: um. you linked me to a line with just a closing brace on it... | 15:35 | |
moritz_ | masak: they can be initialized, just not by the default BUILD method | ||
takadonet | ... | ||
stupid git | 15:36 | ||
github.com/Takadonet/Tree--Simple/...le.pm#L195 | |||
should be: *insertChildren = \&_insertChildAt; | |||
masak | yes. now I see. | ||
takadonet: just delegate? | |||
it's a bit longer, but it amounts to the same thing. | |||
15:37
toebu joined
|
|||
takadonet | masak: documentation or example? | 15:37 | |
masak | rakudo: class A { method foo { say "foo!" }; method bar { self.foo } }; A.new.bar | ||
p6eval | rakudo : OUTPUT«foo!» | ||
takadonet | that what I thought... Thinking there was an easier way to do it ... all well | 15:38 | |
15:38
Patterner left
|
|||
masak | well, I guess you could do binding if they're 'our'-scoped methods. | 15:38 | |
but I wouldn't recommend it, for some unspecified reason. | 15:39 | ||
maybe because it feels odd to 'our'-scope the methods just for that. | |||
every scope-widening action has a corresponding cost/punishment :) | |||
moritz_ | rakudo: class A { our method foo { 'abc' }; A.^add_method('bar', &foo); }; say A.new().bar | ||
p6eval | rakudo : OUTPUT«abc» | ||
masak | moritz_++ | 15:40 | |
moritz_ | rakudo: class A { method foo { 'abc' }; A.^add_method('bar', &foo); }; say A.new().bar | ||
p6eval | rakudo : OUTPUT«Could not find sub &foo in main program body at line 22:/tmp/8NulKIUJuy» | ||
moritz_ | rakudo++ | ||
masak | maybe something with .^can would work to find a non-'our' method? | ||
takadonet | so it hides foo then? wow | ||
n/m | |||
masak | takadonet: yes, if by "hides" you mean "sticks it in the 'has' namespace" | ||
moritz_ | takadonet: there's no hiding. Methods just aren't in lexical scopes | 15:41 | |
takadonet | i realized that after I said my comment | ||
moritz_ | rakudo: class A { method foo { 'abc' }; A.^add_method('bar', A.^can('foo')); }; say A.new().bar | ||
p6eval | rakudo : OUTPUT«abc» | ||
moritz_ | masak++ | ||
masak | rakudo++ | ||
moritz_ | once we have macros, that's trivial to encapsulate in a module | ||
masak | aye. | 15:42 | |
alias 'foo' => 'bar'; | |||
or maybe the other way around :P | |||
takadonet | ya | ||
moritz_ | alias foo => <bar baz quox>; | 15:43 | |
takadonet | thanks guys! | ||
15:44
felliott joined
15:46
Axius left
15:50
Psyche^ joined,
Psyche^ is now known as Patterner
15:53
wtw left
16:00
glow joined
|
|||
flussence | yay, I've convinced the people at :p5($dayjob) that writing tests is actually important | 16:02 | |
16:02
MayDaniel joined
|
|||
flussence | (after spending 4 hours blindly trying to figure out why my shiny new charset code didn't work, turns out it did, and I'd spelled "pg_enable_utf8" wrong elsewhere...) | 16:02 | |
mux | flussence: sounds good; I'm still trying to convince my coworkers that calling a function via &foo() is not a good idea. | 16:04 | |
flussence | That sounds... painful. | ||
masak | mux: I don't see why it's not a good idea. I just don't see why it'd be necessary. | 16:05 | |
it still works in Perl 6, fwiw. :) | |||
rakudo: sub foo { say "OH HAI" }; &foo() | |||
p6eval | rakudo : OUTPUT«OH HAI» | ||
mux | masak: if it's not necessary, it's not a good idea in my book since it adds extra syntactic cruft. | ||
flussence | the codebase I'm working on still has a few of those, but the guy who wrote them left years ago. | ||
mux | masak: also it curcumvents prototype checks if I'm not mistaken | 16:06 | |
flussence | masak: I read a thing not too long ago explaining in detail why it's a really bad idea | ||
if you forget the ()s, &foo gets passed the caller's @_ directly and can modify it. | 16:07 | ||
daxim | explanation for this is repeated on stack overflow about every two weeks | ||
16:07
Alias_ left
|
|||
flussence | reminds me of more PHP insanity... there's a func_get_args() which is similar to @_, but you aren't allowed to write "foo(func_get_args())". | 16:11 | |
mux | but I suppose I shouldn't even complain about the extra '&' characters when I can't get the said coworkers to even properly indent code | ||
allbery_b inherited some terrifying perl4 code at his current job and is still trying to make it halfway sensible | 16:12 | ||
16:13
glow left,
fhelmberger left,
Raynes left,
dual_ left,
Eevee left,
Grrrr left,
spinclad left,
hugme left,
literal left
|
|||
flussence | The guy who wrote a lot of this code was an old-school C programmer. It didn't really look like perl at all until I ripped it all up in frustration one day (week?) | 16:15 | |
There was one particularly horrible bit involving system() and bit-operators just to copy a file and check it worked. | 16:16 | ||
16:17
risou joined,
glow joined,
fhelmberger joined,
Raynes joined,
dual_ joined,
Eevee joined,
Grrrr joined,
spinclad joined,
hugme joined,
literal joined,
zelazny.freenode.net sets mode: +v hugme,
_kaare joined
16:18
hugme left
16:21
glow left,
fhelmberger left
|
|||
moritz_ | rakudo: say 3.end | 16:21 | |
p6eval | rakudo : OUTPUT«0» | ||
masak | rakudo: sub end { 0 }; say end.end.end.end.end.end.end.end | 16:22 | |
p6eval | rakudo : OUTPUT«0» | ||
moritz_ | rakudo: say .end.end.end | ||
p6eval | rakudo : OUTPUT«0» | ||
moritz_ | are we quite finished? :-) | 16:23 | |
masak | rakudo: given end.end.end.end { say .end.end.end.end.end.end.end.end } | ||
moritz_ | erm, ended | ||
p6eval | rakudo : OUTPUT«Not enough positional parameters passed; got 0 but expected 1 in 'end' at line 1802:CORE.setting in main program body at line 22:/tmp/EUEINyMENS» | ||
16:23
fhelmberger joined
|
|||
moritz_ | the first end() doesn't work that way | 16:23 | |
masak | rakudo: given .end.end.end.end { say .end.end.end.end.end.end.end.end } | ||
p6eval | rakudo : OUTPUT«0» | ||
16:24
IllvilJa left
|
|||
masak | rakudo: given end end end end end .end { say .end.end.end.end } | 16:24 | |
p6eval | rakudo : OUTPUT«0» | ||
masak | \o/ | ||
16:29
Raynes left,
Raynes joined
16:34
uasi left
16:35
thepler left
16:42
glow joined
16:46
thepler joined
16:53
orafu left,
orafu joined
16:55
masak left
17:01
tzhs left
17:07
nadim__ left
17:08
nadim__ joined
17:20
MayDaniel left
|
|||
ch3ck | masak \o | 17:20 | |
17:30
rgrau joined
17:42
Chillance joined,
glow left
17:54
justatheory joined
17:55
Chillance left
17:57
hudnix joined
18:02
cdarroch joined,
cdarroch left,
cdarroch joined,
MayDaniel joined
18:03
dakkar left
18:05
MayDaniel left
18:17
Guest38046 left
18:32
Guest38046 joined
|
|||
takadonet | rakudo: class A { method foo { 'abc' }; A.^add_method('bar', A.^can('foo')); }; my $x= A.new(); say $x.bar(); say $x.bar() | 18:36 | |
p6eval | rakudo : OUTPUT«abcNo candidates found to invoke for method 'foo' on object of type 'A' in main program body at line 22:/tmp/n5vqfdbfxD» | ||
takadonet | only works once :( | ||
moritz_ | hm | 18:38 | |
rakudo: class A { method foo { 'abc' }; A.^add_method('bar', A.^can('foo')[0]); }; my $x= A.new(); say $x.bar(); say $x.bar() | |||
p6eval | rakudo : OUTPUT«Null PMC access in invoke() in main program body at line 1» | ||
moritz_ | anyway, looks like a bug | 18:39 | |
rakudo: class A { method foo { 'abc' }; BEGIN A.^add_method('bar', A.^can('foo')[0]); }; my $x= A.new(); say $x.bar(); say $x.bar() | |||
p6eval | rakudo : OUTPUT«===SORRY!===Null PMC access in invoke()» | ||
moritz_ | rakudo: class A { method foo { 'abc' }; BEGIN A.^add_method('bar', A.^can('foo')); }; my $x= A.new(); say $x.bar(); say $x.bar() | ||
p6eval | rakudo : OUTPUT«abcNo candidates found to invoke for method 'foo' on object of type 'A' in main program body at line 22:/tmp/d24OoLzlaj» | ||
moritz_ | currently that's a method with self destruction | ||
which other programming language has that? :-) | 18:40 | ||
perigrin | I could introduce that bug to Moose ... but I don't think they'd appreciate it | 18:42 | |
18:43
hdanak joined
|
|||
moritz_ | would be a good candidate for an Acme module, no? | 18:43 | |
Acme::Method::SelfDestruct | |||
perigrin | moritz_: or you can implement it yourself using MooseX::Declare: class A { after foo { $self->meta->remove_method('foo'); } } | ||
moritz_ | perigrin: something like that, yes | 18:44 | |
hdanak | is rakudo.org down? | ||
18:46
daxim left
|
|||
moritz_ | if it's not responding, that's likely | 18:47 | |
hdanak | hopefully it's just being maintained or something | ||
vs something malicious | 18:48 | ||
takadonet | moritz_: so i take it that's a bug then? | 18:50 | |
moritz_ | takadonet: yes | ||
takadonet | moritz_: nuts | ||
moritz_: any possible workarounds? :) | 18:51 | ||
moritz_ | takadonet: re-dispatching | 18:52 | |
19:03
risou left
19:13
skangas left
19:19
mtk left
19:20
mtk joined
19:22
rindolf joined
|
|||
rindolf | Hi all. | 19:22 | |
Trashlord | hi rindolf | ||
rindolf | Trashlord: hi. | 19:23 | |
19:24
envi left
19:27
saaki joined
19:40
jedai_ joined
19:41
jedai left
19:42
molaf_ left,
masak joined
|
|||
masak | rakudo.org down -- anyone emailed alester? | 19:52 | |
masak does so | |||
alester | i'll bounce it | 19:53 | |
I wonder what makes it sad. | |||
it's back, masak | |||
masak | thanks, alester++. | 19:54 | |
rakudo: class A { method foo { 'abc' }; A.^add_method('bar', A.^can('foo')); }; my $x= A.new(); say $x.bar(); say $x.bar() | 19:58 | ||
p6eval | rakudo : OUTPUT«abcNo candidates found to invoke for method 'foo' on object of type 'A' in main program body at line 22:/tmp/cMQTR25CMK» | ||
masak | <takadonet> only works once :( | ||
masak submits rakudobug | |||
takadonet | masak++ | 19:59 | |
masak: thanks. Question... what does moritz_ mean by re-dispatching? | |||
masak | if jnthn were here, he'd say that this result isn't so strange; becuase .^can gives the dispatcher to the 'foo' method(s). | 20:00 | |
call it once, shame on... shame on you. call me tw... can't call me again. | |||
*can't get called again | |||
takadonet | it's strange | 20:05 | |
masak | as with string encodings, dispatchers are there whether you're aware of them or not, and whether you want/like them or not. | ||
moritz_ | takadonet: just calling the target method from the alias | 20:13 | |
takadonet | moritz_: sounds good | 20:14 | |
20:17
skangas joined
|
|||
masak | skangas: hai! .se? | 20:18 | |
moritz_ | .oO( isn't it "hej" in .se? ) |
||
skangas | Yes, it is. | ||
masak | but I'm in the Lolcat province. | ||
szabgab | good evening | 20:20 | |
masak: are you coming to FOSDEM ? | |||
rindolf | szabgab: evening. | 20:22 | |
masak | szabgab: hm, maybe. | 20:23 | |
I'll be moving to the south of Sweden in January, so at least I'll be closer to Brussels :) | 20:24 | ||
szabgab | then please send your talk proposal(s) | ||
20:25
glow joined
|
|||
szabgab | moritz_: what about you and FOSDEM ? | 20:25 | |
rindolf | error: pathspec 'RELEASE_2_10_1-679-g9bec614' did not match any file(s) known to git. | 20:26 | |
masak | szabgab: I'll confer with jnthn too, and then maybe send something. | ||
szabgab | and what about pmichaud ? | ||
moritz_ | szabgab: most probably not | ||
masak | rindolf: that does indeed not look like a tag to me. | ||
rindolf | masak: hmmm.... | 20:27 | |
moritz_ | rindolf: is your parrot/ dir a git repo? | ||
rindolf | moritz_: yes, it is. | ||
szabgab | moritz_: we can let you rest this time | ||
rindolf | Oh wait. | ||
moritz_ | rindolf: does it work after 'git pull'? | ||
rindolf | [email@hidden.address] | ||
moritz_ | hm | ||
that might be it :-) | |||
rindolf | Makefile:200: compilers/pirc/Defines.mak: No such file or directory | 20:30 | |
when doing make realclean. | |||
moritz_ | rindolf: cd parrot; git clean -xdf | ||
rindolf | moritz_: thanks. | 20:31 | |
moritz_: I'm getting: | 20:35 | ||
===SORRY!=== | |||
Parrot revision RELEASE_2_10_1-679-g9bec614 required (currently RELEASE_2_9_1-967-g9bec614) | |||
Don't know why. | |||
moritz_ | rindolf: what are you doing? | 20:36 | |
and did you wipe out parrot_install inbetween? | 20:37 | ||
rindolf | moritz_: no, I did not wipe out parrot_install. | ||
moritz_: I'm running perl Configure.pl --gen-parrot | |||
20:38
hdanak left
|
|||
flussence | rindolf: you might find this useful (or not), it's what I'm using: gist.github.com/738980 | 20:38 | |
[Coke] | parrot caches that variable in a dot file. if you don't realclean, you're stuck with the old version even if you did a git pull in between. | 20:39 | |
moritz_ | rindolf: ah, your installed parrot identifies itself as 2.9.1, not 2.10.1 | ||
[Coke] | and --gen-parrot does not, IIRC, realclean. | ||
(which it really should) | |||
rindolf | [Coke]: it said something about that. | 20:40 | |
moritz_: so what should I do? | 20:43 | ||
moritz_ | rindolf: fix your parrot | 20:45 | |
20:45
jaldhar left
|
|||
rindolf | moritz_: ah. | 20:45 | |
moritz_ | rindolf: I just don't know what your setup is, and what you have done | 20:46 | |
[Coke] | if you're using --gen-parrot, your installed parrot is in your rakudo build dir. You can always just remove the parrot* directories in your rakudo build dir and run perl Configure.pl --gen-parrot again. | 20:48 | |
if you are working with an installed parrot elsewhere, a fresh install of that should work (with the same caveat that if you're building it from source, be sure to do a realclean first.) | 20:49 | ||
moritz_ | (assuming you have internet connection, for 'git pull') | ||
20:52
Guest38046 left
|
|||
rindolf | moritz_: OK, it was a git SNAFU - I didn't fetch the tags - had to use get fetch -t | 20:54 | |
I hate git. | 20:55 | ||
Well, usually. | |||
masak likes git | |||
moritz_ | rindolf: git hates you too :-) | ||
rindolf | moritz_: I don't care how git feels about me. | 20:56 | |
moritz_ | it just reflects your feeling | ||
rindolf | moritz_: I hate it so I don't care about that. | ||
moritz_ | hate implies caring | ||
at least to a certain degree | |||
otherwise you'd be indifferent | |||
rindolf | Working now. | 20:58 | |
21:04
Guest38046 joined,
fhelmberger left
21:06
mavrc joined
21:14
stkowski joined
21:22
Guest38046 left
21:50
kjeldahl_ left
|
|||
rindolf | [shlomif@lap rakudo]$ ./perl6 t/spec/S02-builtin_data_types/hash | 21:52 | |
Unable to open filehandle from path 't/spec/S02-builtin_data_types/hash' | 21:53 | ||
Oh wait, missing the .t | |||
In any case - not ok 52 - colonpair :one | |||
moritz_ | how old is your rakudo? how old is your copy of the spectets? (still .svn?) | 21:54 | |
masak | rindolf: do you know if this is the first revision where that happens? | ||
moritz_++ | |||
21:54
IllvilJa joined
|
|||
moritz_ .sleep = True | 21:55 | ||
rindolf | moritz_: I pulled rakudo today. | 21:56 | |
masak: I don't know if this is the first revision. | |||
github.com/shlomif/rakudo - I have a commit here for a Test::Run-based harness. | |||
masak | rindolf: I'll just finish up tomorrow's Advent post, then I'll try to reproduce your spectest failure. | ||
rindolf | masak: OK. | 21:57 | |
masak: I'm on Mandriva Linux 2010.1 on an x86-64. | |||
22:02
sow joined
22:07
mtk left,
sow left
22:10
kjeldahl left
|
|||
masak | ok, peeps; tomorrow's Advent post is up (on perl6advent.wordpress.com/wp-login.php ). feel free to review and comment. | 22:11 | |
masak turns to rindolf's test | |||
rindolf | p6eval: %hash8 = (:one, :key<value>, :three(3)); | 22:13 | |
22:13
nrycrun joined
|
|||
masak | rakudo: %hash8 = (:one, :key<value>, :three(3)); say %hash8.perl | 22:14 | |
p6eval | rakudo : OUTPUT«===SORRY!===Symbol '%hash8' not predeclared in <anonymous> (/tmp/Ri0AlbsNb5:22)» | ||
masak | rakudo: my %hash8 = (:one, :key<value>, :three(3)); say %hash8.perl | ||
p6eval | rakudo : OUTPUT«{"one" => Bool::True, "key" => "value", "three" => 3}» | ||
masak | looks right to me. | ||
22:15
nymacro joined
|
|||
rindolf | is(%hash8{'one'}, 1, 'colonpair :one'); | 22:16 | |
So this is wrong. | |||
masak | yes. | ||
PerlJam | rindolf++ | 22:17 | |
masak checks the latest spectests on github | |||
dalek | : f15aa2b | duff++ | misc/perl6advent-2010/topic-brainstorming: Add a couple of ideas |
||
masak | rindolf: github.com/perl6/roast/blob/master...ash.t#L125 | 22:18 | |
rindolf: it's already correct. your local version of roast must be too old. | |||
rindolf | masak: ah. | ||
masak | (just as moritz_ suggested) | ||
rindolf | masak: OK, that was indeed the case. | 22:19 | |
Now I'm getting another failure - not ok 66 - Hash.new($pair) lives | 22:20 | ||
masak | moritz_++ | ||
rindolf: you'll note that that test is marked with #TODO | 22:22 | ||
that means the test is correct, the implementation is wrong, and we know about it. | 22:23 | ||
we can parse the test and run it, but it produces the wrong result. | |||
PerlJam | masak: Post looks good. My only suggestion would be to give a little more prose to why it's called "nextsame". Like maybe one sentence where you first mention dispatchers that says something like "It's called nextsame because it executes the /next/ subroutine in the dispatch chain with the /same/ arguments as this invocation." | 22:24 | |
masak++ | 22:25 | ||
masak | oh, good idea. I'll add that. thanks. | ||
rindolf | masak: ah, I see. | 22:28 | |
masak: so it's a magical comment? | |||
masak | rindolf: from the perspective of the TAP framework, yes. | 22:29 | |
PerlJam | rindolf: did you read the roast README? | ||
rindolf | PerlJam: no, I did not. | ||
masak | PerlJam: post updated. | 22:33 | |
22:33
puddingpimp left
|
|||
PerlJam | masak: muy bueno :) | 22:34 | |
masak | \o/ | ||
22:44
[Coke] left
|
|||
rindolf | Now t/spec/S09-autovivification/autovivification.t fails. | 22:44 | |
Hmmm... it succeeds with t/harness.t | 22:46 | ||
Test returned status 1 (wstat 256, 0x100) | |||
22:46
puddingpimp joined
|
|||
masak | 'status 1' does not mean success. | 22:48 | |
rindolf | The status 1 is returned in t/test-run-harness | 22:49 | |
masak | right. | ||
rindolf | In t/harness it does not report it. | ||
masak runs it locally. | |||
22:50
nrycrun left,
[Coke] joined
|
|||
masak | yeah, getting an error here. | 22:51 | |
Method '!fill' not found for invocant of class '' | |||
on the other hand t/spec/S09-autovivification/autovivification.rakudo (note the different file extension) runs fine. | 22:52 | ||
rindolf: would you like a small explanation of how the spectests work? | |||
22:53
jhuni joined
|
|||
rindolf | masak: yes. | 22:55 | |
masak | you've already found t/harness | 22:56 | |
its main contribution is to "fudge" the spectests before running them. | |||
22:56
alester left
|
|||
masak | the process of fudging was invented when Pugs ceased to be the only big implementation of Perl 6, and different implementations needed to share the spectests. | 22:57 | |
fudging takes directives in the t/spec *.t files, and processes the individual files into something that can be run by an implementation. | |||
the directives for Rakudo look like this: | |||
#?rakudo skip 'autoviv with push/unshift' | 22:58 | ||
this tells the fudger (1) that this directive concerns Rakudo, and (2) the test is to be commented out and skipped. | |||
the resulting file is stored with the same filename but, in the case of Rakudo, with the extension .rakudo | 22:59 | ||
*that's* the file that's run by the harness. | |||
this is necessary, because tests that need to be TODO'd or SKIP'd by Rakudo wouldn't necessarily need to be for, say, Pugs. | |||
any questions? | |||
rindolf | masak: no. | 23:00 | |
masak: I understand that. | |||
masak | rindolf: ok, back to your particular case, then. | ||
when you run t/spec/S09-autovivification/autovivification.t, and it fails, that's because it contains '#?rakudo skip' directives. | |||
it is, in other words, not an exceptional condition that this file fails. it's expected. | 23:01 | ||
rindolf | masak: so you mean the exit(1) is on purpose? | 23:04 | |
masak | the exit(1) is a consequence of getting an error from running code that the harness would have skipped. | 23:05 | |
23:07
mavrc left
23:12
Guest19368 joined
|
|||
rindolf | masak: perl t/test-run-harness t/spec/S09-autovivification/autovivification.rakudo still fails. | 23:20 | |
23:22
_kaare left
|
|||
masak | rindolf: I haven't heard of t/test-run-harness, and I don't have any such file in my (up-to-date) checkout of Rakudo. | 23:23 | |
rindolf: here, perl t/harness t/spec/S09-autovivification/autovivification.rakudo runs fine, with a PASS. | |||
rindolf | masak: I've commited it here - github.com/shlomif/rakudo | 23:24 | |
masak: what happens when you do ./perl6 t/spec/S09-autovivification/autovivification.rakudo || echo "Bad status" | |||
? | |||
masak | it runs the file, the last line is '# FUDGED!', and not "Bad status" | 23:25 | |
might be your platform, might be something else. | |||
ch3ck | hej masak \o | 23:27 | |
masak | o/ | ||
23:33
cosimo left
23:35
rindolf left
23:41
Bzek_ joined
23:43
Bzek left
23:49
sftp left
23:52
rgrau left
23:53
whiteknight joined
23:57
nymacro left
|