Camelia, the Perl 6 bug

IRC log for #perl6, 2009-06-16

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:03 yary perl6: say ($_ * 2 for 0..4)
00:03 p6eval pugs: OUTPUT«*** ␤    Unexpected "for"␤    expecting operator or ")"␤    at /tmp/6X3OkKSxfd line 1, column 13␤»
00:03 p6eval ..rakudo ba09b2: OUTPUT«-1␤»
00:03 p6eval ..elf 27084: OUTPUT«syntax error at (eval 123) line 3, near "(for"␤ at ./elf_h line 5881␤»
00:04 yary hello all, beginner question this time. S04 suggests that the above should print 0248, judging by the example ""@evens = ($_ * 2 if .odd for 0..100)"
00:05 yary is that something that just isn't implemented yet?
00:08 yary rakudo: my @evens=($_ * 2 for 0..4); say @evens;
00:08 p6eval rakudo ba09b2: OUTPUT«-1␤»
00:11 TimToady rakudo doesn't implement loop returns yet
00:11 yary thx
00:26 icwiener joined #perl6
00:28 [particle] joined #perl6
00:30 DanielC_ joined #perl6
00:35 beggars joined #perl6
00:58 justatheory joined #perl6
01:21 molaf_x joined #perl6
01:21 yary joined #perl6
01:22 yary perl6: my $sub= -> $n { if $n == 0 { say "done" } else { say $n; &?ROUTINE($n-1)}}; $sub(3)
01:22 p6eval elf 27084: OUTPUT«/home/evalenv/pugs/m​isc/STD_red/match.rb:141:in `block in to_dump0': undefined method `to_dump0' for true:TrueClass (NoMethodError)␤   from /home/evalenv/pugs/misc/STD_red/match.rb:140:in `each'␤      from /home/evalenv/pugs/misc/STD_red/match.rb:140:in `map'␤       from
01:22 p6eval ../home/evalenv/pugs/misc…
01:22 p6eval ..pugs: OUTPUT«3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤​3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3​␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤​3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3​␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤
01:22 p6eval ..rakudo ba09b2: OUTPUT«3␤invoke() not implemented in class 'Undef'␤in Main (/tmp/Fw2Mt0GzcQ:2)␤»
01:22 yary yikes, I hope pugs terminated
01:23 yary pugs: say 1
01:23 p6eval pugs: OUTPUT«1␤»
01:23 yary phew
01:24 yary Is &?ROUTINE not fully implemented in rakudo?
01:32 yitz_ left #perl6
01:33 xinming joined #perl6
01:37 Lorn joined #perl6
01:47 ihrd joined #perl6
01:54 xinming_ joined #perl6
01:56 ihrd left #perl6
01:58 agentzh joined #perl6
01:59 agentzh joined #perl6
02:03 agentzh joined #perl6
02:03 agentzh1 joined #perl6
02:08 eternaleye rakudo: -> { my $foo = 'bar'; say &?ROUTINE.perl }.()
02:08 TimToady that wasn't a routine
02:08 p6eval rakudo ba09b2: OUTPUT«undef␤»
02:08 TimToady that's just a Block
02:08 TimToady try &?BLOCK
02:08 eternaleye rakudo: -> { my $foo = 'bar'; say &?BLOCK.perl }.()
02:08 p6eval rakudo ba09b2: OUTPUT«undef␤»
02:10 TimToady my $sub= -> $n { if $n == 0 { say "done" } else { say $n; &?BLOCK($n-1)}}; $sub(3)
02:10 TimToady oh, that won't work either
02:10 TimToady since it's the innermost block
02:11 eternaleye &?OUTER::BLOCK ?
02:11 TimToady perl6: my $sub= -> $n { if $n == 0 { say "done" } else { say $n; &?OUTER::BLOCK($n-1)}}; $sub(3)
02:11 p6eval rakudo ba09b2: OUTPUT«3␤invoke() not implemented in class 'Undef'␤in Main (/tmp/jkTmtRPktf:2)␤»
02:11 p6eval ..elf 27084: OUTPUT«/home/evalenv/pugs/m​isc/STD_red/match.rb:141:in `block in to_dump0': undefined method `to_dump0' for true:TrueClass (NoMethodError)␤   from /home/evalenv/pugs/misc/STD_red/match.rb:140:in `each'␤      from /home/evalenv/pugs/misc/STD_red/match.rb:140:in `map'␤       from
02:11 p6eval ../home/evalenv/pugs/misc…
02:11 p6eval ..pugs: OUTPUT«3␤*** outer - not yet implemented: "&?BLOCK"␤    at /tmp/99Zp4RYbms line 1, column 59-79␤»
02:11 justatheory joined #perl6
02:11 TimToady perl6: my $sub= sub ($n) { if $n == 0 { say "done" } else { say $n; &?ROUTINE($n-1)}}; $sub(3)
02:11 p6eval rakudo ba09b2: OUTPUT«3␤invoke() not implemented in class 'Undef'␤in sub _block50 (/tmp/KBps6yWr0I:2)␤called from Main (/tmp/KBps6yWr0I:2)␤»
02:11 p6eval ..pugs: OUTPUT«3␤2␤1␤done␤»
02:11 p6eval ..elf 27084: OUTPUT«/home/evalenv/pugs/m​isc/STD_red/match.rb:141:in `block in to_dump0': undefined method `to_dump0' for true:TrueClass (NoMethodError)␤   from /home/evalenv/pugs/misc/STD_red/match.rb:140:in `each'␤      from /home/evalenv/pugs/misc/STD_red/match.rb:140:in `map'␤       from
02:11 p6eval ../home/evalenv/pugs/misc…
02:12 eternaleye I just had a horrible, evil, frightening, wonderful idea.
02:12 eternaleye Someone needs to get Damian to write a p6 SelfGOL
02:13 eternaleye It would shut up the "you can't golf" and "you can't do obfu" complainers simultaneously.
02:14 eternaleye Then again, just because Damian can write it doesn't mean it's feasible for most mortals ;D
02:28 s1n am i mistaken? is there a uniq function for lists?
02:37 Meldrake joined #perl6
02:41 TimToady grep { !(state %){$_}++ } should work :)
02:49 TimToady std: grep { !(state %){$_}++ }, 1,3,2,3,2,3,4,5,6,1,2
02:49 p6eval std 27084: OUTPUT«ok 00:03 40m␤»
02:49 eternaleye rakudo: say <foo bar foo>.uniq
02:49 TimToady perl6: say ~grep { !(state %){$_}++ }, 1,3,2,3,2,3,4,5,6,1,2
02:49 p6eval rakudo ba09b2: OUTPUT«foobar␤»
02:49 p6eval rakudo ba09b2: OUTPUT«Malformed declaration at line 2, near "%){$_}++ }"␤in Main (src/gen_setting.pm:0)␤»
02:49 p6eval ..elf 27084: OUTPUT«/home/evalenv/pugs/m​isc/STD_red/match.rb:117:in `block in to_dump0': undefined method `to_dump0' for nil:NilClass (NoMethodError)␤     from /home/evalenv/pugs/misc/STD_red/match.rb:117:in `map'␤       from /home/evalenv/pugs/misc/STD_red/match.rb:117:in `to_dump0'␤  from
02:49 p6eval ../home/evalenv/pugs/mi…
02:49 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "%){$"␤    expecting "=", formal parameter, context, ":" or "("␤    at /tmp/KyMbbuwRni line 1, column 21␤»
02:49 TimToady perl6: say ~grep { !(state %x){$_}++ }, 1,3,2,3,2,3,4,5,6,1,2
02:49 p6eval pugs, rakudo ba09b2: OUTPUT«1 3 2 4 5 6␤»
02:49 p6eval ..elf 27084: OUTPUT«Unknown rule: scope_declarator:state␤It needs to be added to ast_handlers.␤ at ./elf_h line 2850␤»
02:50 s1n eternaleye: i must have missed that, where was .uniq in the spec?
02:50 eternaleye buubot: spack uniq
02:50 buubot Couldn't match input.
02:50 eternaleye Huh?
02:51 eternaleye o.0
02:52 TimToady not specced
02:52 eternaleye Why is rakudo doing it?
02:52 agentzh joined #perl6
02:52 eternaleye Is it a fossil?
02:56 TimToady came from the pugs t/
02:57 xinming joined #perl6
02:57 TimToady it's a fairly trivial sub, as you can see
03:08 xinming__ joined #perl6
03:49 meppuru joined #perl6
03:59 synth joined #perl6
04:50 meppl joined #perl6
05:18 frew_ joined #perl6
05:26 kate21de joined #perl6
05:41 agentzh joined #perl6
05:58 ejs joined #perl6
05:59 bejuryu joined #perl6
06:07 masak joined #perl6
06:22 masak greetings, serialization camels.
06:24 moritz_ greetings, deserialized lambdacamel
06:26 moritz_ masak: have you seen my proto-mail on p6u?
06:27 masak moritz_: no, haven't got as far as mail yet.
06:27 masak will soon.
06:33 ilogger2_ joined #perl6
06:36 masak moritz_: re your proto-related mail: this is the first time I've encountered this setup with symlinks. I agree that proto should ideally support it, especially since it might become a more common configuration as Rakudo and Parrot get increasingly independent paths.
06:37 masak probably the only viable solution is re-introducing the equal footing of PARROT_DIR and RAKUDO_DIR.
06:37 masak but I'm open to other suggestions.
06:39 masak I also have a number of problems with today's Configure.pm. firstly, it's unreasonable for it to issue "Please contact the proto people." -- proto was used to create the configure script, but at that point the relationship between proto and the module ends.
06:40 Molaf joined #perl6
06:41 moritz_ otoh I wonder if it's worth the trouble
06:41 moritz_ since pmichaud is already working on building rakudo against an installed parrot
06:42 moritz_ and I expect it to land before the july release
06:42 moritz_ then PARROT_DIR will go away anyway
06:44 masak \o/
06:59 szabgab good morning, my heavy work duty is over, I hope I can spend some time with Perl 6 in the coming weeks
07:00 szabgab first thing, I build rakudo, ran ./perl6  got a nice prompt but could not leave
07:01 szabgab exit; got no response
07:01 szabgab neither ctrl-d
07:01 szabgab only Ctrl-c worked
07:04 moritz_ szabgab: there's already a ticket for that
07:05 szabgab I am glad it is not personal :-)
07:06 masak szabgab: yet another way the REPL sucks. :/
07:07 iblechbot joined #perl6
07:22 Matt-W Morning
07:22 Matt-W masak: well it's not a proper REPL really
07:22 masak Matt-W: you're right. calling it a REPL is an insult to REPLs throughout the world.
07:22 masak I wish it were, though.
07:23 masak I wish it were a good one, with tab completion and line continuation.
07:24 dakkar joined #perl6
07:31 Matt-W Then write one :P
07:33 sjohnson sup Matt-W how's life
07:34 masak Matt-W: I'd love to. I need one particular technology to get started: the ability to evaluate a particular piece of code in a particular scope. that's what I figure is needed to make variables survive from one command to the next.
07:35 Matt-W sjohnson: not only am I still waiting for my car to be repaired or written off, I've also misplaced my iPod
07:36 masak aww.
07:36 Matt-W masak: yes
07:40 moritz_ masak, literal: how's the gsoc project going?
07:41 masak moritz_: good question. I haven't spoken with literal in quite some time.
07:42 masak we had one of those perl6-soc meetings, and it was pretty nice.
07:42 masak but we never turned it into a habit.
07:42 moritz_ we should.
07:43 moritz_ it prevents things from slipping
07:43 masak aye.
07:46 sjohnson Matt-W: your car, bad or good news?
07:48 sjohnson sounds like bad, but if you're getting money for something wanted to get rid of...
07:50 ejs joined #perl6
07:56 Matt-W sjohnson: it was stolen and crashed
07:56 Matt-W sjohnson: so really it's not good news any way
07:57 ejs joined #perl6
08:00 clintongormley joined #perl6
08:03 sjohnson rough news... does your insurance cover it though?
08:03 sjohnson minus a deductable?
08:04 Matt-W yes it should do
08:04 Matt-W £150 excess
08:04 Matt-W market value replacement
08:04 Matt-W but I have retail price protection from another policy, so I should get back what I paid for it less £150
08:05 Matt-W which is good, as it's lost over a thousand pounds in value
08:05 Matt-W The car market is completely baffling
08:13 sjohnson well
08:13 sjohnson if this makes you feel any better
08:14 sjohnson i have had my shit stolen before
08:14 sjohnson and had no compensation... was robbed of about 300 dollars worth of stuff
08:14 sjohnson it was a very ... upsetting feeling
08:14 sjohnson as i'm sure you know
08:14 masak nod.
08:14 sjohnson so you're not the only one
08:15 sjohnson someone took a crowbar and busted into my apartment
08:15 sjohnson :(
08:15 * masak was threatened with a knife and robbed of his laptop in December
08:15 masak unsettling is the word.
08:15 sjohnson very
08:15 sjohnson masak: what about you?
08:15 sjohnson ever been ripped off?
08:16 masak I just told you.
08:16 sjohnson oh
08:16 sjohnson i didnt see the /me
08:16 sjohnson that sucks
08:16 masak aye.
08:16 sjohnson where was it?
08:16 sjohnson in the US?  England?
08:16 masak on a bus station in Sweden.
08:16 sjohnson wow that is very scary and unsettling
08:16 sjohnson indeefd
08:17 masak lots of people around, but the robber was discrete.
08:17 sjohnson the thief
08:17 sjohnson ugh
08:17 masak ah. yes. the guy with the knife.
08:17 sjohnson sorry to hear that
08:17 M_o_C joined #perl6
08:18 sjohnson i worked as a cable guy at a ski hill
08:18 sjohnson and set up the internet gateways and all that jazz
08:18 sjohnson and someone stole the DHCP server, which was probably worth 30 bucks
08:18 sjohnson just cause i put a sticker that said "internet server"
08:18 sjohnson he probably thought he hit the motherload
08:18 sjohnson it was like a p/166 running FreeBSD
08:18 sjohnson what the hell does he think he's gonna do with that
08:19 sjohnson i'm 100% certain he wouldn't know how to mount the partition to even gain access to nothing
08:19 smtms joined #perl6
08:21 moritz_ http://www.perlmonks.org/?node_id=771896 this node got me thinking - can we do something about all these outdated repos and websites?
08:22 Matt-W those which we can get people who have access to them to do something with, we could perhaps get marked with notices of being out of date please go here instead?
08:23 masak aye.
08:24 masak the backside of Perl 6 changing to incorporate new ideas and improve on old ones is that existing explanations bit-rot very quickly.
08:37 Matt-W yes
08:37 Matt-W but we know this
08:37 Matt-W I had to update Form last week because the semantics of comb changed
08:40 masak yes.
08:41 masak the only way to be a Perl 6 software developer is to be close to the spec and Rakudo development.
08:45 szabgab masak, have you tried Padre since Oslo ?
08:45 masak szabgab: no. do I have something to look forward to?
08:46 szabgab I am not sure, it has the STD based syntax highlighting
08:47 szabgab and the Rakudo/PGE based one
08:47 szabgab you can select which one to use
08:48 masak I'm definitely interested in how you do that.
08:49 szabgab I don't know :-)
08:49 szabgab azawawi is maintaining it
08:53 masak bet it's easier in Perl 5 than in Perl 6 at present, though.
08:58 jferrero joined #perl6
09:07 ihrd joined #perl6
09:07 ihrd left #perl6
09:10 Matt-W I tried to install Padre at work, but failed horribly
09:11 * Matt-W doesn't like Windows
09:11 rjh Padre is a pain to install anywhere
09:11 rjh Well at least on Ubuntu, it installed about 150 CPAN modules
09:12 rjh imho it needs work to match vim's perl-support
09:13 Matt-W argh CPAN modules
09:13 Matt-W I've been learning Catalyst
09:13 Matt-W the number of modules I have to install isn't so problematic
09:13 Matt-W the problem is that I can't seem to make it automatically install dependencies without asking
09:13 Matt-W And the number of times a module's failed tests or not built
09:14 Matt-W Some of them fail due to not having dependencies that aren't listed as dependencies in CPAN!
09:16 szabgab we are working on the installation
09:16 Matt-W good good
09:16 Matt-W not your fault if somebody else's CPAN packages are a bit dodgy though
09:16 szabgab one approach is that Padre is going to be included in the next version of Ubuntu
09:16 ejs1 joined #perl6
09:17 szabgab and Alias told me that a few days ago he built padre on a new Strawberry without any failure in the prereq
09:17 szabgab so once day we might even have an .msi installer for Padre with Strawberry
09:19 szabgab rjh, if you tried it, I'd be glad if you gave me a few items that you felt were missing the most (except the key bindings which is a separate issue)
09:19 Matt-W szabgab: nice!
09:20 rjh szabgab: I heard about the Ubuntu package and that would make it much more convenient
09:20 rjh szabgab: at the time I tried it, it had mouse-over function definitions/perldoc for perl 6 (via plugin) but not perl 5
09:21 szabgab rjh, indeed, we missed the previous Ubuntu freeze by about a week
09:21 szabgab now it is already in as I understand
09:21 rjh it didn't have integration with perltidy, perlcritic, perl -c, tests, test coverage, pod coverage, debugging or tracing
09:21 rjh these things would be very cool to have
09:22 szabgab afaik all of these have been implemented at various levels in plug-ins
09:22 rjh I had a good look around CPAN
09:22 rjh perhaps I missed them?
09:23 szabgab though the mouse-over for perl 6 seems to be gone now, I'll check that
09:23 szabgab easier to see the list here; http://svn.perlide.org/padre/trunk/
09:23 szabgab all except the debugger are in there
09:24 rjh I see
09:26 rjh I suppose they mainly need refinement
09:26 rjh e.g. the perlcritic could do with having a proper list of issues, which you can click on to jump to the line number etc.
09:27 rjh is there a tag facility (e.g. jump to function definition, jump to module source)
09:27 pmurias joined #perl6
09:27 rjh having some way of getting tooltip function definitions would be really useful for some of those more obscure perl functions
09:28 pmurias szabgab: what would be nice is if the dev.pl script automatically used the plugins from the repo
09:29 rjh Hmm, I wonder what happens if I open one of those horrible 4000-line Perl scripts
09:30 szabgab tooltip definitions ?  I think you mean what we call calltip a buble coming up when you typed in the name of a sub ?
09:30 rjh yes
09:30 szabgab we have that
09:30 szabgab both for Perl 5/6
09:31 rjh you sort of do, it disappears once you type the first argument, but that's okay
09:31 szabgab but currently it is on/off,  we should refine that so you can say, I know how to write print(), don't show that to me anymore
09:31 rjh but it doesn't deal with imported functions yet
09:31 szabgab oh I think that could be changed
09:31 szabgab nope
09:31 rjh i understand that's a bit more complex :)
09:31 szabgab pmurias, it does :-)
09:31 szabgab dev.pl -h
09:32 szabgab you just have to install the other half of CPAN that are required by those plugins ...
09:33 pmurias szabgab: nice
09:33 * rjh tries to upgrade Padre 0.34 -> 0.36 and fails
09:34 rjh ah, it did Padre's tests before upgrading File::Path. CPAN--
09:34 donaldh joined #perl6
09:36 viklund joined #perl6
09:37 pmurias why is cpan.uwinnipeg.ca prefered over search.cpan.org
09:37 pmurias ?
09:38 moritz_ it's a matter of personal preference, I'd say
09:41 viklund ehlo
09:42 moritz_ olé
09:43 viklund ;)
09:43 szabgab pmurias, I only prefer it because it is open source
10:02 barney joined #perl6
10:11 sri_kraih joined #perl6
10:11 moritz_ ok, I sent an email to svn at perl.org
10:12 moritz_ and I requested to either mirror the pugs svn and keep it up to date, or close down http://svn.perl.org/perl6/pugs/trunk/
10:18 szabgab rakudo: my $x = "abcde"; substr($x, 1,1) = "x"; say $x
10:18 p6eval rakudo ba09b2: OUTPUT«abcde␤»
10:18 szabgab whould it work ?
10:18 szabgab should it work?
10:19 moritz_ yes
10:19 moritz_ substr is still an lvalue in perl 6
10:19 viklund does anyone know if I can do p5s IO::Select->can_read in rakudo somehow?
10:19 szabgab rakudo: my $x = "abcde"; say substr($x, 1,1) = "x"; say $x
10:19 moritz_ pugs: my $x = "abcde"; substr($x, 1,1) = "x"; say $x
10:19 p6eval rakudo ba09b2: OUTPUT«x␤abcde␤»
10:19 p6eval pugs: OUTPUT«axcde␤»
10:20 moritz_ szabgab: it's not implemented in rakudo right now
10:20 szabgab I see that, I just was wondering if it should be, but ok thanks;   lunch &
10:21 moritz_ pugs: my $x = "abcde"; substr($x, 1,0) = "x"; say $x
10:21 p6eval pugs: OUTPUT«axbcde␤»
10:21 Su-Shee joined #perl6
10:21 Su-Shee hi.
10:22 pmurias Su-Shee: hi
10:22 viklund helo
10:23 viklund hmm, I'll ask pmichaud++ when he comes here ;)
10:24 moritz_ 1) spec it 2) implement it 3) profit!
10:25 viklund moritz_: ;)
10:26 Su-Shee moritz_: gratulations to your article series. you converted 3 people to perl6. instantly hooked.
10:26 viklund I guess that it is possible to do now by injecting some PIR, but how, when and what?
10:26 moritz_ Su-Shee: thanks, that's great news
10:27 moritz_ I saw one on perl6-users already - or was that you?
10:28 Su-Shee no, i haven't said anything yet on perl6-users.
10:44 masak moritz_++
10:55 masak moritz_: S12-construction/construction.t, line 38. how could that line ever be executed?
10:59 agentzh joined #perl6
11:02 pugs_svn r27085 | pmurias++ | [re-smop] lexical multis now copy over outer variants
11:04 ejs2 joined #perl6
11:05 masak rakudo: class Substr { has $.s is rw; has Int $.from; has Int $.len; method new(Str $s is rw, Int $from, Int $len) { return self.bless(self.CREATE(), :$s, :$from, :$len) }; method Str { $.s } }; sub infix:<f>(Substr $s is rw, $repl) { $s.s = substr($s.s, 0, $s.from) ~ $repl ~ substr($s.s, $s.from + $s.len) }; say Substr.new("foo", 1, 1) f "x"
11:05 p6eval rakudo ba09b2: OUTPUT«fxo␤»
11:05 masak I'm sure the technique can be refined in various ways.
11:05 masak but you can kinda have lvalue substr today. :)
11:18 charsbar joined #perl6
11:19 gabiruh_ joined #perl6
11:21 donaldh joined #perl6
11:28 pmurias pmurias.livejournal.com # here's my GSoC project (quite lame) blog post
11:33 masak moritz_: literal's latest blog post on the GSoC work was on May 27, and his latest commit to the grok github repo was on June 1. I do hope he's ok.
11:42 moritz_ masak: (re line 38) it won't.
11:42 masak moritz_: I'm calmed by that answer.
11:51 masak moritz_: but I don't understand why, in that case, you added the line in r26041.
11:52 moritz_ masak: because I was a bit off my tracks, I think
11:52 masak you might simply have missed the 'return' on the line above...
11:53 moritz_ yes...
11:53 moritz_ it should be my $s = $self.bless(*, string => $string);
11:53 moritz_ $!a = $string;
11:54 moritz_ return $s
11:54 masak aye.
11:54 moritz_ the point was to test if $!a is writeable at that time
11:54 masak oh, wait.
11:54 masak no.
11:54 masak there's no $!a in new.
11:55 masak the 'new' method is on the class/type-object level.
11:55 pugs_svn r27086 | moritz++ | [t/spec] fix construction test, masak++
11:55 moritz_ oh dammit
11:55 masak :/
11:55 masak constructors are hard, let's go shopping.
11:56 moritz_ so it should just be bless(.., a => $string)?
11:56 * masak thinks so
11:56 masak and then the todo'd test can be un-todo'd too.
11:56 Whiteknight joined #perl6
11:57 pugs_svn r27087 | moritz++ | [t/spec] second attempt to fix constructor test, masak++
11:59 pugs_svn r27088 | masak++ | [t/spec] un-todo'd todo'd test
12:10 masak someone else get a Parrot backtrace after running t/spec/S10-packages/basic.rakudo ?
12:11 moritz_ yes
12:12 bepi joined #perl6
12:12 masak is it known?
12:12 masak ...and/or reported to either RT or TT?
12:12 ruoso joined #perl6
12:13 moritz_ I think  I menntioned it in pmichaud's presence once
12:13 moritz_ but not reported to RT
12:14 * masak submits rakudobug
12:14 ruoso Good morning
12:15 moritz_ pmurias: do you have a gsoc blog or something along these lines?
12:16 pmurias ruoso: hi
12:16 pmurias moritz_: pmurias.livejournal.com
12:16 moritz_ pmurias: thaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanks
12:16 moritz_ oh dammit
12:17 moritz_ freaking keyboarrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrd
12:17 moritz_ it randomly repeats characters
12:17 moritz_ very inconvenient
12:18 pmurias ruoso: having proper modules blocked on multis right?
12:18 masak moritz_: helpful tip. check the input before you submit it to your IRC client. use backspace as appropriate. :P
12:19 moritz_ masak: that would vastly impact my writing speed
12:20 masak moritz_: I see.
12:20 moritz_ masak: the irssi window lies on a remote, sometimes lagging server
12:20 masak ah.
12:20 masak t/spec/S02-magicals/dollar-underscore.t segfaults here, by the way.
12:20 moritz_ pmurias: so mildew now supports arity based dispatch and lexical multis?
12:21 moritz_ that's way cool
12:21 moritz_ masak: it's all fine here, at least with parrot r39572
12:21 ruoso pmurias, yes... it did...
12:22 moritz_ obra_: are you the owner of planetsix?
12:22 masak moritz_: ok. I have r39584 -- and a different platform.
12:22 pmurias moritz: if you do strange magick it also can also do limited type based dispatch (it doesn't do sorting for now)
12:23 rfordinal joined #perl6
12:23 pmurias ruoso: it would be usefull to have Test.pm working
12:24 moritz_ mildew: say "hi"
12:24 p6eval mildew: OUTPUT«hi␤»
12:24 moritz_ mildew: use v6; say "hi"
12:24 ruoso pmurias, well... I think you finished what was planned to GSoC, so we can move forward
12:24 p6eval mildew: OUTPUT«hi␤»
12:25 pmurias ruoso: the sorting based on type narrowness is missing
12:26 moritz_ are the traits (rw, ref, copy) implemented?
12:26 clintongormley joined #perl6
12:26 pmurias is ref and is ro is done
12:27 pmurias is rw and is copy depend on checking for "containerity" which is a bit unspecced
12:27 ruoso pmurias, hmm... that looks something that needs to be done indeed...
12:29 masak rakudo: class A {}; multi infix:<=>(A $a, A $b) { say "OH HAI" }; A.new = A.new
12:29 p6eval rakudo ba09b2: OUTPUT«Null PMC access in find_method()␤in Main (/tmp/yKJ6W4ZcgG:2)␤»
12:29 * masak submits rakudobug
12:30 masak uh, in general, I haven't succeeded in overloading infix:<=> at all.
12:34 skids joined #perl6
12:38 pugs_svn r27089 | pmurias++ | [re-smop] types no longer require a true method, moved int and a
12:38 pugs_svn r27089 | pmurias++ | sketched Any into the lexical prelude
12:38 pmurias mildew: my multi foo($a) {say "hi"};foo(1)
12:38 p6eval mildew: OUTPUT«Could not find method get_outer_candidates.␤»
12:40 pmurias moritz_: how often are build-*.sh shell scripts called?
12:42 moritz_ pmurias: depends. Which one?
12:42 pmurias build-smop.sh
12:43 moritz_ pmurias: currently not at all, it seems
12:43 rfordinal3643 joined #perl6
12:45 mizioumt joined #perl6
12:45 moritz_ pmurias: I'm currently running it manually, and check how long it takes
12:45 moritz_ 2m14.416s
12:46 moritz_ pmurias: would every 2 hours be enough?
12:46 twigil joined #perl6
12:47 nErVe joined #perl6
12:48 pmurias moritz_: yes
12:48 rfordinal joined #perl6
12:49 moritz_ evalenv@timtowtdi:~$ crontab -l|grep smop
12:49 moritz_ 22 */2 * * *            sh /home/evalenv/build-smop.sh >> ~/smop.log 2>&1
12:49 pmurias mildew: my multi foo(int $foo,$bar) {say "first"};role Foo {};my multi foo($foo,Foo $second) {say "second"};foo(1,2);foo("hi",Foo.new);
12:50 p6eval mildew: OUTPUT«unknown method "^!does" at message line 72 file build/native/src/native_int.c␤»
12:59 ruoso rakudo: multi infix:<+> ($a where 2, $b where 2) { 5 }; say 2 + 2
12:59 p6eval rakudo ba09b2: OUTPUT«Null PMC access in find_method()␤in Main (/tmp/5TyqUcgoDG:2)␤»
12:59 ruoso is that known?
13:00 moritz_ ruoso: I recently submitted a similar overloading bug, I think
13:01 masak there are a few things like that, yes.
13:01 moritz_ I think it's because + in rakudo tries to use the parrot opcode (which then invokes the get_number vtable function) instead of doing a proper multi dispatch
13:01 PerlJam rakudo: sub foo ($a where 5) { say "hi" }; foo(42);
13:01 p6eval rakudo ba09b2: OUTPUT«Parameter type check failed; expected something matching Junction() but got something of type Int() for $a in call to foo␤in sub foo (/tmp/kDLyrk7qrK:2)␤called from Main (/tmp/kDLyrk7qrK:2)␤»
13:02 Molaf joined #perl6
13:02 masak I often find myself thinking "grr, Parrot causes so much trouble! oh wait..."
13:02 PerlJam that's a weird message.
13:02 moritz_ masak: same here
13:02 masak PerlJam: indeed.
13:02 moritz_ perhaps the type check is internally implemented as a all() junction
13:02 masak probably.
13:02 masak still feels like leakage.
13:03 mberends joined #perl6
13:03 moritz_ rakudo: sub foo ($a where 5) { say "hi" }; foo(42|43)
13:03 p6eval rakudo ba09b2: OUTPUT«Parameter type check failed; expected something matching Junction() but got something of type Int() for $a in call to foo␤in sub foo (/tmp/A7bgDgLfWG:2)␤called from sub foo (/tmp/A7bgDgLfWG:2)␤called from Main (/tmp/A7bgDgLfWG:2)␤»
13:03 PerlJam rakudo: sub foo ($a where { 5 } ) { say "hi" }; foo(42);
13:03 masak PerlJam: feel free to submit a rakudobug.
13:03 p6eval rakudo ba09b2: OUTPUT«hi␤»
13:03 masak mberends: oh hai!
13:03 PerlJam is that one known?
13:03 masak PerlJam: don't think so.
13:03 masak PerlJam: probably NYI and failing in an interesting way.
13:03 mberends rakudo: 'hi masak'.say
13:03 p6eval rakudo ba09b2: OUTPUT«hi masak␤»
13:03 masak hi p6eval!
13:04 mberends #perl6 withdrawal symptoms are not a nice feeling
13:04 masak the mere thought is unpleasant.
13:05 masak this is where the future happens. not being here must be a bit like being stuck in the past.
13:07 mberends not being in #perl6 feels like being taken into a future not of your choosing
13:08 mberends there is always so much to backlog after an absence of two days
13:08 PerlJam The hardest part about rakudo-bugging for me is coming up with a good subject
13:09 masak PerlJam: "silly type name in where-blessed params in Rakudo"? :)
13:09 masak er, "[BUG] silly type name in where-blessed params in Rakudo"
13:09 PerlJam maybe I just obsess about words too much sometimes  :)
13:10 masak words are important! not to be underestimated.
13:10 masak some of my best friends are just words.
13:14 Matt-W Words are crucial
13:14 payload joined #perl6
13:14 Matt-W Without words, how would we communicate our thoughts on Perl 6?
13:15 Matt-W A lot of day to day life can be conducted with pointing and grunting, but not Perl 6.
13:15 moritz_ with code :-)
13:16 Su-Shee you could morse code it.
13:16 Matt-W Code has words in it
13:16 Matt-W Su-Shee: that's still words, just a different encoding
13:17 Su-Shee perl in colorful shaped symbols, for children.
13:17 pmichaud good morning, #perl6
13:17 masak pmichaud: o/
13:18 masak Matt-W: it would be an interesting challenge to mime a whole presentation about Perl 6.
13:18 masak Matt-W: the constraints imposed on the presentation slides would be interesting in themselves.
13:18 Matt-W masak: Well you can do that if you like... I'll just... go... over here
13:19 Matt-W \o/ it's pmichaud!
13:19 twigil morning... so nice, and it's midnight here
13:19 masak Matt-W: come back! I didn't say I _am_ a mime. :)
13:19 iblechbot joined #perl6
13:21 rfordinal joined #perl6
13:22 szabgab rakudo: say index "abcbd", "x"
13:22 p6eval rakudo ba09b2: OUTPUT«Attempt to index from negative position␤␤»
13:22 szabgab rakudo: index "abcbd", "x"
13:22 p6eval rakudo ba09b2:  ( no output )
13:23 Matt-W masak: If you were, it would be interesting to see you at an Esperanto event, miming.
13:23 moritz_ wtf?
13:24 moritz_ that index example looks really borked
13:24 Matt-W rakudo: say index("abcbd", "x")
13:24 p6eval rakudo ba09b2: OUTPUT«Attempt to index from negative position␤␤»
13:24 masak Matt-W: it would indeed. I'll se what I can do.
13:24 Matt-W how strange
13:24 Matt-W masak: Do you have to mime differently in Esperanto?
13:25 moritz_ ah
13:25 masak Matt-W: well, if the mimings involved sound-imitations, yes.
13:25 moritz_ it returns a failure object
13:25 moritz_ which throws an exception if used
13:25 Matt-W ooooh
13:25 Matt-W and when .Str is called on it, it tells you about the failure?
13:25 moritz_ 1+index("abcbd", "x")
13:25 masak rakudo: 1+index("abcbd", "x")
13:25 p6eval rakudo ba09b2: OUTPUT«Attempt to index from negative position␤»
13:25 moritz_ masak: thanks
13:26 moritz_ but that error message is bogus nonetheless
13:26 masak indeed.
13:26 Matt-W it is a strange error message to be produced in that situation
13:26 moritz_ rakudo: 1+index("x", "abcbd")
13:26 p6eval rakudo ba09b2: OUTPUT«Attempt to index from negative position␤»
13:26 * masak submits rakudobug
13:27 Matt-W A bug! A bug!
13:27 * Matt-W pushes Christmas back a day
13:27 moritz_ rakudo: say ?index("abcbd", "x")
13:27 p6eval rakudo ba09b2: OUTPUT«0␤»
13:28 moritz_ rakudo: say ?index("x", "abcbd")
13:28 p6eval rakudo ba09b2: OUTPUT«0␤»
13:29 moritz_ rakudo: say ?index("x", "abccbd")
13:29 p6eval rakudo ba09b2: OUTPUT«0␤»
13:29 moritz_ rakudo: say ?index("x", "abxcbd")
13:29 p6eval rakudo ba09b2: OUTPUT«0␤»
13:29 moritz_ rakudo: say ?index("abxcbd", "x")
13:29 p6eval rakudo ba09b2: OUTPUT«1␤»
13:29 moritz_ rakudo: say index("abxcbd", "x")
13:29 p6eval rakudo ba09b2: OUTPUT«2␤»
13:31 pmichaud anyone in favor of me getting rid of  svn.perl.org/perl6/pugs ?
13:31 pmichaud (from backscroll)
13:32 moritz_ pmichaud: yes
13:33 moritz_ pmichaud: I opened a ticket with svn@perl.org since I didn't knew you could do it
13:33 pmichaud It's now gone.
13:34 Matt-W moritz_: didn't you know? pmichaud can do anything!
13:34 pmichaud Maybe you can reply to the ticket email to say it's already been taken care of.
13:35 moritz_ pmichaud: done
13:37 rfordinal joined #perl6
13:37 moritz_ pmichaud: thank you
13:38 moritz_ ok, now we need somebody to delete the svn repo on openfoundry.org
13:39 moritz_ (this one: http://svn.openfoundry.org/pugs/)
13:41 pmichaud alas, my magic powers don't extend to openfoundry.org .
13:43 Matt-W la la la la la I didn't see that la la la
13:46 Su-Shee uhm, if I actually finish something perl6-ish - where do I put it? is there a perl6 cpan already or anything centralized right now?
13:47 moritz_ Su-Shee: nothing centralized. But if you put it onto github and follow certain steps, then the installer (called "proto") can download and build it automatically
13:47 moritz_ Su-Shee: see http://github.com/masak/proto/tree/master and http://github.com/masak/proto/blob/f1f3193​d4d01ace783a71acfe3a2486a2050775a/PIONEER
13:48 Su-Shee ok, I just want to avoid putting stuff "somewhere".
13:49 Matt-W We don't have a central place yet, but there are ways of helping it get hooked into the rest of the ecosystem that's starting to appear
13:50 moritz_ Su-Shee: you can also put stuff into http://github.com/perl6/perl6-examples/tree/master
13:50 moritz_ Su-Shee: out of curiosity, what are you working on?
13:50 masak yes! tell us!
13:51 Su-Shee moritz_: a little blog which is starting to leak into a wiki somehow but it seems that there might be the fallout of an Atom.pm which is probably useful to more people.
13:51 moritz_ what's the policy for the perl6 user on github - which projects should be moved under that user?
13:51 moritz_ Su-Shee: ah, sounds very nice
13:51 Su-Shee and possibly a recaptcha-binding.
13:52 masak Su-Shee: definitely. Atom.pm is something we could use in November.
13:52 Matt-W a recaptcha binding would be very useful for a lot of webby things
13:53 Su-Shee masak: It's useful and it's relatively small and simple - perfect as a beginner's project.
13:53 masak seems a lot of people are starting to build blog engines now.
13:53 masak I have to hurry up making Web.pm useful. :)
13:54 moritz_ a binding to akismet would also be quite helpful
13:54 Su-Shee actually I would _love_ to see a wishlist.
13:54 PerlJam masak: How is Web.pm gonig btw?
13:55 moritz_ Su-Shee: send a mail to perl6-users@perl.org and ask what kind of things people wish
13:55 moritz_ Su-Shee: that way you'll get a much bigger audience than here
13:55 masak PerlJam: I know exactly what I want to do now -- the vision is becoming clearer with each day. time has been scarce during spring, but even that is improving now that summer is here.
13:56 Su-Shee that's an idea - i was thinking along the lines of really necessary stuff
13:56 masak PerlJam: a nice thing is that as the different sub-projects become more well-specified, they turn out to have quite similar underpinnings.
13:56 masak hence, re-use.
13:56 moritz_ Su-Shee: well, necessaary is also subjective :-)
13:56 PerlJam yeah, reuse++
13:56 moritz_ a really, really big help would be a working database binding
13:57 masak yes.
13:57 moritz_ there was some example code for mysql and postgres
13:57 masak my biggest need right now is Parrot bindings to a XML library.
13:57 moritz_ but it didn't really make it into a nice-to-use DBI-like interface
13:57 masak s/a /an /
13:58 masak I'll start to feel the need for a database when I enter the MVC part of the grant.
13:59 Su-Shee this is what I mean. I personally wish for "the perfect gtk binding" - but I certainly agree that DBI is more pressing.
13:59 * ruoso finally got his new blog set up
13:59 ruoso http://daniel.ruoso.com -- please tell me if you see that in english or portuguese
14:00 [particle] english
14:00 masak ruoso: the right-hand menu is in Portuguese.
14:00 Su-Shee same here
14:00 [particle] ah, true, and footer
14:00 ruoso right... the menu wasn't translated... but the content uses http to give you the content in the correct language
14:00 Su-Shee ruoso: yes. it's perl. :)
14:01 Su-Shee (and english.)
14:01 masak ruoso: Portuguese comes off as a quaint form of Esperanto. :P
14:01 ruoso Esperanto is heavily influenced from latin languages
14:02 masak aye.
14:02 ruoso (you can see the entire post in Portuguese by either changing your browser settings or adding ?lang=pt to the end of the url)
14:02 * masak tries
14:03 Su-Shee ruoso: works.
14:03 rfordinal joined #perl6
14:03 ruoso the blog is implemented as a front-end catalyst application, using two different wordpress blogs as backend
14:03 masak ruoso: I can almost, but not quite, read it right off. the context is giving me enough clues for it to be easier, of course.
14:03 ruoso one for each language... as f**ing wp doesn't support multilingual content
14:04 rjh neat implementation of RPN though
14:04 masak ruoso: it's slightly funny that "RPN" becomes "NPR" in Portuguese. :)
14:05 ruoso masak, heh...
14:07 ruoso @tell DanielC I finally managed to post about my implementation of the RPN calculator, check it out at http://daniel.ruoso.com
14:07 lambdabot Consider it noted.
14:08 Matt-W ruoso: yeah I see it with english body, portuguese menu and footer
14:12 ruoso Matt-W, I should localize the templates in the next days
14:13 * ruoso will run for the "ugliest blog ever" prize
14:14 Su-Shee aren't we supposed to design all the perl stuff more pretty and shiny?
14:15 masak yes. but everyone hasn't got the memo yet.
14:16 masak but that's OK. Perl has never been about forcing square people into round holes. :)
14:16 * ruoso .oO( that was the shiniest I could get... )
14:16 masak ruoso: fwiw, I like the aspect of your blog.
14:17 pmichaud [particle]: did you see my proposed revised schedule for pvmw?  Any comments or suggestions?
14:17 [particle] pmichaud: saw it briefly, i'll review it more closely today
14:17 [particle] i'm currently trying to get the installed parrot/rakudo build going
14:18 pmichaud [particle]: cool.  I doubt we'll be able to make 1.3 though.
14:18 * Su-Shee was seduced by shiny processing until I realized that a bunch of perl modules would do the same stuff and even more powerful.
14:18 [particle] pmichaud: does it work on linux?
14:18 pmichaud fsvo "work"
14:19 pmichaud best answer is "no".  The pbc_to_exe doesn't work for an installed parrot.
14:19 [particle] still. damn.
14:19 stepnem joined #perl6
14:20 pmichaud I could maybe throw some tuits at it today, but I've kinda reserved today to be a Vienna.pm Rakudo Day (although perhaps that would qualify) and I wouldn't trust any pbc_to_exe changes for the release anyway without lots of testing.
14:22 [particle] so, i'll turn my attention to reviewing the revised workshop schedule
14:22 pmichaud I'm guessing that fixing installed parrot might make a good hackathon task post-YAPC
14:23 [particle] yes, agreed
14:23 [particle] wonder who will be around... i won't.
14:23 pmichaud oh
14:23 [particle] i'll be in the pennsylvania woods, fishing, canoeing, and relaxing
14:23 masak this is the first time I hear about anything post-YAPC.
14:24 Matt-W YAPC is soon isn't it
14:24 masak is there a web resource about post-YAPC?
14:24 [particle] masak: yapc::na
14:24 masak oh.
14:24 masak that one. :)
14:24 pmichaud Matt-W: YAPC::NA starts Monday.
14:24 pmichaud Matt-W: Parrot Virtual Machine Workshop starts Saturday.
14:25 pmichaud anyone who wants to comment on the proposed schedule:  http://yapc10.org/yn2009/wiki?node=Parro​t%20Virtual%20Machine%20Workshop%202009
14:27 ZuLuuuuuu joined #perl6
14:29 [particle] pmichaud: i'll take on the unconference planning
14:30 Matt-W Sounds fun
14:30 pmichaud [particle]: excellent.
14:30 masak rakudo: class A { method infix:<||>($b) { return 5 } }; say A.new || 42
14:30 p6eval rakudo ba09b2: OUTPUT«A()<0xb67d0ad0>␤»
14:30 masak that should work, right?
14:30 Matt-W I'll think about YAPC::EU next year
14:30 Matt-W need to get my passport renewed actually...
14:30 pmichaud masak: it's not clear that one can overload the short-circuit operators.  At least not that simply.
14:30 [particle] masak: an infix op with one param?
14:30 masak pmichaud: oh.
14:31 masak [particle]: it's a method.
14:31 [particle] hrmm.
14:31 [particle] ops can be methods?
14:31 pmichaud that's not clear either from the spec :-)
14:31 [particle] not at all
14:31 [particle] i'd say sub infix:<||>(A $a, $b) {...}
14:32 masak ok. :)
14:32 [particle] er, multi.
14:32 Matt-W hmm
14:32 Matt-W now if we had lazy evaluation on scalars...
14:32 moritz_ note that || is not an ordinary infix operator
14:32 moritz_ more like a macro
14:32 pmichaud correct.
14:32 moritz_ (it short-circuits, which can't be the case with ordinary ops)
14:32 Matt-W maybe short-circuiting operators are macros that build closures around their arguments and pass them to a multi
14:33 moritz_ Matt-W: that has been discussed, yes
14:33 masak I'd prefer if things like || were still operators, but modified in some way (with a trait, maybe) to short-circuit.
14:34 masak but maybe that can't be done.
14:34 pmichaud note that || is also list associative.
14:34 masak right.
14:34 pmichaud as opposed to being a binary op.
14:34 moritz_ multi macro infix:<||> maybe?
14:35 masak I sometimes boggle when I realize how much of such stuff hasn't been pinned down yet...
14:36 masak but hopefully that'll change within a year or so.
14:36 [particle] masak: perl 6 is so incredibly big
14:37 skids joined #perl6
14:39 masak [particle]: aye. and the small part of it that's implemented already keeps shifting under my projects. :)
14:40 [particle] well, the 11k+ passing rakudo spec tests are pretty stable, so it seems there's a large number of tests left to write
14:41 moritz_ masak: you need to morph more of your projects into the test suite :-)
14:41 [particle] moritz_: i thought that was in your queue ;)
14:42 masak moritz_: you're right. one of these days I'll do a pan-project sweep and eliminate half of the RAKUDO comments.
14:44 moritz_ [particle]: no, my internal queue is currently non-existant and torn apart by having too many different projects
14:44 moritz_ masak: speaking of which, did you successfully use BUILD submethods in your projects yet?
14:45 masak moritz_: in Druid, yes. and with great success.
14:45 masak the code got really nice. jnthn++
14:45 moritz_ great
14:45 masak moritz_: in proto it was a bit more involved, reports viklund_++.
14:47 masak how do I provide a new 'new' method to my class, while still keeping the default one from Object?
14:48 masak rakudo: class A { has $.b; multi method new($b) { self.bless(self.CREATE(), :b(42)); }; method Str { $.b } }; say A.new(42); # how do I make A.new(:b(42)) work?
14:48 p6eval rakudo ba09b2: OUTPUT«42␤»
14:50 moritz_ masak: that's a long-standing NYI-feature in rakudo
14:51 masak ok, but in ideal Perl 6?
14:51 moritz_ in ideal Perl 6 that already works
14:51 moritz_ because you can address the parameter $b as named, too
14:51 masak oh, right.
14:54 moritz_ of course a workaround involves two multis
14:54 masak moritz_: very well. what does the default Object.new look like?
14:54 * masak tries to find it in the Rakudo source
14:54 nihiliad joined #perl6
14:55 masak oh, it's in PIR.
14:57 masak but it should be something like multi method new($self: *%_) { $self.bless($self.CREATE(), |%_) }, right?
14:58 moritz_ yes
14:58 masak oh wait, something about the superclass type objects too...
14:59 moritz_ I don't think you should have to care about those
15:00 masak moritz_: not sure I know what you mean. I want to emulate the Object variant of new as closely as possible.
15:01 moritz_ masak: I mean that you shouldn't have to take care to manually trigger CREATE submethods in parent classes.
15:02 moritz_ because one of the other steps (presumably the .CREATE one) does that for you
15:02 masak moritz_: no, but those parameters come in through *@_...
15:03 moritz_ masak: the standard .new doesn't handle *@_, no?
15:03 M_o_C joined #perl6
15:05 masak moritz_: I was under the impression it did. but maybe I've got it mixed up with BUILD...
15:05 masak rakudo: class A { has $.b; multi method new(*%_) { self.bless(self.CREATE(), |%_) }; multi method new($b) { self.new(:b($b)) }; method Str { $!b } }; say A.new(42); say A.new(:b(42))
15:05 p6eval rakudo ba09b2: OUTPUT«42␤42␤»
15:05 masak this works, so I'm happy.
15:12 viklund joined #perl6
15:20 masak szabgab: a new perl6-tricks email! \o/
15:20 szabgab yeah I told you I have some free time so expect some Padre marketing here :-)
15:21 donaldh joined #perl6
15:22 masak szabgab: looking forward to it. it'll take some serious work to kick my Emacs/vim habit.
15:23 szabgab I know,  that part will be extremly hard, I also have trouble with it
15:23 szabgab but I hope Padre will be able to give a few nice advanced features to make it worth to use it at least for Perl 6
15:24 szabgab and for those who know a little bit less than you
15:24 szabgab which is a huge market :-)
15:25 masak thanks. :)
15:26 Su-Shee padre requires a perl with threads?
15:26 szabgab yes
15:26 pmichaud particle:  ping
15:26 pmichaud szabgab++  # perl6-tricks
15:27 szabgab pmichaud++  # Rakudo
15:28 Grrrr joined #perl6
15:31 masak "the karma bot has detected a cycle of mutual incrementing. as of now, all karma will be cleared."
15:31 pmichaud karmabot++
15:31 masak "bribes will get you anywhere."
15:32 justatheory joined #perl6
15:32 pmichaud that's what I often told my students.
15:32 pmichaud But I also warned them not to insult me.  :-)
15:32 masak I can see there's a fine line there...
15:34 szabgab the question is only the amount
15:35 mizioumt joined #perl6
15:35 pmurias ruoso: do you remember what was our plan for implementing modules?
15:36 mizioumt joined #perl6
15:36 mizioumt joined #perl6
15:44 masak which one calls which, .list or .List?
15:44 masak and which of these does @() call?
15:44 pmichaud @() calls .list .
15:44 lambdabot Maybe you meant: . ? @ bf ft id pl rc v wn
15:44 rjh lambdabot--
15:44 rjh @karma lambdabot
15:45 lambdabot lambdabot has a karma of -3
15:45 rjh hahaha
15:46 masak how can I bind a short name, such as Foo to a longer name such as Don't::Want::To::Type::This::All::The::Time::Foo?
15:47 pmichaud my &Foo := &Don't::Want::Foo
15:47 masak thanks.
15:47 rjh does that work with parts of namespaces?
15:47 masak rakudo: class A::B {}; my &B := A::B; B.new
15:47 p6eval rakudo ba09b2: OUTPUT«invoke() not implemented in class 'A::B'␤in Main (/tmp/0GL90kyfBT:2)␤»
15:47 masak bug?
15:48 pmichaud not exactly a bug there.
15:48 rjh rakudo: class A::B {}; my &B := &A::B; B.new
15:48 pmichaud you wouldn't want the &
15:48 p6eval rakudo ba09b2: OUTPUT«invoke() not implemented in class 'Undef'␤in Main (/tmp/KB0Pk0lX6j:2)␤»
15:48 pmichaud if you're binding a type object
15:48 moritz_ rakudo: class A::B { }; my ::B := A::B; B.new
15:48 p6eval rakudo ba09b2: OUTPUT«Malformed declaration at line 2, near "::B := A::"␤in Main (src/gen_setting.pm:0)␤»
15:48 moritz_ rakudo: class A::B { }; my &B := A::B; B.new
15:48 p6eval rakudo ba09b2: OUTPUT«invoke() not implemented in class 'A::B'␤in Main (/tmp/kNcL2tcrvL:2)␤»
15:48 pmichaud rakudo:  class A::B { };  ::B := A::B;  B.new
15:48 p6eval rakudo ba09b2:  ( no output )
15:48 pmichaud rakudo:  class A::B { };  ::B := A::B;  B.new.say;
15:48 p6eval rakudo ba09b2: OUTPUT«A::B()<0xb67fa528>␤»
15:48 masak nice.
15:49 pmichaud I'm not sure that's legal Perl 6.
15:49 finanalyst joined #perl6
15:49 masak :)
15:49 masak that's for the academics to decide. it works, so I'm using it.
15:50 pmichaud essentially Rakudo is treating the leading :: as being "declare a local type variable"
15:50 pmichaud but it may be that is supposed to happen only in declarational contexts.
15:50 masak ok.
15:51 moritz_ rakudo:  class A::B { };  ::B ::= A::B;  B.new.say;
15:51 p6eval rakudo ba09b2: OUTPUT«Could not find non-existent sub infix:::=␤»
15:51 pmichaud we don't support ::= yet
15:51 pmichaud at least, I don't think we do.
15:53 TimToady subset B of A::B will do in a pinch
15:53 finanalyst hi everyone
15:53 masak TimToady: feels slightly icky, tho.
15:53 moritz_ but it will match tighter in MMD
15:53 masak rakudo: class A { enum B <c d e>; ::c = B::c }; say A::c
15:53 TimToady troo
15:53 p6eval rakudo ba09b2: OUTPUT«Null PMC access in getprop()␤in Main (/tmp/UTsOoas4bD:2)␤»
15:53 * masak submits rakudobug
15:54 pmichaud masak:  ::c is lexically scoped.
15:54 masak pmichaud: meaning it can't be seen?
15:54 pmichaud outside of the block, no.
15:54 masak still, a Null PMC access is never right.
15:54 pmichaud true.
15:55 masak how can I do what I wanted to do here?
15:55 masak that is, export an enum's values via the class?
15:55 pmichaud I don't know that rakudo supports any way of doing that at the moment.
15:55 pmichaud Given that (I think) we have difficulty with nested enum declarations.
15:55 TimToady std: class A { enum B is export <c d e>; ::c = B::c }; say A::c
15:55 p6eval std 27089:  ( no output )
15:56 masak nice!
15:56 masak rakudo: class A { enum B is export <c d e>; ::c = B::c }; say A::c
15:56 p6eval rakudo ba09b2: OUTPUT«Statement not terminated properly at line 2, near "is export "␤in Main (src/gen_setting.pm:0)␤»
15:56 TimToady except an embedded module doesn't export by default
15:56 * masak submits TODO rakudobug
15:56 pmichaud TimToady: and that A::c part looks wrong to me also
15:56 pmichaud unless it's supposed to create an accessor method...?
15:57 TimToady was just pasting
15:57 masak so it should be A.c?
15:57 masak I can never tell.
15:58 pmichaud how about:
15:58 TimToady B::c
15:58 masak aha.
15:58 TimToady you're exporting B
15:58 masak TimToady: how come STD.pm didn't flag that, then?
15:58 masak oh, it was rebuilding, perhaps.
15:58 TimToady it said <no output> which usually means it's ... yes
15:59 masak "I believe humans and bots can coexist peacefully."
16:00 masak std: class A { enum B is export <c d e>; ::c = B::c }; say A::c
16:00 p6eval std 27089:  ( no output )
16:00 frew joined #perl6
16:01 * masak sets up a local 'std' command
16:01 TimToady parses here
16:02 masak how come?
16:03 TimToady A::c is just a warning
16:03 finanalyst rakudo: my %x=<a b c d>Z ([1,2],[3,2],[6,9],[3,6,7,3,2]); (map { %x{$_} , },%x.keys).min.say
16:03 p6eval rakudo ba09b2: OUTPUT«Multiple Dispatch: No suitable candidate found for 'cmp', with signature 'PP->I'␤in sub Any::_block329 (src/gen_setting.pm:62)␤called from method Any::min (src/gen_setting.pm:71)␤called from Main (/tmp/uAjtafxMF8:2)␤»
16:03 masak tarbo2: aha.
16:03 finanalyst is there a neat way to flatten the list of lists?
16:03 masak augh, tab completion fail.
16:03 masak TimToady: aha.
16:04 TimToady std: class A { enum B is export <c d e>; ::c = B::c }; say A::c
16:04 p6eval std 27089: OUTPUT«Undeclared name:␤      A::c used at 1 ␤ok 00:02 37m␤»
16:04 TimToady there it is
16:04 masak makes sense.
16:04 TimToady so we should have a name declarator :)
16:05 TimToady name B = A::B
16:05 TimToady to go with constant
16:05 TimToady actually you can use constant right, but it seems like the wrong declrator
16:05 TimToady std: constant A = A::B
16:05 p6eval std 27089: OUTPUT«Undeclared name:␤      A::B used at 1 ␤ok 00:02 35m␤»
16:06 TimToady std: constant A = Int
16:06 p6eval std 27089: OUTPUT«ok 00:02 35m␤»
16:06 pmichaud rakudo:  class A::B { };  constant B = A::B;   B.new.say
16:06 p6eval rakudo ba09b2: OUTPUT«A::B()<0xb67cc0b8>␤»
16:06 TimToady we could s/constant/name/ I suppose
16:07 pmichaud finanalyst: I'm not sure of the right way to flatten that.
16:07 pmichaud you should be able to avoid the map by simply using  %x.values, though.
16:07 masak TimToady: I don't feel constant is that bad a name for it.
16:07 masak types tend to be pretty constant.
16:07 TimToady name π = 3.14 ain't so bad
16:07 finanalyst i tried that, but i was trying to flatten
16:08 finanalyst pmichaud: i want to find the min/max in a hash of arrays
16:09 pmichaud finanalyst: perhaps:   %x.values>>.list
16:10 pmichaud rakudo:  my %x = <a b> Z ([1, 2], [3, 2]);   %.values>>.list.perl.say
16:10 p6eval rakudo ba09b2: OUTPUT«Lexical 'self' not found␤»
16:10 pmichaud o_O
16:10 pmichaud rakudo:  my %x = <a b> Z ([1, 2], [3, 2]);   %x.values>>.list.perl.say
16:10 p6eval rakudo ba09b2: OUTPUT«[[1, 2], [3, 2]]␤»
16:11 masak rakudo: enum B <c d e>; constant c = B::c
16:11 p6eval rakudo ba09b2: OUTPUT«Malformed declaration at line 2, near "c = B::c"␤in Main (src/gen_setting.pm:0)␤»
16:11 pmichaud rakudo:  my %x = <a b> Z ([1, 2], [3, 2]);   %x.perl.say
16:11 p6eval rakudo ba09b2: OUTPUT«{"a" => [1, 2], "b" => [3, 2]}␤»
16:11 pmichaud rakudo:  my %x = <a b> Z ([1, 2], [3, 2]);   %x<a>.perl.say
16:11 p6eval rakudo ba09b2: OUTPUT«[1, 2]␤»
16:11 pmichaud rakudo:  my %x = <a b> Z ([1, 2], [3, 2]);   %x<a b>.perl.say
16:11 p6eval rakudo ba09b2: OUTPUT«[[1, 2], [3, 2]]␤»
16:11 TimToady std: enum B <c d e>; constant c = B::c
16:11 p6eval std 27089: OUTPUT«##### PARSE FAILED #####␤Malformed constant at /tmp/m5ZCEtgkoA line 1:␤------> [32menum B <c d e>; constant c [31m= B::c[0m␤    expecting any of:␤        multi_declarator␤ typename␤FAILED 00:02 37m␤»
16:12 pmichaud rakudo:  my %x = <a b> Z ([1, 2], [3, 2]);   %x.values.perl.say
16:12 TimToady hmm
16:12 p6eval rakudo ba09b2: OUTPUT«[[1, 2], [3, 2]]␤»
16:12 pmichaud rakudo:  my %x = <a b> Z ([1, 2], [3, 2]);   %x.values[0].perl.say
16:12 p6eval rakudo ba09b2: OUTPUT«[1, 2]␤»
16:12 TimToady std: enum B <c d e>; constant d = B::c
16:12 p6eval std 27089: OUTPUT«##### PARSE FAILED #####␤Malformed constant at /tmp/uRysde4L2s line 1:␤------> [32menum B <c d e>; constant d [31m= B::c[0m␤    expecting any of:␤        multi_declarator␤ typename␤FAILED 00:02 37m␤»
16:12 pmichaud rakudo:  my %x = <a b> Z ([1, 2], [3, 2]);   %x.values>>.list.perl.say
16:12 p6eval rakudo ba09b2: OUTPUT«[[1, 2], [3, 2]]␤»
16:12 mkfort joined #perl6
16:12 TimToady std: enum B <c d e>; constant d = c
16:12 p6eval std 27089: OUTPUT«##### PARSE FAILED #####␤Malformed constant at /tmp/VRPs9J9VkR line 1:␤------> [32menum B <c d e>; constant d [31m= c[0m␤    expecting any of:␤   multi_declarator␤ typename␤FAILED 00:02 37m␤»
16:13 pmichaud rakudo:  my %x = <a b> Z ([1, 2], [3, 2]);   %x.values[0].list.perl.say
16:13 TimToady strange
16:13 p6eval rakudo ba09b2: OUTPUT«[1, 2]␤»
16:13 finanalyst rakudo:  my %x = <a b> Z ([1, 2], [3, 2]);   %x.values>>.min.perl.say
16:13 p6eval rakudo ba09b2: OUTPUT«[1, 2]␤»
16:13 pmichaud finanalyst: I don't have a good answer at the moment.
16:13 pmichaud >>.min isn't what you want -- that gives you the smallest from each list.
16:13 finanalyst rakudo:  my %x = <a b> Z ([1, 2], [3, 2]);   %x.values>>.min.min.say
16:13 p6eval rakudo ba09b2: OUTPUT«1␤»
16:13 pmichaud that works, fsvo "works"
16:13 pmichaud still I wonder why >>.list doesn't dwim
16:14 ruoso pmurias, TimToady recently clarified a bit how that will work
16:14 molaf_x joined #perl6
16:15 finanalyst pmichaud: is the >>.list a hyper operator?
16:15 pmichaud it should call .list on each element of the lhs
16:15 pmichaud and return that as a list
16:15 pmichaud (which should then flatten, I think)
16:17 finanalyst rakudo:  my %x = <a b> Z ([1, 2], [3, 2]);   (%x.values>>.list).perl.say
16:17 p6eval rakudo ba09b2: OUTPUT«[[1, 2], [3, 2]]␤»
16:17 pmichaud rakudo:  my %x = <a b> Z ([1, 2], [3, 2]);   %x.values>>.PARROT.say
16:17 p6eval rakudo ba09b2: OUTPUT«Perl6Scalar->Perl6Arr​ayPerl6Scalar->Perl6Array␤»
16:17 pmichaud rakudo:  my %x = <a b> Z ([1, 2], [3, 2]);   %x.values>>list>>.PARROT.say
16:17 p6eval rakudo ba09b2: OUTPUT«Statement not terminated properly at line 2, near ">>list>>.P"␤in Main (src/gen_setting.pm:0)␤»
16:17 pmichaud rakudo:  my %x = <a b> Z ([1, 2], [3, 2]);   %x.values>>.list>>.PARROT.say
16:18 p6eval rakudo ba09b2: OUTPUT«Perl6Scalar->Perl6Arr​ayPerl6Scalar->Perl6Array␤»
16:18 pmichaud rakudo:   [1,2].list.PARROT.say
16:18 p6eval rakudo ba09b2: OUTPUT«List␤»
16:18 pmurias ruoso: you mean the save the program state approach?
16:18 pmichaud I'm guessing a bug in parallel dispatch.
16:19 ruoso pmurias, no... I mean the "need" and "defines" in S11
16:19 ruoso TimToady, there's one thing about "need"
16:19 ruoso one you say "need Sense;"
16:19 ruoso the spec says "without importing any symbols"
16:19 finanalyst pmichaud: thanx. The .min.min will suffice for the time being
16:19 masak rakudo: enum B <c d e>; class A { constant f = B::c }; say A::f
16:19 p6eval rakudo ba09b2: OUTPUT«Null PMC access in isa()␤in Main (/tmp/owzreI2VTD:2)␤»
16:19 * masak submits rakudobug
16:19 ruoso but it seems that the symbol "Sense" is imported...
16:20 Psyche^ joined #perl6
16:20 ruoso TimToady, does that mean that "need Sense" creates a local "Sense" symbol that points to the "Sense" symbol in the loaded module's scope...
16:20 ruoso ?
16:21 ruoso basicall
16:21 ruoso if a file has class Sense { ... }; class Nonsense {...}
16:21 ruoso when you say "need Sense"
16:21 ruoso you can't access Nonsense from outside the package
16:21 ruoso but Sense still points to the Sense class...
16:21 ruoso is it?
16:21 masak rakudo: enum B <c d e>; class A { constant f = B::c }; say ?A::f
16:21 p6eval rakudo ba09b2: OUTPUT«Null PMC access in get_bool()␤in Main (/tmp/BuVvh11OqI:2)␤»
16:21 masak rakudo: enum B <c d e>; class A { constant f = B::c }; say +A::f
16:21 p6eval rakudo ba09b2: OUTPUT«Null PMC access in get_number()␤in Main (/tmp/MwJbcNR3g1:2)␤»
16:22 TimToady the assumption is that you'd have class Sense; ... class Nonsense is export {...}
16:22 TimToady however, need doesn't import
16:22 DanielC joined #perl6
16:22 ruoso except for the needed name
16:22 ruoso it seems
16:22 TimToady so you'd need 'use Sense' or 'need Sense defines * or some such
16:23 TimToady well, we assume 'require Sense' means Sense is a valid typename
16:23 ruoso my point was actually not about the Nonsense class
16:23 ruoso right... but...
16:23 TimToady you can say 'require Sense; my Sense $x = foo()'
16:23 TimToady likewise with need
16:24 TimToady need is just compile-time require
16:24 ruoso so need imports one symbol
16:24 ruoso which is the name of the thing being needed
16:24 TimToady it defines a symbol
16:24 ruoso but where does the symbol point to?
16:24 TimToady it's assumed that the thing needed also happens to define the type in question
16:25 TimToady to module {...}, I suppose
16:25 TimToady then Sense redefines it to not be ...
16:26 icwiener joined #perl6
16:26 ruoso so, from the implementation perspective, it will look for a name in the scope of the loaded comp_unit, then point the local Sense symbol to the Sense symbol inside the loaded scope
16:26 TimToady presumably
16:27 ruoso ok... so, conceptually, it imports the symbol of the needed thing
16:27 TimToady or think of it exactly as Perl 5's 'use Sense ()'
16:27 ruoso I can't...
16:27 TimToady if it makes you happy, sure :)
16:27 ruoso because in Perl 5 the namespace is global
16:27 ruoso and that's not the case in Perl 6
16:28 ruoso the thing is that I need to install a local symbol, because, unlike Perl 5, just loading the file won't get the symbol available to me
16:29 aindilis joined #perl6
16:29 TimToady that's what the symbol in use/need/require is for
16:29 TimToady it's the local name
16:29 ruoso alright... so we agree... ;)
16:29 TimToady use MyName:from< mishmash >
16:30 ruoso so, loading a module needs some primitive that will load a file and return the outermost scope of that file, so either use, require or need can look into it
16:31 TimToady incidentally, I'm still not entirely happy about the syntax of "defines"
16:31 ruoso and find the name in question
16:31 ruoso btw... there's a glitch in S11...  "need ACME::Rocket; my $r = ACME::ROCKET.new;"
16:31 ruoso I think you meant ACME::Rocket.new
16:32 ruoso as a side question...
16:32 ruoso what would happen with: need Acme; need Acme::Rocket; need Acme::Rocket::Science
16:32 TimToady ruoso: it's easier to fix than tell me about it :)
16:33 ruoso TimToady, yeah... sorry... I forgot that for one second
16:33 TimToady need is file oriented like use
16:34 TimToady though of course the actual filenames could be mangled by the library system
16:34 pugs_svn r27090 | ruoso++ | [spec/S11] fix case typo
16:34 TimToady but if you want to export classes, then you don't use 'need'
16:34 TimToady s/export/import/
16:36 ruoso TimToady, that was not the issue I was trying to raise... the issue is: if "Acme" points to the package in Acme.pm, installing Acme::Rocket, will end up installing it in the Acme package at a distance
16:37 pmichaud @tell viklund    chr(229) ~ chr(9787)  now works in Rakudo.
16:37 lambdabot Consider it noted.
16:38 ruoso TimToady, pmurias had an idea some time ago, that everytime you "need" something, you'll get a private copy of it... that would solve this particular issue...
16:45 r0bby joined #perl6
16:45 ilogger2 joined #perl6
16:50 barney Is $?CLASS not yet supported?    http://gist.github.com/130769
16:51 PerlJam rakudo: class A { say $?CLASS; }
16:51 p6eval rakudo ba09b2: OUTPUT«Symbol '$?CLASS' not predeclared in <anonymous> (/tmp/8K5ErKgo2a:2)␤in Main (src/gen_setting.pm:3225)␤»
16:51 r0bby joined #perl6
16:51 PerlJam barney: I'd say not.
16:52 finanalyst rakudo: (0 .. 5).minmax.perl.say
16:52 p6eval rakudo ba09b2: OUTPUT«[0, 5]␤»
16:52 REPLeffect joined #perl6
16:52 finanalyst rakudo: my @x=(0 .. 5); @x.minmax.perl.say
16:52 p6eval rakudo ba09b2: OUTPUT«Method 'minmax' not found for invocant of class 'Perl6Array'␤»
16:52 pmichaud $?CLASS is nyi
16:53 Whiteknight joined #perl6
16:53 finanalyst pmichaud: why is (0..5).minmax working, but not @x.minmax?
16:54 PerlJam finanalyst: because the first is a Range and the second an Array and minmax isn't defined on Range  (my guess at the obvious :)
16:55 pmichaud minmax isn't defined on Array
16:55 pmichaud it is defined on Range.
16:55 PerlJam er, s/Range/Array/  yeah
16:55 * PerlJam can't type
16:55 jhorwitz joined #perl6
16:56 finanalyst is this this spec? if so why?
16:56 pmichaud I don't know if it's spec -- check S32.
16:56 r0bby joined #perl6
16:56 cdarroch joined #perl6
16:56 pmichaud S32 only lists it for Range.
16:57 jeremiah_ joined #perl6
16:57 jeremiah_ I just built rakudo and had some failed spectests. Do I report that somewhere else than here?
16:57 pmichaud depends on the spectests
16:57 pmichaud normally reports go to rakudobug@perl.org
16:58 pmichaud but it's often a good idea to check here first :-)
16:58 PerlJam pm: check S03 for minmax
16:58 jeremiah_ Should I paste the test summary report?
16:58 pmichaud not into the channel, no
16:58 pmichaud you can past it to gist.github.com
16:58 pmichaud *paste
16:59 jeremiah_ This one line looks like the most interesting: t/spec/S10-packages/basic.rakudo                             (Wstat: 6 Tests: 22 Failed: 0)
16:59 jeremiah_ i.e. no failed tests, just six that had non-zero status.
17:00 jeremiah_ http://gist.github.com/130772
17:01 jeremiah_ I just added some lines from teh backtrace to the gist, hopefully that is useful as well.
17:03 sparc left #perl6
17:03 finanalyst pmichaud: minmax is given as an infix operator, but also as a method on a Range. Arent operators and methods closely linked?
17:05 finanalyst rakudo: my @a=1,2,3,4; my @b=9,8,7,1; say (@a minmax @b).perl
17:05 p6eval rakudo ba09b2: OUTPUT«Statement not terminated properly at line 2, near "minmax @b)"␤in Main (src/gen_setting.pm:0)␤»
17:07 finanalyst pmichaud: is this a bug or unimplemented? S03:1621
17:10 pmichaud finanalyst: they don't have to be closely linked.
17:10 pmichaud in some cases the operator and method are substantially different.
17:11 pmichaud anyway, I'm guessing minmax is nyi
17:11 finanalyst shall i file a rakudobug?
17:11 pmichaud sure.
17:11 jferrero joined #perl6
17:12 TimToady ruoso: yes, there's a solution like that in there somewhere, but we need to be very careful not to turn one type into two or more types accidentally; identity must be preserved
17:12 pmichaud rakudo:   my $b = 5;  my $x = (a => $b);  $b = 6;  say $x.perl;
17:12 p6eval rakudo ba09b2: OUTPUT«"a" => 5␤»
17:13 ruoso TimToady, hmm... maybe it's just the package that is cloned, the type itself is still the same...
17:15 pmichaud jeremiah_: those are known failures.  It has to do with Parrot double-freeing things in its contexts.
17:16 jeremiah_ okay - so no bug?
17:16 pmichaud jeremiah_: I think there's a bug already filed for that... but there's also little we can do about it at the moment.
17:16 jeremiah_ okay. :)
17:16 pmichaud (i.e., it either has to be fixed in parrot or in the PMCs that jnthn++ has created, and jnthn's on vacation)
17:17 pmichaud thanks for reporting, though
17:17 jeremiah_ Sure thing!
17:17 jeremiah_ :)
17:17 pmichaud I need to put a note about that into this month's release notes
17:17 DanielC @karma
17:17 lambdabot You have a karma of 18
17:18 pmichaud [particle]: ping
17:22 [particle] pmichaud: pong
17:23 pmichaud when you have a few mins, can we briefly discuss sunday schedule?  voice or irc fine
17:23 [particle] sure, i'll cal in, say, 15m?
17:24 pmichaud sounds excellent.
17:25 ruoso DanielC, it seems lambdabot forgot the message I sent you... anyway... I posted about the alterantive implementation for the RPN calculator in http://daniel.ruoso.com
17:25 DanielC *click*
17:25 lambdabot DanielC: You have 1 new message. '/msg lambdabot @messages' to read it.
17:25 DanielC ha
17:25 DanielC @messages
17:25 lambdabot ruoso said 3h 18m 44s ago: I finally managed to post about my implementation of the RPN calculator, check it out at http://daniel.ruoso.com
17:26 ruoso hmm... interesting... lambdabot won't sen't you the message if you talk its language...
17:26 DanielC It is indeed interesting.
17:26 pmichaud lambdabot speaks only when not spoken to, it seems.  :-)
17:26 DanielC he he
17:27 dalek rakudo: e80574a | pmichaud++ | docs/spectest-progress.csv:
17:27 dalek rakudo: spectest-progress.csv update: 404 files, 11535 passing, 0 failing
17:27 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​80574a23f0feb223b3f9df18f757f4c520a3051
17:29 DanielC ruoso: Do you want to add a comment to my blog, so that everyone who sees the blog can then go see your version too?
17:29 ruoso hmm... good idea
17:32 ruoso DanielC, er... your blog requires login to comment..
17:33 DanielC ruoso: Sorry, I've had spam problems.
17:33 ruoso could you post the comment instead?
17:33 DanielC Sure, np.
17:39 DanielC ruoso: Could you reload the page and tell me if now you can post without registering, but with a CAPTCHA?
17:39 DanielC ruoso: My configuration says that a captcha is required to post comments, but when I go to the page I don't see a captcha.
17:39 ruoso that's because you're logged in
17:40 ruoso I see a captcha
17:40 DanielC I tried with a different browser. I guess I must be logged in with that other browser.
17:40 DanielC ruoso: Anyways, thanks.
17:40 DanielC ruoso: I'll leave it this way for now and see if I get spam.
17:41 DanielC I don't really care about people registering. I just don't want spam.
17:41 DanielC It's too much hassle to go delete posts selling viagara.
17:43 DanielC I also installed a plugin that is supposed to add a spam filter to the comments.
17:47 DanielC Ah! I'm wrong. There *is* a captcha on this page, but it appears *below* the post-comment button. Hmm... that's not very usable...
17:50 DanielC Fixed.
17:50 DanielC Now the captcha appears before the text area, where people will actually see it.
17:50 DanielC ruoso: Thanks for getting me to fix comments on my blog :-)
17:50 ruoso ;P
17:57 pugs_svn r27091 | lwall++ | [S04] require temp semantics for topical statement modifiers
17:57 Molaf joined #perl6
17:57 TimToady pmichaud: see ^^^
17:59 pmichaud TimToady: noted, thanks.
18:00 pmichaud I thought that might end up being the answer.  :-)
18:00 TimToady it was going to be murder to implement the other way
18:00 pmichaud Agreed.
18:01 TimToady since you'd have to retroactively remove 'my $x' from the symbol table when a thunk is postdeclared by a modifier
18:02 TimToady and this keeps the user-visible definition of scoping simple
18:02 pmichaud Agreed.
18:02 * ruoso always thought statement modifiers implied a closure...
18:02 ruoso as in "the statement becomes an implicit closure"
18:02 TimToady but my $x is required to enter $x into the symbol table Right Now
18:03 TimToady well, it's certainly a thunk
18:03 pmichaud we'll have to refactor rakudo's handling of <for> and <given> a bit; hopefully it won't be too difficult.
18:04 TimToady but I think that as in Perl 5, thunks ought to be very efficient, esp for ??!! and && and || etc.
18:04 ruoso I always thought that the semantics of: "for 1,2,3 { .say }" were the same as ".say for 1,2,3"
18:04 TimToady P6 is picky about is explicit curlies
18:04 TimToady *its
18:05 * ruoso actually confused on what having two versions of for means in the implementation side...
18:06 TimToady for 1,2,3 { .say } is the same as { .say } for 1,2,3
18:06 TimToady the blockless form reduces $_ from a formal parameter to the existing $_, which requires temporization for sanity
18:07 * ruoso .oO( what was wrong with ".say for 1,2,3" is a syntax sugar for "{ .say } for 1,2,3"? )
18:08 pmichaud ruoso:    (my @array).push($_) for 1,2,3;
18:08 clintongormley ruoso: just seen your RPN calculator - that's sweet.  multi-subs completely change the way one could look at a problem
18:08 ruoso clintongormley, thanks... although that would probably be the natural answer for LISP people...
18:09 ruoso pmichaud, hmmm... is that corner case really worth the trouble?
18:09 TimToady note we have similar issues with map *.foo(my $x), 1,2,3
18:09 TimToady it's not a corner case
18:10 TimToady the scoping of "my" is fundamental
18:10 skids .oO(LIIC -- Lost In the Implicit Curlies)
18:10 TimToady and we want the rules simple, unlike in P5
18:10 ruoso declaring a variable in a statement modified by "for" looks like a corner case...
18:11 pmichaud it's the case that came up in discussion yesterday :-)
18:11 pmichaud so it's not too corner.
18:11 TimToady well, it's a really Big corner
18:11 TimToady it's what you're guaranteeing the programmer when there's a "my"
18:12 TimToady it always goes to the closing } (or end of comp unit)
18:12 ruoso my point was about dropping support for "my" declarations in statements modified by things that cause that statement to be run more than once...
18:13 pmichaud would need to do it for "our" also.
18:13 TimToady and state
18:13 TimToady which is *important* in loop closures
18:13 pmichaud also it's somewhat challenging to detect when there's a my declaration in a statement.
18:13 ruoso sorry... it wasn't specific to my, actually...
18:13 ruoso I meant, dropping support for declarations...
18:14 pmichaud especially in this case, since we don't know that we have a statement modifier until after we've processed the thing it modifies.
18:15 TimToady I'd rather keep the visibility largely decoupled from the run-time value, even where we know that there might be an uninitialized variable
18:15 TimToady we allow "my $foo;" after all...
18:15 ruoso pmichaud, you could choose to process the modifier before the statement, I think...
18:16 TimToady I think this falls under the category of "preventing the user from doing stupid things also prevents the user from doing clever things"
18:16 ruoso I'm not worried about the user, actually... I'm worried about the implementation
18:16 TimToady ruoso: no, the introduction of $x into the symbol table must be instantaneous in a left-to-right parse
18:17 TimToady ruoso: I get to worry about both :P
18:17 ruoso my $x = 4 if $x;
18:17 TimToady $x is always undef
18:17 ruoso std: my $x = 4 if $x;
18:17 p6eval std 27091: OUTPUT«ok 00:02 36m␤»
18:17 TimToady perfectly legal
18:17 TimToady stupid, but legal
18:18 ruoso I really thought that statement modifiers didn't work like that...
18:18 pmichaud the temporizing $_ really only applies to <for> and <given>
18:18 pmichaud I think the other modifiers have never implied a block
18:19 ruoso pmichaud, it applies to any topicalizer-modifier
18:19 ruoso and the user could write one himself...
18:20 TimToady in which case they may need to temporize $_ as well
18:21 pmichaud or they can have their modifier imply a block.
18:21 pmichaud (which will go against the way p6 does it.... but that's up to them :-)
18:21 TimToady still, immediately introducing symbols is like one of the earliest apocalyptic decisions...
18:22 TimToady if anything bends, it'll be the statement modifiers, not that principle
18:24 TimToady actually, wasn't mentioned till A04
18:24 TimToady (This form of lexical scoping works in Perl 6 because
18:24 TimToady the name C<$f> is introduced immediately within the statement. This
18:24 TimToady differs from the Perl 5 approach where the name is not introduced till
18:24 [particle]1 joined #perl6
18:24 TimToady the end of the current statement.
18:25 ruoso note "introduced within the statement"... I tend to think in an statement modifier as being outside the statement...
18:26 TimToady the point is, introduced to the surrounding block
18:26 TimToady immediately
18:26 TimToady if we can retroactively change the meaning of surrounding block, we're in deep kimchee
18:26 ruoso anyway... I'll take some time before implementing it... so I can work out some way of doing it...
18:27 TimToady the only thing special you need is the temporization
18:27 TimToady everything else just falls out of the parser
18:28 TimToady a thunk is still a Block
18:28 ruoso the issue is having two versions of for
18:28 TimToady but the symbols are already bound to the surrounding block
18:28 TimToady go jump in a lake
18:28 TimToady :)
18:28 TimToady I have confidence in you :)
18:28 ruoso heh
18:29 TimToady a thunk is just a 0-ary block
18:29 * ruoso .oO( at least someone has ;)
18:29 pmichaud ...that doesn't impose a new lexical scope.
18:30 TimToady was speaking to the run time, not the compilation...
18:30 * ruoso will probably extract the declarations from the statement and place it before when implementing it...
18:30 pmichaud okay.  :-)
18:31 TimToady I occasionally have words with the compilation too, you may have noticed :)
18:32 TimToady ruoso: the compiler should have already created any pad entries you need for the block/thunk, so you shouldn't have to
18:33 ruoso std: my $x = 1; my $x = 2;
18:33 Chillance joined #perl6
18:33 p6eval std 27091: OUTPUT«Potential difficulties:␤  Redeclaration of $x (from line 1) at /tmp/rTvIAfNo9M line 1:␤------> [32mmy $x = 1; my [31m$x = 2;[0m␤ok 00:02 36m␤»
18:33 TimToady pad entries have to be born undef anyway, or we can't guarantee CATCH sanity
18:33 * ruoso could vote to turn that "Potential difficulty" into a "syntax error" :)
18:34 TimToady ruoso: note there's only one $x, even with the warning
18:34 ruoso ah...
18:34 TimToady eval '$x' will only ever see the single $x of the pad
18:34 ruoso better
18:34 TimToady a long-ago audreyt-suggested feature in pugs :)
18:34 ruoso maybe the warning could state that, so people won't expect p5 behavior
18:35 TimToady that one seems like a corner case to me :)
18:35 ruoso heh...
18:35 TimToady but I'm fond of good error messages too
18:36 ruoso something like "Useless redeclaration of $x" would already imply it
18:36 TimToady yes, that's probably an improvement
18:37 DanielC Question: == ins a multi-function, right? So I should be able to make my own == function for a custom class, yes?
18:37 DanielC http://pastebin.com/m326eb130   <--- :-(
18:38 payload joined #perl6
18:38 ruoso DanielC, rakudo seems to be unhappy with overloading some of the operators
18:38 ruoso but that's a rakudo bug...
18:39 DanielC I can overload "+" fine, but Rakudo doesn't like it when I overload "=="
18:39 dalek rakudo: e3b2f93 | pmichaud++ | t/01-sanity/07-end-blocks.t:
18:39 dalek rakudo: Package variable still needs a declarator.
18:39 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​3b2f93c127e106c6a11ba5aa40a27bf8add21a3
18:39 dalek rakudo: 952fe6d | pmichaud++ | :
18:39 dalek rakudo: Merge branch 'master' of git@github.com:rakudo/rakudo
18:39 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​52fe6dc93b3e8fd0dd496d8430f4125a8a66fa9
18:41 TimToady 'course, whether a redeclaration of something is useless or illegal may depend on what it is
18:41 TimToady but we'll bridge that burne when we get to it
18:42 masak joined #perl6
18:42 DanielC I want to make a class for rational numbers.
18:42 masak DanielC: great!
18:42 DanielC So you can write: my $a = 3 over 4; $a  = $a + 2; ...
18:42 TimToady we're suposed to have Rat as a builtin, so if you want to implement it, go for it.
18:43 DanielC Hi masak. I was just talking about the problem with ==.
18:43 masak DanielC: did you eventually solve it?
18:43 masak I've been discovering quite a bit of problems with overloading during the day.
18:43 DanielC TimToady: Really? I was just thinking that it would make a nice blog post.
18:43 skids DanielC: there's already a Rat in parrot.  A few things probably could use a spec-side push from the rakudo end.
18:43 skids Like, defining accessors for nom and denom.
18:44 DanielC skids: Well you see, I don't *need* a Rational class. I just want to write a blog post that shows how cool Perl 6's type system is.
18:44 masak DanielC: as you see, when you start implementing a finger, you're offered the whole hand. :P
18:44 TimToady maybe we should call them top and bottom, or truth and beauty
18:44 DanielC skids: So I want to show multi-functions, among other things.
18:44 masak Punch and Judy.
18:44 skids DanielC: wrong topic, numbers, until overloading is fully operational.
18:44 TimToady rakudo: (1/3).WHAT.say
18:45 p6eval rakudo e80574: OUTPUT«Num()␤»
18:45 skids Best to stick to something less overloadable.
18:45 TimToady 1/3 is supposed to behave as a Rat literal
18:45 TimToady though maybe only STD knows that
18:46 masak TimToady: in which cases will operations of Rats cause them to devolve into ordinary floats?
18:46 DanielC Logic would say: When you do arithmetic with a float.
18:46 DanielC e.g. 2 / 3.0
18:46 masak hm, maybe the dual of that question is more easily answered.
18:46 TimToady the Rat literal form doesn't allow spaces
18:47 DanielC 2/3.0
18:47 TimToady std: 2/3.0
18:47 p6eval std 27091: OUTPUT«##### PARSE FAILED #####␤Syntax error at /tmp/sUM3H9VGvH line 1:␤------> [32m2/3.[31m0[0m␤    expecting any of:␤  integer␤  postfix_prefix_meta_operator␤FAILED 00:02 35m␤»
18:47 masak would +"1/3" numify to a Rat?
18:48 TimToady Num is allowed to keep a lazy Rat internallly
18:48 TimToady by current spec
18:48 masak was that an answer to my question?
18:48 TimToady not sure if that's really sane though
18:48 TimToady not intended as one
18:48 TimToady not your original question, anyway
18:48 masak OK.
18:48 masak what's (+"1/3").WHAT?
18:49 TimToady could say Num, but Num might know it's still a Rat
18:49 * skids wonders why it's so damn hard to find old pastelings via either perlgeek.de or google site:perlgeek.de searches.
18:49 TimToady native num, on the other hand, doesn't do lazy rats
18:50 masak I was thinking, since +"5" numifies to an Int...
18:50 masak at least as far as I understand/hope...
18:50 TimToady it could certainly numify to a Rat
18:51 masak I think that would be the most consistent.
18:51 TimToady hopefully most of the rest of it falls out with appropriate MMD
18:51 DanielC numify... I love verbing.
18:51 * ruoso remembers that "5" is a Rat too... it's "5/1", but it's a Rat
18:51 TimToady I think Num() is only guaranteed to convert to something that does Num, not that is Num
18:52 masak aye.
18:52 * ruoso .oO(why did I use quotes above? s/"//g
18:52 TimToady well, any function could return flying butt monkeys if it wanted...
18:52 icwiener_ joined #perl6
18:52 DanielC rakudo: (1 == 1.0).perl.say
18:52 masak not if it's typed. :)
18:52 p6eval rakudo 952fe6: OUTPUT«Bool::True␤»
18:52 ruoso masak, even if it's typed
18:53 ruoso masak, it can return a flying butt monkey that does the type
18:53 masak ruoso: oh, right.
18:53 DanielC Is == currently defined solely as (Num, Num) ?
18:53 masak I didn't consider a flying butt monkey that happens to do the type...
18:53 masak DanielC: yes.
18:53 TimToady return Flying-Butt-Monkey.new but Cool
18:54 DanielC Is == even a multi-function in Rakudo?
18:54 masak butt Cool.
18:54 [particle]1 OUTPUT [No Way!]
18:54 masak DanielC: all core functions are multi.
18:54 TimToady DanielC: why wouldn't it be?
18:54 DanielC masak: == doesn't behave very multi for me :-(
18:54 masak DanielC: that's because of bugs.
18:54 masak DanielC: and jnthn is on vacation. :/
18:54 DanielC TimToady: Just trying to figure out if the current behaviour is a bug.
18:55 TimToady nodnod
18:55 masak DanielC: best I can offer you is more speleology... :)
18:55 ruoso but regarding numbers... I think the matching should follow the way math does... 1 ~~ Complex is true,
18:55 TimToady 1 does Complex, sure
18:55 masak ruoso: full ack.
18:55 TimToady and 1/3 does Num
18:55 TimToady despite being a Rat
18:56 ruoso so Int is actually a subset of Rat
18:56 masak ruoso: except in any inheritence sense.
18:56 skids nopaste?
18:56 ruoso masak, that's why they're all roles
18:56 masak skids: gist.gihub.com
18:56 ruoso not classes
18:56 masak ruoso: aye.
18:56 TimToady or subsets :P
18:56 skids hrm, the one in the topic is borken
18:56 masak skids: aye. :/
18:56 DanielC Int is Rat is Num is Complex <-- thats the way it should work.
18:57 TimToady needs inviting, I expect
18:57 ruoso except that "is" express inheritance...
18:57 * masak realises that we have both Cat and Rat in Perl 6... and lots of Dog examples in the spec
18:57 ruoso Cat?
18:57 masak buubot: spack Cat
18:57 buubot Couldn't match input.
18:58 masak hmm, maybe I'm hallucinating.
18:58 masak buubot: spack ' cat '
18:58 buubot Couldn't match input.
18:58 TimToady what is sial's nick?
18:58 masak TimToady: I emailed the guy a while back, and he said he didn't have room for #perl6. :/
18:59 ruoso lot of stuff got lost with sial pbot
18:59 masak his bot or something only had that many slots.
18:59 TimToady but after that, just inviting it got it back
18:59 ruoso it's not only the bot that went off
19:00 TimToady maybe we should all pitch in and buy him a 10-meg disk drive
19:00 masak oh. it wasn't #perl6 I asked about, it was #november-wiki.
19:00 TimToady do you remember the nick?
19:00 skids DanielC: http://gist.github.com/130824
19:00 ruoso the whole pbot app is off
19:00 DanielC masak: I'm lost. What are we talking about? who is sial?
19:00 masak TimToady: he's jmates@sial.org
19:00 masak but I don't know the nick.
19:00 DanielC skids: *click*
19:01 masak DanielC: the guy that runs the pastebot that's usually in here.
19:01 DanielC skids: Interesting.
19:01 DanielC masak: Ah. I noticed that pastebot didn't work anymore.
19:01 skids Would be more interesting if op overloading wasn't blocked on rakudo/parrot MMD grafting.
19:02 masak skids++ # nice!
19:05 * ruoso wonders how lazy math can be done by the interpreter...
19:05 masak OK -- let's say I want to call the Expat library from Rakudo. http://www.libexpat.org/ -- how far would I get today if I tried?
19:07 * ruoso .oO( can the interpreter leave (1/3) + (1/2) as ((2+3)/6)? when does it collapse to an actual number? )
19:07 pmichaud ...I kinda thought that   (2+3)/6  was an actual number :-)
19:08 skids ruoso: on a more basic level, I was surprised by the paucity of academic papers (at least, google-seen ones) addressing the topic of when it is most efficient to canonicalize rats.
19:08 ruoso it's not just about efficiency
19:08 ruoso but precision as well
19:09 ruoso if you turn it into floating point too early
19:09 ruoso you'll get a different result
19:09 skids Though Parrot's rationals are libgmp, which adopts an "always canonicalize" approach so the choice has been made for us for rakudo, at least for now.
19:09 DanielC ruoso: (1/3) + (1/2) should be stored as 5/6. That's what my Rational class does.
19:09 * skids is pecking away at a construcible numbers class.
19:09 ruoso pmichaud, right... I should have said "when does it collapse to a floating point?"
19:09 skids Yeah I know what you mean.
19:10 avar ruoso: When you call sprintf ? :)
19:10 Su-Shee left #perl6
19:11 ruoso avar, maybe you're right and it only collapses when you explicitly asks for it...
19:11 avar I don't know, but I'd prefer it to only collapse to floating point when you carry out an operation which turns your rational into an irrational number
19:11 avar Up until that point it doesn't make sense to suffer precision loss in the internal representation
19:11 TimToady and we all know that user I/O is irrational
19:11 skids Anyway the rational canonicalization issue is neat in that it exposes the drawbacks of RISC-like approaches to coding, in a much less confusing way than, say, string splicing.
19:12 skids If you build all your ops up from basic ops, there's little opportunity to canonicalize at strategic points in a calculation.
19:23 pugs_svn r27092 | lwall++ | [viv] can now duplicate gimme5's translation of EXPR
19:23 pugs_svn r27092 | lwall++ | [STD] better redefinition message suggested by ruoso++
19:28 viklund joined #perl6
19:34 _Chillance_ joined #perl6
19:39 StephenPollei http://www.schneier.com/blog/arch​ives/2009/06/ever_better_cry.html Ever Better Cryptanalytic Results Against SHA-1 -- somewhat OT but a few days ago some talked about hash functions here
19:40 Chillance joined #perl6
19:43 viklund hello
19:43 lambdabot viklund: You have 1 new message. '/msg lambdabot @messages' to read it.
19:43 viklund Great, pmichaud++
19:44 masak viklund: oh hai
19:45 viklund masak: ehlo
19:45 * masak is studying http://www.parrotcode.org/doc​s/pdd/pdd16_native_call.html to see if he can co-opt Parrot into letting him talk to Expat
19:45 viklund ;)
19:46 masak it actually looks doable.
19:47 lichtkind joined #perl6
19:48 viklund @seen pmichaud
19:48 lambdabot pmichaud is in #perl6. I last heard pmichaud speak 40m 51s ago.
19:48 pmichaud I'm around.
19:48 viklund great
19:49 viklund is there someway I can do can_read on a filehandle in rakudo/pir?
19:49 viklund i've tried to find anything in the parrot tree...
19:50 viklund ...but it's kind of difficult to navigate.
19:52 pugs_svn r27093 | moritz++ | [t/spec] modeline
19:52 masak rakudo: say "\c[2013]"
19:52 p6eval rakudo 952fe6: OUTPUT«ߝ␤»
19:53 pugs_svn r27094 | moritz++ | [t/spec] test that .subst works within a multi
19:53 masak rakudo: say '\c[2013]'
19:53 p6eval rakudo 952fe6: OUTPUT«\c[2013]␤»
19:54 pmichaud what is "can_read"?
19:55 pmichaud (I can speculate, but I'm curious to know what you mean by it :-)
19:56 viklund ahh, it's from IO::Socket in p5, it says "I have data"
19:56 Khisanth not IO::Select?
19:56 viklund it calls select()
19:56 viklund Khisanth: right
19:56 pmichaud I don't know if there's a select() equivalent in Parrot yet.
19:56 viklund sry, I tend to spell Select as Socket
19:56 masak rakudo: say "\x[f6]"
19:56 p6eval rakudo 952fe6: OUTPUT«ö␤»
19:56 viklund pmichaud: can I do a non-blocking read somehow?
19:57 pmichaud I don't know.  We'd have to ask the #parrot folks.
19:57 * viklund wonders if he really knows the meaning of that question.
19:57 viklund ok
19:57 avar By turning on non-blocking IO, but I don't know if rakudo can do that:)
19:57 masak is there a way to ask a Perl 6 string what encoding it has?
19:57 pmichaud rakudo can do it if Parrot can do it.
19:57 moritz_ cotto++ is currently working on the asynchronous IO in parrot
19:57 moritz_ so he should have a good overview
19:57 masak pmichaud: no, I mean Perl 6.
19:58 masak pmichaud: oh, you were replying to avar. sorry.
19:58 moritz_ masak: I don't think that strings have encodings in Perl 6
19:58 pmichaud right, I was replying to avar.
19:58 moritz_ masak: a Str is something above the encoding level
19:58 masak moritz_: fair enough.
19:59 TimToady which is why I was carping about calling .bytes on a Str
19:59 viklund oh, well, I guess my p6 ircbot will have to wait a while longer
19:59 masak moritz_: let's say I have the Str "ö". how do I turn that into a latin-1-encoded array of bytes?
19:59 pmichaud in fixing viklund's concatenation issue I think I did come up with a way to start implementing Buf, fwiw
19:59 moritz_ masak: that's a more interesting question, and somethiing I've been wondering for quite some time
19:59 pmichaud but I'd need more answers to the questions like masak++ is currently posing in order to understand Buf
20:00 moritz_ TimToady: any thoughts?
20:00 masak TimToady: ah. I think I see why now. it can't give bytes if it doesn't know its own encoding.
20:00 viklund masak: It doesn't have an encoding
20:00 moritz_ unless you assume a default encoding (and normal form)
20:00 masak pmichaud: I'm running into many of these questions with Web.pm.
20:00 masak viklund: right.
20:00 masak viklund: s/know its own/have an/
20:01 pmichaud masak: correct, I can see that.  If we can get the Perl 6 API nailed down, I think we can get an implementation in Rakudo fairly quickly.
20:01 masak so let's nail it down.
20:01 moritz_ I'm all in favor of a .encode($encoding) method on Str
20:01 pmichaud what's the equivalent of chr($n)  that returns a Buf instead of a Str?
20:01 masak how do I convert a Str, which doesn't have an encoding, to a Buf, which does?
20:01 TimToady .encode
20:02 ruoso http://daniel.ruoso.com/catego​ria/perl/module-loading-mildew
20:02 moritz_ great
20:02 ruoso some notes about how module loading would work
20:02 masak buubot: spack encode
20:02 buubot Couldn't match input.
20:02 viklund and .encode returns a Buf?
20:02 TimToady correct
20:02 moritz_ viklund: that would make sense, yes
20:03 moritz_ pmichaud: maybe Buf(123) ? (just guessing)
20:03 TimToady possibly Buf() also converts to a default, which might be contextually set
20:03 masak .encode takes an optional named which specifies the actualy encoding, utf-8, latin-1, etc, yes?
20:03 TimToady typically utf8 in western world
20:03 * skids relieved Str doesn't have an encoding.
20:03 viklund UTF9 FTW!!
20:04 masak do Str and Buf have a common role or something, so that they can be treated together in parameter lists and the like?
20:04 TimToady sure, they're both Any :P
20:05 * masak scowls
20:05 TimToady duck typing is your quack
20:06 * viklund starts thinking about the utf9 spec
20:06 masak still having a hazy vision forwards, though.
20:06 TimToady just take the difference from utf7 to utf8 and then do it again
20:06 moritz_ viklund: isn't there one already?
20:07 moritz_ viklund: I think it was an April's fool joke
20:07 viklund yes
20:07 viklund http://en.wikipedia.org/wiki/UTF-9_and_UTF-18
20:08 moritz_ TimToady: any objection to maing the $nf argument to Str.bytes a named one?
20:10 TimToady well, anything can be named as an arg, even if positional as a param
20:10 moritz_ hm, right
20:10 TimToady so you mean "not a positional"
20:11 ruoso TimToady, btw... I think the importing of the package name in "need" and friends could recursively clone the packages, but keep the references to the other things in the package...
20:11 TimToady I'm inclined to leave positionals in if there's sort of an obvious one
20:11 moritz_ TimToady: ok, but then I'd put the encoding first
20:11 TimToady ruoso: I was thinking more in terms of delegation, but whatever
20:11 TimToady or COW
20:12 pmichaud is .encode in the spec already somewhere/
20:12 pmichaud ?
20:12 moritz_ pmichaud: no, I'm adding it right now
20:12 TimToady moritz_: maybe, esp if we also have separate normalization functions
20:13 pmichaud what happens if we stringify a Buf ?
20:13 ruoso TimToady, by delegation you mean a lazy proxy that would protect the outer package?
20:13 moritz_ it dies bitterly?
20:13 ruoso s/outer/foreign/
20:14 pugs_svn r27095 | moritz++ | [S32/Str] document Str.encode
20:14 pugs_svn r27095 | moritz++ |
20:14 pugs_svn r27095 | moritz++ | also changed order of arguments in .bytes
20:14 masak moritz_++
20:15 * viklund updates his spec
20:16 pmichaud The Buf that gets returned is a Buf8 ?
20:16 masak yes, IIRC.
20:16 moritz_ the spec doesn't mention a Buf8
20:17 moritz_ only buf8
20:17 masak ah.
20:17 TimToady all bufs are native, basically
20:17 TimToady Buf is abstract
20:17 masak oh right. just like there's no Int8.
20:17 moritz_ TimToady: so any value that conforms to Buf is actually a buf8 or buf16 or so?
20:18 StephenPollei buf32 was also mentioned iirc
20:18 moritz_ aye
20:18 moritz_ in S02
20:18 TimToady buf32 is essentially UCS-4
20:18 pmichaud masak/moritz:  would you be able to write a few simple tests for .encode that illustrate what you want?
20:18 moritz_ pmichaud: yes
20:18 pmichaud (or expect?)
20:18 masak pmichaud: sure thing!
20:18 pmichaud I think we can get a .encode implementation reasonably quickly from that.
20:18 masak \o/
20:18 TimToady I wonder if we should have signed bufs...
20:19 moritz_ pmichaud: give me a second to finish my spec work on the Buf constructor, then I can write that
20:19 pmichaud okay.  It's unlikely I'll get to it today, but in the next couple of days I may be able to do so.
20:19 masak I'm working on Hitomi tests right now, but it's nothing I can't interrupt.
20:19 StephenPollei also Grapheme and Codepoint and others existed, not sure how they fit into the unicode discussion
20:19 pmichaud I don't need tests immediately -- just sometime soon.  Or put another way -- I'll be blocking on tests (and possibly time)
20:20 masak understood.
20:20 skids TimToady: it's all post-casting at the end of operations, so maybe just a trait?  Or whatever it is that is appropriate to stick on a bufN
20:20 pmichaud (I do recognize it's really vital for web-based stuff, so I'm eager to get it in, however.)
20:20 moritz_ rakudo: say :16<c3>, :16<B16>
20:20 p6eval rakudo 952fe6: OUTPUT«1952838␤»
20:20 TimToady certainly we can limp along with unsigned bufs for now
20:20 moritz_ rakudo: say :16<c3>, ' ',  :16<B16>
20:20 p6eval rakudo 952fe6: OUTPUT«195 2838␤»
20:21 moritz_ rakudo: say :16<c3>, ' ',  :16<B6>
20:21 p6eval rakudo 952fe6: OUTPUT«195 182␤»
20:21 pmichaud rakudo:  say :16<B_52>
20:21 skids Endianness, however....
20:21 p6eval rakudo 952fe6: OUTPUT«2898␤»
20:21 TimToady well, there's really no such thing as UTF-16 or UTF-32 either
20:22 TimToady those are abstractions over LE and BE
20:22 TimToady and also note that our Codepoints are not UTF-16 codepoints, but Unicode codepoints
20:22 TimToady no surrogates allowed
20:24 cdarroch joined #perl6
20:24 TimToady but with an option for anything allowed, including "illegal" codepoints
20:25 TimToady s/anything allowed/allowing anything/
20:25 pugs_svn r27096 | moritz++ | [S32/Containers] flesh out Buf constructor
20:26 skids Hrm do we really need Str.encode?  Couldn't it just be Str.Buf?
20:27 moritz_ Str.Buf('UTF-8') looks weird to me
20:27 viklund Buf.decode?
20:27 pmurias joined #perl6
20:28 moritz_ viklund: feel free to spec that too
20:29 viklund but I don't have commit access to pugs svn...
20:30 moritz_ viklund: that should be changed
20:31 moritz_ viklund: you've got mail ;-)
20:31 viklund ;D that was quick
20:32 masak oh, we're quick to distribute blame. :)
20:32 moritz_ viklund: now you can also invite people via http://commitbit.pugscode.or​g/admin/project/Pugs/people and your svn password
20:32 pugs_svn r27097 | lwall++ | [S32/Str] some fossils
20:34 moritz_ rakudo: say 'a'.ord
20:34 p6eval rakudo 952fe6: OUTPUT«97␤»
20:37 pugs_svn r27098 | lwall++ | [S32/Str] old thinko on the inequalities
20:37 moritz_ TimToady: how do you compare two Bufs? with eq?
20:37 TimToady eqv would work fine
20:38 masak that would work even when they're encoded differently?
20:38 moritz_ masak: a Buf is just a list of Integers
20:38 moritz_ masak: it doesn't know about an encoding either
20:38 masak moritz_: oh, come on!
20:38 masak :)
20:39 masak so to check if they encode the same string, I'd have to decode both into Strs, and compare the Strs with eq?
20:39 masak moritz_: I thought that a Buf had Str-like features.
20:39 moritz_ hm.
20:39 moritz_ that doesn't fit with S32/Containers
20:40 moritz_ maybe it can optionally know its encoding
20:40 moritz_ if it does, you can regex-match against it etc
20:40 pmichaud A C<Buf> is a stringish view of an array of
20:40 pmichaud integers, and has no Unicode or character properties without explicit
20:40 pmichaud conversion to some kind of C<Str>.
20:40 pmichaud (from S02)
20:40 moritz_ ah, ok
20:41 masak so if a Buf is created by a conversion to Str, it retains its coding information?
20:41 TimToady obviously the signed bufs would have to be bif8 bif16 and bif32
20:41 pmichaud masak: that statement doesn't parse for me.
20:41 pmichaud well, it parses, but the semantic analysis fails my constraint checker.
20:42 masak pmichaud: ah, s/conversion to/conversion from/. sorry. :)
20:42 pmichaud also the part about "Buf retains its coding information"
20:42 masak hm, nevermind. a re-read of the S02 quote invalidates my question anyway.
20:42 TimToady one could, of course, derive a bufutf8 type
20:43 TimToady well, a utf8 type
20:43 skids OK, wait wasn't it just decided that Str doesn't have a definite encoding (can change at will during ops)?
20:43 TimToady which isa buf
20:43 TimToady 8
20:43 pmichaud skids: correct, a Str doesn't have an encoding.
20:44 pmichaud at least, the encoding isn't "public"
20:44 TimToady but a utf8 or a utf16 might
20:44 pmichaud Here's my current understanding of things
20:44 skids Ah.  I don't remember seeing those.
20:44 TimToady it's good that you don't remember those
20:44 pmichaud (1) all Str objects are Unicode
20:45 pmichaud (2) Buf objects are simply a stringish view of a list of integers
20:45 pmichaud (3) neither of these have an "encoding" associated with them
20:45 TimToady (unless we derive from buf8, etc.)
20:45 pmichaud (4)  "encoding" simply specifies how one goes from Str->Buf or vice-versa
20:46 pmichaud (yes, modulo TimToady's comments that there could be derived forms of Buf that keep their encoding)
20:47 pmichaud (end)
20:47 * skids thinks that's a workable minimal set (what pmichaud wrote)
20:47 viklund ack
20:47 masak it feels so easy when you write it like that. :)
20:48 * ruoso later &
20:48 moritz_ pmichaud++
20:48 StephenPollei and some things like `say` must have a default encoding
20:48 masak I'm currently translating Python test code into Perl 6. it makes frequent mention of Unicode strings, and has some conversion to latin-1 as well.
20:48 masak StephenPollei: how so?
20:48 moritz_ StephenPollei: it's associated with handles, not with say()
20:49 TimToady StephenPollei: that's the filehandle's call
20:49 StephenPollei oh ok with the handle that makes lots of sense
20:50 StephenPollei so open probably defaults to utf8
20:50 TimToady in the West
20:50 moritz_ right, it's specced taht way
20:50 TimToady might well default to utf16 in the East
20:51 pmurias isn't utf16 marked with a bom?
20:51 pugs_svn r27099 | moritz++ | initial tests for Str.encode
20:51 moritz_ pmurias: optionally
20:52 StephenPollei possibly dumb question but maybe you have a pragma or something , or like pmurias said use bom or whatever
20:52 TimToady I'm kinda fond of scsu, myself
20:52 StephenPollei excpet if you use bom then you must set it at initial read or sniff ahead at open
20:52 pmichaud afk for a bit
20:52 moritz_ South Carolina State University?
20:53 StephenPollei and some things you can't nondestructively read ahead .. pipe
20:53 pmichaud scsu == the unsigned version of scsi  :-) :-)
20:53 moritz_ StephenPollei: the default mode for open() is "unicode", which roughly says "if there's a BOM, use it, if not, assume UTF-8"
20:53 TimToady http://unicode.org/reports/tr6/
20:53 moritz_ StephenPollei: details are in S32/*
20:54 StephenPollei ok I'll read it, I haven't finished the synopises yet
20:54 masak StephenPollei: one does not "finish" the synopses. :P
20:54 StephenPollei http://perlcabal.org/syn/S32/IO.html
20:55 pmichaud None of us have finished the synopses yet.  That's why we're still working on them.  :-)
20:55 TimToady there are heuristics between the no-BOM and the assumption of UTF-8
20:55 StephenPollei well I need to read all of them at least once, even if they will mutant under my me after I read them
20:56 pugs_svn r27100 | moritz++ | [S32/Containers] spec Buf.decode
20:56 viklund what is the $nf paramter in the Str methods?
20:56 moritz_ viklund: normal form
20:56 TimToady normalization
20:56 moritz_ viklund: just like on .bytes
20:57 StephenPollei http://perlcabal.org/syn/S32/IO.html#IO Note that the "Unicode" encoding implies figuring out which actual UTF is in use, either from a BOM or other heuristics. If heuristics are inconclusive, UTF-8 will be assumed.
20:57 viklund oh, just like on .bytes
20:57 TimToady StephenPollei: that's what I just said :)
20:57 moritz_ rakudo: say 'ö'.ord
20:57 p6eval rakudo 952fe6: OUTPUT«246␤»
20:58 Sunbeam joined #Perl6
20:59 pugs_svn r27101 | moritz++ | [t/spec] also test Buf.decode
20:59 TimToady but basically, if in the first N bytes of the file all the nulls are in either the even or the odd position, you can assume UTF-16 of the appropriate endianness
21:00 moritz_ TimToady: it would be useful if Str and Buf shared a common role (let's say Stringish). Then IO methods like .say could request a conversion to Stringish rather than Str
21:00 TimToady on the assumption that most text files will have a lot of ASCII, even in the East
21:01 moritz_ TimToady: so objects that now their binary representation better than their Str representation could easier be used in IO
21:01 StephenPollei method Buf::print (IO $io --> Bool)
21:01 lichtkind first post :) http://use.perl.org/~perl6doc/
21:01 StephenPollei I think thats also missing from the spec for files opened with :bin
21:01 TimToady well, say and print use very low-level stringification in any case
21:02 TimToady since they're last-ditch effort on stringifying junctions
21:02 TimToady likewise if there are a lot of nulls in both even and odd positions, we suspect a form of UTF-32
21:05 TimToady but certainly the stringification in print and say is more akin to buffification, as you say
21:06 TimToady one might go as far as to say that the low-level stringification we get in say is really .encode
21:07 TimToady so maybe .encode is defined in the junction class, while .Str isn't
21:07 moritz_ so Junction answers to .encode?
21:07 TimToady seems like it unifies
21:08 moritz_ I still don't see the point in not having .Str or .perl in Junction, but there are more important topics to me ;-)
21:08 moritz_ so .encode on a Buf is a no-op?
21:08 moritz_ I'd rather have it an error
21:08 moritz_ and .encode only on non-Buf objects
21:08 TimToady "utf8".encode("utf16")
21:10 TimToady recode("utf8","utf16") maybe
21:10 TimToady recode(Any,Any) then converts to Str and back
21:10 skids <utf8 utf16> get with it, TimToady :-)
21:11 TimToady well, actually, if they're really types, then just recode(utf8,utf16)
21:11 TimToady and then we have atoms to compare
21:11 moritz_ why should they be types?
21:11 TimToady I talked about that earlier
21:11 TimToady utf8 isa buf8
21:12 moritz_ ah, ok
21:12 TimToady latin1 isa buf8 too
21:12 nihiliad joined #perl6
21:13 TimToady latin1 eq utf8 could then be made to kaboom or dwim
21:14 * skids shudders that ISO-8859-1 is a valid perl6 identifier.
21:15 TimToady nope
21:15 TimToady std: ISO-8859-1
21:15 p6eval std 27101: OUTPUT«Undeclared name:␤      ISO used at 1 ␤ok 00:02 35m␤»
21:16 avar hrm, someone told me that "-" could be used in variable names in p6, just not at the beginning/ending to disambiguate it from binary ops
21:16 TimToady then someone was confabulating
21:16 PerlJam avar: it can.
21:16 viklund_ avar: that is correct
21:16 PerlJam TimToady: please explain
21:17 TimToady the char after - has to be alpha
21:17 TimToady not alphanum
21:17 PerlJam oh yes.
21:17 moritz_ std: my $a-b
21:17 p6eval std 27101: OUTPUT«ok 00:02 36m␤»
21:17 moritz_ std: my $a1-b
21:17 pmurias $-foo is legal?
21:17 p6eval std 27101: OUTPUT«ok 00:02 36m␤»
21:17 moritz_ std: my $-foo
21:17 p6eval std 27101: OUTPUT«##### PARSE FAILED #####␤Malformed my at /tmp/RJAfkl3Oaj line 1:␤------> [32mmy $-[31mfoo[0m␤    expecting special_variable__S_158DollarMinus␤FAILED 00:02 36m␤»
21:17 PerlJam wait, it can be 9-a  ? I thought the - had to be between alphas
21:17 moritz_ std: my $9-a
21:17 avar std: my $a1-1b
21:18 p6eval std 27101: OUTPUT«Undeclared routine:␤   a used at 1 ␤ok 00:02 36m␤»
21:18 p6eval std 27101: OUTPUT«##### PARSE FAILED #####␤Whitespace is required between alphanumeric tokens at /tmp/tB2ldwYiVW line 1:␤------> [32mmy $a1-1[31mb[0m␤    expecting any of:␤        POST␤   postfix␤   postfix_prefix_meta_operator␤      standard stopper␤ terminator␤     whitespace␤FAILED 00:02
21:18 p6eval ..36m␤»
21:18 pmurias std: $a1-a
21:18 PerlJam std: my $a2-foo;
21:18 p6eval std 27101:  ( no output )
21:18 p6eval std 27101:  ( no output )
21:18 TimToady basically a sequence of legal identifiers separated by - or '
21:18 xinming_ joined #perl6
21:18 lichtkind PerlJam: do you know who maintain planet perl 6?
21:19 TimToady identifiers can end with num but not stat
21:19 TimToady *start
21:19 PerlJam lichtkind: I do not.
21:19 lichtkind haha
21:20 skids fine then
21:20 * skids relieved that ISO-8859-1 is a not valid perl6 identifier.
21:21 lichtkind PerlJam: any clue who does?
21:22 moritz_ lichtkind: last time obra_ was able to help - but I'd suggest adding some real content first
21:23 lichtkind moritz_: what you mean by real conent ?
21:23 lichtkind obra_: ping?
21:23 moritz_ lichtkind: blog posts that takl about Perl 6
21:24 lichtkind moritz_: as i did :)
21:24 moritz_ lichtkind: I didn't see any Perl 6 content
21:24 lichtkind moritz_: well documentation is also part of the project
21:24 moritz_ anyway, if you want more exposure now, you can also submit to the ironman planet
21:25 moritz_ lichtkind: yes, but announcing a blog about perl 6 documentation is not talking about Perl 6, IMHO
21:25 TimToady $.sleep((^5000).pick) &
21:26 lichtkind moritz_: there are 3 more serious issues in this post
21:27 moritz_ lichtkind: that's a rather futile debate... let me rephrase my sentinment: I'd recommend more Perl 6 related content, then your chances of inclusion are higher.
21:35 Limbic_Region joined #perl6
21:41 pmurias moritz_: should i attempt to have my gsoc blog included on planet perl 6?
21:41 moritz_ pmurias: IMHO yes
21:43 obra_ lichtkind: please email me. jesse@perl.org
21:43 lichtkind obra_: thanks
21:46 nihiliad left #perl6
21:47 nihiliad joined #perl6
21:48 pmurias obra_: could you add pmurias.livejournal.com to planet perl 6?
21:54 obra_ pmurias: please mail me the feed information
21:54 masak rakudo: class A::B {}; A
21:54 p6eval rakudo 952fe6: OUTPUT«invoke() not implemented in class 'NameSpace'␤in Main (/tmp/aTmJLBniUS:2)␤»
21:54 masak rakudo--
21:55 moritz_ I think it's not far from being correct
21:55 Tene Why isn't the result of a C<while> condition set in $_?
21:56 moritz_ defining A::B doesn't autovivify package or class A
21:56 moritz_ so a bare A afterwards is parsed as a sub call
21:56 Tene Does defining A::B necessarily define A?
21:56 Tene As a class?
21:56 moritz_ rakudo: my $x = 1; while $x { .say; $x = 0 }
21:56 Tene I could see as a namespace...
21:56 p6eval rakudo 952fe6: OUTPUT«Use of uninitialized value␤␤»
21:56 moritz_ Tene: I don't think so
21:56 moritz_ rakudo: my $x = 1; while $x -> $_ { .say; $x = 0 }
21:56 p6eval rakudo 952fe6: OUTPUT«1␤»
21:57 Tene but what would this do: class A::B; my A $a .= new()
21:57 meppuru joined #perl6
21:57 moritz_ Tene: complain about a mal-formed declaration?
21:57 moritz_ std: class A::B; my A $a .= new()
21:57 p6eval std 27101: OUTPUT«ok 00:02 36m␤»
21:57 moritz_ hm.
21:57 Tene moritz_: Sure, but is that a workaround or is there an official  reason for not doing that?
21:57 moritz_ std: class A::B::C; my A::B $a .= new()
21:57 p6eval std 27101: OUTPUT«ok 00:02 36m␤»
21:57 PerlJam Tene: wouldn't having the conditional of a while automatically set $_ cause more confusion?
21:57 Tene std: my Foo $a .= new();
21:58 p6eval std 27101: OUTPUT«##### PARSE FAILED #####␤In "my" declaration, typename Foo must be predeclared (or marked as declarative with :: prefix) at /tmp/yVKe3xsg5F line 1:␤------> [32mmy Foo[31m $a .= new();[0m␤FAILED 00:02 35m␤»
21:58 Tene PerlJam: explain?
21:58 * moritz_ agrees with PerlJam
21:58 TimToady while $_ ne '' { s/^.// } # kaboom
21:58 moritz_ Tene: since the return value of the conditional is used rather seldomly, people tend to expect $_ to be the outer $_
21:59 Tene Hmm.
21:59 Tene Ah, right, I was trying to inherit from the while(<>) {} p5 special case
22:01 Tene which should be for $*IN.lines, but that's not lazy in rakudo yet.
22:01 Tene Okay.
22:01 PerlJam Tene: wrt class A::B implying a class A, why would you want that?  Why do you need a "work around"?  A::B and A bear no relation to each other than they share a common prefix.
22:01 Tene PerlJam: that's what I was saying.
22:01 Tene PerlJam: I was responding to moritz
22:01 masak rakudo: enum A <b c>; say A.b
22:01 p6eval rakudo 952fe6: OUTPUT«Null PMC access in get_string()␤in Main (/tmp/p5QwSO26Py:2)␤»
22:01 * masak submits rakudobug
22:01 masak (yes, I know it should be A::b)
22:06 rfordinal joined #perl6
22:08 PerlJam masak: seen this one ...
22:08 PerlJam rakudo: class A { } ;  A.foo;
22:08 p6eval rakudo 952fe6: OUTPUT«Method 'foo' not found for invocant of class ''␤»
22:08 PerlJam ?
22:08 PerlJam (I would have expected a similar message from your enum example, but with an appropriate class name)
22:09 masak PerlJam: well, there's no foo.
22:09 masak the only thing wrong is the class name.
22:09 PerlJam right, that's what I mean.
22:09 masak rakudo: class A {}; A.new.foo
22:09 p6eval rakudo 952fe6: OUTPUT«Method 'foo' not found for invocant of class 'A'␤»
22:09 masak PerlJam: seems to have something to do with type objects.
22:14 masak rakudo: enum A::B <c d e>; constant B = A::B; say B::c
22:14 p6eval rakudo 952fe6: OUTPUT«Null PMC access in invoke()␤in Main (/tmp/m2A7LYkaEe:2)␤»
22:14 * masak submits rakudobug
22:16 moritz_ rakudo: enum A::B <c d e>; my ::B = A::B; say B::c
22:16 p6eval rakudo 952fe6: OUTPUT«Malformed declaration at line 2, near "::B = A::B"␤in Main (src/gen_setting.pm:0)␤»
22:16 moritz_ rakudo: enum A::B <c d e>; ::B := A::B; say B::c
22:16 p6eval rakudo 952fe6: OUTPUT«Null PMC access in invoke()␤in Main (/tmp/i5IO8cTDbM:2)␤»
22:22 stepnem joined #perl6
22:22 DanielC joined #perl6
22:23 DanielC @seen mberends
22:23 lambdabot I saw mberends leaving #perl6 8h 15m 37s ago, and .
22:23 viklund @seen lambdabot
22:23 lambdabot Yes, I'm here. I'm in #bfpg, ##hrg, #unicycling, #scannedinavian, #scala, #rosettacode, #perl6, #macosxdev, #jtiger, #jhc, #haskell_ru, #haskell.se, #haskell.ru, #haskell.no, #haskell.jp, #haskell.
22:23 lambdabot it, #haskell.hr, #haskell.fr, #haskell.fi, #haskell.es, #haskell.dut, #haskell.de, #haskell.cz, #haskell-soc, #haskell-books, #haskell-blah, #haskell-in-depth, #haskell-freebsd, #macosx, ##freebsd, #
22:23 lambdabot gentoo-uy, #gentoo-haskell, #friendly-coders, #dreamlinux-es, #concatenative, #arch-haskell, #functionaljava, #novalang, #darcs, #yi, #xmonad, #ghc, ##logic, #haskell-overflow and #haskell
22:23 viklund woah!
22:23 DanielC :-)
22:23 masak lambdabot: showoff.
22:23 viklund haskell-overflow
22:24 masak lambdabot is clearly our braggiest bot around. "I'm here, but I'm also omnipresent."
22:31 viklund masak: Configure.pm should be it's own proto project so that ppl can depend on that one for the build process
22:31 masak viklund: quite possibly. you might want to run that through mberends, though.
22:32 masak we don't actually have code ownership, but it's his baby. :)
22:32 viklund yes
22:32 masak I see only one disadvantage with that right now: creating a new project will be one step further away.
22:32 masak maybe that's not so bad.
22:33 viklund If most (or all) proto projects use it, it won't be a problem
22:33 masak true.
22:35 viklund anyway, I'm too tired to code right now
22:43 Tene @seen tene
22:43 lambdabot You are in #perl6. I last heard you speak just now.
22:43 Tene thx
22:46 rewt`` joined #perl6
23:04 ihrd joined #perl6
23:12 eMaX joined #perl6
23:12 ihrd left #perl6
23:16 skids joined #perl6

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs