»ö« 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:02
araujo left
00:03
araujo joined
|
|||
masak | 'night, #perl6 | 00:04 | |
00:04
masak left
00:09
lichtkind left
00:27
dorlamm left
00:30
bluescreen10 left
|
|||
dalek | kudo/nom: 31fa9ff | jonathan++ | src/ (2 files): Only auto-generate an accessor method if the user didn't already provide one. |
00:31 | |
kudo/nom: bf8a6af | jonathan++ | src/core/Parcel.pm: Allow | to work on a Parcel. |
|||
kudo/nom: 61aa803 | jonathan++ | src/core/Junction.pm: First cut implementationg of an auto-threader. Not wired up yet, and plenty of room to optimize this. |
|||
kudo/nom: fe39b76 | jonathan++ | src/ (5 files): Wire up the auto-threader for single and multi-dispatch. Not heavily tested, but seems to work out with various tests (multi, single, multiple junctions, correct return value, pos and named args, etc). |
|||
kudo/nom: 265331a | jonathan++ | t/spectest.data: Two more passing test files. |
00:40 | ||
kudo/nom: 5f2a810 | jonathan++ | NOMMAP.markdown: Update nommap. |
|||
jnthn | grr...I think my body clock thinks that a 30 hour day is normal now... | ||
sleep & | 00:41 | ||
00:44
colomon joined
|
|||
[Coke] | jnthn: no, stay up and let it roll over. | 00:51 | |
00:53
tokuhirom left
01:02
daemon left
01:04
noganex left
01:06
noganex joined
|
|||
lue | $ ./perl6 -e 'say "hai".comb; say "hai".comb.perl' | 01:06 | |
h a i | |||
("h", "a", "i").list | |||
afk for nom time & | |||
01:18
[Coke] left
01:20
[Coke] joined,
envi left
01:22
daniel-s joined
|
|||
[Coke] | nom: [\+] 1..1000; | 01:32 | |
p6eval | nom: OUTPUT«Nominal type check failed for parameter '$infinite'; expected Any but got Mu insteadcurrent instr.: 'GATHER' pc 354855 (src/gen/CORE.setting.pir:91676) (src/gen/CORE.setting:1942)» | ||
01:52
beekor left
02:01
whiteknight left,
whiteknight joined
02:07
f00li5h left
02:09
thou left
02:43
thou joined
|
|||
dalek | ecs: 0a5a59c | larry++ | S06-routines.pod: $! and $/ are created only by routines/compunits Blocks don't have their own $! or $/ unless you explicitly declare one. |
02:48 | |
02:52
f00li5h joined
02:53
whiteknight left
03:02
flatwhatson joined,
flatwhatson left
03:03
aindilis left
03:15
pjcj left
03:18
perlhack joined
|
|||
sorear | perl6: say Regex ~~ Routine | 03:18 | |
perlhack | :-)4000 words and will be what you fluent dialogue | ||
p6eval | rakudo 72d158, niecza v7-18-g240a9af: OUTPUT«Bool::True» | ||
..pugs: OUTPUT«» | |||
sorear | o/ perlhack | ||
perlhack | hi sorear | 03:19 | |
i am try my best learnning english. | |||
soh_cah_toa | perlhack: what's your native language? | 03:20 | |
sorear | almost | ||
mandarin | |||
perlhack | soh_cah_toa:Chinese | ||
sorear | ey was here before I left | ||
soh_cah_toa | ouch, mandarin -> english will be hard | ||
sorear | perlhack: did you get a chance to meet jnthn at BJPW? | 03:21 | |
perlhack | No .At that time no money car | ||
sorear, | 03:22 | ||
sorear | soh_cah_toa: it's been interesting to study | ||
soh_cah_toa | i've always wondered what it must be like for non-english speaking programmers to write code that uses the english language since they all do | 03:23 | |
perlhack | i think we will be in english and communication technology. | 03:24 | |
:-) | |||
sorear | soh_cah_toa: you should ask around, quite a lot of #perl6 is *not* native English speakers | 03:25 | |
soh_cah_toa | really? that's very interesting | ||
perlhack | around usa round uk | 03:26 | |
03:27
Su-Shee left
03:29
Su-Shee joined
03:38
envi joined
04:05
pjcj joined
04:07
perlhack left
04:22
Bzek joined,
satyavvd joined
04:27
_jaldhar left,
soh_cah_toa left
|
|||
dalek | ecs: aca4e5d | larry++ | S04-control.pod: detangling $! from inflight semantics of @! |
04:35 | |
TimToady | it's still a mess, but must zzz & | 04:37 | |
04:49
ZaphrodZenovka left
04:50
ZaphrodZenovka joined
|
|||
sorear | TimToady++ # agreed | 04:51 | |
though sink context still makes me uneasy | |||
04:55
kaare_ joined
05:05
koban joined,
koban left
05:12
_jaldhar joined
05:17
agentzh joined
05:19
silug_ left,
silug_ joined
05:22
cognominal_ joined
|
|||
sorear | Why is "0" false? | 05:24 | |
05:26
_jaldhar left
05:27
cognominal left,
araujo left
05:30
_jaldhar joined,
_jaldhar left
05:31
_jaldhar joined,
_jaldhar left
05:32
_jaldhar joined,
molaf_ left
05:33
birdwindupbird joined
|
|||
daniel-s | is there another company that offers a translation API | 05:39 | |
similar to google translate | |||
sorear | "is company", I don't know | 05:41 | |
there are a *ton* of academic translator projects | 05:42 | ||
and there used to be many commercially-backed ones | |||
there might still be | |||
daniel-s | well, I don't care who runs it | 05:46 | |
05:47
Tedd1^ left,
molaf_ joined
|
|||
daniel-s | I want to be able to add translation to something I'm writing | 05:47 | |
I just want to be able to give it some text and say, please translate this from x to y | |||
05:47
wtw joined
05:53
stephanepayrard_ joined
05:56
alim joined,
cognominal_ left
06:22
Tedd1 joined
|
|||
thou | \o/ november "running" on rakudo-master: postimage.org/image/1si2l8tlw/5ad5ec6f/ | 06:31 | |
06:51
thou left
06:57
Mowah joined
07:02
alim left
07:06
drbean left
|
|||
dalek | ecza: 8dc8c8f | sorear++ | / (14 files): Reimplement $_ $! $/ according to more-current spec Every Routine now contains all three of these, every non-Routine only has $_. |
07:17 | |
07:20
am0c left
07:23
pjcj left
|
|||
sorear | tomorrow I'll look into making $_ etc generation lazier | 07:33 | |
*out* | |||
07:37
cognominal joined
07:40
stephanepayrard_ left
07:44
wamba joined
07:45
pjcj joined
|
|||
dalek | p: 442e0b3 | pmichaud++ | / (5 files): Update nqp:: event and debug logging support. |
07:48 | |
p: 59bc2bb | pmichaud++ | src/stage0/ (6 files): Update bootstrap. |
|||
jnthn | Morning, #perl6 | 07:49 | |
pmichaud | jnthn: o/ | 07:59 | |
jnthn | ooh, more event logging stuff :) | 08:02 | |
tadzik | good morning #perl6 | ||
pmichaud | Yes. I got tired of hacking together debug code so decided to formalize it a bit better. | 08:03 | |
jnthn | pmichaud: What does it write to the log? Timestap, flags and message? | ||
pmichaud | message | ||
but you can parameterize the message somewhat. | |||
don't have timestamp in there yet... will likely add that. | |||
nqp::deb(flags, 'message %sub% %caller%') # sends 'message' to the log along with the current sub and its caller | 08:04 | ||
jnthn | pmichaud: OK, because with timestamp and sub entry/exit we have a basic profiler :) | ||
pmichaud | can't easily do a reliable sub exit. | 08:05 | |
we can do a sub entry, no problem. | |||
jnthn | ah, true | ||
pmichaud | that's why I didn't really worry about timestamp just yet | ||
because sub exit is a real challenge | |||
jnthn | ok | ||
same challenge as temp/LEAVE etc | |||
pmichaud | we can still get a basic profiler to tell us how many times a sub is invoked, and who is doing the invoking | ||
and with lexical return, we can capture sub exits except when skipped due to an exception. | 08:06 | ||
and I might put in a field that lets us identify contexts (to match up entry/exit)... if I can figure out a way to do that. | 08:07 | ||
anyway, nqp::deb() is fairly efficient, if the flags indicate nothing is to be logged, it skips over the evaluation of the second argument entirely. | |||
jnthn | *nod* | 08:08 | |
pmichaud | so, it's only the cost of a jump if nothing is to be logged. | ||
jnthn | oh, you added a pasttype for it too! | ||
pmichaud | it had to be a pasttype to get the macro-ish capabilities | 08:09 | |
08:09
im2ee joined
|
|||
pmichaud | if I have nqp::deb(flags, $xyz.fmt('some format %s thingy')) | 08:09 | |
I don't want to pay the cost of the .fmt if we're not going to log it anyway :) | |||
and yes, it's a pasttype, which means it can go into PAST trees to automatically insert stuff. like subroutine entry/exit. :) | 08:11 | ||
jnthn | nice | ||
pmichaud | PAST::Op.new(:pasttype<nqpdebug>, 0x10, 'entry %sub% %caller%') | ||
so, in tracking down the outer bug, I have a couple of observations. | 08:13 | ||
first, I wonder if it's related to the bug that causes nqp's repl to also fail on the second and subsequent commands | |||
jnthn | No, that's related to an issue I already fixed in nom | 08:14 | |
pmichaud | and second, it looks like the line | ||
$output[0].set_outer_ctx($outer_ctx); | |||
in HLL::Compiler.eval is never called. | |||
oh, wait, yes it is. | 08:15 | ||
but whatever is setting the outer is doing so *before* that line is called. | |||
jnthn | (Issue is unpopulated %*HOW on the second line.) | ||
pmichaud | I'm going to add in some more debugging and track it down just a bit more. | 08:16 | |
jnthn | oh.. | ||
08:17
im2ee_ joined
|
|||
jnthn | hm | 08:17 | |
There is one place SymbolTable.pm emits a set_outer_ctx call | |||
*but* it should only do that when we call load_setting | 08:18 | ||
Which we don't for second line of eval | |||
pmichaud | we look it up in Perl6/Grammar.pm, too. | 08:19 | |
08:20
alim joined,
im2ee left
|
|||
jnthn | afk for 10 | 08:21 | |
08:25
mj41 joined
|
|||
jnthn | back | 08:41 | |
08:41
mj41 left
|
|||
pmichaud | oh oh oh oh | 08:45 | |
duh | |||
I think I know where the problem is. | |||
jnthn figured it'd be a "duh" problem once found... | |||
pmichaud | $save_ctx := $interactive_ctx; | ||
$interactive_ctx is created based on HLL::Compiler in INIT. | 08:46 | ||
so it has the nqp setting as its outer | |||
jnthn | oh! | ||
This...explains a lot. | |||
pmichaud++ | |||
jnthn now feels silly for not seeing this | 08:47 | ||
daniel-s | if I have a named rule, and it has matched several times into $<name> | ||
I can access each match with $<name>[0] | 08:48 | ||
tadzik | jnthn: is there something like ^get_attribute in 6model? I mean the attribute value | ||
daniel-s | but for $<name> -> $name {say $name;} | ||
08:48
araujo joined,
araujo left,
araujo joined
|
|||
daniel-s | doesn't print the $name on each line | 08:48 | |
it prints them all together | |||
pmichaud | daniel-s: for $<name>.list -> $name { ... } | ||
jnthn | tadzik: no | ||
pmichaud | otherwise $<name> is treated as a scalar. | 08:49 | |
(and only iterates once) | |||
daniel-s | ok, thank pmichaud++ | ||
*thanks | |||
pmichaud | I think for @($<name>) also works. | ||
jnthn | tadzik: What're you trying to do? | ||
pmichaud | jnthn: so I think the answer is that instead of setting up an outer_ctx, we really want to be setting up an outer_lex | 08:50 | |
tadzik | jnthn: .perl, and I wonder if pir::getattribute is still desirable in nom | ||
jnthn | tadzik: .perl for...what? | ||
tadzik: Mu.perl? | |||
tadzik | yes | ||
jnthn | tadzik: There's an nqp::getattr | ||
tadzik | ok, thansk | 08:51 | |
jnthn | But beware of the natives | ||
daniel-s | [16:49:39] <pmichaud> I think for @($<name>) also works. <--- yes, it does | ||
jnthn | They get nqp::getattr_i and so forth | ||
jnthn suspects we'll end up putting back Attribute.get_value/Attribute.bind_value eventually | 08:52 | ||
tadzik | Method 'substr' not found for invocant of class 'String' -- that's the circularity issue, yep? | ||
jnthn | yup | ||
I guess obtaining Attribute objects is kinda annoying - you already have to go through the intropsection interface to do it. So guess it's not so bad to have those... | 08:53 | ||
pmichaud | jnthn: okay, so now that we know what's happening... I know of a (perhaps not too clean) way to fix it | 08:59 | |
09:00
dual left
|
|||
pmichaud | although it's a lot cleaner than what we have now. | 09:02 | |
jnthn | Look for a frame named interactive_ctx in lexpad_full and don't walk any further out? ;) | 09:03 | |
pmichaud | instead of creating a fake context and lexpad at the beginning of HLL::Compiler, we could just use the first context that gets returned from the interactive repl | ||
(and munge its lexpad on each repl iteration) | 09:04 | ||
jnthn | ah, maybe that'd work | ||
pmichaud | it's a little messy -- e.g., if there are any active closures | ||
we probably don't want to mess with the context's lexpad if it has any closures outstanding -- especially if we start doing slot lookups | 09:05 | ||
oh, even simpler. destroy the outer_ctx pointer on the fake context we create | |||
09:05
morphi joined
|
|||
pmichaud | that way it won't have an outer for us to chase. | 09:05 | |
I wonder if Parrot lets me do that. | 09:06 | ||
morphi | perl6: say 3; | 09:07 | |
pmichaud | looks like "no". | ||
p6eval | pugs, rakudo 72d158, niecza v7-19-g8dc8c8f: OUTPUT«3» | ||
jnthn | You can't set_outer_ctx to null? | 09:08 | |
oh | |||
pmichaud | what happens if I just do $context := pir::new__Ps('CallContext'), I wonder? | ||
jnthn | it'd be set_outer | ||
pmichaud | and set_outer/set_outer_ctx are defined on Sub, not on CallContext | 09:09 | |
jnthn | nqp: my $a = 42; sub foo() { say $a }; &foo.set_outer(pir::null__P()); foo() | ||
p6eval | nqp: OUTPUT«Assignment ("=") not supported in NQP, use ":=" instead at line 1, near " 42; sub f"current instr.: 'nqp;HLL;Grammar;panic' pc 23666 (src/stage2/gen/NQPHLL.pir:6380) (src/stage2/gen/NQPHLL.pm:328)» | ||
jnthn | nqp: my $a := 42; sub foo() { say $a }; &foo.set_outer(pir::null__P()); foo() | ||
p6eval | nqp: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 1current instr.: 'nqp;Regex;Cursor;FAILGOAL' pc 3851 (src/Regex/Cursor.pir:239)» | ||
jnthn | nqp: my $a := 42; sub foo() { say($a) }; &foo.set_outer(pir::null__P()); foo() | 09:10 | |
p6eval | nqp: OUTPUT«Symbol '&foo' not predeclared in <anonymous>current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (compilers/pct/src/PCT/HLLCompiler.pir:107)» | ||
pmichaud | I don't think it's &foo in nqp. | ||
jnthn | nqp: my $a := 42; sub foo() { say($a) }; foo.set_outer(pir::null__P()); foo() | ||
p6eval | nqp: OUTPUT«» | ||
pmichaud | I kind of like the new CallContext idea, fwiw. | ||
the only thing the fake context gets used for is its lexpad. | |||
(I think. :) | |||
Let me try that real quick and see what happens. | 09:11 | ||
jnthn | pmichaud: If we set_outer the thingy we use as the cumulative lexpad before it ever gets invoked, then none of the resulting contexts will have an outer. | ||
Hmm...maybe what you're thinking of works too BUT where will it get its lexpad from? | |||
pmichaud | right now the thingy is an INIT block :) | ||
09:11
Tedd1 left
|
|||
pmichaud | we give a fake lexpad same way we do now | 09:11 | |
(although that might be a PMC null error.) | |||
I think I like your idea better. | 09:12 | ||
I'll try it first. | |||
09:14
Chillance joined
|
|||
daniel-s | how do you append to a list | 09:14 | |
ie. turn <a b> into <a b c> | |||
tadzik | .push | 09:15 | |
daniel-s | nom: <a b>.push(<c>).say | 09:16 | |
p6eval | nom: OUTPUT«Method 'push' not found for invocant of class 'Parcel'current instr.: '_block1002' pc 96 ((file unknown):10472868) (/tmp/1kJW3Xu2NV:1)» | 09:17 | |
TiMBuS | lolnom | ||
daniel-s | nom: <a b>.push("c").say | ||
p6eval | nom: OUTPUT«Method 'push' not found for invocant of class 'Parcel'current instr.: '_block1002' pc 96 ((file unknown):11066788) (/tmp/8Ei4VJIGEd:1)» | ||
daniel-s | perl6: <a b>.push("c").say | ||
jnthn | A Parcel is immutable | ||
p6eval | rakudo 72d158: OUTPUT«abc» | ||
..pugs: OUTPUT«*** Can't modify constant item: VUndef at /tmp/HETyJ_hTAB line 1, column 1 - line 2, column 1» | |||
..niecza v7-19-g8dc8c8f: OUTPUT«Unhandled exception: Unable to resolve method push in class Parcel at /tmp/lxxHjyNOed line 1 (MAIN mainline @ 1)  at /home/p6eval/niecza/lib/CORE.setting line 1891 (CORE C887_ANON @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 1892 (CORE module-CO… | |||
daniel-s | perl6: say <a b>.push("c") | ||
p6eval | pugs: OUTPUT«*** Can't modify constant item: VUndef at /tmp/5CLwwpAFoA line 1, column 5 - line 2, column 1» | ||
..rakudo 72d158: OUTPUT«abc» | |||
..niecza v7-19-g8dc8c8f: OUTPUT«Unhandled exception: Unable to resolve method push in class Parcel at /tmp/QLs79ktZQ_ line 1 (MAIN mainline @ 1)  at /home/p6eval/niecza/lib/CORE.setting line 1891 (CORE C887_ANON @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 1892 (CORE module-CO… | |||
jnthn | perl6: say (<a b>, 'c').perl # create a new Parcel | ||
daniel-s | works in rakudo | ||
p6eval | pugs: OUTPUT«("a", "b", "c")» | 09:18 | |
..rakudo 72d158, niecza v7-19-g8dc8c8f: OUTPUT«(("a", "b"), "c")» | |||
jnthn | nom: say (<a b>, 'c').perl # create a new Parcel | ||
p6eval | nom: OUTPUT«(("a", "b"), "c")» | ||
jnthn | Or use an array | ||
TiMBuS | nom: <a b>.list.push('c').cay | ||
p6eval | nom: OUTPUT«Method 'cay' not found for invocant of class 'Array'current instr.: '_block1002' pc 120 ((file unknown):144) (/tmp/Amz780A4ou:1)» | ||
TiMBuS | .. say | ||
jnthn | daniel-s: I wonder if it coerces it to something else first then pushes. | ||
$parcel.push feels odd to me though | 09:19 | ||
pmichaud | $parcel.push should fail. | ||
daniel-s | is the <a b>.push("c") way of doing it wrong? or just not implemented in all the implementations | ||
09:19
morphi left
|
|||
pmichaud | nom: <a b>.push('c').say | 09:19 | |
p6eval | nom: OUTPUT«Method 'push' not found for invocant of class 'Parcel'current instr.: '_block1002' pc 96 ((file unknown):38628772) (/tmp/XhqrpJmTyD:1)» | ||
pmichaud | nom: <a b>.list.push('c').say | ||
p6eval | nom: OUTPUT«» | ||
TiMBuS | well thats not right is it | 09:20 | |
pmichaud | List.push isn't returning self. | ||
(which is a bug, deserving a spectest.) | |||
tadzik | nom: class A { has $.a }; my $a = A.new(a => 7); nqp::getattr($a, A, '$!a') | 09:21 | |
p6eval | nom: OUTPUT«Can not get non-existant attribute '$!a' on class 'A'current instr.: '_block1002' pc 104 ((file unknown):46109011) (/tmp/y5Gje_Jxlf:1)» | ||
tadzik | hrm | ||
jnthn | tadzik: Correct | ||
tadzik | why so? | ||
jnthn | tadzik: You need to explicitly decontainerize if you're going to use getattr | ||
tadzik | oh | ||
jnthn | (the $a, that is) | ||
pmichaud | nom: class A { has $.a }; my $a := A.new(a => 7); nqp::getattr($a, A, '$!a') | 09:22 | |
tadzik | nom: class A { has $.a }; my $a = A.new(a => 7); nqp::getattr(pir::perl6_decontainerize__PP($a), A, '$!a') | ||
p6eval | nom: ( no output ) | ||
pmichaud | nom: class A { has $.a }; my $a := A.new(a => 7); nqp::getattr($a, A, '$!a').say | ||
p6eval | nom: OUTPUT«7» | ||
tadzik | nom: class A { has $.a }; my $a = A.new(a => 7); nqp::getattr(pir::perl6_decontainerize__PP($a), A, '$!a').say | ||
p6eval | nom: OUTPUT«7» | ||
tadzik | :) | ||
jnthn | or bind like pmichaud++ showed | ||
If you have the opportunity | |||
But I guess you often don't | |||
pmichaud | it's the assignment that tends to containerize. if you avoid the assignment it's often not an issue :) | 09:23 | |
tadzik | I need to do it with 'self' :) | ||
pmichaud | nom: class A { has $.a }; nqp::getattr(A.new(a => 7), A, '$!a').say | ||
p6eval | nom: OUTPUT«7» | ||
jnthn | tadzik: self may be containerized | 09:24 | |
tadzik | and may not? | ||
pmichaud | I think self tends to be decontainerized -- at least it has been in all of my uses. | ||
jnthn | ah | ||
pmichaud | if you want the container I think you have to do method foo(\$self:) | 09:25 | |
jnthn | tadzik: yeah but it's never a problem to call perl6_decontainerize on a container | ||
er, on a non-container | |||
it's just a noop then | |||
tadzik | gist.github.com/1071441 -- Segmentation fun | 09:27 | |
same effect without the decont. Any obvious mistakes I'm missing? | |||
jnthn | tadzik: Not taking care of native types | 09:28 | |
tadzik: I suspect we should implement Attribute.get_value though and handle that in there | 09:29 | ||
tadzik | oh, that one is native | ||
jnthn | oh | ||
you have no natively typed attrs there though | 09:30 | ||
pmichaud | nqp::chars is a native int | ||
can't pass that to substr | |||
jnthn | oh | 09:31 | |
pmichaud | either use nqp::substr (and box the result), or box the result of nqp::chars, or use $_.name.chars | ||
jnthn | or just use 2 arg substr? :) | ||
pmichaud | or omit the parameter entirely, since substr($_.name, 2) will g..... right | ||
jnthn | tadzik: This won't work on inherited attributes though. | 09:32 | |
$type | |||
oh wait | |||
$type is the name?! | |||
You need a type object there | |||
The type object of the class the attribute belongs to | |||
pmichaud | self.WHAT | ||
but yes, only works for first-level class. | |||
jnthn | Right, but that's still going to be wrong for inherited. | ||
pmichaud | correct. | ||
daniel-s | nom: my %a; %a<a>.push("b").say | 09:33 | |
p6eval | nom: OUTPUT«Method 'push' not found for invocant of class 'Any'current instr.: '_block1002' pc 99 ((file unknown):48479263) (/tmp/xVqNMmDbph:1)» | ||
pmichaud | we don't have autoviv arrays yet. | ||
(in nom) | |||
jnthn | tadzik: Safest way is to loop over .^mro and call .^attributes(:local) on each of them | ||
tadzik | mhm | ||
daniel-s | nom: my %a; say %a<a> | ||
p6eval | nom: OUTPUT«Any()» | ||
daniel-s | nom: my %a; say %a<a>, "b" | ||
p6eval | nom: OUTPUT«Any()b» | ||
daniel-s | :( | 09:34 | |
nom: my %a; [say %a<a>], "b" | |||
tadzik | btw: gist.github.com/1071450 cheaty .WHY, but I couldn't resist :) | ||
p6eval | nom: OUTPUT«Any()» | ||
09:34
ab5tract joined
|
|||
daniel-s | nom: my %a; [say %a<a>].push("b") | 09:34 | |
p6eval | nom: OUTPUT«Any()» | ||
daniel-s | nom: my %a; [%a<a>].push("b") | ||
p6eval | nom: ( no output ) | ||
jnthn | tadzik: big cheat :P | ||
tadzik | still smaller than before ;) | ||
daniel-s | rakudo: my %a; [%a<a>].push("b") | ||
p6eval | rakudo 72d158: ( no output ) | ||
jnthn | tadzik: I suspect .WHY may be macro-y | 09:35 | |
tadzik | no no no no | ||
jnthn | Like .WHAT and so forth | ||
tadzik | oh, this way | ||
I thought I'll have to wait for macros ;) | 09:36 | ||
jnthn | tadzik: Well, question is where the doc lives | ||
No no :) | |||
tadzik | jnthn: I guess the Pod will be an attibute of the Method object | ||
jnthn | tadzik: Well, but you can document a bunch of things? | ||
Subs...methods...classes...attributes? | |||
tadzik | yes | ||
signatures too, I think | 09:37 | ||
jnthn | Parameters at lesat. | ||
tadzik | yep | ||
jnthn | We'll have a little fun here I suspect | 09:38 | |
Parameter.WHY # probably the doc for the Parameter class | |||
$param.WHY # probably the doc for a parameter itself | |||
tadzik | so just method WHY(:U:) and :D:, or however you write that :) | 09:39 | |
jnthn | Yeah | ||
I guess the :U wants to go and delegate to the meta-object | |||
.^POD or some such | |||
pmichaud | lololol | 09:40 | |
jnthn: this blank context stuff is really.... funny | |||
jnthn | lol? :) | ||
pmichaud | if I set_outer to null, I can no longer see or set any outer lexicals. | ||
09:41
jedai left
|
|||
jnthn | What are you setting it on? | 09:41 | |
pmichaud | so, I can put the context into a lexical within the sub itself... and that lexical gets clobbered as soon as I overwrite the hash :-) | ||
(I've got it worked out... it's just funny how the values slip away) | |||
jnthn | lol | ||
:) | |||
09:43
jedai joined
|
|||
pmichaud | gist.github.com/1071472 # first attempt, failed (guess why!) | 09:46 | |
gist.github.com/1071474 # second attempt, failed (guess why!) | |||
09:47
JodaZ left
09:48
JodaZ joined
|
|||
jnthn | first one because you killed the outer before calling it :P | 09:48 | |
pmichaud | ding! | ||
jnthn | ok, the second one is less obvious :) | 09:49 | |
pmichaud | hint: blank_context() returns PMCNULL in the second one. | ||
jnthn | oh! you threw away its own lexicals! | 09:50 | |
pmichaud | ding! | ||
jnthn | lol :) | 09:51 | |
The sub! It eats itself! | |||
moritz | it accidentally itself. | 09:54 | |
dalek | ast: ac4734b | moritz++ | S03-smartmatch/any-type.t: fudge any-type.t for rakudo |
09:55 | |
jnthn | It's whole self. | ||
jnthn wonders if we'll win any tests back that just incidentally used junctions | 09:56 | ||
*its | |||
moritz | we do | ||
jnthn | \o/ | ||
moritz | roll.t says my current run of update_passin_test_thingy.pl | ||
09:57
wamba left
|
|||
jnthn | moritz: There's on todo'd test in I think S03-junctions/boolean-context.t that was todo'd for Rakudo master. The clean implementation of auto-threading failed it too. I'm wondering if the test is dubious. | 09:57 | |
09:57
dayangkun joined
|
|||
dalek | kudo/nom: aaffbef | moritz++ | t/spectest.data: two more passing test files |
09:57 | |
moritz | nom: say so(3) | 09:58 | |
p6eval | nom: OUTPUT«Bool::True» | ||
moritz | nom: say so(True & False) | ||
p6eval | nom: OUTPUT«Bool::False» | ||
moritz | nom: say so(True & False) == False | ||
p6eval | nom: OUTPUT«Bool::False» | ||
pmichaud | nom: say (so True & False) == False | 09:59 | |
p6eval | nom: OUTPUT«Bool::True» | ||
moritz | nom: say False == False | ||
p6eval | nom: OUTPUT«Bool::True» | ||
pmichaud | so(True & False) should be a parse error. | ||
std: say so(True & False); | |||
p6eval | std 37a0cdd: OUTPUT«ok 00:01 120m» | ||
pmichaud | or, maybe not. | ||
I would think so would be &so | |||
sorry | |||
I would think so(...) would be &so | |||
jnthn | me too | 10:00 | |
pmichaud | pmichaud@kiwi:~/nom$ ./perl6 | ||
> say 1 | |||
1 | |||
> say 1 | |||
1 | |||
\o/ | |||
now to clean up the debugging and other junk I threw in :) | |||
moritz | std seems to imply that 'so' should be available both as prefix and listop | ||
anyway, the test failure seems to be related to so vs so(), not autothreading | 10:03 | ||
pmichaud | double-check the definition of so in the setting. | 10:04 | |
I might've defined it as Mu | |||
10:04
wamba joined
|
|||
moritz | and that's correct | 10:05 | |
pmichaud | okay :) | ||
jnthn | pmichaud: yay! | ||
pmichaud++ # working out the repl issue | |||
pmichaud | I can only find the one instance of <so> in std.pm6 | ||
moritz | it's just not available as a sub | 10:06 | |
std: not() | |||
p6eval | std 37a0cdd: OUTPUT«ok 00:01 118m» | ||
moritz | std: rand() | ||
p6eval | std 37a0cdd: OUTPUT«===SORRY!===Unsupported use of rand(); in Perl 6 please use rand at /tmp/EMLTRMYuUq line 1:------> rand⏏()Parse failedFAILED 00:01 117m» | ||
jnthn | moritz: # S32-list/pick.t # needs junctions | ||
moritz | std: time() | ||
p6eval | std 37a0cdd: OUTPUT«===SORRY!===Undeclared routine: 'time' used at line 1Check failedFAILED 00:01 118m» | ||
moritz | std: time | ||
p6eval | std 37a0cdd: OUTPUT«ok 00:01 118m» | ||
jnthn | moritz: Wonder if that one nearly passes now :) | ||
pmichaud | jnthn: it might. I was within a few tests when I blocked on autothreading, I think. | 10:07 | |
token prefix:abs | 10:08 | ||
{ <sym> » <?before \s*> <O(|%named_unary)> } | |||
moritz | $ ./perl6 t/spec/S32-list/pick.t | ||
Could not find sub !YOU_ARE_HERE | |||
pmichaud | moritz: comment out the enum at the bottom | ||
(or skip it or whatever) | |||
...what does the <?before \s*> do, I wonder? | |||
moritz | optimize to <?> I hope | 10:09 | |
pmichaud | lol | ||
jnthn | moritz: what?! | ||
dalek | ast: 4573a92 | moritz++ | S32-list/pick.t: fudge pick.t for rakudo |
||
moritz | jnthn: \s* always matches | ||
pmichaud | that's from std.pm6, btw. | ||
jnthn | moritz: No, I meant !YOU_ARE_HERE error | ||
moritz | there are always at least zero whitespaces | ||
jnthn: related to the old enum action methods, I think | 10:10 | ||
pmichaud | !YOU_ARE_HERE error == enum declaration | ||
jnthn | moritz: oh! | ||
OK | |||
pmichaud | .oO( make test.... git commit.... git push... bump NQP_REVISION .... make spectest... git commit.... git push) |
||
dalek | kudo/nom: c514e45 | moritz++ | t/spectest.data: we pass a fudge pick.t |
10:11 | |
daniel-s | rakudo: my %a; say "there is no %a<b>" if %a<b> ~~ "Any()"; | ||
p6eval | rakudo 72d158: OUTPUT«there is no Any()» | ||
daniel-s | rakudo: my %a; say 'there is no %a<b>' if %a<b> ~~ "Any()"; | ||
p6eval | rakudo 72d158: OUTPUT«there is no %a<b>» | ||
pmichaud | moritz: don't forgit to commit/push the modified tests :) | 10:12 | |
daniel-s | is if %a<b> ~~ "Any()"; the best way to check if an element in a hash exists? | ||
moritz | 12:09 <+dalek> roast: fudge pick.t for rakudo | ||
dalek | p: 1f28be4 | pmichaud++ | src/HLL/Compiler.pm: Fix handling of interactive_ctx so that it doesn't mistakenly grab |
||
pmichaud | daniel-s: if %a.exists('b') | ||
jnthn | dalek: no :) | ||
er, daniel-s :) | |||
what pmichaud said | |||
moritz | daniel-s: you never want to ~~ 'Any()' really | 10:13 | |
daniel-s: rather ~~ Any | |||
rakudo: say Any | |||
p6eval | rakudo 72d158: OUTPUT«Any()» | ||
huf | that test wouldnt fail much in ordinary code, no? | ||
moritz | when you see Any() somewhere in the output, it just means that you see a type object | ||
huf: note that by current spec, type objects stringify to '' by default | 10:14 | ||
pmichaud | testing for "Any()" would also find hash entries that consist of the string "Any()" :-) | ||
huf | moritz: i mean checking if something is Any | ||
moritz | so that test only "works" sometimes with an outdate spec | ||
huf | moritz: not the "Any()" thing | ||
moritz | huf: depends on what you store in your hash | ||
huf | is undef Any? | ||
pmichaud | there is no more "undef" :-) | 10:15 | |
huf | ah, of course | ||
pmichaud | there are a number of undefined type objects | ||
moritz | there are many undefs, and Any is one of them :-) | ||
nom: class A { has $.bt = BackTrace.new }; say A.bt.concise; | 10:16 | ||
p6eval | nom: OUTPUT«Cannot access attributes in a type objectcurrent instr.: '_block6785' pc 375738 (src/gen/CORE.setting.pir:101584) (src/gen/CORE.setting:642)» | ||
moritz | nom: class A { has $.bt = BackTrace.new }; say A.net.bt.concise; | ||
p6eval | nom: OUTPUT«Method 'net' not found for invocant of class 'A'current instr.: '_block1002' pc 95 ((file unknown):144) (/tmp/9fJGJ0pVXi:1)» | ||
moritz | nom: class A { has $.bt = BackTrace.new }; say A.new.bt.concise; | ||
p6eval | nom: OUTPUT« in method <anon> at /tmp/jz8HW3nEiu:1 in method BUILDALL at src/gen/CORE.setting:276 in method bless at src/gen/CORE.setting:266 in method new at src/gen/CORE.setting:251» | ||
jnthn | :) | 10:17 | |
moritz | I guess it's more robust if new() sets the backtrace | ||
then we are not dependent on the number of internal method calls | |||
dalek | kudo/nom: 3803bd5 | pmichaud++ | tools/build/NQP_REVISION: Bump NQP_REVISION so we get the interactive context fix and our |
10:20 | |
pmichaud | \o/ | ||
finding that bug was more fun than it should've been. | |||
10:21
drbean joined
|
|||
pmichaud | well, I'll get some sleep now, at least a short bit before I have to get the kids up | 10:21 | |
bbl | |||
jnthn | pmichaud++ | ||
moritz | sleep well pmichaud++ | 10:22 | |
jnthn | sleep well, even if breifly | ||
10:22
drbean left
10:29
daniel-s is now known as daniel-ss,
Jackneill joined,
Jackneill left,
Jackneill joined,
daniel-ss is now known as daniel-s
10:30
mj41 joined
10:32
daniel-s is now known as daniel-ss
10:33
daniel-ss is now known as daniel-s
10:36
dayangkun left
10:46
daxim joined
10:48
im2ee_ is now known as im2ee
10:52
mj41 left
11:00
awoodland joined
11:04
Transbot joined
|
|||
daniel-s | moritz: you're German, correct? | 11:04 | |
11:05
whiteknight joined
11:07
Transbot left
|
|||
moritz | daniel-s: correct | 11:13 | |
11:13
mj41 joined
11:14
Transbot joined
|
|||
daniel-s | !transde hello moritz, how are you today? | 11:14 | |
Transbot | hallo moritz, wie geht es Ihnen heute? | ||
daniel-s | !transen bist du gut? | 11:15 | |
Transbot | are you well? | ||
moritz | !transen danke, ich kann mich nicht beklagen | ||
Transbot | thank you, I can not complain | ||
jnthn | !transen Ich will ein Bier mit Currywurst! | 11:16 | |
Transbot | I want a beer with sausage! | ||
jnthn | The curry! It lost the curry! | ||
moritz | it doesn't do the curyying very well, it seems :-) | ||
!transen Weißwurst | |||
Transbot | White sausage | ||
jnthn | I assume not. | ||
moritz | !transen Bratwurst | ||
Transbot | Bratwurst | ||
daniel-s | lol | ||
moritz | daniel-s: does it use the Google Translate API? | 11:17 | |
daniel-s | yea | ||
which apparently they're going to get rid of in a few months | |||
jnthn | !transen blutwurst | ||
Transbot | pudding | ||
daniel-s | it does subscriptions too | ||
jnthn | hm :) | ||
daniel-s | so if you use !pmde username | ||
it will PM you everything username says in german | 11:18 | ||
and !pmen for german to english | |||
moritz | cool | ||
daniel-s++ | |||
jnthn | Neat bot :) | ||
daniel-s++ | |||
daniel-s | that's mostly what I did it for, because I was on a channel with alot of german people | ||
jnthn | .oO( seems all the German words I know relate to food :) ) |
11:19 | |
11:23
Transbot left
11:24
mj41 left
11:38
mj41 joined
|
|||
tadzik | std: my $=HRR | 11:40 | |
p6eval | std 37a0cdd: OUTPUT«ok 00:01 119m» | ||
tadzik | hmm | ||
11:42
satyavvd left
11:43
mj41 left
|
|||
tadzik | what is the role of <?before> in token twigil:sym<:> { <sym> <?before \w> } ? | 11:43 | |
jnthn | Avoiding some parse issue | 11:44 | |
Maybe with the : param sep | |||
tadzik | std doesn't have that | ||
11:44
MayDaniel joined
|
|||
tadzik | ok, I'll check '=' both with and without :) | 11:45 | |
jnthn | STD does have proto token twigil is endsym<begid> {*} | ||
I dunno exactly what that does but suspect it may be related. | |||
tadzik | but I still feel dizzy about having a twigil '=' for documentation variables, where $=POD is the only one in the whole spec | 11:46 | |
jnthn | ah, yes token begid { <?before \w> } | ||
tadzik: Yeah, that does feel odd | |||
tadzik: I still wonder if $?POD wouldn't make sense. | |||
tadzik | well, maybe we could stick the whole .WHY tree for classes in $=WHY or something, it'd make it easier to search for them | 11:47 | |
jnthn | Search for them? | 11:48 | |
tadzik | or would it? $=FooBar::WHY looks like a typo :) | ||
flussence | .oO( being able to walk that tree would be nice... ) |
||
jnthn had figured we'd attach the POD to the correct declarand at parse time or so | |||
tadzik | jnthn: say you want to get a documentation for Benchmark.pm6, it's a module, and exports 4 subs | ||
jnthn: yes, but you don't neceserilly know the names | |||
it's just a wild guess, or I'm just desperately trying to figure out a use of $= | 11:49 | ||
TimToady | thing is, $? is lexically scoped, and $= is only file scoped | 11:55 | |
and the = is to remind you of the pod = | 11:56 | ||
jnthn | TimToady: If it's installed in UNIT, is there much of a difference? | ||
TimToady | it's more of a brane issue than a computer issue | ||
jnthn | *nod* | ||
I've nothing against the twigil for POD, I just agree with tadzik a bit that it feels odd we only have one variable | 11:57 | ||
Also, if it's the array of all POD blocks I don't know why it's $=POD and not @=POD | |||
Then for @=POD -> $block { } would dtrt | |||
TimToady | think of $=POD as a placeholder | ||
but S26 kinda ran with it, I guess | 11:58 | ||
shower | 11:59 | ||
or look at it this way, lots of things that are documented to have $=POD on the front could have that factored away if they're named lookups | 12:02 | ||
really & | |||
tadzik | jnthn: S26 says nothing about whether $=POD should be an array or something else | ||
that's merely my interpretation | 12:03 | ||
12:04
JimmyZ joined
|
|||
[Coke] | daniel-s: what are you using for the backend translations? google? | 12:06 | |
12:06
drbean joined
|
|||
jnthn | tadzik: ah, k | 12:06 | |
12:07
MayDaniel left
|
|||
[Coke] | (I wired up a bot on an ascii-only chat server, and was sad to find out that google translat API is getting turned off this year.) | 12:07 | |
12:07
Jackneill left
|
|||
JimmyZ | good evening, #perl6 | 12:15 | |
12:16
alim left
12:17
Instil left,
alim joined
12:18
wamba left
12:24
[Coke] left
12:26
[Coke] joined
|
|||
daniel-s | [Coke]: yea, google translate | 12:26 | |
I don't know of anything else | 12:27 | ||
If you find out though, let me know | |||
12:27
agentzh left
|
|||
[Coke] | eh. I'd been using babelfish before that, but google is much better. | 12:30 | |
12:34
smash joined
|
|||
smash | hello everyone | 12:35 | |
tadzik | hello smash | ||
jnthn | hi smash | ||
moritz | niecza: say [*] 1..6 | 12:41 | |
p6eval | niecza v7-19-g8dc8c8f: OUTPUT«720» | ||
moritz | niecza: say [*] 1.."6" | ||
p6eval | niecza v7-19-g8dc8c8f: OUTPUT«0» | ||
moritz | perl6: say [*] 1.."6" | 12:42 | |
p6eval | pugs, rakudo 72d158: OUTPUT«720» | ||
..niecza v7-19-g8dc8c8f: OUTPUT«0» | |||
[Coke] | nom: "smash".comb.say | 12:45 | |
p6eval | nom: OUTPUT«Method 'comb' not found for invocant of class 'Str'current instr.: '_block1002' pc 75 ((file unknown):36162976) (/tmp/0rK26HkWS2:1)» | ||
[Coke] | nom: <s m a s h>.comb.say | 12:46 | |
p6eval | nom: OUTPUT«Method 'comb' not found for invocant of class 'Parcel'current instr.: '_block1002' pc 106 ((file unknown):79) (/tmp/l9Y5zOSAah:1)» | ||
[Coke] | ah well. | ||
moritz | comb (with arguments) needs regexes | ||
that's why we don't have it yet | |||
[Coke] | sadface! | 12:47 | |
12:52
[Coke] left
12:54
[Coke] joined
12:56
bluescreen10 joined
12:57
perlhack joined
|
|||
perlhack | :-) | 12:58 | |
12:58
xhacktly joined
13:03
daemon joined
|
|||
daniel-s | [Coke]: so I can just fall back to babelfish when the google API goes away? | 13:05 | |
is it just like the google one | |||
or similar anyway? | |||
[Coke] | ISTR I had to screen scrape it. :( | 13:08 | |
moritz -> afk | |||
dalek | kudo/nom: 203aea2 | moritz++ | src/core/Str.pm: add argumentless Str.comb to make [Coke]++ happy |
||
[Coke] | happyface! | 13:09 | |
13:09
perlhack left
13:14
im2ee left,
im2ee joined
13:22
xhacktly left
13:28
drbean left
13:31
im2ee left
13:32
im2ee joined
13:37
whiteknight left
13:43
masak joined
|
|||
masak | <sorear> Why is "0" false? | 13:43 | |
colomon | tradition! | 13:44 | |
masak | because it makes a lot of sense to write 'if not $beers_left' or 'if not @buildings'. | ||
the lack of punning of 0 to false is the only direct drawback I've found so far with Lua. | 13:53 | ||
sorear: oh! or did you mean "0" the string? | |||
you probably did. | |||
jnthn read it as "0" the string | |||
But the arguments kinda still hold. | 13:54 | ||
It's useful. | |||
masak | I'm less eager to defent that punning now that we have types. | ||
I can't think of a use case right now. | |||
perhaps reading from STDIN or something. | |||
jnthn | Having types doesn't change the fact that data you read in from the outside world comes in as strings. | ||
Well, or just anywhere :) | |||
masak | sure, but having ?"0" be False feels like a fairly feeble way to compensate for that, to be honest. | 13:56 | |
I dunno, it feels like a tiny solution to a much bigger general issue. | |||
why isn't ?"0.0" false, for example? | |||
13:56
MayDaniel joined
|
|||
masak | what about ?"0e1" ? | 13:56 | |
what makes "0" so special? | 13:57 | ||
14:01
REPLeffect left
|
|||
masak | perl6: say ?"0.0"; say ?"0e1" | 14:03 | |
p6eval | pugs: OUTPUT«11» | ||
..rakudo 72d158, niecza v7-19-g8dc8c8f: OUTPUT«Bool::TrueBool::True» | |||
masak | so yes, why *is* "0" false? | 14:04 | |
flussence | so "while($int--)" works, presumably - that wouldn't work for floats in any language. | 14:05 | |
(also people might be using the magic string++/-- things...) | 14:07 | ||
masak | flussence: note that we're not talking about Int and 0, but about Str and "0". | 14:10 | |
flussence | rakudo: my $i = '00g'; say $i while ($i--); | ||
p6eval | rakudo 72d158: OUTPUT«00f00e00d00c00b00a» | ||
flussence | hm. | ||
JimmyZ | ?"0".Int | 14:11 | |
perl6: say ?"0.0".Int | 14:12 | ||
p6eval | pugs: OUTPUT«*** No such method in class Str: "&Int" at /tmp/qXls9lLbJf line 1, column 5 - line 2, column 1» | ||
..rakudo 72d158, niecza v7-19-g8dc8c8f: OUTPUT«Bool::False» | |||
JimmyZ | well, it's false | ||
flussence | rakudo: say (?"0.0").Int | ||
p6eval | rakudo 72d158: OUTPUT«1» | ||
JimmyZ | perl6: say ?"0e1".Int | 14:13 | |
p6eval | pugs: OUTPUT«*** No such method in class Str: "&Int" at /tmp/YwqQE_dBP_ line 1, column 5 - line 2, column 1» | ||
..rakudo 72d158, niecza v7-19-g8dc8c8f: OUTPUT«Bool::False» | |||
JimmyZ | false again :) | ||
it's a mess? | |||
masak | at least it's not terribly consistent. | 14:14 | |
flussence | well it's useful to have a string representation of 0 mean false, but it's not worth typecasting every non-empty string to a Num just to see whether to return false... | 14:15 | |
and besides, I question the sanity of anyone using scientific notation for bools :) | 14:16 | ||
JimmyZ | perl6: say ?"1e1".Int | ||
p6eval | rakudo 72d158, niecza v7-19-g8dc8c8f: OUTPUT«Bool::True» | ||
..pugs: OUTPUT«*** No such method in class Str: "&Int" at /tmp/Z7sBCr8cfk line 1, column 5 - line 2, column 1» | |||
JimmyZ | perl6: say ?"0sfsdfsdf23".Int | ||
p6eval | niecza v7-19-g8dc8c8f: OUTPUT«Unhandled exception: System.FormatException: Unknown char: s at System.Double.Parse (System.String s, NumberStyles style, IFormatProvider provider) [0x00000] in <filename unknown>:0  at System.Double.Parse (System.String s, IFormatProvider provider) [0x… | 14:17 | |
..rakudo 72d158: OUTPUT«Bool::False» | |||
..pugs: OUTPUT«*** No such method in class Str: "&Int" at /tmp/Bw30yfc6i0 line 1, column 5 - line 2, column 1» | |||
masak | flussence: there are several string representations for the magnitude zero. why does one of them get special treatment when boolified? | ||
14:17
leprevost joined
14:22
explorer__ joined
14:24
jferrero left
|
|||
flussence | I don't have a better answer than "everyone else does it" :) | 14:26 | |
[Coke] | for the devil's advocate: what string values do you propose evaluate to true/false? | 14:28 | |
I would say "" is false. Anything that doesn't numify to a false value is true. Everything else is probably up for debate. | |||
14:29
ab5tract left
|
|||
[Coke] | if this were ColdFusion or tcl, we could have "false" and "no" be False. ;) | 14:29 | |
14:29
tokuhir__ joined
|
|||
flussence | basically it's consistent with what other languages do when boolifying strings, and we've already got .chars/.Int if you prefer a different definition of true/false | 14:29 | |
(mind you, I've only checked in perl5/php...) | 14:30 | ||
oh, python just *has* to be different... | |||
[Coke] | bah. I want a "make spectest" target that actual records everything. | 14:31 | |
*actually | |||
flussence | `make rakudo_test_run.tar.gz`? | 14:33 | |
(that should get a TAP::Archive file, is that good enough?) | |||
daniel-s | [Coke]: I might try tomorrow at creating a library to scrape from the google translate website | 14:34 | |
if it's straightforward html that comes back from a http post or get, it might be doable | |||
but that would especially suck because no doubt, google would keep changing it | 14:35 | ||
[Coke] | flussence: going with shell wonkery for now. | ||
14:37
daniel-s left
14:42
wtw left
|
|||
[Coke] | I wish to learn Chinese. | 14:42 | |
Any pointers? | |||
aside from trading with perlhack? ;) | |||
14:42
jack-ji joined
|
|||
masak | [Coke]: congratulations! a good investment, and much fun ahead. | 14:46 | |
[Coke]: what can I say? get a good textbook. preferably with audio material. I have suggestions if you want them. | 14:47 | ||
[Coke]: make sure you practice at least an hour or two a day. | |||
:) | |||
[Coke] knows that mandarin is sort-of-kind-of on the curriculum in his kid's district, I wonder if there are any local resources. | 14:48 | ||
[Coke] suspects it's not worth running spectest_full at the moment. | 14:49 | ||
;(on nom) | |||
flussence | it's already up to a quarter of what master passes! | ||
14:50
fhelmberger left
14:56
im2ee left
14:57
im2ee joined
14:58
Tedd1 joined
|
|||
pmichaud | good morning, #perl6 | 15:03 | |
15:05
_jaldhar left
|
|||
jnthn | o/, pmichaud | 15:06 | |
masak | good morning, pmichaud | ||
15:12
alim left
|
|||
JimmyZ | good morning, pmichaud | 15:13 | |
15:14
daniel-s joined
15:17
daniel-s left
15:19
spq1 joined
15:21
colomon left
15:24
thou joined
15:26
alester left,
donri joined
15:27
colomon joined,
leprevost left
15:37
alester joined
15:40
alester left
15:42
daxim left,
im2ee left
15:50
masak left
15:52
Jackneill joined
|
|||
JimmyZ | nom run ./perl6 -e "" is into interactive mode, is it a bug? | 16:14 | |
16:15
awoodland left
|
|||
jnthn | JimmyZ: Sounds like. | 16:18 | |
JimmyZ | jnthn: I think so, master isn't interactive mode | 16:19 | |
jnthn | It's feasibly a regression when translating various bits of HLL::Compiler from PIR to NQP. | 16:23 | |
16:24
dakkar joined
16:25
[Coke] left
16:26
[Coke] joined
|
|||
dalek | ast: 1df028a | jonathan++ | S12-class/basic.t: Re-fudge S12-class/basic.t for nom (we win 2, lose one, but it's due to an eval bug rather than a bug in what it's testing, it seems). |
16:33 | |
ast: 5031753 | jonathan++ | S12-class/instantiate.t: Update a test to match latest spec (though we can't actually run it in Rakudo yet - no regexes.) |
16:37 | ||
JimmyZ | jnthn: does $.a also declares $!a ? | 16:43 | |
16:43
dakkar left
|
|||
jnthn | JimmyZ: yes | 16:43 | |
dalek | kudo/nom: 25767e9 | jonathan++ | src/Perl6/ (2 files): Factor out package redeclaration logic so we'll be able to re-use it for all the various type-y declarators, and make it a bit smarter, e.g. so tadzik++ can declare a Block in Pod. |
16:44 | |
kudo/nom: f5c0a44 | jonathan++ | src/core/Mu.pm: First cut of clone, though probably not quite deep enough yet for many objects. |
|||
kudo/nom: bb5852a | jonathan++ | src/Perl6/SymbolTable.pm: Fix redeclaration detection for nested classes. |
|||
kudo/nom: 73518c8 | jonathan++ | t/spectest.data: Run S12-class/basic.t. |
|||
kudo/nom: 9420d14 | jonathan++ | NOMMAP.markdown: Update nommap. |
|||
JimmyZ | jnthn: I didn't find where spec said, I just find spec says $brain also declares $!brain | ||
16:45
aindilis joined
|
|||
jnthn | JimmyZ: I think it says it declares an attribute and an accessor method. | 16:46 | |
dalek | kudo/nom: bf66171 | jonathan++ | src/core/Mu.pm: Make sure $obj.Mu::new() style delegation works. |
16:47 | |
kudo/nom: ca81dd4 | jonathan++ | t/spectest.data: We now pass S12-construction/new.t - or as much as master does, anyway. |
|||
16:49
MayDaniel left
16:50
jack-ji left
|
|||
JimmyZ | jnthn: I din't find where spec says $.a also declares $!a :( . I just find this one S12:649 | 16:50 | |
16:52
nothingmuch joined
|
|||
jnthn | JimmyZ: Hmm, it could be clearer on that, I agree. | 16:53 | |
16:53
MayDaniel joined
16:55
JimmyZ left,
Holy_Cow joined,
Holy_Cow left
|
|||
[Coke] | jnthn: how many test now? huh? Huh? HUH? | 16:56 | |
*tests | |||
tadzik | jnthn++ # thanks! :) | 16:58 | |
will try that in a sec | 16:59 | ||
jnthn | [Coke]: I think we're well over 5K, but some way to go to 6K :) | 17:01 | |
Though at current rate "some way" may easily mean a day or two :) | |||
[Coke] | once regexes land, how long do you think until nom->master ? | 17:03 | |
17:03
birdwindupbird left
17:04
cdarroch joined,
cdarroch left,
cdarroch joined
|
|||
[Coke] | that's a bad question. let me check the NOMMAP. | 17:04 | |
jnthn | :) | ||
[Coke]: Yeah, it's hard to say. Don't know how much other stuff stuff will be done between now and regexes landing. | 17:05 | ||
[Coke]: Once they do I think it'll be time to focus on the module ecosystem though. | |||
[Coke]: And get a feel for what needs taking care of to have a bunch of modules run again. | |||
17:06
am0c joined
|
|||
jnthn | afk for a while, going to visit masak++ :) | 17:06 | |
thou | perl6: sub doit(Str $text is rw) { $text ~= '!'; say $text; }; my $foo = 'foo'; doit(~$foo); say $foo; | ||
p6eval | pugs: OUTPUT«*** Can't modify constant item: VStr "foo" at /tmp/MZkoWiyLSx line 1, column 29-41» | ||
..niecza v7-19-g8dc8c8f: OUTPUT«Unhandled exception: Binding Str $text is rw in MAIN doit, cannot bind read-only value to is rw parameter at /tmp/1NV0wKPb_o line 0 (MAIN doit @ 0)  at /tmp/1NV0wKPb_o line 1 (MAIN mainline @ 1)  at /home/p6eval/niecza/lib/CORE.setting line 1891 (CORE… | |||
..rakudo 72d158: OUTPUT«Cannot modify readonly value in '&infix:<=>' at line 1:src/metamodel/RoleToInstanceApplier.nqp in 'doit' at line 22:/tmp/z70jeXq8f9 in main program body at line 22:/tmp/z70jeXq8f9» | |||
[Coke] | jnthn: ~~! | 17:07 | |
17:14
MayDaniel left
17:16
metaperl_ joined,
metaperl_ left
17:19
wamba joined
17:24
stepnem left
17:25
wamba left
|
|||
tadzik | jnthn: now how do I handle cases like Pod::Block::Named? Block package inside the Pod package? | 17:26 | |
17:26
stepnem joined
|
|||
tadzik | oh wait, it just works. Nvm, forgot a .new :) | 17:27 | |
17:29
REPLeffect joined
17:34
tokuhir__ left
17:35
birdwindupbird joined
17:38
[particle] left
|
|||
tadzik | jnthn: I get a Could not locate compile-time value for symbol Pod::Block::Named when adding a Pod::Block::Named to the SymbolTable, want to take a look? | 17:43 | |
17:50
[particle] joined
17:51
[particle] left
17:53
[particle] joined
18:01
cognominal left
18:03
cognominal joined
18:07
mkramer1 joined
18:18
wamba joined
18:28
lue left
18:30
lue joined
18:32
birdwindupbird left,
wamba left
18:33
mkramer1 left
18:36
Bzek left
|
|||
lue | Here's my comb patch (which I worked on last night): gist.github.com/1072463 [feel free to ignore and do a much better job if I messed something up :)] | 18:38 | |
Oh! I just noticed moritz added an argumentless variant of comb. | 18:42 | ||
thou | \o/ november made a new page on my web site: postimage.org/image/1vx5gn8as/8d301d9a/ | 18:43 | |
18:46
Jackneill left
|
|||
lue | ping $nom_people (question about comb) | 18:48 | |
moritz | lue: pong | 18:49 | |
lue | I just noticed you wrote a comb method a couple hours ago. My patch of comb [which I worked on last night], tries to implement the $limit as well. | 18:50 | |
[Which, being an idiot, I _just now_ decided to test the $limit part, and discover it doesn't work] | 18:51 | ||
moritz | lue: and since named arguments are passed by *name*, it's essential that you get the name right | ||
lue: lim vs. limit | |||
lue | Yeah. I forgot that :$ meant named argument, and when I remembered that, I didn't think of that. | 18:53 | |
...sigh. Now I know I why the limiting part "failed" for me just now; I tried using the number as a positional argument /me slaps self in head | 18:55 | ||
18:56
dolmen joined
|
|||
lue | According to the spec [S32/Str], $limit isn't even a named argument. | 18:59 | |
19:04
quiccker left,
REPLeffect left,
REPLeffect joined
19:08
mkramer joined
19:09
kytibe joined
19:14
Moukeddar joined
|
|||
Moukeddar | Hello ;) | 19:15 | |
lue | hello o/ | ||
tadzik | hello Moukeddar | ||
Moukeddar | how are you all doing ? | ||
missed you all :) | 19:16 | ||
tadzik | oh cool. Then new Rakudo branch is evolving rapidly | ||
19:17
[Coke] left
|
|||
Moukeddar | today i saw a car named Parrot | 19:19 | |
#perl6 came immediately to my mind | |||
19:19
[Coke] joined
19:21
wamba joined
|
|||
thou | \o/ got my apache config tweaked so november looks pretty postimage.org/image/2m6teqqg4/99e42fc7/ | 19:21 | |
Moukeddar | the simplicity is awesome :) | 19:22 | |
good work :) | 19:23 | ||
thou | Moukeddar: well, didn't design the pages. just getting masak++ 's software running again after some time of bitrot | ||
Moukeddar | you know what they say | ||
tadzik | cute :) | ||
thou: what is the webserver running it? | |||
Moukeddar | Great people steal ot copy ? | ||
Apache he said | 19:24 | ||
tadzik | oh, so it's running perl6 as a cgi? | ||
Moukeddar | look at the search bar :) | ||
it says it all | |||
thou | tadzik: apache2, just hacking things together because november borks unless it's at the root of the web url space | ||
tadzik | I see | 19:25 | |
thou | that is host:port/view/Page works, but host:port/wiki/view/page fails | ||
tadzik | thou: have you thought of using Perl6's HTTP::Server::Simple? | ||
Moukeddar | i must try running it on IIS7.5 | ||
thou | tadzik: yes, but i have to convert november to use psgi | ||
tadzik | sounds like fun :) | ||
thou | and i wanted to get it running as is first | ||
tadzik | sure thing | ||
thou | yeah | ||
19:25
smash left
|
|||
thou | i want to convert to web.pm, and then it'll have psgi for free i believe | 19:25 | |
but to do that i have to get Web.pm out of bitrot, as i understand it | 19:26 | ||
so ... one thing at a time :-) | |||
tadzik | I don't think Web.pm uses PSGI | ||
19:26
Moukeddar left
|
|||
tadzik | Web.pm is passing its tests on master for some time now, methinks | 19:26 | |
thou | ah, ok. i hadn't tried it yet | ||
mebby someone was talking about getting it to run on nom ;-) | 19:27 | ||
colomon | on niecza, as I remember the conversation | ||
thou | if web.pm doesn't use psgi, i'm not sure what it's good for | ||
sorear | good * #perl6 | ||
o/ colomon | 19:28 | ||
colomon | speak of the devil.... | ||
thou | bye, sorear | ||
colomon | o\ | ||
thou | or hello | ||
thou is never sure if "good *" is a greeting or farewell | |||
colomon | depends on whether you're arriving or leaving! | ||
tadzik | it's like "good" ~ any("morning", "afternoon", "evening"), as I understand it | 19:29 | |
thou | yeah | ||
ok, i guess it's more like a greeting than a farewell | |||
rakudo: say 'goodmorning' ~~ "good" ~ any(<morning afternoon evening>) | 19:31 | ||
p6eval | rakudo 72d158: OUTPUT«Bool::True» | ||
thou | rakudo: say 'goodmorning' ~~ "good" ~ [|] <morning afternoon evening> | ||
p6eval | rakudo 72d158: OUTPUT«Bool::True» | ||
thou | i guess my problem was i always add <night bye> into that list.... | 19:32 | |
moritz | well, you can use it tha way too :-) | ||
jlaire | rakudo: class C { has Int $.x; method Str() { $.x } }; say C.new(:a(42)).Str.WHAT | ||
p6eval | rakudo 72d158: OUTPUT«Any()» | ||
jlaire | rakudo: class C { has Int $.x; method Str() { $.x } }; say C.new(:a(42)).Str().WHAT | 19:33 | |
p6eval | rakudo 72d158: OUTPUT«Any()» | ||
thou | nom: say 'goodmorning' ~~ "good" ~ [|] <morning afternoon evening> | ||
p6eval | nom: OUTPUT«No applicable candidates found to dispatch to for 'infix:<~>'. Available candidates are::(Any $x):(Str $a, Str $b):(Any $a, Any $b)current instr.: 'infix:<~>' pc 353352 (src/gen/CORE.setting.pir:90433) (src/gen/CORE.setting:1590)» | ||
thou | std: say 'goodmorning' ~~ "good" ~ [|] <morning afternoon evening> | ||
p6eval | std 37a0cdd: OUTPUT«ok 00:01 121m» | ||
jlaire | rakudo: class C { has Int $.x; method Str() { $.x } }; say C.new(:x(42)).Str().WHAT | ||
p6eval | rakudo 72d158: OUTPUT«Int()» | ||
thou | niecza: say 'goodmorning' ~~ "good" ~ [|] <morning afternoon evening> | ||
p6eval | niecza v7-19-g8dc8c8f: OUTPUT«Bool::False» | ||
jlaire | rakudo: class C { has Int $.x; method Str() { $.x } }; say (~C.new(:x(42))).WHAT | ||
p6eval | rakudo 72d158: OUTPUT«Str()» | ||
thou | niecza: say 'goodmorning' ~~ "good" ~ any(<morning afternoon evening>) | 19:34 | |
p6eval | niecza v7-19-g8dc8c8f: OUTPUT«Bool::False» | ||
sorear | ~ doesn't autothread | ||
phenny: de en "hello moritz, how are you today?" | |||
phenny: de en "hello moritz, how are you today?"? | 19:35 | ||
phenny | sorear: "moritz hello, how are you today?" (de to en, translate.google.com) | ||
sorear | phenny: en de "hello moritz, how are you today?"? | ||
phenny | sorear: "hallo moritz, wie geht es Ihnen heute?" (en to de, translate.google.com) | ||
sorear | phenny: tell daniel-s We already have a translator bot, phenny: en de "hello moritz, how are you today?"? | ||
phenny | sorear: I'll pass that on when daniel-s is around. | ||
19:35
benabik left
|
|||
pmichaud | nom: say 'goodmorning' ~~ 'good'~any(<morning afternoon evening>); | 19:35 | |
p6eval | nom: OUTPUT«Bool::True» | ||
pmichaud | \o/ | ||
sorear | phenny: tell masak ("0") - #p5p is seriously talking about making "" the only false string. "0" falseness is a pretty disgusting Perlism imo | 19:36 | |
phenny | sorear: I'll pass that on when masak is around. | ||
sorear | phenny: tell masak oh, and it's really annoying to work around. I can't use if $name in niecza because "0" is often a valid name, but "" never is | ||
phenny | sorear: I'll pass that on when masak is around. | ||
[Coke] wonders if our plethora of bots is /documented/ anywhere. | 19:37 | ||
sorear | nom: say chars [~] 1..10000 | ||
p6eval | nom: OUTPUT«(timeout)» | ||
sorear | niecza: say chars [~] 1..10000 | ||
p6eval | niecza v7-19-g8dc8c8f: OUTPUT«38894» | ||
sorear | pmichaud: the fundamental difference here is that niecza has ~ as list-associative | 19:38 | |
thou | does anyone know if it's correct that a ~ (string contextualizer) turns a var into read-only? | 19:39 | |
perl6: sub doit(Str $text is rw) { $text ~= '!'; say $text; }; my $foo = 'foo'; doit(~$foo); say $foo; | |||
p6eval | niecza v7-19-g8dc8c8f: OUTPUT«Unhandled exception: Binding Str $text is rw in MAIN doit, cannot bind read-only value to is rw parameter at /tmp/mlIUcIOUGm line 0 (MAIN doit @ 0)  at /tmp/mlIUcIOUGm line 1 (MAIN mainline @ 1)  at /home/p6eval/niecza/lib/CORE.setting line 1891 (CORE… | ||
..rakudo 72d158: OUTPUT«Cannot modify readonly value in '&infix:<=>' at line 1:src/metamodel/RoleToInstanceApplier.nqp in 'doit' at line 22:/tmp/np8HqCSBQk in main program body at line 22:/tmp/np8HqCSBQk» | |||
..pugs: OUTPUT«*** Can't modify constant item: VStr "foo" at /tmp/DgIG_3hFnN line 1, column 29-41» | |||
sorear | thou: imo, yes | ||
thou | this is something that changed in rakudo since the last time november was working; i've changed several "is rw" to "is copy" (since the modification wasn't really needed in upper scope anyways, fortunately) | 19:40 | |
i guess there is probably spec tests for this | 19:41 | ||
pmichaud | thou: think of it this way: | 19:42 | |
my Int $foo = 3; doit(~$foo) | |||
the contextualizer *cannot* change $foo to a string. | |||
it has to produce a read-only value that is the string representation of $foo | |||
thou | ok. | 19:43 | |
i knew that. | |||
i was thinking "but it's just a contextualizer; if it's already a Str, it should be a no-op" | |||
19:44
[Coke] left
|
|||
thou | but really if you're gonna depend on it already being a string in the code, then you shouldn't write the contextualizer in the first place | 19:44 | |
any meaningful use of the ~ requires it to be ro | |||
thanks | |||
19:46
[Coke] joined
|
|||
thou | \o/ got /history/Page working | 19:47 | |
19:51
lichtkind joined
|
|||
lichtkind | thou: are you softmoth? | 19:52 | |
thou | yep | ||
i'm polyidentical | |||
unfortunately | |||
lichtkind | thou: thats fine just for my orientation | 19:54 | |
19:56
[Coke] left
19:58
[Coke] joined,
mkramer left
20:03
nnunley joined
|
|||
thou | seems all the links that are exposed to the user are now working in november | 20:05 | |
(missing is the /register link, which apparently was not quite completed) | 20:06 | ||
i'll try to clean up my work and commit | |||
tadzik | great! :) | ||
thou++ | |||
20:09
soh_cah_toa joined,
[Coke] left
20:11
[Coke] joined,
Zapelius joined
20:15
[Coke] left
20:16
kaare_ left
20:17
[Coke] joined
20:19
cdarroch left
|
|||
dalek | kudo/nom: 5ea35d9 | Coke++ | t/spectest.data: This (commented out) test file doesn't exist. |
20:24 | |
20:25
[Coke] left
20:27
[Coke] joined
20:31
envi left
20:32
[Coke] left
20:34
[Coke] joined
|
|||
[Coke] | can t/spec/S07-iterators/range-iterator.t be deleted? | 20:35 | |
std: our Int $foo = 0; | |||
p6eval | std 37a0cdd: OUTPUT«ok 00:01 121m» | ||
sorear | generally test files don't get deleted | 20:38 | |
dalek | kudo/nom: bafbc15 | Coke++ | t/spectest.data: Alphabetize & note failure cause. |
20:39 | |
20:40
[Coke] left
20:42
[Coke] joined
|
|||
dalek | ast: 008d2e5 | Coke++ | S02-builtin_data_types/assigning-refs.t: untodo passing test |
20:45 | |
kudo/nom: 372e76c | Coke++ | t/spectest.data: Unskip passing testfile |
|||
20:47
dalek left
|
|||
[Coke] | pmichaud: ping. | 20:48 | |
20:49
dalek joined,
ChanServ sets mode: +v dalek
|
|||
tadzik | seen jnthn | 20:49 | |
aloha | jnthn was last seen in #perl6 3 hours 43 mins ago saying "afk for a while, going to visit masak++ :)". | ||
[Coke] | would it be helpful in nom's t/spectest.data to, for those tests that are currently listed but commented out, to show the exception (without, say, going through and diagnosing the root cause of the exception?) | 20:51 | |
e.g.: | |||
+# S02-builtin_data_types/autovivification.t # err: No applicable candidates fou S02-builtin_data_types/bool.t | |||
er: | |||
# S02-builtin_data_types/autovivification.t # err: No applicable candidates found to dispatch to for 'trait_mod:<is>'. | |||
dalek | vember: 96e6433 | softmoth++ | Makefile: Tidy: clean up whitespace, sort SOURCES |
20:53 | |
vember: ac9d4b5 | softmoth++ | Makefile: Add Digest::SHA to Makefile |
|||
21:03
cooper left
|
|||
dalek | vember: a241244 | softmoth++ | lib/November.pm: Fix one "string".IO ~~ :e test |
21:03 | |
21:03
cooper joined
21:10
bluescreen10 left
|
|||
sorear | TimToady: ping | 21:12 | |
21:13
Mowah left
|
|||
pmichaud | [Coke]: pong | 21:13 | |
dalek | vember: e68e5b0 | softmoth++ | data/users: Update data/users with a valid SHA256 user/pass |
21:14 | |
pmichaud | (add errors to spectest.data) yes, that's helpful. I've been doing that as I try various tests | ||
i.e., I try the test to see if it works, if it doesn't, I record why in spectest.data | |||
sorear | phenny: tell TimToady / <fun($/)> / doesn't use <.newlex> or <.finishlex> at all, does it create a new $/ or does it use the surrounding $*CURLEX's $/ ? | ||
phenny | sorear: I'll pass that on when TimToady is around. | ||
pmichaud | since / is like a sub or method, I suspect it gets its own $/ | 21:15 | |
er, since /rx/ | |||
I think it's more sub-like than block-like. | |||
sorear | std: / :my $x; /; say $x | 21:25 | |
p6eval | std 37a0cdd: OUTPUT«ok 00:01 122m» | ||
21:25
bluescreen10 joined
21:28
explorer__ left
21:34
ccc joined
21:36
jferrero joined
21:39
Chillance left
21:46
Patterner left
21:48
Psyche^ joined,
Psyche^ is now known as Patterner
21:49
bluescreen100 joined
21:52
bluescreen100 left,
y3llow left,
y3llow_ joined,
pothos left,
pothos_ joined
21:53
y3llow_ is now known as y3llow,
pothos_ is now known as pothos
21:54
bluescreen10 left
21:57
ccc left
21:59
benabik joined
22:03
buubot_backup left
22:11
yahooooo joined
|
|||
dalek | ast: eec7077 | Coke++ | S02-builtin_data_types/declare.t: Skip more tests for rakudo(nom) |
22:11 | |
kudo/nom: 458245f | Coke++ | t/spectest.data: Add some failure comments, running one more test. |
22:13 | ||
[Coke] | is there any automated process at this point that can try to run SKIPped tests? | ||
22:14
drbean joined
|
|||
[Coke] | (specifically fudge/skips in t/spec) | 22:14 | |
22:17
cbk left
|
|||
jnthn back | 22:17 | ||
[Coke] | jnthn: front | 22:18 | |
jnthn | [Coke]: 中 :P | ||
22:19
cdarroch joined,
cdarroch left,
cdarroch joined
|
|||
[Coke] | bacardi? ;) | 22:21 | |
jnthn | :P | 22:22 | |
tadzik: ping | 22:24 | ||
22:27
buubot_backup joined
22:32
aindilis left,
aindilis joined
22:35
Krunch left
|
|||
dalek | ast: 9bdef44 | Coke++ | S02-builtin_data_types/mixed_multi_dimensional.t: match up with rakudo-current(nom) |
22:38 | |
kudo/nom: e5ed290 | Coke++ | t/spectest.data: add a reason, pass a test. |
22:39 | ||
ast: 4fff7b4 | Coke++ | S02-builtin_data_types/multi_dimensional_array.t: match up with rakudo-current(nom) |
22:43 | ||
kudo/nom: 1483a05 | Coke++ | t/spectest.data: add a passing test. |
22:44 | ||
kudo/nom: 2d10e5c | Coke++ | t/spectest.data: add more failure reasons. |
22:50 | ||
[Coke] should probably not do that in quite so many small commits. | 22:51 | ||
jnthn | It's like Coke++ wants the karma! ;) | ||
[Coke] | given I don't commit any actual functionality, it's the best I can do. :) | 22:52 | |
jnthn | I'm glad you're doing it. :) | ||
[Coke] | 5585 tests. | 22:56 | |
jnthn | \o/ | 22:57 | |
[Coke] | Though it occurs to me that the the test harness doesn't give you an easy way to say "This may tests are TODO/SKIP/FAIL" :P | 22:59 | |
tadzik | jnthn: pong | ||
thanks to insomnia I'm here again :) | 23:00 | ||
jnthn | tadzik: Did you solve your issues? | 23:01 | |
tadzik | jnthn: nope | ||
jnthn | (The looking up POD::Block ones...) | ||
cooper | what is the easiest equivalent to perl 5's each method for hashes? | ||
jnthn | tadzik: What did you try to do | ||
? | |||
tadzik | cooper: .kv probably | ||
jnthn: I'll push the current podparser and paste you a patch, ok? | |||
cooper | so like | ||
for %hash.kv -> $a, $b {... } | |||
jnthn | tadzik: $*ST.find_symbol(['POD::Block']) by any chance? | ||
cooper | ? | ||
jnthn | cooper: yes | 23:02 | |
cooper | thank you | ||
tadzik | jnthn: nah, .add_constant as usual, only now I'm trying 'Pod::Block::Named' rather than 'Pod__Block__Named' | ||
jnthn | nom: my %h = a => 1, b => 2; for %hash.kv -> $k, $v { say "$k = $v" } | ||
p6eval | nom: OUTPUT«Symbol '%hash' not predeclared in <anonymous> (/tmp/F4JaLy7NbR:1)current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (compilers/pct/src/PCT/HLLCompiler.pir:107)» | ||
jnthn | nom: my %h = a => 1, b => 2; for %h.kv -> $k, $v { say "$k = $v" } | ||
p6eval | nom: OUTPUT«a = 1b = 2» | ||
jnthn | tadzik: ah | ||
tadzik: yeah, I can see what's up | |||
tadzik | cool | 23:03 | |
jnthn | my $type_obj := self.find_symbol([$type]); | ||
find_symbol expects the name to be pre-split | |||
dalek | Heuristic branch merge: pushed 30 commits to rakudo/podparser by tadzik | ||
jnthn | try | ||
my $type_obj := self.find_symbol(pir::split('::', $type)); | |||
or some such | |||
tadzik | hmm, will try | 23:04 | |
jnthn | (that line appears in add_constant) | ||
718 in the checkout I have here | |||
tadzik | so I should poke add_constant itself? | ||
yay, win! | 23:06 | ||
jnthn: should classes in my package Pod {} be our'd? | 23:08 | ||
23:12
wolfman2000 left
|
|||
tadzik | they work when they are, let's see if they work when they aren't :) | 23:14 | |
dalek | kudo/podparser: 82b7267 | tadzik++ | src/Perl6/SymbolTable.pm: [SymbolTable] Fix lookup of type object with "::" in their names, jnthn++ |
23:21 | |
kudo/podparser: 93c4425 | tadzik++ | / (8 files): Give Pod classes proper names, jnthn++ for making that possible |
|||
tadzik | jnthn++ once again, thanks for help :) | 23:22 | |
jnthn | tadzik: our is default for classes | 23:25 | |
and yes, they need to be, or you can't look them up through :: style lookup | |||
23:27
cdarroch left
|
|||
tadzik | that's what I thought, both things :) | 23:28 | |
jnthn | :) | 23:29 | |
23:31
tokuhir__ joined
23:32
orafu left
23:33
wamba left,
orafu joined
23:37
molaf__ joined
23:40
molaf_ left
23:41
bluescreen10 joined
23:47
ab5tract joined
23:51
wamba joined
|
|||
tadzik | ok, I'll maybe try to sleep now & | 23:52 | |
jnthn | :) | 23:53 | |
o/ tadzik | |||
23:56
wamba left
|