Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-06-30

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

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

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo