pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | evalbot: perl6: say 3; (or rakudo:, pugs:, elf:, etc) | irclog: irc.pugscode.org/
Set by mncharity on 5 January 2009.
ovid Whee! I've now submitted a patch for adding the .trim method: use.perl.org/~Ovid/journal/38261 That was frustrating and fun at the same time. 00:21
jnthn ovid: It tends to get more fun and less frustrating as time passes. :-)
ovid I hope so :)
OK, time for bed. Head hurt. Need pillow. 00:22
jnthn Sleep well
00:22 ovid left 00:48 riffraff left 00:50 kleve left 00:57 cspencer left 01:05 cspencer joined, elmex left 01:06 icwiener_ joined, icwiener left, DemoFreak left, Blasi left, athenot left, yahooooo left, nothingmuch left, dmpk2k left, edenc left, c1sung left, Matt-W left, drbean_ left, gbacon left, simcop2387 left, meteorjay left, DemoFreak joined, Blasi joined, athenot joined, gbacon joined, simcop2387 joined, c1sung joined, yahooooo joined, Matt-W joined, dmpk2k joined, drbean_ joined, nothingmuch joined, edenc joined, cspencer left 01:18 icwiener_ left 01:42 DemoFreak left 02:06 eternaleye_ left 02:31 agentzh left 02:49 jiing joined, _jedai_ joined 02:50 meteorjay joined 02:51 alester joined 03:01 alanhaggai joined 03:02 wknight8111 left 03:19 agentzh joined
rakudo_svn r35431 | pmichaud++ | [rakudo]: Throw an exception for bare "say" or "print" (RT #62028). 03:20
03:25 eternaleye joined
pmichaud rakudo: say; 03:34
p6eval rakudo 35431: OUTPUT«say requires an argument at line 1, near ";"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
pmichaud rakudo: say for 1..3;
p6eval rakudo 35431: OUTPUT«␤␤␤»
pmichaud oops.
03:35 meppl joined
meppl good morning 03:36
rakudo_svn r35432 | pmichaud++ | [rakudo]: Missed a bare say in r35431 -- this fixes it (RT #62028). 04:00
04:08 stephens joined 04:25 alester left
pmichaud rt slow. 04:31
rakudo: say for 1..3; 04:38
p6eval rakudo 35432: OUTPUT«say requires an argument at line 1, near "for 1..3;"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
pmichaud better.
04:39 _jedai_ left 04:40 _jedai_ joined 04:46 araujo left 05:26 _jedai_ left 05:27 _jedai_ joined 05:29 meppl left 05:38 xuser left 05:39 xuser joined 05:43 xuser left, xuser joined 05:45 cotto joined, cotto is now known as cott0 05:46 xuser left, xuser joined 05:48 xuser left 05:53 jhuni left 05:55 lumi_ joined 06:04 ejs joined 06:09 _jedai_ left 06:10 _jedai_ joined 06:21 hudnix left, hudnix joined 06:39 azawawi left 07:00 _jedai_ left, _jedai_ joined 07:06 maerzhase joined 07:09 unobe left 07:17 stephens left 07:23 eternaleye_ joined, eternaleye left 07:27 maerzhase left 07:46 namenlos joined 07:51 meppl joined 08:01 _jedai_ left, _jedai_ joined 08:10 krunen joined 08:11 elmex joined 08:19 pbuetow joined 08:21 iblechbot joined 08:34 maerzhase joined 08:36 DemoFreak joined, felipe joined 08:44 brunoV joined 08:52 vixey joined 08:58 pbuetow left 09:16 vixey left 09:22 araujo joined 09:23 masak joined 09:28 maerzhase left, maerzhase joined 09:36 |jedai| joined 09:37 _jedai_ left 09:38 spx2_ joined
moritz_ perl6: sub e(@a) { print @a.elems; }; e([1, 2, 3]) 09:38
p6eval elf 24885, pugs, rakudo 35432: OUTPUT«3»
09:39 spx2 left
moritz_ currently perl6.vim is too slow for real-world usage 09:48
I think we should sacrifice exactness for more speed 09:49
any objections? (espeically from literal)
literal yeah, I was intending to do that 09:50
basically, have some perl6_extended_foo options when you want slow, but exact highlighting
moritz_ +1 09:51
literal but use something fast which covers only the common cases, by default
Matt-W speed would be nice 09:53
10:00 |jedai| left 10:01 |jedai| joined 10:02 Southen_ joined 10:10 riffraff joined 10:13 alanhaggai left 10:17 alexn_org joined 10:20 Southen left 10:37 jhuni joined 10:39 ruoso left 11:04 ludan joined 11:13 ruoso joined 11:14 knewt_ joined, knewt_ left 11:16 jhuni left 11:17 plainhao joined 11:34 donaldh joined 11:53 DemoFreak left 11:59 |jedai| left 12:00 |jedai| joined 12:01 Lorn joined 12:17 riffraff left 12:25 |jedai| left 12:26 |jedai| joined 12:28 maerzhase left 12:30 Lorn_ joined 12:33 Lorn left 12:34 eternaleye_ left 12:35 Cantacuzenus joined, eternaleye joined 12:45 Southen joined 12:46 awwaiid left 12:47 eternaleye left, ludan left, Southen_ left, Ehtyar left, lisppaste3 left 13:00 ludan joined 13:06 eternaleye joined 13:07 elmex left 13:08 pmurias joined
masak ovid++ # trim 13:11
pugs_svn r24886 | pmurias++ | [smop] merged has_next/eval/next into eval 13:16
13:18 elmex joined
masak so, do I just add trim() to S29? any opinions? 13:19
moritz_ as a method in Str, I wouldn't object 13:22
masak moritz_: and 'is export', yes. I saw that some adaptions needed to be made from ovid's pod doc suggestion. 13:23
also the named params, if we decide to throw those in.
.perl only exists in method form, right? there's no 'perl($var)'? 13:37
13:37 pmurias left
moritz_ afaict yes 13:38
perl6: say perl [1, 2, 3] 13:39
p6eval rakudo 35436: OUTPUT«Could not find non-existent sub perl␤current instr.: '_block14' pc 96 (EVAL_16:46)␤»
..elf 24886: OUTPUT«Undefined subroutine &GLOBAL::perl called at (eval 119) line 3.␤ at ./elf_f line 3861␤»
..pugs: OUTPUT«\(1, 2, 3)␤»
moritz_ and as usual, pugs permits nearly everything :-)
Matt-W In Perl 6, is there any difference between (1, 2, 3) and [1, 2, 3]? 13:41
moritz_ yes 13:42
the former will flatten in list context
perl6: my @a = 1, (2, 3, 4), [5, 6, 7]; say @a.perl 13:43
p6eval pugs: OUTPUT«\(1, 2, 3, 4, \(5, 6, 7))␤»
..rakudo 35436: OUTPUT«[1, 2, 3, 4, [5, 6, 7]]␤»
..elf 24886: OUTPUT«[1,2,3,4,[5,6,7]]␤»
moritz_ note that rakudo and elf say the same thing, elf just omits the whitespaces
masak Matt-W: (1,2,3) is a List, [1,2,3] is an Array. 13:49
Matt-W aaaah
masak moritz_: that's a bug in Elf, I'd say.
moritz_ yet a List also .perl'ifies ilke an array
masak: why is it a bug?
masak Matt-W: List objects are immutable, Arrays are mutable. 13:50
Matt-W so [1, 2, 3] gives you a single object, which can then be stuck into a list as an element
rather like an anonymous array reference in perl 5, in some situations
masak moritz_: um, now that I think about it, it isn't...
Matt-W how convenient :)
masak moritz_: I was confusing .perl with stringification.
moritz_ neither S02 nor S29 define a format for the output
masak moritz_: you're right.
should they?
I mean, is there a good reason to? 13:51
moritz_ not really
for things as complicated as subroutines I'm sure the implementations will differ
masak maybe warn people not to depend on implementation specifics in .perl methods? 13:52
13:52 maerzhase joined
moritz_ that's a topic for user-level documentation, not design documents 13:52
Matt-W I'd have thought it was acceptable to provide any alternative that parses back to the original structure 13:53
moritz_ aye, that's the current spec
masak moritz_: I see S29 as user-level documentation. 13:54
I think that's why I care about it the way I do.
moritz_ masak: compare it to perlfunc in verbosity, and you'll see that it's not nearly there 13:55
masak I know. :/ 13:56
13:56 jimmy_ joined
masak I prefer to compare it to Ruby's ri. 13:56
jimmy_ hello masak.
Matt-W well it might be one day
we're still in early days here when it comes to docs 13:57
jimmy_ rakudo: say self;
p6eval rakudo 35436: OUTPUT«Lexical 'self' not found␤current instr.: '_block14' pc 51 (EVAL_15:38)␤»
moritz_ I think that's something we should discuss with @Larry when we get to it
masak 你好, jimmy_ 13:58
moritz_ but I don't see anybody complaining about too much user-level documentation in any of the synopsis documents
so that topic can wait 13:59
Matt-W There isn't any user-level documentation in most of the synopses :)
jimmy_ is going to game. 14:00
moritz_ there are occasional "to achieve $perl5_feature do $this instead" comments
Matt-W it's not really a comprehensive attempt at user-level documentation 14:02
14:02 riffraff joined
Matt-W I've made a couple of abortive attempts at a Perl 6 tutorial thingy 14:02
masak I think having a good REPL and ri/perldoc-like thing ready for Rakudo 1.0 would be a worthwhile goal.
Matt-W yes
masak sometimes I think Envy should be one of the Perl virtues.
look at what Ruby has :) 14:03
poignantguide.net/ruby/expansion-pak-1.html
Matt-W there needs to be Perl 6 for Perl 5 Hackers too
masak aye, definitely.
if you want the O'Reilly contract, start writing the manuscript now.
Matt-W I did have a chapter published once in someone else's book 14:04
moritz_ Matt-W: Perl6::Perl6::Differences and my 5-to-6 blog both aim in that direction
Matt-W moritz_: excellent
I was sure I wasn't the only person thinking about it
moritz_ speaking if writing... if all goes well I'll write an article about Perl 6 Regexes for one of Germanies most reputable IT magazines 14:05
Matt-W Excellent 14:06
I shall have to brush up on my German
moritz_ s/if/of/
sadly I have to assign them the copyright, so I can't publish it freely 14:07
masak moritz_++
I guess there's not much room for negotiation there.
Matt-W You just have to live with that sometimes 14:08
At least you'll be getting the word out
moritz_ and on the bright side it'll also bring me some money
not very much, but perhaps half of my tuition fees for the semester :-) 14:09
Matt-W That's not to be scoffed at
The only thing I've made serious headway on with regard to Perl 6 documentation is a set of slides loosely based on some Perl 5 ones I did for work
but about Perl 6 instead
the trouble is I keep being tempted to compare to Perl 5, whereas I just want to present it as its own thing 14:10
donaldh moritz_: where does your 5 to 6 blog reside?
moritz_ donaldh: perlgeek.de/blog-en/perl-5-to-6/
Matt-W Also I need to do more coding in Perl 6 to get the depth of knowledge to write the thing accurately
moritz_ it's not been very active lately
donaldh some useful examples all the same 14:12
14:12 ejs left
moritz_ they are not tailored to work with present day rakudo 14:12
more to show off, and generate some interest
Matt-W It's good stuff though 14:14
moritz_ thanks 14:16
mdxi seconded. very good stuff :) 14:18
masak thirded. kudos.
moritz_ OH NOEZ, I'VE BEEN THIRDED :-)
masak were the traffic higher here today, you'd surely have been fourthed and fifthed :P 14:20
moritz_ OMG
people use quite a lot RSS these days 14:21
masak brave new world.
moritz_ the rss feed got 90k hits, the most popular HTML page (the link above) has about 1/10 hits
even though many people use google reader, which caches the feed internally 14:22
avar moritz_: does the perlgeek.de/blog-en/ rss feed cover perl 6 and perl6-to-5 ? 14:23
mm, 5-to-6
donaldh moritz_++
avar evidently so 14:25
14:26 jimmy_ left
avar moritz_: your rss needs a date for each entry 14:26
moritz_ avar: perlgeek.de/blog-en/index.rss covers all the blog, including non-perl6-stuff
avar saw 14:27
moritz_ avar: aye, but that freakin' blog system isn't easy :(
avar rakudo.de/ <- has the test suite really grown this much since last year or is it only t/spec ? 14:28
moritz_ avar: mostly t/spec has grown 14:29
aka moved from rest of t/
14:36 ruoso left 14:37 riffraff left 14:43 elmex left 14:46 elmex joined 14:59 smtms left 15:04 |jedai| left 15:05 |jedai| joined 15:12 icwiener joined 15:13 Exodist joined 15:22 ejs joined 15:23 maerzhase left 15:25 orafu left 15:26 orafu joined
masak ♥ Rakudo 15:49
15:56 maerzhase joined 15:57 barney joined 15:59 riffraff joined, eternaleye left 16:00 stephens joined 16:02 alester joined
pugs_svn r24887 | moritz++ | [t/spec] unfudge a passing smartmatch test (NaN ~~ NaN) for rakudo 16:04
16:05 vixey joined 16:08 ejs1 joined 16:11 |jedai| left 16:12 |jedai| joined 16:15 riffraff left 16:17 rindolf joined 16:19 ejs left 16:22 jferrero joined 16:24 PZt joined 16:26 Lorn joined
rakudo_svn r35442 | pmichaud++ | [rakudo]: Adjust reference/NCI semantics of IO. Fixes RT #62166. 16:30
16:35 alexn_or1 joined 16:39 Lorn_ left
rakudo_svn r35443 | jonathan++ | [rakudo] Fix role composition regression from rvar branch merge; methods in the class now resolve conflicts again. 16:40
16:40 ludan left
pugs_svn r24888 | moritz++ | [t/spec] unfudge test for role composition 16:41
jnthn moritz_: Ooh, damm, I had a local patch for that and forgot to apply it! :-) 16:42
16:42 awwaiid joined 16:43 awwaiid left
moritz_ jnthn: same here, but after 5min I remembered :-) 16:43
16:43 awwaiid joined
masak probably no harm done :) 16:43
jnthn Nope. :-)
16:46 alexn_org left, pdcawley joined 16:53 justatheory joined 16:59 |jedai| left 17:00 |jedai| joined 17:03 hercynium joined 17:08 alexn_org joined
namenlos masak: here i am 17:20
masak namenlos: there you are. welcome.
17:21 ruoso joined 17:24 |jedai| left 17:25 |jedai| joined 17:27 tomyan joined
tomyan std: say [*] < 1 2 3 >; 17:27
p6eval std 24888: OUTPUT«00:07 120m␤» 17:28
17:28 masak left
rakudo_svn r35444 | jonathan++ | [rakudo] Add more type registry implementation. For now it's not enabled, as it causes us to regress two sanity tests and 20ish spectests; follow up commits will deal with this. 17:30
17:30 donaldh left 17:36 eric256 joined
eric256 wades in through 6 inches of snow ;) 17:36
17:38 Lorn_ joined 17:39 azawawi joined 17:43 jferrero left
rakudo_svn r35445 | jonathan++ | [rakudo] Mark Bool and Order as enums, so they are seen as types during the parse. 17:50
17:50 Lorn left 17:51 pbuetow joined 17:56 namenlos left 17:59 sjn left, kolibrie left, shachaf left, cookys left, charsbar left, sjn joined, charsbar joined, cookys joined, kolibrie joined, shachaf joined
rakudo_svn r35446 | jonathan++ | [rakudo] Fix up type variable declaration handling in is_type. 18:00
18:00 sjn left, kolibrie left, shachaf left, cookys left, charsbar left, shachaf joined, sjn joined, kolibrie joined 18:01 perl6examples joined
eric256 mberends++ 18:01
18:10 Psyche^ joined
rakudo_svn r35447 | jonathan++ | [rakudo] The term action was emitting sub calls incorrectly (not doing namespace lookups), however we didn't notice in a couple of tests because of the typename hack. The type registry picks this up. This patch is from rakudoreg branch, with updates to follow other changes to 18:20
..this action method.
r35448 | jonathan++ | [rakudo] Make enums declare the types they introduce in the block symbol table.
18:26 Patterner left, Psyche^ is now known as Patterner
meppl good night 18:27
18:28 meppl left
rakudo_svn r35449 | jonathan++ | [rakudo] Refinement types need to do the Abstraction role. 18:30
18:31 [particle]1 joined 18:34 ruoso left 18:36 |jedai| left, |jedai| joined 18:38 [particle] left 18:45 ryanc joined 18:48 charsbar joined, [particle]1 is now known as [particle]
jnthn moritz_: ping 18:48
oh, don't worry actually...misread a fudge directive 18:49
pugs_svn r24889 | jnthn++ | [t/spec] Change a todo to a skip, since Rakudo will barf on it once it starts caring that types have been declared (e.g. soon). 18:52
PerlJam jnthn: oh! How soon is soon? Does that mean that my $x = Foo.new will barf if it hasn't seen Foo ? 18:53
jnthn PerlJam: Yes. 18:55
PerlJam cool.
jnthn > my $x = Foo.new; 18:56
Could not find non-existent sub Foo
lambdabot <no location info>: parse error on input `='
PerlJam So ... soon like in the next day or so? or the next week? or ... ?
jnthn (For now. But I've got some other bits to STD.pm to try and pull in also.)
PerlJam: I'm down to one failing spectest.
So maybe even today.
PerlJam jnthn++ 18:57
[particle] jnthn: you may regress the one test, if you can't figure it out soon
jnthn However, the one that fails reveals something kinda...interesting...that I wanna discuss with pmichaud.
[particle]: I know what it is now.
[particle] ah, nice. what is it?
jnthn It's a lexical vs package scoping confusion. 18:58
It's only been thrown up by one test. But it hurts.
Writing class foo {} and sub Bar {} will have correct behaviour once I put in the grammar.pg patch. Just checked that one. :-) 19:01
19:01 mberends joined 19:08 maerzhase left, ejs1 left 19:16 alexn_org left 19:26 |jedai| left, |jedai| joined
Matt-W jnthn++ # fixing the bug I found yesterday 19:27
jnthn Matt-W: Thanks for reporting and writing the test. :-)
Matt-W Least I can do 19:28
Since I don't understand the compiler :)
19:28 riffraff joined 19:33 alexn_or1 left 19:35 estrabd joined 19:39 rindolf left 19:40 maerzhase joined 19:52 vixey left 19:59 vixey joined 20:01 |jedai| left 20:03 |jedai| joined 20:05 orafu left, OuLouFu joined
rakudo_svn r35454 | infinoid++ | [cage] Fix a t/codingstd/cuddled_else.t failure. 20:10
20:30 brunoV left 20:32 DemoFreak joined 20:35 |jedai| left, |jedai| joined 20:42 azawawi left, _dh left 20:45 Cantacuzenus left 20:53 [particle]1 joined 20:57 riffraff left 21:00 plainhao left
mberends Hi everyone, you're welcome to browse a new Rakudo HTTP::Daemon running at autoexec.demon.nl:8888/ , the source code is within github.com/eric256/perl6-examples/tree/master 21:09
eric256 mberends++ ;)
i get a can't establish connection at that address btw 21:10
ohh and its up ;)
nice
21:10 [particle] left
mberends I'm being #perl6-bombed and #parrot-bombed! 21:10
eric256 nothing like a little stress testing 21:11
now we just need to hack in a working Net IO ;) so you don't have to fork out to netcat
mberends holding up though, about 2 seconds to render each page. Nice visitor log on the console. 21:12
eric256 is there a perl6 CGI module ;)
[particle]1 yes, in pugs repo
don't know if it compiles on rakudo, though
mberends a bit of one in November...
21:12 [particle]1 is now known as [particle]
eric256 i get a failed to connect 2 out of 3 tries 21:13
mberends quite a few others are getting through, still a page every 2 seconds
eric256 oh cool. i wanted to write a DVD/Blue Ray collection managment website. might be fun to build in perl6
21:14 icwiener left 21:15 perl6examples left, perl6examples joined 21:22 mberends left, mberends joined 21:26 |jedai| left
pugs_svn r24890 | Ovid++ | Tests for the 'trim' builtin. 21:26
r24890 | Ovid++ |
r24890 | Ovid++ | This is not currently specced, but it's being discussed and I've implemented
r24890 | Ovid++ | the core feature (the bit apparently agreed upon).
r24890 | Ovid++ |
r24890 | Ovid++ | Not sure what to say about trimming lists.
21:26 |jedai| joined 21:27 justatheory left 21:30 pdcawley left, DemoFreak left 21:31 Lorn_ left
eric256 sees talk about moving rakudo to git and is excited ;) 21:32
mberends now a Googlebot has asked for my robots.txt file. no such luck, Google. 21:33
eric256 wow taht was fast... google hit the IRC log already i'm guessing? 21:34
mberends I have no idea how those messages travel
moritz_ eric256: the irc log has enough backlings (in the order of 1k) and changes daily, so google sees reason to re-crawl it daily 21:35
21:39 DemoFreak joined 21:41 AzureStone_ left 21:42 AzureStone joined
mberends is someone here browsing from ournaturalcompanions.com ? 21:55
21:59 c9s_ joined 22:00 kisu_ joined 22:10 |jedai| left 22:11 |jedai| joined 22:16 c9s left 22:17 Whiteknight joined 22:19 donaldh joined, kisu left 22:24 ovid joined
pasteling "ovid" at 82.152.164.233 pasted "Bug? Method 'perl' not found for invocant of class 'Match'" (11 lines, 667B) at sial.org/pbot/34406 22:26
22:26 barney left
ovid That's breaking my new version of Test.pm. 22:26
moritz_ ovid: that's a sad, known "feature" 22:27
ovid :(
Crud. I'll need to work around it. Most of the spectests pass with the new Test.pm (the biggest difference is the have/want diagnostics)
mdxi is it ok to be stoked about finally stumbling on the synopses yesterday morning, and thinking they are full of awesome? or should i just be ashamed of somehow not being aware of them for this long? 22:31
moritz_ mdxi: I'm constantly amazed when I discover a new section that I never understood before 22:34
22:35 |jedai| left 22:36 |jedai| joined 22:37 _dh joined
pugs_svn r24891 | moritz++ | [t/spec] more tests for initializing parent attributes 22:38
ovid mdxi: That's perfectly fine. Plenty of people are going to be astonished when they see what Perl 6 can pull off. 22:39
pasteling "ovid" at 82.152.164.233 pasted "Known bug? Method '!.^' not found for invocant of class 'Exception'" (10 lines, 641B) at sial.org/pbot/34407 22:40
moritz_ rakudo: try { die "Goodbye cruel world!" };say $! ~~ Exception
p6eval rakudo 35458: OUTPUT«1␤»
moritz_ ovid: looks like a (to me unknown) parse bug 22:41
ovid OK. I'll file it. Test.pm is going to take a while :)
eric256 whats does .^ do? (/me assumes it has something to do with inheritance...dunno) 22:43
moritz_ eric256: it calls a method on the meta class, or proto object or whatever it's called 22:44
eric256 moritz_: hmmm well that sounds as if i was in the right ball park
is that something like $!.HOW.isa("Exception") then? 22:45
moritz_ eric256: yes
[particle] my class Array is instead { ... }; # can take care of lexically replacing Array 22:46
eric256 rakudo: try { die "Goodbye cruel world!" };say $!.HOW.isa("Exception")
p6eval rakudo 35458: OUTPUT«too few arguments passed (2) - 3 params expected␤current instr.: 'parrot;P6metaclass;isa' pc 107 (runtime/parrot/library/P6object.pir:155)␤»
eric256 rakudo: try { die "Goodbye cruel world!" };say $!.HOW 22:47
p6eval rakudo 35458: OUTPUT«get_string() not implemented in class 'P6metaclass'␤current instr.: 'print' pc 18303 (src/builtins/io.pir:26)␤»
ovid rakudo: my $foo = "asdf";say $foo.HOW.isa("Exception") 22:49
p6eval rakudo 35458: OUTPUT«too few arguments passed (2) - 3 params expected␤current instr.: 'parrot;P6metaclass;isa' pc 107 (runtime/parrot/library/P6object.pir:155)␤»
moritz_ rakudo: say "abc".isa(Exception)
p6eval rakudo 35458: OUTPUT«0␤»
moritz_ for real world code .isa (inheritance) or ~~ (type conformance) is usally enough 22:50
jnthn ovid: When calling methods on the metaclass, you also need to pass along the invocant.
rakudo: my $foo = "asdf";say $foo.HOW.isa($foo, "Exception")
p6eval rakudo 35458: OUTPUT«0␤»
jnthn But there's a special syntax for that. 22:51
rakudo: my $foo = "asdf";say $foo.^isa("Exception")
p6eval rakudo 35458: OUTPUT«0␤»
jnthn Which calls it on HOW and passes $foo along as well.
pugs_svn r24892 | moritz++ | [t/spec] svn props on trim.t (use util/add-svn-props.{pl,sh})
ovid jnthn: I'm not sure I understand. I mean, I *know* what you're saying is right, but how does that relate to the bug with try { die "Goodbye cruel world!" };say $!.^isa("Exception")? 22:52
jnthn ovid: I hadn't read *that* bit. ;-) 22:53
Oh
moritz_ jnthn: that's a parse error, it complains about not being able to call method !.^isa
erm, !.^
but that ! actually belongs to $! 22:54
missing LTM fail?
ovid Yeah, it looks like a parse error, but ...
rakudo: try { die "Goodbye cruel world!" };say $!.HOW.isa("Exception")
p6eval rakudo 35458: OUTPUT«too few arguments passed (2) - 3 params expected␤current instr.: 'parrot;P6metaclass;isa' pc 107 (runtime/parrot/library/P6object.pir:155)␤»
jnthn rakudo: try { die "OMGWTFBBQ" }; say $!.WHAT;
p6eval rakudo 35458: OUTPUT«Exception␤»
moritz_ rakudo: try { die "Goodbye cruel world!" };say$!.HOW.isa($!, "Exception")
p6eval rakudo 35458: OUTPUT«say requires an argument at line 1, near "$!.HOW.isa"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
ovid That also fails. My new Test.pm is failing a few tests is failing because of that.
moritz_ rakudo: try { die "Goodbye cruel world!" };say $!.HOW.isa($!, "Exception")
p6eval rakudo 35458: OUTPUT«1␤»
jnthn rakudo: try { die "OMGWTFBBQ" }; say $!.^isa(Exception); 22:55
moritz_ ovid: if you use .HOW, you have to duplicate the $!
p6eval rakudo 35458: OUTPUT«Method '!.^' not found for invocant of class 'Exception'␤current instr.: '_block14' pc 99 (EVAL_20:55)␤»
ovid Ah! That's the workaround :)
jnthn rakudo: try { die "OMGWTFBBQ" }; say ($!).^isa(Exception);
p6eval rakudo 35458: OUTPUT«Method '!.^' not found for invocant of class 'Exception'␤current instr.: '_block14' pc 99 (EVAL_20:55)␤»
ovid rakudo: try { die "Goodbye cruel world!" };say $!.WHAT eq "Exception"
p6eval rakudo 35458: OUTPUT«1␤»
moritz_ ovid: no, it's specced that way
ovid It's not great, but it might do for now.
jnthn is consused
moritz_ .HOW doesn't give you enough information for introspection
ovid jnthn: I'm consused, too ;) 22:56
jnthn Well, it's more than one metaclass may represent many classes, so you have to say which one you mean. :-)
moritz_ the only thing wrong in Rakudo is the parse error
jnthn I'm confused why ($!).^isa is also broke though.
rakudo: eval '$!.^isa(Exception)'; say $!; 22:57
p6eval rakudo 35458: OUTPUT«Use of uninitialized value␤␤»
jnthn was expecting the parse error...
22:57 justatheory joined
eric256 rakudo: try { die "Goodbye cruel world!" };my $x = $!; say $x.^isa("Exception") 22:58
p6eval rakudo 35458: OUTPUT«Method '!.^' not found for invocant of class 'Exception'␤current instr.: '_block14' pc 119 (EVAL_20:60)␤»
eric256 doesn't appear to be a parse error.
well maybe, is that a compiler optimization + parse error? lol
jnthn say $!.^isa(Exception); 22:59
rakudo: say $!.^isa(Exception);
p6eval rakudo 35458: OUTPUT«0␤»
moritz_ eric256: the ! in the error mesasge shouldn't be there
jnthn Oh!
moritz_ erm
wait
jnthn Why did it work there. :-|
23:00 vixey left
jnthn rakudo: $! = Exception.new; say $!.^isa(Exception); 23:00
p6eval rakudo 35458: OUTPUT«1␤»
eric256 see not a parse error
moritz_ right
23:00 |jedai| left
jnthn rakudo: $! = Exception.new; say $!.PARROT; try { die "seriously wtf?" }; say $!.PARROT 23:01
p6eval rakudo 35458: OUTPUT«Perl6Scalar->Perl6Exception␤Method 'PARROT' not found for invocant of class 'Exception'␤current instr.: '_block14' pc 142 (EVAL_19:61)␤»
jnthn Aha.
23:01 |jedai| joined
jnthn Type mapping issue. Somehow. 23:02
23:04 Whiteknight left
moritz_ rakudo: class A { has $.x }; class B is A { has $.y }; my $o = B.new(:y<2>, B{ :x<1> } ); say $o.y.perl; say $o.x.perl; 23:04
p6eval rakudo 35458: OUTPUT«undef␤"1"␤»
moritz_ jnthn: that's a nice bug I just submitted
ironically the initialization of the parent attribute (the more complicated thing) worked, the :y<2> did not 23:05
jnthn Maybe introduced in rvar which refactored class construction, or maybe dates back before then. 23:06
eric256 akudo: class A { has $.x }; class B is A { has $.y }; my $o = B.new(A{ :y<2> }, :x<1> ); say $o.y.perl; say $o.x.perl;
rakudo: class A { has $.x }; class B is A { has $.y }; my $o = B.new(A{ :y<2> }, :x<1> ); say $o.y.perl; say $o.x.perl;
rakudo: class A { has $.x }; class B is A { has $.y }; my $o = B.new(A{ :y<2> }, :x<1> ); say $o.y.perl; say $o.x.perl; 23:07
p6eval rakudo 35458: OUTPUT«"2"␤undef␤»
eric256 unicode hates me
rakudo: class A { has $.x }; class B is A { has $.y }; my $o = B.new(A{ :y<2> }, A{ :x<1> ); say $o.y.perl; say $o.x.perl;
p6eval rakudo 35458: OUTPUT«Statement not terminated properly at line 1, near "(A{ :y<2> "␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
eric256 ]arg
rakudo: class A { has $.x }; class B is A { has $.y }; my $o = B.new( :y<2> , A{ :x<1> }); say $o.y.perl; say $o.x.perl;
unicode and my keyboard both hate me
moritz_ forgot at }
p6eval rakudo 35458: OUTPUT«undef␤"1"␤»
eric256 gives up and goes to sleep
moritz_ good idea, actually 23:08
it's already tomorrow
eric256 yea the } and the Enter are too close
jnthn Hmm. Don't have any immediate fix for that Exception issue.
moritz_ it can be really annoying that on German keyboards ~ and Enter are too close
sometimes I want to write 'rm *~' to get rid of the vim backup files
23:09 donaldh left
moritz_ and you know what happens when I hti the Enter key instead of ~ ;-) 23:09
eric256 thank goodnees your using revision control ;)
moritz_ not for my home dir :/ 23:10
I probably should :)
rakudo_svn r35459 | moritz++ | [rakudo] implement Str.trim, patch courtesy by Ovid++
ovid Yay :) My first "real" Perl 6 patch. I'm so proud :)
jnthn ovid++ # nice work! 23:11
23:11 |jedai| left
jnthn S29 needs a patching too, to add trim, if that didn't already happen. :-) 23:11
jnthn should really get around to working on S14 at some point soonish too. 23:12
ovid Thanks. It wasn't an impressive task, but it was a nice introduction to pir.
eric256 looks like try creates a Failure not an exception? but the Failure pir has a !exception method...whats the ! mean in parrot?
23:12 [particle]1 joined
jnthn We use ! for "private" usually. eric256: The problem is that somehow the Parrot Exception doesn't get given various methods it would normally inherit from Object, though, it seems. 23:13
23:13 |jedai| joined
jnthn As in, Parrot's Exception class and Rakudo's Object class. So much mapping "fun"! 23:14
ovid Known? Method 'perl' not found for invocant of class 'Iterator' 23:15
eric256 well the !exception method in Failure.pir creatse an Exception object if it doesn't already have an exception... i think pir might hurt my head at this point
moritz_ ovid: not to me
ovid Sigh. Another one to reduce to a minimal test case :)
moritz_ ovid: masak would be so proud ;-)
ovid Now to figure out what the goldbach conjecture is doing :) 23:16
Who is masak?
moritz_ our chief bug reporter
and developer of a Perl 6 wiki engine
jnthn Probably half of the RT queue is his reports. :-) masak++ 23:17
(If not more...)
moritz_ half of the RT tickets in the perl6 queue are his, I think
ovid Oops! I should pay more attention.
23:17 aindilis joined
eric256 forgets to check the volume nob on his radio before cursing at it for not working 23:18
23:19 Limbic_Region joined
moritz_ *really* goes to bed now 23:23
23:25 iblechbot left
ovid Larry says that @array.trim should die with 'no such method' because of @array >> .=trim. How would I implement that? 23:25
[particle]1 check that the param does Scalar? 23:26
wait, won't the sig already check for that? 23:27
ovid Is it sub 'trim' :method :multi('Str')?
I have sub 'trim' :method :multi(_)
[particle]1 likely, yes
ovid I'll try that. 23:28
[particle]1 it might be (['Str'])
23:28 aindilis left
[particle]1 that bit of syntax has recently been discussed, not sure what's current 23:28
23:28 aindilis joined 23:29 [particle] left, maerzhase left
jnthn Does this mean that maybe it's just a method on Str, not on Any? 23:31
ovid It looks like "sub 'trim' :method :multi('Str')" works just fine.
jnth: Yeah, that's what it would mean. Hmm ... I'm not sure if that's what would be intended. 23:34
I also asked "Won't that fail with 'No such method' on an array of hashes? Or are hyperops applied recursively?" 23:36
[particle]1 you can do >> .keys.trim 23:37
hrmm, maybe it'd be @array>>.values.keys.trim; 23:38
if you want to trim the keys of the hash
>> is probably going to iterate over @array.values, so it's probably just .keys.trim 23:39
jnthn I think it's recursively.
I think hyperops also work over hashes.
I didn't implement that bit though.
[particle]1 i guess i have some re-reading to do :)
jnthn I looked at the hashes bit and thought...OK, another day. :-) 23:40
eric256 wouldn't that be @array>>.key.trim ? i was thinking >> would be like .key.trim for @array (but that might not be the case) 23:41
ovid Wow! It's astonishing how many bugs my new Test.pm has exposed! :(
[particle]1 what is Pair.trim going to do? that's the question. 23:42
23:42 kane_ joined
jnthn ovid: Look forward to the tickets. ;-) 23:44
ovid jnthn: far too many right now. I'm going to send my new Test.pm as an attachment (not a patch) to perl6-compiler to see if I've just screwed up royally. 23:46
jnthn ovid: It's also possible you're touching on stuff that's not implemented yet. 23:47
eric256 ovid: you can put it up in github.com/eric256/perl6-examples/t...master/lib if you want a place where other people can hack on it outside the official repo 23:48
[particle]1 where is test.pl in the perl 5 source? 23:54
i'm just looking online at the repo, don't have a checkout
ah, found it in t/
pasteling "ovid" at 82.152.164.233 pasted "Sample Test.pm" (257 lines, 7.3K) at sial.org/pbot/34409 23:55
23:55 |jedai| left 23:56 eric256 left
ovid eric256: I'm tired and need to go to bed, so if you want to see what I did for languages/perl6/Test.pm, just check that paste. 23:56
23:56 aindilis` joined, |jedai| joined
ovid Great timing :) 23:56