»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:00
thou left
00:02
tokuhiro_ joined
|
|||
thundergnat | Anyway, I watch the logs pretty regularly so if anyone has any advice, I'll probably see it even if I'm not on IRC. | 00:02 | |
00:06
thundergnat left,
whiteknight left
00:41
Targen left
01:14
sudokode left
01:16
sudokode joined
01:17
am0c joined
01:21
xinming left
01:23
xinming joined
01:35
dayangkun joined,
hypolin joined
01:38
scott_ joined,
scott_ is now known as Guest66247
|
|||
[Coke] | nqp: my %foo; %foo<bar><baz> :=1 ; | 01:41 | |
p6eval | nqp: OUTPUT«SixModelObject does not implement set_pmc_keyed_strcurrent instr.: '' pc 72 ((file unknown):48) (/tmp/E25UcKdKAF:1)» | ||
[Coke] | phenny: tell pmichaud about nqp: my %foo; %foo<bar><baz> :=1 ; | ||
phenny | [Coke]: I'll pass that on when pmichaud is around. | ||
01:59
tokuhiro_ left
|
|||
MikeFair_ waves. | 02:06 | ||
02:17
Pleiades` left
02:18
orafu left,
orafu joined
|
|||
japhb | o/ | 02:24 | |
seen jnthn | |||
aloha | jnthn was last seen in #perl6 1 days 7 hours ago saying "tomorrow evening or so". | ||
japhb | dang | ||
02:28
Pleiades` joined
02:40
Cofyc joined
|
|||
benabik | Completely OT, wasn't someone here an Amber player? | 03:02 | |
sorear | Yes | 03:12 | |
03:12
am0c left
03:13
Targen joined
|
|||
benabik remembers that he can search the logs. D'oh | 03:13 | ||
sorear | irclog.perlgeek.de/perl6/2012-03-27#i_5357813 | ||
colomon | me | 03:17 | |
colomon just realized he's been GMing Amber for over 20 years now. | 03:18 | ||
sorear | does GMing count as playing? | ||
colomon | sorear: yes. and I've played, too. | ||
sorear | I mean I know you're a huge Zelazny fan and you've been going to Ambercon for 19 years, but this is the first time you used the p-word | 03:19 | |
colomon | I've played in... hmmm... maybe ten Amber campaigns and who knows how many one-shot con games. | 03:20 | |
benabik++ | 03:35 | ||
sorear | what did benabik do? | 03:40 | |
benabik | There's a Amber DRPG play by post starting up. It is open invite if anyone else is interested. (I don't want to post the URL publicly, it's on my dinky web server.) | 03:41 | |
Not really #perl6, but "all work and no play" | 03:42 | ||
sorear | Ah. | 03:46 | |
03:55
adu joined
|
|||
MikeFair_ | [Coke]: You about, I think I might have a clue regarding the Resizable Array problem you were encountering... | 04:00 | |
04:01
kaleem joined
|
|||
MikeFair_ | [Coke]: I did an strace on the nqp --target=pir main.nqp build, and it seems that when loading the NQPHLL.pbc multiple times, the last one triggers this error | 04:02 | |
[Coke]: Did you figure this one out? | |||
04:09
kaleem left
04:25
ponbiki left
04:28
skids left
04:37
Chillance left
04:42
thou joined
04:51
marmay joined
05:11
thou left
05:13
throughnothing joined
05:15
thou joined
05:20
sudokode left
05:27
erkan joined,
erkan left,
erkan joined
|
|||
moritz | \o morning | 05:36 | |
sorear | o/ moritz | 05:44 | |
05:51
wtw joined
|
|||
MikeFair_ | moritz: Good morning (though it's still an hour before I can officially say that ;) ) | 05:54 | |
adu | morning | 05:56 | |
tadzik | thundergnat: you've found a rakudobug | ||
good morning | |||
phenny: tell jnthn serialization fail: gist.github.com/3651868 | 05:57 | ||
phenny | tadzik: I'll pass that on when jnthn is around. | ||
MikeFair_ heads to sleep | 06:02 | ||
06:02
MikeFair_ left
06:17
adu left
06:22
SHODAN left,
SHODAN joined
06:28
adu joined
06:29
adu left
06:43
FROGGS__ joined,
FROGGS joined
|
|||
FROGGS | morning | 06:49 | |
07:02
eternaleye left
07:09
eternaleye joined
07:11
brrt joined
07:12
erkan left
07:14
Cofyc left
07:15
erkan joined,
erkan left,
erkan joined
07:29
thou left
|
|||
masak | morning, #perl6 | 07:44 | |
moritz | \o masak, FROGGS, tadzik, adu | 07:46 | |
masak: what's the state of the macro fixes? | 07:47 | ||
07:49
lizmat joined
07:52
drbean left
07:53
kresike joined
|
|||
kresike | good morning all you happy perl6 people | 07:53 | |
07:59
drbean joined
08:05
drbean left
08:13
drbean joined
|
|||
sorear | good night all you 6perl folks & | 08:16 | |
08:19
drbean left,
drbean joined
08:23
Patterner left
|
|||
FROGGS | gnight sorear | 08:23 | |
Hi masak, moritz and kresike | 08:24 | ||
kresike | hello FROGGS o/ | ||
FROGGS | what are we doing today? | ||
kresike is working, and lurking in #perl6 | 08:25 | ||
08:25
Psyche^ joined,
Psyche^ is now known as Patterner
08:27
stepnem joined
08:28
leont joined
08:29
xinming left
|
|||
masak | moritz: jnthn gave me some ideas yesterday, including what's wrong with the current patch. I might have time to look at it this evening; otherwise, in the weekend. | 08:31 | |
08:32
hoelzro|away is now known as hoelzro
|
|||
masak | ooh: github.com/aanand/deadweight -- pcawley suggested that something like this be a killer app for Perl 6. that was two years ago, I believe. | 08:32 | |
08:38
daniel-s__ is now known as daniel-s
08:39
hoelzro is now known as hoelzro|away
08:40
fhelmberger joined
|
|||
sergot | probably not everyone saw this. feather.perl6.nl/~sergot/modules | 08:55 | |
feather.perl6.nl/~sergot/modules/mo...tines.html | |||
new feature ! :) | |||
please comment. :) | |||
masak | ooh | 08:57 | |
tadzik | oh, oh | 08:58 | |
sergot: the top link is broken, I wanted to fix it last night, but I guess it'll require some per-server configuration | |||
as $basedir = '/foo/bar' or so | |||
also, links on the main page could now direct to module pages :) | |||
08:59
xinming joined
|
|||
sergot | tadzik: oh, right, I'll repair this. Thanks :) | 09:00 | |
09:00
dakkar joined
|
|||
tadzik | thank you :) | 09:01 | |
09:13
cognominal_ left
09:17
erkan left
09:20
erkan joined,
erkan left,
erkan joined
09:39
hoelzro|away is now known as hoelzro
09:42
hoelzro is now known as hoelzro|away
10:02
hypolin left,
daxim joined
10:08
Guest66247 left
10:12
man joined
|
|||
man | hello | 10:12 | |
tadzik | hi man | ||
man | hey | ||
can u help in perl problem | 10:13 | ||
tadzik | is that Perl problem, or Perl 6 problem? | ||
man | its a program in perl | ||
10:13
tomaw_ joined
|
|||
man | i m a beginner | 10:13 | |
tadzik | this channel is dedicated to Perl 6; for Perl 5, you may want to go to #perl | 10:14 | |
man | i need to write a perl script to store every word in a file as a key in hash | ||
tadzik | is that a homework of some sort? | 10:15 | |
man | i m a beginner and its a part of my project | ||
i tried doing a script but not getting the result | 10:16 | ||
10:16
dayangkun left
|
|||
tadzik | is that to be a Perl 5 program or Perl 6 program? Those are 2 different languages | 10:17 | |
not 2 versions of the same one | |||
man | perl 6 | 10:18 | |
10:18
man left
|
|||
tadzik | *shrug* | 10:18 | |
masak | dang, I was curious what his problem was ;) | 10:24 | |
but most likely, it was 200 lines of horrific Perl 5. so, no big loss. | 10:25 | ||
daxim | tadzik, next time just ask for the code | ||
tadzik | daxim: I was about to do it after "perl 6" | ||
daxim | it saves you one step | ||
tadzik | right | 10:27 | |
masak .oO( "no! don't paste it directly in the channel! noooooo...!" ) | 10:29 | ||
10:35
hoelzro|away is now known as hoelzro,
sudokode joined
|
|||
daxim | you're melting, you're melting? | 10:36 | |
masak | :) | 10:39 | |
10:45
tomaw left,
tomaw_ is now known as tomaw
10:49
jaldhar joined
10:57
leont left
11:11
hoelzro is now known as hoelzro|away
11:16
tokuhiro_ joined
|
|||
Juerd | What's the size of a build tree of your favorite perl6 implementation, after build? | 11:18 | |
(Rough estimates are okay) | |||
moritz | 460Mrakudo/ | 11:19 | |
460M rakudo/ | |||
Juerd | For a new feather (physical box), I think it makes sense to investigate SSDs as an option. | ||
moritz | currently we have ~106GB? | 11:22 | |
11:26
JJ_Brain joined
|
|||
Juerd | Something like that | 11:28 | |
JJ_Brain | gtg | 11:29 | |
11:30
JJ_Brain left,
crab2313 joined
|
|||
pmichaud | good morning, #perl6 | 11:55 | |
phenny | pmichaud: 05 Sep 22:10Z <[Coke]> tell pmichaud that "existkey" is metioned in the docs but doesn't exist. | ||
pmichaud: 01:41Z <[Coke]> tell pmichaud about nqp: my %foo; %foo<bar><baz> :=1 ; | |||
11:56
tadzik is now known as N950,
N950 is now known as tadzik
|
|||
masak | pmichaud! \o/ | 11:56 | |
pmichaud | hmmm, my irssi or screen session is malfunctioning. may need to restart. | 11:57 | |
11:59
henrys_ joined
|
|||
moritz | good am, pm | 12:00 | |
12:01
fgomez left
12:02
henrys_ left
12:03
fgomez joined
12:04
att joined
12:05
dayangkun joined
12:24
dalek left,
dalek joined,
ChanServ sets mode: +v dalek
|
|||
lizmat | Juerd: are SSD's reliable enough these days? Or would it make sense to have a "classic" hard drive in the new feather as well? | 12:40 | |
tadzik | I find them reliable :) | ||
but I only use mine for about 3-4 months | |||
lizmat | :-) | ||
brrt | lizmat: afaik, its a price thing, you can have really reliable ssds butthey are pricey | 12:41 | |
lizmat | ack, same here with Wendy's notebook | ||
all ok so far… but she also has a hard disk for making backups :-) | |||
anyways, I need to be off for probably the rest of today | |||
12:42
lizmat left
|
|||
[Coke] | morning, pmichaud. | 12:44 | |
dalek | osystem: 13912e0 | (Alexandr Alexeev)++ | META.list: added Sitemap::XML::Parser |
12:45 | |
osystem: d401129 | tadzik++ | META.list: Merge pull request #12 from afiskon/patch-1 added Sitemap::XML::Parser |
|||
moritz | tadzik: when you merge those pull requests, please keep a list of the github nick names | ||
tadzik: so that I can give them commit access later | 12:46 | ||
tadzik | I think there's a pull request history | ||
yes, there is | |||
moritz | \o/ | 12:47 | |
[Coke] | sorear: OOC, why the interest in partcl on nqp? | 12:48 | |
[Coke] wonders if there's a way to tell diff "pretend that any thing with a leading # removed is otherwise the same." | 12:51 | ||
FROGGS | [Coke]: man diff says: -I, --ignore-matching-lines=RE | 12:53 | |
ignore changes whose lines all match RE | |||
moritz | FROGGS++ | 12:54 | |
FROGGS | rtfm++ | ||
moritz | fm++ | ||
FROGGS | absolutely | 12:55 | |
12:56
PacoAir joined
|
|||
sirrobert | in: for @foo -> $bar { ... } | 12:59 | |
is the $bar implicitly scoped with "my"? | |||
or should I get in the habit of doing it explicitly? | |||
moritz | it's scoped the signature and the block | ||
[Coke] | I don't want to ignore the line, just the leading #. | ||
sirrobert | it's scoped to the following block | ||
moritz: thanks | |||
[Coke] | so if I change #foo to bar, tell me, but not if I change #foo to foo. | 13:00 | |
moritz | you can write -> $bar, $flurb = $bar { } | ||
[Coke] | niche request. I can handle it maually. | ||
timotimo | WHOA. diff can output diffs with #ifdef? that's amazing. | ||
masak | sirrobert: yes. besides the slight differences between parameters other local variables, $bar is essentially my-scoped. | ||
moritz | .oO( #ifdiff ) |
||
masak | sirrobert: you can't put 'my' before $bar, because it's a signature. | ||
sirrobert | makes sense, thanks | 13:01 | |
13:02
PacoAir left
|
|||
timotimo | [Coke]: personally, i'd make a "transformation" where i remove initial # from all lines in both files and diff them | 13:02 | |
if that's at all feasible for you in this case | |||
13:02
PacoAir joined,
cognominal_ joined
|
|||
timotimo | you may need a backtransformation later to get a proper diff, though. that shouldn not be terribly much work, though, if your diff isn't terribly huge | 13:03 | |
moritz | my new boss just told me to take longer to solve problems :-) | 13:06 | |
timotimo | oh, that's a nice compliment, isn't it? | ||
moritz | aye | ||
FROGGS | or it means that it didnt work what you did and you should be more careful | ||
moritz | though there's some serious background: he has to explain quite a few things before I'm able to work on the stuff | ||
FROGGS | but hey, cant be, you are moritz ;o) | 13:07 | |
timotimo | oh, so by solving problems fast, you use up more of his time? | ||
moritz | timotimo: correct | ||
FROGGS: you don't know me very well, I'm actually quite sloppy | |||
FROGGS | I just can tell what I see, and that looks good to me | 13:08 | |
sirrobert | I recall some operator that coerces to Bool (not !!)... any clues? | 13:14 | |
FROGGS | so | ||
colomon | ? | ||
sirrobert | FROGGS: yes! | ||
thanks | |||
FROGGS | ;o) | ||
cool, I actually be of any help | |||
colomon | sirrobert: ? does as well | ||
sirrobert | colomon: ahh! good to know | 13:15 | |
are they perfectly synonymous? | |||
moritz | just difference precedence | ||
colomon | no. | ||
moritz | ? is tighter, so is looser | ||
colomon | what moritz said | ||
moritz | but the semantics are the same | ||
sirrobert | cool | ||
I want looser this time, but great to know | |||
moritz | faq.perl6.org/#so | ||
sirrobert | nice | 13:16 | |
13:18
bluescreen10 joined
|
|||
sirrobert | I think I'll write something like an interactive p6 grammar/syntax tool lookup | 13:20 | |
are the doc.perl6.org generated out of the POD? | 13:21 | ||
moritz | yes | ||
script htmlify.pl in the perl6/doc repo | |||
sirrobert | nice | ||
looking | |||
moritz | feel free to integrate your tool with bin/p6doc in that same repo | 13:22 | |
that's what it is supposed to do in the future | |||
sirrobert | ohhh cool | ||
even better | 13:23 | ||
moritz | though it'll be qutie some time until I get around to do it, so if you want to do parts of it, that would be really nice | ||
sirrobert | sure | ||
I'd much rather put my resources to an existing project | |||
need to finish my current task (a controller dispatcher for api requests... looking nice so far =) | 13:24 | ||
in "method foo:bar () { ... }" is there anything weird happening with the colon? | 13:26 | ||
or is it just a name with a colon | 13:27 | ||
timotimo | r: method foo:bar(){...} | ||
p6eval | rakudo cc1858: OUTPUT«Useless declaration of a has-scoped method in mainline» | ||
timotimo | oh, duh :) | ||
r: class A { method foo:bar(){...} }; say &A.foo:bar | |||
p6eval | rakudo cc1858: OUTPUT«No such method 'foo' for invocant of type 'Nil' in block at /tmp/yWJpwCybx7:1» | ||
sirrobert | r: class A { method a:b () { say 'foo'} }; A.new.a:b(); | ||
p6eval | rakudo cc1858: OUTPUT«No such method 'a' for invocant of type 'A' in block at /tmp/VCZCfBN5q3:1» | ||
timotimo | okay, i'll figure it out! | ||
sirrobert | hmm | ||
timotimo | r: class A { method foo:bar(){...} }; my $a = A.new; say &A.foo:bar; say &A.foo; say &A.bar; | 13:28 | |
p6eval | rakudo cc1858: OUTPUT«No such method 'foo' for invocant of type 'Nil' in block at /tmp/P8Ft4ltx4r:1» | ||
sirrobert | curiously it declares fine, and you can do MOP stuff with it | ||
timotimo | r: class A { method foo:bar(){...} }; my $a = A.new; say &($a.foo:bar); say &($a.foo); say &($a.bar) | ||
p6eval | rakudo cc1858: OUTPUT«No such method 'foo' for invocant of type 'A' in block at /tmp/wjWY0yp3HH:1» | ||
timotimo | i'm not good at this :( | 13:29 | |
sirrobert | r: class A { method a:b () { say 'foo'} }; A.new."a:b"(); | ||
p6eval | rakudo cc1858: OUTPUT«foo» | ||
sirrobert | I guess the parser gets confused because of the colon-for-args syntax | ||
timotimo | maybe A.new.a:b() parses as infix:<:>(A.new, b())? | 13:30 | |
sirrobert | well, not *confused* | ||
[Coke] | nqp: my $foo := -> { say("eek") }; $foo(); | ||
p6eval | nqp: OUTPUT«Missing block at line 2, near "-> { say(\""current instr.: 'panic' pc 19998 (src/stage2/gen/NQPHLL.pir:7314) (src/stage2/gen/NQPHLL.pm:325)» | ||
sirrobert | I think it gets parsed as: A.new.a(b()) | ||
[Coke] | r: my $foo := -> { say("eek") }; $foo(); | ||
p6eval | rakudo cc1858: OUTPUT«eek» | ||
timotimo | oh, that makes some sense. | ||
13:30
nnunley joined
|
|||
timotimo | we can test that! | 13:31 | |
sirrobert | [Coke]: what's := -> ? | ||
moritz | := is binding | ||
timotimo | -> is for lambdas, no? | ||
moritz | and -> introduces a pointy block | ||
aka lambda, yes | |||
sirrobert | didn't know either of those =) | ||
moritz | nqp: my $foo = { say('eeks') }; $foo() | ||
p6eval | nqp: ( no output ) | ||
[Coke] needs that in nqp for partcl-nqp to work, hethinks. | |||
sirrobert | oh, I guess it's the -> from a for loop | ||
moritz | nqp: my $foo := { say('eeks') }; $foo() | ||
p6eval | nqp: ( no output ) | ||
timotimo | r: class A { method foo:bar(){ say "foo bar called" }; method foo(){ say "foo called"} }; sub a() { say "a called" }; A.new.foo:bar() | ||
p6eval | rakudo cc1858: ( no output ) | 13:32 | |
timotimo | oh, huh? | ||
moritz | nqp: say('sanity') | ||
p6eval | nqp: ( no output ) | ||
moritz | nr: say 42 | ||
p6eval | rakudo cc1858, niecza v21-1-ga8aa70b: ( no output ) | ||
moritz | oh noez | ||
timotimo | whoopsie. | ||
sirrobert | heh | ||
[Coke] | nqp: say(3); | ||
p6eval | nqp: ( no output ) | ||
[Coke] | O_o | ||
timotimo | time for a test suite that sends a few basic eval lines to the bot in a query to see if everything works? | ||
tadzik | r: say " ( no output ) | 13:33 | |
p6eval | rakudo cc1858: ( no output ) | ||
timotimo | ah, it works! | ||
but only for *some* outputs! | |||
13:33
p6eval left
|
|||
diakopter | p6: boo | 13:34 | |
moritz | let's try it with a bot restart | ||
13:34
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
timotimo | r: say " ( no output ) | 13:34 | |
why does that even work without an additional " at the end? | |||
diakopter | masakbot: poing | ||
moritz | because it's p6eval that produces ( no output ) | ||
r: say 42 | |||
p6eval | rakudo cc1858: ( no output ) | 13:35 | |
timotimo | wouldn't it display an error instead? lie it did before? | ||
diakopter | moritz: did you see my unreported rabugkudo yesterday | ||
timotimo | oh, gotta run, bbl | ||
[Coke] | r: say " | ||
p6eval | rakudo cc1858: ( no output ) | ||
moritz | diakopter: no | ||
colomon | r: say '' this is a | ||
p6eval | rakudo cc1858: ( no output ) | ||
moritz | I don't know what's up with p6eval | ||
13:35
p6eval left
|
|||
moritz | $ . ~/nom-inst/bin/perl6 -e 'say 42' | 13:36 | |
-su: .: /home/p6eval/nom-inst/bin/perl6: cannot execute binary file | |||
any idea what would cause such a message? | |||
oh | 13:37 | ||
file ~/nom-inst/bin/perl6 | |||
/home/p6eval/nom-inst/bin/perl6: ELF 32-bit LSB | |||
$ uname -a | |||
Linux feather3 2.6.32-5-amd64 #1 SMP Mon Mar 7 21:35:22 UTC 2011 x86_64 GNU/Linux | |||
masak | mystery solved. | ||
moritz | did somebody just change the architecture of feather{1,3}? | ||
diakopter | heh | 13:38 | |
I thought 32-bit could run unmodified on 64-bit | |||
or is that just Windows | 13:39 | ||
moritz | I dunno. /bin/echo is also a 32 bit ELF, and runs fine | ||
arnsholt | I think, 32-bit can run on 64-bit, but all the libraries have to be 32-bit as well, IIRC | ||
diakopter | what's the age of the kernel file | 13:40 | |
kresike | moritz, don't you have disk read errors in dmesg ? | 13:42 | |
moritz | no, just segfaults | ||
13:43
GlitchMr joined
13:47
stopbit joined
|
|||
moritz | diakopter: I can't even find the kernel file | 13:50 | |
dalek | rlito: fa54da2 | (Flavio S. Glock)++ | / (2 files): Perlito5 - javascript: update TODO (reference counting) |
13:51 | |
13:51
benabik left
13:52
benabik joined
13:55
atrodo joined
13:58
FROGGS left
13:59
FROGGS__ left,
FROGGS__ joined
14:07
fhelmberger left
14:10
phenny left
14:11
FROGGS joined,
thou joined
14:15
phenny joined
|
|||
timotimo | moritz: on my system, i have /proc/kcore, which seems to be the kernel image | 14:18 | |
kcore: ELF 64-bit LSB core file x86-64, version 1 (SYSV), SVR4-style, from 'BOOT_IMAGE=/vmlinuz-3.2.0-3-amd64 root=UUID=463414d4-50c5-49e7-855f-be37db23f378' | |||
would that help at all? | |||
diakopter | some virtualization modes don't expose a kernel | 14:20 | |
timotimo | oh, that makes sense, too. | 14:22 | |
14:24
sjn left,
benabik_ joined
14:25
skids joined
14:27
benabik left,
benabik_ is now known as benabik
14:29
dayangkun left
14:30
Circlepuller left,
Circlepuller joined
14:33
Circlepuller_ joined
14:34
fgomez left,
sjn joined
|
|||
sirrobert | Is there a builtin that converts a string to something numerical iff possible? | 14:34 | |
14:35
hoelzro|away is now known as hoelzro,
Circlepuller left
|
|||
masak | sirrobert: prefix:<+> | 14:35 | |
sirrobert | oh, right | 14:36 | |
thanks | |||
masak | rn: say +"42 penguins" | ||
tadzik | p6eval is down | ||
masak | oh, still? sorry to hear that. | ||
locally: | 14:37 | ||
$ nom -e 'say +"42 penguins"' | |||
Cannot convert string to number: trailing characters after number in '42⏏ penguins' (indicated by ⏏) | |||
$ nom -e 'say +"42"' | |||
sirrobert | I can use: (+$foo || $foo) | ||
masak | 42 | ||
sirrobert: infix:<//> is probably more what you mean there. | |||
sirrobert: otherwise 0 will default back to the string. | |||
sirrobert | I thought it might be.. | 14:38 | |
ahh | |||
I couldn't think of the case that made the difference | |||
masak | that's the difference here. | ||
infix:<||> defaults for all falsy values. | |||
14:38
nwc10 joined
|
|||
masak | infix:<//> defaults for all undefined values (a subset of the falsy ones, most of the time) | 14:38 | |
sirrobert | got it | 14:39 | |
(+"0" // "0").WHAT # Int() | |||
(+"0" || "0").WHAT # Str() | |||
masak | right. | 14:40 | |
14:41
wtw left
|
|||
sirrobert | what provides p6eval? a bot running on ... perl6.org? | 14:41 | |
we should definitely wire that into the interactive docs | 14:42 | ||
14:42
raiph joined
|
|||
GlitchMr | sirrobert: feather3 | 14:43 | |
sirrobert | hmm | ||
looking | 14:44 | ||
raiph | hi all | ||
GlitchMr | It's running on feather3 sandbox | ||
Also, github.com/perl6/evalbot | |||
14:45
telex left,
tokuhiro_ left
|
|||
raiph | i'm #perl6-warnocked on irclog.perlgeek.de/perl6/2012-09-04#i_5961151 | 14:45 | |
got feedback from uvtc: www.reddit.com/r/perl/comments/zazl...01/c63mjwc | |||
14:46
telex joined
|
|||
masak | raiph: I wouldn't do red at all there, just bold. | 14:46 | |
raiph: or maybe a very dark green. | |||
(but still bold) | |||
raiph | i hope to start preparing this week's summary tonight. i'm hoping for feedback before then. | ||
masak: thanks. agreed. | 14:47 | ||
GlitchMr | But perhaps it would be possible | ||
masak | "red" means "wrong" :) | ||
at least in a lot of contexts. | |||
FROGGS | .oO( red is the color of love ) |
14:48 | |
GlitchMr | Perl 6 startup is slow (Rakudo is like 1.6s, Niecza is 1s) on empty script | 14:49 | |
But perhaps if Perl 6 would be already ran... | |||
tadzik | 1.6s? What hardware is that? | ||
It's about 0.25 on my old laptop | 14:50 | ||
GlitchMr | feather1 | ||
FROGGS | less then half a second on my box I'd say | ||
tadzik | is that a fresh nom on feather1? | ||
GlitchMr | I haven't checked with nom | 14:51 | |
I have checked 2012.08 | |||
Perhaps nom is faster, I don't know | |||
tadzik | 2012.08 is fresh | ||
14:54
marmay left
|
|||
GlitchMr | See tryhaskell.org/ for example | 14:55 | |
Everything reacts very quickly | |||
14:57
kst left
|
|||
sirrobert | perl6 -e "" takes about 0.1 second for me | 14:58 | |
14:58
erkan left
|
|||
FROGGS | perl -MTime::HiRes -e '$t=Time::HiRes::time; `perl6 -e ""`; print Time::HiRes::time-$t' # 0.241441965103149 | 14:59 | |
GlitchMr | wait what | ||
sirrobert | use: time perl6 -e "" | ||
GlitchMr | -e is way faster than reading code? | ||
Why? | |||
I know that filesystem IO could be slow, but not that slow | |||
benabik | It takes about 1.6s either way on my machine. | 15:00 | |
sirrobert | time perl6 foo.pl #contains "use v6;" | ||
real0m0.325s | |||
GlitchMr | what? | ||
sirrobert | use: time perl6 -e "" # real0m0.272s | ||
GlitchMr | real 0m0.291s | 15:01 | |
what | |||
FROGGS | GlitchMr: its the same speed for doing -e '' or using an empty file | ||
s/for/for me/ | |||
GlitchMr | But now it's apperently faster | 15:02 | |
Even when reading empty file. | |||
I don't know | |||
daxim | now = after the disk cache is hot? | ||
FROGGS | that wouldnt explain a whole second | ||
GlitchMr | gist.github.com/3657109 | 15:03 | |
That was original result | |||
But yeah, probably some random delay | |||
It doesn't happen now | |||
sirrobert | nod | 15:04 | |
TimToady | maybe it just hadn't had its morning coffee yet | ||
GlitchMr | The lesson being - don't trust single "time" run | ||
FROGGS | thats true for testing threads too | 15:05 | |
I learned that the hard way | |||
sirrobert | that's true for testing anything ;) | ||
daxim | run this many times, throw the outliers away, then determine the median | ||
GlitchMr | But if 2 + 2 says you 5 then things are wrong anyways | 15:06 | |
Or perhaps definition of 2 has changed | |||
FROGGS | maybe its the operator now O.o | ||
GlitchMr | But perhaps you need additional runs... | ||
dalek | rlito: 966c1c8 | (Flavio S. Glock)++ | / (4 files): Perlito5 - javascript - bugfix (#5) - $| not predeclared |
15:07 | |
kresike | bye folks | ||
15:07
kresike left
15:14
kaare__ joined
15:20
hoelzro is now known as hoelzro|away
|
|||
sergot | moritz, Juerd: is there any possibility to update rakudo on feather1 ? | 15:21 | |
cron uses the old one | |||
Juerd | sergot: What's needed is someone who will compile it | ||
sergot: The current one is a symlink to ingy's homedirectory. He hasn't maintained that Rakudo build in ages :) | |||
I personally don't want to do it because then people will think I'll maintain things on feather, which I don't :) | 15:22 | ||
But if you'll compile rakudo, I'll gladly point that symlink to your binary. | |||
sergot | Juerd: you can use p6eval bot's rakudo, can't you? :) | 15:23 | |
It's /home/p6eval/nom/perl6 | |||
sirrobert | r: 'a' ~~ / ^'b' / | 15:25 | |
Juerd | I can do that. I'll symlink it. | ||
sirrobert | oh, right | ||
sergot | Juerd++ thanks. :) | 15:26 | |
Juerd | Done | ||
sirrobert | ok: how do I match "not char x" in a regexp? | ||
FROGGS | it was [^x] | ||
but I have no idea how it is now | |||
sirrobert | me neither =) | ||
I tried [^x] already | 15:27 | ||
TimToady | std: /[^x]/ | ||
ENOBOT | |||
should say: [^x] appears to be an old-school character class; please use <-[x]> if you mean a character class | 15:28 | ||
masak .oO( today, we all have to be evalbots ) | |||
FROGGS | that gives me true: perl6 -e 'say so "abc" ~~ /<-[b]>/' | 15:29 | |
TimToady | yes, it found a character that was not b | ||
FROGGS .oO( thinks of a cool evilbot name for himself ) | 15:30 | ||
-.- | |||
ya, I'm a bit stupid :o) | |||
sirrobert | I have something in the format 'foo/bar/baz'. I want to catch bar and baz as args to foo | ||
(I'm using a grammar) | |||
masak | FROGGS: momentary stupidity happens to all of us. the trick is to do great stuff during one's similarly brief smart moments ;) | ||
TimToady | I'd use a subrule to match the latter two | 15:31 | |
sirrobert | subrule... hm | ||
FROGGS | masak: I'll keep that in mind *g*, thanks | ||
masak | FROGGS: and then there are various ways to increase one's averages, and decrease the standard deviation... | ||
TimToady | even better if you can do the smart thing *because* of the stupid thing | ||
being stupid is an opportunity :) | |||
sirrobert | TimToady: I had something like: token foo { 'foo' <arg> <arg> } | 15:32 | |
is that ('arg') what you mean by subrule? | |||
TimToady | I've made a whole living from that... | ||
sirrobert | I see it in S05 | 15:33 | |
TimToady | but if it's variadic you want <arg>* | ||
sirrobert | ok. I can't seem to get that set of rules/subrules to work. | ||
TimToady: nod | |||
still working on making the match work with a fixed number =) | |||
masak | sirrobert: are you using automated tests? | ||
sirrobert | masak yeah | 15:34 | |
^: | |||
masak | sirrobert: it's a really good combination with grammars. | ||
sirrobert | masak: yeah, we have a pretty strict test policy (integration and unit are required for all commits) | ||
masak | nice. | ||
sirrobert | a little looser on unit =) | ||
unit tests are weird with LISPs | 15:35 | ||
masak | nowadays when I develop a new grammar, I do it with test-first development. | ||
it's one of the few situations where I prefer to iterate with strict TFD. | |||
sirrobert | yeah | ||
masak | and it works really well for that. | ||
sirrobert | I'm trying to get the aforementioned test to work =) | 15:36 | |
foo/bar/baz to match: token { 'foo' <arg> <arg> } | |||
haven't been able to so far (I guess the problem is in the definition of <arg>) | |||
but I can't figure out how to say 'match up to char x' | |||
masak | sirrobert: you realize that you're using 'token', not 'rule', so whitespace is not significant? | 15:37 | |
sirrobert | masak: nod | ||
masak | good. | ||
sirrobert | found out about that Tuesday ;) | ||
masak | :) | 15:38 | |
15:46
ChoHag left
15:51
FROGGS left,
FROGGS__ left
15:53
ChoHag joined
15:59
brrt left
16:03
MayDaniel joined
16:08
average_drifter left
|
|||
GlitchMr | Grammars are amazing. You don't have to write ugly regexpes like | 16:12 | |
\A(?=\s*[[{])(\s*(?:("(?:[^\x00-\x1F\\"]|\\(?:["\\/bfnrt]|u[0-9A-Fa-f]{4}))*")|-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?|\{(?:(?-1):(?-2)(?:,(?-1):(?-2))*)?\}|\[(?:(?-2)(?:,(?-2))*)?\]|true|false|null)\s*)\z | |||
(ok, I know you can use /x, but grammars still look nicer) | 16:13 | ||
masak | well, PCRE-like regex syntax was designed over a long time and with severe constraints of backwards compatibility. so it's not so strange that grammars look nicer. :) | 16:18 | |
16:18
pat_js joined,
nebuchadnezzar left
16:19
pyrimidine joined
16:21
FROGGS__ joined,
FROGGS joined
|
|||
TimToady | "Break everything that needs breaking", we said, and regexes are at the front of that line. | 16:21 | |
arnsholt | First against the wall when the revolution came | 16:22 | |
16:23
nebuchadnezzar joined
|
|||
mst | regular expressions' compactness is a huge win for interactive whipuptitude | 16:23 | |
16:23
pat_js left
|
|||
TimToady | sure, but it should be optional, not required... | 16:23 | |
PerlJam | That would make a good cartoon. A bunch of coffee mugs labeled for various bits of Perl 5 that needed breaking for Perl 6 and someone throwing them against a wall and another someone using those pieces to build a big "Perl 6" or something | 16:24 | |
16:24
pat_js joined,
pat_js left
|
|||
mst | grammars' expressivity is a huge win for long term manipulexity | 16:24 | |
I think what we're really breaking here is people's tendency to reach for regular expressions for things they just don't work for, at all | |||
PerlJam | mst: we can only hope that's the case. | ||
mst | api.metacpan.org/source/MSTROUT/Web.../Parser.pm | ||
Juerd | mst: In my experience, Perl 6 regexes are very typable. Especially (?:) that's optimized to [] is a big win, and so are <before ...> which I find easier to type than (?=...). The punctuation's tough. | 16:25 | |
16:25
pat_js joined
|
|||
mst | the way I use regexps in there isn't particularly horrible | 16:25 | |
TimToady | "I know, I'll use regular expresssions. Now I have 10 types of problems." | ||
mst | in that it'd probably be nicer using grammars, but it's not particularly unnice without | ||
TimToady: "Now you have /(?:problem){2,}/s" | |||
masak .oO( another way to recognize p5ers... they say "regexps", not "regexes"... ) :P | 16:26 | ||
Juerd | Repetition sucks in p6regexes. | ||
TimToady | 'problem' ** 2..* # you mean this? | ||
Juerd | masak: Nah, I switched to regexes long before I even heard about Perl 6 :P | ||
mst | but grammars seem to me to invite the user to apply the sort of discipline to your thinking that you only learn to apply to regexps through shooting yourself in the foot repeatedly | ||
Juerd | TimToady: Yes. I find that syntax hard to remember and hard to parse visually. | ||
masak | Juerd: sure. it's not a sure-fire way to recognize p5ers. | 16:27 | |
16:27
am0c joined
|
|||
TimToady | well, I'd argue that repetition of that form *should* be hard to read :) | 16:27 | |
masak | Juerd: the mnemonic for infix:<**> is quite nice, I think. it's a kind of exponentiation, because 'xxx' is 'x ** 3'. | ||
PerlJam | Juerd: you get used to it after a while. | ||
masak | Juerd: but I use infix:<**> quite rarely. | ||
Juerd | masak: Oh, did the x operator go away? | 16:28 | |
PerlJam | Juerd: also, once you "box it" in your head correctly, it seems "natural" | ||
TimToady | which is why it should be hard | ||
Juerd | I don't use {4} much at all in p5, but I do use {4,} a lot. | ||
masak | Juerd: the infix:<x> operator is for the main slang. infix:<**> is in the regex slang. | 16:29 | |
TimToady | well, we certainly weren't going to waste precious brackets on it | ||
Juerd | And going from xx{4,} to 'xx' ** 4..* feels like a huge step backward. I'll just have to get used to it, perhaps. | ||
PerlJam | maybe we should use postfix ^ to mean, "from here on" so, 4^ is the same as 4..* ;-) | ||
Juerd | masak: Sorry, I was confused for a second. | ||
masak | no prob :) | ||
16:29
pmichaud left
|
|||
masak | yeah, I don't see the huge step backward. | 16:30 | |
Juerd | TimToady: I understand and agree. I've tried to come up with an alternative but couldn't think of any... except the backtick of course ;) | ||
masak | also xx{4,} would mean x(?:x{4,}) | ||
Juerd | True. | ||
16:31
pmichaud joined
16:33
bob___ joined
|
|||
GlitchMr | sub postfix:<^> { $^a .. * } | 16:34 | |
I guess it's something that shouldn't happen? | |||
masak | GlitchMr: I have no idea what you're asking. | 16:35 | |
GlitchMr | perl6: sub postfix:<^> { $^a .. * }; (5^4).perl.say; | ||
masak | evalbot is down. | ||
GlitchMr | lol | ||
masak | but if that had run, I think you would get a TTIAR from the 4. | 16:36 | |
TimToady | and that'd be two terms in a row | ||
Juerd: also, there's some subtle editorial pressure here that if you've designed a language that has arbitrary repetition counts, yer doing it rwong. | 16:38 | ||
16:39
xinming left,
xinming joined
|
|||
TimToady | there is no instance of ** repetition in the Perl 6 grammar, in fact | 16:40 | |
TimToady recognizes that the write of the regex is not necessarily in charge of the design of language being parsed :) | 16:41 | ||
*writer | |||
and that languages designed for hardware often must enforce the arbitrary limits imposed by the hardware | 16:42 | ||
otoh, merely failing to match is probably the wrong approach for situations where you want to give a better error message | 16:44 | ||
"You provided 7 args, but only 4 are allowed here" | |||
In general, catching semantic errors with syntax is not very user friendly. | 16:48 | ||
Juerd | TimToady: In a language, sure, but when parsing arbitrary text, looking for phone numbers for example, it's really useful to require at least N digits. | 16:50 | |
4 is very unlikely to be a phone number, 12384877234 might be one, though. | 16:51 | ||
TimToady | yes, you didn't design that language | ||
but if you're designing a phone to do autodialing, you have to allow for dialing short numbers too, in case you want to dial an extension | |||
Juerd | Yes, that is true. | 16:52 | |
TimToady | I've seen lots of phones that assumed, for instance, north american telephone number schemes when they shouldn't | 16:53 | |
modem manufacturers usually got it right though | |||
anyway, that's why it's merely a subtle editorial policy :) | 16:54 | ||
arnsholt | I was impressed with my clever phone the other day. It detected when I was dialling a US number (from a Norwegian phone) and grouped the digits 3/3/4 | ||
TimToady | without a 1 on the front? | 16:55 | |
that seems a bit presumptious... | 16:56 | ||
16:56
diakopter___ joined
|
|||
TimToady | *tuous | 16:56 | |
arnsholt | No, with the +1 | ||
16:56
diakopter___ left
|
|||
TimToady | ah, well, then | 16:56 | |
arnsholt | Wouldn't have worked without that, after all | ||
TimToady | NA still has a bit of weight in the world :) | 16:57 | |
the USA is important, and Canada is, well, big... :) | |||
very very big | 16:58 | ||
arnsholt | (And lucky enough to use the same phone numbers) | ||
masak | TimToady: they're bigger than Australia, and it's a continent! :P | ||
TimToady | +1 | ||
TimToady thinks North Dakota is really Canada in disguise, sneaking a couple senators into Washington, D.C. | 17:00 | ||
it used to be that phone exchanges in the US allowed you to leave the 1 off the front of long distance numbers because all area codes had 0 or 1 as the middle digit, and none of the exchanges did | 17:02 | ||
but then they ran out of area codes | 17:03 | ||
(of that form) | |||
talk about design decisions that won't scale... | |||
diakopter | prefix-free phone numbers | 17:05 | |
arnsholt | We have prefix-free phone numbers. Of course that means you always have to dial all eight digits =) | 17:06 | |
TimToady | I wish, rather than overlaying area codes, that they'd just add more digits on the end | 17:07 | |
PerlJam | which end? :) | ||
TimToady | the right end :) | ||
PerlJam | I dunno. I think in a few decades phone numbers won't be important enough to be part of the user interface anymore. | 17:08 | |
FROGGS | thats not that simple, the numbers before that suffix mustn exist already | 17:09 | |
I guess you will dial ipv6 "numbers" in a few years | |||
like :::6f:7 or what it looks like | |||
TimToady | as long as telemarketers have identifiable ipv6 numbers, I'm all for it | 17:10 | |
FROGGS | right | ||
PerlJam | or you won't *dial* at all. | 17:11 | |
TimToady | |||
^ autopun of "That goes without saying." | 17:12 | ||
PerlJam | We're already talking to our cell phones, why not the others as well? | ||
FROGGS | my college's phone at home responses to a blacklist from web like "the number you dialed is not available" | ||
but he is some sort of guy that can check the temperature at from anywhere using his smartphone (nagios) | 17:13 | ||
sirrobert | What's the syntax for a named capture? | 17:15 | |
TimToady | <foo> is the easiest | 17:16 | |
$<foo> = [ ... ] to get fancy | |||
sirrobert | What's the next easiest? | ||
ok, thanks | |||
TimToady | in between is <foo=.bar> | ||
but that only works to name assertions that could already go inside <> | |||
sirrobert | r: say test | 17:17 | |
FROGGS | no bot, no fun | ||
TimToady | of course, you *could* just read S05 | ||
sirrobert | s05 reads more like a spec than a tutorial ;) | 17:18 | |
TimToady | well, every time we explain something here, we don't explain something there :) | ||
sirrobert | heh nod. It's just that the synopses are in engineering order, but I'm at the level of needing things in educational order. | 17:19 | |
TimToady | ja | ||
17:19
benabik left
|
|||
sirrobert | still, I'm learning to use them better and better | 17:20 | |
PerlJam | sirrobert: What's "education order" for you exactly? | ||
TimToady | tutorials should be designed to help you use the references :) | ||
PerlJam | (maybe that could be the start of a good tutorial) | ||
sirrobert | both: agreed | ||
FROGGS | PerlJam: arange it from a simple task (with a simple solution) to the harder ones | 17:21 | |
well, we now know that there are no impossible things at all ;o) | |||
PerlJam | FROGGS: my simple and your simple will be two very different things. It's the people who are actually in the midst of learning who know where the rough spots are. | ||
TimToady | Teach a man to burn a fish, and, er, it'll stay burnt after it's dead. | 17:22 | |
or something like that | |||
It'll stay burnt after he's dead too... | 17:23 | ||
FROGGS | ohh, I can burn fish^^ | ||
PerlJam: I guess there are some good articles on the net covering this problem (not perl specific ones) | 17:24 | ||
PerlJam thinks it's really time for "Learning Perl 6" to be written. | |||
FROGGS | PerlJam: ya, that would be sweet! | ||
TimToady is clever enough this morning to appreciate his own cleverness, without being clever enough to notice that it's not clever enough... | |||
17:25
am0c left
|
|||
PerlJam | I wonder how much prodding it would take to get bdf and merlyn to write stuff | 17:25 | |
FROGGS | and this time I wont forget to ask TimToady for a sign when standing next to him holding a new copy of programming perl -.- | ||
PerlJam | (and would they be amenable to accepting stuff we've already written (even if just in our heads ;) | ||
) | |||
17:26
am0c joined
|
|||
PerlJam | I bet you could get 4 or 5 chapters of LP6 from #perl6 without too much difficulty | 17:27 | |
FROGGS | well, it dont has to cover everything | ||
PerlJam | Just like the "Using Perl 6" book though, the trick is putting it all together into a cohesive whole | ||
sirrobert | because of the breadth, I'd break it up into a series | ||
FROGGS | +1 | 17:28 | |
TimToady | there's that country code again | ||
PerlJam | heh | ||
FROGGS | hehe | ||
masak | "cohesive whole" is probably very related to "designed by a single mind". Fred Brooks talks about that. | 17:29 | |
PerlJam | yep | 17:30 | |
TimToady | +1 a capitalist memeplot to convince us that the US can only prosper through incremental growth | ||
*is a | 17:31 | ||
TimToady should quit emitting random permutational humor (?) and go do something useful... | 17:32 | ||
TimToady usually goes depressive at the end of conference season, not manic... | 17:33 | ||
masak | well, I've never seen +1 inflation on IRC. maybe because in practice the uses of it take place in a contextual silo. | 17:34 | |
TimToady thinks context works more like a stack than a silo, generally | 17:35 | ||
sirrobert agrees. | 17:36 | ||
17:36
daxim left
|
|||
TimToady | but if you keep your context in firefox tabs, all bets are off | 17:36 | |
masak | don't I know it. | ||
though I don't do that anymore. I'm a reformed taboholic. | 17:37 | ||
TimToady | -holic is a lovely productive suffix, unlike me. | 17:38 | |
17:40
dakkar left
|
|||
sirrobert | "Tabohol is a bitter drink" | 17:42 | |
FROGGS | TimToady: I got much motivation from YAPC::EU, but being at work, hacking php sucks a bit... | 17:44 | |
would like todo more stuff in perl5&6 | |||
17:44
raiph left
|
|||
FROGGS | thats what I do when the kids are in bed | 17:46 | |
sirrobert | Thankfully I get to p6 at $work | ||
17:48
pyrimidine left
|
|||
FROGGS | ya, that would be better... but the tasks must be fun too | 17:49 | |
sirrobert | Thankfully, they are =) | ||
(I get to make them up =) | |||
FROGGS | what are you doing? | ||
sirrobert | at the moment I'm writing a grammar-based api dispatcher | ||
"controller" | 17:50 | ||
17:51
bob___ left
17:53
tokuhiro_ joined
|
|||
sirrobert | how do I call a method from a given object if I have the Method() object? | 17:54 | |
17:54
am0c left
|
|||
masak | sirrobert: if your method is in $m, you can just do $m($obj, $arg1, $arg2, ...) | 17:57 | |
sirrobert | wow, that's cool | ||
17:57
pyrimidine joined
|
|||
masak | sirrobert: which would correspond to $obj.m($arg1, $arg2, ...) | 17:57 | |
moritz | \o | 17:58 | |
17:58
pyrimidine left
|
|||
masak | moritz! \o/ | 17:58 | |
sirrobert | I did a much more convoluted: ::("MyClass")."{$m.name}"(|@args); | ||
17:58
pyrimidine joined
|
|||
sirrobert | (more or less) | 17:58 | |
thanks | |||
hi moritz =) | |||
masak | hm, time to have another look at macros-d2. | 18:00 | |
18:01
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
moritz | p: say 42 | 18:01 | |
n: say 42 | |||
18:01
pat_js left
|
|||
p6eval | pugs: ( no output ) | 18:02 | |
niecza v21-1-ga8aa70b: ( no output ) | |||
moritz | the weird thing is, I can spawn the process on the command line | ||
at least the niecza process | |||
18:02
p6eval left
|
|||
moritz | and rakudo works again too | 18:03 | |
on the command line | |||
sirrobert | weird | ||
FROGGS | sounds like a permission problem | ||
moritz | I did it as the same user as the bot | ||
FROGGS | maybe the environment? | ||
I had problems lately running a job via cron as a user, then I've seen that the environment vars were not the same | 18:06 | ||
moritz | yes, but I launch the bot from the same shell where I try the commands | 18:07 | |
so it inherits all the variables | |||
FROGGS | hmmm | ||
moritz | on windows I'd reboot | 18:08 | |
FROGGS | on unix I would check the logs | 18:09 | |
if there are any | |||
sirrobert | reboot anyway =) couldn't *hurt*, right? | 18:10 | |
moritz | sirrobert: it could not come up again | 18:11 | |
sirrobert | heh | ||
moritz reboot anyway | |||
PSA: feather3 is going down for reboot NOW | 18:12 | ||
moritz waves | |||
18:12
dalek left
|
|||
moritz | ... and it's back | 18:13 | |
sirrobert | =) | 18:14 | |
TimToady | The delek is dead! Long live the dalek! | ||
moritz | oh wait, dalek was also on feather3? | ||
oops | |||
18:15
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
moritz | r: say 42 | 18:15 | |
p6eval | rakudo cc1858: OUTPUT«42» | 18:16 | |
moritz | and it's also a mystery to me why the first command being execute is so slow | ||
GlitchMr | Why dalek in on feather3? | ||
It doesn't evaluate code | 18:17 | ||
TimToady | std: race my @cars; | ||
p6eval | std b87ea13: OUTPUT«ok 00:00 42m» | ||
sirrobert | r: say 'foo' | ||
p6eval | rakudo cc1858: OUTPUT«foo» | ||
moritz | GlitchMr: hysterical raisins, I assume | ||
sirrobert | moritz: use 'Win32::Env'? | ||
TimToady | std: /[[-]/ | 18:18 | |
p6eval | std b87ea13: OUTPUT«===SORRY!===Invalid regex metacharacter (must be quoted to match literally) at /tmp/oYC2maRagQ line 1:------> /[[-⏏]/Unrecognized regex metacharacter / (must be quoted to match literally) at /tmp/oYC2maRagQ line 1:------> [32… | ||
TimToady | std: use v5; /[[-]/ | ||
p6eval | std b87ea13: OUTPUT«ok 00:00 53m» | ||
masak | \o/ | 18:19 | |
TimToady | std: use v5; /[a-b-c]/ | 18:21 | |
p6eval | std b87ea13: OUTPUT«ok 00:01 53m» | ||
TimToady | eval /[a-b-c]/ | 18:22 | |
buubot_backup | TimToady: No output. | ||
TimToady | I guess | ||
std: /<[ a .. b .. c ]>/ | |||
p6eval | std b87ea13: OUTPUT«===SORRY!===Range missing start character on the left at /tmp/DidfRPynTS line 1:------> /<[ a .. b ..⏏ c ]>/Check failedFAILED 00:00 43m» | ||
moritz | sirrobert: sorry, I don't understand | 18:23 | |
sirrobert: do you mean to imply that because a reboot fixed it, it's like a win32 environment? | |||
18:31
Circlepuller joined
18:33
kst joined,
Circlepuller_ left
18:34
Circlepuller__ joined
|
|||
masak grapples with a "level confusion" inside his macros fix that he apparently fell victim to yesterday | 18:34 | ||
sometimes things are QAST nodes, and sometimes they're already compiled blocks. | |||
18:36
Circlepuller left
|
|||
masak | most of what the compiler does is to produce the former. that's the compiler's job, after all. | 18:37 | |
but macros and quasis... straddle these two worlds. | |||
18:40
fgomez joined
|
|||
sirrobert | moritz: was just referring to your prior comment: 14:08 < moritz> on windows I'd reboot | 18:40 | |
the reboot seemed to have done something =) | 18:41 | ||
r: class A { $?PACKAGE.^add_fallback( sub ($a, $b) { True }, sub ($a, $b) { method () {say 'fallback'} }); }; class B is A { }; B.new.foo; | 18:44 | ||
p6eval | rakudo cc1858: OUTPUT«No such method 'foo' for invocant of type 'B' in block at /tmp/deho0PTLCi:1» | ||
sirrobert | is that a bug? | ||
it works if the fallback is declard in B: | |||
r: class A { }; class B is A { $?PACKAGE.^add_fallback( sub ($a, $b) { True }, sub ($a, $b) { method () {say 'fallback'} }); }; B.new.foo; | |||
p6eval | rakudo cc1858: OUTPUT«fallback» | ||
masak | moritz: also, I've realized I can't (in the long run) put the dynamic unquote-fixing closure at the macro call sites, like I did. simple reason: macros and quasis/unquotes are orthogonal constructs. | 18:45 | |
[Coke] | what is "add_fallback" ? | ||
sirrobert | a meta-object method that let's you add a "fallback" method | 18:46 | |
moritz | it's an undocumented feature | ||
sirrobert | a method executed if no suitable method is found in the class | ||
is the issue that I'm calling it from $?PACKAGE? | |||
masak | [Coke]: it's a method on ClassHOW. | 18:47 | |
sirrobert | trying to hide some ugly code in a base class (or role would be fine) | 18:48 | |
18:48
pyrimidine left
|
|||
sorear | good * #perl6 | 18:48 | |
sirrobert | \o | ||
masak | another good thing about private attributes being strictly scoped to the class block: you can reason about them easily. | 18:49 | |
I guess that's what people mean by "proper encapsulation"... | |||
sirrobert | heh | ||
colomon | o/ | 18:51 | |
sirrobert | doing it with a role times out | ||
r: role A { $?PACKAGE.^add_fallback( sub ($a, $b) { True }, sub ($a, $b) { method () {say 'fallback'} }); }; class B does A { }; B.new.foo; | 18:52 | ||
p6eval | rakudo cc1858: OUTPUT«(timeout)» | ||
masak | $?PACKAGE ? in a role? | 18:53 | |
feels wrong. | |||
sirrobert | just trying stuff =) | ||
masak | $?CLASS I could imagine working... | ||
that's the one's generic in all roles. | 18:54 | ||
sirrobert | huh, didn't know that | ||
masak | r: role A { say $?CLASS }; class C does A {}; class D does A {} | ||
p6eval | rakudo cc1858: OUTPUT«===SORRY!===None of the parametric role variants for 'A' matched the arguments supplied.Method 'gist' not found for invocant of class 'C'» | ||
masak | hm! | ||
p6eval: it's good to have you back. | |||
moritz++ | |||
sirrobert | moritz++ indeed | 18:55 | |
masak | r: role A { method foo { say $?CLASS } }; class C does A {}; class D does A {}; say C.new.foo; say D.new.foo | ||
p6eval | rakudo cc1858: OUTPUT«C()TrueD()True» | ||
masak | heh. | ||
r: role A { method foo { $?CLASS.^name } }; class C does A {}; class D does A {}; say C.new.foo; say D.new.foo | 18:56 | ||
p6eval | rakudo cc1858: OUTPUT«CD» | ||
masak | there we go. generic. | ||
sirrobert | hmmm | ||
r: role A { $?CLASS.^add_fallback( sub ($a, $b) { True }, sub ($a, $b) { method () {say 'fallback'} }); }; class B does A { }; B.new.foo; | 18:57 | ||
p6eval | rakudo cc1858: OUTPUT«===SORRY!===None of the parametric role variants for 'A' matched the arguments supplied.Method 'dispatch:<.^>' not found for invocant of class 'B'» | ||
18:57
popl joined
18:58
Circlepuller joined
18:59
crab2313 left
|
|||
moritz | code directly inside a role body is... problematic | 18:59 | |
sirrobert | makes sense ... | ||
I had tried doing things like defining: method _fallback () {...} | |||
but didn't find anything =) | |||
moritz | use a class (and inheritance) for the fallback | 19:00 | |
sirrobert | or I guess method FALLBACK would be a good one | ||
sorear | don't you need to use $?ROLE ? | ||
sirrobert | class and inheritance doesn't work | ||
(that was the first example) | |||
19:00
Circlepuller__ left
|
|||
sirrobert | r: class A { $?PACKAGE.^add_fallback( sub ($a, $b) { True }, sub ($a, $b) { method () {say 'fallback'} }); }; class B is A { }; B.new.foo; | 19:00 | |
p6eval | rakudo cc1858: OUTPUT«No such method 'foo' for invocant of type 'B' in block at /tmp/ovQ6RcXNza:1» | ||
sirrobert | unless you mean some different syntax? | ||
moritz | ok, you are right | 19:01 | |
sirrobert | bummer =) | ||
moritz | r: role A { BEGIN A.^add_fallback( sub ($a, $b) { True }, sub ($a, $b) { method () {say 'fallback'} }); }; class B does A { }; B.new.foo | ||
p6eval | rakudo cc1858: OUTPUT«===SORRY!===None of the parametric role variants for 'A' matched the arguments supplied.Cannot call ''; none of these signatures match:» | ||
sirrobert | here's a work-around (but it exposes the ugly bits a li'l) | 19:04 | |
r: class A { method __add_fallback () { self.^add_fallback( sub ($a, $b) { True }, sub ($a, $b) { method () {say 'fallback'} }); } }; class B is A { }; B.__add_fallback(); B.new.foo; | |||
p6eval | rakudo cc1858: OUTPUT«fallback» | ||
19:06
erkan joined,
erkan left,
erkan joined
19:15
Edument joined
19:16
fgomez left
19:25
benabik joined
|
|||
masak | I would like to talk to someone about $*W.create_simple_code object. | 19:30 | |
I guess $someone is any(pmichaud, jnthn). | |||
19:32
Edument left
19:35
lotreck joined
|
|||
lotreck | hello. can anyone provide an update on perl6 ? Is it in prod status ? I've been reading about perl6 for a few years now. What's up ? | 19:36 | |
sirrobert | I'm using it for my stuff and have no major problems =) | 19:37 | |
(note: I'm not a p6 dev; I'm a user) | |||
lotreck | is perl6 shipping w/ any linux distros ? | 19:38 | |
diakopter | lotreck: many people have very different definitions of 'prod', so you'd have to give us your before we can answer | ||
sirrobert | lotreck: I dunno | ||
masak | I'm mostly a user. I'm using Perl 6 in what I consider to be production, and I'm happy with it. | ||
moritz | lotreck: yes, it's included in several distributions | ||
lotreck: and for others there are third-party packages | |||
masak | lotreck: the future is mostly here, but unevenly distributed. | 19:40 | |
moritz | the present is also here, and also unevenly distributed :-) | ||
lotreck | Thanks for the update. I've googled that rakudo.org is one implementation of perl6. | 19:41 | |
moritz | it is | 19:42 | |
diakopter | it's the one included in the distributions, but last I checked they were old.. moritz? | ||
sirrobert | there's always a lag behind distribution versions of stuff and up-to-date versions | 19:43 | |
diakopter | I thought they were *very* old | ||
sirrobert | dunno =) | ||
diakopter | ok, looks like debian has it at 2012-04 and 2012-01 | 19:44 | |
that's not terribly old | 19:45 | ||
sirrobert | old-ish, but not *very* old | ||
tadzik | I just saw that ideone has 2010.08 | 19:46 | |
diakopter | ubuntu has 2011-07 | ||
tadzik | and there it says to take 80 MB for say $*PERL.perl | ||
I checked the recent rakudo OOC, and it needs about 150 on my system | |||
diakopter | opensuse has 2011-06 | 19:48 | |
sirrobert | opensuse has 2013-04 # oneupsdistroship | 19:49 | |
moritz | diakopter: iirc gentoo and/or arch linux are only behind a week usually | ||
sirrobert | moritz: cool | ||
diakopter | wow that's fast | ||
lotreck | my ubuntu 12.04 have perl 5.14.2 | 19:50 | |
diakopter | that's Perl 5; Perl 6 is a different language | 19:51 | |
tadzik | contrary to popular belief, it's not the next version :) | ||
19:53
leont joined
|
|||
moritz | does anybody know of any data about where open source programmers come from, broken down by country? | 19:54 | |
tadzik | I wonder if GSoC stats are a good approximation | ||
[Coke] | moritz: just curious? | 19:55 | |
lotreck | so to get perl6 onto ubuntu it's looks like one has to do a 'apt-get install rakudo' | ||
moritz | [Coke]: no, I'm being asked to answer some questions for the German parliament | ||
[Coke] | O_o | ||
moritz | tadzik: at least they are a data point, not just guesswork | 19:56 | |
diakopter | www.econstor.eu/dspace/bitstream/10...705071.pdf | ||
has a country breakdown | |||
moritz | tadzik: do you have some numbers about it? I've only seen the map, and don't want to count | ||
diakopter++ | |||
diakopter | p10 | ||
tadzik | moritz: I'll look for them | 19:57 | |
[Coke] | lotreck: Depending on what sort of work you're doing, you might be better off installing your own more recent copy of rakudo, but that should get you started. | ||
tadzik | I remember seeing a pie chart | ||
sorear | comic sans in an acadeic paper? never seen it before | ||
this is also imperfect because it uses sf.net data | |||
moritz | sorear: any such breakdown will be imperfect, and they are all better than no data at all | 19:58 | |
tadzik | moritz: google-opensource.blogspot.com/2012...rs_10.html | 19:59 | |
moritz wonders if ohloh.net or github.com offer such stats | 20:00 | ||
tadzik++ | |||
sirrobert | lotreck: I use ubuntu and get it from rakudo.org | ||
tadzik | what version does ubuntu have>? | ||
20:01
prammer joined
|
|||
diakopter | 2011-07 | 20:01 | |
moritz | that's pre-nom | ||
diakopter | www.takhteyev.org/papers/Takhteyev-...s-2010.pdf | 20:02 | |
sorear | tadzik's list is very strange | ||
Sri Lanka above France? | |||
diakopter | moritz: that one seems to have a good survey of the field | 20:03 | |
moritz | diakopter++ | ||
sirrobert | tadzik: no idea | ||
[Coke] | seen jnthn? | 20:04 | |
aloha | jnthn was last seen in #perl6 2 days ago saying "tomorrow evening or so". | ||
sirrobert | tadzik: looks like 12-04 (the distro's latest release date) | ||
20:05
GlitchMr left
|
|||
diakopter | moritz: write some queries. :) www.blackducksoftware.com/knowledgebase | 20:05 | |
oh wait, it's not public; oops | |||
20:08
kst left
|
|||
moritz | thanks diakopter and tadzik | 20:08 | |
(and if anybody else knows about such data, or data about closed source programmers, please let me know) | 20:09 | ||
japhb | Was there ever a fix for the "Method 'seek' not implemented for type Socket in method send" bug that Net::IRC::Bot triggers? | 20:10 | |
diakopter | this has a ton of info, but no stats by country that I could find: mitpress.mit.edu/books/chapters/0262562278.pdf | 20:11 | |
sirrobert | programmers.stackexchange.com/quest...0300#20300 | 20:12 | |
has some good resources | 20:13 | ||
sorear is also curious about why the german parliament is going to moritz | 20:14 | ||
benabik | Why wouldn't they? | 20:15 | |
sorear | There are an awful lot of other Germans | 20:16 | |
diakopter | not all of them are awful! | ||
sorear | When one person is chosen from a population of 1e8 or so, I tend to assume there's a reason | 20:17 | |
20:17
Moukeddar joined
|
|||
sorear | o/ Moukeddar | 20:17 | |
Moukeddar | \o/ guys , how are you all doing | 20:18 | |
masak | Moukeddar! \o/ | ||
Moukeddar | masak, My man | 20:19 | |
tadzik | hi Moukeddar | ||
20:21
sivoais left
20:22
kaare__ left
|
|||
Moukeddar | hi tadzik | 20:22 | |
how's everybody ? | |||
sorear | I can't speak for everybody but I'm fine. | 20:23 | |
Moukeddar | the most friendly IRC room ever :) | ||
20:23
Circlepuller_ joined
|
|||
japhb | Moukeddar, we try. :-) | 20:24 | |
sorear | current topic is geographic distribution of open-source involved people | ||
tadzik | pretty good on my side :) | ||
Moukeddar | you're doing a damn fine job :) | ||
japhb | phenny, ask GlitchMr Was there ever a fix for the "Method 'seek' not implemented for type Socket in method send" bug that Net::IRC::Bot triggers? Or did you find a workaround for it? | ||
phenny | japhb: I'll pass that on when GlitchMr is around. | ||
sorear | you were from Morocco, do I remember correctly? a country which doesn't even show up on the lists we found :( | 20:25 | |
tadzik | Moukeddar is working on fixing that, I think :) | ||
Moukeddar | yeah sorear , i'm from Morocco | ||
what list ? | |||
20:25
tokuhiro_ left
20:26
Circlepuller left
|
|||
tadzik | list of people involved in open source software, by country | 20:26 | |
moritz was looking for one (or two) | |||
Moukeddar | i know some guys involved in open source, they just aren't that much | ||
i've found this DVCS | 20:28 | ||
www.veracity-scm.com/ | |||
20:28
Circlepuller_ left
|
|||
diakopter | moritz: flossproject.org/report/Final4.htm#_Toc13908299 | 20:30 | |
(10 years old) | |||
20:31
Chillance joined
|
|||
sirrobert | wow, phenny is pretty cool | 20:31 | |
benabik | Heh. Git's Immutability Doctrine is liberal and mercurial's conservative? I find that somewhat amusing... | ||
20:33
ingin joined
|
|||
ingin | good morning perl6. | 20:33 | |
masak | git takes immutability quite seriously. | ||
good morning, ingin. | |||
benabik | People often confuse git-rebase with mutable history... It's more creating an alternate history. | 20:34 | |
masak | aye. | ||
commits are immutable. | 20:35 | ||
ingin | \o/ | ||
benabik | Mercurial implemented rebase and commit --amend by rewriting my history files. Wasn't amused. | ||
ingin | masak: a small question | ||
benabik | file locks as a feature? Oooookay... I'm going to stop ranting about that now, other than to say I'm not impressed by veracity. | 20:36 | |
ingin | my $f = open 'save', :w; $f.say('yes')'save'.IO.s==>the output is 0. why? | ||
my $f = open 'save', :w; $f.say('yes')';save'.IO.s==>the output is 0. why? | |||
masak | ingin: because you havn't flushed the contents yet? | 20:37 | |
colomon | ingin: probably need to close the file | ||
masak | ingin: try closing the file. | ||
20:37
Circlepuller_ joined
|
|||
Moukeddar | the author; eric sink was giving away a book called : Source control by example | 20:37 | |
ingin | masak:I'll try | ||
masak: you are right! | 20:38 | ||
masak | \o/ | ||
ingin | masak; /0/ \0\....thanks! | 20:39 | |
sorear | this ingin fellow is sounding a lot like ingy | 20:40 | |
ingin | not same one? | ||
bye.........perl6! | |||
20:40
ingin left
|
|||
masak | I don't see why ingy would take the nick ingin :) | 20:40 | |
benabik | Huh. Veracity supports versioned distributed databases. That's far more interesting than the source control half. | 20:41 | |
masak | ...or use freenode's webchat... | ||
'night, #perl6 | |||
FROGGS | gnight | ||
sirrobert | o/ | ||
20:42
lotreck left,
Moukeddar left
20:47
flussence left
20:49
stepnem left
20:50
erkan left
|
|||
ingy is not ingin | 20:53 | ||
21:03
Circlepuller joined
21:06
Circlepuller_ left
|
|||
jnthn | evening o/ | 21:09 | |
phenny | jnthn: 05:57Z <tadzik> tell jnthn serialization fail: gist.github.com/3651868 | ||
jnthn | tadzik: known | 21:11 | |
colomon | \o | ||
jnthn | tadzik: Also, filed in RT already | ||
colomon is relieved to see jnthn++ back on the channel. | 21:12 | ||
diakopter | jnthn: here's a funny one: | 21:13 | |
r: 1 if 1 if 1 { say 4 } | |||
p6eval | rakudo cc1858: OUTPUT«4» | ||
diakopter | I didn't see masakbot submit it yet | 21:14 | |
21:14
skids left
|
|||
jnthn | colomon: Sadly, I'm (a) still sick and (b) have a schedule for the week to come that's likely to deprive me of the rest I need to get really better. :/ | 21:14 | |
colomon | doh! take care of yourself! | ||
21:15
benabik left,
att left
|
|||
jnthn | r: say 1 if 1 if 1 { say 4 } | 21:16 | |
p6eval | rakudo cc1858: OUTPUT«14» | ||
japhb | jnthn, sorry to hear about nasty sick. Hope you feel better soon. | 21:17 | |
jnthn | diakopter: hah, I get that something eats the spaces after it, then eat_terminator has a || <?terminator> branch. | 21:18 | |
japhb | jnthn, Unfortunately while phenny was out, I used lambdabot to message you, and now lambdabot is gone. :-( | ||
jnthn | diakopter: And "if" is a terminator. | ||
diakopter | jnthn: you and I discussed that rule and this possibility a while back | ||
well, something like it | |||
jnthn | maybe :) | ||
Not sure what the "right fix" is off hand besides "see what STD's doing different" | 21:19 | ||
hah | |||
rule modifier_expr { <EXPR> } | |||
It's right there. | |||
japhb: Aww. | 21:20 | ||
japhb | jnthn, the message I sent via lambdabot: Is there a way to use multi *subs* from a Role? Or does a Role even have a way of feeding multi subs to a composer? | ||
(The context BTW, is that I'm trying to factor a pile of common multi subs out of the Pod::To::* renderers into something common that they consume.) | 21:21 | ||
jnthn | subs are lexically scoped | ||
You can put them in the role, but they'll only be visible lexically within the role. | 21:22 | ||
21:22
sivoais joined
|
|||
japhb | If it was a class, I'd try exporting them. But you can't do that with a role, can you? | 21:22 | |
jnthn | I suspect things get awkward there | 21:23 | |
We have a problem with roles as packages | |||
r: class Foo { our bar { say 42 } }; Foo::bar() | |||
p6eval | rakudo cc1858: OUTPUT«===SORRY!===Malformed ourat /tmp/jdVY38FsDu:1» | ||
jnthn | r: class Foo { our sub bar { say 42 } }; Foo::bar() | ||
p6eval | rakudo cc1858: OUTPUT«42» | ||
jnthn | r: role Foo { our sub bar { say 42 } }; Foo::bar() | ||
p6eval | rakudo cc1858: OUTPUT«Could not find symbol '&bar' in method <anon> at src/gen/CORE.setting:9815 in at src/gen/Metamodel.pm:2317 in any find_method_fallback at src/gen/Metamodel.pm:2305 in any find_method at src/gen/Metamodel.pm:859 in at src/gen/BOOTSTRAP.pm:826 in any a… | ||
jnthn | There's multiple reasons that doesn't work. | 21:24 | |
(what if it mentions a type arg somewhere in it for one, but also because the Foo we install is not the individual role, but a "role proto" that can dispatch at composition time tot he correct role variant if there are many of the same name) | 21:25 | ||
There's an RT for the above, but whenever I think about it, I'm inclined to simply disallow our-scoped things in roles with a good error and mark it wontfix. :) | |||
japhb | OK, so then what is the proper unit of decomposition here? | 21:26 | |
21:26
leont left
|
|||
jnthn | What are the Pod::To:: renderers? Classes? | 21:26 | |
Is there any reason they can't compose in a common role, if so? | |||
japhb | Right now, yes, "classes". But they just have one method that makes a single call into a world of interacting multi subs that handle polymorphic rendering across a pile of different node types at different levels of the Pod tree. | 21:27 | |
jnthn | (and you have them as methods) | ||
japhb | Yeah, I was wondering if the solution was to just s:g/multi sub/multi method/ | 21:28 | |
jnthn | And you don't want to promote them to multi methods for a reason? | ||
That feels like the "obvious thing" to do at first blush | |||
Import is lexical though so there's no reason you can't inside the class body import a bunch of multi subs from some other module | 21:29 | ||
And they'll be included in the candiate list with any locally delcared multis. | |||
*declared | |||
sorear | jnthn! | 21:30 | |
jnthn | o/ sorear | ||
japhb | Ah, so it would be a 'module' that I would pool multi subs into ... Would they all need to be marked 'is export'? | ||
japhb is guessing yes | |||
As for why not to use multi methods, primarily because A) subs are what they're using now, and B) I wanted to know if multi subs were amenable to refactoring in that way. Otherwise they become much less useful. | 21:31 | ||
sorear | jnthn: irclog.perlgeek.de/perl6/2012-09-05#i_5962851 | 21:32 | |
jnthn | japhb: Yes, mark them "is export" | ||
japhb | OK, just so my current understanding is 'module Pod::To; multi sub render-node(Foo --> Str) is export { };' and then 'class Pod::To::Bar; use Pod::To; multi sub render-nod(Bar --> Str) { # part of same multi as the one from Pod::To }' ... correct? | 21:36 | |
jnthn | presuming the second one was meant to be "node" also :) | ||
japhb | heh | 21:37 | |
TimToady | you should render a nod | ||
japhb | ((:-)) | 21:38 | |
TimToady | not sure if that's a nod or a snow monkey... | ||
japhb | If this chat window could handle Unicode input properly, I'd use that. :-) | 21:39 | |
TimToady | ☊ ~ ☋ | 21:40 | |
oh wait, that's node, not nod | |||
actually, looks more like frog doing a barrel roll | 21:43 | ||
japhb | .oO( What would a Camelia barrel roll look like? ) |
21:46 | |
TimToady | »ö« ~ »o̤« | 21:49 | |
sorear | »o̤« | ||
TimToady wins by an antenna | 21:50 | ||
errands & | 21:51 | ||
22:09
lizmat joined
22:12
lotreck joined,
bluescreen10 left
22:15
MayDaniel left
22:25
stopbit left
22:26
revdiablo left,
revdiablo joined
22:34
skids joined
22:35
lotreck left
22:53
lizmat left
22:55
lizmat joined
23:02
lizmat left
23:06
lizmat joined
23:14
orafu left
|
|||
japhb | S06:77-81 specifies that a proto declaration for a given short name changes the default from only to multi for that short name. This does not appear to work in current Rakudo. NYI or S06 fossil? | 23:34 | |
sorear | NYI | 23:36 | |
japhb | sorear, OK, thank you. | ||
23:40
PacoAir left
23:45
whiteknight joined
|
|||
japhb | If class/module A exports a set of multi *sub* candidates, and these are imported into some other compilation unit, is there a way to replace (or just not import) one of the multi sub candidates from A? (Yes, I know if they were multi *methods* the answer is trivial.) | 23:54 | |
sorear | as far as importation is concerned, multi subs and multi methods should be treated identically | 23:56 | |
japhb | sorear, right, but if you want to replace the behavior of a given multi variant, it's trivial with the method (just write a new multi method with the same signature and allow normal method overriding to work), but with subs of course you get ambiguous dispatch by default. | 23:58 | |
japhb shouldn't say 'of course' when dealing with something as complex as multidispatch. ;-) |