»ö« 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:01
lue joined
|
|||
sorear | lue!!! | 00:03 | |
00:03
Chillance left
00:04
cognominal joined,
ranguard left,
ranguard joined
00:09
bluescreen10 joined
00:13
[Coke] left,
[Coke] joined
00:17
cognominal left
00:23
cognominal joined
00:33
havenn left,
gdey joined
00:34
mtk left
00:35
nlpplz left
00:37
mtk joined
00:44
fgomez left
00:53
nlpplz joined
00:56
anuby joined
01:04
whiteknight left
01:08
nghthawk76 joined
01:09
hypolin joined
|
|||
diakopter | rn: class A { has &.foo = sub { say 455 } }; A.new.foo.(); A.new.foo = sub { say 32 }; A.new.foo.() | 01:13 | |
p6eval | niecza v22-14-g136ddcf: OUTPUT«455455» | ||
..rakudo 714593: OUTPUT«455Cannot assign to a readonly variable or a value in block at /tmp/1rcRVxgkUb:1» | |||
diakopter | hm | ||
01:17
fgomez joined
|
|||
sorear | diakopter: needs "is rw" | 01:46 | |
known nieczabug | 01:47 | ||
diakopter | oh | 01:49 | |
02:02
benabik joined
|
|||
diakopter | benabik: what's new in parrotland | 02:05 | |
benabik | diakopter: Various attempts to fix up I/O, and then fix those fixes, as far as I know. I've been rather out of it. My PhD program is a bit more demanding of my time than my MS was. | 02:06 | |
shachaf | Hmm, Parrot is still around? | ||
diakopter | shachaf: what would replace it? :) | 02:07 | |
shachaf | diakopter: Well, plenty of irreplaceable things are no longer around. | 02:08 | |
diakopter | ;) | 02:10 | |
02:11
tokuhiro_ left
|
|||
diakopter | shachaf: do you work on VMs? | 02:12 | |
shachaf | Nope, though I occasionally look at them from a distance. | 02:13 | |
diakopter | me2 | ||
shachaf | I went to a few talks about Parrot years ago. | ||
02:15
Targen left
|
|||
[Coke] hopes it wasn't his. | 02:27 | ||
japhb | [Coke], why's that? | 02:31 | |
sorear, Can all versions of niecza be built with the newest ZIP file? | 02:33 | ||
sorear | japhb: No | ||
japhb | I'm preparing to build a lot (potentially all) releases of niecza, and would like to avoid wasting network bandwidth to download a separate ZIP for every release if I don't have to. | 02:34 | |
sorear, awww. OK | |||
sorear | Now I'm curious :D | 02:35 | |
diakopter | benchmark! | ||
02:35
simcop2387 left
|
|||
shachaf | japhb: Can't you get the git repository and use tags? | 02:36 | |
sorear | shachaf: the bootstrap binaries are not checked into git. perhaps they should be? | ||
it's about 30M of zip files | |||
japhb | diakopter has of course guessed correctly. | 02:37 | |
shachaf | Oh, I see what the question was now. | ||
Never mind. | |||
[Coke]: I think it was Allison Randal and chromatic. | 02:38 | ||
02:38
simcop2387 joined
|
|||
japhb | shachaf, I can do that for getting the source tree (which I am -- I'm making bare clones of all components I'm benchmarking, and then just doing a LOT of checkouts), But unfortunately niecza wants to download a ZIP file of a pre-built version of itself for bootstrapping during the build process. | 02:38 | |
shachaf | japhb: Right, I see now. | ||
02:39
CharellKing joined
|
|||
japhb | sorear: That would just make the git repo really darned big, I think, without much benefit to users. | 02:40 | |
I'm already having to work around Rakudo wanting to pull a 30 MB NQP repo and a 150 MB Parrot repo, without a way to override the origin URL. :-/ | 02:41 | ||
s/pull/clone/ | |||
My solution is going to be to checkout each Rakudo from a local clone, then check out nqp and parrot trees into the rakudo checkout before even running Configure.pl in Rakudo. | 02:43 | ||
(from other local clones, of course) | |||
02:43
CharellKing left
|
|||
japhb | sorear, is there any point in trying to figure out which ZIPs can build multiple releases, or is that rare enough to be not worth the potential optimization? | 02:47 | |
diakopter | there's not that many releases | 02:49 | |
02:49
dayangkun left,
arlinius left
|
|||
japhb | diakopter, 23 so far. But I expect that once this procedure is ironed out, other people will want to run the tests on their own platforms (HW/OS/etc.), so any savings I find now will benefit everyone who runs the benchmark suite. | 02:50 | |
sorear | japhb: at a rough guess I'd say that each zip can build an average of 3 releases | 02:59 | |
02:59
fgomez left
03:05
_jaldhar_ left
|
|||
japhb | sorear, hmmm. What's the best way to tell if a given zip is going to work with a particular release? Or were you good about only bumping the zip rev when you needed to? | 03:26 | |
sorear | japhb: best way = TIAS, sorrhy. | 03:27 | |
03:27
fgomez joined
|
|||
sorear | i bump whenever there is an advantage to doing so | 03:27 | |
which is usually "ASAP" because many niecza releases are better than the one before | 03:28 | ||
japhb | sorear, fair enough. | 03:29 | |
03:41
sizz left,
sizz joined
03:45
fgomez left
03:47
Rix joined
03:52
fgomez joined
03:53
c1sung left,
c1sung joined
03:58
CharellKing joined
|
|||
CharellKing | you find the bugs for the perl6 project or design some libraries for it ? | 03:58 | |
sorear | I don't follow. | 03:59 | |
04:08
thou joined
04:14
nghthawk76 left
04:20
CharellKing left,
gootle left
04:23
thou left
04:29
gootle joined
04:34
CharellKing joined,
gdey left
04:38
thou joined
|
|||
dalek | rl6-bench: 09d1e76 | (Geoffrey Broadwell)++ | components.json: Reorder components.json so components are listed in sorted order |
04:40 | |
rl6-bench: ab72549 | (Geoffrey Broadwell)++ | bench: Display known components in config command output |
|||
rl6-bench: 4092f98 | (Geoffrey Broadwell)++ | bench: Don't check out any tags for a component if no tag regex is defined |
|||
rl6-bench: 6451e9a | (Geoffrey Broadwell)++ | components.json: Add nqp and parrot components to components.json |
|||
rl6-bench: 296b8fc | (Geoffrey Broadwell)++ | bench: Display already cloned message during setup if cloning already complete for a given component |
|||
04:45
hash_table left
04:54
armitage81 left
|
|||
dalek | rl6-bench: c76c6ef | (Geoffrey Broadwell)++ | bench: Factor out some common boilerplate from individual commands into explode-components() |
05:00 | |
rl6-bench: f6a057c | (Geoffrey Broadwell)++ | bench: Convert more commands to use latest explode-components(): build just drops some boilerplate, extract-releases converts from manual component calculation; fetch adds the ability to specify components |
|||
CharellKing | Hi | 05:08 | |
sorear | Hello CharellKing | ||
CharellKing | Heihei, you are always here | 05:09 | |
Now I hava a rest | 05:13 | ||
it's 13:13 now | |||
05:20
sftp_ joined
05:21
sftp left,
birdwindupbird joined
|
|||
moritz | good morning | 05:24 | |
sorear | o/ moritz | 05:26 | |
japhb | o/ | ||
05:27
skids left
05:31
GlitchMr joined
|
|||
diakopter | phenny: tell TimToady I think rosettacode.org/wiki/Man_or_boy_test#Perl_6 could be improved dramatically in efficiency by putting the assignment to &B (closure creation) inside the else block. Also maybe use ?? !! | 05:34 | |
phenny | diakopter: I'll pass that on when TimToady is around. | ||
dalek | rl6-bench: bb03ad1 | (Geoffrey Broadwell)++ | bench: Considerably nerf clean and realclean commands |
05:37 | |
diakopter | japhb: nerf? | 05:38 | |
oh. | 05:39 | ||
japhb | :-) | 05:40 | |
05:49
colomon left
05:55
grondilu joined
|
|||
dalek | rl6-bench: 9ab1c92 | (Geoffrey Broadwell)++ | bench: Flip default to True for explode-components() flag that turned out to always be turned on by caller |
05:55 | |
rl6-bench: eb6fc7e | (Geoffrey Broadwell)++ | bench: Move all utility subs down below all command multis; no actual code changes, just moving lines and two new comments as section markers |
|||
grondilu | rn: .say if True for <mixing if and for>; | ||
p6eval | rakudo 714593, niecza v22-14-g136ddcf: OUTPUT«mixingifandfor» | 05:56 | |
05:56
baked joined
06:09
baked left
|
|||
diakopter | ooo found a real bug | 06:09 | |
golfing it | |||
06:09
baked joined
|
|||
diakopter | nm | 06:11 | |
my error | 06:12 | ||
rn: say (sub A($k is copy,&c,&d,&e,&f,&g) {$k <=0??f+g!!(sub B {A(--$k,&B,&c,&d,&e,&f)})()})(10,{1},{-1},{-1},{1},{0}) | |||
p6eval | rakudo 714593, niecza v22-14-g136ddcf: OUTPUT«-67» | ||
diakopter | golfed man or boy | ||
rn: say (sub A($k is copy,&c,&d,&e,&f,&g) {$k <=0??f+g!!(sub B {A(--$k,&B,&c,&d,&e,&f)})()})(12,{1},{-1},{-1},{1},{0}) | |||
p6eval | rakudo 714593, niecza v22-14-g136ddcf: OUTPUT«-291» | ||
diakopter | rn: say (sub A($k is copy,&c,&d,&e,&f,&g) {$k <=0??f+g!!(sub B {A(--$k,&B,&c,&d,&e,&f)})()})(15,{1},{-1},{-1},{1},{0}) | ||
p6eval | rakudo 714593, niecza v22-14-g136ddcf: OUTPUT«-3250» | ||
CharellKing | maybe nobody can't appear error | 06:16 | |
diakopter | ? | 06:17 | |
06:18
woosley left
|
|||
CharellKing | before you take out your works, what you can do is checking and checking | 06:21 | |
sorear | CharellKing: I do not understand you | 06:22 | |
CharellKing | hah | ||
it's chinese english | |||
sorry | 06:23 | ||
chinese english means most of chinese speak english with the habit of chinese language | 06:24 | ||
it's same as that before you speak chinese, you convert your english to chinese in your brain | 06:28 | ||
06:29
birdwindupbird left
|
|||
bonsaikitten | CharellKing: for greater goodness! | 06:30 | |
06:32
colomon joined
06:40
CharellKing left
06:47
bloonix joined
06:48
kurahaupo left
|
|||
diakopter | rn: say (sub A(\k is copy,\c,\d,\e,\f,\g) {k <=0??f+g!!(sub B {A(--k,&B,c,d,e,f)})()})(10000,{1},{-1},{-1},{1},{0}) # answer is gist.github.com/3944439 but would take more heap space than atoms in the universe | 06:49 | |
p6eval | rakudo 714593: OUTPUT«Cannot assign to a non-container in sub prefix:<--> at src/gen/CORE.setting:2913 in sub B at /tmp/j_1elykgmZ:1 in sub A at /tmp/j_1elykgmZ:1 in block at /tmp/j_1elykgmZ:1» | ||
..niecza v22-14-g136ddcf: OUTPUT«Unhandled exception: Writing to readonly scalar at /tmp/ENM9vIZCDM line 1 (B @ 4)  at /tmp/ENM9vIZCDM line 1 (A @ 4)  at /tmp/ENM9vIZCDM line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4215 (ANON @ 3)  at /home/p6eval/niecza/l… | |||
diakopter | er | ||
06:50
baked left,
cognominal left,
baked joined
|
|||
diakopter | rn: say (sub A($k is copy,&c,&d,&e,&f,&g) {$k <=0??f+g!!(sub B {A(--$k,&B,&c,&d,&e,&f)})()})(10000,{1},{-1},{-1},{1},{0}) # answer is gist.github.com/3944439 but would take more heap space than atoms in the universe | 06:50 | |
p6eval | niecza v22-14-g136ddcf: OUTPUT«(timeout)» | 06:51 | |
..rakudo 714593: OUTPUT«maximum recursion depth exceededcurrent instr.: 'print_exception' pc 88386 (src/gen/CORE.setting.pir:42460) (src/gen/CORE.setting:9089)called from Sub 'prefix:<-->' pc 53870 (src/gen/CORE.setting.pir:25720) (src/gen/CORE.setting:2910)called from Sub 'B' pc 438 (… | |||
06:52
thou left
06:57
flightrecorder joined
06:59
domidumont joined
07:00
cognominal joined
07:02
FROGGS joined
07:03
brrt joined
07:08
GlitchMr left
07:09
hoelzro|away is now known as hoelzro
07:13
baked left
07:14
baked joined
07:15
marloshouse left,
azawawi joined
07:19
marloshouse joined
|
|||
grondilu | r: my $x = 0, 1; my $y = ^2; say "$x $y"; | 07:22 | |
p6eval | rakudo 714593: OUTPUT«0 0 1» | ||
grondilu | r: my $x = 0, 1; my $y = ^2; say "$x, $y"; | ||
p6eval | rakudo 714593: OUTPUT«0, 0 1» | ||
grondilu expected $x to equal $y | 07:23 | ||
moritz | your expectations were wrong | ||
first, item assignment has tighter precedence than infix:<,> | |||
grondilu | oops, I totally forgot that | 07:24 | |
moritz | and if you write my $x = (0, 1); then it's still a Parcel | ||
and ^2 is a Range | |||
grondilu | ok | ||
07:25
nlpplz left,
nlpplz joined
|
|||
FROGGS | r: my $x = 0..1; my $y = ^2; say "$x, $y"; | 07:26 | |
p6eval | rakudo 714593: OUTPUT«0 1, 0 1» | ||
07:26
birdwindupbird joined
|
|||
FROGGS | ^2 is pretty cool actually | 07:26 | |
07:27
Bucciarati left
07:31
domidumont left
07:32
domidumont joined
07:33
Bucciarati joined,
sqirrel joined
07:35
kresike joined
|
|||
kresike | good morning all you happy perl6 people | 07:35 | |
azawawi | kresike: good morning | 07:41 | |
07:41
birdwindupbird left
|
|||
brrt | hi kresike | 07:41 | |
kresike | azawawi, brrt, o/ | 07:42 | |
07:44
baked left
07:46
birdwindupbird joined
07:52
gootle left,
gootle joined
07:54
pmurias joined
07:56
cognominal left
|
|||
azawawi | star: use URI; | 08:12 | |
p6eval | star 2012.07: ( no output ) | ||
azawawi | r: use URI; | ||
08:12
Chillance joined
|
|||
p6eval | rakudo 714593: OUTPUT«===SORRY!===Could not find URI in any of: /home/p6eval/nom-inst/lib/parrot/4.8.0-devel/languages/perl6/lib, /home/p6eval/nom-inst/lib/parrot/4.8.0-devel/languages/perl6/vendor/lib, /home/p6eval/nom-inst/lib/parrot/4.8.0-devel/languages/perl6/site/lib, /home/p6eval… | 08:12 | |
azawawi | rakudo: use URI; | 08:13 | |
p6eval | rakudo 714593: OUTPUT«===SORRY!===Could not find URI in any of: /home/p6eval/nom-inst/lib/parrot/4.8.0-devel/languages/perl6/lib, /home/p6eval/nom-inst/lib/parrot/4.8.0-devel/languages/perl6/vendor/lib, /home/p6eval/nom-inst/lib/parrot/4.8.0-devel/languages/perl6/site/lib, /home/p6eval… | ||
08:16
cognominal joined
|
|||
cognominal | my $a='a'; say $a ~ "b" # what is the syntax if I want to shove the $a under the double quote to avoid the tilda? | 08:18 | |
moritz | "{$a}b" | 08:25 | |
azawawi | i dont know if this is a bug or feature... perl6 --doc=html test.p6 vs perl6 --doc=HTML test.p6 | 08:26 | |
FROGGS | azawawi: what happens? | ||
azawawi | the html or HTML make perl6 require Pod::To::html or Pod::To::HTML | ||
moritz | that's a feature | ||
tadzik | yep | 08:27 | |
FROGGS | ahh | ||
I see | |||
tadzik | you can have any Pod::To and --doc will look for it | ||
azawawi | what's the one bundled in perl6 by default? | ||
moritz | Text | ||
08:27
dakkar joined
|
|||
moritz | star: use Pod::To::HTML; | 08:27 | |
p6eval | star 2012.07: ( no output ) | ||
moritz | and star includes HTML too | ||
cognominal | moritz++ # I dont know why I kept wanting writing it "${a}b" | ||
doy | "${a}b" is how it works in perl5 and sh | 08:28 | |
08:28
birdwindupbird left
|
|||
cognominal | doy++ # that's why, may be it could be supported as well in Perl 6 or give a more sensible error message even if the other syntax is of more general use | 08:32 | |
rn: my $a='a'; "${a}b"; | 08:33 | ||
p6eval | niecza v22-14-g136ddcf: OUTPUT«===SORRY!===Unsupported use of ${a}; in Perl 6 please use {$a} at /tmp/4Ox2EvUcyk line 1:------> my $a='a'; "${a}⏏b";Parse failed» | ||
..rakudo 714593: OUTPUT«===SORRY!===Non-variable \$ must be backslashed at line 2, near "${a}b\";"» | |||
cognominal | niecza++ | ||
08:35
cosimo left
08:39
LordVorp left,
LordVorp joined
08:52
cognominal left
08:55
cognominal joined,
flightrecorder left
09:01
FROGGS left
09:03
flightrecorder joined
09:05
birdwindupbird joined
|
|||
jnthn | morning o/ | 09:09 | |
09:10
LordVorp left
|
|||
moritz | \o | 09:10 | |
09:11
LordVorp joined
09:12
pmurias left
09:15
flightrecorder left
|
|||
masak | morning, #perl6 | 09:17 | |
moritz | \masak/ | ||
masak | \:D/ | 09:18 | |
09:19
CharellKing joined,
flightrecorder joined
09:21
FROGGS joined
09:22
cosimo joined
09:23
domidumont left,
CharellKing left
09:24
domidumont joined
|
|||
dalek | pan style="color: #395be5">perl6-examples: ff087ef | (Gerhard R)++ | euler/prob009-gerdr.pl: [euler/prob009] add O(N) version |
09:26 | |
brrt | why does python break my flow of thought so many times | 09:29 | |
answer, because of the huge number of keywords | |||
and 'special' functions | |||
tadzik | funny, I was just writing some python yesterday | 09:30 | |
I mainly didn't like assignment being a statement rather than an expression | |||
brrt | that, too | ||
that really was ehm… a surprise | 09:31 | ||
tadzik | and no ++ and += | ||
brrt | i can't recall a language that really split statements and expressions | ||
tadzik | and the way to print() without a trailing \n... seriously? | ||
brrt | C, in a way, but assingments? | ||
tadzik | in Go x++ is a statement | ||
I can live with that | 09:32 | ||
you can put it in for anyway | |||
brrt | oh, yes, that is true, they had a reason for it | ||
tadzik | I can understand that | ||
brrt | because of the whole post-preincrmeent thing | ||
i liked that in c, felt kind of hacky | |||
tadzik | I can understand assignment being statement too, but understanding it doesn't make me like it :) | ||
brrt | i use assignment-as-expression literally all the time | 09:33 | |
.. except in python | |||
tadzik | oh, and the fact that if you stringify a list, it calls __repr__ on individual elements, not __str__ | 09:34 | |
whywouldyoudothat.png | |||
but rambling aside it wasn't that bad of an experience | 09:35 | ||
shachaf | tadzik: What, in Python? | ||
tadzik | shachaf: yeah | ||
shachaf | That makes sense to me. | ||
tadzik | no to me ) | ||
09:35
thou joined
|
|||
tadzik | :) | 09:35 | |
brrt | python is friendly, but it has some weird and annoying habits | ||
shachaf | You want ["abc","def"] to be displayed as "[abc,def]"? | ||
tadzik | I define __str__ for my objects. Then I stringify the list of objects, and I get stuff like <object Something 1293814> | ||
shachaf | Well, I'm not sure a general-purpose __str__ for lists makes sense. What should it do? | 09:36 | |
(Note: I don't even use Python.) | |||
tadzik | okay. I expect that if I define stringification for my objects, the method will be used when they need to be stringified | ||
when I stringify a list, I expect it to stringify its elements | 09:37 | ||
that's not happening, and that confuses me | |||
brrt | probably you should use a list comprehension? | ||
tadzik | possibly | ||
brrt | speaking of hacky special purpose things | ||
tadzik | I'm sure there's a Right Way to do it that's not confusing :) | ||
I'm probably just doing things wrong | 09:38 | ||
brrt | yes, but if you're like me, having to find out the 'right way' from the internet documentation is annoying | ||
also, foo.append() and foo.pop, what sense is thta | 09:39 | ||
that | |||
09:58
silug left
|
|||
masak | tadzik++ # "whatever floats your goat" :D | 09:59 | |
09:59
cognominal left,
birdwindupbird left
|
|||
tadzik | masak: littlewhitelion.com/wp-content/uplo...r-goat.jpg | 09:59 | |
masak | <jnthn> Perl ain't too much into making hard things impossible though. :) | 10:00 | |
yes, this was my thesis yesterday. though I still concede diakopter has a point. | |||
eiro | hello | ||
masak | tadzik: oh, wow. of course people actually did that. :P | ||
eiro! \o/ | |||
eiro | s:g/T/U/; what's up guys ? | 10:01 | |
tadzik | hello eiro | ||
10:01
brrt left
|
|||
eiro | oops | 10:01 | |
masak | eiro: are you transcribing DNA into RNA? :P | 10:04 | |
10:04
hypolin left
10:06
cognominal joined
10:09
silug joined
10:10
anuby left
10:13
sqirrel left
|
|||
eiro | masak, yep :) | 10:13 | |
it will be some part of the perl6 article. but this code fail. i don't know why for now | 10:14 | ||
masak | rn: my $_ = 'gattaca'; s:g/t/u/; .say | ||
p6eval | niecza v22-14-g136ddcf: OUTPUT«Potential difficulties: Useless redeclaration of variable $_ (see line 0) at /tmp/VtdfrNwtGK line 1:------> my $_ ⏏= 'gattaca'; s:g/t/u/; .saygauuaca» | ||
..rakudo 714593: OUTPUT«===SORRY!===Redeclaration of symbol $_at /tmp/xkL6iUzOX9:1» | |||
masak | er. | 10:15 | |
rn: $_ = 'gattaca'; s:g/t/u/; .say | |||
p6eval | rakudo 714593, niecza v22-14-g136ddcf: OUTPUT«gauuaca» | ||
masak | \o/ | ||
rn: my $dna = 'gattaca'; my $rna = $dna.subst(rx/t/, 'u', :g); say $rna | 10:20 | ||
p6eval | rakudo 714593, niecza v22-14-g136ddcf: OUTPUT«gauuaca» | ||
masak | rn: my $dna = 'gattaca'; my $rna = $dna.subst(rx:g/t/, 'u'); say $rna | ||
p6eval | niecza v22-14-g136ddcf: OUTPUT«===SORRY!===Regex modifier g not valid on regex literal at /tmp/hDlckGp871 line 1:------> a = 'gattaca'; my $rna = $dna.subst(rx:g⏏/t/, 'u'); say $rnaUnhandled exception: Check failed at /home/p6eval/niecza/boot… | ||
..rakudo 714593: OUTPUT«===SORRY!===Adverb g not allowed on rxat /tmp/yL9qniiiUs:1» | |||
masak | oh, interesting. didn't know that. | ||
eiro | i don't like the pythonic way :) s/// fits my vision of the world | ||
10:20
cognominal left
|
|||
eiro | brb | 10:21 | |
masak | different usages for different use cases, I guess :) | 10:26 | |
I've been migrating away from "clone data, then mutate it step by step" as a model for string manipulation. | |||
prefer to defined whole steps as whole transformations without side effects. | 10:27 | ||
define* | |||
moritz | so, what is your model now? parse and re-assemble? | ||
10:28
rindolf joined
|
|||
masak | what I just said. whole steps, each of which is essentially a transformation. | 10:28 | |
so parsing (or whatever) proceeds in stages. | 10:29 | ||
Juerd | You'll learn to stop cloning data anyway, when your strings reach hundreds of megabytes :) | ||
masak | heh :) | ||
Juerd | God didn't give us cheap RAM to waste it all on caches. | ||
masak | moritz: the other day I thought I'd cheat and do things the old, sloppy way, by just s///-ing the same string until I had what I wanted. about one hour into development, that way of doing things had properly painted me into a corner. so I fell back to doing things with a parser. | 10:30 | |
the problem with repeated s/// is that there's no distinction between "old data, transform this" and "new data, don't touch this". | 10:31 | ||
they're all in the same string. | |||
Juerd | Unless it's all in one big s///g | ||
I'm guilty of having written multi-page s[]{}ge expressions. | 10:32 | ||
This was before the regex engine was re-entrant, so the same code could probably be much leaner in modern day Perl 5 | |||
masak | was gonna say. | 10:33 | |
with today's Perl 5 regex features, you could probably write a decent parser that way. | |||
using empty named captures to mark up tokens, for example. | |||
Juerd | Yeah, renumbering sucked enormously | 10:34 | |
10:36
thou_ joined
10:39
thou left
|
|||
masak | though I wouldn't say that clone-and-rewrite is worthless. here's a striking example of when it clearly wins: strangelyconsistent.org/blog/speed-...-6-million | 10:41 | |
10:43
_jaldhar_ joined
|
|||
masak | heh. "In a very real way, this program solves the problem by eating it." :) | 10:46 | |
arnsholt | masak: Not only can you write a recursive descent parser with the new regex features, it's how Regexp::Grammars works AFAIK | 10:51 | |
10:53
cognominal joined
|
|||
masak | nod. | 10:59 | |
FROGGS | masak: what are t4 configurations? | 11:00 | |
masak | FROGGS: see strangelyconsistent.org/blog/counti...igurations | ||
FROGGS | k | ||
masak | wow, that is less than a year ago. feels like a different life. | 11:01 | |
11:01
benabik left
|
|||
FROGGS | heh | 11:01 | |
11:05
Su-Shee_ joined
11:07
Su-Shee left,
Su-Shee_ is now known as Su-Shee,
am0c joined,
kel joined
11:21
sqirrel joined
|
|||
colomon | huh. my good old case-replace program which has worked for ages and ages is suddenly getting weird results with the latest rakudo. Like .lines is arbitrarily inserting newlines in my code. (This is under Rakudo.) | 11:27 | |
moritz | .lines is know to have problems :( | 11:28 | |
r: say lines()[0] | |||
p6eval | rakudo 714593: OUTPUT«Land der Berge, Land am Strome,Land der Äcker, Land der Dome,Land der Hämmer, zukunfts» | ||
colomon | loop is basically for $*IN.lines() -> $test is copy { say $text; } | ||
moritz | r: say lines().lines[0[ | ||
p6eval | rakudo 714593: OUTPUT«===SORRY!===Unable to parse expression in subscript; couldn't find final ']' at line 2, near ""» | ||
moritz | r: say lines().lines[0] | ||
p6eval | rakudo 714593: OUTPUT«No such method 'lines' for invocant of type 'List' in block at /tmp/94sw5Ax3ya:1» | ||
moritz | r: say lines()[0].lines[0] | ||
p6eval | rakudo 714593: OUTPUT«Land der Berge, Land am Strome,» | ||
11:29
baked joined
11:31
cognominal left
|
|||
colomon | don't have time to investigate due to $work, switching to niecza is an adequate workaround for me atm. | 11:31 | |
11:38
cognominal joined
|
|||
jnthn | Why on earth did lines start to have problems? I thought we backed out the switch to the new Parrot I/O stuff, which I know has line issues... | 11:39 | |
11:39
baked left
|
|||
masak | maybe some workaround in Rakudo for the new Parrot I/O remained after we backed out the switch? | 11:48 | |
jnthn | hm, perhaps | ||
I think the Parrot IO issue in question may have been fixed recently. | 11:49 | ||
(the stdin one) | |||
11:52
havenn joined
11:53
sftp_ left,
sftp_ joined
11:55
birdwindupbird joined,
birdwindupbird left
|
|||
eiro | back | 11:58 | |
12:00
birdwindupbird joined
12:01
sftp_ left
12:10
am0c left
|
|||
jnthn | n: my $a = 1; my @foo = << '$a' "$a" lol :wut >>; say @foo.perl | 12:12 | |
p6eval | niecza v22-14-g136ddcf: OUTPUT«["'1'", "\"1\"", "lol", ":wut"].list» | ||
12:14
bluescreen10 left
|
|||
jnthn | if I understand S0 correctly, the output should have been ["\$a", "1", "lol", :wut] ? | 12:14 | |
12:15
havenn left,
gootle left
|
|||
jnthn | er, S02 :) | 12:15 | |
12:16
gootle joined
|
|||
masak .oO( S0, the secret synopsis. it says when Perl 6 will be released ) | 12:17 | ||
jnthn: yeah, that's my understanding too. | 12:18 | ||
jnthn | Niecza got green for quote words in features, so I thought I'd check it gave what I expected... :) | ||
masak | jnthn: I believe this deficiency of the current impl is already RT's. | ||
jnthn | Then started wondering who was right :) | ||
masak: Note I did "n" above. I'm looking at what it'd take the get Rakudo to do << ... >> right. | |||
masak | ah. | 12:19 | |
12:27
bbkr__ left,
_jaldhar_ left
|
|||
dalek | pan style="color: #395be5">perl6-examples: e18dc35 | (Gerhard R)++ | euler/prob009-gerdr.pl: [euler/prob009] tighten loop constraint and add explanation |
12:31 | |
12:32
marloshouse left
12:35
bbkr_ joined
12:46
fgomez left
|
|||
[Coke] got a little further with partcl-nqp; stole how to do an HLL mapping from nqp itself (yay) but can't seem to hll map an nqp class (awww) | 12:46 | ||
12:46
cibs joined
12:47
fgomez joined
|
|||
[Coke] | get a "Null PMC access in type()" when trying to map to a TclString. | 12:55 | |
12:56
PacoAir joined
12:59
hash_table joined
13:04
sftp_ joined,
Psyche^ joined
13:06
benabik joined
13:07
Patterner left,
Psyche^ is now known as Patterner
13:17
gdey joined
|
|||
masak | [Coke]: that could be anything. it just means that the mapping didn't work. | 13:25 | |
dalek | p: d65184d | jnthn++ | src/HLL/Grammar.pm: Translate quote_EXPR and peek_delimiters to NQP. |
||
p: 8716278 | jnthn++ | src/QAST/Operations.nqp: Add findcclass to go with findnotcclass. |
|||
p: 597cb7e | jnthn++ | src/stage0/ (9 files): Update bootstrap. |
|||
p: 334de3b | jnthn++ | src/HLL/Grammar.pm: Port split_words to NQP. |
|||
13:26
bluescreen10 joined
|
|||
jnthn | [Coke]: I'm wonder if it's that Parrot's hll_map doesn't quite knows what to with an NQP class. | 13:26 | |
13:29
hash_table left
13:35
sftp_ left
13:36
sftp joined
13:41
kaare_ joined
|
|||
jnthn | > my $a = 1; my @foo = << '$a' "$a" lol :wut >>; say @foo.perl | 13:44 | |
Array.new("\$a", "1", "lol", "wut" => Bool::True) | |||
\o/ | |||
13:44
gdey left
|
|||
masak | \o/ | 13:47 | |
13:47
bakedb_ joined
|
|||
moritz | \o/ | 13:47 | |
masak | jnthn: << "$a $a" >> ? | ||
jnthn | > my $a = 1; my @foo = << "$a $a" >>; say @foo.perl | 13:48 | |
Array.new("1 1") | |||
masak | \o/ | ||
jnthn++ | |||
jnthn | Probably somewhere it's not perfect, but it's a lot righter than it was and it hurts no spectests. | 13:49 | |
In fact, 3 todos pass. | |||
dalek | kudo/nom: c0ac36d | jnthn++ | src/Perl6/ (2 files): Prepare for splitting up <...> and <<...>>. |
13:51 | |
kudo/nom: 8abdf74 | jnthn++ | src/Perl6/ (2 files): First crack at doing << ... >> quotes properly. Respects nested quoting (which follow proper interpolation rules by single vs double quotes) and leaves colonpairs intact. |
|||
masak | yay | 13:52 | |
13:56
bakedb_ left
13:57
bbeans joined
|
|||
PerlJam just had a weird moment ... | 14:00 | ||
I have several windows open, some with perl 5 and some with perl 6. I was switching between windows and couldn't tell right off which Perl I was looking at. | 14:01 | ||
dalek | ast: 81a684c | jnthn++ | S02-literals/quoting.t: Unfudge some quoting tests for Rakudo. Also a fix to avoid a test that's long failed on Win32 doing so (a \r issue). |
||
14:01
brrt joined
|
|||
jnthn | Well, all those pass so I'm gonna give us green on it for features. :) | 14:01 | |
14:02
stopbit joined
14:04
rindolf left
|
|||
dalek | atures: b711785 | jnthn++ | features.json: Rakudo updates. |
14:05 | |
moritz | I think <<2 3>> should produce a parcel of IntStr objects, or so | ||
14:05
gdey joined
|
|||
jnthn | Yeah, that whole allomorphy thing is a separate bunch of stuff and shows up in more places than just <<...>> | 14:05 | |
14:06
flightrecorder left
|
|||
moritz | right, MAIN args for example | 14:07 | |
and, what was the name? val(), I think | |||
14:07
bbeans left
|
|||
jnthn | val() yeah | 14:07 | |
14:07
flightrecorder joined
|
|||
jnthn | That's in ROADMAP | 14:07 | |
I think... | 14:08 | ||
yes, it is | |||
14:08
FROGGS left
|
|||
masak | val() is like a data version of eval() | 14:08 | |
jnthn | Yeah | ||
japhb++ has his name next to it on ROADMAP | 14:09 | ||
masak | so now we just have to think of a cute way "e" stands for in "eval". :P something like "more than just data". | ||
s/way/thing/ | |||
14:09
kel left
|
|||
moritz | execution | 14:10 | |
jnthn | executable | ||
moritz | execution + data = win | ||
erm, = eval :-) | |||
masak | ;) | 14:13 | |
dalek | kudo/nom: 74a8835 | jnthn++ | docs/ChangeLog: Update ChangeLog. |
14:14 | |
14:15
cognominal left
14:17
jlaire left
14:18
GlitchMr joined
14:19
arlinius joined
|
|||
dalek | rlito: 2aefb24 | (Anthony Hinsinger)++ | src5/lib/Perlito5/Javascript (2 files): Fixed a bug in javascript function p5get_class_for_method |
14:21 | |
rlito: f73a4c8 | (Anthony Hinsinger)++ | perlito5.pl: Re-bootstrap perlito5.pl with javascript bug fixed |
|||
rlito: a96fa40 | (Flavio S. Glock)++ | / (3 files): Merge pull request #14 from atoy40/master Bug in javascript function p5get_class_for_method |
|||
14:21
fgomez left
14:22
FROGGS joined,
jlaire joined
14:28
arlinius left,
Vlavv` left
14:30
Vlavv` joined
14:34
colomon left
14:37
azawawi_ joined,
hash_table joined
14:49
azawawi_ left
14:50
xinming left,
sirrobert joined
14:52
xinming joined
14:53
colomon joined
14:55
cognominal joined
15:15
birdwindupbird left,
brrt left
15:21
MayDaniel joined
15:22
thou_ left
|
|||
dalek | p: 323c6fa | jnthn++ | src/pmc/owned (2 files): Add some missing provides directives. Fixes parametric role precompilation bug from RT#115240. |
15:24 | |
tadzik | jnthn, jnthn | ||
did you have a moment to look at this Bailador-related bug I sent you? | |||
kresike | bye folks | 15:27 | |
15:27
kresike left
15:28
hoelzro is now known as hoelzro|away
|
|||
dalek | kudo-debugger: 68f1a36 | jnthn++ | lib/Debugger/UI/CommandLine.pm: Fix off-by-one in tracepoints. |
15:28 | |
15:29
cognominal left,
cognominal joined
15:30
am0c joined
15:34
rindolf joined
|
|||
jnthn | tadzik: Is it pre-comp related? | 15:39 | |
jnthn blug: 6guts.wordpress.com/2012/10/24/raku...r-updates/ | 15:40 | ||
masak | \o/ jnthn++ | 15:41 | |
dalek | kudo/nom: 7bc0961 | jnthn++ | tools/build/NQP_REVISION: Bump NQP_REVISION for a pre-comp fix. |
15:42 | |
japhb | Oooh, sounds like I actually need to throw some tuits at val/*Str | 15:52 | |
15:55
am0c_ joined
15:56
cognominal left,
am0c left,
cognominal joined
|
|||
masak | <@gitinfo> Yes, if you understand the implications of FETCH_HEAD it can technically be done, but really it is easier to just fetch the whole remote | 15:57 | |
oops, ww. | 15:58 | ||
15:58
SamuraiJack joined
16:01
FROGGS left,
flightrecorder left
|
|||
moritz | so pmc inheritance doesn't inherit "provides"-directives? | 16:02 | |
jnthn | moritz: Apparently not. | ||
moritz: Surprised me. | |||
japhb | jnthn++ # << >> | 16:04 | |
jnthn++ # blog | |||
jnthn++ # debugger improvements | |||
:-) | |||
jnthn | Things on my todo list for the coming couple of weeks: quote adverbs, heredocs, interactive mode cleanup (get rid of last remaining .pir source file in NQP on the way, handle native lexicals properly, etc.), try and kill the remaining pre-comp bugs in RT. | 16:05 | |
japhb | alt.pir.die.die.die | ||
Sounds like an excellent todo list | 16:06 | ||
jnthn | Oh, and work out the last kinks on my precedence traits work that keep us from passing S06-traits/precedence.t. | ||
japhb | :-) | 16:07 | |
jnthn | japhb: tuits thrown at val would be awesome :) | ||
16:08
stopbit left,
bluescreen10 left,
rking left,
japhb left,
average_drifter left,
bbkr left,
sorear left,
LoRe left,
average_drifter joined,
LoRe joined,
japhb joined,
bluescreen10 joined,
bbkr joined,
sorear joined,
cognominal left,
stopbit joined
16:09
cognominal joined
16:10
rking joined
16:12
azawawi left
16:13
am0c_ is now known as am0c
|
|||
japhb | Are there existing tests for the allomorphic types? | 16:13 | |
TimToady | IntStr does not appear in roast | 16:14 | |
phenny | TimToady: 05:34Z <diakopter> tell TimToady I think rosettacode.org/wiki/Man_or_boy_test#Perl_6 could be improved dramatically in efficiency by putting the assignment to &B (closure creation) inside the else block. Also maybe use ?? !! | ||
rindolf | Hi all. | 16:15 | |
jnthn | japhb: heh, I just discovered the same as TimToady... | ||
16:15
cognominal left,
fgomez joined,
fgomez left
|
|||
japhb | Will trade implementation for tests. ;-) | 16:16 | |
TimToady | phenny: tell diakopter Man_or_boy isn't about efficiency, but correctness. | ||
phenny | TimToady: I'll pass that on when diakopter is around. | ||
japhb | (Hi au!) | ||
masak finds himself writing 'my $local_sub = sub { ... };' in Perl 5 nowadays, just because he is so used to lexically scoped subs from Perl 6 | 16:19 | ||
doy | (perl 5.18 will be getting real lexical subs!) | 16:21 | |
japhb | W00t! doy, that is excellent news. | 16:22 | |
masak | oh right, it will. | 16:24 | |
by default, or with 'my sub'? | |||
doy | with 'my sub' | ||
masak | that's what I seemed to recall. | ||
tadzik | jnthn: it is | 16:28 | |
jnthn | tadzik: I think it's related or same cause as one that's already in RT, iirc. | 16:37 | |
16:37
jaffa4 joined
|
|||
tadzik | mhm | 16:37 | |
jnthn | dinner, bbl | 16:38 | |
16:39
rummik left,
rummik- joined
|
|||
diakopter | TimToady: ok, but the P6 version is so much slower than the other versions; I thought it needed some help | 16:40 | |
phenny | diakopter: 16:16Z <TimToady> tell diakopter Man_or_boy isn't about efficiency, but correctness. | ||
TimToady | that's fine, but I just now edited it for a bit more readability; golfing is not something we push in P6 | 16:44 | |
diakopter | ok | 16:45 | |
TimToady is tempted to make the else line read: !! do .() given my &B = { A(--$k, &B, &x1, &x2, &x3, &x4) } | 16:46 | ||
but perhaps that multiplying entities | |||
*that's | 16:47 | ||
diakopter | that does give the benefit of fewer nail clippings | ||
TimToady | but harder for a newbie to grok, I fear | 16:48 | |
16:48
cognominal joined
|
|||
masak | man or boy is not about newbies being able to grok :P | 16:48 | |
diakopter | heh | ||
TimToady | there is that too | ||
if it's about CS professors being able to grok, then the do/given might look elegant to someone | 16:49 | ||
16:49
cognominal left
|
|||
moritz | /msg jnthn seems I accidentally sent you an email I wanted to send to somebody else. Please just ignore it. | 16:50 | |
dammit | |||
16:50
cognominal joined
|
|||
diakopter | fyi here is Knuth's way to compute the output without computing it... I got it up to k=4700 before DrRacket ran out of memory (just for the huge integers I guess, not stack space) weinholt.se/hacks/man-or-boy.scm | 16:50 | |
moritz not well concentrated today :-) | |||
diakopter | I accidentally accidentally | ||
TimToady | moritz: that's a cute (almost-)autopun | ||
if you'd just said "message" instead of "email"... | 16:51 | ||
moritz | TimToady: :-) | ||
diakopter | ..not that I have any clue how to read that Scheme program | 16:52 | |
moritz | like any other program, really :-) | 16:53 | |
diakopter | /o\ yes I know my code reading skills are bad :P | ||
17:04
dakkar left
|
|||
dalek | pan style="color: #395be5">perl6-examples: 3705102 | (Gerhard R)++ | euler/prob021-gerdr.pl: [euler/prob021] add problem 21 |
17:06 | |
kudo/nom: 26c0aaa | moritz++ | src/core/stubs.pm: fix error reporting for not-found dynamic variables |
17:07 | ||
TimToady | pnr: my @a = <The quick brown fox>; @a[1,2] .= reverse; say @a; | 17:13 | |
p6eval | pugs: OUTPUT«Thebrownquickfox» | ||
..niecza v22-14-g136ddcf: OUTPUT«Unhandled exception: Unable to resolve method reverse in type Parcel at /tmp/qdv5sM8r7p line 1 (mainline @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 4215 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4216 (module-CORE @ 579)  at /… | |||
..rakudo 26c0aa: OUTPUT«The brown quick fox» | |||
TimToady | pnr: my @a = <The quick brown fox>; say @a[1,2].WHAT | 17:15 | |
p6eval | pugs: OUTPUT«Array::Slice()» | ||
..rakudo 26c0aa, niecza v22-14-g136ddcf: OUTPUT«Parcel()» | |||
TimToady | LHF in niecza to get Parcel.=reverse to work, maybe | ||
17:16
supernovus joined
17:17
cognominal left
|
|||
supernovus | hmm, just updated rakudo, and now when trying to run it, I get this: Serialized data too short to read a version number (< 4 bytes) | 17:20 | |
current instr.: '' pc 981 (src/gen/perl6.pir:346) (src/main.nqp src/gen/main-version.nqp:46) | |||
moritz | supernovus: do you have old, pre-generated PIR files anywhere? | ||
supernovus | Not that it should be loading. I'll do a full distclean and rebuild from scratch. | 17:21 | |
17:22
am0c left,
am0c_ joined
17:24
cognominal joined
|
|||
moritz | r: class A { has $.name handles <Str>; }; say A.new(name => 'bla') | 17:24 | |
p6eval | rakudo 26c0aa: OUTPUT«A.new(name => "bla")» | ||
masak | diakopter: I believe moritz' comment generalized to all people reading all programs, not you reading all programs. | ||
diakopter | I know; I was kidding | ||
moritz too, mostly | |||
masak | diakopter: oh! :) | ||
moritz | IMHO ack and git-grep are invaluable when reading opaque source code | 17:25 | |
masak | rn: my @a = <The quick brown fox>; @a[2, 3] .= rotate; @a[3] .= ucfirst; say @a | 17:26 | |
p6eval | niecza v22-14-g136ddcf: OUTPUT«The quick fox Brown» | ||
..rakudo 26c0aa: OUTPUT«No such method 'rotate' for invocant of type 'Parcel' in method dispatch:<.=> at src/gen/CORE.setting:940 in block at /tmp/eJ1P16gYJU:1» | |||
masak | Niecza++ | ||
masak submits rakudobug | |||
moritz | somehow we have a problem in our type system | ||
masak | I agree-ish. | 17:27 | |
TimToady | only one? | ||
moritz | if Parcel doesn't automatically get those methods it should have, it means we lack a common role or so | ||
masak | aye. | ||
moritz | TimToady: only one that is obvious from these examples | ||
supernovus | Fwew, 'make distclean && make install' worked. | ||
17:28
am0c_ is now known as am0c
|
|||
TimToady | or Parcel should be delegating unrecognized methods to List maybe | 17:29 | |
moritz | r: class A { has $.name handles <gist>; }; say A.new(name => 'bla') | ||
p6eval | rakudo 26c0aa: OUTPUT«bla» | ||
TimToady | possibly delegate to List via Any | 17:31 | |
17:31
am0c left,
am0c joined
17:33
fgomez joined
|
|||
moritz | www.perlmonks.org/?node_id=1000670 # /me couldn't resist a p6 answer to a p5 question | 17:35 | |
masak | "delegate unrecognized methods"? are you suggesting we reinvent parts of inheritance, badly? | 17:38 | |
jaffa4 | current compilation speed of rakudo is about 250 lines/s | ||
masak | what was sorear's target? 2000 lines/s ? | 17:40 | |
jaffa4 | Are you asking me? | ||
masak | I'm asking the room. but if you know, feel free to answer :) | 17:41 | |
jaffa4 | for niecza? | ||
arnsholt | moritz: I like how you exploit a stable sort. Barring special performance criteria, I think that's perhaps the cleanest approach | 17:43 | |
17:44
daniel-s_ joined
17:47
daniel-s left
|
|||
grondilu | I'm editing the french Perl6 article and when I was about to mention the synopsis(es), I noticed there is no copyright or license in them. Aren't they copyrightd by the Perl foundation or something? | 17:47 | |
masak | jaffa4: yes, for Niecza. | 17:54 | |
jaffa4 | masak, what is its speed now? | ||
masak | jaffa4: I don't know. I don't even know which of Niecza and Rakudo parses files faster these days. | 17:55 | |
17:56
spider-mario joined
|
|||
masak | would be an interesting comparison to make. | 17:59 | |
moritz | grondilu: I'd say it's copyright by the authors, and under the Artistic License 2 | ||
masak | ...which, even though it's a software license, probably works fine here... | 18:01 | |
18:03
FROGGS joined,
flightrecorder joined
|
|||
jaffa4 | niecza gives better error messages | 18:04 | |
It noticed an undeclared variable which Rakudo did not notice | |||
18:06
marloshouse joined,
sqirrel left
|
|||
flussence | niecza's repl isn't quite as nice though. or fast to start. | 18:07 | |
(I guess that'll change once it gets its own serialisation) | 18:09 | ||
masak | jaffa4: oh! was the variable inside a string? | ||
jaffa4 | yes | ||
masak | oh, phew. known one. | 18:10 | |
agree about the error messages, though. Rakudo is slowly getting better there. | |||
(as it converges on STD.pm6) | |||
moritz | well, parse errors | ||
jaffa4 | Like a camel? | ||
moritz | I find rakudo's runtime errors generally a bit better | ||
masak | hm, troo. | ||
supernovus | is there a known problem with $socket.read() at the moment? | 18:11 | |
moritz | supernovus: I think so, yes | ||
diakopter | TimToady: does rosettacode log you out after not very long? | ||
jaffa4 | I wonder if this was called the way of rocket. | ||
nomen est omen? | 18:12 | ||
masak | jaffa4: you're making very little sense, I'm afraid. | ||
jaffa4 | Rakudo = the way of Camel. | 18:13 | |
TimToady is sorely tempted to allow shadowing of types/methods/etc. only if you shout the scope declarator: MY class Int {...}; HAS method new {...} | |||
masak | jaffa4: are you implying that including the word "rocket" in the name may have made the implementation faster? | ||
jaffa4 | who knows? | ||
moritz knows | 18:14 | ||
TimToady | if you polish your car it runs better, everyone knows that :) | ||
jaffa4 | I am playing with the idea | ||
masak | no, no, if you *rename* your car. | ||
TimToady | diakopter: you want to click the remember-me-for-30-days button | ||
moritz | be careful not to rename your care over file system boundaries, that's generally not supported | 18:15 | |
diakopter | I don't know where to find a Polish car | ||
jnthn | In Poland? | ||
TimToady | diakopter: no, no, just put it into reverse polish | ||
jnthn | TimToady: OH MY... | ||
diakopter | rpn: do {} | 18:16 | |
p6eval | rakudo 26c0aa, niecza v22-14-g136ddcf, pugs: ( no output ) | ||
18:16
cognominal left
|
|||
jaffa4 | r: print "${b}_somethingelse"; | 18:16 | |
p6eval | rakudo 26c0aa: OUTPUT«===SORRY!===Non-variable \$ must be backslashed at line 2, near "${b}_somet"» | ||
jnthn | TimToady: We could always spell MY as supercede or something... :) | ||
18:16
cognominal joined
|
|||
jaffa4 | r: print "{${b}}_somethingelse"; | 18:17 | |
p6eval | rakudo 26c0aa: OUTPUT«===SORRY!===Non-declarative sigil is missing its nameat /tmp/h41clHX8WL:1» | ||
jaffa4 | r: print "{$b}_somethingelse"; | ||
p6eval | rakudo 26c0aa: OUTPUT«===SORRY!===Variable $b is not declaredat /tmp/62fqCQdhsc:1» | ||
jnthn | jaffa4: {$b} is what you're looking for. | ||
TimToady | except supercede is supposed to be a globalish thing, just as augment is supposed to augment for everyone | ||
jnthn | TimToady: Hm, true | ||
jaffa4 | jnthn: ok | ||
diakopter | C# calls it non-sealed | 18:18 | |
jnthn | std: ${b} | ||
p6eval | std 64edd1c: OUTPUT«===SORRY!===Unsupported use of ${b}; in Perl 6 please use $b at /tmp/mNaWkBi1io line 1:------> ${b}⏏<EOL>Parse failedFAILED 00:00 41m» | ||
diakopter | wait. | ||
TimToady | I think it'd be good to mark intent to override/shadow somehow, and it needs to be something that is not as dehuffmanized as "is override" | ||
diakopter | scratch that last. stupid today. | ||
moritz | rats, cats, seals | ||
jnthn | Hm, where on earth does STD emit that message from... | 18:19 | |
TimToady: The problem with putting anything like this in a trait is that by the time we see the trait it's kinda too late. | |||
diakopter | jnthn: I found it the other day... | ||
jnthn | diakopter: I was expecting it to be in variable... | ||
std: my $b; say ${b} | |||
p6eval | std 64edd1c: OUTPUT«===SORRY!===Unsupported use of ${b}; in Perl 6 please use $b at /tmp/uK6FCbtjLn line 1:------> my $b; say ${b}⏏<EOL>Parse failedFAILED 00:00 42m» | 18:20 | |
diakopter | 'new' preface? | ||
.m/e ducks | |||
diakopter ducks | |||
TimToady | jnthn: line 2351 or so | 18:21 | |
masak | <jnthn> TimToady: We could always spell MY as supercede or something... :) | ||
jnthn: this was what I thought, too! | |||
moritz | regex special_variable:sym<${ }> { | ||
TimToady | but there are good reason to shadow a parent's method if you're doing it on purpose | ||
we just need to capture intent | 18:22 | ||
moritz | for methods it's very common | ||
for built-in classes less so | |||
masak | for methods it's the default. | ||
if I didn't want shadowing, I'd declare my methods multi. | |||
I'm not sure I agree about a strong parallel between method shadowing and class shadowing, actually. | 18:23 | ||
they work in different scoping dimensions, for one. | |||
TimToady | but see "regex new" | ||
18:23
supernovus left
|
|||
masak | not even sure I want to solve that problem. | 18:23 | |
moritz | well, the problem is that people seem to think that regexes live in some kind of other dimension than methods | ||
masak | just make it behave not too confusingly when people do declare a 'new' rule... | 18:24 | |
moritz | it's mostly an educational problem, IMHO | ||
masak | TimToady: we used to have a *much* bigger namespace exposed through grammars (in Rakudo), and it was hurting us. | ||
TimToady | yes, outlaw it unless they declare intent to shadow | ||
masak | today, not so much. 'new' is an exception, I think. | ||
TimToady: outlaw seems to have been diakopter's line yesterday. | 18:25 | ||
moritz | methods from Any used to cause problems. Now it's only Mu | ||
masak .oO( get rid of those top types of the type hierarchy, they're just causing problems ) :P | 18:26 | ||
moritz | yeah, let's run on category theory instead | ||
masak .oO( your distaste of type hierarchies is an instance of the free monoid ) | 18:30 | ||
18:32
cognominal left
|
|||
sorear | o/ | 18:32 | |
PerlJam | It's too bad "new" isn't spelled "NEW" (or something else less likely to be used by ordinary unsuspecting folk | 18:33 | |
) | |||
18:34
arlinius joined
|
|||
masak | sorear! \o/ | 18:34 | |
sorear: what's the parsing speed, in lines/s, of Niecza nowadays? | 18:35 | ||
flussence | .oO( that should be cycles per line... ) |
||
18:36
bapa left
18:38
bapa joined
|
|||
sorear | dunno | 18:43 | |
18:45
am0c left
18:46
cognominal joined,
am0c joined
18:47
domidumont left,
mtk left
|
|||
dalek | kudo/nom: 0e866af | jnthn++ | src/Perl6/Grammar.pm: Better error for ${whale}. |
18:52 | |
18:59
leont joined,
leont left
19:00
snearch joined
19:01
leont joined
19:12
proller joined
19:13
proller left
19:14
proller joined,
proller left,
skids joined
19:17
SamuraiJack left
19:18
am0c left,
proller joined,
proller left
|
|||
bbkr | whoever_invented_Failure_type++ # this is very useful part of language | 19:19 | |
19:19
azawawi joined
|
|||
azawawi | hi | 19:19 | |
jnthn: ping | |||
masak | bbkr: I'm still a little afraid of Failure and its semantics. seems to me the idea behind it is to separate the error reporting from where the error happened. though to be honest, I haven't yet been burned by it, or seen someone else get burned by it. | 19:22 | |
moritz | well, occasionally it has burned me, because we don't have sink context yet | 19:24 | |
and thus occasionally a Failure is silent that shouldn't be | |||
19:26
sirrobert left
19:27
flightrecorder left
|
|||
moritz | maybe with QAST now being firmly in place, I should take another stab at sink context | 19:27 | |
19:27
FROGGS left
|
|||
bbkr | masak: my use-case takes place in JSON::RPC::Client. when one request fails it throws exception of specific type, for example JSON::RPC::Error::InvalidParams. but JSON-RPC also has something called batches and client may get array of responses, some of them may be ok but some should be converted to exceptions. Failure allows to implement clean way of catching them while iterating over response results, like @response = $client.some_batch_call(); for @response -> $res | 19:28 | |
ponse { try { $response.perl.say; CATCH { when JSON::RPC { say "ooops" } } } | |||
19:29
cognominal left
|
|||
bbkr | so in general failure is handy when you have exceptions in some kind of data structure | 19:29 | |
i'm not sure what "sinks" are, but in my case Failure did the trick | 19:30 | ||
masak | why wouldn't plain exceptions work here? | ||
sinks are what's called "void context" in Perl 5. | 19:31 | ||
azawawi | phenny: tell jnthn web-based rakudo debugger api are a great idea. Hopefully i could integrate them into Padre and Farabi6 :) | ||
phenny | azawawi: I'll pass that on when jnthn is around. | ||
masak | that is, you call something without doing anything with the return value. | ||
bbkr | because exception object retuned somewhere in array cannot throw himself when accessed | ||
azawawi | tadzik: ping | 19:32 | |
tadzik | azawawi: pong | ||
jnthn | azawawi: pong | 19:33 | |
phenny | jnthn: 19:31Z <azawawi> tell jnthn web-based rakudo debugger api are a great idea. Hopefully i could integrate them into Padre and Farabi6 :) | ||
jnthn | azawawi: Yes, the idea is if it's a web based API everybody can integrate :) | ||
azawawi | tadzik: suppose panda install Some::Module breaks down because of a new commit at Some::Module | ||
19:33
rindolf left
|
|||
azawawi | tadzik: like what happened to me just now (Farabi6.... because of HTTP::Easy) | 19:33 | |
tadzik | yeah, that sometimes happens :) | 19:34 | |
19:34
wollmers joined
|
|||
azawawi | tadzik: is there a way to install it from another github? :) | 19:34 | |
tadzik | hmm | ||
you can install from a local directory | |||
19:34
cognominal joined
|
|||
tadzik | or tune your ~/.panda/projects.json | 19:34 | |
azawawi | what the command for that? | ||
tadzik | panda install ./path/ | ||
wollmers | hi all | 19:35 | |
tadzik | hello wollmers | ||
grondilu made a lot of changes on the french perl6 wikipedia article. Check it out if you speak/understand french. | 19:37 | ||
masak | wollmers: long time no see. | ||
azawawi | tadzik: q{panda --help} no tell me that :) | 19:38 | |
sorear | hi wollmers. do I know you? | ||
azawawi | tadzik: any chance you could add that info to panda --help ? | 19:39 | |
wollmers | Sometimes I would like to use a prolog-like style to describe problems in Perl. Does Perl6 support this paradigma (rule-based, logic programming) or are there plans to do it? | ||
masak | grondilu: under "Types de données", I think the type names should all start with a capital letter: Int, Num, Str. | ||
tadzik | azawawi: I don't know. Can you? :P | ||
sure I can | |||
masak | wollmers: you can already exploit the regex engine for Prolog-like semantics. | 19:40 | |
wollmers: by having it bracktrack on failure. | |||
azawawi | tadzik: thx | ||
grondilu | masak: ok but native types are types as well. | ||
masak | sure. | 19:41 | |
but I'm not sure we have a 'str'. | |||
tadzik | azawawi: I'll just open a ticket for now | ||
jnthn | masak: Rakudo is fairly sure it has one ;) | ||
wollmers | masak: Yes, regexes can backtrack. But what's about the 'or' (alternative rules) and bidirectional parameters? | 19:42 | |
masak | grondilu: sub faire_quelquechose(Str $chose, Int $autre) { ... } # the _ is not visible on the Wikipedia page | ||
wollmers: regexes have | and || for 'or' | |||
wollmers: I don't know offhand what could emulate bidi params. | |||
grondilu: same with my_split further down. | |||
19:43
zby_home joined
|
|||
masak | rn: class Point is rw { has $.x }; my Point $p .= new; say $p.x = 42 | 19:43 | |
p6eval | niecza v22-14-g136ddcf: OUTPUT«===SORRY!===Unhandled trait rw for this context at /tmp/WoR1BfgyH7 line 1:------> class Point is rw ⏏{ has $.x }; my Point $p .= new; say $p.Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE… | ||
..rakudo 0e866a: OUTPUT«42» | |||
wollmers | masak: OK, maybe I should try typical Prolog examples in Perl6-rules. | ||
masak | sorear: ^^ | 19:44 | |
wollmers: that would be cool/helpful. | |||
grondilu | masak: I can see the underscores, but ok I'll change to single dash | ||
masak | grondilu: for some reason they don't show up here. | ||
19:44
sirrobert joined
|
|||
azawawi | so basically LWP::Simple is not so simple to install via panda :) | 19:45 | |
masak | "Expressions rationnelles". huh. had I had to guess what the translation is in French, I would've guessed "régulières" | 19:46 | |
though "fermetures" is spot on, and cute :) | |||
as is "contrôle de flot" :D | |||
19:47
jaffa4 left
|
|||
masak | rn: my int @integers = 0..Inf; say "alive" | 19:47 | |
p6eval | rakudo 0e866a: OUTPUT«No such method 'STORE' for invocant of type 'Int' in block at /tmp/jzOT2iXzlt:1» | ||
..niecza v22-14-g136ddcf: OUTPUT«===SORRY!===Malformed my at /tmp/AgFEfHLbPl line 1:------> my⏏ int @integers = 0..Inf; say "alive"Parse failed» | |||
masak | grondilu: ^ this is probably not a good example. | ||
eiro | tablets.perl6.org/appendix-e-exciting.html is there an error there ? | 19:48 | |
@content = lines "poetry.txt"; | |||
grondilu | rn: my int @ = 0 .. *; | ||
masak | "jonctions"! :D | ||
p6eval | niecza v22-14-g136ddcf: OUTPUT«===SORRY!===Malformed my at /tmp/CxvNG8GE1I line 1:------> my⏏ int @ = 0 .. *;Parse failed» | ||
..rakudo 0e866a: OUTPUT«No such method 'STORE' for invocant of type 'Int' in block at /tmp/yh3vk5r3hC:1» | |||
eiro | .say for lines "/etc/passwd"; # it says "/etc/passwd" | 19:49 | |
masak | grondilu: for some reason, the underscore in get_tint is visible. | ||
grondilu | masak: I don't know about that. | ||
eiro | rn: lines "/etc/passwd" | ||
p6eval | rakudo 0e866a, niecza v22-14-g136ddcf: ( no output ) | ||
masak | grondilu: for all(@array) { ...} # this is copied from the English Wikipedia page. just as wrong there. that's never going to work. | ||
eiro | rn: lines("/etc/passwd").join("") | ||
p6eval | rakudo 0e866a, niecza v22-14-g136ddcf: ( no output ) | ||
masak | eiro: 'say' | 19:50 | |
eiro: also, please don't give actually malicious people too many ideas... | 19:51 | ||
grondilu | not even in future? | ||
masak | grondilu: not even in future. | ||
grondilu | masak: ^ | ||
mathw | hello hello | ||
grondilu | ok | ||
masak | grondilu: it's a big misunderstanding of parallelism. please remove it. | ||
mathw! \o/ | |||
19:52
kaare_ left
|
|||
eiro | haha :) sorry masak: it was just the example i use on my own system :) | 19:52 | |
masak | grondilu: junctions autothread, but you won't get a parallel for loop by looping over a junction. you'll just get autothreading and a loop over one element. | ||
eiro: I don't know if the risk is actually that big here. but better safe than sorry. :) | |||
eiro | yep | 19:53 | |
grondilu | masak: removed. Do you have an example of parallelism with junctions? | ||
masak | grondilu: I think 'hyper for @normal_array { ... }' is the syntax. | ||
grondilu: junctions are meant to be (potentially) parallel by default. | |||
eiro | btw: i'm unable to use lines | ||
19:54
azawawi left
|
|||
sirrobert | grondilu: Just FYI, the hash in your META.info for SSL is malformed (raw.github.com/grondilu/openssl/ma...META.info) | 19:54 | |
phenny | sirrobert: 20 Oct 10:13Z <moritz> tell sirrobert raw.github.com/sirrobert/Semantic-.../META.info has a space in "name ":, that's no good | ||
19:54
havenn joined
|
|||
sirrobert | Thanks, phenny-- I fixed that =) | 19:54 | |
;) | |||
mathw | hi masak, everyone | 19:55 | |
19:55
cognominal left
|
|||
sirrobert | hallow mathw | 19:55 | |
jnthn | eiro: lines on a string just splits the string into its lines. | 19:56 | |
eiro: Pass it an IO object if you want it to read the lines from that. | |||
19:56
cognominal joined,
rafl joined
|
|||
grondilu | sirrobert: I don't see what's wrong in it | 19:56 | |
sirrobert | grondilu: you have... "source-url" : [email@hidden.address] | ||
I think the format should use: "git://github.com/sirrobert/Masquerade.git" | 19:57 | ||
(I wasn't able to install the SSL module, anyway, and I think that's the issue) | |||
if not, ignore me =) just in case it's helpful. | |||
tadzik | anyone planning to go to GPW 2013? It's in Berlin | 19:58 | |
eiro | jnthn, that's what i tried to say: the exemple is not good | 19:59 | |
sirrobert | too long a drive this year, tadzik =) | ||
grondilu | sirrobert: edited and pushed on github | ||
eiro | (i think) | ||
sirrobert | grondilu: cool | ||
eiro | also there is an unfair comparaison with perl5 | 20:00 | |
$a = defined $b ? $b : $c; $a = $b // $c; | |||
grondilu | sirrobert: If you're interested in this module, be aware that it doesn't work with non-ascii strings. I wasn't able to fix that. | ||
sirrobert | grondilu: thanks for the heads-up ... I was just looking around for now. | ||
masak | tadzik: when is it? | ||
20:01
havenn left
|
|||
tadzik | masak: 13-15 of March | 20:01 | |
eiro | is there a documentation that compares perl5 and perl6 the way the coffeescript does? ( coffeescript.org/ ) | 20:02 | |
it would be really usefull for perl5 programmers | |||
masak | tadzik: sounds possible, although $future is a bit hazy right now. | ||
eiro: I once saw such a document in the Pugs repo, yes. | 20:03 | ||
eiro: maybe it's in the Mu repo now. | |||
wollmers | masak: Looking at rosettacode.org/wiki/Fibonacci_sequence the Perl6-recursive using multi looks better then the Prolog example. But what's about maheshexp.wordpress.com/2006/09/23/...og-part-2/ for example written by a Perl6 expert? | 20:04 | |
20:04
havenn joined
|
|||
Su-Shee | in case some of you are planning THE ULTIMATE TESTING FRAMEWORK: www.amd64.org/support/automated-tes...cture.html (Perl..) | 20:04 | |
eiro | if someone confirms it's an error: i fix the tablets repo | 20:05 | |
20:05
GlitchMr left
|
|||
diakopter | eiro: it appears the coffeescript comparisons compare the coffeescript input to what JS the coffeescript compiler outputs. Why would Perl 5 be on there for Perl 6? | 20:06 | |
eiro | diakopter, it's just about the 2 colums rendering | 20:07 | |
masak | Su-Shee: that looks... rather impressive. | 20:08 | |
sirrobert | r: class A { }; role B { }; say (A does B).new.perl; | ||
p6eval | rakudo 0e866a: OUTPUT«Cannot use 'does' operator with a type object. in sub infix:<does> at src/gen/CORE.setting:11788 in block at /tmp/hEaw7fiCwK:1» | ||
eiro | tablets.perl6.org/appendix-e-exciting.html < diakopter this is closer in terms of content | ||
Su-Shee | masak: we're actually speechless next door.. it looks like the candy store of testing and it's some serious perlish perl, moose based, good use of modules, readable code from what I see while browsing around.. | ||
sirrobert | What's the best way to create an instance of an object doing a certain role before passing in constructor params? | 20:09 | |
eiro | (but i really would like to be more fair with perl5) | ||
sirrobert | r: my %p = (a=>1); class A { }; role B { }; say (A does B).new(|%p).perl; | ||
p6eval | rakudo 0e866a: OUTPUT«Cannot use 'does' operator with a type object. in sub infix:<does> at src/gen/CORE.setting:11788 in block at /tmp/p0cIolgIha:1» | ||
Su-Shee | masak: and it's... VAST (I think :) | ||
jnthn | sirrobert: Try "but" there. | 20:11 | |
sirrobert | r: my %p = (a=>1); class A { }; role B { }; say (A but B).new(|%p).perl; | ||
p6eval | rakudo 0e866a: OUTPUT«A+{B}.new()» | ||
sirrobert | huh, ok | ||
jnthn | Maybe the error should say that :) | ||
sirrobert | heh | ||
jnthn | sirrobert: does mutates an existing object. | ||
sirrobert: You can't mutate a type object. | |||
sirrobert | ok, I was using "but" and "does" slightly differently | 20:12 | |
with a different interpretation (that worked =) | |||
thanks | |||
jnthn | sirrobert: If you didn't already see it, 6guts.wordpress.com/2012/10/24/raku...r-updates/ | 20:13 | |
masak | Su-Shee: looking at the CPAN Pod right now. cool. | ||
sirrobert | aha! great | ||
jnthn++: thanks | 20:14 | ||
Su-Shee | masak: I'm installing heavily :) | ||
20:14
armitage81 joined
|
|||
sirrobert | jnthn: I have the 2012-09 rakudo star installed... how do I get the updated debugger? | 20:14 | |
masak | metacpan.org/release/Task-BeLike-AMD # of *course* I want to be like AMD! | ||
20:15
birdwindupbird joined
|
|||
Su-Shee | masak: Task::Tapper installs the whole shebang (I think..) | 20:15 | |
wollmers | Su-Shee: also github.com/ingydotnet/testml-pm -- a portable test case language (usable across programming languages) looks like a nice idea. That way it would be possible to have one set of test cases (e.g. for some standard like Unicode). | ||
jnthn | sirrobert: Easiest way: wait a couple of days for this month's R* release :) | 20:16 | |
sirrobert | jnthn: heh, deal | ||
Su-Shee | wollmers: I wasn't actively looking, I just gotting pointed to this Tapper thingie and were impressed so I spread it :) | ||
tadzik | so, what is this Tapper thing all about? | ||
sirrobert | jnthn: have you put any thought to a good way to add breakpoints to code in file (rather than in debugger-runtime)? | 20:17 | |
20:17
fibo joined
20:18
bluescreen10 left
|
|||
jnthn | sirrobert: I'm wondering about trying to hijack comments in some way. | 20:18 | |
Su-Shee | tadzik: well it looks like the ultimate testing framework infrastructure thingie with EVERYTHING. | ||
20:18
armitage81 left,
cognominal left
|
|||
Su-Shee | tadzik: I can't really tell yet, it still installs | 20:19 | |
masak | tadzik: oh, just a very awesome-looking big testing framework that AMD built. | ||
tadzik | a central TAP database | ||
so like CPANTesters? :) | |||
20:19
armitage81 joined
|
|||
tadzik | Internally it is based on technology known from the CPAN testing infrastructure, extending it with automation and advanced querying. | 20:19 | |
fair enuff | |||
LIKE | |||
I want that for emmentaler :) | |||
sirrobert | jnthn: yeah... I had an idea that you might make a Perl6::Debug module that exports "bp", "tp" functions (or maybe proto functions?) then handle them specially in the debugger. | ||
Su-Shee | tadzik: skim throught it, much more I think. it looks like everything from running, queueing, setting up, spreading, reporting | 20:20 | |
20:20
armitage81 left,
armitage81 joined
|
|||
masak | tadzik: engage stealing mode. :D | 20:20 | |
jnthn | sirrobert: That's another option. But I'm not so keen on it. | ||
sirrobert | jnthn: I think it would be important for the debugger keywords to have very short names | ||
jnthn: Why's that? | |||
masak | for future IRC archaeologists: I wasn't talking about *actual* stealing. just open source. | ||
masak sometimes feels the future backlogging him, and gets fidgety | 20:21 | ||
jnthn | sirrobert: If you are debugging a module, you may add Perl6::Debug. Then you ship your module, accidentally leaving the use declaration in. Somebody tries to install it and boom. | ||
Unless they have Perl6::Debug too, then it's just a wasted module load. | |||
masak | not fidgety as in cleptomaniac, just mildly uncomfortable. :P | ||
sorear | plaigerize!...that's why God gaveyoueyes!...but call it reasearch | 20:22 | |
masak | Lehrer++ | ||
eiro | 'night perl6 people | ||
jnthn | o/ eiro | ||
sirrobert: How would something like: | 20:23 | ||
#?bp | |||
sirrobert | jnthn: it wouldn't break though, would it? If you defined things like: sub bp () {} | ||
jnthn | #?tp "foo is $foo" | ||
And the like? | |||
sirrobert | jnthn: yeah, that would work | ||
20:23
arlinius left
|
|||
jnthn | I mean, the way I implement things I can go peeking at comments. | 20:23 | |
sirrobert | jnthn: cool; I think that's plenty short | ||
jnthn | sirrobert: I'm worried about people shipping code that accidentally depends on a debugger, or having to remember to add the declaration, or importing short names that may collide with other things they want short names for in their domain. | 20:24 | |
sirrobert | jnthn: also, if it's easy (I see you already know what line you're executing), is it possible to add line numbers before each line of code? | ||
sorear thinks it's _k_leptomaniac | |||
sirrobert | jnthn: that makes sense | ||
s/possible/easy/ | 20:25 | ||
jnthn | sirrobert: I was hoping the range it gives you just above the code snippet was enough. | ||
sirrobert | jnthn: it is... but I code with line numbers, so it takes some extra cognitive work =) Maybe a ENV setting? | ||
20:26
cognominal joined
|
|||
jnthn | I suspect it's only so long before the debugger gets things that people want to configure, yeah... | 20:26 | |
masak | sorear: I think you're right. | ||
masak checks the etymology | |||
sirrobert | jnthn: better than an env var, actually, would be a conf file (~/.perl6-debug, or the like) | ||
masak | sounds Greek. | ||
jnthn | sirrobert: Yeah | 20:27 | |
sirrobert | jnthn: anyway, thanks a LOT. Most useful ecosystem add-on for me so far. | ||
jnthn | sirrobert: Feel free to file an issue about the line number thing you want. | ||
diakopter | lolz IRC archaeologists | ||
jnthn | I'm reluctant to make it the default, but I can quite happily do it as an option. | ||
(it's not hard) | 20:28 | ||
20:28
kurahaupo joined
|
|||
masak | both "kléptēs" and "manía" are Greek, originally. "theft madness". | 20:28 | |
sirrobert | jnthn: cool, will do. | ||
masak | or "thief madness", more exactly. | ||
sirrobert | jnthn: if I have some cycles, would you want me to fork/modify/pull-request? | 20:29 | |
or prefer that I just add issues? | |||
jnthn | sirrobert: If you want to contribute code also, that's fine :) | ||
sirrobert | cool =) | ||
TimToady | 'kléptō' means "I steal" | 20:31 | |
kurahaupo | κλεπτψ? | 20:32 | |
TimToady | that's a psi, not an omega | ||
jnthn | .oO( gee, that's some really messed up cyrill...oh, wait... ) |
||
sorear | needs more diacriticals | ||
masak | TimToady: dictionary.com had the word coming from grc:'kleptes', en:'thief'. | 20:34 | |
kurahaupo | ooops, that'll teach me to touch-type on a USA-ASCII keyboard: the ψ and ω are on the (adjacent) C & V keys | ||
sorear | masak: Your strange neologism for today is "kleptography" | ||
20:34
hash_table left
|
|||
masak | 'thief writing'? | 20:35 | |
I like it, but I have no idea what it means :) | |||
kurahaupo | bad cheques? | ||
masak | :D | 20:36 | |
sorear | nothing to do with the crime which is known in the US as "mail fraud", either | ||
kurahaupo | the process of writing a keylogger? | 20:37 | |
20:42
cognominal left
|
|||
TimToady | masak: a better translation of kleptes might be "stealer", since they didn't keep a separate word for it as English does | 20:43 | |
and my gut feeling is that the verb is the more basic | 20:44 | ||
masak | I'll take your word for it. | 20:45 | |
that "-es" ending, is it productive in ancient Greek? | 20:46 | ||
20:46
cognominal joined
|
|||
PerlJam | many years from now someone will be reading the encyclopedia galactica and find an entry that reads "because Larry Wall said so" | 20:47 | |
TimToady | it's just a typical noun ending | ||
diakopter | reading will exist in the future? | 20:48 | |
sorear | diakopter: Yes | ||
TimToady | we can't have readonly variables without it | ||
PerlJam | diakopter: perhaps it will be more like "thought transcription" but we'll call it reading anyway | ||
sorear | Whatever the dominant means of paging information into your local storage is, it will be called reading | ||
20:49
Pompel_ joined,
Pompel_ left
|
|||
PerlJam | sorear: we'll have pages in the future? ;) | 20:49 | |
sorear | also, I suspect history will remember TimToady mostly as the author of patch(1) :/ | ||
TimToady | yes, you have it right, and the SF authors have it wrong: they always make up a new word for the thing, and what people do is just reuse the old word | ||
sorear | TimToady: to be fair I never gave it any thought until Gloria++ brought up newsletters and mailboxes cerca YAPC::Europe | 20:50 | |
TimToady | sorear: well, whether they remember me for patch may depend on whether you finish niecza :D | ||
masak | Gloria++ | ||
what's funny about words being re-used is that you can spend the whole future making puns between the old meanings and the new. | 20:51 | ||
PerlJam | sorear: that's tantamount to saying that they'll forget Perl | ||
TimToady | they'll forget patch too :) | ||
masak | "Did you check your *mailbox*. No, not that one!" <laughter> | 20:52 | |
diakopter | patch? you mean that thing git does? | ||
PerlJam | TimToady: you only think that people reuse words because you keep using Perl for different things ;> | ||
masak | diakopter: that's either mean or funny :) | ||
TimToady | masak: the two are not mutually exclusive | ||
diakopter | masak: or ignorant | ||
masak | diakopter: right. | 20:53 | |
TimToady | I dunno | ||
masak | but "darcs" would've been more apt than "git", because git calls'em "commits". | ||
PerlJam | diakopter: in a way you're right. There are a number of people who come to #git asking is there's a way to apply a patch without git. | ||
s/is/if/ | |||
mathw | 'patch'? :) | ||
PerlJam | mathw: oddly, that's always the answer. | 20:54 | |
mathw | I wonder why... | ||
masak | well-named command. | ||
20:54
zby_home left
|
|||
geekosaur *eyeroll* | 20:55 | ||
diakopter | masak: I didn't intend to be hurtful/mean | ||
geekosaur | (probably not eyerolling as hard as TimToady is...) | ||
sorear | diakopter: apparently TimToady was one of the first people to think of using diff output as programmatic instructions for _robustly_ modifying source code | ||
20:55
birdwindupbird left
|
|||
TimToady | masak: diakopter was merely channelling the naive user there, but forgot the quotes | 20:56 | |
sorear | diakopter: then a few years later someone else wrote a couple of shell scripts on top of patch, called it the Concurrent Versioning System, and the rest is history | ||
diakopter | yes. it was a joke. :D | ||
masak | diakopter: don't worry, I saw what you were doing. :) | ||
PerlJam | sorear: parsing diff output was harder back then. TimToady was the only one crazy enough to do it ;) | ||
TimToady | I was the only one who didn't think, "Gee, if I want to automate this, I'd just use 'diff -e' to spit out an ed script." | 20:57 | |
I suspect if diff hadn't had the -e option, someone would have written patch much earlier | |||
sorear | yeah but diff -e generates _line numbers_ | 20:58 | |
I think the real genius of patch is --fuzz | |||
TimToady | no it doesn't | ||
grondilu | rn: say 4668235368676520077888364252103.is-prime | ||
p6eval | rakudo 0e866a, niecza v22-14-g136ddcf: OUTPUT«False» | ||
grondilu | rn: say my @ = 4668235368676520077888364252103.is-prime | 20:59 | |
p6eval | rakudo 0e866a, niecza v22-14-g136ddcf: OUTPUT«False» | ||
grondilu | shouldn't it give me the list of prime divisors in list context? | ||
TimToady | no, since it doesn't know them | ||
21:00
benabik left
|
|||
sorear | TimToady: GNU diffutils 2.8.1 on Mac OS X 10.7.5 with the basic -e option produces commands like 7,15c | 21:00 | |
TimToady | that's an ed script | ||
sorear | did pre-GNU diffs produce regex output? | ||
PerlJam | grondilu: wouldn't that be called something more like "factor" ? | 21:01 | |
masak | PerlJam++ | ||
grondilu | indeed, my bad | 21:03 | |
(still, is-prime could do its best and give me some, if not all) | 21:04 | ||
flussence | rn: sub prefix:<h>(\string) { string.trans(« < > & " » => << > & ">) }; h'<blink>' | 21:05 | |
rn: sub prefix:<h>(\string) { string.trans(« < > & " » => << > & ">) }; say h'<blink>' | 21:06 | ||
p6eval | rakudo 0e866a, niecza v22-14-g136ddcf: ( no output ) | ||
rakudo 0e866a, niecza v22-14-g136ddcf: OUTPUT«<blink>» | |||
sirrobert | r: role B { }; role C { }; class A does B does C { }; say A.new.^mro; | 21:07 | |
p6eval | rakudo 0e866a: OUTPUT«A() Any() Mu()» | ||
sirrobert | What manner of introspection sorcery can I do to see that A.new has roles B and C? | ||
sorear | grondilu: is-prime uses the Rabin-Miller probabilistic primality test, which does not produce *any* prime factors in the vast majority of casxes | ||
flussence | star: use URI::Escape; sub prefix:<%>(\string) { uri_escape(string) }; say %'oranges & lemons' | 21:08 | |
p6eval | star 2012.07: OUTPUT«===SORRY!===Malformed parameterat /tmp/6idibSzeUe:1» | ||
grondilu | sorear: ok | ||
sirrobert | r: role B { }; role C { }; class A { submethod BUILD { self does B; self does C; }; say A.new.^mro; | ||
p6eval | rakudo 0e866a: OUTPUT«===SORRY!===Unable to parse expression in block; couldn't find final '}' at line 2, near ""» | ||
TimToady | grondilu: that is not the job of is-prime, and you really want something more like rosettacode.org/wiki/Count_in_factors#Perl_6 | ||
sirrobert | r: role B { }; role C { }; class A { submethod BUILD { self does B; self does C; } }; say A.new.^mro; | ||
p6eval | rakudo 0e866a: OUTPUT«A+{B}+{C}() A+{B}() A() Any() Mu()» | ||
sirrobert | for some reason it works for that version, but not for the other ... | ||
flussence | star: use URI::Escape; sub prefix:<ue>(\string) { uri_escape(string) }; say ue'oranges & lemons' | 21:09 | |
p6eval | star 2012.07: OUTPUT«===SORRY!===Malformed parameterat /tmp/z8Y9HxeGIa:1» | ||
flussence | oh. | ||
star: use URI::Escape; sub prefix:<%>($string) { uri_escape($string) }; say %'oranges & lemons' | |||
p6eval | star 2012.07: OUTPUT«oranges%20%26%20lemons» | ||
flussence | wait, that ain't right... | ||
21:10
sirrobert left
|
|||
flussence | q{ } should translate to q{+}, according to this source code... | 21:10 | |
sorear | grondilu: note, the rabin-miller test runs in time Õ( N**2 ) where N = chars($num.base(2)) | 21:11 | |
the best known algorithm that _does_ give a factor runs in time O( exp(cbrt(N)) ) | 21:12 | ||
also, it's based on maths that I don't understand D: | |||
diakopter | rn: sub prefix:<h . >(\i) { i }; say h.h.h.h.5 | ||
p6eval | rakudo 0e866a: OUTPUT«===SORRY!===Confusedat /tmp/CYeOn2v66d:1» | ||
..niecza v22-14-g136ddcf: OUTPUT«5» | |||
masak | waitwait. math that sorear doesn't understand? o.O | 21:13 | |
21:14
telex left,
thou joined
|
|||
sorear | the general number field sieve is... something | 21:14 | |
diakopter | rn: sub postfix:< >(\i) { i*2 }; say 5 | 21:16 | |
p6eval | niecza v22-14-g136ddcf: OUTPUT«(timeout)» | ||
..rakudo 0e866a: OUTPUT«5» | |||
havenn | Started going through Perl6 book porting code to Ruby, just to learn. Was surprised how similar they look to each other: gist.github.com/3928203 | ||
21:16
telex joined
|
|||
diakopter | sorear: timeout ^^ | 21:16 | |
21:18
snearch left
|
|||
masak | havenn: nice! | 21:20 | |
havenn: wow, but 'Hash.new 0' looks weird from a Perl 6 perspective. I read it and think "hey, that's two terms in a row!" | |||
flussence | .oO( but that's an Array! ) |
21:21 | |
masak | havenn: you're right -- the two look very similar in structure and syntax. | ||
21:21
UncleFester6 joined
|
|||
havenn | masak: Hrmm, yeah, could have made that one line (@matches = @sets = Hash.new(0)) or @matches = {}; @matches.default 0 | 21:21 | |
masak: In Ruby somehow you've got to get the default value of the Array set, or it won't add. :) | 21:22 | ||
diakopter | rn: sub postfix:< >(\i) { i+i}; sub prefix:<(>(\i){i*i}; sub postfix:<)>(\i){i+4}; sub postfix:<(>(\i){i-4}; say ((((((5)()))((())(()))))( | 21:23 | |
p6eval | niecza v22-14-g136ddcf: OUTPUT«(timeout)» | ||
..rakudo 0e866a: OUTPUT«4188271851027274266670020743752976432915773724299403513508038881183728210190544679681» | |||
masak | havenn: oh! default. | ||
havenn: I thought it was the initial length, which seemed a bit redundant. | |||
havenn: in Perl 6, the default is whatever the first operation is. if it's '+=', the default is 0. | 21:24 | ||
havenn | masak: Yeah, too many classes have += in Ruby, so it doesn't know what you're trying to do. | ||
diakopter | masak: too bad it won't let me prefix<)> | 21:26 | |
masak | havenn: right. Perl is operator-oriented, so it knows infix:<+> is to do with numbers. | 21:27 | |
diakopter | why aren't *fix:<here> regexes at here | 21:28 | |
21:28
shmup joined
|
|||
masak | why should they be? you're declaring names. | 21:28 | |
21:30
armitage81 left,
armitage81 joined
|
|||
masak | good night, #perl6 | 21:31 | |
21:32
armitage81 left
21:50
SmokeMachine left
|
|||
havenn | The Pythonista version looks nothing at all like Perl6 or Ruby >.>: gist.github.com/3928203 | 21:52 | |
21:53
fibo left
21:55
UncleFester6 left
21:58
wollmers left
22:03
huf left
|
|||
jnthn | sleep & | 22:04 | |
22:04
PacoAir left
22:06
spider-mario left,
havenn left
22:07
stopbit left
22:08
whiteknight joined,
wknight8111 joined,
wknight_ joined,
MayDaniel left
22:22
havenn joined
22:25
hash_table joined
|
|||
grondilu just watched an interesting video with a guy saying "code is art": www.youtube.com/watch?v=6akcfoJ05Aw | 22:26 | ||
22:36
Moukeddar joined
22:48
gdey left
22:58
tokuhiro_ joined
23:03
cognominal left
23:06
gdey joined
23:12
thou left
23:18
thou joined,
leont left
23:27
havenn left
23:31
gdey left
23:35
hypolin joined
23:36
Chillance left
|