»ö« 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:08
xilo joined
00:12
cognominal__ left
00:17
xinming left
|
|||
dalek | ecs: 64cfaac | larry++ | S32-setting-library/Containers.pod: add List.permutations |
00:18 | |
00:18
xinming joined,
cognominal joined
00:21
pmurias left
00:29
felipe left,
xilo left,
mattp_ left,
alester left,
yakshavr left,
clkao left,
Exodist left,
telex left,
Khisanth left,
ashleyde1 left,
sjohnson left,
cxreg left,
preflex left,
bonsaikitten left,
fgomez_ joined,
fgomez left
00:30
bonsaikitten joined,
wtw left,
orafu left,
orafu joined
00:31
preflex joined,
wtw joined
00:39
xilo joined,
mattp_ joined,
alester joined,
yakshavr joined,
clkao joined,
Exodist joined,
telex joined,
Khisanth joined,
ashleyde1 joined,
sjohnson joined,
cxreg joined,
kshannon joined,
telex left
00:40
telex joined
00:45
gdey left,
isomorphisms left
01:00
Targen left
01:01
am0c joined
01:02
lustlife joined
01:03
Targen joined
01:05
anuby joined,
LlamaRider left
01:10
moca left
01:16
hypolin joined
01:20
cognominal left
01:23
cognominal joined,
fgomez_ left
01:24
raiph joined
|
|||
raiph | there's a new reddit channel: www.reddit.com/r/readablecode/ | 01:27 | |
01:29
cognominal left,
cognominal joined,
isomorphisms joined
|
|||
raiph | it would be interesting to see reactions to p6 code | 01:31 | |
stuff that is specifically written for readability by non p6 users | |||
and other code that is well written but decidedly idiomatic | 01:32 | ||
01:33
lichtkind__ is now known as lichtkind
|
|||
lichtkind | is it right that in perl 6 there is no builder clearer predicate and so on methods | 01:34 | |
or are they part of the metaobject? | |||
sorear | builder, clearer, and what not are Moose things, they don't have any counterpart in perl 6 | 01:36 | |
maybe someday Moose::Meta::Attribute will be ported | 01:37 | ||
01:41
fgomez joined
01:43
quester joined
|
|||
lichtkind | thanks sorear, that was my opinion too but since i will give a talk i rather double check | 01:43 | |
and predicate too? | 01:44 | ||
01:45
LlamaRider joined,
thou left
01:47
cognominal left
|
|||
raiph | golly. says readablecode is 12 hours old and has 2,770 subscribers already... | 01:51 | |
LlamaRider | Q: Is there a simple way to turn a string into a regexp object? Or is there even a need for that, or I can just use /$mystring/ as if it were a regexp? | 01:52 | |
hm, it seems I can use a $var directly without casting it into a regexp... only wondering if that has any performance drawbacks | 01:58 | ||
TimToady | rosettacode.org/wiki/Universal_Turi...ine#Perl_6 # finally, proof that Perl 6 is Turing Complete! | 02:01 | |
well, at least niecza is | |||
obviously rakudo isn't turing complete since it can't even do a goto :) | 02:02 | ||
r: label: say "foo"; goto label; | 02:04 | ||
p6eval | rakudo 11157e: OUTPUT«===SORRY!===Two terms in a rowat /tmp/MXd0ygaZYm:1------> label⏏: say "foo"; goto label; expecting any of: argument list postfix infix or meta-infix infix stopper statement end … | ||
TimToady | in fact, can't even parse a label, seems | ||
LlamaRider: if you use a string directly, it's matched literally, as if you'd used \Q$mystring\E in p5 | 02:06 | ||
you need /<$mystring>/ if you want it interpreted as regex | 02:07 | ||
LlamaRider | TimToady: I am just experiencing that and scratching my head. | ||
02:07
raiph left
|
|||
TimToady | this is where you discover that P6 regexen are a language, not just strings (as they are in P5) | 02:08 | |
hence we can make the default for $mystring to match literally, becuase it's not done by interpolation into a string | |||
note the same applies to variables like $0, so they are also matched literally | |||
LlamaRider | very interesting... thanks! | 02:09 | |
TimToady | nr: say 'Paris in the the spring.' ~~ /(\w+\s)$0/ | 02:10 | |
p6eval | rakudo 11157e, niecza v24-31-g7d73dd1: OUTPUT«「the the 」 0 => 「the 」» | ||
TimToady | nr: say 'Paris in the the spring.' ~~ /(\w+\s)<$0>/ | 02:11 | |
p6eval | niecza v24-31-g7d73dd1: OUTPUT«「the the」 0 => 「the 」» | ||
..rakudo 11157e: OUTPUT«#<failed match>» | |||
TimToady | ooh, rakudobug maybe | ||
notice that the literal space no longer matches, since whitespace is ignored by default in regex now | 02:12 | ||
and the <$0> form treats 'the ' as a regex | |||
so we don't the whitespace after the 2nd 'the' | |||
LlamaRider | cool :) | 02:13 | |
also a potential gotcha when you're not careful. Oh, does that mean that \0, \1 and so on are no longer used? | |||
TimToady | std: /(foo) \1/ | 02:14 | |
p6eval | std 692eb4f: OUTPUT«===SORRY!===Unsupported use of the 1-based special form '\1' as a backreference; in Perl 6 please use the 0-based variable '$0' instead at /tmp/JwpoTm2sUa line 1:------> /(foo) \1⏏/Check failedFAILED 00:00 42m» | ||
TimToady | yes, those are no longer necessary, since we now match $0 literally | 02:15 | |
sorear | \0 matches a NUL character. AFAIK it always has | ||
02:15
huf left
|
|||
sorear | (well, since p3 anyway) | 02:16 | |
TimToady | just one of the many places where P6 has swapped around the defaults to something more sensible than P5 | ||
LlamaRider | I was writing $1 instead of $0 today, I hope I don't write \0 instead of \1 in P5 tomorrow... | ||
02:16
autark left
|
|||
TimToady | we can't catch that, for the reason sorear++ pointed out | 02:16 | |
though we can probably notice when we're one off the end of a Match positional list and suggest an off-by-one error | 02:18 | ||
(at runtime, presumably) | |||
LlamaRider | Hm, my optimization backfired... I had ported regex code that was running 100 regex tests, each with a small acronym. I merged the 100 acronyms into a pretty optimized regex, and now Rakudo takes 10 times as much time for doing a single test. | 02:22 | |
I wonder if the process using 2.2 GB of RAM has anything to do with that O_O | 02:26 | ||
02:27
raiph joined
02:34
rindolf joined
02:36
stevan_ joined
02:38
gdey joined
|
|||
LlamaRider | I wonder if the process using 2.2 GB of RAM has anything to do with that O_O | 02:44 | |
ah, sorry for double-posting :/ clumsy window management | 02:45 | ||
r: my $rex='rex'; say "Rex" ~~ m:i/$rex/; say "Rex" ~~ m:i/<$rex>/; | 02:50 | ||
p6eval | rakudo 11157e: OUTPUT«「Rex」#<failed match>» | ||
LlamaRider | n: my $rex='rex'; say "Rex" ~~ m:i/$rex/; say "Rex" ~~ m:i/<$rex>/; | ||
p6eval | niecza v24-31-g7d73dd1: OUTPUT«FalseFalse» | ||
02:50
raiph left
|
|||
LlamaRider | now this looks awkward... | 02:50 | |
02:56
raiph joined,
stevan_ left
02:57
stevan_ joined
|
|||
LlamaRider | r: my $rex=rx:i/rex/; say "Rex" ~~ m:i/$rex/; say "Rex" ~~ m:i/<$rex>/; | 03:01 | |
p6eval | rakudo 11157e: OUTPUT«「Rex」「Rex」» | ||
LlamaRider | n: my $rex=rx:i/rex/; say "Rex" ~~ m:i/$rex/; say "Rex" ~~ m:i/<$rex>/; | ||
p6eval | niecza v24-31-g7d73dd1: OUTPUT«「Rex」「Rex」» | ||
LlamaRider | I guess this isn't much of an insight, but it is a usable workaround ... for now. | ||
03:02
raiph left
03:05
raiph joined
|
|||
LlamaRider | and using the rx:i// workaround I sped things up a factor of 10 from the original, while the buggy version was 10 times slower. Nice! | 03:07 | |
I guess manipulating rx objects directly would be the way to go for now. | |||
03:10
LlamaRider left
03:12
orafu left,
OuLouFu joined,
OuLouFu is now known as orafu
03:16
raiph left
03:20
raiph joined
03:24
anuby_ joined,
anuby left
03:32
quester left
03:46
sizz joined
|
|||
dalek | blets: 4184d60 | (Herbert Breunung)++ | docs/appendix-a-index.txt: added also to A |
03:50 | |
03:51
raiph left
04:20
mattp_ left
04:26
mattp_ joined
04:40
SamuraiJack joined
04:54
preflex_ joined
04:56
preflex left,
preflex_ is now known as preflex
05:08
dayangkun left,
awwaiid left
05:32
kaleem joined
05:37
gdey left
05:39
wk left
05:45
felipe joined,
jaldhar_ left
05:49
daniel-s left
05:53
rindolf left
05:54
rindolf joined
06:04
arlinius left
06:07
rindolf left,
rindolf joined,
xilo left
06:10
jaldhar_ joined
06:15
xilo joined
06:17
raiph joined
06:29
rindolf left,
rindolf joined
|
|||
dalek | ast: 44024a8 | larry++ | S05-match/positions.t: Failed match returns Nil |
06:33 | |
ecza: 4b68456 | larry++ | lib/CORE.setting: Failed matches return Nil |
06:34 | ||
lue | Is just me, or is S02/Names and Variables/Twigils identical to S02/Literals/Interpolation Rules/Twigils ? (Also, the link to the second one in the ToC on the HTML version goes to the first) | 06:42 | |
06:42
dwoldrich joined
|
|||
TimToady | yes, the tag does not contain the outer headers as part of its identity, which is bogus | 06:44 | |
lue | my main issue was with the redundancy though. | 06:47 | |
TimToady | you can say that again | 06:49 | |
lue would suggest leaving just the interpolation ¶ in the second Twigil section, and removing the same ¶ from the first Twigil section | |||
06:52
rindolf left,
rindolf joined
|
|||
TimToady | well, better would be to fix the tool to include the outer headers in the identity | 06:52 | |
lue wonders where the Pod gets transformed to HTML | 06:57 | ||
TimToady | possibly by mu/util/podhtm.pl, but that might also be a fossil | 07:01 | |
07:02
salv0 left
|
|||
diakopter | lue: which Pod? | 07:03 | |
oh, the Syn? runs on feather; au and agentzh and moritz (and TimToady?) worked on it.. | 07:04 | ||
lue | S02. We have a problem with two sections headed "Twigil" in S02. TimToady suggested changing the tool. | ||
diakopter | can't remember the .pl name | ||
lue fears the tool in question is a P5 one | |||
07:04
kaleem left
|
|||
diakopter | your fears are confirmed | 07:04 | |
lue | .oO(Maybe if I start working on Pod6 support tomorrow, we can eventually convert all the specs over) |
07:06 | |
07:11
FROGGS joined
07:20
wk_ joined
07:25
rindolf left,
fhelmberger joined
07:26
rindolf joined,
salv0 joined
07:37
rindolf left
07:38
rindolf joined
|
|||
rindolf | Hi all. | 07:42 | |
07:42
mberends left
|
|||
rindolf | Hi TimToady , diakopter : what's up? | 07:42 | |
diakopter | :) | ||
07:48
salv0 left
07:53
isomorphisms left
08:03
salv0 joined
|
|||
diakopter | hmm, Mark Hamill and Carrie Fisher would have to lose 200 and 100 lbs, respectively, to be anything but absurd in this new movie | 08:03 | |
because that's just not what happens to athletic heroes | 08:04 | ||
"oh, and, in addition to your $30 million fee, we'll supply a team of trainers, doctors, and chefs to prepare you for 2 years" not to mention cosmetic surgeons | 08:13 | ||
08:16
rindolf left
08:17
rindolf joined,
awwaiid joined
|
|||
tadzik | so they are playing in those movies? | 08:17 | |
labster | I just assume that they'll add their faces in afterwards using CG. It will all just be Andy Serkis in a motion-tracking suit. | ||
08:22
awwaiid left
|
|||
diakopter | hee | 08:23 | |
labster | .oO (When will Perl 6 be movie production ready?) | 08:25 | |
08:29
awwaiid joined
08:35
rindolf left
08:36
rindolf joined
08:37
daxim joined
08:39
sqirrel joined
|
|||
jnthn | morning o/ | 08:39 | |
diakopter | o/ | ||
o / | 08:40 | ||
o / | |||
jnthn | stop-motion ascii-art? | ||
felher | diakopter: was this an attempt to high-five? | 08:42 | |
diakopter | someone pulled my arm off | 08:43 | |
jnthn | Seems you can still type one-handed. | ||
felher | sounds painful... | 08:44 | |
diakopter | moritz: while allison's "no real-world users" might not technically be accurate, the point stands just as strongly because it really is effectively/essentially zero/infinitesimal-in-comparison-to-everything-else | 08:47 | |
moritz | diakopter: it's not small in comparison to the numbers rakudo had one year earlier | 08:48 | |
and I'm kinda allergic to allison spreading her worldview of 2008/2009 about rakudo and selling it as today's reality | 08:49 | ||
s/of/from/ | 08:50 | ||
diakopter | ok | ||
08:53
kresike joined
|
|||
kresike | hello all you happy and unhappy perl6 people | 08:53 | |
s/and/or/ | 08:54 | ||
sorear | "and" works there | ||
it's functioning as a set union, not a logical conjunction | |||
diakopter | also, a person can be both happy and unhappy | 08:55 | |
08:56
rindolf left,
rindolf joined,
hoelzro|away is now known as hoelzro
|
|||
diakopter | (or at least cycle back and forth between them extremely quickly) | 08:56 | |
kresike | need more coffee to boot up logic engine ☺ | 08:57 | |
diakopter | quickly *and frequently, I mean | 08:59 | |
08:59
pmurias joined
09:07
am0c left
09:12
curtispoe left
09:21
kivutar joined
09:28
woolfy joined
09:30
rindolf left,
rindolf joined
|
|||
hoelzro | goede morgen #perl6 | 09:32 | |
FROGGS | guten morgen hoelzro | ||
hoelzro | so I was looking at the Perl 6 grammar last night, and I noticed a token "openers", which is all of the opening bracket characters | 09:37 | |
how are the corresponding closing chars calculated? | |||
and where in the code does that happen? | 09:38 | ||
diakopter | which Perl 6 grammar? one in Rakudo or STD? | ||
moritz | somewhere there's a big hash table | ||
FROGGS | hoelzro: this? github.com/perl6/nqp/blob/master/s...mmar.pm#L4 | 09:41 | |
but I believe there are other places too | 09:42 | ||
09:44
rindolf left,
wtw left,
woosley left,
rindolf joined
09:47
wtw joined
|
|||
hoelzro | diakopter, FROGGS: the Rakudo grammar | 09:48 | |
09:48
woosley joined,
woosley left
10:00
hypolin left
10:03
rindolf left
10:04
rindolf joined
10:17
huf joined
10:19
rindolf left
10:20
crab2313 joined,
sttau joined
10:24
am0c joined
10:25
anuby_ left
|
|||
dalek | kudo-js: 14fcfcd | (Pawel Murias)++ | runtime/serialization.js: Fix all errors returned gjslint --nojsdoc runtime/serialization.js besides the 80 lines limit. |
10:28 | |
kudo-js: 3b01b6c | (Pawel Murias)++ | runtime/serialization.js: Shorten lines to 80 chars, so that gjslint --strict --nojsdoc runtime/serialization.js passes |
|||
FROGGS | hoelzro: for one thing: Perl6::Grammar _is_ HLL:Grammar (does STD) | 10:29 | |
and then when defining a circumfix:sym<[ ]>, it splits the symbol by the space char, and I think it just uses the char after the space, whatever it is | 10:30 | ||
10:30
Vlavv_ left
|
|||
FROGGS | that's here github.com/rakudo/rakudo/blob/nom/...r.pm#L3439 | 10:31 | |
jnthn | Or chars, if it's more than one. | 10:32 | |
Is this trying to fix the user defined circumfixes? | 10:33 | ||
FROGGS | ohh ya | ||
jnthn | I think I saw in the backlog something about them being whitespace-sensitive? | 10:34 | |
hoelzro | jnthn: I'm trying to improve pygments' perl 6 lexer | ||
jnthn | hoelzro: oh! | ||
:) | |||
hoelzro | the list of opening/closing brackets is currently wrong | ||
jnthn | Then ignore my babbling :) | ||
hoelzro | = | ||
=) | |||
I wish Rakudo (esp. the grammar) weren't so dense | 10:35 | ||
it presents a serious challenge to start helping =/ | |||
jnthn | Well, the grammar is big 'cus it's parsing a big language. | 10:37 | |
I'm not sure what we can do about that... | |||
hoelzro | true | 10:38 | |
I tried wrapping my head around the part that parses class $name $traits { ... } as well o_O | |||
jnthn | Well, much that is in package_def is not about parsing so much as registering the new symbol | 10:39 | |
hoelzro | yeah | ||
I'm a novice, but it seems to me that most of that work should go into Actions.pm? | |||
jnthn | The action methods run after something has been parsed | 10:40 | |
By we need symbols to exist from the point they are declared, as it influences the rest of the parse. | |||
*But | |||
hoelzro | oh, ok | ||
that makes sense | |||
pmurias | jnthn: re "what we can do?", puting things that are explained on irc into comments would be one good thing ;) | 10:43 | |
hoelzro | pmurias++ | ||
10:44
sttau left
10:50
labster left
10:53
kaleem joined
10:54
dwoldrich left
11:02
not_gerd joined
|
|||
not_gerd | o/ | 11:02 | |
I just added github.com/rakudo/rakudo/wiki/Real-World-Usage to the github wiki | |||
hoelzro | not_gerd++ | 11:07 | |
I should add my XMPP bot to there | |||
dalek | kudo/md-nqp: 6191f6d | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm: Start porting multi-dispatcher to NQP. Some of the complex bits are commented out, and it doesn't quite work yet, but this gets the overall algorithm translated. |
11:17 | |
11:30
Khisanth left
11:31
rurban joined
11:33
thundergnat joined
|
|||
thundergnat | r: 1 cmp 2 cmp 3 | 11:36 | |
p6eval | rakudo 11157e: OUTPUT«===SORRY!===Operators 'cmp' and 'cmp' are non-associtiave and require parenthesisat /tmp/CwHYhIaBx8:1------> 1 cmp 2 ⏏cmp 3 expecting any of: postfix infix or meta-infix infix stopper»… | ||
thundergnat | associtiave? | 11:37 | |
^^ I would fix but lack rakudo commit bits. | |||
jnthn | hm, ain't the message in NQP... | ||
ah, no, it's in Rakudo | 11:38 | ||
11:39
araujo left
|
|||
grondilu | what do you guys think about J? (I've been reading about it since yesterday, and so far I like it) | 11:39 | |
grondilu talks about rosettacode.org/wiki/J | 11:40 | ||
pmurias | is there a perltidy for Perl6? on anyone working on it? | 11:43 | |
11:44
araujo joined
11:48
Khisanth joined
|
|||
dalek | kudo-js: 9339e90 | (Pawel Murias)++ | runtime/serialization.js: Mark comments as JSDoc |
11:49 | |
kudo-js: 24359b9 | (Pawel Murias)++ | runtime/bootstrap.js: gjslint --nojsdoc --strict runtime/bootstrap.js passes. |
|||
kudo-js: c661c26 | (Pawel Murias)++ | runtime/hash.js: gjslint --nojsdoc --strict runtime/hash.js passes. |
|||
11:59
thundergnat left
12:04
peco joined
12:06
peco left
|
|||
jnthn | std: q\ \ | 12:43 | |
p6eval | std 692eb4f: OUTPUT«===SORRY!===Undeclared routine: 'q' used at line 1Check failedFAILED 00:00 41m» | ||
jnthn | TimToady: I'm struggling to figure out why STD doesn't treat the above as a quoting construct. Any hints? | 12:45 | |
moritz | unspace? | 12:47 | |
moritz has no idea | |||
jnthn | r: class A; has $.a syntax error; | 12:49 | |
p6eval | rakudo 11157e: OUTPUT«===SORRY!===Two terms in a rowat /tmp/kcgYrhN3cP:1------> class A; has $.a ⏏syntax error; expecting any of: scoped declarator constraint postfix infix or meta-infix infix stopper … | ||
jnthn | std: class A; has $.a syntax error; | ||
p6eval | std 692eb4f: OUTPUT«===SORRY!===Two terms in a row at /tmp/hqbpNkKZ5P line 1:------> class A; has $.a ⏏syntax error; expecting any of: constraint infix or meta-infix infixed function initializer statement modifier loop | ||
..traitParse failed… | |||
jnthn | wfm | ||
jnthn is going through some RT tickets and makring a bunch testneeded :) | 12:50 | ||
12:51
ggoebel_ left
|
|||
moritz | calendar at $work has interesting defaults: reminder 10 minutes before a meeting, and then offers to snooze 15min :-) | 12:52 | |
jnthn | :D | ||
tadzik | perfect :) | ||
moritz won't be online during the weekend, will be skiing (last time was more than 12 years ago...) | 12:54 | ||
jnthn | ooh, ahve fun :) | ||
*have | |||
12:54
cognominal joined
|
|||
dalek | kudo/md-nqp: 371433d | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm: Various fixes. Gets the NQP-based multi-dispatcher working for some basic cases. |
12:55 | |
12:58
LlamaRider joined
13:00
not_gerd left
13:09
Khisanth left,
Khisanth joined
13:14
jaldhar_ left
13:16
Khisanth left
13:30
Khisanth joined
|
|||
jnthn | r: my %h = a => 1, b => 2; my $x = 'a'; say %h<< b $x >> | 13:32 | |
p6eval | rakudo 11157e: OUTPUT«(Any) (Any)» | ||
jnthn | Got that one fixed locally, running spectest while I go for a walk :) | ||
colomon | n: my %h = a => 1, b => 2; my $x = 'a'; say %h<< b $x >> | 13:54 | |
p6eval | niecza v24-32-g4b68456: OUTPUT«Use of uninitialized value in string context at /home/p6eval/niecza/boot/lib/CORE.setting line 1295 (warn @ 5)  at /home/p6eval/niecza/boot/lib/CORE.setting line 266 (Mu.Str @ 15)  at <unknown> line 0 (ExitRunloop @ 0)  at /home/p6eval/niecza/boot/… | ||
colomon | :\ | ||
[Coke] eyerolls at diakopters weight comments. | 13:55 | ||
FROGGS | i.imgur.com/nAZaLaE.jpg | 13:56 | |
^-------- I have twiddled with base64_decode, and for me it looks like it is more than 7% faster | 13:57 | ||
colomon | std: 1 cmp 2 cmp 3 | ||
p6eval | std 692eb4f: OUTPUT«===SORRY!==="cmp" and "cmp" are non-associative and require parens at /tmp/9oTjUHpyJS line 1:------> 1 cmp 2 cmp ⏏3Check failedFAILED 00:00 42m» | ||
FROGGS | I mean, ./perl6 -e '1' is 7% faster | ||
arnsholt | FROGGS: Looks promising. What kind of changes have you done? | 13:58 | |
FROGGS | well, I used another base64_decode code :o) | ||
arnsholt | Probably a good idea. Where did you take it from? | 13:59 | |
(And what kind of licence does it have?) | |||
FROGGS | I used and translated this: | ||
www.experts-exchange.com/Programmin...ecode.html | |||
masak | today's autopun: "'We hate math', say 4 out of 10 Americans -- a majority of Americans" | ||
tadzik | FROGGS: awesome | 14:00 | |
[Coke] | thanks for throwing the US under the bus. :P | ||
jnthn | .oO( Was it a short bus? ) |
||
:P | |||
tadzik | jnthn: well, longer than average ;) | 14:01 | |
jnthn | :P | ||
FROGGS: ooh, nice! | |||
[Coke] | “Just think of how stupid the average person is, and then realize half of them are even stupider!” -carlin | 14:03 | |
FROGGS | I will run a benchmark later too, to be sure | ||
arnsholt | FROGGS: The post says there's an even faster one in the comments. Did you try that one as well? | ||
FROGGS | ohh no, danm | ||
will try that one too then | |||
14:05
FROGGS left
|
|||
dalek | kudo/nom: 4080d67 | jnthn++ | src/Perl6/ (2 files): Add missing shellwords postcircumfixes. Resolves oops-hyper parse bug due to them being missing, and as a bonus means we now support them. |
14:05 | |
p: 25e2a23 | (Arne Skjærholt)++ | src/6model/reprs/VMArray.c: Stub serialization and deserialization logic for VMArrays and their REPR data. |
14:06 | ||
p: 33a40fc | (Arne Skjærholt)++ | src/6model/reprs/VMArray.c: Implement gc_mark in VMArray. |
|||
jnthn | I wonder if we have some spectests for %h<< $x abc >> style things. | ||
LlamaRider | Hm, I'm refactoring a P5 CPAN module that is both a module and a class... What should I port that to in P6? Just a module? Just a class? A class in a module? | 14:10 | |
It has both a procedural and an OO interface, as many P5 utilities do. | 14:12 | ||
14:13
census joined
14:14
am0c left
|
|||
pmichaud | I like living here in Plano, where 60% of the students are in the top 10%. | 14:15 | |
PerlJam | LlamaRider: I think it would depend on the specifics of the module/class. | ||
14:17
PacoAir joined
|
|||
pmurias | jnthn: do we have a coding standard for rakudo/nqp? | 14:19 | |
jnthn | pmurias: Nothing documented. There's various unspoken things I guess (like, use spaces, not tabs, don't camel-case method names, etc). | 14:21 | |
14:22
Psyche^ joined
14:25
Patterner left,
Psyche^ is now known as Patterner
|
|||
LlamaRider | PerlJam: Can you "use" a class? I guess you could do "is a export" on its methods... | 14:28 | |
PerlJam | LlamaRider: you use a module. that module may contain a class | ||
LlamaRider | PerlJam: S11 seems to claim you can use a class (Dog in that example) | 14:29 | |
census | pmichaud: Plano, Texas ? | 14:31 | |
jnthn | LlamaRider: Yes, it's fine if the top-level thing is a class | 14:32 | |
LlamaRider | jnthn: What if I am in a script with no declarations before the "use" ? Only modules then? | 14:33 | |
PerlJam | LlamaRider:The file may be called Foo.pm but the class inside could be called Bar. You still say "use Foo" | ||
LlamaRider | PerlJam: Wouldn't you (shouldn't you) get an Error if Foo.pm doesn't contain a top-level module/class Foo? | 14:34 | |
jnthn | No | ||
It's just convention that they match up | |||
EXPORT is actually a lexical package in the UNIT of the thing you're loading, so it's lcoated like that. | |||
Classes are, like in Perl 5, still a kind of package in so far as they have a hash for storing stuff in. | 14:35 | ||
lizmat | LlamaRider: this is actually one of the cases where P6 is the same as P5 | 14:36 | |
LlamaRider | Hm... How about Foo.pm containing module Foo {} and class Foo {} inside itself? | ||
jnthn | A class is a kind of module (not inheritance wise in the implementation, but a class can do what a module can plus more things) | ||
Then the class on the inside is actually Foo::Foor. | |||
*Foo | |||
LlamaRider | Well, not if it is outside the scope of the module {} block | 14:37 | |
lizmat is suddenly reminded of a blue dog called FooFur | |||
14:37
takadonet joined
|
|||
takadonet | hey all | 14:37 | |
PerlJam | LlamaRider: so ... module Foo { ... } class Foo { ... } ? that wouldn't work. | 14:38 | |
LlamaRider | PerlJam: Mkay, what is wrong with it? jnthn seems to have convinced me using a class is all I need. | ||
PerlJam | LlamaRider: It would give you a "symbol redeclaration" error for Foo. | ||
jnthn | r: module Foo { }; class Foo { } | 14:39 | |
p6eval | rakudo 4080d6: OUTPUT«===SORRY!===Redeclaration of symbol Fooat /tmp/Mg54Pg8Igg:1------> module Foo { }; class Foo ⏏{ } expecting any of: statement list horizontal whitespace postfix infix or meta-infix … | ||
LlamaRider | So, two different kinds of objects share one namespace? | 14:40 | |
dalek | kudo/nom: c4280ee | jnthn++ | src/ (4 files): Generalize "can we augment this" checking. Make it an archetype, and then opt classes in. Also tweak the exception type that is used to be more general, and try to make the wording of it general enough for all the cases we could get it, so it won't mislead. |
||
LlamaRider | Ok... Then classes do seem to be thought of as modules on some level. | ||
PerlJam | because thry are | 14:41 | |
jnthn | Both result in a type object being instaleld, yes. | ||
*installed | |||
They're both types in some sense, but modules aren't very useful as types. | |||
They're just another kind though. Like roles, enums, subsets, etc. | |||
LlamaRider | so I can "use" any type? | 14:42 | |
dalek | ast: 6e76108 | jnthn++ | S32-exceptions/misc.t: Update augment exception test and add another one. New test covers RT#112956. |
14:43 | |
jnthn | LlamaRider: Well, yes, but the "use" is really mapping to a filename. | ||
LlamaRider: You could, if you really wanted (don't particularly encourage it though) have a module that doesn't contain any module/class/whatever declaration, and just exports some subs. | 14:44 | ||
PerlJam | LlamaRider:See the synopses on "need" and "import" (sorry I don't have a reference right off) | ||
LlamaRider: "use" is basically a combination of "need" and "import" and I get the feeling you're looking for "need" | 14:45 | ||
jnthn | std: sub circumfix:<begin end>($contents) { say "$contents!" }; begin "OH HAI" end | ||
p6eval | std 692eb4f: OUTPUT«ok 00:01 50m» | ||
takadonet | LlamaRider: I written a few cpan p5 to p6 modules with both OO and procedural interface | 14:46 | |
14:47
crab2313 left
|
|||
LlamaRider | So when would want to use a module but definitely not a class? When there is no need whatsoever to have objects? But you could have static classes as well I suppose... Or when you want multiple classes in the same module namespace? | 14:47 | |
jnthn | If you just have a bunch of subs and don't want to provide any OO interface at all, then there's no need for a class | 14:48 | |
14:48
crab2313 joined
|
|||
takadonet | it was a very straight port where it was a mix of OO and procedural in the same class | 14:49 | |
github.com/Takadonet/Algorithm--Diff/ | |||
just started to fix the bit rot on it this week | |||
the procedural where just our scoped sub | 14:50 | ||
LlamaRider | takadonet++ thanks for that reference! So you just used a class and all worked out? Cool. | ||
14:50
FROGGS joined
|
|||
LlamaRider | Also jnthn++ and PerlJam++ thanks for the Perl6 OO vs modules lesson. | 14:51 | |
14:51
cognominal left
14:52
rjbs left,
rjbs joined
|
|||
takadonet | LlamaRider: Mostly, it worked before the bit rot . Probably not the best solution but it was 100% same interface as the p5 one | 14:58 | |
jnthn | away fora bit | ||
takadonet | I am in the processing of fixing the procedural way first then the OO | ||
15:01
mtk left
15:02
salv0 left
|
|||
LlamaRider | takadonet: now that you mention code rotting... is there some standard way of specifying the version of Rakudo the module/class was developed with/for? | 15:02 | |
takadonet | no idea. | 15:04 | |
15:04
mtk joined,
sftp left,
JimmyZ joined
15:05
wk_ left
15:06
mtk left
15:07
fhelmberger left,
mtk joined
15:10
xilo left
15:11
sftp joined,
mtk left
15:14
PacoAir left
15:15
PacoAir joined,
mtk joined
|
|||
TimToady | n: say 'foo' ~~ /bar/ | 15:15 | |
p6eval | niecza v24-32-g4b68456: OUTPUT«Nil» | ||
TimToady | \o/ | ||
n: say +Nil | 15:16 | ||
p6eval | niecza v24-32-g4b68456: OUTPUT«Use of Nil as a number at /home/p6eval/niecza/lib/CORE.setting line 1342 (warn @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 455 (Nil.Numeric @ 4)  at <unknown> line 0 (ExitRunloop @ 0)  at /tmp/EAw7Hyr3XF line 1 (mainline @ 3)  at /home/p6e… | ||
FROGGS | arnsholt: the post only says something about a faster encoder, not decoder | 15:17 | |
JimmyZ | r: say 'foo' ~~ /bar/ | 15:20 | |
p6eval | rakudo c4280e: OUTPUT«#<failed match>» | ||
JimmyZ | r: say ('foo' ~~ /bar/).chars | 15:21 | |
p6eval | rakudo c4280e: OUTPUT«0» | ||
kresike | bye folks | ||
15:21
kresike left
|
|||
JimmyZ | n: say ('foo' ~~ /bar/).chars | 15:21 | |
p6eval | niecza v24-32-g4b68456: OUTPUT«Nil» | ||
15:22
am0c joined
|
|||
TimToady | jnthn: yes, ws calls .unsp, so you can't have whitespace after the \ if you want it to work | 15:24 | |
std: q\ \ | |||
p6eval | std 692eb4f: OUTPUT«===SORRY!===Undeclared routine: 'q' used at line 1Check failedFAILED 00:00 41m» | ||
TimToady | std: q\x\ | ||
p6eval | std 692eb4f: OUTPUT«ok 00:00 41m» | ||
TimToady | but I think that's a very small WAT compared to the DWIM of unspace + choose-your-own-adventure :) | 15:27 | |
15:27
JimmyZ left
15:29
xilo joined
15:31
skids joined,
donaldh joined
|
|||
TimToady | n: say Nil.foo.bar.baz | 15:34 | |
p6eval | niecza v24-32-g4b68456: OUTPUT«Nil» | ||
15:35
bluescreen10 joined
15:44
LlamaRider left
|
|||
TimToady | Actually, it's not strictly true that half the people are stupider than the average person; rather, half of them are stupider than the *median* person. | 15:48 | |
And it's really quite unlikely that those two are the same person... | 15:49 | ||
TimToady spent far too long trying to figure out who user 'danm' is after reading irclog.perlgeek.de/perl6/2013-03-08#i_6564795 | 15:53 | ||
huf | :) | 15:54 | |
his other name is darn | |||
15:55
kaare__ joined,
kaleem left
15:59
gdey joined
|
|||
FROGGS | TimToady: :o) | 16:02 | |
TimToady | darn: I ran out of backlog--you guys need to frontlog s'more... | ||
16:05
ggoebel_ joined
|
|||
jnthn back | 16:07 | ||
16:07
isomorphisms joined
|
|||
jnthn | TimToady: Hm, I wonder why we don't treat it as unspace correctly then... | 16:09 | |
Will have a dig. | 16:10 | ||
Been taking a look at circumfix parsing too | |||
16:12
spider-mario joined
|
|||
jnthn | Somehow, when I changed it to parse semilist rather than EXPR, it then parse fails | 16:12 | |
TimToady | doesn't eat ws maybe | 16:13 | |
jnthn | Well, not liking ws is what I'm trying to fix :) | 16:14 | |
I think it gets ws right | |||
it then things the terminator is a second term... | |||
ooh... | |||
TimToady | STD has a '' in semilist to eat whitespace due to the new ws semantics | ||
jnthn | ((local \$::GOAL = $stopper | ||
Does that affect the parse? | 16:15 | ||
TimToady | sure, there are several assertions that test $*GOAL | 16:16 | |
jnthn | Yes, I'm struggling to see exactly which one would cause semilist to parse no more | 16:18 | |
TimToady | but it looked to me like term:identifier was just getting tiebroke before the literal 'begin' for some reason | ||
you're thinking of the begin/end problem? | 16:19 | ||
or something else? | |||
jnthn | Yeah, the being end one | ||
*begin | |||
Oh | |||
It sets stopper too | |||
TimToady | I don't think changing the insides will help if the problem is LTM ordering | 16:20 | |
jnthn | If I'm reading cursorbase.pmc right anyway... | ||
I don't think it's an LTM issue | |||
I think it's that I'm not setting the "end" as a stopper | |||
I somehow missed the fact that what's in CursorBase does that. | |||
Provided that's what \$C->unbalanced($stopper))[-1] is doing... :) | 16:21 | ||
TimToady | yes, that could definitely case it to fail, but...surely we'll have committed to the circumfix by then | ||
iirc the error looked like it was trying to parse as a listop | |||
*cause | |||
jnthn | Oh, sorry for the confusion... | ||
The *initial* problem was that it didn't spot the whitespace | 16:22 | ||
That's 'cus we called EXPR instead of calling semilist like STD does | |||
Fixing semilist gets it further but it does a ttiar when it hits thet terminator. | |||
I'd read the regex bit of CursorBase then missed the lines that set goal and stopper | |||
TimToady | k | 16:23 | |
jnthn tries some changes | 16:25 | ||
16:28
Chillance joined
16:30
isBEKaml joined
|
|||
isBEKaml | OHHAI, #perl6! | 16:30 | |
takadonet | isBEKaml: hey | 16:32 | |
isBEKaml | jnthn: oooh, I was also looking at begin-end thingy and thought maybe I should ditch EXPR for semilist (well, that was the last thought last night, anyway :) | 16:33 | |
takadonet: hey | |||
jnthn | isBEKaml: Yeah, I got a patch here that may cut it, apart from I did a silly typo... | ||
isBEKaml | jnthn: cool, looking forward to that :) | 16:34 | |
16:37
zby_home joined
|
|||
dalek | kudo-js: 2179c68 | (Pawel Murias)++ | runtime/reprs.js: gjslint --nojsdoc --strict runtime/reprs.js passes. |
16:42 | |
kudo-js: 91a5029 | (Pawel Murias)++ | runtime/sixmodel.js: gjslint --nojsdoc --strict runtime/sixmodel.js passes. |
|||
kudo-js: 22ba87c | (Pawel Murias)++ | Makefile: Add a lint target to the Makefile. |
|||
kudo-js: 4eb5925 | (Pawel Murias)++ | / (2 files): gjslint --nojsdoc --strict runtime.js passes. |
|||
rakudo-js: 8649ded | (Pawel Murias)++ | runtime/bootstrap.js: | |||
rakudo-js: Fix bug. | |||
16:47
gdey left
16:51
SunilJoshi joined
16:56
ElDiabolo joined
|
|||
ElDiabolo | masak, Hi. hinking about implementing LINQ has been stalled for some time. Laptop got stolen. | 16:58 | |
17:00
SunilJoshi left
|
|||
dalek | kudo/nom: 085f746 | jnthn++ | src/Perl6/Grammar.pm: Align user-defined circumfix parsing with STD. Means that we now use semilist (thus getting whitespace righter) and set a stopper appropriately. |
17:03 | |
ast: 0f3284c | jnthn++ | S06-operator-overloading/sub.t: Tests for spaces inside user-defined circumfixes. |
17:04 | ||
jnthn | std: sub postfix:< >($a) { [*] 1..$a; }; say (* )(5); | 17:05 | |
p6eval | std 692eb4f: OUTPUT«===SORRY!===Null operator is not allowed at /tmp/OjiZ9A1y8d line 1:------> sub postfix:< >⏏($a) { [*] 1..$a; }; say (* )(5);Parse failedFAILED 00:00 41m» | ||
17:07
hoelzro is now known as hoelzro|away,
SunilJoshi joined
17:12
wk joined
|
|||
jnthn | std: sub postfix:<>($a) { [*] 1..$a; }; say (* )(5); | 17:13 | |
p6eval | std 692eb4f: OUTPUT«===SORRY!===Null operator is not allowed at /tmp/DThjTfCgpC line 1:------> sub postfix:<>⏏($a) { [*] 1..$a; }; say (* )(5);Other potential difficulties: Pair with <> really means a Nil value, not null string; use :('') to rep… | ||
17:14
am0c left
17:19
pmurias left
17:21
crab2313 left
17:24
ElDiabolo left
17:28
spider-mario left
17:30
daxim left
17:33
sizz left
17:34
sizz joined
|
|||
TimToady | nr: constant factorial = 1, 1, [\*] 2...*; say factorial[^10] | 17:36 | |
p6eval | niecza v24-32-g4b68456: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object at Builtins.InvokeSub (Niecza.P6any obj, Niecza.Variable[] pos) [0x00000] in <filename unknown>:0  at Niecza.Kernel.ToComposable (Niecza.STable arg… | ||
..rakudo 085f74: OUTPUT«1 1 2 6 24 120 720 5040 40320 362880» | |||
TimToady | rakudo++ | ||
jnthn | ooh, that's a cute way to define it | ||
masak | p6 u so terse | 17:43 | |
17:43
gdey joined
|
|||
PerlJam | S03 says "A variant of the reduction metaoperator is pretty much guaranteed to produce a list; to lazily generate all intermediate results along with the final result, you can backslash the operator:" | 17:43 | |
When does it not produce a list? | 17:44 | ||
or should the "pretty much" language be tweaked? | |||
dvj | rn: say 1 xx * | 17:45 | |
p6eval | niecza v24-32-g4b68456: OUTPUT«(timeout)» | ||
..rakudo 085f74: OUTPUT«1 1 1 1 ...» | |||
dvj | rakudo++ :P | ||
masak | docs.google.com/document/d/1bMwCey...lK-cjo/pub # Go 1.1 function calls, interesting reading about how Go functions are stored | 17:46 | |
I hadn't realized Russ Cox was on the Go team. | |||
dalek | p-jvm-prep: 4ed22aa | jnthn++ | lib/QAST/JASTCompiler.nqp: Fix serialize op return type. |
17:48 | |
p-jvm-prep: a77bcfb | jnthn++ | src/org/perl6/nqp/ (2 files): Port a few of the basic serialization primitives. |
|||
nwc10 | what is it with timing? I was only just looking, after about 24 hours away | ||
masak | lichtkind: I think the clearer on attributes was included in Moose for rather arbitrary reasons. like, someone used it in a project. | 17:49 | |
TimToady | rosettacode.org/wiki/Permutations/D...nts#Perl_6 | 17:51 | |
17:51
fgomez left,
isBEKaml left
|
|||
skids | .oO(and when TimToady++ finishes all of Rosettacode he will move on to generating every sequence on oeis.org) |
17:54 | |
masak | or solving all the problems in TAoCP using Perl 6. | 17:55 | |
colomon | TAoCP++ | 18:02 | |
ooo, more nqp-jvm commits! \o/ | |||
jnthn | r: :a<> | 18:05 | |
p6eval | rakudo 085f74: OUTPUT«===SORRY!===Unsupported use of <>; in Perl 6 please use lines() to read input, ('') to represent a null string or () to represent an empty listat /tmp/EEbA5PK_hD:1------> :a<⏏>» | ||
jnthn | std: :a<> | ||
p6eval | std 692eb4f: OUTPUT«Potential difficulties: Pair with <> really means a Nil value, not null string; use :a('') to represent the null string, or :a() to represent Nil more accurately at /tmp/H5iY_tFCOx line 1:------> :a<>⏏<EOL>ok 00:00 40m» | ||
jnthn | hm, so our test that it dies is rong. | ||
masak | why is every p6eval reply filled with Unicode mis-decodings in the log at irclog.perlgeek.de ? | 18:06 | |
TimToady | well, the STD message is wrongish too now that Nil isn't () | ||
jnthn | std: <> | ||
p6eval | std 692eb4f: OUTPUT«===SORRY!===Unsupported use of <>; in Perl 6 please use lines() to read input, or ('') to represent the null string, or () to represent Nil at /tmp/QaK7IzrHBx line 1:------> <⏏>Parse failedFAILED 00:00 40m» | ||
jnthn | TimToady: Well, that's just typical timing, now I've got that aspect of Rakudo sync'd with STD :P | 18:07 | |
masak | [Coke] “Just think of how stupid the average person is, and then realize half of them are even stupider!” -carlin | ||
only if "average" means "median" :) | 18:08 | ||
dalek | kudo/nom: f27a139 | jnthn++ | src/ (2 files): Forbid null operators. Adds a typed exception for them also. |
||
kudo/nom: 4e84ff7 | jnthn++ | src/Perl6/ (3 files): Add coloncircumfix. Brings us further in line with STD's approach, and gets rid of a misleading message. |
|||
d: 86b102f | larry++ | STD.pm6: Don't use Nil to mean () in error messages anymore |
18:09 | ||
ast: 0e6e3de | jnthn++ | S32-exceptions/misc.t: Correct test for obsolete use of <>. Per STD, :a<> should not die in that way. |
|||
masak | oh, TimToady++ already pointed out the "median" thing. | ||
colomon seems to recall pointing that out somewhere a week or two ago too, probably not here. | 18:10 | ||
TimToady | masak: now we just need to figure out which of us is the median and which is the average... | ||
I think I want to be the median, but you can have it if you like... | 18:11 | ||
jnthn | TimToady: One more in term:sym<undef>? | ||
TimToady | that one really does mean Nil, I think | ||
FROGGS | yay, jnthn did something for nom again \o/ | ||
jnthn++ | |||
:o) | |||
masak | masak's comforting law of structural bug recursion: If the actual doesn't match the expected for the system, there's a bug in one of its components. | 18:12 | |
*grin* | |||
TimToady | please define "the system"... | ||
masak | it includes the tester... | ||
TimToady | how 'bout cosmic rays? | 18:13 | |
masak read that as "cosmetic rays", twice | |||
jnthn | std: undef | ||
p6eval | std 692eb4f: OUTPUT«===SORRY!===Unsupported use of undef as a value; in Perl 6 please use something more specific: Mu (the "most undefined" type object), an undefined type object such as Int, :!defined as a matcher, Any:U as a type constraint, Nil as the absense | ||
..… | |||
TimToady | that's specifically where someone was trying to say "undef", which is not () in p5 | 18:14 | |
so I think Nil is more accurate there | |||
(assuming the new semantics) | |||
((which I haven't managed to hack into niecza yet becuase the regex engine somehow depends on Nil.list returning () | 18:15 | ||
)) | |||
jnthn | TimToady: Rakudo's behind with the latest STD message there, it turns out...so false alarm. | ||
FROGGS: Well, got a port of multi-dispatch to NQP underway in a branch also. Mostly for portability reasons, but will take care of a bug or two along the way there. :) | 18:17 | ||
Also gonna re-work various aspects of container handling in the not too distant future. Partly to improve portability, but I'll deal with the native types / rw issue along the way. | 18:18 | ||
18:19
lichtkind_ joined
|
|||
[Coke] | AHAHAHAHAHAHA. I AM THE 1,024TH PERSON TO LIKE LARRY WALL ON FACEBOOK! MUAHAHAHAH | 18:19 | |
I definitely should get an internet point for that. | |||
TimToady | n: class Fool { method FALLBACK (|stuff) { say stuff } }; Fool.of_a_Took('Peregrine') | 18:20 | |
p6eval | niecza v24-32-g4b68456: OUTPUT«\("of_a_Took", "Peregrine")» | ||
TimToady | jnthn: how is that spelled in rakudo? | ||
18:21
lichtkind left
|
|||
jnthn | TimToady: In Rakudo, it's available through .^add_fallback | 18:21 | |
TimToady | what does that add it to? | ||
jnthn | Which exists to implement handles... | 18:22 | |
It adds it to a list of method dispatch failovers. | |||
If a normal MRO-based name search fails (which actually means a cache miss, typically), it searches through a list of failovers. | |||
A failover consists of two closures: the first one determines if this failover applies, the second actually does the work. | |||
TimToady | r: class Fool { my method FALLBACK (|stuff) { say stuff }; Fool.^add_failover({True},&FALLBACK }; Fool.of_a_Took('Peregrine') | 18:23 | |
jnthn | Example usage in src/core/Failure.pm | ||
p6eval | rakudo 085f74: OUTPUT«===SORRY!===Unable to parse expression in argument list; couldn't find final ')'at /tmp/FPoVd_gKJi:1------> }; Fool.^add_failover({True},&FALLBACK ⏏}; Fool.of_a_Took('Peregrine') expecting any of: postfix … | ||
TimToady | something like that? | ||
r: class Fool { my method FALLBACK (|stuff) { say stuff }; Fool.^add_failover({True},&FALLBACK) }; Fool.of_a_Took('Peregrine') | 18:24 | ||
p6eval | rakudo 085f74: OUTPUT«No such method 'add_failover' for invocant of type 'Perl6::Metamodel::ClassHOW' in block at /tmp/OrwzYPfZum:1» | ||
TimToady | r: class Fool { my method FALLBACK (|stuff) { say stuff }; Fool.^add_fallback({True},&FALLBACK) }; Fool.of_a_Took('Peregrine') | ||
p6eval | rakudo 085f74: OUTPUT«Too many positional parameters passed; got 2 but expected between 0 and 1 in block at /tmp/LkhA2uJppG:1» | ||
jnthn | Yes, put the first closure gets 2 args, object and name | ||
TimToady | r: class Fool { my method FALLBACK (|stuff) { say stuff }; Fool.^add_fallback(-> $, $ {True},&FALLBACK) }; Fool.of_a_Took('Peregrine') | 18:25 | |
p6eval | rakudo 085f74: OUTPUT«No such method 'gist' for invocant of type 'String' in method gist at src/gen/CORE.setting:5023 in sub say at src/gen/CORE.setting:7592 in method FALLBACK at /tmp/D_erOun50e:1 in at src/gen/Metamodel.pm:2493 in any find_method_fallback at src/gen/Metamod… | ||
TimToady | huh, doesn't derive from Any? | ||
jnthn | You got an NQP string. | 18:26 | |
TimToady | ooh, leaky! :) | ||
wondering if we should spec FALLBACK as a method, and do that fancy stuff if we happen to see one, like niecza does | 18:27 | ||
r: class Fool { my method FALLBACK (*@stuff) { say @stuff }; Fool.^add_fallback(-> $, $ {True},&FALLBACK) }; Fool.of_a_Took('Peregrine') | 18:28 | ||
p6eval | rakudo 085f74: OUTPUT«Cannot assign a non-Perl 6 value to a Perl 6 container in method REIFY at src/gen/CORE.setting:6370 in method reify at src/gen/CORE.setting:5505 in method reify at src/gen/CORE.setting:5492 in method gimme at src/gen/CORE.setting:5882 in method eager at s… | ||
jnthn | r: class Fool { my method FALLBACK (|stuff) { say stuff }; Fool.^add_fallback(-> $, $ {True}, -> $, $name { &FALLBACK }) }; Fool.of_a_Took('Peregrine') | ||
p6eval | rakudo 085f74: OUTPUT«Peregrine» | ||
TimToady | o_O | 18:29 | |
jnthn | or | 18:30 | |
r: | |||
oops | |||
r: class Fool { my method FALLBACK (|stuff) { say stuff }; Fool.^add_fallback(-> $, $ {True}, -> $obj, $name { -> $, |c { $obj.FALLBACK($name, |c) } }) }; Fool.of_a_Took('Peregrine') | |||
p6eval | rakudo 085f74: OUTPUT«of_a_Took Peregrine» | ||
18:30
lichtkind_ is now known as lichtkind
|
|||
jnthn | Anyway, this mechanism wasn't exactly designed with this purpose in mind. | 18:30 | |
It was added when I was implementing the various handles failovers. | |||
TimToady | but we could implement a niecza-esque method FALLBACK in terms of it | 18:31 | |
jnthn | Where you do need to know whether or not one will work. | ||
We could. | |||
No objections if you want to spec something like that. | |||
TimToady | though I wonder if it wouldn't be better spelled 'method *' | ||
(would take special parsing though) | |||
maybe FALLBACK is better huffman | 18:32 | ||
jnthn | But also plesae spec its pecking order in relation to handles wildcarding :) | ||
My guess is "comes after any of those" | |||
TimToady | oh, definitely after, I'd think | ||
jnthn | Because there's not a way for FALLBACK to say "no, I can't handle it" | ||
Of course, any handles * will hide it 'cus that can handle anything | |||
TimToady | well, can it nextsame? | 18:33 | |
jnthn | Hmm. | ||
TimToady | well, but handles * only looks for existing methods? | ||
jnthn | Where would it nextsame to? | ||
Oh...that's a good point. | |||
TimToady | a FALLBACK in a parent class? | ||
jnthn | ah, yes | 18:34 | |
That would work once you end up in FALLBACK itself I guess. | |||
TimToady | that's why I can't easily do rosettacode.org/wiki/Respond_to_an_...ethod_call yet | ||
at least, not portably between n and r | 18:35 | ||
jnthn | TimToady: Actually, it's not so smart in handles * to chck if a method exists | ||
TimToady | I just meant it doesn't actually work if the method doesn't exist | ||
jnthn | handles some-thingy-here just smartmatches the name against the thing. | ||
oh | |||
TimToady | I mean the method will fail the delegation if it can't find it in the handler object | 18:36 | |
jnthn | r: class Foo { has $!x handles * }; Foo.new.test | ||
p6eval | rakudo 085f74: OUTPUT«No such method 'test' for invocant of type 'Any' in block at src/gen/CORE.setting:313 in block at /tmp/4HuGUQBDTu:1» | ||
TimToady | (unless that object does a fallback | ||
) | |||
jnthn | Here it did $!x.Foo because 'new' ~~ * | ||
Is that in line with what you're saying? :) | |||
TimToady | sure, but I'd like *that* to be able to failover to my own FALLBACK | ||
if the delegation fails | 18:37 | ||
jnthn | But in that case it's not the current dispatch that failed... | ||
The way I currently have it, it's already committed to do the $!x.Foo | 18:38 | ||
It hands back something that does the delegation as soon as it seeks it matches the pattern. | |||
It's not immediately obvious to me how to change it to do what you're after. | |||
s/seeks/sees/ | 18:39 | ||
TimToady | well, something to think about; implementing a FALLBACK noticer is orthogonal to that | 18:40 | |
jnthn | I guess I can make * do a .can to find out if there's an applicable method. | ||
lue | Hello world o/ | ||
jnthn | Yes, that bit I can do without much trouble. | ||
TimToady | will .can notice a FALLBACK in the delegate? | ||
jnthn | I suspect I can make that one go either way | 18:41 | |
If it does then an object will a callback will always respond true to .can | 18:42 | ||
uh, fallback | |||
Since it's invoked unconditionally. | |||
18:42
Vlavv_ joined
|
|||
jnthn | oh, wait though... | 18:42 | |
Actually, .^can today is much more simplistic | |||
It returns a Parcel of all possible methods with that name but only those that are actually in the method table. | 18:43 | ||
TimToady is thinking that maybe we *don't* want to include the foreign fallback anyway | |||
jnthn | So with today's factoring, no, it won't count the fallback or failovers into the answer to can. | ||
TimToady | then you can write a FALLBACK here that invokes the delegate's FALLBACK explicitly | ||
if you want it | |||
masak | +1 | 18:44 | |
TimToady | hmm, does that mean that handles * can't point to something that handles *? | ||
jnthn | So a "handles *" or "handles Foo" today will not contribute anything to the results of can. | ||
Yes, because the actual dispatch itself goes through .^find_method | |||
Which does consider the fallbacks. | |||
TimToady | oh, my FALLBACK can just invoke the method in that case, instead of invoking the Other's FALLBACK | 18:45 | |
and it will still get the other guy's 'handles *' | |||
jnthn | Right, that'll work. | ||
TimToady | doesn't have to be easy, but it's nice if it's possible | ||
so I guess I'll spec FALLBACK as a magical method | 18:46 | ||
unless someone has a better name for it | |||
std: method * (|) {...} | |||
p6eval | std 86b102f: OUTPUT«===SORRY!===Malformed block at /tmp/WIZfgoCzjn line 1:------> method ⏏* (|) {...} expecting any of: block subscript signatureParse failedFAILED 00:00 40m» | ||
TimToady | didn't think so... | ||
std: method:: (|) {...} | |||
p6eval | std 86b102f: OUTPUT«===SORRY!===Prefix requires an argument at /tmp/YcBpe2B2OO line 1:------> method:: (|⏏) {...}Parse failedFAILED 00:00 42m» | ||
TimToady | std: method :: (|) {...} | 18:47 | |
p6eval | std 86b102f: OUTPUT«Potential difficulties: 'method' declaration outside of class at /tmp/IMDM_pzk_W line 1:------> method :: (|) ⏏{...}ok 00:00 43m» | ||
jnthn | Did we decide either way if "has $!x handles *" should actually verify if $!x.^can('foo') ? | ||
TimToady | still think I like the shouting better | ||
yes, I think it should | |||
[Coke] | has six handles? | ||
TimToady | you are so lysdexic! | ||
masak | you are so lexotic! | 18:48 | |
jnthn | TimToady: If it's that way, then if the target object only has the method as a fallback, we won't end up doing the dispatch. Is that OK too? | ||
TimToady: That is, for such a "blind" delegation, you'd pretty much have to write a FALLBACK? | |||
TimToady | .oO(handles **) </ducks> |
18:49 | |
masak | [Coke]: "If Perl 6 were a cup, it would have six handles." | ||
jnthn | Well, I could implement that one too :P | ||
TimToady | .oO(handles *, 'FALLBACK') |
||
[Coke] | masak: ... that's probably not a good motto. ;) | ||
colomon | "There's more than one way to drink it!" | 18:50 | |
TimToady | well, ** is just the current semantics, right? :) | ||
lue just imagined six handles flying off a broken coffee mug | |||
jnthn | TimToady: Yes, that's why I know I can implement it :D | ||
TimToady | so mote it be then | 18:51 | |
masak | [Coke]: for a number of reasons :) | ||
TimToady | good thing I haven't had breakfast yet | ||
jnthn | oh yeah....food | 18:52 | |
jnthn should probably dinner :) | |||
18:52
rindolf joined
|
|||
dalek | kudo/nom: 8c0f875 | jnthn++ | src/Perl6/Grammar.pm: Sync some errors with STD. |
18:53 | |
rindolf | Hi all. Happy International Woman's Day. Embrace your inner femininity (even if you're a guy). | ||
Those bitches (of both sexes) on #ubuntu-women told me I wasn't welcome because I said "/me is a bastard straight guy". | 18:54 | ||
Bastard imagine that. | |||
masak | rindolf: please don't come in here complaining about other channels. it's not classy. | ||
rindolf | I used much more derogatory words elsewhere on Freenode without arm. | ||
masak: sorry. :-(. | |||
masak: just venting. | |||
jnthn | Yes, but did you use them without x64? | 18:55 | |
masak | rindolf: I can tell. still not good/constructive. | ||
jnthn really goes to the shop :) | |||
rindolf | masak: x93A problem of many, half a consultation" | ||
18:55
SamuraiJack left
|
|||
rindolf | jnthn: enjoy. | 18:55 | |
masak: yes. | |||
masak: sorry, again. | |||
masak: what's up? | 18:56 | ||
masak hugs rindolf | |||
rindolf: some sort of train roof. | |||
rindolf | masak: thanks. | ||
rindolf grumbles. | |||
masak | :P | ||
oh! oh! | |||
my luggage. it's right above me, on a rack. | |||
sorry :P | 18:57 | ||
rindolf | masak: www.shlomifish.org/humour/fortunes/...t-chuck-35 | ||
masak: BTW, my inner Sarah Michelle Gellar can do that too. ;-) | |||
huf | masak: you torture the luggage? | ||
and it doesnt trample you with its many many feets? | 18:58 | ||
rindolf | huf: heh. | ||
huf: let's have some Rincewind facts marathon. | |||
masak | huf: sorry, didn't mean "on a rack"; meant "on Iraq". | ||
huf | :) | 18:59 | |
masak | rindolf: that's the second time you've been sending me the "club you senseless" link ;) | ||
proportionally, there have been very few Chuck Norris clubbings, though. | |||
huf | incidentally, where is the top of iraq? | 19:00 | |
19:00
fgomez joined
|
|||
rindolf | masak: heh, I will send it to you again and again and again. | 19:00 | |
masak: I have short memory. | |||
masak | huf: seems it's poking into the bottom of Turkey :P | ||
rindolf | masak: well, short-term memory. | ||
masak | rindolf: you can say that again! | 19:01 | |
rindolf | masak: yes, people like me tend to repeat stuff to the same person. | ||
masak: it's en.wikipedia.org/wiki/Hyperthymic_temperament . | |||
masak | "hyperthymic" sounds like "[spiced with] too much thyme". | 19:02 | |
rindolf | masak: heh. | ||
lue | I'm guessing any Pod6 rendering issues for, say, the synopses would occur in both Pod::To::HTML and Rakudo's parser, correct? | ||
rindolf | masak: no such thing as too much thyme. ;-) | ||
masak: well, no such thing as too much Za'atar. | |||
masak: too much salt is not good. | 19:03 | ||
masak | rindolf: well, our ritual now consists of three set steps: "what's up?" -- <literal reply> -- "Chuck Norris clubbing". if we keep this up, in a few years, we'll have an Abbott and Costello routine. | ||
rindolf | masak: did you see my twitter recently - twitter.com/shlomif | ||
masak | I did not. | ||
19:03
xilo left
|
|||
rindolf | masak: I've been thinking of creating a screenplay about ##programming . | 19:04 | |
masak: but maybe it will make unreal like me even less. | |||
19:04
fgomez left
|
|||
rindolf | masak: anyway, what are you working on now? | 19:04 | |
19:05
Khisanth left
|
|||
masak | rindolf: I'm sort of between projects. I'm still thinking about Rakudo's macros, though. when I have more time I'll dig back into those. | 19:05 | |
19:05
xilo joined
|
|||
masak | rindolf: also gearing up to do the p6cc/t2 blog post. | 19:05 | |
also planning to dig into github.com/perl6/production-readiness in the weekend. | 19:08 | ||
dalek | ecs: 2249907 | larry++ | S12-objects.pod: FALLBACK methods, handles **, semantics thereof |
19:09 | |
[Coke] | masak++ # I'd never seen html5please. | 19:16 | |
masak | [Coke]: things you learn by teaching HTML5 courses ;) | 19:17 | |
[Coke] | Training? pshaw. I must merely deliver results. :P | 19:18 | |
TimToady notes with pleasure that our FALLBACK semantics will not force classes to define a dummy DESTROY method, unlike p5's AUTOLOAD | |||
assuming there's a default DESTROY somewhere | 19:19 | ||
19:20
fgomez joined
19:21
SunilJoshi left
|
|||
masak | [Coke]: nono, not taking an HTML5 class. teaching it. :) | 19:21 | |
PerlJam | masak: what do you teach in an HTML5 course exactly? | 19:23 | |
TimToady | n: class Farragut { method FALLBACK ($name, *@rest) { say "$name.tc() the @rest[], full speed ahead!" } }; Farragut.new.damn: 'torpedoes'; Farragut.new.hoist: <the Jolly Roger mateys>; | ||
p6eval | niecza v24-32-g4b68456: OUTPUT«Damn the torpedoes, full speed ahead!Hoist the the Jolly Roger mateys, full speed ahead!» | ||
lichtkind | looks like there also no required attributes in perl 6? | 19:24 | |
19:25
Khisanth joined
|
|||
tadzik | r: class A { has $.a = die "$a is required" } ; A.new | 19:26 | |
p6eval | rakudo 8c0f87: OUTPUT«===SORRY!===Variable '$a' is not declaredat /tmp/MLCVGGRoVq:1------> class A { has $.a = die "$a⏏ is required" } ; A.new expecting any of: postfix» | ||
tadzik | pff | ||
r: class A { has $.a = die "$.a is required" } ; A.new | |||
p6eval | rakudo 8c0f87: OUTPUT«===SORRY!===Virtual call $.a may not be used on partially constructed objectsat /tmp/zMCgNh3Pkd:1------> class A { has $.a = die "$.a⏏ is required" } ; A.new expecting any of: argument list prefix or term… | ||
tadzik | uh, wait | ||
r: class A { has $.a = die "a is required" } ; A.new | 19:27 | ||
p6eval | rakudo 8c0f87: OUTPUT«a is required in method at /tmp/8OrfovU8HV:1 in block at src/gen/CORE.setting:798 in method BUILDALL at src/gen/CORE.setting:753 in method bless at src/gen/CORE.setting:743 in method new at src/gen/CORE.setting:728 in block at /tmp/8OrfovU8HV:1»… | ||
tadzik | there you go | ||
lue | Wait, where does rakudo parse Pod6? I think I'm not searching for the correct terms... | 19:29 | |
dalek | ast: 9a2f20d | jnthn++ | S32-exceptions/misc.t: Test for null operators. |
19:30 | |
TimToady | rosettacode.org/wiki/Respond_to_an_...all#Perl_6 # we are now tied with Ada | 19:31 | |
tadzik | lue: in Grammar.pm | ||
mostly | |||
19:31
labster joined
19:32
matlads joined
19:34
Khisanth left
|
|||
lichtkind | thanks tadzik | 19:39 | |
tadzik++ | 19:41 | ||
dalek | blets: d39ed47 | (Herbert Breunung)++ | docs/appendix-a-index.txt: added required to A tadzik++ |
19:46 | |
PerlJam | wait ... what? | 19:48 | |
lichtkind: there is no "is required" | 19:51 | ||
tadzik | nope | 19:52 | |
19:54
kivutar left
19:55
fgomez left
|
|||
lichtkind | tadzik: there is really no way to make a required attribute? | 19:56 | |
19:58
Khisanth joined
|
|||
PerlJam | lichtkind: tadzik showed a way. | 20:00 | |
20:01
takadonet left
|
|||
PerlJam | An advantage a "required" trait would have over that would be consistent error messages. | 20:01 | |
But, AFAIK, there is no "required" trait. | 20:02 | ||
lichtkind | PerlJam: wait a minute now i just realize required was inside the string so its not there sorry im really confused | ||
ok | 20:03 | ||
thanks | |||
colomon | PerlJam: you could probably write one... | ||
lichtkind | colomon: but none is specced? | ||
PerlJam | colomon: yeah, seems like it would be easyish | ||
lichtkind | specced | ||
colomon | lichtkind: I don't know. but writing new traits is pretty easy. | 20:04 | |
lichtkind | they dont have to be specced? | 20:05 | |
colomon | lichtkind: nope | ||
tadzik | lichtkind: none that I know of | ||
PerlJam | lichtkind: user-provided traits are perfectly fine | 20:06 | |
TimToady | tadzik: are you the right person to add a Perl 6 entry to rosettacode.org/wiki/Documentation ? | ||
20:07
fgomez joined
|
|||
colomon | multi sub trait_mod:<is>( .... hmmm, you want this to be on an attribute, I guess? | 20:08 | |
lichtkind: look at t/spec/S14-traits/attributes.t | 20:12 | ||
lichtkind | thank you colomon | 20:13 | |
20:16
p5eval_ is now known as p5eval
|
|||
diakopter | eval: od | 20:20 | |
p5eval: od | |||
p5eval | diakopter: od | ||
[Coke] | masak: (getting vs. receiving training) yes, I got that. | 20:21 | |
diakopter | p5eval: od od | 20:24 | |
p5eval | diakopter: ERROR: Can't locate object method "od" via package "od" (perhaps you forgot to load "od"?) at (eval 7) line 1. | ||
diakopter | p5eval: od(od) | ||
p5eval | diakopter: ERROR: Undefined subroutine &main::od called at (eval 7) line 1. | ||
tadzik | TimToady: I might be | 20:32 | |
TimToady: I'll do that tomorrows | 20:34 | ||
nwc10 | jnthn: works on "my" machine (at a77bcfb3f88cc08d2860fb85bac81b8f4a8ca5d9, in case the goalposts move) | 20:35 | |
20:35
skids left
|
|||
nwc10 | er, "works", given the ICU needing test | 20:35 | |
jnthn | nwc10: nice | 20:36 | |
nwc10: Had a busy work week, but getting back into things again today :) | |||
masak | "getting vs receiving"? :P | 20:43 | |
I'm not really sure you got it! :) | |||
jnthn | ...what? | 20:44 | |
jnthn doesn't get it at all :P | |||
lizmat | TimToady: wrt to rosettacode.org/wiki/Respond_to_an_...all#Perl_6 , is the "the the" in "Hoist the the Jolly Roger mateys, full speed ahead!" intentional? | 20:45 | |
if so, why? | |||
masak | hehe, 'is the "the the"' :) | 20:46 | |
lizmat | it's hard to stutter on IRC, but I was getting close to it | ||
diakopter | mmm Jolly Ranchers | 20:47 | |
masak | rn: say "st-" x 10, "stutter" | ||
p6eval | rakudo 8c0f87, niecza v24-32-g4b68456: OUTPUT«st-st-st-st-st-st-st-st-st-st-stutter» | ||
masak | not so hard :) | 20:48 | |
lizmat is thinking of a way of doing that without having to specify "st-" | 20:49 | ||
masak | r: sub stutter($word) { $word ~~ /.*? <?before <[aeiou]>>/; say (~$/ ~ "-") x 10, $word }; stutter "stutter" | 20:54 | |
p6eval | rakudo 8c0f87: OUTPUT«st-st-st-st-st-st-st-st-st-st-stutter» | ||
rindolf | jnthn: hi! Welcome back! How was the store? | 20:55 | |
TimToady: meow! What's up? | |||
lichtkind: hi. | |||
masak: what's down? ;-) | |||
masak | magma. | 20:56 | |
a big hot ball of iron. | |||
four apartments. | |||
lizmat | masak: as in french vulcan opera group? | ||
masak | for all I know, they're down there too ;) | 20:57 | |
lizmat hears some "ZEBEHN STRAIN DE GEUSTAAH WORTSIS, DA REUS STOAH" in the background | 20:58 | ||
masak: with regards to stutter, isn't there some way specced to select all (unicode) vowels? | 21:00 | ||
masak | PerlJam: lessee, I taught some new elements, quite a bit of CSS3, some JavaScript, and a bunch of minor standards such as form elements, CORS, localStorage, and Web Sockets. | ||
lizmat: if there is, it's slipped my mind. | |||
S05 doesn't contain the substring 'vowel'. | |||
jnthn | rindolf: It had the usual selection of stuff :) | 21:01 | |
lizmat | masak: ack | ||
rindolf | jnthn: OK. | ||
arnsholt | lizmat: What is a vowel is locale-dependent in the general case I think | ||
TimToady | lizmat++: fixed, thanks | ||
rindolf | jnthn: what did you buy? | ||
masak: nice stuf in what's down. | |||
masak: what's East? What's West? Will they ever meet? | 21:02 | ||
lizmat | TimToady: you're welcome | ||
TimToady | rindolf: Ceiling Cat is up, meow! | ||
arnsholt | Also, not graphemes in abjad and abuguida systems | ||
jnthn is not aware of a Unicode char prop for vowels | |||
rindolf | TimToady: ceiling cat - double meow. | ||
TimToady | you can't have properties for fuzzy sets | ||
rindolf | TimToady: all hail ceiling cat. | ||
arnsholt | Yeah, what TimToady said | ||
masak | rindolf: I think it's kinda funny that we make such a big deal of East and West -- even talking about them as hemispheres -- when in fact they *do* meet, if you travel far enough. | ||
jnthn | rindolf: Salad, pasta, fruit juice...nothing to exciting :) | 21:03 | |
arnsholt | Syllabification (which I suspect is what lizmat may want) is a tricky problem | ||
jnthn | *too | ||
masak | prediction: the 21st century will be just as much about North and South hemispheres as about East and West, if not more. | ||
jnthn | heh, one of the masak code contest problems was syllabification, I guess :) | ||
arnsholt | jnthn: NQP doesn't support parametric types, right? | ||
TimToady | Psst! There's an English word where 's' functions as a vowel! | ||
rindolf | jnthn: sounds good though. | ||
masak: heh. | 21:04 | ||
masak | jnthn: yeah, that's the next one. | ||
lizmat | arnsholt: I was just wondering why masak was using something as ascii-centric as [aeiou] for vowels | ||
colomon | TimToady++ | ||
masak | TimToady: that's gotta count as a semi-vowel though, no? | ||
rindolf | masak: Chuck Norris can make East and West meet 100 km apart. | ||
jnthn | arnsholt: It does have parametric roles, just. :) | ||
TimToady | masak: most vowels are semivowels, even [i] and [u] | ||
masak | TimToady: it's like the 'm' in Slovene "čmrlj" | 21:05 | |
TimToady: troo | |||
arnsholt | lizmat: Right, right. Lack of scrollback context on my part (I just reconnected) | ||
TimToady | and we have voiceless vowels in English, but we don't distinguish them phonemically | ||
arnsholt | What's an example of voiceless vowels? | 21:06 | |
TimToady | the 'h' on the front of 'he' is a voiceless [i], while the one on the front of 'who' is a voiceless [u] | ||
well, "vowel" is a phonemic concept, so I should call them vocoids instead | |||
arnsholt | Oh, right. That makes sense, I guess | ||
lizmat afk for a while | 21:07 | ||
arnsholt | jnthn: Hmm, that's interesting. Pondering how to best expose VMArrays of native types to NQP code. Any preferences? | 21:08 | |
jnthn | arnsholt: Been pondering that too... :) | ||
21:08
sqirrel left
|
|||
TimToady | we have now officially passed Ada, are now in 9th place | 21:09 | |
colomon | TimToady: do we have a handy list of tasks to tackle around somewhere? | 21:10 | |
jnthn | arnsholt: Have been wondering a bit of arrays have to be a different kind (e.g. meta-object) at the NqP level | 21:12 | |
*if | |||
21:14
japhb_ joined
21:17
kaare__ left
|
|||
masak | jnthn++ # fixing bugs | 21:18 | |
TimToady | colomon: you mean like rosettacode.org/wiki/Reports:Tasks_..._in_Perl_6 ? | ||
colomon | TimToady++ | ||
I should really get around to the Bezier curve stuff. | |||
jnthn | masak: lol did I your whole inbox? :D | 21:20 | |
arnsholt | jnthn: Yeah, I've stubbed (very stubby) that for Rakudo in the vmarray branch, to get proper compose | ||
masak | jnthn: oh, RT ticket emails are long since directed to a folder. still very nice :) | 21:21 | |
[Coke] | masak: *sigh*. my brain got it. my fingers will catch up eventually. | 21:23 | |
masak | [Coke]: 's ok :) | ||
[Coke]: my brain is very tired. somehow I managed to teach while developing a course in the past two days. | 21:24 | ||
I don't want to do that again in the near future. | |||
labster | good *, #perl6 | 21:30 | |
dalek | rl6-roast-data: 08b72a3 | coke++ | / (4 files): today (automated commit) |
21:33 | |
rindolf | labster: good localtime(). | ||
labster: what time is it there? | |||
21:33
xinming left
|
|||
[Coke] | rakudo failed 8 tests, niecza 9. | 21:33 | |
labster | masak: Saw the esperanto in the backlog. use Lingua::Number; say ordinal(8, 'eo'), " prelego"; | ||
oka prelego | |||
it's 1:34 PM here | 21:34 | ||
arnsholt | Oh, neat. Was easier to as masak++ than dig around on CPAN though =) | ||
masak | labster: cool. | ||
labster | Well, I don't actually know any esperanto. I just implemented the rule based number formatting from Unicode. | 21:35 | |
21:35
xinming joined
|
|||
masak | labster: it's worth noting that the only thing I hesitated around was the word choice "prelego". was wondering whether "leciono" would've been better. | 21:35 | |
but no, arnsholt said "lecture", not "lesson". | |||
[Coke] | colomon: last few tests may require me to set some environment variables to pass them. | 21:36 | |
21:36
LlamaRider joined
|
|||
masak | labster: the "-a" in "oka" usually denotes adjectives. but Esperanto uses the strange consistency noun:adj::numeral:ordinal. | 21:36 | |
sort of. | |||
21:37
rindolf left
|
|||
[Coke] | rakudo failures listed here: github.com/coke/perl6-roast-data/b....out#L2241 | 21:37 | |
colomon | [Coke]: I'm rerunning now, I had a clean spectest earlier but TimToady patched Niecza again since then. I wouldn't be surprised if he broke some (now presumably incorrect) spectests. | ||
jnthn | My brain keeps parsing prelego as peligro :P | ||
[Coke] | colomon: github.com/coke/perl6-roast-data/b....out#L5682 | ||
jnthn: DANGER. | |||
masak | Danger, danger, Jonathan Worthington. | 21:38 | |
[Coke] | colomon: looks like rx test might have run out of memory or time. | ||
labster | For most lectures, the real danger is falling asleep. | ||
jnthn | It's a risk when porting this serialization code too... | 21:40 | |
jnthn hopes all these offsets work out right when he finally runs the thing... | 21:41 | ||
swarley | as is waiting for this anagram solver to work.. Sure wish I could have come up with a better solution that didn't involve using ruby | 21:42 | |
21:43
zby_home left
|
|||
labster | If anyone wants to write tests for Lingua::Number in languages other than English or Spanish, that would be much appreciated. lue++'s tests helped out a lot in debugging the new code. | 21:43 | |
It's still in worse shape than my original version of the module was for 3 languages... but now it supports 60. | 21:44 | ||
masak | r: sub anagram($l, $r) { sub canon { $^s.comb.sort }; canon($l) eqv canon($r) }; say anagram 'societas iesu', 'uitiosa seces' | 21:45 | |
p6eval | rakudo 8c0f87: OUTPUT«True» | ||
masak | swarley: there you go :) | ||
swarley | wat | ||
masak bows | |||
swarley | Can it descramble anagram([3,5,5,6,5,2,2,5],"ybpsylyrcytyrglhlymtyprpsyyssysty") (8 words of the lengths defined in the array) | 21:46 | |
using the characters in the string | |||
masak | er, no. | ||
guess we're working with different problem defitions here... :) | |||
swarley | haha | ||
21:49
broquaint left
|
|||
swarley | well, at least I have jruby running it.. | 21:50 | |
colomon | [Coke]: hmm, actually I still get all pass. hurmph | ||
21:51
broquaint joined
21:55
xinming left
21:56
xinming joined
|
|||
[Coke] | colomon: one of those screams "needs env var. | 22:01 | |
the other is probably a timeout. | |||
LlamaRider | Some of the most wanted P6 modules end up being (or containing) wrappers around external libraries. I was thinking of porting LibXML which is entirely a wrapper. Dare I ask what the new way of doing XS is in P6? | 22:03 | |
22:04
lustlife left
|
|||
dalek | rl6-roast-data: 6ae1a03 | coke++ | bin/niecza.sh: Try to recover one niecza test. |
22:05 | |
[Coke] | ok, that fixes dash-e.t - not sure about rx.t | 22:06 | |
sorear | LlamaRider: look into NativeCall/zavolaj | ||
(two names, same thing) | |||
LlamaRider | sorear: I need to install zvaolaj additionally? Does panda handle that? I read a very instructive advent calendar post and am looking at some examples of existing modules. | 22:09 | |
jnthn | You can install it through panda | 22:10 | |
LlamaRider | curious it isn't a core feature. Ok, I'm off to play around with it, thanks! | 22:11 | |
[Coke] | There is no upgrade path for panda if you upgrade rakudo in place, aye? | ||
colomon | [Coke]: rebootstrap.pl | 22:12 | |
[Coke] | colomon: does that work if parrot got upgraded along the way? | ||
colomon | [Coke]: probably not | ||
[Coke] | (panda and modules get installed in a parrot specific lib dir) | 22:13 | |
22:22
LlamaRider_ joined
22:25
skids joined,
LlamaRider left,
LlamaRider_ left
22:33
bluescreen10 left,
bluescreen10 joined
22:36
grondilu left
|
|||
masak | 'night, #perl6 | 22:46 | |
22:47
cognominal joined
|
|||
lue | [Coke]: Every rakudo upgrade I have to reinstall rakudo and change my ~/.perl6/bin|lib symlinks. :/ | 22:47 | |
dalek | p-jvm-prep: 6aabda5 | jnthn++ | src/org/perl6/nqp/sixmodel/SerializationWriter.java: Port more of the lower-level serializations. |
22:54 | |
p-jvm-prep: 2a77c20 | jnthn++ | src/org/perl6/nqp/sixmodel/ (2 files): Get serialization loop and assembly mostly ported. With this, it's probably not so far from producing output; misses base 64 and any object knowing how to serialize itself. |
|||
colomon | \o/ | 22:55 | |
22:57
alester left
|
|||
colomon | wait, is Rakudo's is-prime still broken on Windows? | 23:01 | |
jnthn | > 1..100 ==> grep *.is-prime ==> say | 23:02 | |
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 | |||
Looks working here | |||
colomon | I mean, OS X? | ||
sigh. | |||
jnthn | Oh, that I can't tell you :P | ||
colomon | brain flailing today. | ||
jnthn | I think mine is about done for the day :) | 23:03 | |
census | Hi! Does anybody know java? | 23:07 | |
I have some javacode that I'd like to run instead in perl. Or at least understand what it is doing in terms of perl. | |||
diakopter | why in perl? | 23:08 | |
census | well i just don't understand any java. i understand some perl at least. or matlab. or other languages | 23:09 | |
diakopter | this is a generic java help request | ||
23:09
am0c joined
|
|||
census | what do you mean? | 23:10 | |
colomon | n: say 10 lcm 17 | 23:17 | |
p6eval | niecza v24-32-g4b68456: OUTPUT«170» | ||
jnthn | sleep & | 23:25 | |
23:25
bluescreen10 left
23:39
Inglorious` joined,
cognominal left
23:45
woolfy left
|