»ö« | perl6-projects.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot: perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by moritz_ on 27 June 2009. |
|||
00:01
nbrown left,
nbrown_ is now known as nbrown
00:03
nihiliad joined
00:05
buubot left,
buubot joined
00:09
cls_bsd_ is now known as cls_bsd
00:14
cdarroch left
00:20
Limbic_Region left,
Limbic_Region joined
00:22
[1]Limbic_Region joined,
Limbic_Region left,
[1]Limbic_Region is now known as Limbic_Region
00:27
DemoFreak left
|
|||
Lorn | how i install utf8-string ? | 00:40 | |
i found in the hackage.haskell.org | 00:44 | ||
00:46
johnjohn101 joined
01:00
Limbic_Region left
01:02
japhb left
|
|||
Lorn | ping? i got a error trying to compile re-smop | 01:02 | |
( and smop ) | |||
gist.github.com/137922 | |||
01:09
ihrd joined
|
|||
Lorn | if i remove "-linux-thread-multi/CORE" from the gcc comand of re-smop they compile fine | 01:15 | |
maybe this can help: proc i686 AMD Athlon(tm) XP 1700+ | 01:16 | ||
01:17
johnjohn101 left
01:20
ihrd left
|
|||
Lorn & #zzz | 01:24 | ||
01:27
japhb joined
01:37
_jaldhar joined
01:42
Whiteknight left
01:48
athomason left
|
|||
pugs_svn | r27313 | lwall++ | [S03] make constant have "our" scoping | 01:58 | |
r27313 | lwall++ | [S12] attempt to spec irc conversation with jnthn++ | |||
02:04
hercynium left
02:07
molaf_xx left
|
|||
skids | Damn and I was just about to convince myself to go to bed. | 02:07 | |
02:07
molaf_xx joined
|
|||
skids S12 | 02:07 | ||
02:09
snarkyboojum left
02:13
last_ left
02:16
snarkyboojum joined
|
|||
skids | That reads like the rules for Arkham Horror would, if they bothered to ever fix the rules for Arkham Horror. But what can you do, it's a complex subject. | 02:16 | |
02:17
dukeleto left
02:18
cognominal left
02:25
amoc left,
REPLeffect left,
REPLeffect joined,
REPLeffect left
02:27
REPLeffect joined,
amoc joined
|
|||
lisppaste3 | tene pasted "Can anyone guess what I'm working on?" at paste.lisp.org/display/82732 | 02:31 | |
02:32
alester joined
02:35
Sark23 left
|
|||
skids | &sub? Maybe legal but... kinda icky. | 02:38 | |
Tene | It was just a temporary name. Hardly the point. | ||
skids | Dunno, perl6 implementation of MMD? | 02:40 | |
or just "is cached"? | 02:42 | ||
Tene | the latter | 02:47 | |
03:04
nbrown_ joined
03:06
vasuvi joined
03:07
nbrown left,
nbrown_ is now known as nbrown
|
|||
skids | Hrm, does Capture.infix<===> work yet? | 03:11 | |
03:11
nbrown_ joined
03:20
nihiliad left
03:28
nbrown left,
nbrown_ is now known as nbrown
03:35
eternaleye left,
KyleHa joined
03:40
molaf_xx left
03:49
netfish joined
03:56
snarkyboojum left
03:57
xinming_ joined
04:04
snarkyboojum joined
04:05
KyleHa left
04:06
vasuvi left,
xinming__ joined
04:10
xomas_ left
04:14
[particle] joined,
xinming_1 joined,
xinming left
04:15
[bjoern] left
04:18
FurnaceBoy left
04:19
xinming_ left
04:25
bruce left
04:28
snarkyboojum left
04:30
xinming__ left
04:31
eternaleye joined,
[particle]1 left
04:35
snarkyboojum joined
04:37
xinming joined
04:53
xinming_1 left
04:54
xinming_ joined
05:00
xinming__ joined
05:01
xinming left
05:03
xinming_ left
05:10
xinming_ joined
05:11
alester left
05:12
frew_ left,
agentzh left
05:16
rhr_ left
05:18
xinming__ left
05:21
xinming__ joined
05:22
iblechbot joined
05:26
finanalyst joined,
xinming_ left
05:31
AzureStone_ left
05:36
nbrown_ joined
05:37
dukeleto joined
05:50
justatheory left
05:51
agentzh joined
05:52
nbrown left,
nbrown_ is now known as nbrown
05:59
xinming joined
06:03
iblechbot left
06:06
xomas joined
06:11
xinming__ left
|
|||
moritz_ | I don't think === is ever called as method. | 06:16 | |
06:26
rfordinal joined
06:28
dukeleto left
06:46
rfordinal left
06:47
eMaX joined
06:50
sri_kraih joined
06:52
dukeleto joined
06:55
meppl joined
06:58
DemoFreak joined
07:12
zamolxes joined
07:13
rfordinal joined
07:19
azawawi joined
|
|||
azawawi | hi | 07:20 | |
phenny | azawawi: 29 Jun 20:22Z <moritz_> tell azawawi 22:12 < payload> something is wrong with the printed tests in feather.perl6.nl/syn/ feather.perl6.nl/~azawawi/html/spec...han.t.html | ||
azawawi | moritz_: it is broken :) | ||
moritz_ | azawawi: aye. The question is: will you fix it, or should we remove the links from the /syn/*.html? | 07:21 | |
azawawi | moritz_: sure, i will fix it :) | ||
TimToady: STD_syntax_highlight is getting warnings after the comp_unit => TOP rule change, {_pos} is outside length of text, please see gist.github.com/138050 | 07:23 | ||
pugs_svn | r27314 | azawawi++ | [STD_syntax_highlight] it works again (uses TOP instead of comp_unit) | 07:26 | |
azawawi | moritz_: it will get fixed on next cron job | 07:27 | |
moritz_ | azawawi: ok, thank you | ||
azawawi | np it is my job :) | 07:28 | |
07:28
araujo left
|
|||
azawawi runs spec_highlight to update it manually... | 07:29 | ||
moritz_ regularly thanks people for doing their jobs | 07:30 | ||
07:31
meppl left
07:32
Lorn left,
meppl joined
07:33
azawawi left
07:36
azawawi joined
07:53
azawawi left
07:54
zamolxes left
07:55
zamolxes joined
08:01
arnsholt left,
arnsholt joined,
eMaX left,
charsbar_ joined,
pmichaud left
08:02
pmichaud joined,
baest left,
baest joined
08:03
charsbar left
08:06
mvuets joined,
synth left
08:07
snarkyboojum left
08:11
azawawi joined
|
|||
azawawi | moritz_: fixed... | 08:11 | |
08:11
azawawi left,
raig joined
08:20
azawawi joined
|
|||
azawawi | moritz_: regarding threading support in rakudo, is there any? | 08:20 | |
moritz_ | azawawi: no | 08:21 | |
azawawi: I think Tene++ did a stab at implementing these, and found a few nasty segfaults | |||
azawawi | moritz_: is S17 the only documentation on threads? | 08:22 | |
08:22
ejs joined
|
|||
moritz_ | I think so | 08:22 | |
std: macro foo is parsed(/ '^^' \w '^^'/) { '+' }; 1 ^^f^^ 3 | 08:29 | ||
08:29
ihrd joined
|
|||
p6eval | std 27314: OUTPUT«Undeclared routine: f used at 1 ok 00:02 36m» | 08:29 | |
moritz_ | std: macro infix:<foo> is parsed(/ '^^' \w '^^'/) { '+' }; 1 ^^f^^ 3 | ||
p6eval | std 27314: OUTPUT«Undeclared routine: f used at 1 ok 00:03 37m» | ||
08:29
ihrd left
|
|||
moritz_ | how can I declare a macro in infix position? | 08:30 | |
08:31
ejs1 joined
08:33
lumi__ joined
08:34
snarkyboojum joined,
lumi_ left
08:35
viklund joined
|
|||
mvuets | Gug folks. What MMD is standing for? | 08:38 | |
08:38
ejs left
|
|||
moritz_ | multi method dispatch | 08:38 | |
08:48
cognominal joined
08:53
azawawi left
08:54
xinming_ joined
08:57
payload left
|
|||
jnthn | The day hath cometh. | 08:57 | |
Infinoid | Ohnoes? | ||
jnthn | Rakudo day! | ||
Infinoid | Oh yay! | 08:58 | |
09:07
omega left
09:09
xinming left
|
|||
jnthn | TimToady: Just read your S12 updates, and I think it matches what we discussed pretty well so far as I can see. Nice. :-) | 09:20 | |
09:21
payload1 joined
|
|||
jnthn hits the RT queue | 09:22 | ||
09:27
snarkyboojum left
|
|||
jnthn | rakudo: class A { has $.foo; submethod BUILD() { $!foo = 7; } }; say A.new.foo; | 09:31 | |
p6eval | rakudo 1831bd: OUTPUT«7» | ||
jnthn | rakudo: class A { submethod BUILD(*@a) { say @a.perl } }; A.new(x => 3) | 09:33 | |
p6eval | rakudo 1831bd: OUTPUT«[]» | ||
jnthn has closed 3 already solved RT tickets already today :-) | 09:36 | ||
moritz_: rt.perl.org/rt3/Ticket/Display.html?id=61774 if you have a moment needs spectests then it can be closed | |||
oh, it seems pm assigned it to me rather than you by accident | |||
assigned to you now so it's in your queue. :-) | 09:38 | ||
09:38
azawawi joined
|
|||
azawawi | hello | 09:38 | |
azawawi tries to see if RT #65994 is fixed or not on latest rakudo | 09:39 | ||
jnthn: any idea how to fix rt.perl.org/rt3/Public/Bug/Display.html?id=65994 ? | 09:41 | ||
09:41
omega joined
|
|||
azawawi | jnthn: my Padre::Plugin::Perl6 has already a 'Generate Perl 6 EXE' option working and ready for that bug to be fixed :) | 09:42 | |
09:43
azawawi left,
sri_kraih_ joined
|
|||
jnthn | If you take the generated PIR and stick at the start: | 09:44 | |
.loadlib 'perl6_group' | |||
.loadlib 'perl6_ops' | |||
And then try and make the fake executable, does it work? | |||
09:44
beggars joined
09:46
ejs2 joined
09:57
sri_kraih left,
ejs1 left
10:23
DemoFreak left
|
|||
viklund loves when | 10:26 | ||
jnthn | when what? | 10:27 | |
;-) | |||
jnthn is working on stuff related to subtypes at the moment ;-) | |||
viklund | this worked just like I wanted it to: | 10:30 | |
gist.github.com/138104 | 10:31 | ||
viklund is happy | |||
10:32
cognominal left
|
|||
jnthn | viklund: Why not just when TG::B { say 'b' } | 10:34 | |
Am I missing something? | |||
viklund | it's a instance variable | ||
jnthn | oh, I see now... | ||
10:34
lichtkind joined
|
|||
jnthn | sorry :-) | 10:34 | |
Though still maybe | 10:35 | ||
for ($a1, $a2)>>.tg { when TG::B { say 'b' } ... } | |||
10:35
cognominal joined
|
|||
viklund | the real deal i'm using it for is of course slightly more complex | 10:35 | |
jnthn | ah, ok | ||
viklund | I was only checking if it worked | 10:36 | |
lichtkind | is ** a regex metachar? | ||
jnthn | aye | 10:37 | |
rakudo: "aaaaaaaaaaa" ~~ /a**5/; say $/ | |||
p6eval | rakudo 1831bd: OUTPUT«aaaaa» | ||
lichtkind | jnthn: thanks you too helped to improve the docs :) | 10:39 | |
jnthn | aaaaaaawesome. | 10:42 | |
lichtkind | :) | ||
jnthn spectests his fix for 66854 | 10:43 | ||
viklund | enums can function as roles?! | ||
hmm, need to try this | |||
does that mean that I should be able to say my $x = SomeClass.new does SomeEnum::SomeValue ? | 10:44 | ||
jnthn | no but | 10:46 | |
does SomeEnum you can say | |||
And it gives you a $.SomeEnum | |||
Or should | |||
viklund | ok | ||
jnthn | Tehre's a test file for it in S12-enum/as-role.t iirc | ||
10:46
last joined
|
|||
viklund | is it possble to use the value in a but? | 10:46 | |
but SomeEnum::Value? | 10:47 | ||
spec says yes | |||
mebbe I dont need my itsa() sub anyway... | |||
wohoo! | 10:48 | ||
jnthn | Yes, you can | 10:49 | |
That *should* work. | |||
viklund | it does | ||
jnthn | \o/ | 10:50 | |
viklund | how it's supposed to be: | ||
gist.github.com/138104 | |||
jnthn | That's neater | ||
lichtkind | moritz_: control character is what we call steuerzeichen? | 10:51 | |
huf | what does but do? | 10:53 | |
jnthn | makes a copy and mixes into it | 10:54 | |
but also knows how to generalize an enum element to the enum type. | |||
As opposed to infix:<does> which doesn't know how to do that, and just operates on the object itself. | |||
10:58
skids left
|
|||
viklund | should this work: | 11:03 | |
rakudo: enum A <B C>; my $s = B; $s++; say $s ~~ C; | 11:04 | ||
p6eval | rakudo 1831bd: OUTPUT«0» | ||
jnthn | Not really sure. | ||
Would hve to check S12. | |||
A quick glance over the enums section doesn't suggest that should do what you want. | 11:05 | ||
(Doesn't rule it out, but doesn't appear to suggest it's possible either) | |||
viklund | I came to the same conclusion | 11:06 | |
oh well | |||
moritz_ | lichtkind: aye | ||
lichtkind | moritz_: thanks | 11:07 | |
moritz_ | jnthn: will test and close, aye | 11:11 | |
jnthn | moritz_++ # thanks | ||
jnthn hopes we can get back under the 400 tickets mark today | |||
Next up: 63828 | |||
dalek | kudo: 78b5ac5 | jnthn++ | (2 files): Implement [X] for RT#67064. |
||
kudo: 997a1bd | jnthn++ | src/parser/ (2 files): Get our parsing of type declarators a little more in line with STD.pm and hanlde the case where there is no C<where> clause. Resolves RT#66854. |
|||
viklund | is is export implemented on enums? | 11:22 | |
moritz_ | rakudo: module A { enumb B <c d> is export } | 11:23 | |
p6eval | rakudo 1831bd: OUTPUT«Statement not terminated properly at line 2, near "is export "in Main (src/gen_setting.pm:3257)» | ||
11:23
masak joined
|
|||
moritz_ | rakudo: module A { enumb B is export <c d> } | 11:23 | |
p6eval | rakudo 1831bd: OUTPUT«Could not find non-existent sub export» | ||
masak | Rakudo day! \o/ | ||
moritz_ | viklund: doesn't look like it is | ||
masak | moritz_: 'enumb'? | ||
moritz_ | oops | 11:24 | |
jnthn | viklund: don't believe so. | ||
moritz_ | rakudo: module A { enum B is export <c d> } | ||
p6eval | rakudo 1831bd: OUTPUT«Statement not terminated properly at line 2, near "is export "in Main (src/gen_setting.pm:3257)» | ||
viklund | hrmpf... | ||
moritz_ | rakudo: module A { enum B <c d> is export } | ||
p6eval | rakudo 1831bd: OUTPUT«Statement not terminated properly at line 2, near "is export "in Main (src/gen_setting.pm:3257)» | ||
viklund puts workaround hat on (should be simple) | |||
masak | I need to buy a new workaround hat soon. | ||
mine is pretty worn by now. | |||
viklund | ;) | 11:26 | |
it would have been beautiful though... | 11:27 | ||
jnthn | oh hmm, well 63828 seems to have been easy | ||
jnthn spectests while he makes and eats lunch | |||
rakudo: say &infix:<+> | |||
p6eval | rakudo 1831bd: OUTPUT«10» | ||
jnthn | rakudo: say &infix:<+>[0] | 11:28 | |
p6eval | rakudo 1831bd: OUTPUT«infix:+» | ||
moritz_ | rakudo: &infix:<+>.PARROT | ||
p6eval | rakudo 1831bd: ( no output ) | ||
jnthn | rakudo: say &infix:<+>.PARROT | ||
moritz_ | rakudo: say &infix:<+>.PARROT | ||
p6eval | rakudo 1831bd: OUTPUT«MultiSub» | ||
moritz_ | and MultiSub is RPA? | ||
jnthn | Making Parrot's MultiSub stringify differently could be harder. | ||
Yeah, stringifies to number of candidates. | 11:29 | ||
I can easily fix Perl6MultiSub | |||
moritz_ | I don't think it's high priority | ||
jnthn | There's not one, but two tickets about this. :-) | ||
So at least two people care. ;-0 | |||
masak | more like two people noticed. | 11:30 | |
buubot | masak: Sorry, no more output | ||
masak | buubot: that's seriously annoying, you know. | ||
buubot | Couldn't match input. | ||
masak | buubot-- | 11:31 | |
buubot | Couldn't match input. | ||
viklund | smack buubot | ||
masak | @smack buubot | ||
lambdabot | I don't perform such side effects on command! | ||
masak | seems the bots are having a mutiny today. | ||
moritz_ | lambdabot-- # just to be sure | 11:32 | |
11:40
cmv joined,
cmv left
|
|||
moritz_ | there's an intresting point that was braught up on perlmonks about Perl 5 | 11:47 | |
that is, if you load a module, and it fails, it's still in %INC | |||
so by looking at %INC you can't figure out if a module loaded successfully | |||
11:50
rfordinal left
11:51
rjh left
|
|||
moritz_ | so if you have a list of modules, and try to load them until the first one loads successfully, you'll get a success on a module which previously failed to load | 11:51 | |
literal | but you can still require() it in an eval to check for success, right? | 11:53 | |
lambdabot | literal: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
moritz_ | lichtkind: you can, but require() will return success since it's already in %INC, even if an earlier load attempt failed | 11:54 | |
11:54
rfordinal joined
|
|||
literal | I see | 11:55 | |
lichtkind | moritz_: what? | ||
11:55
rfordinal3643 joined
|
|||
moritz_ | lichtkind: sorry, that was meant to go to literal | 11:55 | |
lichtkind | moritz_: nop | ||
moritz_ | lichtkind: I typed li<tab>, and that was ambiguous :) | 11:56 | |
lichtkind | yes | ||
11:56
macae joined
|
|||
moritz_ | .oO( there are just too many people here in the channel :-) |
11:56 | |
I see that not even mo<tab> is unambiguous | 11:57 | ||
literal | @tell azawawi the redefine warnings will go away if you upgrade Perl6::Perldoc::To::Ansi, the errors seem to be some win32 path issue I failed to account for, hm | 11:58 | |
lambdabot | Consider it noted. | ||
literal | I guess it's not executable because it doesn't have an .exe extension or something | 11:59 | |
moritz_ | literal, masak: I'll probably miss tomorow's gsoc meeting | 12:00 | |
masak | if a few lurkers were just willing to switch to less crowded parts of the nick space, the problem would be solved. :) | ||
literal | moritz_: ok | ||
masak | moritz_: ok. no prob, there's backlogs. :) | ||
12:00
rjh joined
|
|||
moritz_ | std: [+] | 12:00 | |
p6eval | std 27314: OUTPUT«ok 00:02 36m» | ||
12:01
raig left
12:02
rfordinal left
12:04
last left
|
|||
jnthn tries to find if we have any tests for signatures with literals in them | 12:05 | ||
12:05
macae left
|
|||
masak | is there a Perl 6 equivalent of required Moose attributes? | 12:06 | |
jnthn | What are they? | ||
masak | search.cpan.org/dist/Moose/lib/Moos...ed_or_not? | ||
basically, that they must be assigned to at construction. | 12:07 | ||
12:07
skids joined,
macae joined
|
|||
macae | moritz_: Perl is the language of the saints | 12:08 | |
;-) | |||
12:08
azawawi joined
|
|||
azawawi | hi | 12:08 | |
lambdabot | azawawi: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
azawawi | @messages | ||
lambdabot | literal said 10m 12s ago: the redefine warnings will go away if you upgrade Perl6::Perldoc::To::Ansi, the errors seem to be some win32 path issue I failed to account for, hm | ||
literal | azawawi: I just uploaded 0.07 to PAUSE | 12:09 | |
azawawi | literal: will try it now... | ||
moritz_ | jnthn: S06-multi/type-based.t seems to be the closest | ||
12:09
snarkyboojum joined
|
|||
literal | of grok, that is | 12:09 | |
jnthn | moritz_: Aye, but theren's not any for that in there. | 12:10 | |
moritz_: I'm pondering a new value-based.t in S06-multi - how does that sound? | |||
azawawi | literal: any grok 0.07 url i can pip? | ||
moritz_ | jnthn: good | ||
azawawi | literal: why does not 'cpan grok' work? | 12:11 | |
12:11
mizioumt joined
|
|||
dalek | ok: 46c3329 | (Hinrik Örn Sigurðsson)++ | (8 files): Explicitly call grok with $^X in tests, needed on Win32 on it yet). |
12:13 | |
ok: 57b2e0c | (Hinrik Örn Sigurðsson)++ | (2 files): Bump version to 0.07 |
|||
12:14
lichtkind left,
payload1 left
|
|||
pugs_svn | r27315 | jnthn++ | [t/spec] Add tests for dispatch based upon literal values written in signatures. | 12:17 | |
jnthn | Down to 403 tickets. | 12:19 | |
azawawi hopes his fake-executable ticket will be next :) | 12:20 | ||
jnthn | azawawi: Did you see what I wrote earlier? | 12:22 | |
dalek | kudo: fa963c8 | jnthn++ | src/parser/ (2 files): Support writing of literals inside a signature. |
||
kudo: 72ececf | jnthn++ | t/spectest.data: Add S06-multi/value-based.t to spectest.data. |
|||
jnthn | 11:44 <@jnthn> If you take the generated PIR and stick at the start: | ||
11:44 <@jnthn> .loadlib 'perl6_group' | |||
11:44 <@jnthn> .loadlib 'perl6_ops' | |||
11:44 <@jnthn> And then try and make the fake executable, does it work? | |||
I wrote it not realizing you'd signed off. | |||
12:26
Lorn joined
|
|||
literal | azawawi: I think "cpan grok" doesn't work because CPAN doesn't consider "grok" to be a module, because it the "package grok;" statement isn't in a .pm file | 12:26 | |
azawawi: nix.is/grok-0.07.tar.gz | 12:27 | ||
dalek | kudo: 1317e53 | jnthn++ | src/parser/actions.pm: If BUILD is declared as a method rather than a submethod, emit a warning. Should handle RT#66120. |
||
azawawi tries to pip grok on his win32 machine | 12:30 | ||
literal | it's the same with ack, you need to do "cpan App::Ack" instead of "cpan ack" | 12:31 | |
12:31
lumi__ left
|
|||
Lorn | hi, i have this problem with re-smop and smop ( gist.github.com/137922 ) | 12:31 | |
moritz_ | Lorn: I'm afraid the both (re-)smop hackers aren't in the channel right now | 12:33 | |
Lorn | moritz_: ok, thanks | 12:40 | |
12:43
icwiener joined,
icwiener left,
icwiener joined
12:44
last joined
12:45
_jaldhar is now known as jaldhar
12:47
rhr joined
|
|||
azawawi | literal: i see; it is installed on my machine now... | 12:49 | |
12:49
beggars left
|
|||
azawawi | literal: grok s02 => The system cannot find the path specified. | 12:51 | |
literal | hm | ||
12:51
lucs joined
|
|||
azawawi | literal: grok works ofcourse: Too few arguments | 12:51 | |
12:52
synth joined
|
|||
literal | what if you do "grok -l s02" ? | 12:52 | |
12:52
ruoso joined
|
|||
azawawi | C:\strawberry\perl\site\lib\auto\share\dist\grok\Spec\S02-bits.pod | 12:54 | |
which is valid | |||
ruoso | Hello! | ||
azawawi | ruoso: hi there | ||
12:55
lucs left
|
|||
moritz_ | ruoso: Lorn had some troubles building (re-)smop, gist.github.com/137922 | 12:55 | |
literal | azawawi: does "grok -T s02" work? | 12:58 | |
azawawi | moritz_: i think i solved it by apt-get install libpcl1-dev | ||
moritz_ | Lorn: see above :-) | 12:59 | |
12:59
payload joined
|
|||
azawawi | literal: works but spits out ansi text which cmd.exe cannot understand for headers | 12:59 | |
literal | ok | ||
Lorn | azawawi: installing libpc11-dev i resolve my problem? | 13:00 | |
literal | then the earlier error was because $Config{pager} is empty on strawberry I guess | ||
azawawi | literal: yup | ||
literal: i take that back... [C:\WINDOWS\system32\more.COM] | 13:01 | ||
literal: which works | |||
literal | hm | ||
azawawi | backslashes? | ||
literal | shouldn't be, it basically runs "system $Config{pager}, $path_to_temp_file;" | 13:02 | |
azawawi | literal: in cpan, it is set to [C:\WINDOWS\system32\more.COM], in $Config{pager}, it is more | ||
literal | maybe it failed to create the tempfile | ||
pmichaud | good morning #perl6 | ||
13:03
snarkyboojum left
|
|||
masak | good morrow, pmichaud. | 13:03 | |
moritz_ | oh hai | ||
azawawi | literal: so maybe you need to use File::Which | ||
13:03
moritz_ sets mode: +o pmichaud
|
|||
jnthn | ahoj, pmichaud | 13:03 | |
literal | azawawi: hm, why? shouldn't the full path to more.COM work? | ||
oh, the full path isn't in $Config{pager} | 13:04 | ||
azawawi | literal: debugging it.. | ||
literal | but I thought WINDOWS\system32 was in PATH anyway | ||
azawawi | literal: me too | 13:05 | |
literal: yes it is | 13:06 | ||
literal | if "perl -MConfig=%Config -e'system $Config{pager}'" works then the pager isn't the problem... | 13:07 | |
pugs_svn | r27316 | jnthn++ | Tests for subset declaration without where clause. | 13:09 | |
13:10
netfish left
13:11
rfordinal3643 left
|
|||
azawawi | literal: works after quoting it | 13:11 | |
literal | only with quoting? that's weird | ||
I thought you said $Config{pager} == 'more' | 13:12 | ||
quoting 'more' shouldn't make a difference | |||
pugs_svn | r27317 | jnthn++ | [t/spec] Improve tests for chdir to better test relative directory changes and error hanlding. Probably still needs some love, but a step forward. | 13:13 | |
azawawi | the problem is $Config{pager} on strawberry is 'more /e' | ||
literal | ah | ||
azawawi | and system does not like that | ||
more alone works | |||
buubot | azawawi: Sorry, no more output | ||
13:13
agentzh left
13:14
ejs2 left,
agentzh joined
|
|||
azawawi | literal: system $pager . $temp; # works on win32 | 13:14 | |
literal | really? that would make it "more /eC:\foo\bar" | 13:15 | |
moritz_ | azawawi: not if there are spaces in the path | ||
literal | I thought system took care of quoting if you feed it a list | ||
moritz_ | if you feed it a list, 'more /e' is interpreted as a program | 13:16 | |
azawawi | yup | ||
literal | ah, of course | 13:17 | |
so this should be safe: system qq{'$pager'}, $temp; | |||
or... | 13:18 | ||
well, I can't test it, no Win32 here :P | |||
moritz_ | as long as there's no ' in the path :-) | 13:20 | |
azawawi | literal: system $pager . ' ' . $temp; # works... | 13:21 | |
moritz_ | azawawi: even with spaces in the path? | ||
azawawi | literal: but you have to close the tempoary file before btw | 13:22 | |
literal: s/tempoary/temporary/ | |||
literal | system $pager . qq{ '$temp'}; # to account for spaces in $temp | ||
azawawi: ok | 13:23 | ||
azawawi | literal: does not work :) | ||
literal | hm, why not? | ||
azawawi | literal: Cannot access file C:\Documents and Settings\azawawi\'C:\DOCUME~1\azawawi\LOCALS~1\Temp\IR1SYWbmVh' | 13:24 | |
literal | win32 doesn't like '' around filenames? does it need "" instead? | ||
azawawi | literal: not '' | ||
literal: "" | |||
literal: system $pager . qq{ "$temp"}; # to account for spaces in $temp | |||
literal | yeah | 13:25 | |
viklund | rakudo: multi foo(1) { say 1 }; multi foo(2) { say 2 }; foo(1);foo(2);foo(3) | ||
p6eval | rakudo 1317e5: OUTPUT«12No applicable candidates found to dispatch to for 'foo'in Main (/tmp/5ioKtAcym4:2)» | ||
viklund | jnthn++ # squashing bugs | ||
azawawi | literal: gist.github.com/138154 | ||
literal | I'll apply that then | 13:26 | |
azawawi | literal: cool ty for your patience for win32 :) | ||
jnthn | rakudo: multi factorial(0) { 1 }; multi factorial($n) { $n * factorial($n - 1) }; factorial(5); | ||
p6eval | rakudo 1317e5: OUTPUT«No applicable candidates found to dispatch to for 'factorial'in Main (/tmp/f4t5q5j5de:2)» | ||
literal | I'll fix the ansi color on win32 thing shortly | 13:27 | |
jnthn | wtf | ||
azawawi | literal: and on win32, you need to take out ascii escape color sequences... | ||
literal | azawawi: should work with Win32::Console::ANSI, I think: search.cpan.org/~jlmorel/Win32-Cons...le/ANSI.pm | ||
Matt-W | Hey | ||
viklund | Ho! | ||
13:28
frew_ joined
|
|||
azawawi | literal: let me check it then | 13:28 | |
jnthn | rakudo: multi factorial(0) { 1 }; multi factorial(Int $n) { $n * factorial($n - 1) }; factorial(5); | ||
p6eval | rakudo 1317e5: ( no output ) | ||
jnthn | rakudo: multi factorial(0) { 1 }; multi factorial(Int $n) { $n * factorial($n - 1) }; say factorial(5); | ||
p6eval | rakudo 1317e5: OUTPUT«120» | ||
jnthn | eh, yes, that bug is what I was discussing with TimToady yesterday. | 13:29 | |
viklund | jnthn++ # again ;) | ||
13:29
rfordinal joined
|
|||
azawawi | literal: perfect; installs easily without failures and works | 13:30 | |
moritz_ | jnthn: shouldn't the literal 0 add an implicit Int type constraint | ||
literal | azawawi: ack uses ansi color only when Win32::Console::ANSI is installed, I might do that as well | ||
either that or make it a prereq | 13:31 | ||
jnthn | moritz_: It does | ||
moritz_: The problem is that it finds a candidate, passes it on for tie-breaking by constraints, and then this tie-break fails and it comes back and says "uh-oh, no candidates" rather than continuing to the one with the narrower nominal type. | 13:32 | ||
dalek | ok: f9b36eb | (Hinrik Örn Sigurðsson)++ | (2 files): Fix pager execution on Win32. azawawi++ |
||
jnthn | As the recent spec updates mention, Rakudo is wrong here. | ||
azawawi | literal: make it a pre-requisite for win32; it seems to install without problems | 13:33 | |
literal | azawawi: ok | ||
13:37
mikehh left
13:40
M_o_C joined
|
|||
dalek | kudo: f484da5 | jnthn++ | src/builtins/globals.pir: Implement first cut of $*CWD. Patch courtesy of Lyle [email@hidden.address] along with a tweak from me. |
13:40 | |
kudo: 7773f90 | jnthn++ | src/builtins/io.pir: Implement chdir. Roughly based off a patch from Lyle++ [email@hidden.address] but with corrections to error handling and the way me update $*CWD to work with relative directory changes. |
|||
kudo: 466baf6 | jnthn++ | t/spectest.data: Run chdir and $*CWD spectests. |
|||
kolibrie | TimToady: I notice that 'parse' in Cursor.pmc now calls 'initparse' on the $class, which gimme5 does not make available in the $class | 13:41 | |
(should I just wait for viv?) | 13:42 | ||
13:44
finanalyst left
|
|||
dalek | ok: 4467cc8 | (Hinrik Örn Sigurðsson)++ | (2 files): Depend on Win32::Console::ANSI on Win32 systems |
13:44 | |
13:44
ejs0 joined
|
|||
PerlJam | TimToady++ that's some dense-ish language on tie-breaking | 13:46 | |
(reading it again for the 3rd time :) | |||
masak | dense-ish language gets karma now? | ||
PerlJam | Sure. It needed to be written and I can't think of an easier way to say what it says, so ++ | 13:47 | |
masak | :) | ||
jnthn | It puts into the spec some assumptions I've been making for a while, as well as answering various questions, so that commit is certainly ++. | ||
masak | moving forward is always nice. | 13:48 | |
azawawi | literal: how do i get the list of sXX (s02-rules,...etc) using grok? | ||
literal | azawawi: haven't added that yet | ||
jnthn | Does give me some more tricky stuff to do though. | 13:49 | |
azawawi | literal: i'll hard code them at the moment in Padre's Perl 6 plugin and then when it is available i'll use it. | ||
literal | ok | ||
azawawi | literal: also i may need 'html' format | 13:52 | |
literal | yeah | 13:53 | |
13:54
cmv joined
|
|||
literal | should be easy to add that for Pod 5, which will work for all synopses except S26 | 13:54 | |
masak | doesn't Pod 6 also have a good Perl 5 parser up at CPAN? | 13:55 | |
literal | yeah, Perl6::Perldoc | ||
it can output xhtml | 13:56 | ||
azawawi | literal: it has to::xhtml | ||
literal | might be slightly different from the Pod 5 output, but should be similar | ||
kolibrie | meeting & | 13:59 | |
14:01
frew_ left
14:05
alester joined
14:06
KyleHa joined
14:10
rfordinal left,
rfordinal joined
|
|||
ruoso | Lorn, hi | 14:10 | |
14:12
payload1 joined
|
|||
pmichaud | jnthn: I'm working on closing out RT tickets also -- any chance we're working on the same tix? | 14:12 | |
14:12
payload left
|
|||
jnthn | pmichaud: Maybe | 14:13 | |
pmichaud: I'm fixing multi stringification. | |||
That's all at the moment. | |||
Well, actually, just spectest'ing the result. | |||
Any thoughts on if this is something impl specific or something we can spectest? | |||
Lorn | ruoso: hi, did you see my gist? | 14:14 | |
ruoso | Lorn, the smop dir is the pre-refactoring | ||
the current code is in re-smop | |||
dalek | ok: dcc11d1 | (Hinrik Örn Sigurðsson)++ | TODO: Update the TODO list |
14:15 | |
Lorn | ruoso: i tried in the re-smop dir na din the smop dir both failed | ||
ruoso | Lorn, could you paste all the compilation process of re-smop | 14:16 | |
jnthn | oh noes pmichaud gave me the state bugs | ||
:-) | |||
(Actually I was going to look at them pretty much next. :-)) | |||
14:17
lichtkind joined
|
|||
pmichaud | I think that stringification of subs is likely spectestable | 14:17 | |
lisppaste3 | Lorn pasted "re-smop" at paste.lisp.org/display/82758 | 14:18 | |
Lorn | ruoso: ^^ | ||
pmichaud | jnthn: I'm waiting for spectests also. | ||
jnthn | pmichaud: What about subs like infix:foo | 14:19 | |
? | |||
Should they stringify to that or to infix:<foo>? | |||
pmichaud | well, clearly infix:foo is wrong there. | ||
But I'm not sure what the standard stringification should be. | |||
jnthn | Well, thus my question if it's impl specific or spectestable. | ||
pmichaud | For example, if I write: | ||
sub infix:«foo»($a, $b) { ... }; say &infix:«foo»; | 14:20 | ||
then what should I get? | |||
ruoso | Lorn, there's something weird in your environment | 14:21 | |
jnthn | Doubt it should maintain the quoting you used exactly. Or need do so. | ||
pmichaud | right | ||
so the question becomes "which quoting should it use"? | |||
jnthn | But stripping it completely to just be infix:+ is probably not right either. | ||
moritz_ | pmichaud: maybe you should get the same result as with all other subs | ||
rakudo: say &split | 14:22 | ||
pmichaud | well, the reason that PGE (and thus Rakudo) strip the quotes is to avoid some questions altogether. | ||
p6eval | rakudo 466baf: OUTPUT«1» | ||
moritz_ | uhm. | ||
ruoso | Lorn, the ld switches have a weird setting "-linux-thread-multi/CORE" | ||
jnthn | moritz_: That's fixed locally. | ||
Lorn | ruoso: if i remove -linux-thread-multi/CORE from the last gcc command, and run again they compile fine | ||
moritz_ | rakudo: say { ... } | ||
p6eval | rakudo 466baf: OUTPUT«_block49» | ||
pmichaud | moritz_: I agree that subs should have a name (more); the question is "Is there a canonical name for operator subs, and if so, what is it?" | 14:23 | |
moritz_ | since .perl isn't canonical either, I'd not expect one | ||
ruoso | Lorn, what does 'perl -MExtUtils::Embed -e ldopts' prints for you? | ||
pmichaud | s/some questions/such questions/ # above | 14:24 | |
Lorn | ruoso: -Wl,-E -L/usr/local/lib -L/usr/lib/perl5/5.10.0/i486-linux-thread-multi/CORE -lperl -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc | ||
ruoso | somehow scons got a different result | 14:25 | |
pmichaud | in other words, just as we don't think of %h<a> as having a key of "<a>", Rakudo and PGE took the position that infix:<+> has a key of '+' and not '<+>' | ||
my intermediate plan (assuming there's no canonical representation of operator sub names) was to take Rakudo's internal 'infix:+' notation and change it to 'infix:<+>' when asked for its name. | 14:27 | ||
moritz_ | sounds ok. | ||
14:28
azawawi left
|
|||
jnthn | If there's not going to be anything canonical is infix:+ so bad for now? | 14:28 | |
14:28
rfordinal left
|
|||
moritz_ | and afaict whitespaces in operators are forbidden anyway | 14:28 | |
so if you have a multi part operator (like a circumfix) you can separate it by space | |||
ruoso | Lorn, I'm taking another look at it... | 14:29 | |
moritz_ | 'circumfix:< >' | ||
14:29
last left
|
|||
pmichaud | jnthn: I'm okay with leaving it as 'infix:+' for now, but clearly it needs to report back as 'infix:<+>' in error messages and the like. | 14:29 | |
KyleHa | rakudo: say (-d '.') ?? 'aye' !! 'nay'; | ||
phenny | KyleHa: 29 Jun 22:46Z <moritz_> tell KyleHa I've got a mailing script working, but perl.org rejects my mails due to blacklisting, maybe you want to give it a try: gist.github.com/137857 it needs to be run from within the git-svn clone | ||
jnthn | It'd probably be nicer if it did, yes. | ||
p6eval | rakudo 466baf: OUTPUT«Could not find non-existent sub d» | ||
pmichaud | rakudo: say ('.' ~~ :d) ?? 'aye' !! 'nay'; | 14:30 | |
p6eval | rakudo 466baf: OUTPUT«aye» | ||
jnthn | pmichaud: Should be easy enough to do now. | ||
KyleHa | Ooh, neat! | ||
pmichaud | rakudo: say ('xyz' ~~ :d) ?? 'aye' !! 'nay'; | ||
p6eval | rakudo 466baf: OUTPUT«nay» | ||
KyleHa | I gotta get my client to stop turning colon expressions into smileys. | 14:31 | |
Matt-W | argh | ||
KyleHa | That's ":" and "D" or "d"? | ||
Matt-W | all my #vim: lines have stopped working | ||
Lorn | ruoso: ok, if i could help in anything ... | 14:32 | |
jnthn | KyleHa: :d | ||
oh, wait | |||
d! | |||
KyleHa | Thank you!! | ||
moritz_ | :d constructs a pair with key 'd' | ||
jnthn | very happily | ||
moritz_ | Matt-W: that would drive me to ruin :-) | ||
ruoso | Lorn, saquei! ;) | 14:33 | |
Matt-W | moritz_: I don't understand it at all | ||
it always worked before | |||
moritz_ | Matt-W: are they still enabled in your .vimrc? | ||
KyleHa | Is "x !~~ y" the same as "! (x ~~ y)" ? | 14:34 | |
dalek | kudo: 2827e45 | jnthn++ | src/pmc/perl6multisub.pmc: Get Perl6MultiSub to stringify sensibly. |
||
kudo: 1e742a7 | jnthn++ | src/builtins/io.pir: Missing pop_eh spotted by pmichaud++. |
|||
kudo: 91bb463 | jnthn++ | src/classes/Multi.pir: Implement prefix:<~> for MultiSub. This makes sure we stringify Parrot multisubs correctly (it may well we that we can drop this patch if Parrot changes how they stringify). |
|||
kudo: 2ae07bd | jnthn++ | src/setting/IO.pm: Before handling stuff off to Parrot IO, we should use prefix:~ to stringify it. Causes no spectest issues. |
|||
pmichaud | ...why should we stringify it? | 14:35 | |
pugs_svn | r27318 | ruoso++ | [re-smop] fix bug in the way scons build the ld options for building libmildew.so, as reported by Lorn++ | ||
Matt-W | moritz_: what's the option? | ||
pugs_svn | r27319 | jnthn++ | [t/spec] Make sure multis stringify to the name of the multi sub (may need review...). | ||
jnthn | pmichaud: 'cus otherwise Parrot does via get_string vtable call. | 14:36 | |
moritz_ | Matt-W: don't know it by heart | ||
jnthn | pmichaud: Thus ignoring all of our prefix:<~> | ||
KyleHa | Is "x !~~ y" the same as "! (x ~~ y)" ? | ||
ruoso | KyleHa, I think so... | ||
pmichaud | hmmmm | ||
ruoso | Lorn, see my latest commit | ||
moritz_ | KyleHa: yes, perhaps module small details | ||
KyleHa | Yay, thanks! | 14:37 | |
moritz_ | if you have a smartmatch case that returns a non-boolean | ||
jnthn | pmichaud: I'm not 100% sure it's the Right Thing either, but if we want to be able to customize stringification of Parrot-y things at all, we need this I think. | ||
moritz_ | a negated, taht is | ||
pmichaud | oh. | ||
jnthn | And I figured ~ is stringification, and things we print we'd expect to stringify first... | 14:38 | |
So it doesn't feel *so* wrong. | |||
pmichaud | actually, Str() is stringification. | ||
jnthn | To do it explicitly. | ||
*sigh* | |||
I've lost track of which way round all of that lot is. | |||
pugs_svn | r27320 | kyle++ | [t/spec] chdir tests with added paranoia | ||
ruoso | Lorn, you probably need to 'make clean; make' | ||
pmichaud | it's still not nailed down. | ||
jnthn | Right. | ||
masak | moritz_: I'd like to see a case where they differ. | ||
pmichaud | we can leave the prefix:~ call in place for now; it just feels like we're losing a potential multi-dispatch there when we do (by forcing it to a string) | 14:39 | |
jnthn | We pass it right off to Parrot IO. | ||
pmichaud | right, but I can envision that printing an object to a file might produce something different from its string representation. | ||
jnthn | Oh, you mean if it was an int (lowercase) or something... | 14:40 | |
Matt-W | moritz_: lovely. Debian (and therefore Ubuntu) just turn them off all the time because they're a security vulnerability | ||
moritz_ | rakudo: class A { method REJECTS($o) { 5 } }; say 3 !~~ A.new | ||
p6eval | rakudo 466baf: OUTPUT«5» | ||
moritz_ | rakudo: class A { method REJECTS($o) { 5 } }; say !(3 ~~ A.new) | ||
p6eval | rakudo 466baf: OUTPUT«Method 'ACCEPTS' not found for invocant of class 'A'» | ||
Matt-W turns them back on | 14:41 | ||
moritz_ | masak: see? :-) | ||
ruoso | moritz_, I didn't expect that... | ||
but it's cool indeed | |||
masak | moritz_: thank you. :) | ||
jnthn | pmichaud: But wouldn't Parrot's get_string just get called as it was before anyway? That still happens now... | ||
14:42
lucs joined
|
|||
jnthn | Just by prefix:~ | 14:42 | |
masak | so a type may ACCEPT and REJECT something simultaneously? :) | ||
14:42
lucs left
|
|||
moritz_ | masak: it can :-) | 14:42 | |
pmichaud | jnthn: assuming that $!PIO is always a FileHandle PMC and isn't overridden to be anything else, sure. | ||
jnthn: I'm not sure I want to make that assumption about $!PIO | |||
KyleHa | Would someone be willing to review my last change and confirm that I haven't done something braneless? dev.pugscode.org/changeset/27320 | ||
masak | moritz_: sounds like something that belongs in (the yet unpublished work) "Perl 6 puzzlers" | 14:43 | |
ruoso | rakudo: class A { method ACCEPTS { 1 }; method REJECTS { 1 } }; say 3 ~~ A & 3 !~~ A | ||
p6eval | rakudo 466baf: OUTPUT«positional inside named args at position 2in method A::REJECTS (/tmp/o4sVcMJ3Qe:2)called from Main (/tmp/o4sVcMJ3Qe:2)» | ||
moritz_ | masak: want to write a book with me? :-) | ||
ruoso | rakudo: class A { method ACCEPTS { 1 }; method REJECTS { 1 } }; say (3 ~~ A) & (3 !~~ A) | ||
p6eval | rakudo 466baf: OUTPUT«positional inside named args at position 2in method A::REJECTS (/tmp/jsZmCuhp9q:2)called from Main (/tmp/jsZmCuhp9q:2)» | ||
masak | moritz_: it would be fun. :) | ||
moritz_ | ruoso: try && | ||
jnthn | pmichaud: OK. If you can come up with a better answer for fixing MultiSub stringification, let me know...I think I may ask if Parrot can fix it to take the name of the first candidate though tonight at #ps | ||
ruoso | rakudo: class A { method ACCEPTS { 1 }; method REJECTS { 1 } }; say (3 ~~ A) && (3 !~~ A) | 14:44 | |
p6eval | rakudo 466baf: OUTPUT«0» | ||
pmichaud | jnthn: I'd be happy with that. | ||
ruoso | rakudo: class A { method ACCEPTS { 1 }; method REJECTS { 1 } }; say (3 ~~ A), (3 !~~ A) | ||
p6eval | rakudo 466baf: OUTPUT«positional inside named args at position 2in method A::REJECTS (/tmp/8DfLEkjZPp:2)called from Main (/tmp/8DfLEkjZPp:2)» | ||
jnthn | pmichaud: Then we can toss this override. | ||
masak | ruoso: what is that error? | ||
looks funny. | |||
jnthn | pmichaud: I already wrote the code I'd want in Parrot's MultiSub anyway, in Perl6MultiSub. | ||
ruoso | rakudo: class A { method ACCEPTS { 1 }; method REJECTS { 1 } }; say [(3 ~~ A.new), (3 !~~ A.new)] | ||
p6eval | rakudo 466baf: OUTPUT«positional inside named args at position 2in method A::ACCEPTS (/tmp/seeaFWxjcu:2)called from Main (/tmp/seeaFWxjcu:2)» | ||
lisppaste3 | Lorn pasted "recompiling re-smop" at paste.lisp.org/display/82761 | ||
ruoso | gah | ||
pmichaud | jnthn: ultimately I wonder if it should be .Str anyway. | ||
Lorn | ruoso: another error :/ ^^ | ||
moritz_ | ruoso: try to give the methosd a signature | ||
pmichaud | we could patch in a .Str method to Parrot's MultiSub | ||
masak | moritz_: should it matter? | ||
moritz_ | I think that the implicit (*@_, *%_) doesn't really work | 14:45 | |
jnthn | pmichaud: We could too. | ||
ruoso | Lorn, give me the entire compilation | ||
jnthn | pmichaud: I'm inclined more to wait and see what is said at #ps tonight though. | ||
pmichaud: That could mean we can do away with having to worry about this. | |||
ruoso | rakudo: class A { method ACCEPTS($x) { 1 }; method REJECTS($x) { 1 } }; say [(3 ~~ A.new), (3 !~~ A.new)] | ||
p6eval | rakudo 466baf: OUTPUT«sh: ./perl6: No such file or directory» | ||
ruoso | bah | ||
jnthn | pmichaud: Well, this case of it anyway. | ||
pmichaud | well, if the stringification needs to handle "infix:+" --> "infix:<+>" conversion, then it seems like that's non-Parrot-y anyway. | ||
moritz_ | KyleHa: it's sane (though we document that the tests should be run from the root dir, so that the path to the test file is always t/spec/...*.t | ||
KyleHa | moritz_: Thank you! | 14:46 | |
moritz_ | so the first check is a bit paranoid (but paranoia isn't all that bad :-) | ||
KyleHa | moritz_++ # Checking my work | 14:47 | |
jnthn | pmichaud: Right, but that's an issue for a Sub rather than a MultiSub. | ||
lisppaste3 | Lorn pasted "recompiling re-smop2" at paste.lisp.org/display/82762 | ||
pmichaud | oh, I see. | ||
jnthn | Oh, but we still have them as Parrot subs. | ||
Not re-blessed ones. | |||
So hmm. | |||
Yes, it'll still be an issue, just in a different place. | |||
pmichaud | and you're saying that MultiSub should delegate to its first child. Hmm. | ||
Lorn | ruoso: ^^ | ||
jnthn | A MultiSub doesn't actually know it's name. | ||
pmichaud | I'm not sure that delegating to first child is correct. | ||
14:48
jaldhar left
|
|||
pmichaud | Feels like a MultiSub should have its own name. | 14:48 | |
jnthn | A Sub does. | ||
That's going to take a Parrot change to make happen. | |||
pmichaud | sure, I understand. | ||
but from a modeling perspective, a MultiSub should act more like a Sub than an RPA | |||
it's just a Sub with some special dispatch. | 14:49 | ||
jnthn | I know, I've moaned about that for ages. | ||
14:49
justatheory joined
|
|||
pmichaud | so, if Subs have a name, then MultiSubs should also have one. | 14:49 | |
jnthn | We've got workarounds thanks for MultiSub being an RPA. | ||
ruoso | Lorn, looking | ||
jnthn | Aye. Just depends on someone dealing with the Parrot stuff that needs doing. | 14:50 | |
I suspect by now that since nobody else has taken it on, that may have to be me. | 14:51 | ||
Can try and get some clarifications on it at #ps tonight maybe. | |||
What will be OK to change, what will need a deprecation cycle, etc. | |||
ruoso | Lorn, strange, you have undefined symbol somewhere you shouldn't... | 14:52 | |
pmichaud | that sounds like something that perhaps belongs on parrot-dev instead of #ps | ||
14:52
christine left
14:53
nihiliad joined
|
|||
jnthn | You think? | 14:53 | |
pmichaud | it's a big enough change that it might want some discussion as to why the change is needed and what's likely to be affected | ||
14:54
christine joined
|
|||
jnthn | Aye, I'm not sure completely what the fallout would be. | 14:54 | |
pmichaud | I'm not sure what the timeline is, but my initial suggestion would be message to parrot-dev this week and decision at next week's #ps | ||
jnthn | Or whether it's a few hours or a day or two's effort. | ||
literal | christine: nice domain name you've got there | 14:55 | |
jnthn | pmichaud: Sure, decision soon is fine, though it's not a huge priority/really urgent issue. | 14:56 | |
So far as I can tell, anyway. | |||
rakudo: sub a { state $x //= 3; $x++; say $x }; a(); a() | |||
p6eval | rakudo 2ae07b: OUTPUT«44» | ||
jnthn | rakudo: sub a { state $x //= 3; say $x }; a(); a() | ||
p6eval | rakudo 2ae07b: OUTPUT«33» | ||
jnthn | eww | ||
moritz_ | that latter is correct, I'd say | 14:57 | |
jnthn | ? | ||
oh, it is, yes | |||
moritz_ | well, it assigns 3 on the first iteration | ||
s/iteration/call/ | |||
and stays at that | |||
jnthn | ok, what I wanted more to get at was | ||
rakudo: my $a = 3; sub a { state $x //= $a++; say $x }; a(); a() | |||
p6eval | rakudo 2ae07b: OUTPUT«34» | 14:58 | |
jnthn | That's wrong. | ||
moritz_ | aye | ||
rakudo: sub a { state $x //= { say "once" }.() }; a(); a() | |||
p6eval | rakudo 2ae07b: OUTPUT«onceonce» | ||
pmichaud | looks like //= might've done a binding instead of an assignment. | ||
jnthn | pmichaud: nah, it's that we single out infix:<=> with a state on the RHS. | 14:59 | |
erm | |||
LHS | |||
moritz_ | uhm | ||
jnthn | Whereas actually we want to treat anything related to = that way. | ||
moritz_ | but even then it shouldn't be undef on the second call | ||
pmichaud | we do that syntactically? | ||
moritz_ | thus never calling the RHS again | ||
jnthn | let me check | ||
Aye, RHS should be run once. | 15:00 | ||
pmichaud | it's also possible that //= isn't really short circuiting. | ||
jnthn | pmichaud: Yes, we do detect = in the actions. | ||
moritz_ | rakudo: my $x = 3; $x //= { say "once"; 2 }.() | ||
pmichaud | jnthn: ick. | 15:01 | |
jnthn | With a state var on the LHS. | ||
p6eval | rakudo 2ae07b: ( no output ) | ||
jnthn | pmichaud: How would you have done it then? | ||
pmichaud | jnthn: that feels wrong. Feels like the state should be a proxy of some sort. | ||
moritz_ | that indicates that normally it does short-circuit | ||
jnthn | proxy? | ||
Thing is, we do want to persist assignments usually. Just not the one in the declaration. | 15:02 | ||
And the declaration is something we can statically see is there. | |||
We shouldn't introduce runtime overhead for stuff we can spot and handle just fine at compile time. | 15:03 | ||
pmichaud | then we need to be looking for the 'assign' trait on the operator instead of syntactically checking for '=' | ||
jnthn | That sounds much more correct. | ||
Do we already have that in place? | |||
pmichaud | but it's still going to be an issue | ||
because we'd have to deal with state $x op= ... | |||
where "op" is a user-defined op. | 15:04 | ||
and in this case is a metaop. | |||
jnthn | That'd still get the assign trait, no? | ||
pmichaud | sure, it'd get the assign trait. I'm just wondering about when/if we dynamically generate metaops | ||
15:05
jlaire joined
|
|||
pmichaud | and we don't currently have the assign trait set. | 15:05 | |
rakudo uses a 'lvalue' trait. | |||
15:05
cmv left
|
|||
pmichaud | (we can add the assign trait) | 15:05 | |
jnthn | What should I do for now? (a) pick more operators out for now, (b) go on the lvalue trait (is that on the operator?) or (c) try to add the assign trait? | 15:06 | |
pmichaud | not (a) | ||
jnthn | I suspected not. :-) | ||
pmichaud | I'd go for assign trait on operators | 15:07 | |
I'd check to see if STD still has them, though. | |||
(checking) | |||
looks like "no" | 15:09 | ||
Matt-W | aah man | 15:11 | |
my brain is completely not working today | |||
pmichaud | anyway, if done as a proxy.... (more) | ||
15:12
justatheory left
|
|||
pmichaud | what I would do is have state $x generate some sort of object that ignores .STORE if $x has already been instantiated | 15:12 | |
jnthn | Huh? | ||
pmichaud | right now values get placed into containers via their .STORE method | 15:13 | |
jnthn | state $x = 42; $x += 5; # Ignores STORE in one place and nother others? | ||
s/nother/not/ | |||
pmichaud | note that "state $x" would produces something different from $x | ||
$x would just return $x, as normal. | |||
moritz_ | but would that solve the problem of short-circuiting? | ||
jnthn | I'm not really up for completely re-writing state handling... | ||
pmichaud | but having "state $x" produce something that can ignore .STORE sounds more robust to me. | 15:14 | |
moritz_: yes, I think it would resolve the short-circuit issue. | 15:15 | ||
jnthn | I'm fine if you want to re-do it that way. | ||
moritz_ | I don't see how, but I'm not the one who implements it :-) | 15:16 | |
pmichaud | moritz_: the problem right now is that assignment to a state variable is detected syntactically | ||
jnthn | I just don't feel like spending time re-writing something that's already mostly correct, if we can know when we're dealing with an assignment operator. | ||
pmichaud | jnthn: I don't see anything in STD that indicates that we can know when we're dealing with an assignment operator | ||
15:16
molaf_x joined
15:17
molaf_x left
|
|||
pmichaud | I'm also wondering if there are other operations that could have the same effect without assignment. | 15:17 | |
For example: push (state @x), 1 | 15:18 | ||
15:18
molaf_x joined
|
|||
jnthn | I think that'd push every time. | 15:18 | |
pmichaud | yes, it probably would. | ||
jnthn | However, if you're suggesting making state @x be different from just mentioning @x, then we hit a problem. | 15:19 | |
(Since that would ignore the assignment.) | |||
pmichaud | why? | 15:20 | |
I don't see the problem. | |||
jnthn | Ah, I guess push wouldn't do a STORE internally so it's OK there. | ||
pmichaud | well, push would be doing .STORE on @x[*] and not on @x | ||
obra_ | pmichaud: When might be a good time to get you to rip apart a potential rakudo patch? github.com/obra/rakudo/commit/3887d...7c2f973060 | 15:21 | |
jnthn | Right. | ||
pmichaud: Hmm...appears //= doesn't have :lvalue set. | 15:22 | ||
pmichaud | obra_: I'm fine with refactoring print_file(), but I don't think that _init.pm should be treated specially in gen_setting_pm.pl | ||
_init.pm should be handled the same as the other .pm files | |||
obra_ | pmichaud: From my very poor understanding of Perl 6 and the setting, it didn't look like the other .pm files were executed at init time | 15:23 | |
pmichaud | obra_: that's just because BEGIN needs a bit of work. | ||
obra_ | It looked like they were all essentially class definitions, rather than setup. | ||
ok. | 15:24 | ||
15:24
rfordinal joined
|
|||
obra_ | What's the right way for me to evolve this toward something useful? | 15:24 | |
pmichaud | I don't know at the moment. The other question/item is that @*INC = .... should probably become my @INC is context<rw> = ... | 15:26 | |
but we don't have "is context" working just yet (not far away) | |||
is the primary intent of the patch to move something from PIR into setting ? | 15:27 | ||
or is there something else it's achieving that I'm not seeing? | 15:28 | ||
jnthn: //= doesn't have :lvalue set, but then STD.pm doesn't have :lvalue at all. | 15:30 | ||
15:30
clintongormley joined,
ejs0 left
|
|||
moritz_ | but STD.pm doens't yet care about execution. | 15:31 | |
pmichaud | I'd like to find out from TimToady or p6l how we're to detect state variable assignment (i.e., by available information at compile time or by "state $x" returning something that acts differently at runtime) | ||
jnthn | pmichaud: OK. | ||
I'd like to think it's something available at compile time. | |||
pmichaud | I'm fine with it being a compile-time item, I'd just like to know that's the intended direction before we start layering a lot of non-STD stuff in place. | ||
obra_ | The primary intent is to move @INC from PIR to the setting in advance of a first pass at being able to specify where to look on disk for installed modules | ||
(And yes, I know a single tree of installed modules won't fulfill the full spec for authorities, but it's a babystep toward letting people install modules) | 15:32 | ||
pmichaud | obra_: ultimately I'm fine with this patch (more) | ||
I'm not sure why @INC would need to move to the setting to do what you're intending to do though. | 15:33 | ||
(Yes, I'm in favor of moving @INC to the setting. I'm curious why it's a first pass) | |||
obra_ | My assumption is the basic intent is to get as much of Perl 6 defined in Perl 6 as possible. And I know more Perl 6 than I know PIR. | ||
pmichaud | okay. | 15:34 | |
jnthn | pmichaud: OK. I have a patch here that makes //= an lvalue (I added that and suspect it not being lvalue as an oversight rather than deliberate), and it fixes both RT tickets. I can hold of applying though if you'd rather we wait first. | ||
(The patch doesn't just do that, it switches to look for lvalue rather than infix:=). | |||
15:34
macae left
|
|||
pmichaud | jnthn: I leave it to your discretion. I'm fine with applying the lvalue patch for now, but I'd still like us to get clarification on what's correct. | 15:34 | |
obra_: okay, so it is primarily to get @*INC into the setting. | 15:35 | ||
obra_ | Yes. | ||
pmichaud | obra_: that's excellent with me. I'll probably add a note about the "is context" part, though. | ||
obra_ | I'm happy to recast it as two patches. | ||
pmichaud | one patch is fine. | ||
jnthn | It's a fairly minor code re-arrangement to do it. I'll spectest it fully first of course. | ||
obra_ | ok. | ||
jnthn | pmichaud: Completely agree about getting TimToady's input as well though. | ||
15:38
mvuets left
|
|||
Tene | moritz_: Yes, I found Parrot bugs when I tried threading from rakudo. It wasn't a segfault, though, but a failed ASSERT. I can show anyone who cares to know what the problem is, but I don't understand those internals well enough to know what they should be doing to fix it. | 15:40 | |
moritz_ | Tene: did you open a parrot ticket? | ||
(iirc that's what allison asked for, threading tickets) | |||
Tene | moritz_: I think so... | 15:41 | |
jnthn | Tene: I tried it a while back too... | ||
15:41
zamolxes_ joined
|
|||
dalek | kudo: bcdaaff | pmichaud++ | docs/release_guide.pod: Update release_guide.pod with more names. |
15:41 | |
jnthn | Tene: But I managed to get weird exceptions and segfaults, rather than assert fails. ;-) | ||
15:42
zamolxes_ left
|
|||
Tene | jnthn: when cloning the interpreter, there's a loop that tries to copy the classes into the new interpreter, and it fails badly on classes like 'Perl6';'Something' | 15:42 | |
masak | pmichaud: "Pittsburgh" is no longer a planned release, is it? | 15:43 | |
moritz_ | so parrot's threading model is "copy everything"? | ||
and Perl 6's is "share everything" | |||
YaY | |||
jnthn | Tene: It probably shouldn't be copying classes. | ||
15:43
clintongormley left
|
|||
Tene | moritz_: trac.parrot.org/parrot/ticket/757 | 15:44 | |
jnthn | moritz_: Parrot has more than one type of thread, and (in theory) offers you a decision about how much copying to do etc. | ||
pmichaud | masak: you're correct, it's no longer "Planned". I wonder how that commit got lost/reverted. | ||
15:44
justatheory joined
|
|||
masak | pmichaud: fixed it for you. | 15:45 | |
oh, you beat me to it. :P | |||
Tene | jnthn: trac.parrot.org/parrot/attachment/.../tt757.pir | ||
jnthn | Tene: your async looks like what I tried, but I'm not sure I used run_clone. | ||
Tene | jnthn: run_clone is just something else with defaults | 15:46 | |
pmichaud: I wrote an implementation of "is cached" for rakudo last night, but I failed on the "replace the original" part of it. | |||
moritz_ | Tene: you can use .wrap for that, I think? | ||
jnthn | Aye, building on .wrap is probably easiest. | 15:47 | |
Tene | Okay, I'll look at that. | ||
moritz_ | otoh then calling .unwrap will undo the 'is cached()' thing... | ||
dalek | kudo: 7032827 | pmichaud++ | docs/release_guide.pod: Release #18 is no longer "planned" -- it "happened". masak++ |
||
Tene | Which might or might not be what is wanted. | ||
moritz_ | we might or might not want to write a mail to p6l to find out :-) | 15:48 | |
jnthn | moritz_: You need to pass the wrap handle it though, no? | ||
I don't think there's a parameter-less unwrap. | |||
Tene | jnthn: anyway, src/pmc/parrotinterpreter.pmc +94 | ||
15:49
last joined,
exodist joined
|
|||
Tene | I have no idea what that code is supposed to do. | 15:49 | |
jnthn | Tene: OH NOES! | 15:50 | |
It's dealing with class names in terms of strings! | |||
Rather than dealing with the class PMC itself | |||
It seems to be anyway. | |||
Anyway, I suspect that | 15:51 | ||
Tene | Yes. | ||
jnthn | if (flags & (PARROT_CLONE_LIBRARIES | PARROT_CLONE_CLASSES)) { | ||
Wants to be false for Perl 6. | |||
Tene | It's trying to delete from the class_hash by string lookup and failing. | ||
jnthn | Otherwise class A { }; my $a = A; async { say $a === A }; # false, not true | ||
In fact for Perl 6, looking at all the stuff it clones, I'd only epxet the following to get cloned: | 15:52 | ||
if (flags & PARROT_CLONE_RUNOPS) | 15:53 | ||
pmichaud | t/spec/S32-num/rand.rakudo 110 4 107-110 | ||
anyone else seeing this? | |||
jnthn | if (flags & PARROT_CLONE_INTERP_FLAGS) { | ||
pmichaud: Yes | |||
pmichaud: I was counting it in as one of the GC-ish ones, but it may not be. | |||
pmichaud | it seems to fail even with -G | ||
jnthn | I'm sure it's been happening ever since I got back... | ||
Ah, OK. | |||
pmichaud: Yup, can re-produce with -G too. | 15:55 | ||
15:55
last left
|
|||
moritz_ | it's been failing for quite some time now. | 15:55 | |
jnthn | rakudo: my $seed = 42; srand(:x($seed)); | 15:56 | |
p6eval | rakudo bcdaaf: OUTPUT«FixedIntegerArray: index out of bounds!in Main (/tmp/ScuRMbxQJv:2)» | ||
jnthn | rakudo: srand(:x(1)); | ||
p6eval | rakudo bcdaaf: OUTPUT«FixedIntegerArray: index out of bounds!in Main (/tmp/lCCWPjbzJS:2)» | ||
jnthn | There. Reduced. | ||
pmichaud | ah. | 15:57 | |
moritz_ | rakudo: srand(1); say rand() | ||
p6eval | rakudo bcdaaf: OUTPUT«0.0416303447718782» | ||
moritz_ | rakudo: srand(1); say rand() | ||
pmichaud | the srand function doesn't like the named param. | ||
p6eval | rakudo bcdaaf: OUTPUT«0.0416303447718782» | ||
jnthn | Ah | ||
moritz_ | so it's actually a changed test file? | ||
pmichaud | .sub 'srand' .param num seed :optional .param int has_seed :opt_flag | ||
moritz_: looks like it, yes. | 15:58 | ||
jnthn | Still a weird error to give | ||
Shouldn't it fail to bind? | |||
Maybe PCC bug. (SURPRISE!!!) | |||
pmichaud | well, srand() isn't given as a multi at present | ||
jnthn | ? | 15:59 | |
pmichaud | so yes, I'm guessing PCC bug | ||
jnthn | PCC has various bugs. | ||
pmichaud | probably something to do with :optional | ||
jnthn | :-( | ||
pmichaud | I'll reduce it down to a trac ticket and then we'll fix the test. | ||
(and review the srand spec) | |||
:x(1) doesn't seem all that useful. | |||
masak | test 27 failing in t/spec/S12-enums/basic.rakudo -- I guess that one is known? | 16:00 | |
pmichaud | I haven't seen that one. | ||
KyleHa | What is PCC? | ||
moritz_ | it's ticketed | ||
pmichaud | PCC = "Parrot calling conventions" | ||
moritz_ | KyleHa: parrot calling conventions | ||
masak | it's not marked TODO or anything in the test file. | ||
KyleHa | Thank you. | ||
moritz_ | the srand test should be skipped, at least | ||
jnthn | pretty cocked-up crap | ||
;-) | |||
moritz_ | allison was going to fix it for an age and a half... | 16:01 | |
jnthn | Tell me about it. :-( | ||
huf | still beating out the bugs from parrot? | ||
jnthn | moritz_: There's a test file S04-declarations\state-rt67058.t | 16:02 | |
That tests one specific bug | |||
moritz_: Should be moved into state.t, right? | |||
KyleHa | jnthn: I did that. | ||
moritz_ | jnthn: ask KyleHa about it | ||
IMHO a merge would be nice, yes | |||
jnthn | KyleHa: It passes now. :-) | ||
KyleHa | jnthn: Yay. I'll put it in with the other state.t tests. | 16:03 | |
jnthn | KyleHa: That'd be great if you could do that. | ||
KyleHa | I separated it since it seemed to interact with the other code. | ||
jnthn | Aye, though a lot of state.t also does. :-) | ||
pugs_svn | r27321 | jnthn++ | [t/spec] Unfudge test for RT#67040, which we now pass. | 16:05 | |
dalek | kudo: a4978b9 | pmichaud++ | src/ (2 files): Add infix:<minmax> operator -- resolves RT #66640. |
16:06 | |
kudo: c4e546e | jnthn++ | src/parser/ (2 files): Change the way we detect state variable initialization to be more general. Resolves both RT#67040 and RT#67058. |
|||
kudo: 95a2c4f | pmichaud++ | src/builtins/any-str.pir: Improve error message for "substring not found" (RT #66624). |
|||
masak | also, have you seen this error from t/spec/S32-list/minmax.rakudo? gist.github.com/138237 | ||
kudo: 86271a6 | jnthn++ | : Merge branch 'master' of [email@hidden.address] |
|||
masak | I'm looking at the code, but I can't seem to spot where that Block is being incremented. | 16:07 | |
pugs_svn | r27322 | pmichaud++ | [t/spec]: Add tests for minmax operator (RT #66640). | ||
16:08
nihiliad left
|
|||
jnthn | pmichaud: Yay! We've got the queue back under 400! | 16:08 | |
pmichaud | jnthn: I'm aiming for 390, I think. | ||
but yes, I'm glad to be back under 400 again :-) | |||
jnthn | Well, if there's two of us going at it... :-) | ||
Are you Rakudo-daying today too? | 16:09 | ||
pmichaud | yes. | ||
jnthn | Ah! | ||
Excellent. :-) | |||
pmichaud | I'm doing 1.5 rakudo days this week. | ||
I did .5 rakudo day last week, but got sidetracked talking to others at YAPC | |||
pugs_svn | r27323 | kyle++ | [t/spec] Move state-rt67058.t into state.t | ||
jnthn | pmichaud: Aha, OK. | 16:10 | |
16:11
nihiliad joined
|
|||
jnthn | 397 now. :-) | 16:11 | |
pmichaud | masak: when are you getting the 138237 error? | ||
PerlJam | masak: I just updated and built rakudo (And updated the spectests) and I don't get that error at all. | 16:12 | |
pmichaud | I'm heading out for lunch and errands | 16:13 | |
while gone I'm running a spectest to see if we can bump PARROT_REVISION, as it will close at least one more ticket. | |||
16:13
dukeleto left
|
|||
masak | pmichaud: I get it when I run the command as shown in the gist paste. | 16:13 | |
pugs_svn | r27324 | lwall++ | [S11] attempt to break down use/require further for ELISHEVA++ | 16:14 | |
masak | pmichaud: since that's obvious, that can't have been your question. :) | ||
hm. "I got it three minutes ago." no, that's not it either. | |||
pmichaud | it was my question -- I didn't see the command line there. | ||
masak | ok. | 16:15 | |
PerlJam | masak: how old is your rakudo? How old is your copy of the spectest? :) | ||
pmichaud | masak: are you still getting the error? | ||
TimToady | strange day when I write for the chatterbox before I even backlog #perl6 :) | ||
s/write/write spec/ | |||
pmichaud | masak: perhaps try: "parrot/parrot -G perl6.pbc t/spec/S32-list/minmax.rakudo" | ||
masak | pmichaud: will do. | 16:16 | |
pmichaud | and then try without the _G | ||
-G | |||
jnthn | rakudo: class A { has $.cl = { self.say } }; A.new.cl()() | ||
p6eval | rakudo bcdaaf: OUTPUT«A()<0xb678ee88>» | ||
masak | runs fine both with and without the -G. | ||
runs un-fine with 'perl6'. | 16:17 | ||
jnthn | Woo, masakbug 307 is fixed already. ;-) | ||
pmichaud | are you sure you're running the correct "perl6"? | ||
masak checks | |||
pmichaud | maybe "./perl6 ..." instead? | ||
16:18
jlaire_ joined
|
|||
masak | pmichaud: I have /usr/local/bin/perl6 symlinked to perl6 in the current dir. './perl6' gives the same result. | 16:18 | |
pmichaud | weird. | ||
masak | aye. | 16:19 | |
but consistent. :) | |||
pmichaud | maybe try a realclean + rebuild at some point, but I'm not sure where the problem is coming from. | ||
masak | no, I always build with realclean. | ||
that can't be the problem. | |||
PerlJam | famous last words | 16:20 | |
pmichaud | I don't know, then. | ||
masak | I'll do a global update/realclean/rebuild just to make sure. | ||
PerlJam is right -- I did cheat last time and just rebuilt Rakudo, not Parrot and Rakudo together. | |||
but my feeling is that that's not it. | 16:21 | ||
16:21
jlaire left
|
|||
PerlJam | well, the only other place I can think to look is to make sure that the parrot you just ran with is the same parrot you compiled perl6 with. | 16:21 | |
KyleHa | Does the minmax operator require that the things passed to it be sorted? | 16:22 | |
16:22
jlaire_ is now known as jlaire
|
|||
PerlJam | (but that's a really weird error to get even if the parrots are not the same:) | 16:22 | |
pmichaud | KyleHa: no, not as far as I know. | ||
16:23
cdarroch joined
|
|||
KyleHa | rakudo: say (4,5 minmax 8,1) | 16:23 | |
p6eval | rakudo bcdaaf: OUTPUT«Statement not terminated properly at line 2, near "minmax 8,1"in Main (src/gen_setting.pm:3270)» | ||
pmichaud | actually, the .succ error isn't so weird. It's the same sort of error I get on my other -G related faults (i.e., something seems to be calling ".succ" for no reason at all) | ||
PerlJam | pmichaud: crazy. | ||
KyleHa | I have this failing test: is((4,5 minmax 8,1), (1,8), 'minmax works when both are on right list'); | 16:25 | |
PerlJam | KyleHa: that looks like a precedence problem to me. | ||
pmichaud | KyleHa: did you update your version of rakudo to the one that implements minmax? | ||
KyleHa | pmichaud: The other minmax tests pass. | ||
pmichaud | then I suspect the test -- where is it? | 16:26 | |
KyleHa | I haven't committed it. | ||
pmichaud | oh. | ||
the correct answer would be (4,5), though. | |||
16:26
M_o_C left
|
|||
KyleHa | Oh. Then I don't understand the operator. | 16:26 | |
pmichaud | I don't either. | ||
pugs_svn | r27325 | jnthn++ | [t/spec] Add test for RT#64654 issue, now that Rakudo seems to handle it find (likely fallout from related changes a while back). | 16:27 | |
pmichaud | But that's the way it is spec'd. | ||
Lorn | ruoso: ping | ||
masak | ok, good news. total rebuild -> problem gone. | ||
PerlJam++ | |||
moritz_ | we want the total rrebuilt! | ||
ruoso | Lorn, pong | 16:28 | |
KyleHa | Also fails: is((4,5 minmax 1,8), (1,8), 'minmax works when both are on right list'); | ||
ruoso | Lorn, I'm trying to understand what the problem is | ||
but you're linking with -lperl and the symbols it's complaining about are defined in libperl | |||
pmichaud | KyleHa: the way minmax was explained to me, is that (4,5 minmax 1,8) would be the same as (4 min 1, 5 max 8) | ||
KyleHa | pmichaud: So, (4,5 minmax 1,8) is (1,8). Yes? | 16:29 | |
Tene | and what's the actual use of minmax, again? | ||
pmichaud | > say (4,5 minmax 1,8).perl | ||
[1, 8] | |||
lambdabot | Not in scope: `say'Not in scope: `minmax'Not in scope: `perl' | ||
pmichaud | (that's what I get on my system) | ||
PerlJam realizes he doesn't understand minmax either. | 16:30 | ||
pmichaud | rakudo: say (4,5 minmax 1,8).perl | ||
moritz_ | rakudo: say (4,5 minmax 1,8).perl | ||
p6eval | rakudo bcdaaf: OUTPUT«Statement not terminated properly at line 2, near "minmax 1,8"in Main (src/gen_setting.pm:3270)» | ||
16:30
exodist left
|
|||
pmichaud | (p6eval still not updated) | 16:30 | |
moritz_ | updating now, please stand by... ;-) | 16:31 | |
16:31
Tene left
|
|||
pugs_svn | r27326 | ruoso++ | [re-smop] force a space before ccopts and ldopts so the substitution dont loose anything | 16:31 | |
pmichaud | afk, lunch | ||
16:33
zamolxes left
|
|||
lisppaste3 | Lorn annotated #82761 "recompiling re-smop" at paste.lisp.org/display/82761#1 | 16:33 | |
ruoso | TimToady, there's an issue in the way S11 was expanded... | ||
KyleHa | OK, I've decided it was my tests. | ||
Sorry about the false alarm. | |||
ruoso | TimToady, you say MY::$_ := load_module | ||
Lorn | ruoso: ^^ | 16:34 | |
ruoso | Lorn, looking | ||
moritz_ | rakudo: say (4,5 minmax 1,8).perl | ||
p6eval | rakudo 86271a: OUTPUT«[1, 8]» | ||
ruoso | TimToady, it should return the type, but it would need to also bind the package name | ||
TimToady, since the package Object and the Type object are not the same thing | 16:36 | ||
pugs_svn | r27327 | kyle++ | [t/spec] A few more tests for minmax | ||
r27328 | ruoso++ | [re-smop] hmm... for some reason, libs werent being linked correctly to the modules... why didnt this blow before? | 16:37 | ||
ruoso | Lorn, ^^ | 16:38 | |
16:38
last joined
|
|||
ruoso | TimToady, in practical terms, load_module would need to return the outermost lexical scope of the loaded comp_unit | 16:39 | |
16:40
mizioumt1 joined
|
|||
jnthn -> break for a bit | 16:40 | ||
16:40
Patterner left
|
|||
TimToady | that's more or less what the importer in Cursor does, with an attached symbol GLOBALish that has the module'd idea of GLOBAL | 16:41 | |
's | |||
viklund | /lastlog timtoady | ||
ruoso | TimToady, if a file starts with "my module Sense;" | 16:42 | |
will "use Sense" work as expected? | |||
my point is, getting it from GLOBAL:: may not be enough | 16:43 | ||
lisppaste3 | Lorn annotated #82761 "recompiling re-smop" at paste.lisp.org/display/82761#2 | ||
TimToady | exports come from MY::EXPORT::DEFAULT and such | ||
Lorn | ruoso: ^^ | ||
TimToady | so I think it should work | ||
ruoso | TimToady, I'm not only talking about EXPORT | ||
I'm talking about the actual named "Sense" | |||
16:43
hercynium joined
|
|||
ruoso | Lorn, ok... now you need libperl | 16:44 | |
TimToady | phone | ||
ruoso | Lorn, in a debian machine you would apt-get install libperl-dev | ||
16:44
hercynium left
|
|||
Lorn | ruoso: i have libperl | 16:44 | |
i think ... wait :P | |||
moritz_ | dpkg -l libperl-dev | 16:45 | |
16:45
Psyche^ joined
|
|||
ruoso | moritz_, he's using slackware... | 16:45 | |
16:45
Psyche^ is now known as Patterner
|
|||
moritz_ | hm. | 16:45 | |
16:47
mizioumt left
|
|||
pugs_svn | r27329 | ruoso++ | [re-smop] missed LIBPATH | 16:47 | |
TimToady | in Cursor I don't get the top symbol from GLOBAL:: at all, I get it from the lexical scope's alias of whatever the module name is, so 'my module Sense' works okay (at least for that purpose) | 16:49 | |
ruoso | TimToady, right... so we agree to that point | ||
so load_module needs to return the outermost lexical scope | 16:50 | ||
TimToady | and certainly CORE.setting starts out as 'my module CORE' | ||
ruoso | so you can fetch it | ||
TimToady | I | ||
I'm sure that what S11 has will need some fine tuning, yes | |||
pugs_svn | r27330 | lorn++ | Add a comma | ||
TimToady | feel free to tweak it closer to what you think the primitives are | ||
ruoso | Lorn, when comitting in the pugs repo, add a "[part]" in the first line | 16:51 | |
Lorn | ruoso: ok, sorry | ||
ruoso | TimToady, ok... I'll give my shot, then you hit me ;) | 16:54 | |
16:56
rjh left
17:02
araujo joined
17:06
icwiener_ joined
|
|||
ruoso | TimToady, in "use Sense <common @horse>", do "&common" and "@horse" need to be in the Sense::EXPORT::ALL package? | 17:07 | |
TimToady | presumably | 17:09 | |
unless :ALL really means :DEFAULT :NONDEFAULT | 17:10 | ||
or "just check the symbol itself to see if it's marked 'export'" | |||
which is how Cursor currently implements it | 17:11 | ||
I don't really do :ALL yet though | |||
ruoso | TimToady, so is it sane to assume that <common @horse> become arguments to $package.EXPORTALL? | ||
TimToady | dunno, in Cursor the package is curently complete passive, so STD's model is a bit suspect that way as well | 17:12 | |
*currently | |||
but that's partly because everything is passive in STD so far | |||
17:12
rjh joined
17:13
masak left
|
|||
TimToady | everything STD does so far is without any BEGINish semantics | 17:13 | |
so things like enums and import lists are just faked | |||
ruoso | TimToady, I see... but it is expected that the module may have a chance of overwriting the importing behavior, right? | ||
TimToady | seems fair to provide that chance, especially if we want to have policy modules | 17:14 | |
ruoso | ok... I'm almost finished with the proposed change... | ||
moritz_ | ruoso: is there anything from smop/ still left to be ported to re-smop/? | 17:15 | |
ruoso | moritz_, only the lowdoc, iirc | ||
moritz_ | ruoso: the sooner you remove it from the repo the more confusion you'll avoid | 17:16 | |
ruoso | I'm aware of it... I'm just getting rid of some work stuff before I concentrate on it | ||
moritz_ | great | 17:17 | |
pugs_svn | r27331 | ruoso++ | [spec/S11] better to be sorry than not doing. here is my proposed change to the representation of how a module is loaded | 17:18 | |
ruoso | TimToady, ^ | ||
TimToady | roger | ||
hmm, seems to have change from functional to procedural :) | 17:20 | ||
*changed | |||
17:20
icwiener left
|
|||
ruoso | TimToady, I couldn't represent the change still being functional... ;) | 17:21 | |
but that's probably my fault | |||
pugs_svn | r27332 | kyle++ | [t/spec] Update the plan I b0rked in state.t | ||
TimToady | I will glare at it a while and see how it works out in Cursor, then we'll refine it s'more | 17:23 | |
but for now, shower & | |||
moritz_ | oh wwow, I just updated to latest parrot and rakudo, and now it segfaults/backtraces on every single test | 17:27 | |
PerlJam | moritz_: latest parrot or latest parrot that rakudo requires? | 17:29 | |
moritz_ | PerlJam: latest parrot. | 17:30 | |
I'll do a realclean + make again, just to be sure | |||
PerlJam | If you get too far ahead of the curve with parrot, rakudo does tend to have problems. | 17:31 | |
(at least that's been my experience) | |||
moritz_ | that's why I go ahead | 17:32 | |
pugs_svn | r27333 | kyle++ | [t/spec] Mark the test for RT #64288 and a bonus wise-ass remark | ||
moritz_ | to warn the other hackers ;-) | ||
mdxi | should HOW work in rakudo? (i've just started poking into perl6, reading the synopses and playing along) | 17:34 | |
and 'Str.HOW.methods.say' tells me i gave 1 arg instead of the required 3 | |||
moritz_ | rakudo: say (Str.^methods).perl | 17:37 | |
p6eval | rakudo 86271a: OUTPUT«[{ ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... }, { ... | ||
..}, { … | |||
moritz_ | mdxi: partially | ||
that looks very strange, because code objects are currently printed as { ... } on .perl | |||
rakudo: for Str.^methods -> $m { say $m.name } | |||
p6eval | rakudo 86271a: | 17:38 | |
..OUTPUT«ACCEPTSperlsprintfpredsuccWHICHScalarcanisadoesComplexelemsendkeyskvpicksortvaluesabsintlogpolarsqrtsrandtruncaterootsunpolarcharschomp:d:e:findexmatchrindexsubstrtranssubstevalfilefirstgrepjoinmapmaxminpairsreducereverseceilingchrc… | |||
moritz_ | now that's better ;-) | ||
17:38
mvuets joined
|
|||
mdxi | oh. i hadn't gotten to whatever notation .^methods is yet. guess i'll keep reading and be quiet :) | 17:39 | |
moritz_: thanks | |||
moritz_ | mdxi: no need to keep quiet, discussing is a good way to learn | 17:40 | |
and our docs aren't that good yet | |||
$foo.^bar is short for $foo.HOW.bar($foo) | |||
so it's a shortcut for a method call on the type object | |||
17:41
amoc left
|
|||
PerlJam | rakudo: Str.HOW.methods(Str).sort(*.name).join(" ").say | 17:43 | |
p6eval | rakudo 86271a: OUTPUT« !.* !.+ !.= !.? !.^ !MANY_DISPATCH_HELPER !STORE !cloneattr !from-radians !rebox !to-radians 1 1 1 ACCEPTS Array BUILD BUILDALL CREATE 1 Hash Iterator PARROT REJECTS Scalar Scalar Str WALK WHENCE WHERE WHICH WHICH 1 bless bytes can capitalize ceiling 1 1 chop chr cis clone | ||
PerlJam | :-) | ||
p6eval | ..comb d… | ||
PerlJam | rakudo: Str.HOW.methods(Str).sort(*.name).[0..10].join(" ").say | ||
p6eval | rakudo 86271a: OUTPUT« !.* !.+ !.= !.? !.^ !MANY_DISPATCH_HELPER !STORE !cloneattr !from-radians» | ||
PerlJam | rakudo: Str.HOW.methods(Int).sort(*.name).[0..10].join(" ").say | ||
moritz_ | arguably it should filter out the ! methods | ||
p6eval | rakudo 86271a: OUTPUT« !.* !.+ !.= !.? !.^ !MANY_DISPATCH_HELPER !STORE !cloneattr !from-radians» | 17:44 | |
mdxi | my guess was that it might have been a generic notation for "not me but my superclass, but that's by analogy with git's ^HEAD | ||
yay false cognates :) | |||
PerlJam | Str.HOW.methods(Int) bothers me for some reason | ||
moritz_ | mdxi: I'm sure that can be done somehow ;-) | ||
PerlJam | rakudo: Str.HOW.methods(Int).grep({!/^!/}).sort(*.name).[0..10].join(" ").say | 17:45 | |
p6eval | rakudo 86271a: OUTPUT«sh: ./perl6: No such file or directory» | ||
moritz_ | gah. | ||
regarding epic fail with current parrot: I exaggerated a bit | 17:46 | ||
a few tests came through just fine | |||
but the test summary is still several pages. | |||
PerlJam | rakudo: say "alive" | 17:47 | |
p6eval | rakudo 86271a: OUTPUT«sh: ./perl6: No such file or directory» | ||
moritz_ | since Configure.pl now always does a 'make clean' the rebuild takes much longer | 17:48 | |
mvuets | moritz_, so don't call it from a build dir. Build in separate folder and then just overwrite. | 17:49 | |
moritz_ | mvuets: rakudo uses hard-coded paths to its build tree :( | ||
mvuets | I hope it's a temporary solution? | 17:50 | |
mdxi | but as long as those points are accessible as the user running the perl6 binary, it still works just fine. i just ran into that problem an hour ago :) | ||
17:51
meppl left
|
|||
moritz_ | well, these points aren't available when I do a 'perl Configure.pl' which cleans the build tree | 17:51 | |
mdxi | oh, true. it nukes libparrot. | 17:52 | |
17:52
last left,
Molaf left
17:53
Molaf joined
|
|||
mvuets | Hm, maybe it's possible to use some "flip-flop" approach with two dirs, kinda '..' in boolean context? (: One Rakudo is updating, another one is working. | 17:55 | |
17:55
jhorwitz joined
|
|||
moritz_ | I could, in theory, have two completely iindepentend parrot and rakudo dirs | 17:55 | |
two each, I mean | |||
mvuets | supper & | 17:57 | |
18:00
fridim_ joined
18:01
payload1 left,
cogno joined
18:05
DemoFreak joined
|
|||
lisppaste3 | Lorn annotated #82761 "untitled" at paste.lisp.org/display/82761#3 | 18:08 | |
Lorn | ruoso: ^^ | ||
ruoso | Lorn, I think AST::Label might need more qualified info in the attributes | 18:10 | |
Lorn, you can add it in src/AST.pm | |||
Lorn | ruoso: fixed | 18:12 | |
ruoso: and working | |||
ruoso | cool | ||
18:14
meppl joined
|
|||
pugs_svn | r27334 | lorn++ | [re-mildew] Change shebang to /usr/bin/env perl, litle Moose changes in the | 18:15 | |
r27334 | lorn++ | src/AST.pm (AST::Label tip by ruoso) | |||
18:23
jan_ left,
cogno left
|
|||
mvuets | How terms sigil and twigil were formed? (I'm not native english-speaker, so cannot find any lexical meaning.) | 18:23 | |
18:24
cogno joined
|
|||
PerlJam | mvuets: www.merriam-webster.com/dictionary/sigil | 18:24 | |
moritz_ | twigil is probably just "two sigils" | ||
PerlJam | mvuets: and twigil is just a play on the word sigil | 18:25 | |
moritz_ | en.wikipedia.org/wiki/Sigil_(magic) also nice | ||
18:25
dalek left
18:26
dalek joined
|
|||
huf | some people have twigils in front of their name... such as mr peanut | 18:27 | |
PerlJam | en.wikipedia.org/wiki/Sigil_(comput...ogramming) (probably more useful to mvuets ;-) | ||
18:28
zamolxes joined
|
|||
moritz_ | "The name is based on the word meaning a magical symbol (see sigil (magic))." | 18:29 | |
mvuets | Ow, it appears that my dictionary was true (: I just didn't think that it relates to magic. Now i understand how magic is related. Thanks all! | ||
PerlJam | mvuets: perl has always been very magical | ||
18:29
cogno left
|
|||
moritz_ | in perl5 variables can have "magic" attached to them ;-) | 18:30 | |
mvuets | PerlJam, that's true. I didn't know what sigil means within Perl context. Now these two entities are tied in my mind. | 18:31 | |
18:31
cogno joined
|
|||
mvuets | All this once more shows Larry's linguistics education in action (= | 18:32 | |
18:33
jan_ joined
|
|||
pugs_svn | r27335 | moritz++ | [t/spec] correct and extend eqv.t | 18:34 | |
r27336 | moritz++ | [t/spec] test for RT #61774 | |||
18:38
Chillance joined,
justatheory left
18:43
hercynium joined
18:50
cogno left,
athomason joined,
payload joined
18:53
jevin left
|
|||
TimToady | except I didn't name them sigils. I think it was MJD that came up with that. | 18:53 | |
araujo | :P | 18:54 | |
mvuets | TimToady, so how you call them? | 18:55 | |
Binding ':=' is like an alias or two c-pointers to the same variable, correct? | 18:59 | ||
ruoso | mvuets, something like that, yes | 19:00 | |
moritz_ | ... then the perl 5 porters are currently discussing if it should be added to perl 5 too | 19:01 | |
mvuets | Didn't face yet: are there some kind of \references and $$dereferencing? Or are they needless? | 19:04 | |
19:04
jevin joined
|
|||
pugs_svn | r27337 | kyle++ | [t/spec/TODO] Some filetest methods that are not covered | 19:06 | |
moritz_ | mvuets: mostly unnesessary these days | ||
rakudo: my $x = <a b c>; say $x[1] | 19:07 | ||
p6eval | rakudo aa1a18: OUTPUT«b» | ||
19:10
last joined
|
|||
pugs_svn | r27338 | ruoso++ | [re-smop] each of the individual modules should link to its dependencies, but libmildew should only link to the direct dependencies | 19:12 | |
19:14
sri_kraih joined
|
|||
mvuets | moritz_, i see. | 19:16 | |
19:17
Tene joined
19:18
justatheory joined
|
|||
TimToady | I called them "funny characters" | 19:19 | |
PerlJam | they make you laugh? | 19:20 | |
TimToady | funny strange | 19:21 | |
pugs_svn | r27339 | ruoso++ | [re-mildew] add support for "compile to C" | 19:22 | |
TimToady | 'course, strange things make me laugh, but that's neither here nor there | ||
PerlJam | I don't know ... I'd call @ Jonathan Winters since it kinda looks like an egg which reminds me of Mork and Mindy ... :) | ||
KyleHa | Jonathan Winters is a funny character. | 19:23 | |
pugs_svn | r27340 | kyle++ | [t/spec] Test for RT #64262 | 19:24 | |
KyleHa | Could someone sanity check that test I put at the end of S04-statements/try.t pretty please? | ||
moritz_ git-svn rebase's | 19:25 | ||
TimToady | so is Victoria Winters | ||
moritz_ | KyleHa: uhm, if it doesn't catch its own exceptions, then the test will die. | 19:26 | |
unless you add another level of try { ... } around it | 19:27 | ||
KyleHa | Oh yeah. | ||
So one more level of 'try' around the try I have, and it should work, right? | 19:29 | ||
moritz_ | I think so | ||
19:30
sri_kraih_ left
|
|||
pugs_svn | r27341 | kyle++ | [t/spec] Fix my try/catch test after review from moritz++ | 19:30 | |
19:32
iblechbot joined
19:37
last left
19:41
FurnaceBoy joined
19:49
M_o_C joined,
Sark23 joined
|
|||
pugs_svn | r27342 | ruoso++ | [re-smop] dlopen now uses RTLD_LAZY | RTLD_GLOBAL | 19:49 | |
r27342 | ruoso++ | [re-smop] no longer builds the empty libmildew.so | |||
r27342 | ruoso++ | [re-mildew] includes all libraries in ../re-smop/build/lib | |||
pmichaud | @tell masak I'm seeing the same issues you saw -- nopaste.snit.ch/17070 | 19:52 | |
lambdabot | Consider it noted. | ||
19:55
M_o_C left
19:56
skids left
|
|||
pugs_svn | r27343 | jnthn++ | [t/spec] Test for RT#66998. | 19:58 | |
19:58
nbrown left
19:59
nbrown joined,
last joined
|
|||
jnthn | 3 to go until 390. :-) | 20:00 | |
20:00
ejs0 joined
|
|||
japhb | jnthn++ # My inbox has been fully of Happy Fun Ticket Closures | 20:01 | |
pmichaud++ # same reason :-) | |||
dalek | kudo: c51b9aa | jnthn++ | src/builtins/guts.pir: Fix inheritance from Object - it no longer tries to also add Any as a parent also (which explodes when building the C3). |
20:02 | |
Lorn | pugs/t/spec is tested under rakudo? | ||
jnthn | That of it which is listed in Rakudo's t/spectest.data, yes | 20:03 | |
japhb | Lorn: That is the official spectest library | ||
20:09
pmurias joined,
M_o_C joined
20:10
pmurias left
20:11
payload left
20:14
jlaire left
20:18
justatheory left
20:21
pmurias joined
|
|||
pmurias | hi | 20:21 | |
20:24
mvuets left
|
|||
ruoso | hi pmurias | 20:25 | |
I've made some changes in the compiling... I was getting some weird ld errors | |||
pmurias having backloged is a bit ashamed of all the bugs in the build system | 20:27 | ||
20:28
Chillance left
|
|||
pmurias | ruoso: the different smop modules aren't fully seperated | 20:28 | |
ruoso | pmurias, what do you mean? | ||
ah... because of the intra-dependecies | |||
yes | |||
I think we will eventually need to rework the scons into something that really takes into account the dependencies... | 20:29 | ||
pmurias, btw... there was one very important point in the backlog... have you noticed the S11 changes? first TimToady's then mine? | |||
pmurias | no... | 20:30 | |
ruoso | my change still needs to be validated, but TimToady didn't reject it upfront, which sounds like something good | ||
pmurias, basically it express in a bit more details what happens during "use Foo" | 20:31 | ||
pmurias looks at S11... | 20:36 | ||
ruoso: so the proposed scheme is very close to what we currently do | 20:41 | ||
pugs_svn | r27344 | kyle++ | [t/syntax/hyper_latin1.t] The test here didn't seem to be testing | 20:45 | |
r27344 | kyle++ | what it said it was testing, so I fixed that. I can't tell if the | |||
r27344 | kyle++ | test is valid according to any current spec, but that's separate. | |||
r27344 | kyle++ | | |||
r27344 | kyle++ | Note that the test passed before with Rakudo and now fails. | |||
moritz_ | KyleHa: that doesn't matter, because it wasn't in t/spectest.data anyway ;-) | 20:48 | |
KyleHa | Yeah... | ||
I only looked at it to see if I could figure out if it could go in t/spec. I saw that the test was written wrong but never figured out if it should go in spec. | 20:49 | ||
20:52
Jedai left,
justatheory joined
|
|||
TimToady | ruoso: re S11, it's probably going to take me the rest of the day to figure out how it really works | 20:52 | |
but there are certainly problems with the present formulation | 20:53 | ||
it's not well-typed | |||
the current Cursor approach abandons the $name ~ '::' hack | |||
japhb | TimToady: Only today? I'm thinking that's a tad optimistic. :-) | ||
[particle] | ...so is christmas... | ||
TimToady | it should be more multi-dispatched, probably | ||
and it ignores the distinction between shortnames and longnames | 20:54 | ||
among other things :) | |||
pmurias | KyleHa: latin1 not working unless explicitly declared is just common sense | 20:55 | |
TimToady | in STD/Cursor, types are always just barewords in the symbol table, pointing to a stab object which contains a stash | ||
dalek | kudo: fbc5428 | jnthn++ | src/ (6 files): Factor out type check error generation to one place and use it consistently. There are improvements we need to do to the reporting, but at least now we need to fix it in one place and the errors will now all consistently contain the type we got and the type we expected. |
||
TimToady | and the :: postfix will essentially just call .stash on the type object to get the hash | 20:56 | |
bbl & | 20:57 | ||
KyleHa | pmurias: So you think that test should go in spec somewheres and get fudged and stuff? | ||
moritz_ | please don't include any non-utf8 files in the spec | 20:58 | |
creating a Buf and calling eval on it would be better | |||
pmurias | this file is utf8 | ||
KyleHa | The file itself is utf8. | ||
moritz_ | I know. | ||
that was more of a general comment | 20:59 | ||
KyleHa | Oh, OK. | ||
ruoso | TimToady, right... it could take it from Type.WHO | ||
it's indeed better | |||
21:00
ejs0 left
|
|||
ruoso | TimToady, but if :: postfix is equivalent to getting Type.WHO, how do we prevent action-at-a-distance by the loading of modules that have nested names? | 21:01 | |
it needs to be stored as different objects... | 21:02 | ||
I've been storing the type as the bare Name, and the package as Name:: | 21:03 | ||
21:04
cls_bsd left,
cls_bsd joined
|
|||
ruoso | so when you "need Foo::Bar; need Foo::Bar::Baz;" you will only insert Baz in the current vision of the Package Foo::Bar::, not on the package as it was declared in the module | 21:04 | |
otherwise we'll have the p5 behavior | |||
ruoso decommute & | 21:06 | ||
jnthn | OK, I'm tired, so enough coding for one day. | 21:10 | |
Rakudo day write-up: use.perl.org/~JonathanWorthington/journal/39196 | |||
21:11
iblechbot left,
Whiteknight joined
|
|||
moritz_ | jnthn++ # both hacking and writing | 21:12 | |
japhb | jnthn++ # a good day indeed | 21:14 | |
jnthn | japhb: I glanced at that .wrap/lexicals issue you found too, but it hurt my branes so I saved it for another time. | 21:15 | |
japhb | jnthn: thanks for looking | ||
jnthn: I think that's what stands between me and a first cut at source-level profiling | |||
21:16
M_o_C left
|
|||
jnthn | japhb: Ah, interesting. :-) | 21:19 | |
japhb: I thought I knew what was missing, until I looked at the wrap implementation and realized it was already happening. | |||
So, something deeper. | 21:20 | ||
Probably outer context pointers getting messed up when I play around with the static chain a bit. | |||
21:20
ruoso left,
fridim_ left
|
|||
jnthn | Anyway, with a bit of luck I'll crack it later on this week. | 21:21 | |
japhb | jnthn: excellent,thank you | 21:32 | |
Tene | lexicals issues was the problem I was having with 'is cached' | 21:33 | |
if it doesn't work in .wrap, .wrap won't help. :( | |||
moritz_ | what doesn't work in .wrap? closures? | ||
jnthn | see ticket... | 21:34 | |
... | |||
Tene | jnthn was just saying something about lexicals and .wrap | ||
jnthn | gah, where'd that tab go | ||
ok, can't find it | |||
well, there's an RT ticket on wrap anyway :-) | |||
Basically if you try to use a closure with wrap it (sometimes?) doesn't work. | 21:35 | ||
That said, we do have some tests that I thought exercised that and we pass them. | |||
So there must be some cases that work and some that don't, though japhb's case wasn't exactly a convoluted one... | |||
PerlJam | jnthn: speaking of wrap, I noticed that the spec says to use restore where you have unwrap. One or the other should be changed. (personally, I like unwrap :) | ||
jnthn | Oh? | 21:36 | |
I'd never heard of restore, like, ever. :-/ | |||
PerlJam | hold on, let me find it again | ||
jnthn | oh | ||
.restore is on $handle | 21:37 | ||
21:37
hercynium left
|
|||
jnthn | Whereas I'd had .unwrap as being on Routine and accepting the handle. | 21:37 | |
PerlJam | yes, that's it. | 21:38 | |
anyway jnthn++ for the hacking and writing :) | 21:39 | ||
rakudo: multi fact(0) { 1 }; multi fact($n) { | 22:01 | ||
p6eval | rakudo fbc542: OUTPUT«Unable to parse block; couldn't find final '}' at line 2, near ""in Main (src/gen_setting.pm:3279)» | ||
PerlJam | rakudo: multi fact(0) { 1 }; multi fact($n) { $n * fact($n-1); }; say fact(5); # can't type today | ||
p6eval | rakudo fbc542: OUTPUT«No applicable candidates found to dispatch to for 'fact'in Main (/tmp/ed7iUetqwu:2)» | ||
PerlJam | anyway, that strikes me as odd :) | 22:02 | |
jnthn | PerlJam: That's because it's wrong. | ||
(Rakudo is wrong.) | |||
PerlJam: TimToady and I discussed this lots yesterday, and then there was a big S12 check-in. :-) | 22:03 | ||
PerlJam | works great on the non-Any types though. | ||
jnthn | Rakudo will catch up with it in the not too distant future. | ||
(It needs to for traits...) | |||
22:04
KyleHa left,
icwiener_ left
22:07
viklund left
22:13
pugs_svn left,
pugs_svn joined
22:17
meppl left
22:28
Limbic_Region joined
22:30
alester left
22:44
lichtkind left
22:49
pmurias left
22:52
nihiliad left
22:58
frew_ joined
23:09
skids joined
23:15
snarkyboojum joined
23:18
wolverian left
23:20
sri_kraih left
23:26
DemoFreak left
|