»ö« 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! | tinyurl.com/p6contest Set by moritz_ on 28 December 2010. |
|||
00:04
GinoMan left
00:05
envi joined
|
|||
jnthn | sleep & | 00:05 | |
00:05
plobsing joined,
GinoMan joined
00:09
mikehh joined
00:11
patrick[BROWSING joined
|
|||
patrick[BROWSING | hello | 00:12 | |
I've just installed the new Rakudo star and first ran it with perl6 --version and got an error, is that one already known? | 00:13 | ||
sorear | We can't answer that without knowing the error you got. | 00:14 | |
patrick[BROWSING | Null PMC access in get_bool() | 00:15 | |
sorear | How did you install the new Rakudo star? | ||
patrick[BROWSING | perl Configure.pl --gen-parrot && make && make install | 00:16 | |
before that, I downloaded it from github and untared it | 00:17 | ||
sorear is not familiar with this one, but doesn't follow Rakudo* too closely | 00:19 | ||
patrick[BROWSING | it's not a big problem though, perl6 itself seems to work, but “perl6 --version” was the first run I did | ||
sorear | ha | ||
dalek | ecza: b0be6ab | sorear++ | v6/ (3 files): [v6] Fix shadowing of postcircumfix operators |
00:20 | |
00:31
nymacro joined
00:36
shi left
00:38
ashleydev left
00:42
carlos left
00:43
risou joined
00:53
envi left
00:58
plobsing left
01:00
GinoMan left
|
|||
snarkyboojum | patrick[BROWSING: I can reproduce the error - looks like a bug | 01:01 | |
01:06
plobsing joined
01:07
QinGW joined
01:12
patrick[BROWSING left
01:15
plobsing left
01:16
arlinius joined
01:19
risou left
|
|||
dalek | ecza: 8f7f9e8 | sorear++ | v6/harness: [v6] Fix parsing of @_ placeholder |
01:25 | |
ecza: aa7ce49 | sorear++ | v6/harness: [v6] Fix method not found in RxOp::Subrule.clone |
|||
ecza: d4cf9df | sorear++ | v6/harness: [v6] Fix regex_infix parsing |
|||
01:47
plobsing joined
02:00
cafesofie left,
noganex_ joined
02:03
noganex left
02:13
ashleydev joined
02:20
Chillance left
02:29
helv joined,
helv is now known as helv12
02:31
gbacon joined
02:35
cafesofie joined
02:38
nakashiman joined
02:39
masonkramer joined
02:43
molaf_ joined
02:44
molaf left
02:46
cafesofie left
02:57
nakashiman left
02:59
nakashiman joined
03:00
cafesofie joined
03:11
cafesofie left
03:13
masonkramer left
03:20
nakashiman left
03:22
nakashiman joined
03:23
nakashiman left
|
|||
dalek | rixel: dd8aa4e | diakopter++ | sprixel/ (7 files): lots & lots of mono vs .net behavior sync'ing fixes, wrt SRE madness. :) |
03:36 | |
03:38
cafesofie joined
03:45
ashleydev left
03:47
s1n left
03:57
am0c^ left
04:06
HarryS left
04:09
HarryS joined
04:13
flatwhatson_ left,
ashleydev joined
|
|||
snarkyboojum | description of the bug affecting --version for Rakudo Star distributions, and a little patch - gist.github.com/775688 | 04:15 | |
04:16
orafu left
04:17
orafu joined
|
|||
snarkyboojum | raised by patrick[BROWSING earlier today | 04:17 | |
04:20
s1n joined
04:26
nadim left,
Su-Shee left
04:28
cafesofie left,
Su-Shee joined
04:35
ponbiki left
04:40
gbacon left
04:41
agentzh joined
04:45
ponbiki joined
04:48
orafu left
04:49
orafu joined
05:04
sjn left
05:06
sjn joined,
cotto joined
|
|||
dalek | ecza: 1b79755 | sorear++ | v6/ (6 files): [v6] mergeback |
05:12 | |
ecza: 28f62bc | sorear++ | v6/harness: [v6] Fix adverb parsing |
|||
05:24
agentzh left
05:39
estrabd left
05:42
agentzh joined
|
|||
dalek | rixel: 0c25ee5 | diakopter++ | / (10 files): fix parsing of static fields, properties (on type literals, essentially) |
06:09 | |
06:14
cjk101010 joined
06:23
hatseflats left
06:38
cafesofie joined
06:39
nymacro left
06:45
rgrau left
06:46
agentzh left
06:47
dayangkun joined
06:50
ashleydev left
06:52
wtw joined
06:55
sjn left
06:59
typepeter joined,
kaare_ joined
07:04
agentzh joined
07:20
mberends left
07:21
am0c joined
07:23
hatseflats joined
07:30
Bzek joined
07:31
IllvilJa left
|
|||
moritz_ | www.perlmonks.org/?node_id=881785 another thread where I couldn't resist providing a Perl 6 answer :-) | 07:38 | |
07:39
flatwhatson joined
|
|||
dalek | kudo: 9b8bad7 | snarkyboojum++ | src/Perl6/Compiler.pir: Parrot revision for --version fix Check to see that the Parrot rev is available before trying to use it. Signed-off-by: Moritz Lenz [email@hidden.address] |
07:39 | |
07:41
Bzek left
07:42
woosley joined
|
|||
snarkyboojum | moritz_: cheers | 07:50 | |
moritz_ | snarkyboojum: thank you for the patch | ||
snarkyboojum: I meant to write basically the same patch after the 2010.11 release, but forgot :-) | 07:51 | ||
snarkyboojum | will "fix" the --version issue for Rakudo Star next release | ||
moritz_: ah :) | |||
08:00
stepnem left
|
|||
sorear | bizarre... managed to break A::B::C but not A::B | 08:05 | |
08:27
_twitch joined
08:32
QinGW1 joined
08:33
QinGW left
08:37
stepnem joined
08:44
justatheory left
08:46
kaare_ left,
kensanata joined,
kaare__ joined
08:47
f00li5h joined
08:50
kaare__ left
08:54
_twitch left
08:59
jerome joined
09:00
mberends joined
|
|||
tadzik | snarkyboojum: that's what I did | 09:04 | |
phenny | tadzik: 11 Jan 22:55Z <snarkyboojum> tell tadzik so in that case it might be worth moving your commands to --<command> switches? a la cpanm etc | ||
snarkyboojum | tadzik: cool | 09:06 | |
tadzik | I was writing the USAGE looking at the cpanm --help | ||
snarkyboojum | tadzik: in that case, I have a feature request :) .. --info switch or similar to just return info about a particular module | 09:07 | |
tadzik: e.g. the source of the module | 09:09 | ||
09:09
daxim joined
|
|||
snarkyboojum | tadzik: not the source code, but where the module came from praps e.g. github url.. I don't know :) | 09:09 | |
09:10
am0c left,
nadim joined,
mberends left
|
|||
tadzik | snarkyboojum: awesome idea, well volunteered! | 09:11 | |
snarkyboojum | tadzik: I was going to just give you a patch, but wanted to wait until you had changed the command line args stuff :) | ||
sorear | tadzik: what sorts of features does neutro need of the implementation? | 09:12 | |
tadzik | bah, META.info has no author | ||
sorear: I check it on niecza from time to time, let me see | |||
oh, file operations definitely | |||
and it's not dependency-free, so JSON, File::Tools and Module::Tools | |||
snarkyboojum: the args stuff was fixed yesterday | 09:13 | ||
sorear | also, I beleive you meant to say "baile" | ||
tadzik | (in the branch of course) | ||
probably, I'm not even A1 in Spanish :) | |||
sorear | calling a function bailar is like calling it to_dance | ||
A1? | |||
tadzik | yeah, that's right | ||
09:14
kaare_ joined
|
|||
tadzik | there is this scale on learning languages, A1, A2, B1, B2, C1, C2 | 09:14 | |
sorear is not competent in the language by any means | |||
tadzik | B2~C1 is what native speakers speak, iirc | ||
sorear | tadzik: I do not beleive that system is used in the US | ||
tadzik | maybe | ||
sorear | so I have no experience with it | ||
tadzik | have you heard of this FCE thingy? | 09:16 | |
that's B2, so sort of "the basic understand and usage of the language". A1, which I'm not at yet, is like "I can understand basic sentences from the topics I know and say something in easy words about the topics I know" | 09:17 | ||
iirc | |||
09:18
masak joined
|
|||
tadzik | sorear: pastie.org/1451570 | 09:18 | |
masak | morning, zebras. | 09:22 | |
tadzik | morning masak | ||
09:22
holzbit joined
09:23
dayangkun left
09:24
dayangkun joined
|
|||
sorear | hi masak. | 09:25 | |
tadzik | snarkyboojum: github.com/tadzik/neutro/issues#issue/2 :) | 09:27 | |
09:27
fhelmberger joined
|
|||
snarkyboojum | tadzik: I like :) | 09:27 | |
09:27
fhelmberger left
|
|||
tadzik | bbl, gotta go | 09:28 | |
09:28
fhelmberger joined
|
|||
snarkyboojum | tadzik: there ya go - gist.github.com/775944 :D | 09:41 | |
09:47
dayangkun left
09:48
ekki joined
09:49
ekki left
|
|||
snarkyboojum | tadzik: Feel free to clean up or throw away entirely :D gist.github.com/775953 | 09:51 | |
09:59
noganex_ is now known as noganex
10:02
QinGW1 left
10:08
dakkar joined
10:13
woosley left
|
|||
masak | std: my Int sub foo(--> Bool) returns Str { ... } | 10:25 | |
p6eval | std 625303c: OUTPUT«===SORRY!===Extra 'of' type; already declared as type Int at /tmp/ckDRYuSFdy line 1:------> my Int sub foo(--> Bool⏏) returns Str { ... }Extra 'of' type; already declared as type Bool at /tmp/ckDRYuSFdy line 1:------> my Int sub | ||
..foo(-->… | |||
masak | :) | 10:26 | |
std: my Int sub foo() returns Str { ... } | |||
p6eval | std 625303c: OUTPUT«===SORRY!===Extra 'of' type; already declared as type Int at /tmp/W3pBx0dUzU line 1:------> my Int sub foo() returns Str ⏏{ ... }Check failedFAILED 00:01 120m» | ||
masak | there's no fooling STD. | ||
moritz_ | TimToady++ | ||
there are areas where STD is quite thorough | 10:27 | ||
tadzik | snarkyboojum: I'd go for @args».&install unless $info; !$info looks a bit like $!info, but nice patch | 10:36 | |
snarkyboojum | tadzik: good-o :) | ||
tadzik: want me to send you another patch then? | 10:37 | ||
tadzik | snarkyboojum: if you wish :) I'm on a discrete maths classes now anyways :) | ||
snarkyboojum | tadzik: nps | ||
masak | rakudo: my &r := &return; sub f { my sub return($v) { say "LOL!"; &r($v) }; return 42 }; say f | 10:45 | |
p6eval | rakudo 9b8bad: OUTPUT«LOL!42» | ||
10:45
tzhs joined
|
|||
masak | rakudo: my &r := &return; sub f { my sub return($v) { say "LOL!"; &r($v + 10) }; return 42 }; say f | 10:45 | |
p6eval | rakudo 9b8bad: OUTPUT«LOL!52» | ||
masak | wow! that *works*! | 10:46 | |
moritz_! :D | |||
moritz_: I have a workaround for one of your RT tickets. | |||
masak adds it to that ticket | |||
moritz_ | masak: I have too. I just name the new return differently :-) | ||
masak | now you don't have to :) | 10:47 | |
moritz_ | masak: fwiw my workaround in the submission for p4 :-) | ||
masak | right. haven't looked at it yet. will soon, hopefully today. | 10:49 | |
moritz_ | it's used for reverting the coordinate transformation that I do interenally to get rid of the cyclic boundary conditions | 10:50 | |
10:55
dip joined
|
|||
dalek | ecza: 6c3d380 | sorear++ | / (2 files): [v6] More misc fixes |
11:02 | |
ecza: a21bc67 | sorear++ | v6/ (3 files): [v6] More random fixes - first 674 tests pass |
|||
sorear | delightful, my *-currying tests are broken | 11:05 | |
ok (* + 5)(2) == 7 # This means ok -> $a { ($a + 5)(2) == 7 }, and blocks are true | 11:06 | ||
moritz_ | you shouldn't curry code invocation :-) | ||
mux | so that's how perl6 allows currying | 11:08 | |
masak | mux: there's also .assume | ||
moritz_ | .assuming iirc | 11:09 | |
sorear | * is mostly just for operators | ||
although I've used *.&defined in a couple evil places in niecza-v6 :> | 11:10 | ||
mux | so, * for left and right sections, and .assuming for partial application | ||
(that shouldn't be called currying actually) | |||
masak | right, .assuming | ||
mux googles .assuming | |||
sorear | "left and right sections"... I know where YOU came from | ||
mux hides :-) | 11:11 | ||
masak | it's ok, we like lambdapeople. | ||
mux | heh, I like that name: "whatever-star" | ||
masak | mux: and I might be a bit confused about what currying really is, still, so maybe .assuming doesn't count, no. | ||
moritz_ thinks it does | 11:12 | ||
sorear wonders if mux remembers me | |||
11:12
cognominal_ joined
|
|||
mux | mmmm, your nickname clearly rings a bell, but I can't say more | 11:12 | |
dalek | ecza: 6e17857 | sorear++ | v6/harness: [v6] Fix whatever-star currying |
11:13 | |
sorear | wtf. "all tests successful" | ||
ah well, best be happy. | |||
moritz_ | just means you don't have enough tests :-) | ||
sorear -> sleep, tomorrow will see if niecza-v6 can compile itself | 11:14 | ||
mux | sorear: please tell me when I met you already, I feel bad about it | ||
moritz_ | sorear: you can also exclude smart-matching and binding from whatever currying | ||
sorear | mux: I was pretty active in #haskell ca. 2007 | ||
mux | sorear: aaaah. okay :) | ||
have a good night | 11:15 | ||
tadzik | snarkyboojum: writing a patch? | 11:16 | |
snarkyboojum | tadzik: have done.. will generate it | ||
tadzik | cool | 11:20 | |
snarkyboojum | tadzik: doh - don't know how to squash the two commits into one patch, and don't have time to learn atm :D | 11:21 | |
11:23
typepeter left
|
|||
moritz_ | git rebase -i HEAD~3 | 11:24 | |
then change the last line to "s $commit_id" | |||
save and exit | |||
snarkyboojum | moritz_: the last line? | 11:26 | |
moritz_ | snarkyboojum: you will be offered a file with commits in your favorite $EDITOR | ||
snarkyboojum | moritz_: gotcha I think - and what do you mean by "s $commit_id" | 11:27 | |
moritz_ | snarkyboojum: do it, you'll see | ||
the lines are of the form <command> <commit_id> | |||
just change the command to s | |||
snarkyboojum | ha - I stuffed it up I think - oh well | 11:30 | |
I "just tried it" before you explained ;) | |||
moritz_: ooh - but fixed it, and it worked! thanks | 11:33 | ||
moritz_ | \o/ | 11:34 | |
you're welcome | |||
snarkyboojum | git rebase --abort let me start again it seemed | ||
moritz_ | it does | ||
snarkyboojum | nifty! | ||
tadzik: and so after all of that, I have the same patch as before with 3 characters different :P gist.github.com/775953 | 11:35 | ||
11:40
am0c joined
|
|||
tadzik | snarkyboojum: applied, thanks! | 11:45 | |
snarkyboojum | tadzik: w00t - welcome | ||
11:52
IllvilJa joined
11:56
mj41 joined
|
|||
masak | tadzik: I've now read ttjjss.wordpress.com/2011/01/08/per...and-ideas/ | 12:00 | |
tadzik: kudos. | |||
I really like how the ecosystem evolves bit by bit like this. it's very different now from when proto got started two years ago. | 12:01 | ||
jnthn wonders if Neutro will one day win the Peace Prize too. :) | |||
tadzik | Peace Prize? | 12:04 | |
ah :) | |||
maybe, like proto evolved into pls, neutro will evolve into noble :) | 12:05 | ||
masak: today I realised I forgot to add an author field to META.info :) | 12:06 | ||
so, what would you say for merging the neutro branch, pulling tadzik/ecosystem into perl6/ecosystem and adjusting modules.perl6.org in, say, a few days? | 12:07 | ||
12:08
redicaps joined
|
|||
tadzik | the only blocker is the module authors, there are still too many important modules in the old format | 12:08 | |
12:09
agentzh left
12:11
gimix left
12:16
xinming left,
xinming joined
12:27
holzbit left
12:33
cafesofie left
12:36
coldhead left,
coldhead joined
|
|||
moritz_ | .u ♥ | 12:42 | |
phenny | U+2665 BLACK HEART SUIT (♥) | ||
daxim | p6eval, my $f = sub ($n) { return 1 if $n < 2; return $n * $?SUB.($n - 1); }; $f(6).say; | 12:46 | |
perl6, my $f = sub ($n) { return 1 if $n < 2; return $n * $?SUB.($n - 1); }; $f(6).say; | 12:47 | ||
DWIM for FSM's sake! | 12:48 | ||
perl6: my $f = sub ($n) { return 1 if $n < 2; return $n * $?SUB.($n - 1); }; $f(6).say; | |||
p6eval | rakudo 9b8bad: OUTPUT«===SORRY!===Symbol '$?SUB' not predeclared in <anonymous> (/tmp/3A0pFR5V1b:22)» | ||
..pugs: OUTPUT«*** No such subroutine: "$?SUB" at /tmp/GaSi9TN0Kr line 1, column 47-66» | |||
..niecza v1-138-g6e17857: OUTPUT«Potential difficulties: Unrecognized variable: $?SUB at /tmp/3OvXXMoGse line 1:------> { return 1 if $n < 2; return $n * $?SUB⏏.($n - 1); }; $f(6).say;Unhandled Exception: System.Exception: Unable to find lexical $?SUB in ANON at | |||
..Niecza.CLRBackend.NamProc… | |||
takadonet | morning all | 12:49 | |
colomon | tadzik: couldn't you use deps.proto to make a fake META.info if a real META.info is not available? | 12:57 | |
tadzik: just as a stop gap? | 12:58 | ||
13:06
envi joined,
estrabd joined
13:08
am0c left
|
|||
tadzik | colomon: that's a bit complicated. If there's no META.info registered in the ecosystem, the installer does not know what/were the memory is | 13:11 | |
but it should be possible to write a class faking the META.info if not present, as a stop | 13:12 | ||
13:12
gbacon joined
|
|||
tadzik | but I'm afraid that'll result in some of the old modules never being fixed | 13:12 | |
unless we set some deadline | |||
13:17
icwiener left
13:18
coldhead left
|
|||
daxim | oooo funky p3rl.org/Whatever | 13:19 | |
13:20
icwiener joined,
icwiener left
13:21
MayDaniel joined
13:26
Fuad joined
|
|||
Fuad | hi | 13:26 | |
takadonet | Fuad: hey | 13:27 | |
13:31
Fuad left,
Fuad joined
|
|||
daxim | perl6: <In des Waldes tiefsten Gründen ist kein Räuber mehr zu finden.>.sort.say | 13:36 | |
p6eval | pugs: OUTPUT«decodeUTF8': bad data: '\252'decodeUTF8': bad data: '\228'GründenInRäuberWaldesdesfinden.istkeinmehrtiefstenzu» | ||
..rakudo 9b8bad: OUTPUT«GründenInRäuberWaldesdesfinden.istkeinmehrtiefstenzu» | |||
..niecza v1-138-g6e17857: OUTPUT«Gründen In Räuber Waldes des finden. ist kein mehr tiefsten zu» | |||
daxim | perl6: <In des Waldes tiefsten Gründen ist kein Räuber mehr zu finden.>.sort(*.chars <=> *.chars).say | 13:37 | |
p6eval | pugs: OUTPUT«decodeUTF8': bad data: '\252'decodeUTF8': bad data: '\228'0GründenInRäuberWaldesdesfinden.istkeinmehrtiefstenzu» | ||
..niecza v1-138-g6e17857: OUTPUT«Unhandled Exception: System.Exception: Unable to find lexical &infix:<<=>> in ANON at Niecza.CLRBackend.NamProcessor.ResolveLex (System.String name, System.Int32& uplevel, Boolean core) [0x00000] in <filename unknown>:0  at | |||
..Niecza.CLRBackend.NamProcessor.RawAccessLex (System.S… | |||
..rakudo 9b8bad: OUTPUT«InzudesistkeinmehrWaldesRäuberGründenfinden.tiefsten» | |||
Fuad | Im looking for PERL gaming bots | ||
daxim | rakudo wins | ||
Fuad | i have made one | ||
idleRPG bot on perl | |||
is there any other perl gaming bots ? | |||
perl is great | 13:38 | ||
13:38
MayDaniel left,
ashleydev joined
13:43
ashleydev left
|
|||
Fuad | masak | 13:53 | |
13:55
simon_ joined
14:01
lurker joined,
lurker is now known as lurkftw,
lurkftw is now known as lurkingnoob
|
|||
lurkingnoob | Fuad: there's openkore =) | 14:02 | |
tadzik | oh, I know how to handle this | 14:03 | |
I can create a module shelter, with a META.info for each orphaned module, with additional "note" : "ORPHANED" | |||
So if someone wants to continue work, he/she can adopt his/her module back | |||
daxim | what sort of format is .info? | 14:04 | |
tadzik | json, actually | 14:05 | |
if that's what you mean | |||
14:05
Fuad left
|
|||
daxim | they why isn't it named so? | 14:05 | |
tadzik | hrm | 14:06 | |
for I stole it from S22 | |||
daxim | aha | ||
tadzik | where it's said to be YAML | ||
14:06
lurkingnoob left
|
|||
tadzik | META.info is more general, it won't look stupid if one day we'll change json to something else | 14:06 | |
daxim | I'll teach you data design because we do not have a proper librarian here, that would be a job for one. | 14:09 | |
tadzik | hm? | ||
daxim | note is signifying nothing, a hollow key where all the meaning is in the value ORPHANED | ||
tadzik | warnings? | 14:10 | |
gotchas? :) | |||
daxim | no | ||
tadzik | or we can put ORPHANED in the description, then it'll show up on the listing | ||
daxim | invent a key that is self-explaining, like: adopted-status: orphaned | ||
lack of that key would imply the default value "actively maintained" | |||
14:11
mj41 left,
plobsing left
|
|||
daxim | adding metadata into a name/description is right out. that's the same stupid mistake as tieing the file type to the name as "extension", and we have been suffering from this the last 20, 30 years | 14:12 | |
14:13
IllvilJa left
|
|||
daxim | since that key name I just made up is not standardised in a spec, it is customary to prefix it with x- | 14:14 | |
tadzik | daxim: adding ORPHANED to the description has this good side, that users will clearly see the state and module author will get ashamed | 14:16 | |
and that's what I'd really like to achieve. | |||
Generally, putting metadata in name/description is stupid, I agree | |||
daxim | that responsibility does not belong in the data, but in the toolchain. whatever web page displays it can put a big fat warning in red and blink when it sees that value | 14:17 | |
takadonet | tadzik: speaking about being ashamed... you forgot to add one of my modules up there to your META list! | ||
tadzik | :O | ||
tadzik is ashamed | |||
takadonet: wanna commit bit, Justin Case? | |||
takadonet | github.com/Takadonet/Text-Tabs-Wra.../META.info | 14:18 | |
if i get one... then I have no excuse! | |||
tadzik | my git diff is non-empty :( I have no excuse! | ||
tadzik pushes | |||
ee, ETOORESTRICTIVEFIREWALL | 14:19 | ||
oh wait, it worked | |||
ahh, pushing is via ssh | |||
daxim: if I were about to redesign META.info now, I'd probably add some field as you say. But with the possibilities that are there now, description is imho the best place to use | 14:21 | ||
takadonet | thanks! | ||
daxim | well, it's wrong. I can't keep you from doing it | 14:22 | |
14:24
mj41 joined
|
|||
takadonet | mj41: welcome back | 14:25 | |
14:25
hanekomu joined
14:32
bluescreen joined,
bluescreen is now known as Guest91158
|
|||
tadzik | daxim: it's temporary, and it's the most effective thing I can work out w/o adjusting the toolchain | 14:34 | |
github.com/tadzik/ecosystem/tree/master/SHELTER -- the "still not there" modules | 14:36 | ||
takadonet | shit! forgot to add bioperl6 META.info file.... | 14:37 | |
tadzik | it works! \o/ | 14:40 | |
cognominal_ | In Grammar.pm, I see rule param_sep { $<sep>=[','|':'|';;'|';'] { @*seps.push($<sep>) }} | ||
14:41
envi left
|
|||
cognominal_ | I can't remember what the ';' separator is used for | 14:41 | |
takadonet | tadzik: what works? | ||
tadzik | takadonet: what works? | ||
ah | |||
takadonet: creating a shelter | |||
it magically makes module maintainer remember about the changes :) | 14:42 | ||
cognominal_ | Also in Actions.pm, I don't see that case handler in the signature method | ||
*handled | |||
PerlJam | cognominal_: Assuming I've got the right context, the semicolon is for multiple dimensions | 14:44 | |
cognominal_ | PerlJam, what is the relationship with a parameter separator? | 14:45 | |
Is that some kind of pattern matching? | 14:46 | ||
14:48
mtk joined
|
|||
PerlJam | Hmm. | 14:54 | |
aha! | 14:58 | ||
cognominal_: See S12:1215 | |||
14:59
kaare_ left
15:01
takadonet left
15:02
takadonet joined
|
|||
PerlJam | I wonder if Rakudo implements that since the whole paragraph is conjectural | 15:02 | |
cognominal_ | PerlJam++ # so it is parsed but not yet handled | 15:03 | |
PerlJam | After reading that paragraph 3 times that usage of semicolon still seems bizarre | 15:05 | |
cognominal_ | Indded, It does not seem to involve parameter separators | 15:07 | |
15:08
plainhao joined
|
|||
PerlJam | The fact that the paragraph itself questions whether or not there is a use-case for it makes me think YAGNI and perhaps the paragraph could be shortened to "semicolon is treated as comma" | 15:10 | |
(and moved to S06) | |||
15:10
amkrankruleuen joined
15:12
alester joined
15:13
am0c joined
15:23
matthias_ joined,
MayDaniel joined
|
|||
takadonet | bioperl6 is not an ORPHAN ! | 15:24 | |
masak | tadzik: re author field. it feels like you, to some extent, are duplicating data that originally resides in the module tags inside the .pm files | ||
15:29
GinoMan joined
15:31
risou joined
15:32
hanekomu left
15:33
hanekomu joined
15:36
redicaps left
15:40
zby_home_ joined
15:41
hercynium joined
15:42
wtw left
|
|||
matthias_ | rakudo: my %h.=push( a => 1 ); | 15:42 | |
p6eval | rakudo 9b8bad: OUTPUT«Odd number of elements found where hash expected in '!STORE' at line 5210:CORE.setting in main program body at line 22:/tmp/wAoYz1IeN8» | 15:43 | |
matthias_ | rakudo: my %h.=push('a' => 1); | ||
p6eval | rakudo 9b8bad: OUTPUT«Odd number of elements found where hash expected in '!STORE' at line 5210:CORE.setting in main program body at line 22:/tmp/cTQzVbcRKH» | ||
matthias_ | rakudo: my %h = %h.push('a' => 1); | ||
p6eval | rakudo 9b8bad: OUTPUT«Odd number of elements found where hash expected in '!STORE' at line 5210:CORE.setting in main program body at line 22:/tmp/Gd1guQMCAu» | ||
matthias_ | rakudo: my %h; %h.push('a' => 1); say %h.perl; | 15:44 | |
p6eval | rakudo 9b8bad: OUTPUT«{"a" => 1}» | ||
15:45
plobsing joined
15:46
holzbit joined
|
|||
PerlJam | I guess Hash.push doesn't return the hash | 15:47 | |
colomon | rakudo: my %h; say %h.push('a' => 1).perl; | 15:48 | |
p6eval | rakudo 9b8bad: OUTPUT«Any» | ||
matthias_ | hm.. But maybe there is a general way to avoid "empty declarations"? | ||
15:49
Patterner left
|
|||
colomon | rakudo: my %h = 'b' => 2; say %h.push('a' => 1).perl; | 15:49 | |
p6eval | rakudo 9b8bad: OUTPUT«Any» | ||
colomon | rakudo: my @h = 'b'; say @h.push('a').perl; | ||
p6eval | rakudo 9b8bad: OUTPUT«["b", "a"]» | ||
matthias_ | I would like to be able to use the declared variable right away in its initialization :) | ||
PerlJam | The spec says it should return the hash. That seems like it should be LHF | ||
colomon | indeed. | ||
matthias_ | cool :) | 15:50 | |
PerlJam | matthias_: you can and you did :) | ||
colomon | though I really don't see the point in using " the declared variable right away in its initialization" -- at least like this? | ||
I mean, why not initialize it directly, rather than trying to push to it during initialization? | 15:51 | ||
15:51
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
matthias_ | I just find it annoying to write my X; X = ... in several situations :) | 15:51 | |
colomon | but you can say my X = ... | 15:52 | |
matthias_ | yeah but it fails if I want to use the variable on the rhs | ||
PerlJam | rakudo: my %h = 'a' => 1; say %h.perl; | ||
p6eval | rakudo 9b8bad: OUTPUT«{"a" => 1}» | ||
PerlJam | matthias_: it failed for reasons totally unrelated to being able to use the var as soon as it is declared. | 15:53 | |
masak | diakopter: I'm not fully backlogged yet, but... three days ago you asked about non-self private attribute access. sorear answered $obj!attr. my impression is that sorear's proposed syntax only concerns private method calls, not private attributes, and that in Perl 6, objects are so opaque that not even non-self objects of the same class can see self's private attributes. | 15:54 | |
matthias_ | perljam: I meant: I want to be able to use the variable on the rhs of the assignment: my %h = %h.push(); for example fails | ||
PerlJam | matthias_: no, it works just fine except that Hash.push doesn't return the hash for assignment. | 15:55 | |
colomon | matthias_: but how is that construct in any way an improvement of my %h = whatever you were going to push? | ||
PerlJam | :) | ||
matthias_ | oh! | ||
you're right, mea culpa :) | |||
colomon | I can imagine complicated lazy constructs where you might want to use a variable in its own definition, but those won't work with = anyway. :) | 15:56 | |
matthias_ | colomon: I thought push() has special semantics, so it creates arrays where keys appear multiple times | ||
15:57
exodist is now known as Exodist
|
|||
colomon | matthias_: hmmm... | 15:57 | |
15:57
simon_ left
|
|||
colomon | rakudo: my %h = 'a' => 10, 'a' => 20; say %h.perl | 15:57 | |
p6eval | rakudo 9b8bad: OUTPUT«{"a" => 20}» | ||
15:58
plainhao left
|
|||
PerlJam | colomon: He's correct AFAIK | 15:58 | |
colomon | yup. | ||
15:58
plainhao joined,
plainhao left
|
|||
matthias_ | other constructs I thought about are my $x; $x = ... while unsuitable($x); which would be cool to write as my $x = ... while unsuitable($x) though I understand that the while-condition probably doesn't know about the $x that I want to initialize :) | 15:59 | |
colomon | so I guess that is a potential use for my %h .=push(...). huh. learn something every day! | ||
I've got a whistle lesson now, but if no one else has it when I'm done, it's trivially easy to make Hash.push return self. | 16:00 | ||
PerlJam | colomon: I'm adding a test for it now and I'll implement it | ||
colomon | PerlJam++ | ||
dalek | ast: 77ad197 | duff++ | S32-hash/push.t: [push.t] Hash.push should return a Hash |
16:06 | |
PerlJam | My computer is überslow this morning for some reason | 16:07 | |
16:07
pyrimidine left,
pyrimidine joined
|
|||
pyrimidine | takadonet++ # updates to bioperl6 | 16:07 | |
16:07
justatheory joined
|
|||
dalek | kudo: 8681daf | perlpilot++ | src/core/Hash.pm: Make Hash.push return the hash |
16:11 | |
masak | rakudo: my @a = 1, 2, 3; say (@a.push: 4, 5).perl | 16:12 | |
p6eval | rakudo 9b8bad: OUTPUT«[1, 2, 3, 4, 5]» | ||
masak | PerlJam++ # consistency | ||
PerlJam | Has the rakudo build time gotten slower lately and I've only noticed today? | ||
matthias_ | thank you very much PerlJam++ :) Now I'm gonna send masak my solutions but p4, which I still have to solve (I think it is akin to the "paper strip game" (euler project)...) | 16:13 | |
16:13
matthias_ left
16:14
Guest91158 left
|
|||
tadzik | masak: hmm, right | 16:14 | |
16:17
lamstyle left
|
|||
tadzik | takadonet: commit bit given | 16:18 | |
16:21
lamstyle joined
16:25
risou_ joined
16:27
hanekomu left,
ashleydev joined
16:28
risou left
|
|||
masak | rakudo: my @a = "def".comb; my %h.=push( @a Z 0..* ) | 16:41 | |
p6eval | rakudo 8681da: ( no output ) | ||
masak | rakudo: my @a = "def".comb; my %h.=push( @a Z 0..* ); say %h.perl | ||
p6eval | rakudo 8681da: OUTPUT«{}» | ||
masak | ah -- that's the change that just went in. :) | 16:42 | |
(was wondering why matthias_++ solution didn't work locally) | |||
masak rebuilds Rakudo | |||
16:46
kaare_ joined
16:59
am0c left
17:02
MayDaniel left
|
|||
colomon has become unhealthily obsessed with p4 | 17:03 | ||
masak | the scope of any such obsession is limited to the next three or so days. | 17:04 | |
arnsholt | ^_^ | ||
Indeed | |||
masak | send in submissions, people! :) | ||
arnsholt | I'll probably submit soon | ||
Just need to finish my p4 solution | |||
17:05
kensanata left
|
|||
masak | it's also possible to submit solutions one at a time. | 17:05 | |
arnsholt | True, true | ||
And submit several times | |||
But it has to be PERFECT! | |||
*ahem* =) | |||
masak | std: True, true | 17:06 | |
p6eval | std 625303c: OUTPUT«===SORRY!===Undeclared routine: 'true' used at line 1Check failedFAILED 00:01 120m» | ||
masak | std: True, so | ||
p6eval | std 625303c: OUTPUT«===SORRY!===Prefix requires an argument at /tmp/4XxL5YuMgT line 1 (EOF):------> True, so⏏<EOL>Parse failedFAILED 00:01 120m» | ||
masak | std: so True | ||
arnsholt | std: so True | ||
p6eval | std 625303c: OUTPUT«ok 00:01 118m» | ||
masak | :) | ||
arnsholt | Indeed | ||
tadzik | wow | ||
arnsholt | Perl poetry won't go out of fashion with Perl 6, evidently =D | 17:07 | |
moritz_ | so True | ||
:-) | |||
arnsholt | =D | ||
masak | rakudo: sub exclaim { say $^thing.uc, '!!!' }; exclaim 'bam' | 17:09 | |
p6eval | rakudo 8681da: OUTPUT«BAM!!!» | ||
masak is easily amused | |||
17:10
Guest91158 joined
|
|||
tadzik | rakudo: sub exclaim { say $^thing.uc, '!!!' }; exclaim 'bam', 'bam' | 17:11 | |
p6eval | rakudo 8681da: OUTPUT«Too many positional parameters passed; got 2 but expected 1 in 'exclaim' at line 1:/tmp/qqs8aOdXQa in main program body at line 22:/tmp/qqs8aOdXQa» | ||
masak | tadzik: if you want slurp behavior, you have to use an explicit signature, I think. | 17:12 | |
tadzik | rakudo: sub exclaim { say @^nother_thing.join.uc, '!!!' }; exclaim 'bam', 'bam' | ||
p6eval | rakudo 8681da: OUTPUT«Nominal type check failed for parameter '@nother_thing'; expected Positional but got Str instead in 'exclaim' at line 1:/tmp/OpKgeM83_M in main program body at line 22:/tmp/OpKgeM83_M» | ||
tadzik | hmmm | ||
rakudo: sub exclaim { say *@^nother_thing.join.uc, '!!!' }; exclaim 'bam', 'bam' | |||
p6eval | rakudo 8681da: OUTPUT«===SORRY!===Unable to parse blockoid, couldn't find final '}' at line 22» | ||
tadzik | bah | ||
rakudo: sub exclaim { say @_.join.uc, '!!!' }; exclaim 'bam', 'bam' | 17:13 | ||
moritz_ | you can't to self-declared slurpies | ||
p6eval | rakudo 8681da: OUTPUT«BAMBAM!!!» | ||
masak | tadzik: what I said. | ||
tadzik | yeah, was just looking for a funky way | ||
17:13
cdarroch joined,
cdarroch left,
cdarroch joined
|
|||
flussence | std: ????? ... ZZZZZZZZZZZZZZZ... (...).WHAT !!!!! | 17:15 | |
p6eval | std 625303c: OUTPUT«===SORRY!===Ternary !! seems to be missing its ?? at /tmp/eM7FvnkqsF line 1:------> ??? ... ZZZZZZZZZZZZZZZ... (...).WHAT !!⏏!!!Undeclared name: 'ZZZZZZZZZZZZZZZ' used at line 1Parse failedFAILED 00:01 121m» | ||
moritz_ | rakudo: sub exclaim { say @^nother_thing.join.uc, '!!!' }; exclaim ['bam', 'bam'] | ||
p6eval | rakudo 8681da: OUTPUT«BAMBAM!!!» | ||
flussence | :( works in rakudo. | ||
moritz_ | ternary parsing in rakudo is not very robust | 17:16 | |
flussence | std seems to be matching ?? instead of ??? first | ||
moritz_ | std: 1 ?? 2, 3 !! 4 | ||
p6eval | std 625303c: OUTPUT«===SORRY!===Precedence of , is too loose to use between ?? and !!; please use parens around inner expression at /tmp/tsjBC6zJi6 line 1:------> 1 ?? 2,⏏ 3 !! 4Parse failedFAILED 00:01 119m» | ||
moritz_ | rakudo: 1 ?? 2, 3 !! 4 | ||
p6eval | rakudo 8681da: OUTPUT«===SORRY!===Confused at line 22, near "1 ?? 2, 3 "» | ||
flussence | wait, not ??? | ||
moritz_ | we should start a list with LTA parsing error messages | ||
flussence | std: ??? ?? ... ZZZZZZZZZZZZZZZ... (...).WHAT !! !!! | ||
p6eval | std 625303c: OUTPUT«===SORRY!===Expecting a term, but found either infix ?? or redundant prefix ? (to suppress this message, please use space between ? ?) at /tmp/3FG__aflxY line 1:------> ??? ??⏏ ... ZZZZZZZZZZZZZZZ... (...).WHAT !! !!Parse failedFAILED | ||
..00:0… | |||
moritz_ | ??? can take an argument | 17:17 | |
flussence | oh. | ||
moritz_ | rakudo: say (???).() | ||
p6eval | rakudo 8681da: OUTPUT«Stub code executed in <anon> at line 22:/tmp/bw_vRGNWJaNull PMC access in invoke() in main program body at line 22:/tmp/bw_vRGNWJa» | ||
moritz_ | rakudo: say (??? 'foo').() | ||
p6eval | rakudo 8681da: OUTPUT«Stub code executed in <anon> at line 22:/tmp/hNVzi4cmgONull PMC access in invoke() in main program body at line 22:/tmp/hNVzi4cmgO» | ||
moritz_ | and rakudo ignores it | ||
TimToady | rakudo: 'Feel free to clean up or throw away entirely'.trans('up' => 'away', 'away' => 'up').say; # known bug? | 17:19 | |
p6eval | rakudo 8681da: OUTPUT«Feel free to cleun aw or throp upup entirelp» | ||
17:19
sasha joined
|
|||
TimToady | I thought someone put LTMish semantics into trans | 17:20 | |
masak | yeah, I thought so too. | ||
flussence | rakudo: 'Feel free to clean up or throw away entirely'.subst('up' => 'away', 'away' => 'up').say; # does this one work? | ||
masak | TimToady: don't you have to put those in arrays? | ||
p6eval | rakudo 8681da: OUTPUT«Feel free to clean up or throw away entirely» | ||
flussence | aw. | ||
masak | rakudo: 'Feel free to clean up or throw away entirely'.trans(['up', 'away'] => ['away', 'up']).say | 17:21 | |
p6eval | rakudo 8681da: OUTPUT«Feel free to clean away or throw up entirely» | ||
masak | \o/ | ||
TimToady: you just need to know the API, that's all :) | 17:22 | ||
TimToady | DWIM!!! | ||
masak | TimToady: you could always improve S05 if you want. | ||
TimToady: I've always felt there's something slightly wanting in just that area... | |||
TimToady | if I always do one think I can never do something else | ||
*thing | 17:23 | ||
17:24
plobsing left
|
|||
masak | the Pauli exclusion principle of Things People Do :) | 17:24 | |
TimToady is uncertain whether it's exclusive | 17:25 | ||
17:27
holzbit left
|
|||
masak | rakudo: s:g/ /a/ | 17:27 | |
p6eval | rakudo 8681da: OUTPUT«Method 'subst' not found for invocant of class '' in main program body at line 22:/tmp/k5CBubyVvk» | ||
masak | rakudo: my $_ = 'foo'; s:g/ /a/; say 'alive' | ||
p6eval | rakudo 8681da: OUTPUT«===SORRY!===Redeclaration of symbol $_ at line 22, near " = 'foo'; "» | ||
masak | er. | ||
rakudo: $_ = 'foo'; s:g/ /a/; say 'alive' | |||
p6eval | rakudo 8681da: OUTPUT«alive» | ||
masak | std: $_ = 'foo'; s:g/ /a/ | ||
p6eval | std 625303c: OUTPUT«===SORRY!===Null pattern not allowed at /tmp/Lk7KnyYPsM line 1:------> $_ = 'foo'; s:g/ ⏏/a/ expecting quantifierParse failedFAILED 00:01 122m» | ||
masak submits rakudobug | 17:28 | ||
17:28
holzbit joined
|
|||
tadzik | rakudo: say $_.perl | 17:28 | |
p6eval | rakudo 8681da: OUTPUT«Any» | ||
tadzik | rakudo: $_ = 'foo'; s:g/ /a/; say $_.perl | ||
p6eval | rakudo 8681da: OUTPUT«"afaoaoa"» | ||
TimToady | it's doing s:g/ '' /a/ as we noted the other day | 17:29 | |
17:29
cjk101010 left,
risou_ left
17:30
us874 joined
|
|||
masak | yes, I just backlogged over that one. | 17:31 | |
what it's doing rather than failing isn't really that interesting. it should just fail, at parse time. | 17:32 | ||
17:34
justatheory left,
dakkar left
17:36
plobsing joined
17:40
risou joined
17:45
nadim left
|
|||
jnthn | rakudo: // | 17:45 | |
p6eval | rakudo 8681da: OUTPUT«===SORRY!===Null regex not allowed at line 22, near ""» | ||
jnthn | rakudo: / / | ||
p6eval | rakudo 8681da: OUTPUT«===SORRY!===Null regex not allowed at line 22, near ""» | ||
jnthn | hm. | ||
masak | right, it's only s/// | ||
17:46
nadim joined
17:47
plainhao joined
17:49
tibzloh joined
17:50
holzbit left
|
|||
tadzik | rakudo: my $one = "name"; my $reg = eval "regex { \$<$one>=[ .+ ] }"; say 'alive' # how do I do this? | 17:51 | |
p6eval | rakudo 8681da: OUTPUT«===SORRY!===Unable to parse blockoid, couldn't find final '}' at line 22» | ||
masak | tadzik: remember that {} interpolates in "" | 17:52 | |
tadzik: so probably start by escaping them. | |||
tadzik | oh, right | 17:53 | |
masak: that helped, thanks | |||
TimToady | there oughta be a way to do it without eval | ||
arnsholt | It makes me a bit sad that the UI code for my p4 solution will probably be more complicated than my AI code =) | ||
TimToady | you just need to develop artificial users now | 17:54 | |
tadzik | TimToady: any idea how? | ||
18:06
Guest91158 left
|
|||
pmichaud | good afternoon, #perl6 | 18:08 | |
TimToady | o/ | ||
pmichaud | we create artificial users all of the time. Those are the ones that know how to debug their programs without us providing useful error diagnostics. | ||
jnthn | o/ pmichaud | ||
colomon | \o | 18:09 | |
TimToady | std: regex { $($/{'foo'}) = [ .* ] } | 18:10 | |
p6eval | std 625303c: OUTPUT«ok 00:01 122m» | ||
masak | pmichaud! \o/ | ||
TimToady | std: regex { ( .* ) { $/{'foo'} = $0 } | 18:11 | |
p6eval | std 625303c: OUTPUT«===SORRY!===Regex not terminated at /tmp/1p9E3j1LH5 line 1 (EOF):------> regex { ( .* ) { $/{'foo'} = $0 }⏏<EOL> expecting quantifierParse failedFAILED 00:01 123m» | ||
TimToady | std: regex { ( .* ) { $/{'foo'} = $0 } } | ||
p6eval | std 625303c: OUTPUT«ok 00:01 123m» | ||
18:11
tzhs left
|
|||
TimToady | something like that | 18:11 | |
tadzik | ah, cute | 18:12 | |
much better, thanks TimToady | |||
TimToady | that's assuming $/ is mutable, of course | ||
and ends up in the final Match object | |||
18:12
sasha left
|
|||
TimToady | STD currently tends to do that sort of stuff with assignment to $¢<name> though supposedly the cursor is immutable | 18:13 | |
masak | it feels odd to think of $/ as containing something other than a Match object during parsing. | ||
18:14
justatheory joined
|
|||
pmichaud | I thought $/ contained the partially completed match object (or the state of the match as of that point in the regex) | 18:14 | |
(haven't read backscroll, btw) | 18:15 | ||
TimToady | it's a funny thing to deal with in a match engine where cursors are supposedly immutable; the block has to manufactur a new cursor from the final value of the $/ after the block is called | 18:16 | |
STD is basically cheating on immutability by assigning directly into a cursor | |||
pmichaud | nqp-rx cheats a fair bit on cursors also, although to the external world they appear immutable | 18:17 | |
TimToady | one almost wishes for versioned immutable objects | 18:18 | |
but that's probably more overhead for small objects than simply copying | 18:19 | ||
a sufficiently ropey string implementation might usually provide immutable strings as versioned mappings to ropes | 18:21 | ||
18:22
plobsing left
|
|||
TimToady | s/usually/usefully/ | 18:23 | |
sorear | good * #perl6 | 18:25 | |
pmichaud: why does rakudo do the $/.from > $/.to thing? | |||
niecza's cursors are quite immutable... when porting STD, lines like $¢.<onlystar> = 1 were one of the biggest issues | 18:26 | ||
to get things to work I added a slightly ad-hoc extension | 18:27 | ||
niecza: "" ~~ / $<x> = {2 + 2} /; say $/.<x> | |||
p6eval | niecza v1-138-g6e17857: OUTPUT«4» | ||
pmichaud | sorear: left over from PGE, I suspect | 18:28 | |
it was just an easy way to indicate a failed match | |||
sorear | niecza has mutable cursoroids deep inside, but they're never exposed to user code; $/ in a regex block is a Cursor created as a snapshot | ||
18:29
plobsing joined
|
|||
TimToady | sorear: that's cute, but maybe we should have sugar to do that inside a block | 18:29 | |
s/sugar/API/ | |||
TimToady thinks about the viability of $¢.=meth | 18:31 | ||
18:32
us874 left
|
|||
sorear | masak: As I understand it, $!attribute actually means $( self!attribute ). | 18:32 | |
TimToady now thinks about the general question of whether $foo .= meth guarantees that $foo.WHICH is invariant | |||
18:33
gbacon left
|
|||
sorear | it can't. consider my $foo = "HI"; $foo .= flip | 18:33 | |
colomon | huh. I thought it was important that it didn't. | ||
sorear | unless you want to allow "HI" === "IH" | ||
TimToady | but @foo.=method stays the same WHICH | 18:34 | |
doesn't it? | |||
well, maybe just as a normal optimization | |||
I don't suppose it's guaranteed either | |||
colomon | @foo.=grep certainly doesn't... | 18:35 | |
TimToady | right | ||
I guess if we define .= in terms of assignment, there's no such invariant | |||
masak | sorear: but self!attribute would be a method call, and S12 *specifically* says that private attributes are slots/storage locations, not accessed by methods. | ||
masak thinks it probably should be defined by assignment | 18:36 | ||
diakopter | TimToady: I'd be grateful for a comment on masak's comment at 09:54 CST today | 18:38 | |
TimToady | so that argues for a $¢.=push( x => 2+2 ) inside regex blocks | ||
or some such | |||
diakopter: I run my irssi in PST :P | 18:39 | ||
TimToady is still backlogging in any case | |||
diakopter | oh.. | ||
masak | diakopter: what's that in UTC? | 18:40 | |
PerlJam | UTC++ | 18:41 | |
diakopter | I dunno; it's your thought about access to private attributes & methods to objects other than self (but of the same class as self), in methods of a given class | ||
TimToady | irclog.perlgeek.de/perl6/2011-01-12#i_3179322 | ||
PerlJam | (I'm in CST, but I run my irssi in UTC so I have the same problem as everyone else ... what time was that?) | ||
diakopter | 2.8 hours ago | 18:42 | |
masak | diakopter: I'm surprised that sorear was the one bringing this up; I generally feel his metamodel and mine are fairly close when it comes to Perl 6 OO. | ||
pmichaud | 9:54 CST = 15:54 UTC | ||
TimToady | I don't think private attributes are that opaque; a class hopefully can trust itself | ||
pmichaud | = 7:54 PST | ||
masak | pmichaud++ | ||
pmichaud keeps three clocks in his head. | 18:43 | ||
and yes, my irssi runs in UTC :) | |||
PerlJam | pmichaud: because a man with 2 clocks nevers knows what time it it? :) | ||
diakopter | masak: sorear was the one bringing this up? | ||
masak | TimToady: is S12 specific about that? what's the syntax for private attribute access out of self? | ||
TimToady | but it might need to use the trusted syntax, not the self syntax, to get at another object's privates...er... | ||
pmichaud | this question has come up several times before | ||
looking :) | |||
masak | afk | ||
pmichaud | github.com/perl6/mu/blob/master/misc/pm.txt#L76 | 18:44 | |
diakopter tries to figure out where r28932 is | 18:45 | ||
pmichaud | it's in S12, iirc | ||
TimToady | also, note that all of these private accessors are really just function calls into the underlying repr; there's no dispatch going on here | 18:46 | |
so yes, these "accessors" are just ways of naming slots and controlling access via the "trusts" mechanism | |||
PerlJam | S12:1319 | 18:47 | |
diakopter | sorry for the question, whose answer I'm sure I knew/read before... there's no __PACKAGE__ alias/macro? | 18:48 | |
18:48
molaf_ left
|
|||
moritz_ | diakopter: 09a7b9b266e3ab13c6ec30ae02ff02a5e7c338e1 in specs repo | 18:48 | |
PerlJam | diakopter: there's $?PACKAGE | 18:49 | |
TimToady | diakopter: grep is your friend | ||
PerlJam | s/grep/ack/ | ||
TimToady | in this case grep works find because it's in a top-level pod :) | ||
*fine | |||
diakopter | moritz_: thanks :) | 18:50 | |
PerlJam | except that I find I don't use grep anymore :) | ||
(as I'm almost always looking through directory trees) | |||
TimToady | well, to be sure, I actually use my own ack-ish program that I wrote long ago | ||
which I called "dgrep" | 18:51 | ||
sorear | self!attribute doesn't really do dispatch either; in particular it can always be inlined (something I plan to do soonish) | ||
you don't even need gradual typing | |||
TimToady | I was including that notation in my remarks | ||
18:51
risou left
|
|||
TimToady | but it is good to make that explicit :) | 18:51 | |
18:52
gbacon joined
|
|||
diakopter | std: class A { has $!attr; method foo { my $obj = A.new(); say($obj!$?PACKAGE.attr()) } }; say A.new.foo | 18:52 | |
p6eval | std 625303c: OUTPUT«ok 00:01 122m» | ||
diakopter | rakudo: class A { has $!attr; method foo { my $obj = A.new(); say($obj!$?PACKAGE.attr()) } }; say A.new.foo | 18:53 | |
p6eval | rakudo 8681da: OUTPUT«===SORRY!===Symbol '$?PACKAGE' not predeclared in foo (/tmp/Xo5w5R_VKn:22)» | ||
TimToady | how does that parse in STD!?! | ||
diakopter | niecza: class A { has $!attr; method foo { my $obj = A.new(); say($obj!$?PACKAGE.attr()) } }; say A.new.foo | ||
p6eval | niecza v1-138-g6e17857: OUTPUT«Unhandled Exception: System.Exception: Unable to find lexical $?PACKAGE in A.foo at Niecza.CLRBackend.NamProcessor.ResolveLex (System.String name, System.Int32& uplevel, Boolean core) [0x00000] in <filename unknown>:0  at | 18:54 | |
..Niecza.CLRBackend.NamProcessor.RawAccessLex (System.Str… | |||
PerlJam | TimToady: perhaps you have an infix:<!> somewhere | ||
sorear | that syntax is absurd | ||
diakopter agrees with sorear | 18:55 | ||
TimToady | $obj!TrustsMe::slot is the normal syntax, iirc | ||
PerlJam | std: class A { has $!attr; method foo { my $obj = A.new(); say($obj!"$?PACKAGE".attr()) } }; say A.new.foo # just checking | ||
p6eval | std 625303c: OUTPUT«===SORRY!===Unsupported use of . to concatenate strings or to call a quoted method; in Perl 6 please use ~ to concatenate, or if you meant to call a quoted method, please supply the required parentheses at /tmp/onwtXso80q line 1:------> my $obj = | ||
..A.new(); … | |||
diakopter | pm's note says there's a . | ||
TimToady | we could, perhaps, make $obj!slot assume the current class, but only if I've had enough coffee, which I haven't. | 18:56 | |
diakopter | oh wait. | ||
I'm blind | |||
diakopter would be ephemerally grateful | 18:57 | ||
TimToady | well, a day is a significan period of time | ||
sorear | $obj!"$?PACKAGE".attr means ($obj!"$?PACKAGE").attr | ||
PerlJam | oh, precedence. | ||
sorear | I think you meant $obj!"{$?PACKAGE}::attr", but I'm not convinced that should work | ||
diakopter | sorear: I see now; I got the . wrong; it shoulda been :: | ||
sorear | $obj!$?PACKAGE::attr is right out though | 18:58 | |
package names need to be barewords, period | |||
TimToady | it would be a bit of a burden to support symbolic refs on slot names, but the "my class" special case can probably be sugared | 18:59 | |
18:59
Guest91158 joined
|
|||
diakopter | std: 2!"$a" | 19:00 | |
p6eval | std 625303c: OUTPUT«===SORRY!===Variable $a is not predeclared at /tmp/2IjT356sUZ line 1:------> 2!"$a⏏"Unsupported use of . to concatenate strings or to call a quoted method; in Perl 6 please use ~ to concatenate, or if you meant to call a quoted method, | ||
..please… | |||
TimToady | then method new could do $obj!slot = if it wanted to | ||
diakopter | Unsupported use of . to concatenate strings or to call a quoted method? | ||
TimToady | hmm, probably assuming there was a . there | 19:01 | |
when there was a ! | |||
diakopter | wants the sugar | ||
diakopter | |||
TimToady | std: $obj!meth | 19:03 | |
p6eval | std 625303c: OUTPUT«===SORRY!===Variable $obj is not predeclared at /tmp/jILbgRc1os line 1:------> $obj⏏!methCheck failedFAILED 00:01 118m» | ||
TimToady | std: my $obj; $obj!meth | ||
p6eval | std 625303c: OUTPUT«ok 00:01 119m» | ||
TimToady | the sugar's already there, you just have to semanticalize it | ||
sorear | niecza: class Foo { has $.bar = 7; method x { say self!"b{"a"}r" } }; Foo.new.x | 19:05 | |
p6eval | niecza v1-138-g6e17857: OUTPUT«===SORRY!===Unsupported use of . to concatenate strings or to call a quoted method; in Perl 6 please use ~ to concatenate, or if you meant to call a quoted method, please supply the required parentheses at /tmp/BhRosImVmt line 1:------> $.bar | ||
..= 7; method x … | |||
TimToady | we should probably carp at CHECK time if meth isn't a known method in the current class, since it probably indicates an attempt to cross a class boundary | ||
niecza: class Foo { has $.bar = 7; method x { say self!"b{"a"}r"() } }; Foo.new.x | |||
p6eval | niecza v1-138-g6e17857: OUTPUT«7» | ||
TimToady | if lookbehinds worked we could check for . there I guess | 19:06 | |
the error is a bit LTA as it stands | 19:07 | ||
but the concat warning is going to be crucial for recovering P5 programmers, so we can't just take it out | 19:08 | ||
arnsholt | "recovering P5 programmers" ^_^ | 19:09 | |
TimToady | we have this 12,000 step program, you see | ||
niecza: my $a = "a"; class Foo { has $.bar = 7; method x { say self!"b{$a}r"() } }; Foo.new.x | 19:10 | ||
p6eval | niecza v1-138-g6e17857: OUTPUT«7» | 19:11 | |
TimToady | sorear++ | ||
19:12
KatrinaTheLamia joined
|
|||
TimToady | niecza: my $a = "ee"; class Foo { has $.bar = 7; method x { say self!"b{$a}r"() } }; Foo.new.x | 19:12 | |
p6eval | niecza v1-138-g6e17857: OUTPUT«Unhandled exception: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary. at System.Collections.Generic.Dictionary`2[System.String,Niecza.IP6].get_Item (System.String key) [0x00000] in <filename unknown>:0  at | ||
..Niecza.DynMetaObject.Ge… | |||
TimToady | ooh, explosive hash, should probably be classified as a munition | 19:13 | |
TimToady despises the modern tendency to use exceptions to indicate expected conditions | 19:14 | ||
I'm looking at you, Python | 19:15 | ||
19:15
mberends joined
19:20
daxim left
19:24
kulp joined
|
|||
diakopter | but... return exceptions? | 19:27 | |
19:27
ashleydev left,
plobsing left
|
|||
PerlJam | Everything you do is exceptional! Who cares if you came in 53rd in a race with 55 people? You get a trophy anyway! | 19:28 | |
19:28
fhelmberger left
19:29
plobsing joined
|
|||
TimToady | return exceptions are an exception :P | 19:30 | |
dalek | ecza: dc92b63 | sorear++ | / (5 files): [v6] Improve timing display, translate NieczaBackendClisp |
||
TimToady | exceptions are great for figuring out how far to unwind the call chain | ||
they're not great for returning an "oopsie" value | |||
19:32
koushi joined,
koushi left,
koushi joined
|
|||
TimToady | "We're sorry, that flight is completely booked. We will now shoot you." | 19:33 | |
"and everyone else standing in line" | |||
"at every counter" | 19:34 | ||
PerlJam | TimToady: Careful ... you might give the TSA some ideas. | ||
TimToady | if they haven't had that idea up till now, I have no hope for them | ||
19:35
kulp left,
koushi is now known as kulp
|
|||
TimToady | anyway, excptions are one of the biggest hammers out there that make parallel processing look like a thumb | 19:35 | |
19:36
Guest91158 left
19:37
Guest91158 joined
19:49
plobsing left
|
|||
TimToady | phone | 19:59 | |
20:00
tibzloh left
20:03
holzbit joined
20:09
tylerni7 left
20:12
plobsing joined
|
|||
PerlJam really wishes that "Python is better than Perl 6" post wouldn't continue to get "air time" on the Internet. | 20:18 | ||
tadzik | this post is hell stupid | ||
flussence | if it was really better, they wouldn't need to try and force the point so much ;) | ||
PerlJam | though the #5 thing in that post makes me think the Perl community (including Perl 5) needs to spend a little time making and marketing "perl distributions". But I think Perl 6 will have to lead the way in that endeavor. | 20:21 | |
tadzik | chromatic_x Funny thing is, #perl 6 shipped in Fedora *before* Python 3 did | ||
(twitter) | |||
perigrin | Perl 6 lead/can lead the way in a lot of endevours marketting wise. | 20:22 | |
er 'will lead/can lead' | 20:23 | ||
20:24
tylerni7 joined,
tylerni7 left
20:26
justatheory left
20:27
mikehh left
20:28
tibzloh joined,
holzbit left,
ashleydev joined
20:33
tibzloh left,
holzbit joined,
jaldhar left
20:34
KatrinaTheLamia left
20:37
tibzloh joined
20:38
jaldhar joined
|
|||
sorear | hmm. Is there anything I can do in exchange for the return of the minutes? | 20:40 | |
re. phone | |||
20:40
edenc left,
edenc joined
20:41
holzbit left
20:50
shortcircuit joined
20:52
Layla_91 joined
|
|||
sorear | hello Layla_91 | 21:03 | |
tadzik | seen Eric_Clapton | 21:06 | |
aloha | Eric_Clapton was last seen in #perl6 4 days 1 hours ago saying "you knocked me on my knees!". | ||
Layla_91 | helo all.. am here just to watch :) who is Eric_Clapton? ..... :S | 21:07 | |
tadzik | :D | ||
this fella singing about some Layla lady | |||
Layla_91: wrote some nice Perl 6 recently? | 21:08 | ||
Layla_91 | tadzik: I am preparing to go to the UK for a couple of RHCA exams.. so was a little busy.. :( | ||
tadzik | RHCA? | 21:09 | |
dalek | ecza: 7905557 | sorear++ | v6/harness: [v6] Fix :$foo parsing |
||
Layla_91 | tadzik: red hat certified architect.. | 21:10 | |
tadzik | oh, cool | ||
Layla_91 | tadzik: I hope so.. I actually want to become a programmer.. but some sysadmin knowledge is ok :) | 21:12 | |
tadzik | a certificate is a nice thing too | ||
Layla_91 | tadzik: Yeah.. one more thing to hang on the wall :D Did certificates have good use for you? | 21:14 | |
21:15
plobsing left
|
|||
TimToady | my brother-in-law once told me that my sysadmin job was a dead end, but that's how we got Perl :) | 21:15 | |
Layla_91 | TimToady: are you really larry wall?!!!!!! :-S | 21:16 | |
tadzik | :D | ||
TimToady | some days I am | ||
21:16
molaf joined
|
|||
flussence | he's (larry wall).Str on here | 21:16 | |
moritz_ | he's rather .Stringy in here :-) | ||
TimToady | the rest of the time I just pretend to be Larry Wall by making up witticisms | 21:17 | |
21:17
shortcircuit left
21:18
shortcircuit joined
|
|||
sorear | if $name !~~ /::/ { # This bug was just fixed in niecza. I wonder if it should have warned. | 21:18 | |
tadzik | Layla_91: well, the only certificate I have is a CAE, and the use it have was giving me the highest grade from English classes on the Uni w/o a need to say a word in English :) | ||
21:19
tibzloh left
|
|||
TimToady | sorear: was it trying to match /'::'/ ? | 21:19 | |
sorear | TimToady: it was supposed to, yes | ||
but it actually matches more like /''/ | 21:20 | ||
TimToady | was it originally a m:p5/::/ ? | ||
sorear | yes | ||
21:20
holzbit joined
|
|||
TimToady | well, it is legal, I think | 21:20 | |
it says if LTM matches nothing else, match '' | |||
though if we treated it more like a conjunction, we'd get an error | 21:21 | ||
std: /|/ | |||
p6eval | std 625303c: OUTPUT«===SORRY!===Null pattern not allowed at /tmp/0P4oARCHjR line 1:------> /|⏏/Parse failedFAILED 00:01 117m» | ||
TimToady | like that | ||
Layla_91 | tadzik: my english is terrible.. I hardly pass my english classes :D But I know Russian, Arabic, and Ukranian.. by the way I bought programming perl (3d ed).. to improve my perl and english skills :D | ||
tadzik | Layla_91: where are you from? | 21:22 | |
Layla_91 | tadzik: now or born in? | 21:23 | |
flussence | (your english is better than most people's russian, so we can't really complain :) | ||
21:23
holzbit left
|
|||
tadzik | Layla_91: * :) | 21:24 | |
rakudo: say *.WHAT | |||
p6eval | rakudo 8681da: OUTPUT«Whatever()» | ||
Layla_91 | tadzik: :D | ||
TimToady | niecza: say *.WHAT | ||
p6eval | niecza v1-139-gdc92b63: OUTPUT«Sub()<instance>» | ||
TimToady | hah | ||
21:25
plobsing joined
|
|||
TimToady | niecza: say *.HOW | 21:25 | |
p6eval | niecza v1-139-gdc92b63: OUTPUT«Sub()<instance>» | 21:26 | |
Layla_91 | flussence: Thanks, but you should hear me speaking English xD | ||
21:26
dual left
|
|||
Layla_91 | tadzik: currently in jordan (trace my IP :P) born in Russia.. lived in Israel, Turkey, Russia.. never been to the US.. you? | 21:27 | |
TimToady | niecza: say 42.HOW | ||
p6eval | niecza v1-140-g7905557: OUTPUT«ClassHOW()<instance>» | 21:28 | |
TimToady | niecza: say (*.HOW)(42) | ||
p6eval | niecza v1-140-g7905557: OUTPUT«Sub()<instance>» | ||
TimToady | oopsie | ||
diakopter | niecza: say .HOW | ||
p6eval | niecza v1-140-g7905557: OUTPUT«===SORRY!===Can't call method "isa" on unblessed reference at /home/p6eval/niecza/src/Niecza/Actions.pm line 2306.Check failed» | ||
diakopter | OO | 21:29 | |
21:29
dual joined
|
|||
tadzik | Layla_91: oh, interesting. Born in Poland, still there. Been there and around, never in USA too | 21:29 | |
TimToady | still using P5 underneath | ||
sorear | TimToady: niecza does whatevercode currying on postfix operators, including postcircumfix:<( )> | 21:30 | |
moritz++ has hinted that I should probably excempt that operator | 21:31 | ||
TimToady | perhaps | ||
sorear | like how infix:<=> doesn't curry ever | ||
diakopter | I wonder if irssi's tab completion can be extended to auto-add the ++ | ||
moritz_ | diakopter: I'm pretty sure it can | ||
TimToady | the uc ones are really supposed to be treated as macros | ||
so it's really a question of macro precedence | |||
also, .HOW desugars to something that can't be a straight method call | 21:32 | ||
since it has to supply the original object as 1st arg | |||
sorear | it's not a straight method call | ||
but it's still a curryable operator | |||
TimToady | so it's really macro precedence | ||
sorear | { $^a.HOW } makes sense | 21:33 | |
I am not familiar with this use of "prcedence" | |||
TimToady | just as in "order of application" | ||
21:34
zby_home___ joined,
zby_home_ left
|
|||
TimToady | rakudo is apparently do the .WHAT before it does the *.method transform, so it gets Whatever() | 21:35 | |
this is a place where we'll have to thrash out inter-implementational issues | |||
moritz_ | rakudo cheats horribly :-) | 21:36 | |
TimToady | Larry the Ref: "In this corner we have Jnthn the Sturdy, and in that corner Sorear the Speedy." | 21:37 | |
PerlJam | .oO(Everyone's middle name is "the"!) |
21:39 | |
TimToady | niecza: say *i.WHAT | ||
p6eval | niecza v1-140-g7905557: OUTPUT«Unhandled Exception: System.Exception: Unable to find lexical &postfix:<i> in ANON at Niecza.CLRBackend.NamProcessor.ResolveLex (System.String name, System.Int32& uplevel, Boolean core) [0x00000] in <filename unknown>:0  at | ||
..Niecza.CLRBackend.NamProcessor.RawAccessLex (System.S… | |||
TimToady | rakudo: say *i.WHAT | 21:40 | |
p6eval | rakudo 8681da: OUTPUT«WhateverCode()» | ||
diakopter | some people's first and last names are also "the" | ||
TimToady | I have a jar that says "THE" | ||
sorear | I should probably add a bunch of implementations of operators that just call die() so people don't get those backend failures | ||
TimToady | yes, you should, especially if while doing that you decide it would be easier to implement them instead. :) | 21:41 | |
21:41
pmurias_ joined
|
|||
sorear | since STD doesn't know how to sorry on unimplemented operators | 21:41 | |
hi pmurias_ | |||
pmurias_ | sorear: hi | ||
21:42
justatheory joined
|
|||
diakopter | at least it doesn't say "the first person singular linking/existential" | 21:42 | |
21:42
pmurias_ is now known as pmurias
|
|||
pmurias | sorear: how's the bootstrap | 21:42 | |
? | |||
sorear | pmurias: v6-niecza passes all tests, although it's still choking on itself | ||
diakopter | (the jar, I mean) | 21:43 | |
pmurias | tadzik: which city are you from? | ||
TimToady | diakopter: "THE" is just French for "TEA", I'm led to believe | 21:44 | |
pmurias | sorear: that means the tests are too weak ;) | ||
tadzik | pmurias: warsaw | ||
diakopter | TimToady: oh; I thought it was claiming to be the definitive jar | 21:45 | |
21:45
kulp left
|
|||
pmurias | tadzik: i'm from zielona góra, but i study in wrocław | 21:46 | |
21:46
kulp joined,
Guest91158 left,
kulp left
|
|||
TimToady | P6 is really an AI in disguise, so not choking on itself is the *main* test. | 21:46 | |
tadzik | pmurias: are there PM groups there? | 21:48 | |
diakopter | does AI == Anteperfectus Infinitus ? | ||
pmurias | tadzik: i don't think so | 21:49 | |
sorear | 13,311 total lines if you count my hacked version of STD.pm6. I wonder if this is the largest Perl 6 program in existance. | ||
diakopter | er, Aeternus Imperfectus | 21:50 | |
pmurias | sorear: and withought STD.pm6? | 21:51 | |
21:52
envi joined
|
|||
colomon | hmmm... seems like it may be on the same scale as Rakudo's source? though of course, some portion of that is nqp and some is pir. | 21:52 | |
moritz_ | well, NQP *is* Perl 6... mostly :-) | 21:53 | |
21:53
amkrankruleuen left
|
|||
sorear | pmurias: 6399 fewer | 21:53 | |
moritz_ | rakudo's src/core/*.pm is 6.9k lines | ||
21:53
Patterner left
|
|||
moritz_ | find src/ -name \*.pm | xargs wc -l | 21:54 | |
=> 22.4k | |||
21:54
plobsing left
|
|||
moritz_ | wait, that counts src/gen/core.pm too | 21:54 | |
so, minus 7.6k | 21:55 | ||
rakudo: say 22.4 - 7.6 | |||
p6eval | rakudo 8681da: OUTPUT«14.8» | ||
moritz_ | including grammar and action | ||
21:55
kaare_ left
|
|||
Layla_91 | * I wonder how draw the first picture of Camelia.. as a girl am sure it was a girl ^_^ much different than the camel image on my perl5 book :D | 21:55 | |
21:56
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
TimToady | er... | 21:56 | |
or it was drawn by a guy who wanted to make Perl 6 more attractive to girls... | |||
tadzik | TimToady: was that you? :) | 21:57 | |
Layla_91 | TimToady: Oops :) I guess so :D | ||
TimToady | looks like it worked, at least this time :D | ||
I have two daughters who are artists, so I kinda know how to fake it. :) | 21:58 | ||
Layla_91 | TimToady: But you did a great job :) I really loved it :D there will be a p6 community of girls somday.. you will see B-) | 21:59 | |
TimToady | I hope so; I also hope you will stick around and help make it so, 'cause just a cartoon won't do it all by itself. :) | 22:00 | |
Layla_91 | I will.. :) | 22:02 | |
dinner time! good night all :D | 22:03 | ||
TimToady | o/ | ||
22:03
Layla_91 left,
plobsing joined
22:05
zby_home___ left
22:12
vts joined
22:13
kjeldahl left
22:18
cafesofie joined
22:21
Guest91158 joined
22:23
vts left
22:24
estrabd is now known as estrabd_afk
|
|||
[Coke] | (every's middle name is the) - coke the curmudgeon? | 22:27 | |
22:36
kulp joined
22:39
mberends left
22:42
crythias left
|
|||
sorear | #p5p is talking about MAD being broken | 22:45 | |
snarkyboojum | 13,311 lines of Perl 6 in Niecza and 14,800 lines or Perl 6 in Rakudo - there's quite a bit of Perl 6 out there! :O | 22:47 | |
wolverian | whoa, that's a lot. | ||
I really really want to migrate already @ work to Perl 6... :) | |||
22:48
kulp left
|
|||
pmurias | /connect irc.perl.org | 22:48 | |
sorry | 22:49 | ||
22:50
coldhead joined
|
|||
pmurias | sorear: STD_P5 seems to be more promising for a translator | 22:50 | |
22:53
alester left
|
|||
diakopter | pmurias: if we can prod TimToady enough ;) | 23:01 | |
pmurias | most of work on STD_P5 doesn't require TimToady | 23:09 | |
it's just changing rules to reflect Perl 5 instead of Perl 6 | 23:10 | ||
23:10
stkowski joined
23:13
rgrau joined
23:14
KatrinaTheLamia joined
23:18
Guest91158 left
23:19
pmurias left
23:21
KatrinaTheLamia left
23:25
KatrinaTheLamia joined
23:29
hercynium left
23:32
plobsing left
|
|||
sorear | std: /(<?before moo>)/ | 23:37 | |
p6eval | std 625303c: OUTPUT«ok 00:01 120m» | ||
sorear | this manages to not work in the niecza-compiled std | 23:38 | |
Unrecognized regex metacharacter > | |||
but without the () it works fine | |||
23:40
IllvilJa joined
|
|||
sorear | oh, hm, looking at the source it seems niecza is correct and viv isn't | 23:42 | |
TimToady: why does Regex.infixstopper use <?before '>' | 23:43 | ||
TimToady: why does Regex.infixstopper use <?before '>' <-[ \> \) ]> > ? | |||
colomon | rakudo: <A B C D>.reverse.say | 23:49 | |
p6eval | rakudo 8681da: OUTPUT«DCBA» | ||
colomon | rakudo: sub swap-em(@a) { @a.map(-> $a, $b { $b, $a }).flat; } say swap-em(<A B C D>); | 23:50 | |
p6eval | rakudo 8681da: OUTPUT«===SORRY!===Confused at line 22, near "sub swap-e"» | ||
colomon | rakudo: sub swap-em(@a) { @a.map(-> $a, $b { $b, $a }).flat; }; say swap-em(<A B C D>); | ||
p6eval | rakudo 8681da: OUTPUT«BADC» | 23:51 | |
colomon | rakudo: sub swap-em(@a) { @a.map(-> $a, $b { $b, $a }).flat; }; say swap-em(<A B C D>).reverse; say swap-em(<A B C D>.reverse) | ||
p6eval | rakudo 8681da: OUTPUT«CDABCDAB» | ||
TimToady | sorear: because >> and >) are valid tokens in their own right | ||
>> is a Texas » | 23:52 | ||
er, well, maybe it's really )> | |||
so dunno abou tthat one | |||
probably a bug | 23:54 | ||
sjohnson | bugs are cute | 23:55 | |
TimToady | I will try a before/after with snaptest to see if anything shows up that I've forgotten | 23:56 |