»ö« | 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«1␤2␤No 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 2␤in 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 2␤in 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 2␤in 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 2␤in 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«4␤4␤»
jnthn rakudo: sub a { state $x //= 3; say $x }; a(); a()
p6eval rakudo 2ae07b: OUTPUT«3␤3␤»
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«3␤4␤» 14:58
jnthn That's wrong.
moritz_ aye
rakudo: sub a { state $x //= { say "once" }.() }; a(); a()
p6eval rakudo 2ae07b: OUTPUT«once␤once␤»
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«ACCEPTS␤perl␤sprintf␤pred␤succ␤WHICH␤Scalar␤can␤isa␤does␤Complex␤elems␤end␤keys␤kv␤pick␤sort␤values␤abs␤int␤log␤polar␤sqrt␤srand␤truncate␤roots␤unpolar␤chars␤chomp␤:d␤:e␤:f␤index␤match␤rindex␤substr␤trans␤subst␤evalfile␤first␤grep␤join␤map␤max␤min␤pairs␤reduce␤reverse␤ceiling␤chr␤c…
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