Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-08-25

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:02 rafl joined #perl6
00:16 carlin having spent quite a while checking and rewording what is only a few lines of changes I think I might just take a deep breath and commit it
00:17 jnthn :-)
00:17 Tene do it!
00:17 jnthn (attention to detail)++
00:17 Tene join us!
00:17 jnthn carlin++
00:17 Tene just commit!  no review!
00:17 s1n "one of us, one of us"
00:17 Tene Confidence gets the ladies!
00:18 jnthn I CAN IMPLEMENT PERL 6.
00:18 * jnthn sits waiting for the ladies to run in through teh door.
00:18 Tene The "poly" in "polyglotbot" is there for a reason.
00:19 Tene My gf and I chatted with a cute girl about parrot and lolcode in the airport yesterday.
00:19 Tene Didn't get her number, though. :(
00:20 carlin What about her integer?
00:20 carlin or string?
00:33 beggars joined #perl6
00:43 user_8580 joined #perl6
00:54 user_8580 left #perl6
00:55 jnthn TimToady: Glad that was a fossil. There is also some stuff on traits in S06 that looks a bit dated.
00:55 cognominal jnthn, that the Perl 6 version of "battery included" : everything, including the KitchenSink
00:56 TimToady it's in there so we can call people liars when they claim that Perl 6 includes everything but the kitchen sink.
00:56 nihiliad joined #perl6
00:56 jnthn Amusingly enough, it's a role done by things that can act as a sink.
00:56 cognominal so the name
00:57 jnthn I think it falls under the same category as use MONKEY_TYPING. It's just too tempting not to call it that. :-)
00:59 cognominal TimToady, is there a way to hide predefined type like Rat and Cat so that the examples that use these name for user defined classes (or roles, I don't remember) do not conflict?
00:59 TimToady sure, declare them 'my class Rat' etc
01:00 TimToady all predefineds are in an outer lexical scope
01:00 cognominal ok, thx
01:00 TimToady the CORE setting is supposed to be officially outside of the user's code, lexically speaking
01:01 TimToady not sure rakudo does it that way yet though
01:01 pmichaud it doesn't yet.
01:01 pmichaud it will.
01:01 TimToady STD does, however
01:01 cognominal so one does not need the "my"?
01:02 TimToady well, shouldn't generally, unless the outer scope and the current scope share the same pacakge
01:02 cognominal on the other hand, if I want to know if I shadow any name?
01:02 TimToady what language gives you that?
01:02 TimToady seems like an anti-feature :)
01:03 cognominal I am thinking out loud, I don't pretend it makes any sense :)
01:03 TimToady works for me
01:04 ruoso cognominal, a command-line switch could activate this kind of warnigns...
01:04 ruoso "definition of class Cat in foo.pm:40 masks outer Cat definition"
01:04 ruoso but that should probably only be done for type names
01:05 TimToady well, you could just declare declarator:<fresh> to be the opposite of augment
01:06 TimToady of course, "fresh" in French doesn't mean unique, as in "I need a fresh shirt" (or so I'm told by my wife)
01:09 cognominal nope, it has the same meanings than in english : recent, new, not altered
01:09 ruoso in some latin-based languages it might mean cold
01:09 wayland76 It can do that in English, too
01:10 TimToady in fact, that fresh is arguably the normal meaning of "my", so maybe a declarator like "patented" :)
01:10 cognominal in french too, but a re"fresh"ing cold not an agressive one.
01:10 wayland76 Although I have the impression that it means "the sort of cold that gets your blood flowing, and brings a flush to your cheeks"
01:10 cognominal wayland76, indeed
01:11 cognominal too bad, that andidote rx, an excellent french dictionnary does not have ethymology
01:12 cognominal etymology!
01:12 jnthn "fresh" is actually used in academic computer science.
01:12 jnthn See some of the work by Andy Pitts
01:12 jnthn http://www.cl.cam.ac.uk/~amp12/papers/index.html
01:12 jnthn (Who also happens to be an excellent lecturer...)
01:13 jnthn It is used in the area of variable bindings too.
01:13 jnthn Anyways, I need sleep
01:13 jnthn night all
01:13 TimToady night
01:14 s1n +<= really? doesn't seem very dwimmy
01:14 TimToady you can write [+<]= to make it clearer
01:14 cognominal I am still trying to figure if signatures and multimethods gives Perl 6 everything useful that pattern matching gives to haskell
01:14 s1n oh yeah cause that's much clearer lol
01:15 * TimToady is hurt, and sticks out his lower lip, trembling...
01:16 carlin [+<]= looks like some sort of smiley
01:16 TimToady cognominal: I suspect Haskell will always be able to express more abstraction more abstractly than Perl 6, in an abstract sort of way
01:16 TimToady however, we're certainly aiming at providing all the power of, say, Erlang in that regard
01:18 TimToady we aren't aiming for Prolog, quite, insofar as signatures don't do unification, at least not by default
01:19 cognominal There is a trend, scala is doing pattern matching too.
01:19 TimToady well, signatures is sort of the obvious way to do it in Perl 6
01:20 SmokeMachine joined #perl6
01:20 TimToady and binding is just another name for pattern matching
01:20 ruoso in fact, a Web framework that uses multi signatures to match requested url was already envisioned
01:20 cognominal I have yet to appreciate all the powers of signatures, caputrues, parcels and multidimensional stuff in Perl 6
01:21 TimToady metoo :)
01:22 ruoso rakudo: my $a = Multi.new; $a.push(sub (1) { say 1 }); $a.push(sub (2) { say 2 }); $a.(1); $a.(2)
01:22 TimToady ENOSERVER
01:22 ruoso oosp
01:22 ruoso just because my local rakudo is b0rk3ff
01:23 ruoso does that work in rakudo already?
01:24 carlin ruoso: I get:
01:24 carlin 1
01:24 carlin 2
01:24 ruoso so it works ;)
01:24 ruoso cool
01:24 ruoso we only need "reduce with varying-arity" for the web framework to be ready
01:25 ruoso TimToady, what's the current spec status for "reduce with varying-arity"?
01:26 TimToady what, you think I have the spec memorized?  :)
01:26 ruoso TimToady, heh... actually that was something to be spec'ed
01:26 ruoso there was some pondering if it would be supported at all
01:27 TimToady well, I think it's more important to spec partial binding, and then reduce and for would both fall out of it
01:27 ruoso indeed... is there a plan for partial binding already?
01:28 ruoso I remember some roles were added to S07 in that sense
01:28 ruoso PushBackIterator iirc
01:36 sjohnson how TimToady long time no see
01:36 sjohnson howdy*
01:39 [particle] joined #perl6
01:40 [1]jaffa8 joined #perl6
01:42 gabiruh joined #perl6
01:43 kolibrie joined #perl6
01:44 sjohnson rakudo:  use constant BUTTER => 'milk';  say BUTTER.WHAT;
01:46 sjohnson looks like i broketed it
01:47 s1n sjohnson: it's been dead for a while
01:52 sjohnson s1n: k
01:53 nErVe joined #perl6
01:59 jrtayloriv joined #perl6
02:22 wayland76 joined #perl6
02:44 nbrown_ joined #perl6
02:59 ihrd joined #perl6
03:03 mepplock joined #perl6
03:06 [1]jaffa8 joined #perl6
03:06 SmokeMachine joined #perl6
03:12 molaf joined #perl6
03:17 SmokeMachine joined #perl6
03:20 donaldh joined #perl6
03:37 frew__ joined #perl6
04:00 wayland76 joined #perl6
04:30 zloyrusskiy joined #perl6
04:30 jauaor joined #perl6
05:09 yves joined #perl6
05:11 hercynium joined #perl6
05:40 orafu joined #perl6
06:00 eMaX joined #perl6
06:00 dukeleto joined #perl6
06:10 kyle_l5l joined #perl6
06:18 sri_kraih joined #perl6
06:23 Su-Shee joined #perl6
06:23 Su-Shee good morning :)
06:24 moritz_ oh hai
06:31 targetsmart joined #perl6
06:36 targetsmart joined #perl6
06:48 wayland76 joined #perl6
06:49 rfordinal joined #perl6
07:04 cxreg joined #perl6
07:05 dukeleto 'ello
07:05 moritz_ good day dukeleto
07:06 dukeleto moritz_:  what are you hacking on today?
07:08 moritz_ dukeleto: not much perl 6 related, I fear
07:08 moritz_ and if I do, it will be an article for a German it magazine
07:08 wayland76 I managed to beat xorg into submission (thanks to #xorg and E17), and now have multiple monitors :)
07:08 Su-Shee moritz_: another ix one?
07:09 moritz_ Su-Shee: "Sonderheft Programmieren" (heise)
07:10 Su-Shee moritz_: didn't they just had one?
07:11 moritz_ Su-Shee: it seems so, but it's a different one ;-)
07:11 * Su-Shee gets confused. :)
07:11 moritz_ Su-Shee: if Alexander Neumann promises to publish and pay us it's fine by me if they release two of them ;-)
07:12 Su-Shee moritz_: they can published one monthly if I had a saying. readers are really missing more programming stuff.
07:14 moritz_ anyway, it's mostly a copy of the first article of the previous series (about design and state of Perl 6) plus a few updates and enhancements
07:16 Su-Shee moritz_: go, write a book. I'll buy it.
07:16 moritz_ Su-Shee: no, you'll get the editor's issue for free ;-)
07:17 Su-Shee moritz_: contrary to popular believes, you usally don't get 10 or 20 issues to pass around :)
07:17 moritz_ Su-Shee: I know; but if you're the editor you'll get one anyway ;-)
07:19 Su-Shee ah. now I get it. I'm really slow today. :)
07:20 Su-Shee moritz_: don't you want to go to O'Reilly, for example?
07:20 donaldh joined #perl6
07:20 Matt-W Morning
07:21 ihrd Morning for you, but Evening for me :) Hi
07:22 Matt-W Wouldn't mind skipping today to be honest
07:22 Matt-W would like it to be the evening now
07:22 * carlin wants it to be morning again
07:22 Matt-W I've got the energy now
07:23 Matt-W I might not have it later but it's aikido testing tonight so I need it!
07:24 moritz_ Su-Shee: I'm not sure if I really have enough energy for doing it really professionally
07:25 Su-Shee moritz_: you're writing anyway. consider it a range of a little more extensive blog postings.
07:32 moritz_ Su-Shee: you mean like chromatic is doing it these days?
07:32 Matt-W moritz_: That obfu is very scary
07:33 moritz_ Matt-W: thanks
07:34 Su-Shee moritz_: he's a good writer.
07:42 carlin how do I generate a random number?
07:43 moritz_ with rand or pick
07:44 carlin Ah, pick what was what I was looking for, thanks :)
07:47 maerzhase joined #perl6
07:50 finanalyst joined #perl6
08:07 mzedeler joined #perl6
08:10 ihrd left #perl6
08:13 riffraff joined #perl6
08:15 Matt-W moritz_: I'm not sure I intended a compliment :P
08:15 * moritz_ is glad to see that targetsmart found his way into #perl6
08:15 moritz_ Matt-W: I know. I took it as such nonetheless :-)
08:27 cotto What kind of interesting problems are best solved by mutual recursion?
08:31 reqamst joined #perl6
08:32 mzedeler When I was working on my posting regarding Range objects, I found a number of obvious tests that should be added as well as some clarifications to the spec. What to do to get commit access to pugs repository?
08:32 moritz_ mzedeler: you just did the most important step: asking here :-)
08:32 mzedeler :-)
08:33 moritz_ mzedeler: next step: tell me your email address (by private message if you fear spam) and desired nickname
08:34 mzedeler michael@zedeler.dk and nick "mike" or "mzedeler" if "mike" has already been taken.
08:34 mzedeler Or maybe just "mzedeler".
08:36 moritz_ mzedeler: you should have mail by now
08:36 mzedeler Yap. Great. Thanks!
08:37 moritz_ mzedeler: it's a custom to add yourself to AUTHORS as a first commit (and to test your commit bit)
08:38 mzedeler Ok. I'll do that.
08:40 Matt-W mzedeler: See, it was easy
08:40 Matt-W Oh and another person who begins with m
08:40 Matt-W Just what we need
08:40 mzedeler :-)
08:40 Matt-W mzedeler: Expect a lot of tab completion mistakes
08:41 mzedeler When do one use tab completion on author handles?
08:41 Matt-W IRC nicks
08:41 mzedeler You are way ahead of me :-)
08:43 mzedeler Thank you for the help. Now I'll add some more tests and things to the spec. As I have understood, spec changes are automatically posted at perl6-language, right?
08:45 moritz_ mzedeler: right
08:46 moritz_ mzedeler: if you add tests to file that rakudo runs, please make sure they still pass after your additions...
08:46 moritz_ mzedeler: if they don't pass, mark them with #?rakudo todo 'reason' or #?rakudo skip 'reason'
08:46 mzedeler Yes. I'll probably be back here when I have something to commit.
08:47 moritz_ see t/spec/README for more information
08:48 mzedeler Yes. I've taken a look at it already.
08:48 mzedeler Thanks for the help.
08:48 mzedeler I'll be off now.
08:48 b_jonas joined #perl6
08:57 * jauaor wonders if '.$' is a good symbol name for 'self'
08:58 b_jonas isn't self called $_ these days?
08:59 jauaor mm..
08:59 ejs joined #perl6
09:00 b_jonas or let's say it the other way, perl6 doesn't have a self that's scoped for every function only (like in C++ or smalltalk etc), but you can localize $_ anywhere and that's used as the implicit self in .methods
09:02 moritz_ b_jonas: no
09:03 moritz_ $_ and self are not related at all
09:03 moritz_ self is scoped to the method
09:03 moritz_ .foo calls $_.foo
09:03 moritz_ but $.foo calls $( self.foo )
09:03 moritz_ so there's a shortcut for both
09:03 b_jonas S12- says there's a self
09:04 b_jonas I see
09:04 b_jonas strange
09:05 b_jonas I was just hoping then
09:05 Chillance joined #perl6
09:06 moritz_ aliasing $_ and self interacts badly
09:06 moritz_ consider a method that contains a for-loop
09:06 moritz_ for @foo { $_ here is no the invocant }
09:07 moritz_ so you can't use method calls easily within that for-loop
09:07 moritz_ at least not on $_
09:09 ejs joined #perl6
09:10 JarJarBinks joined #perl6
09:15 iblechbot joined #perl6
09:18 donaldh joined #perl6
09:20 jnthn morning, #perl6
09:21 moritz_ oh hai jnthn
09:26 jnthn Rakudo day it is.
09:35 rgrau joined #perl6
09:37 wayland76 3 1/2 cheers :)
09:52 rfordinal joined #perl6
10:05 M_o_C joined #perl6
10:22 jaffa8 joined #perl6
10:40 guest_007 joined #perl6
10:56 bpetering joined #perl6
11:00 bpetering phenny: tell masak i'd like a word (preferably 'y0') when you're around. :)
11:00 phenny bpetering: I'll pass that on when masak is around.
11:07 wayland76 Would a "yo-yo" from me do?
11:18 Su-Shee can i have perl 6 please now? I'm getting confused constantly mixing both perls.
11:19 moritz_ Su-Shee: sure. http://rakudo.org/how-to-get-rakudo
11:19 Su-Shee :))
11:20 Su-Shee already installed this month release. excitement done. :)
11:20 donaldh joined #perl6
11:24 moritz_ isntalling is not enough. Writing programs is the key!
11:24 b_jonas I've already installed this month's release of perl 5
11:24 b_jonas the stable release that is
11:25 Su-Shee moritz_: that's what I'm acutally doing right now. a little comparison to show in "contemporary perl 5" "perl 5 with moose" and "perl 6" and this really makes my brain hurt.
11:26 Su-Shee -in
11:29 * moritz_ knows that feeling very well
11:31 Su-Shee I want to show the niceness of perl6 to convince everyone to switch for the rewrite.
11:32 roberto___ joined #perl6
11:37 soson joined #perl6
11:40 s1n moritz_: wow, rakudo printed that obfu _really_slowly_
11:41 carlin it gives it a nice effect
11:47 b_jonas Su-Shee: tell us when you publish it please
11:50 Su-Shee b_jonas: it's office-code. I was thinking about it yesterday and decided not to chose something from the core business logic (which I can't publish of course) but something more "meta".
11:53 b_jonas oh, I see
11:53 b_jonas pity
11:55 Su-Shee no, that's why I try for something less important so I can blog it :)
11:56 lasse joined #perl6
11:56 lasse left #perl6
12:03 meppl joined #perl6
12:08 missingthepoint joined #perl6
12:09 M_o_C joined #perl6
12:11 szabgab joined #perl6
12:14 takadonet joined #perl6
12:14 takadonet morning all
12:16 missingthepoint morning takadonet :)
12:17 mikehh joined #perl6
12:17 eMaX joined #perl6
12:20 abra joined #perl6
12:22 ruoso joined #perl6
12:24 takadonet wow.... really quiet today
12:25 moritz_ yes, jnthn is coding today, not spreading bullsh*t as usually :-) /me runs quickly
12:25 takadonet good
12:25 moritz_ and masak is missing!
12:29 * jnthn is discovering that embedding Perl 5 from Parrot = segfault :-/
12:30 moritz_ I think that parrot internals are pretty scary
12:30 moritz_ and so are perl 5 internals
12:30 moritz_ if you mix them... oh my
12:32 ruoso jnthn, you might want to take a look in the original smop p5 integreation written by pmurias
12:32 ruoso it uses Coro::State to be able to recurse smop -> p5 -> smop -> p5
12:33 ruoso jnthn, take a look at re-smop/p5/src/*.c
12:33 jnthn oh ouch, I think I know why it was exploding
12:33 jnthn (We weren't actually doing the PERL_SYS_INIT3. damm.)
12:34 carlin night all
12:34 moritz_ good night carlin_
12:34 jnthn ruoso: Thanks. I'm just getting something very lightweight going now, will look at doing Bigger And Better things in the future though. :-)
12:39 masak joined #perl6
12:39 jnthn masakatlast \o/
12:40 masak sorry about the delay.
12:40 phenny masak: 24 Aug 23:41Z <s1n> tell masak did you forget to commit some stuff in Web.pm? i just pulled the tests and either i am testing wrong or they are failing; for example, it can't find Web::Happle
12:40 phenny masak: 11:00Z <bpetering> tell masak i'd like a word (preferably 'y0') when you're around. :)
12:40 masak s1n++ # testing Web.pm in various ways
12:40 masak missingthepoint: y0
12:41 Matt-W o/ masak
12:41 masak phenny: tell missingthepoint that I have a few new ideas I'd like to discuss too. :) oh, and the merge, whenever you have time.
12:41 phenny masak: I'll pass that on when missingthepoint is around.
12:41 synth joined #perl6
12:42 * ruoso was considering implementing an off-the-hook reduce implementation that would be able to handle varying-arity
12:43 molaf joined #perl6
12:44 masak ruoso: sounds intriguing.
12:44 * ruoso aimming at the multi-reduce-based web action dispatch
12:46 ruoso rakudo: my $a = sub (1,2,3) {...}; say $a.arity
12:46 moritz_ ENOEVALBOT
12:46 masak still none? :/
12:46 * ruoso with a broken local rakudo
12:47 jaffa8 hi
12:47 jaffa8 I tried gobby
12:47 jaffa8 It is not ok on Windows 7
12:47 moritz_ masak: there's nothing I can do about it, bloonix_ has access to the administrative console but he's not reachable atm
12:48 ruoso how do I configure rakudo to use a non-installed parrot?
12:48 jnthn ruoso: Rakudo requires installed Parrot.
12:48 masak moritz_: I understand. it's not the whole world, but this place does feel a little emptier without evalbot.
12:48 moritz_ masak: I agree.
12:49 jnthn ruoso: If you configure and do --gen-parrot it'll build one for you under the Rakudo directory though.
12:49 moritz_ builds and installs
12:49 ruoso jnthn, that is recent, isn't it? it used to work here without an installed parrot
12:49 jnthn ruoso: Right.
12:49 jnthn Fairly recent-ish.
12:49 ruoso jnthn, any particular reason for requiring the installation?
12:50 moritz_ it can't be made to work with reasonable effort on both teh build tree and from installed parrot
12:50 jnthn What moritz_ said.
12:50 jnthn ruoso: We won the ability to be able to "make install" Rakudo.
12:51 ruoso hmm... I see..
12:51 jnthn ruoso: Having been developing against the new way of doing things, I've not really ofund it gets in the way.
12:51 * ruoso hates installing things in /usr/local...
12:52 jnthn ruoso: Then do what I said
12:52 moritz_ ruoso: you can install in ~/rakudo/parrot_install/
12:52 moritz_ that's what perl Configure --gen-parrot does
12:52 ruoso hmm... I see..
12:53 ruoso hmm.. I've installed it in /usr/local anyway... but now I'm getting "couldn't find file 'PCT/HLLCompiler.pbc'"
12:54 moritz_ ruoso: did you run 'make install-dev'?
12:54 jnthn ruoso: make install-dev
12:54 moritz_ that's needed... and documented in README
12:54 ruoso ah
12:54 * ruoso --
12:54 jnthn Heh. So I think my Perl 5 embedding attempt is vaguely win...apart from "print" doesn't work. ;-)
12:54 moritz_ ruoso: you don't have to feel bad, nobody actually reads the readme
12:55 ruoso heh
12:56 jnthn ...but say does...wow. :-)
12:56 ruoso jnthn, you need to enable autoflush in stdout by default
12:56 jnthn ruoso: Ah
12:57 ruoso otherwise p5 buffering will make things very unpredictable
12:57 * jnthn looks up how to do that
12:58 jnthn well well
12:58 ruoso Is "failure to find a suitable candidate" a defined exception type?
12:58 jnthn C:\Consulting\rakudo>perl6 > eval('use v5.10.0; say "hello from perl 5.10";', :lang<perl5>) hello from perl 5.10
12:58 jnthn gah
12:58 jnthn C:\Consulting\rakudo>perl6
12:58 jnthn > eval('use v5.10.0; say "hello from perl 5.10";', :lang<perl5>)
12:58 jnthn hello from perl 5.10
12:58 ruoso s/defined/spec'ed/
12:58 jnthn ruoso: Heh, is any of the exception heirarchy spec'd?
12:58 moritz_ jnthn: $| = 1
12:59 moritz_ no, nothing yet
12:59 jnthn moritz_: ah, I guess I can just eval that when I create the itnerpreter
12:59 * jnthn was thinking there was another C way to do it
13:00 ruoso jnthn, #p5p probably knows that
13:02 ruoso jnthn, but in rakudo, is there a specific way to catch that exception?
13:02 ruoso without catching other exceptions?
13:02 jnthn ruoso: No
13:02 moritz_ also note that this approach is not going to work
13:02 ruoso is there a way to test if the bind is possible?
13:03 jnthn moritz_: Approach?
13:03 moritz_ because even after a successful call the sub itself can throw the same error internally
13:03 ruoso moritz_, point taken
13:03 moritz_ jnthn: ruoso's approach at doing var-arg reduce
13:03 jnthn Ah, yeah.
13:03 jnthn Hmm
13:03 ruoso so I guess I need to test before calling
13:03 jnthn Yeah
13:03 ruoso how do I test?
13:04 jnthn I didn't yet get us the ability to do $capture ~~ $signature, which would be a way I guess.
13:04 ruoso right... but I'd be happy with a method call already
13:04 jnthn ruoso: It's non-spec but I think there is one
13:05 ruoso that'd be fine...
13:05 ruoso it's a proof-of-concept anyway
13:05 jnthn ruoso: Call find_possible_candidates on the multi
13:05 jnthn Pass the args.
13:05 jnthn It'll give you an array back.
13:06 jaffa8 When will you add :g modifier?
13:06 jnthn If there's nothing in it, then you know there's no candidates that can work.
13:06 jaffa8 to regular expressions?
13:06 moritz_ jaffa8: that needs adverb parsing, which will take some time
13:06 ruoso Attributes of type 'MMD_Cache *' cannot be subclassed from a high-level PMC.
13:06 ruoso in Main (<unknown>:1)
13:06 jnthn ...huh?
13:06 jaffa8 How much is that?
13:06 jnthn What'd you do to get that?
13:07 ruoso my $a = Multi.new; $a.push(sub (1,2,3) { }); $a.push(sub (1,2) { }); say $a.find_possible_candidates(1,2);
13:07 moritz_ jaffa8: December or January, presumbly
13:07 masak jnthn: is it possible to introspect the traits added to an attribute?
13:07 jaffa8 is g implemented?
13:07 jnthn masak: A well behaved trait should mix a role into an attribute.
13:07 moritz_ $str.subst($regex, $closure, :g) is implemented
13:07 jnthn masak: That sets a property.
13:08 masak jnthn: ah, ok.
13:08 jaffa8 Is that the old substitute?
13:08 jnthn masak: But it's up to the trait to leave such a "paper trail".
13:08 masak ok.
13:08 jnthn ruoso: I'm not quite sure why that's exploding, or where it's trying to subclass Perl6MultiSub.
13:08 jaffa8 Is the only problem that grammar is not defined?
13:08 ruoso maybe because I'm calling Multi.new()
13:08 jnthn ruoso: Hadn't quite seen that issue coming though... :-S
13:09 ruoso ?
13:09 jnthn ruoso: Yeah
13:09 jnthn ruoso: I'm guessing in there.
13:09 jnthn I'd need to get a backtrace and see exactly when we get taht error.
13:09 jnthn I am slightly surprised.
13:09 jnthn moritz_: Thanks for the tip. Now this works:
13:09 jnthn > eval('print "hello from perl 5\n";', :lang<perl5>)
13:10 jnthn hello from perl 5
13:11 * jnthn needs to get the code onto github now.
13:11 moritz_ wow, jnthn++
13:11 jnthn moritz_: Yeah, not bad for < half a day's hacking.
13:11 ruoso jnthn, do you want me to rakudobug it?
13:11 jnthn And no prior Perl 5 embedding experience.
13:11 jnthn ruoso: You can, I'd like to look into what's going on.
13:11 jnthn perl5embed++ # good doc.
13:13 masak wow, jnthn++!
13:13 masak can you get data out of Perl 5 too?
13:14 jaffa8 Am I correct?
13:14 jaffa8 Is it possible to call Perl5 from Perl 6?
13:15 ruoso with this latest bug the 'varying-arity-multi-reduce-base​d-web-action-dispatch-framework' will have to wait a bit more
13:16 ruoso jnthn, #68774 fwiw
13:16 kidd_ joined #perl6
13:16 jnthn masak: Not yet.
13:16 jnthn masak: Just eval so far.
13:16 jnthn masak: And doesn't return stuff yet.
13:16 jnthn masak: Patience. :-)
13:16 jnthn ;-)
13:16 jaffa8 masak, jnthn, whoever,Is it possible to call Perl5 from Perl 6?
13:17 masak jaffa8: apparently. jnthn just demoed it.
13:17 jnthn jaffa8: Today I've just started the work to make this possible in Rakudo.
13:17 masak jnthn: I'll sit tight. I'm impressed already.
13:17 gbacon joined #perl6
13:17 jnthn I'm creating a github repo now and scribbling a README.
13:17 jaffa8 jaffa8, Does it call the real Perl 5 interpreter?
13:17 jnthn jaffa8: Yes.
13:18 jaffa8 I guess there is no cross-communication of variables.
13:18 jnthn jaffa8: Embeds.
13:18 jnthn jaffa8: ATM, no.
13:18 jaffa8 Is it going to be?
13:19 jnthn jaffa8: At some level, I'd expect so.
13:20 jaffa8 I guess passing and returning parameters should be possible.
13:21 jnthn jaffa8: I hope we'll reach that point, yes.
13:21 b_jonas the hardest parts of things like this are: 1. connecting the garbage collectors if you allow arbitary references from data in one interpreter to the other and back, and 2. connecting the two schedulers if at least one interpreter uses threads
13:21 jnthn b_jonas: *nod*
13:21 b_jonas if you don't care about those, than calling one language from the other is easy
13:22 b_jonas sometimes you can avoid the second by running the two in separate processes but that makes the first impossible, eg. this is how mathematica works and how J used to work
13:23 moritz_ speaking of threads... in one blog post I mentioned that threads were not on the rakudo * roadmap - somebody asked why, and I pointed him to the parrot ticket that's block...
13:23 moritz_ (segfaults on interpreter cloning)
13:23 b_jonas this is why my J evalbot can run multiple J statements at once and listen to irc: each J interpreter session is ran in a fork
13:23 moritz_ he submitted a partial patch for that already, and last I looked he was working on the rest
13:23 moritz_ blogging WIN :-)
13:26 masak impressive.
13:26 moritz_ (Chris Darroch)++
13:31 masak andother blogging winner is this guy: http://lastofthecarelessmen.blogspot.com/20​09/08/vector-joining-perl-6-ecosystem.html -- look at how he just keeps on churning until he figures things out by himself: http://lastofthecarelessmen.blogspot.com/2009/​08/vector-proper-file-layout-and-makefile.html
13:31 masak we may not have everything documented properly yet, but it seems that people can cargo-cult and get things pretty right. :)
13:32 moritz_ is that a #perl6 inhabitant?
13:32 moritz_ I've followed that blog with some interest
13:33 moritz_ these blogspot blogs often reveal so little information about the blogger that it's hard to associate them with people I know
13:33 KyleHa joined #perl6
13:33 Front_slash joined #perl6
13:35 diakopter moritz_: http://lastofthecarelessmen.blogspot​.com/2009/06/adventures-in-irc.html
13:36 moritz_ diakopter: thank
13:36 moritz_ s
13:36 diakopter http://irclog.perlgeek.de/search.pl​?channel=perl6&amp;nick=last&amp;q=
13:37 alester joined #perl6
13:38 KyleHa penance++
13:41 pmurias joined #perl6
13:41 pmurias hi
13:43 pmurias ruoso: what would the polymorphic eval op do?
13:43 ruoso pmurias, hi... it would take the continuation previously set in the interpreter with a "goto" and call "eval" on it
13:46 pmurias why not just goto into the continuation?
13:47 ruoso hm?
13:48 ruoso pmurias, what do you mean?
13:48 pmurias will we have the polymorphic eval as the main runloop?
13:48 ruoso p5 runops will be the main runloop
13:54 masak apparently I'm supposed to transmit this to #perl6: http://lastofthecarelessmen.blo​gspot.com/2009/08/blushing.html
13:55 pmurias ruoso: are there any docs on adding a custom opcode besides the mention in perlguts?
13:55 masak this guy is as secretive as _why :)
13:55 moritz_ well, I respect that
13:56 ruoso pmurias, nothingmuch should be a very good teatcher ;)
13:56 moritz_ it's just that I think we could be even *more* helpful talking directly
13:56 moritz_ but it's his/her choice, of course
13:57 pmurias anonymity--
13:57 jaffa8 that blog is about nothing
13:57 jaffa8 IS there anything else?
13:58 jnthn anonimity is just fine.
13:58 jnthn jaffa8: There's loads of itneresting posts... http://lastofthecarelessmen.blogspot.com/
13:59 jnthn aww github ist schiesse.
14:00 arnsholt Shouldn't it be schiesst, or somesuch?
14:00 moritz_ scheisse, actually
14:00 jnthn ah, sorry
14:01 arnsholt There's that too. I thought jnthn might be going for "shot"
14:01 jnthn ;-)
14:01 * jnthn wouldn't know enough German to know how.
14:01 Su-Shee jnthn: you may vary it with "garbage" (Muell) or "junk" (Schrott)
14:01 pmurias ruoso: should we use the custom opcode mechanism or add a new opcode?
14:01 jnthn Su-Shee: Yay! :-)
14:02 ruoso pmurias, I think we can ad a new opcode in the core
14:04 pmurias and how do we use it from p5 code?
14:04 ruoso pmurias, do we need to use it from p5 code?
14:05 jaldhar_ joined #perl6
14:07 pmurias ruoso: how are we going to use the opcode then?
14:07 b_jonas what's wrong with just using an XS function or a custom written C function with the pp stuff handwritten?
14:07 ruoso when a SMOP object receives a method call in p5, it will call the SMOP "goto"
14:07 b_jonas why would one ever need an opcode?
14:09 jaffa8 I think I know why rakudo ia slow
14:10 jaffa8 I guess it is because it uses a recursive descent parser.
14:10 ruoso pmurias, the SMOP "goto" implementation would save the current state and set the PolymorphicEval as the op...
14:10 masak jaffa8: actually, it uses one top-down and one bottom-up parser, and they take turns.
14:10 b_jonas (yeah, I know, an opcode can get extra parameters from its optree node like constants or pointers to other nodes, whereas an xs func can only get perl data as arguments)
14:10 jaffa8 masak: they take turns?
14:11 zloyrusskiy joined #perl6
14:11 jaffa8 Ok, I guess bottom-op parser is used for operators and operands.
14:11 jaffa8 and top-down for the rest.
14:11 ruoso pmurias, then when SMOP code "goto" back to p5 code, it will restore the previous state, removing the PolymorphicEval op from the optree
14:12 jaffa8 Correct me if you are wrong and tell me if I am right.
14:12 ruoso jaffa8, it's quite more complex than that
14:12 masak jaffa8: as far as I know that's right.
14:12 ruoso jaffa8, you can also look at the STD grammar
14:13 moritz_ jaffa8: look at src/parser/grammar{-oper}.pg and look out for 'is optable'
14:15 ejs joined #perl6
14:15 ruoso b_jonas, the point of using an opcode is to keep the p5 runops mostly the same, keeping as much backward compatibility as possible
14:16 ruoso pmurias, but as b_jonas said, the opcode may receive parameters from the optree, so we don't need to add another variable for the p5 interpreter
14:17 ruoso when "goto" is called, it can store the current continuation and the polymorphic eval op in the optree, so the polymorphic eval knows what to eval
14:17 jnthn On github, after you've done the initial push to remote for a new repo, is it normal for it to take a while to show up on the site?
14:17 * jnthn isn't sure if he did something wrong or what...
14:18 takadonet yes sometime it takes a while
14:18 jnthn ah, ok
14:18 ruoso jnthn, for the first push, that might be true, yes...
14:18 moritz_ what takadonet said
14:18 jnthn OK, good.
14:18 jnthn Maybe I didn't mess up then. :-)
14:18 * jnthn followed the destructions.
14:18 takadonet one time was a hour or so
14:19 Su-Shee jnthn: my first was about 6 hours because something was broken in the meantime.
14:19 jnthn ah, done
14:19 jnthn http://github.com/jnthn/blizkost/tree/master
14:19 pmichaud good morning, #perl6
14:19 jnthn pmichaud: morning
14:19 takadonet pmichaud: morning
14:19 PerlJam Hello Pm.
14:20 mzedeler joined #perl6
14:20 missingthepoint Hi Pm :)
14:20 phenny missingthepoint: 12:41Z <masak> tell missingthepoint that I have a few new ideas I'd like to discuss too. :) oh, and the merge, whenever you have time.
14:21 masak morning, pm.
14:22 jnthn If anybody wants to try Blizkost on another platform and fix the build there (I suspect linking may be a fail off Windows), that'd be awesome. I'm giving out commit bits quite freely.
14:22 * moritz_ might do so after getting home and having a nice BBQ (if the weather holds...)
14:25 masak wow, _why is gone, but audreyt is back, and she's spreading warmth and love through IRC, Twitter, CPAN and use.perl.org.
14:25 Psyche^ joined #perl6
14:27 takadonet masak: who was _why?
14:27 moritz_ a high profile ruby hacker
14:27 jaffa8 audrey is back
14:27 jaffa8 What does it mean?
14:27 masak takadonet: an influential pseudonymic Ruby hacker.
14:27 PerlJam "was"?
14:28 PerlJam _why isn't dead to my knowledge :)
14:28 masak PerlJam: his persona imploded last week.
14:28 masak in a very real sense, _why is no more.
14:28 jaffa8 masak, Audrey is back, what does it mean?
14:28 moritz_ aye.
14:28 masak jaffa8: it means she's back.
14:28 jaffa8 Will pugs be continued?
14:28 masak jaffa8: maybe.
14:28 moritz_ we don't know
14:28 PerlJam masak: I'll believe that _why is no more much the same that I believe that audrey is no longer intersted in perl6  :)
14:28 obra_ Audrey Tang and _why are NOT the same person. I have 100% seen them in the same place.
14:29 moritz_ obra_: I don't think anybody suggested that :-)
14:29 masak PerlJam: I'm not sure what to make of that information. but thanks, I guess.
14:30 jaffa8 moritz_, what is that you know?
14:30 jaffa8 about this?
14:30 b_jonas by the way, what's the whole point of this "bytecode" thingy in ruby 1.9 ?
14:30 moritz_ jaffa8: I know what I read on IRC and on her blog.
14:31 b_jonas I like ruby 1.9 for other things, like better strings and stuff, but I don't understand the changed internals, like this "bytecode" and the new threads implementation
14:32 PerlJam masak: think of it as eternal-optimism.  Or ... I'm James Kirk, and the non-existence of either Audrey or _why is the Kobayashi Maru  :)
14:32 masak PerlJam: :)
14:34 jaffa8 moritz_, where is her blog?
14:34 obra_ moritz_: I'm very storry. Audrey's latest blog post suckered me into troll-hugger-baiting
14:34 moritz_ jaffa8: http://pugs.blogs.com/audrey/
14:35 Su-Shee what is "troll-hugger-baiting"?!
14:35 jaffa8 Is it another branch of individual self-expression?
14:36 obra_ Su-Shee: have a look at audrey's latest blog post
14:36 Su-Shee ah. got it I think.
14:39 * masak hugs obra_
14:39 * obra_ smiles.
14:40 masak obra_: and I like your hair, too.
14:40 obra_ So. LTNS, folks. How's Perl6 been lately. I've talked to patrick, but not anyone from one of the other implementations
14:40 obra_ thanks!
14:41 masak I'm not a compiler implementor, but I'll say this about the module ecosystem: it's quickly approaching a tipping point of some kind.
14:41 masak it'll be good when someone eventually sits down and writes a piece of software to manage it.
14:42 obra_ I've been talking to a few folks about such a thing.
14:42 moritz_ obra_: mildew+smop seem to progress steadily - pmurias and ruoso can tell you more, I guess
14:42 obra_ amustly, what it would take to bootstrap on the existing CPAN
14:42 moritz_ STD.pm does well, too
14:42 obra_ there are VERY FEW pieces that need implementation.
14:42 masak sounds promising.
14:42 ruoso hi obra_
14:42 obra_ basically, Module::Install/Build/Whateveryoucallit and CPAN::Client. and then a tiny addition to pause
14:42 obra_ hey ruoso
14:43 ruoso obra_, we're currently working on injecting SMOP inside the perlguts
14:43 obra_ perl5guts?
14:43 * takadonet thinks he is watching history in the making....
14:43 obra_ ruoso: are there test pass charts fro mildew+smop?
14:43 ruoso obra_, yeah
14:43 moritz_ obra_: I've been writing a mail about the "tiny addition to pause"
14:44 obra_ ruoso: link me?
14:44 moritz_ obra_: http://www.nntp.perl.org/group/pe​rl.modules/2009/08/msg67299.html
14:44 ruoso obra_, it's not focusing on the spec tests yet... we work in conceptual features first
14:44 ruoso obra_, for instance... mildew "return" works as spec
14:44 obra_ ruoso: understood.
14:44 mzedeler obra_: did you talk to Troels Liebe regarding a new packaging system?
14:44 ruoso because smop+mildew already implement failures and controlexceptions
14:44 obra_ mzedeler: no. but I believe pretty strongly that we do not want a new packaging system.
14:45 ruoso obra_, http://www.perlfoundation.​org/perl6/index.cgi?smopp5
14:45 obra_ moritz_: oh good. andk is talking to you. that's the right answer for PAUSE :)
14:45 ruoso that reminds me it's linking to the wrong repository
14:46 obra_ ruoso++
14:46 obra_ smopp5++
14:46 ruoso now it points to the correct repository
14:48 ruoso obra_, note the "side-effect benefits" section
14:48 * obra_ nods
14:49 pmichaud jnthn: ping
14:49 nihiliad joined #perl6
14:49 meteorjay joined #perl6
14:50 jnthn pmichaud: pong
14:51 pmichaud jnthn: got a few moments?
14:51 jnthn pmichaud: sure
14:51 jnthn I'm Rakudo-ing all day.
14:51 pmichaud The current blocker to doing builtin operators in the setting is the need to generate the Whatever/WhateverCode forms of the operator.
14:51 Su-Shee rakudo shimasu should actually work. :)
14:52 jnthn Ah, the extra multi-overlaods?
14:52 pmichaud yes.
14:52 pmichaud what's the likely best way to have those get generated?  (more)
14:52 pmichaud does it suffice to push an appropriately-constructed Sub onto the Perl6MultiSub object?
14:53 jnthn Yeah, needs to have a Perl 6 Signature.
14:53 jnthn And that'd do it.
14:53 pmichaud okay.
14:53 jnthn Is there a fixed set of operators we do this for?
14:53 pmichaud well, we should be doing it for user-defineds as well
14:53 jnthn Yeah
14:53 pmichaud which is why I mentioned last week that we may want to refactor the whole meta-operator handling bits
14:53 jnthn Wait
14:53 masak Rakudo Day! \o/
14:53 moritz_ shouldn't it be a syntactic translation?
14:53 jnthn Isn't it just for numeric operators/
14:53 jnthn ?
14:54 pmichaud moritz_: WhateverCode forms aren't syntactic
14:54 jnthn I thought it wasn't for all of them...
14:54 moritz_ pmichaud: ifyousayso
14:54 pmichaud it might not be for all of them
14:54 jnthn pmichaud: OK, how does a user say if they want the whatever forms generating or not?
14:55 pmichaud perhaps they don't auto-generate, then.
14:55 jnthn Trait perhaps?
14:55 jnthn Yeah
14:55 jnthn I'm not completely sure they should...
14:55 jnthn We could easily provide a trait to do it though.
14:55 TimToady they don't generate unless you write a signature that matches Whatever or WhateverCode
14:56 pmichaud okay, that's helpful
14:56 jnthn TimToady: That's not really "generate" though, that's specifying them, no?
14:56 TimToady yes, spec
14:56 pmichaud right -- he's saying they aren't generated
14:56 TimToady no coffee yet :/
14:56 pmichaud okay, I can handle that then.
14:56 TimToady however, to the extent that multis are lexical, we can know whether there's a Whatever and inline it
14:57 TimToady so it's effectively syntactic, given an optimizer
14:57 jnthn OK, we're talking here about forms like * + 42, right?
14:57 TimToady yes
14:58 TimToady infix:<+> is a multi, hence the candidate list is known at compile time
14:58 jnthn Right.
14:58 pmichaud but we wouldn't be able to inline something like     my $whatever = *;   say $whatever + 42;
14:58 TimToady so we can just turn that into { $^a + 42 }
14:58 TimToady correct, but it should still work
14:58 pmichaud okay
14:58 pmichaud just verifying that it's not strictly syntactic
14:59 pmichaud the syntax form is an optimization
14:59 TimToady it may well be that *.foo is purely syntactic
14:59 pmichaud it may have to be, in order for us to get   *.foo.bar   to work properly
14:59 TimToady or mostly
14:59 TimToady yes
15:00 jnthn pmichaud: OK, so essentially we want a way to have the :(Whatever, Any), :(Any, Whatever) and :(Whatever, Whatever) variatns generated for certain ops?
15:00 pmichaud jnthn: yes.  I can handle that part -- it's just a modification to the existing gen_whatever code
15:00 pmichaud also, there's no :(Whatever, Whatever) form.
15:01 moritz_ why not?
15:01 pmichaud because it can be handled by the other two
15:01 moritz_ ok
15:01 jnthn pmichaud: no
15:01 jnthn pmichaud: It's an ambig dispatch.
15:01 pmichaud jnthn: one of the other two needs an "is default"
15:01 jnthn pmichaud: Ah, OK, you can do it that way.
15:02 TimToady you need WhateverCode too
15:02 pmichaud yes, we have those also.
15:02 jnthn pmichaud: There's more than one way to do it.
15:02 pmichaud jnthn: indeed.  :-)
15:02 jnthn pmichaud: We could pick a trait name like "is whatevered"
15:03 kidd_ joined #perl6
15:03 jnthn pmichaud: And then write a trait handler (in Perl 6 probably) that adds the multi variants.
15:03 pmichaud jnthn: I think it's pretty clear that we need to create them explicitly.  It's not that big a deal.
15:03 jnthn Or we could just fix up the sciprt, as you say.
15:03 pmichaud S02 says that the numeric operators handle Whatever; what about the string operators?
15:04 * moritz_ would find it useful if all scalar operators handled it
15:05 PerlJam moritz_: useful for obfu?  ;)
15:05 jnthn PerlJam: Heh, I thought exactly the same ;-)
15:06 moritz_ PerlJam: I've already written almost-production code that used things like @stuff.sort: ~*;
15:06 TimToady * eq 'foo' is a perfectly normal matcher
15:09 TimToady we need a way to write a generic default for prefix:<op>, infix:<op>, etc
15:09 TimToady where the op itself is a 1st class parameter
15:10 PerlJam Just use Whatevers ;)
15:11 missingthepoint “First they ignore you, then they laugh at you, ..."
15:12 missingthepoint Perl 6, prepare to be fought.
15:12 missingthepoint And remember what the next step is. :)
15:12 TimToady could we just replace that step with ??? please?
15:12 masak :)
15:12 missingthepoint Even better.
15:13 masak 'fraid we can't.
15:13 pmichaud I fear it's really !!!
15:13 masak but people are already fighting us.
15:13 Su-Shee indeed they do.
15:13 TimToady those are just our friends, mostly :)
15:13 masak but now we have the ultimate weapon. hugs.
15:13 moritz_ WhateverHugs?
15:13 missingthepoint asdgasd++
15:13 masak TimToady: also true. those are people who care, actually.
15:13 pmichaud ? Haskell Ultimate Golfing System ?
15:14 masak pmichaud: :)
15:14 moritz_ pmichaud: don't think in acronyms :-)
15:14 masak pmichaud: have you read audreyt's post?
15:14 pmichaud masak: yes, skimmed it
15:14 masak ah, so you're feigning incomprehension. good :)
15:14 rfordinal joined #perl6
15:14 pmichaud no, I'm just randomly pulling ideas into the conversation
15:15 pmichaud I hear there's precedent.  It even gets hugs from audreyt, if done properly  :)
15:15 * pmichaud looks in a mirror and yells "TROLL!!!!"
15:15 masak whoa.
15:16 Su-Shee well, I don't like the perl 6 bashing, it's getting nasty sometimes.
15:16 Su-Shee pmichaud: and now snow whites mother-in-law hugs you?
15:17 masak I don't get opinions like these, for example: http://twitter.com/PolarLava/status/3457641478
15:17 masak I even replied to that one: http://twitter.com/carlmasak/status/3472531348
15:17 pmichaud Su-Shee: I'm not much for the perl 6 or parrot bashing either, but for a long time the bashers probably had a case.
15:17 Su-Shee masak: people ignore the releases and consider p6 vaporware because "it's not there yet"
15:18 masak maybe a hug would have been better in that case.
15:18 masak Su-Shee: then, how can you please them at all?
15:18 moritz_ masak: you can still hug him/her
15:19 masak moritz_: something like "hello, the #perl6 channel thought I should give you a hug. here you go" ? :)
15:19 Su-Shee masak: I have no idea. I'm pasting the rakudo download like crazy and it's really fool proof but still..
15:19 pmichaud "Free hugs for nonbelievers!"
15:19 PerlJam viral hugging?
15:19 pmichaud sounds like the title of a good blog post :)
15:19 moritz_ masak: something like "I hug you even if you troll Perl 6, you seem to need it direly" (although it sounds almost religious)
15:20 masak moritz_: I don't feel I can send something like that 3 days later...
15:20 donaldh joined #perl6
15:20 masak moritz_: I'll do it with the next one. :)
15:20 moritz_ masak: got a point there
15:21 Su-Shee pmichaud: I think all this very competetive looking bashing around harms perl as a whole.
15:22 Su-Shee if I were a Ruby developer I would point my finger at us "look, they even don't like their own projects, ma!" ;)
15:22 masak right. when outsiders look at something, they like to generalise and see a unity of thought which does not exist.
15:23 Su-Shee masak: I was really surprised as well. I naively thought, everybody is waiting for Perl6.
15:24 mikehh rakudo (9d9d416) builds on parrot r40785 - make test / make spectest (up to r28062) PASS - Ubuntu 9.04 amd64 (g++)
15:25 pmichaud I need to figure out how to better follow twitter feeds -- I had no idea these conversations were occurring :-)
15:26 masak pmichaud: I have real-time searches for 'perl6', 'rakudo' and 'Perl 6'.
15:26 pmichaud what's a "real-time search" (as opposed to an ordinary twitter search)?
15:27 masak pmichaud: when something new arrives, a little star turns blue on my screen.
15:27 pmichaud hmmm
15:27 pmichaud I see that I can do RSS feeds for the searches
15:27 pmichaud that probably works for me
15:29 pmichaud ooc, what program is the little blue star attached to?  ;-)
15:29 simcop2387 joined #perl6
15:30 Su-Shee <- home. food. couch.
15:30 M_o_C Su-Shee: Judging from that particular tweet they _are_ waiting, that's probably what causes them to start trollling in the first place ;)
15:31 Su-Shee M_o_C: I've seen stuff on IRC... nasty. :)
15:31 Su-Shee left #perl6
15:31 jhorwitz joined #perl6
15:32 M_o_C phenny: tell Su-Shee: Well, I don't know about those conversations, hence the "Judging from [...]"
15:32 phenny M_o_C: I'll pass that on when Su-Shee is around.
15:32 cdarroch joined #perl6
15:47 Chillance joined #perl6
15:55 PZt joined #perl6
16:01 * jnthn thinks he's worked out how to fix another masakticket :-)
16:01 masak gotta close 'em all.
16:02 xalbo joined #perl6
16:02 jnthn Currently, sprintf in Rakudo if you have missing parameters will die.
16:02 jnthn That's probably wrong (a ticket says as much.)
16:02 jnthn But what should it do? Just return a Failure, yes?
16:03 jnthn (Ticket is http://rt.perl.org/rt3/Tic​ket/Display.html?id=62316 )
16:03 jnthn (no, that isn't the one I jsut fixed :-))
16:04 masak returning an unthrown exception sounds about right.
16:05 masak not enough params to sprintf is a pretty serious logical error, but in the general case it cannot be caught at parse time.
16:06 jnthn *nod*
16:07 jnthn Ok, will do that...if my Rakudo build hasn't just broken...
16:07 jnthn oh what the fu..
16:07 xalbo If an unthrown exception is returned by a function called in void context, does it get thrown, or just dropped on the floor?
16:08 ruoso jnthn, is there some method/sub that can be called to build the MMD_Cache?
16:08 jnthn ?
16:08 jnthn ruoso: if you add new candidates it throws it away
16:08 masak xalbo: my guess would be 'dropped'. if you're not interested in the return value, you're probably not interested in the exception either.
16:09 jnthn ruoso: it's not built at any point
16:09 jnthn it's built over time as calls happen.
16:09 jnthn Depending on cachability.
16:09 ruoso hmm... interesting that it happens only when calling find_possible_candidates
16:09 jnthn ...happens?
16:09 ruoso the error
16:10 jnthn oh
16:10 ruoso when calling the multi directly works
16:10 Su-Shee joined #perl6
16:10 jnthn That's curious.
16:10 Su-Shee back.
16:10 phenny Su-Shee: 15:32Z <M_o_C> tell Su-Shee Well, I don't know about those conversations, hence the "Judging from [...]"
16:10 payload joined #perl6
16:10 jnthn I didn't get to look into the error just yet.
16:10 ruoso >  my $a = Multi.new; $a.push(sub (1,2,3) { 1 }); $a.push(sub (1,2) { 2 }); say $a(1,2); say $a(1,2,3); say $a.find_possible_candidates(1,2);
16:10 lambdabot <no location info>: parse error on input `='
16:10 ruoso 2
16:10 ruoso 1
16:10 ruoso Attributes of type 'MMD_Cache *' cannot be subclassed from a high-level PMC.
16:10 ruoso in Main (<unknown>:1)
16:11 jnthn Heh, curious...
16:11 jnthn It'd expect the calls to want to cache too.
16:11 jnthn oh no, wait
16:11 jnthn They won't because they are uncachable.
16:12 jnthn If you change sub (1,2,3) to sub ($a, $b, $c) you'll probably see it earlier.
16:13 ruoso hmm
16:13 kidd_ joined #perl6
16:14 ruoso jnthn, nope... same behavior
16:15 jnthn ruoso: I'd invesigate a bit, but I just pulled latest Parrot and now my Rakudo built appears screwed.
16:15 ruoso alright... thanks anyway... I was just trying to see If I could work-around it...
16:15 ruoso > my $a = Multi.new; $a.push(sub ($a, $b, $c) { 1 }); $a.push(sub ($c, $d) { 2 }); say $a.candidates().map: { ~$_ }
16:15 lambdabot <no location info>: parse error on input `='
16:16 ruoso Null PMC access in find_method()
16:18 jnthn ruoso: .push is kinda suspect anyway
16:19 jnthn I hacked it in there, but it's not tested or maintained.
16:19 ruoso ah... right...
16:20 jnthn (can't spectest it as it's not spec, plus nothing else relies on the interface...)
16:22 * ruoso wonders if we could consider that @$multi returns the list of candidates
16:23 Chillance_ joined #perl6
16:24 ruoso rakudo doesn't support custom implementation for .() yet...
16:24 moritz_ it does, a bit
16:24 ruoso how?
16:25 jnthn Yes, it does.
16:25 jnthn We're passing spectests for that.
16:25 ruoso implementing postcircumfix:<( )> is a parse error...
16:25 jnthn class Foo { method postcircumfix:<( )>($arg1, $arg2) { ... } }
16:25 moritz_ ruoso: method postcircumfix:<( )>(...) { ... }
16:25 ruoso hmm it isn't
16:25 ruoso it was something else then
16:26 ruoso jnthn, wasn't $arg1 supposed to be the capture sent to the invocation?
16:26 jnthn ruoso: If you want to take the capture, write method postcircumfix:<( )>(|$capt) { ... }
16:27 jnthn (but not yet in Rakudo)
16:27 ruoso jnthn, I mean... the spec says otherwise
16:27 ruoso the first argument is the capture...
16:27 ruoso because it's a capture inside the capture for the postcircumfix:<( )> call
16:28 jnthn Oh?
16:28 jnthn That's kinda...weird.
16:28 jrtayloriv joined #perl6
16:28 jnthn I don't really understand why it would be like that.
16:29 ruoso because the invocation of postcircumfix:<( )> is a call on itself
16:29 ruoso and needs a proper capture
16:29 ruoso while the invocation that is being dispatched has a different capture
16:30 ruoso $a(1: 2,3) => inner capture (1,2,3)
16:30 ruoso $a.postcircumfix:<( )>( (1: 2,3) ) => outer capture ( $a, (1: 2,3) )
16:30 jnthn Hmm, maybe.
16:31 jnthn I guess you could still unpack the first argument somehow.
16:31 ruoso right... but it's kinda hacky, isn't it?
16:32 jnthn I dunno, for me it was the most natural implementation...
16:32 jnthn But I guess that may be a different architectures thing.
16:32 ruoso I probably hit it because the capture is the most fundamental data structure in SMOP
16:33 ruoso so this kind of hack seems very unnatural
16:33 jnthn Yeah.
16:33 jnthn It'd not be so much pain to change it in Rakudo.
16:33 ruoso cool... and it would make the implementation of custom invocations clearer
16:34 ruoso because a custom invocation is usually a meta-thing
16:35 rhr joined #perl6
16:35 pmurias xalbo,masak: i think the exception will be thrown
16:35 Front_slash joined #perl6
16:36 masak that's a possibiliy too :)
16:36 pmurias as perl6 doesn't silently ignore exceptions
16:36 xalbo I would sort of hope so.  If I'm not looking at the return value, I'm calling for side effects and assuming it'll work.  If it doesn't work, I'll experience mysterious pain later.
16:36 masak pmurias: well, as long as it plays well with multithreading...
16:37 xalbo (I'm thinking of all the people who fail to check the return values of perl5's open/close/print)
16:37 jnthn Oh good, my build is not so broken after lots of make realclean and clearing up some other bits.
16:37 moritz_ xalbo: that's why I'm glad that autodie is now in core (p5)
16:38 [particle] xalbo: that's what au... moritz++
16:41 ruoso jnthn, I'm just breaking some rakudo passes then ;)
16:42 synthetic_ joined #perl6
16:42 jnthn ruoso: Where in the spec is this noted, by the way?
16:42 ruoso I've changed the TypeCast test to align with the spec
16:42 ruoso S13
16:42 ruoso Type Casting
16:42 moritz_ ruoso: if you break a test, please fudge it
16:43 * ruoso feels a bit dumb... never fudged a test
16:43 moritz_ t/spec/README explains it
16:44 moritz_ and in rakudo you can check if it worked by running 'make t/spec/SXX-section/file.t'
16:44 ruoso moritz_, right
16:46 * ruoso just fudged it
16:47 ruoso t/spec/S13-overloading/typecasting-long.t fwiw
16:47 moritz_ just found it, thanks
16:47 moritz_ having neither pugs_svn bot nor evalbot really sucks.
16:52 justatheory joined #perl6
17:03 * ruoso .oO( in the end my work-around in the work-around failed as well... so I guess I'll just wait for the ticket to be solved... ;)
17:25 arthur-_ joined #perl6
17:36 edpratomo joined #perl6
17:38 iblechbot joined #perl6
17:41 dbrock joined #perl6
17:44 rdice joined #perl6
17:46 TimToady exceptions are never dropped; see S04:1075
17:47 frettled Is there an exception to the rule?  :D
17:47 TimToady there was, but we dropped it :P
17:48 frettled :)
17:57 mikehh_ joined #perl6
18:00 colomon ping masak
18:00 TBY joined #perl6
18:30 bubaflub joined #perl6
18:30 bubaflub left #perl6
18:30 bubaflub joined #perl6
18:30 M_o_C joined #perl6
18:35 jaffa8 Are the context working?
18:35 colomon "the context"?
18:36 TimToady context vars don't work yet in rakudo
18:36 TimToady rakudo still interprets the * twigil as global rather than context
18:36 frederico joined #perl6
18:37 pmichaud that's very high on the list of things to fix
18:37 dalek rakudo: 8968778 | jonathan++ | src/builtins/control.pir:
18:37 dalek rakudo: Unbreak eval of foreign HLLs.
18:37 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​9687785f351d1472492eaff5da87519d8c579c1
18:37 dalek rakudo: ab99068 | jonathan++ | build/PARROT_REVISION:
18:37 dalek rakudo: Bump Parrot revision to get fix in attribute binding code-gen, plus .orig fix from pmichaud++.
18:37 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​b99068d7f587f0da969b78dc44e4b015d8cc91f
18:48 adam-pwgsc joined #perl6
18:49 jnthn dies_ok(sub {my $x = sprintf('%n', 1234)}, '%n dies (Perl 5 compatibility)');
18:49 jnthn If wrong number of arguments is just a Failure, not a die, surely invalid format would match and also be a Failure?
18:50 jaffa8 TimToady,I see
18:50 jnthn (the spectest wnats this to explode atm)
18:51 rhr joined #perl6
18:52 jaffa8 Are macros working?
19:00 b_jonas there should be an equivalent of %n in pack and unpack templates
19:01 b_jonas like @ or . but saving the position instead of loading it
19:04 jnthn heh, I've no idea how analogous pack and unpack templates are to sprintf formats, and what %n does anyway. :-)
19:04 jnthn jaffa8: no
19:04 pmichaud jnthn: (re #parrotsketch)  looks like pcc rewriting won't land until late September.  Does that impact your planning?
19:04 jnthn jaffa8: They're probably not going to for a while, I suspect, since in some senses they're quite hard.
19:05 jnthn pmichaud: Given I'm vacationing September, no.
19:05 pmichaud okay, so it's okay if I back off the pressure a bit?
19:05 jnthn pmichaud: I get back right at the start of Oct. I'll miss it if it's not there then.
19:05 jnthn pmichaud: If you think you've applied enough that it actually will land late September...
19:06 jnthn I can handle it not landing until then, but much later is potentially going to cause me pain.
19:06 jnthn Or at least be non-ideal.
19:06 pmichaud same here.
19:06 jnthn And probably annoy me.
19:06 pmichaud I'll bring it up during tomorrow's design meeting.
19:06 b_jonas jnthn: %n wants an lvalue integer argument and saves the current offset in the printed/scanned/packed/unpacked string/buffer (counted from the start of the *printf/*scanf call) to that integer
19:06 * PerlJam predicts it'll *actually* land in Oct.
19:07 b_jonas it also gives an easy way to test how much of a scanf conversion has succeeded if you preset the integer to -1, because scanf stops on a misformatted input, and then it does not execute later %n templates.
19:08 pmichaud PerlJam: a couple of weeks delay into October we can probably handle.  Delaying past the October 2009 release will be a major headache.
19:08 bubaflub left #perl6
19:08 pmichaud this task has gone from being "a priority to 1.0" to "not until after the 1.6 release".  That's not exactly pleasant.
19:08 jnthn Right.
19:09 pmichaud even in May allison++ was saying that this was "my #1 priority for the 1.4 release".
19:09 pmichaud I grant that priorities and real life changes, and I'm not an angel about meeting targets either.
19:09 eMaX joined #perl6
19:10 pmichaud but this is a huge blocker for us.
19:11 PerlJam What is blizkost?
19:11 jnthn http://github.com/jnthn/blizkost/tree/master
19:11 ispy_1 joined #perl6
19:12 yath sounds like blitzkrieg
19:12 pmichaud maybe it needs a mention on perl6-projects.org ?
19:12 pmichaud and rakudo.org ?
19:12 arthur-- joined #perl6
19:13 jnthn yath: Quite different - see URL for explanation of the name.
19:13 yath jnthn: just kidding :)
19:13 jnthn yath: ;-)
19:13 PerlJam If it's a path to perl5 that perl6 can use, yeah, a mention elsewhere might do it good.
19:13 jnthn pmichaud: Maybe.
19:13 jnthn I will mention it in my blog post tonight too.
19:14 pmichaud we probably need a rakudo faq somewhere
19:14 pmichaud speaking of which, looks like rakudo.org is b0rken for updates
19:14 pmichaud (PerlJam noted this yesterday)
19:15 jnthn pmichaud: Yes, I noticed that too. :-(
19:15 jnthn At first nobody else could re-produce so I assumed it was just me.
19:15 jnthn Then PerlJam and I think also moritz_ noticed it.
19:15 pmichaud I can't even log in.
19:15 jnthn yes, I think logging in is what shafts it, somehow. :-/
19:16 PerlJam alester maintains that, yes?
19:16 jnthn Who has access to debug that thing?
19:16 pmichaud yes.
19:16 PerlJam is alester the only one?
19:16 pmichaud only alester, afaik.
19:16 jnthn Just alester?
19:16 jnthn ah
19:16 PerlJam (We've got a *low* truck number then)
19:16 jnthn Webmasters get hit by trucks, not busses?
19:16 jnthn ;-)
19:16 pmichaud agreed.  I've said repeatedly I'd like to open that up a bit, but so far alester hasn't been too keen or responsive on that front
19:16 jnthn :-(
19:17 pmichaud I've been wondering if we need to move to another platform/site or something.
19:18 pmichaud I don't know if diakopter++'s offer to host things for us is still open.  And of course I could host it on my servers, but I don't have a good web management framework installed by default
19:20 jnthn I don't mind Drupal at all, and I'm grateful that alester++ put in time to set this up, but something where only one person is able to fix bugs worries me.
19:20 jnthn Or able to do changes etc.
19:20 jnthn It's too much pressure on one person, and too much potential for delays.
19:21 moritz_ pmichaud: hosting on feather2 would be no problem
19:21 PerlJam @seen alester
19:21 lambdabot alester is in #perl6. I don't know when alester last spoke.
19:21 moritz_ p6p is hosted there
19:21 PerlJam lambdabot: what good are you?
19:21 moritz_ and Juerd and I have root access, we can easily hand out more
19:22 moritz_ (feather2 has less users than feather1 and is intended to be a bit more secure. It runs Debian stable)
19:22 PerlJam feather2++
19:23 alester My concern about opening up is creating accounts/permissions that don't get used.
19:23 phenny alester: 22 Aug 10:02Z <moritz_> tell alester when I log in to rakudo.org I only see blank pages - any ideas?
19:23 Juerd In fact, if anyone would like to do full admin of feather, PLEASE talk to me.
19:23 adam-pwgsc Who, if anyone knows, is writing the Learning Perl6 book?
19:23 PerlJam alester: that seems like an odd concern.
19:24 PerlJam adam-pwgsc: if anyone, it would be brian d foy and Randal Schwartz
19:24 Juerd PerlJam: It's a valid concern. Abandoned accounts are useless for the community, but still a security liability.
19:25 Juerd PerlJam: I'm impressed that feather has still not had any major abuse incident.
19:25 alester Unused accounts are technical debt.
19:25 Juerd I've had much worse on systems with much fewer dormants accounts.
19:26 Juerd Feather has existed for 4 years now
19:26 Juerd There are probably accounts that have not been used for the same period.
19:26 jnthn Juerd: Don't tempt fate. ;-)
19:26 dalek rakudo: 9efc9fe | pmichaud++ | build/PARROT_REVISION:
19:26 dalek rakudo: Bump PARROT_REVISION to take advantage of Class.isa_pmc improvements.
19:26 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​efc9fe5e005f218c3e6e363a09b49429d1355f0
19:26 Juerd jnthn: I'm tempting fate by letting feather go completely un-administered.
19:26 PerlJam alester: okay ... give me an account and a reason to use it and I will do so.  (but I hope the reason is not "fix rakudo.org problems"  :)
19:26 Juerd jnthn: I'm (passively) looking for someone to take over system maintenance. (except hardware)
19:26 alester No, it's the other way around, PerlJam.
19:27 alester If you have a reason to do something, then let me know.
19:27 moritz_ Juerd: I can act as a backup administrator, and I already take care of feather2
19:27 PerlJam alester: I know.  But  the only reason I have right now is "fix rakudo.org"
19:27 Juerd moritz_: The problem is chronic/structural
19:27 alester I'm certain the problem is servery, not Drupaly.
19:28 jnthn alester: How many people can investigate and fix that?
19:28 PerlJam alester: What makes you so certain?
19:28 Juerd moritz_: Software isn't updated, new users aren't given access, documentation is lacking or outdated, some services have stopped working.
19:28 Juerd moritz_: And there's no account of who does/maintains what on feather.
19:28 Juerd s/account/accounting/
19:29 moritz_ Juerd: I know
19:29 Juerd If we didn't have 6-hourly backups, I'd be frightened.
19:29 Juerd s/6/12/ iirc. Could up that to 6.
19:30 Juerd Maybe I should.
19:30 alester gut feel
19:30 diakopter unused accounts can be called a liability iff there's a password expiration policy.
19:30 alester Jumpin' Jesus there are a lot of armchair quarterbacks.
19:31 diakopter otherwise they're just as unprotected from bruteforcing as used accounts
19:31 alester Logging into rakudo.org causes a segfault in the server log. :-(
19:31 TimToady alester: well, if you keep trying to establish the running game when you need to start passing, you gotta expect that.  :P
19:31 * diakopter punts
19:32 alester If anyone wants to take over as quarterback, let me know and I'll repoint the DNS
19:33 diakopter false start; surprise of the blitz lost.
19:34 alester Anyone?  Anyone putting up their hands to run the rakudo.org install?
19:34 pmichaud blank pages in php are often symptoms of fatal errors during script initialization
19:34 moritz_ what kind of system (OS) is it?
19:34 alester moritz_: I'm not asing for help in diagnosis.
19:34 pmichaud in this case, since it appears to be related to logins, I suspect there's a problem with PHP session support
19:35 moritz_ alester: I know. But there are system I'm confident with, and others I'm not.
19:35 alester I will fix it when I can.
19:35 alester moritz_: What does your confidence have to do with anything?
19:35 alester If I say it's running on an Unconfident System, will that cause something to happen?
19:35 TimToady alester: do you need a hug?
19:35 alester I always need hugs.
19:36 diakopter ghc is better than hugs...
19:36 alester They are the charge of my batteries.
19:36 moritz_ alester: if it's something I'm good with I can try to help in a number of ways.
19:36 alester moritz_: But I don't want the help.
19:36 alester I can fix it, and will do so when I have time later today.
19:36 alester Powered by love: http://www.flickr.com/photos/juliancas​h/3757493113/in/set-72157621663915357/
19:36 moritz_ sorry, I interpreted "< alester> If anyone wants to take over as quarterback, let me know and I'll repoint the DNS" as such
19:37 diakopter fumble on the snap; recovered for a loss of 40 yards
19:37 moritz_ even if the help consists of migrating the system to a new location.
19:37 alester no, I'm asaying if someone else wants to run the system somewhere else, get it set up and I will repoint DNS
19:37 * TimToady hugs alester very, very hard
19:38 Juerd diakopter: Every user account is a security liability, because it can be abused. But when that's for an active productive user, it is probably *worth the risk*.
19:38 moritz_ alester: I'd do that, if I can get a dump of the old system (database, config) and it's something I can work with
19:38 Juerd diakopter: For dormant users, you're taking the risk without getting anything in return.
19:38 moritz_ alester: but if it is for example a database I've never touched I won't do it
19:38 PerlJam moritz_: have you ever used drupal?
19:38 moritz_ alester: which is why I asked what kind of system it is.
19:38 Juerd diakopter: It's a matter of balance, not of absolute security.
19:38 moritz_ PerlJam: no
19:38 masak joined #perl6
19:38 masak colomon: pong
19:38 pmichaud moritz_: it's drupal behind the system
19:39 Juerd diakopter: If you have 80% entirely unused accounts, as I suspect feather may have, you could reduce your brute forcing risk by 80% by disabling them. Can't do that with active accounts :D
19:39 alester It's running Drupal and I'm sure there's some dumb problem with the PHP package and I will fix it tonight.
19:39 PerlJam Juerd: sure you can!  See BOFH  :)
19:39 pmichaud I'm not married to the idea of using drupal -- if there's something we'd prefer to be using instead, that's very fine with me
19:39 colomon masak: I was wondering if Configure.pm should be included with proto.  Or a proto project.
19:40 diakopter CentOS
19:40 alester If that's not OK and you would prefer to redo the entire site, then more power to you.  Sounds like baby/bathwater to me.
19:40 masak colomon: it is included with proto.
19:40 moritz_ if anybody wants to run such a system on feather2, please give a shout and I'll shout back with a root password.
19:41 Su-Shee left #perl6
19:41 moritz_ for now my tuits are short; maybe next week I'll get around to something
19:41 alester And here's my frustration
19:41 PerlJam moritz_: what if the shout is more like "AAAAAIiiiighghhhhhh"?  :)
19:41 masak colomon: proto is about to go through a redesign, after which Configure.pm won't end up in every project, but will end up in a central lib/ along with other compiled modules.
19:41 alester The False Importance of "OMG IT DOESN'T WORK RIGHT NOW LET'S REDO IT OVER HERE"
19:41 colomon masak: Ah.  Then you're already on top of it.  masak++
19:41 pmichaud alester:  I don't think that's at all what we're saying.
19:42 alester When the answer is
19:42 moritz_ alester: I'm not at all for redoing it *IFF* we find a way to increase our bus number
19:42 masak colomon: not so much on top of it as dreading tackling it :)
19:42 alester and mind you, this isn't just because it's my system that fell over :-)
19:42 pmichaud the part we want to redo is the fact that there's only one point of contact for addressing failure
19:42 alester When the answer to "the system is down" is "let's redo it", that's baby/bathwater
19:42 TimToady alester: yes, the original discussion was about your bus number
19:42 pmichaud even though we have a number of people who indicate willingness to help with the existing system, that appears to be "not an option"
19:43 alester pmichaud: Yes, I'm not wanting to give root to people on my box.
19:43 pmichaud if the existing system constrains us to a bus number of one, then we likely need a new system
19:43 alester There are two issues here.
19:43 alester Admin of the software, which is the problem, and user privs in Rakduo.
19:43 alester I don't disagree with increasing bus number.
19:44 alester and moving rakudo.org from huggy.petdance.com to feather-or-whatever makes sense.
19:44 alester but
19:44 alester I would not say "Oh and while we're at it let's just convert it to This Other Thing"
19:44 alester because 1) it's extra work, and 2) it DEcreases the chances of actually moving it.
19:44 moritz_ agreed.
19:44 pmichaud if converting to This Other Thing makes it easier to increase our bus number or decrease our maintenance load, then it's worth considering
19:45 pmichaud I'm not saying that This Other Thing automatically solves that problem.  But we shouldn't ignore it either.
19:45 alester It would be pretty easy to pick up the DB and drop it onto another box running Drupal.
19:45 alester I'm wary of seeing this as a Mug Throwing.
19:45 PerlJam alester: what version of drupal is rakudo.org using?
19:45 alester PerlJam: A broken one apparently. :-)
19:45 PerlJam heh
19:46 alester I don't know
19:46 alester and right now I really can't look at it.
19:46 Juerd alester: Note that feather0 is a Xen host, available for new virtual servers if required
19:46 alester it's pretty recent.
19:46 alester Juerd: That's fine, I'm not interested in doing the moving.
19:46 alester I don't have the time.
19:46 Juerd alester: So don't let the maintenancelessness of feather1 stop you :D
19:46 Juerd alester: Sounds familiar
19:46 alester My actions here will be "fix rakudo.org tonight"
19:47 alester I cannot do anything else at this point.
19:47 pmichaud alester:  I agree with your choice of actions at this point
19:47 pmichaud alester: I totally understand you might not want to allow root privs on your box (I'd be wary also), and what you're saying makes very reasonable sense
19:48 alester adn I certainly am not saying Drupal Is Best.
19:48 alester but I knew it had to be better as a CMS than MT
19:48 TimToady .oO(MegaTokyo?)
19:49 pmichaud alester: if you're not able to fix rakudo.org until this evening, I'm appreciative of whatever effort you can make (and the ones you've made thus far)
19:49 alester pmichaud: OK,ok, my ass is kissed. :-)
19:49 alester I just have two mech tests that have been kicking me for days that I STILL haven't fixed.
19:49 pmichaud yes, I've been there myself many times :)
19:50 pmichaud I'm looking more for longer-term solutions than "we have to fix this right now or else the world comes to a halt omgwtf"
19:50 yath hm, does sub foo { bar } always need to be terminated with a ; in perl6?
19:50 pmichaud a few days of rakudo.org issues is _not_ going to kill us at this tage of the game
19:50 pmichaud *stage
19:50 moritz_ yath: it can also be terminated by a newline
19:50 pmichaud yath:  only if followed by something on the same line
19:50 jnthn yath: not if the } is the last thing on the line
19:50 yath ah, okay, thanks
19:51 jnthn .oO( too slow )
19:51 pmichaud one question, three different answers that are in fact the same :)
19:51 TimToady yath: and if } is the last thing on the line, it *never* needs semi
19:51 diakopter excepting perhaps whitespace, if you count that as a thing?
19:51 yath TimToady: semi?
19:51 yath ah
19:51 yath semicolon ;)
19:51 TimToady doesn't need a semi truck either
19:52 M_o_C Drupal is some sort of collaborative blogging and content managing system, at least what I understood from the docs. So it's probably more suitable than MovableType, which always appeared to be more single-user to me and more as a blog than CMS...
19:52 TimToady .oO(wondering what a semi-bus would be now)
19:52 pmichaud diakopter: I'm not in a mode where I can see that nothing between the branches :)
19:52 yath is there a specific reason for that? as in: can there be modifiers after a sub-block?
19:52 pmichaud yath:  it's because blocks can be terms in expressions
19:52 moritz_ KyleHa: btw feel free to steal/work on/resolve tickets assigned to me. Currently I act as a placholder for "this ticket needs a test to be closeable", but these days I feel like I'm falling behind
19:52 yath pmichaud: mhm, but that wasn't different in perl5, was it?
19:53 pmichaud so there has to be something (newline or semi) that definitively terminates the statement
19:53 TimToady it's a consistent rule that doesn't need to know which blocks are built-in and which are user-defined
19:53 TimToady perl5 required ; on some block, and not others
19:53 jnthn moritz_: Aye, I'm assigning to you as a way of tagging them as much as anything. :-)
19:53 KyleHa moritz: I figured that was the case, but thanks for making it explicit.
19:53 yath TimToady: hm, where does it require a ;?
19:53 jnthn Though moritz++ is great at writing tests too. :-)
19:54 TimToady eval {...}
19:54 yath ah
19:54 yath yep, hm.
19:54 KyleHa I may be less active for a while; I've been given a lot to do at work.
19:54 masak I've been thinking about whether some omitted semicolons should be considered 'bad style' under idiomatic Perl 6, however.
19:54 yath though i'd like to write eval { foo } die "foo" if ($@); ;)
19:54 moritz_ jnthn: yes, that's still fine; I just don't have the responsiveness anymore that I had back in the days[tm]
19:54 masak I often like to see a semicolon after `my $foo = { ... }`, for example.
19:55 Juerd yath: Why not eval { foo } or die "foo";?
19:55 TimToady well, the last line in a multi-line block should have a semi, even though not required
19:55 Juerd That's what I do all the time in Perl 5. Just write your eval so that when it succeeds, it returns a true value.
19:55 yath Juerd: that was just an example for the missing semicolon. we miss you in #perl on ircnet, btw :)
19:55 Juerd If all other attempts fail, eval { foo; 1 } or die "foo";
19:55 Juerd yath: Thanks.
19:56 pmichaud note that p6 eval requires a string argument :-)
19:56 Juerd s/eval/try/ :D
19:56 yath hu? how would that look like?
19:56 masak rakudo: say "here yet?"
19:56 moritz_ no.
19:56 masak :/
19:56 moritz_ maybe I should move the bots to feather3
19:56 Juerd pmichaud: Hm... eval { block }.perl? ;)
19:56 Juerd moritz_: As long as they're not evalbots.
19:56 pmichaud eval "foo";  die "foo" if ($@);
19:56 Juerd moritz_: For evalbots there's feather3
19:56 moritz_ Juerd: where should evalbots go?
19:57 TimToady pmichaud: what are those parens for?
19:57 moritz_ that's why I wrote feather3 ;-)
19:57 yath pmichaud: but there's something equivalent to eval BLOCK?
19:57 Juerd moritz_: Separated because they're dangerous
19:57 Juerd You wrote 3. Hm, I read 2. Never mind!
19:57 Juerd Sorry :)
19:57 pmichaud TimToady: pillness or something like that .
19:57 moritz_ np
19:57 TimToady yath: try { ... }
19:57 Juerd moritz_: Great plan!
19:57 pmichaud TimToady: One could ask what that $@ is for, also :)
19:57 yath TimToady: ah. makes sense :)
19:57 TimToady I figgered it was p5 still
20:00 alester ok, I have to go heads-down on this bug
20:02 yath na, und was is mit der erststimme?
20:02 yath oops
20:02 M_o_C I hate how google semi-ignores specialchars in search queries and will display mixed search results...
20:04 moritz_ Juerd: how safe is it reboot a virtual feather{2,3} after a kernel upgrade? do they usually come up clean again?
20:04 Juerd Yes
20:04 moritz_ thanks
20:05 Juerd And if not, I haz console
20:05 moritz_ right; I'll notify you if there is any problem.
20:07 diakopter "heads down".... always makes me think "thumbs up!"
20:09 colomon "We give this movie two heads down."
20:14 nihiliad joined #perl6
20:17 molaf joined #perl6
20:26 dalek rakudo: 8b525f1 | jonathan++ | src/classes/Str.pir:
20:26 dalek rakudo: Catch exceptions in sprintf that come from Parrot, and just return a Failure.
20:26 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​b525f1c82fabdd03351708d71c2d927902af6eb
20:28 sjohnson what is the Perl 6 way to find out if a string contains anything?  still if length($string) {} ?
20:28 moritz_ length() is forbidden.
20:28 moritz_ $string.chars works
20:28 sjohnson err, chars i mean
20:29 sjohnson is that the smart way to do it?
20:29 TimToady eq '' still works fine
20:29 sjohnson i use it in PHP, p5 all the time, testing if there is length($string) or strlen($string) in PHP
20:29 sjohnson hmm, ne '' i'd probably use in this case
20:30 pugs_svn joined #perl6
20:30 pugs_svn joined #perl6
20:30 pugs_svn joined #perl6
20:30 M_o_C :o
20:30 moritz_ in bleadperl length(undef) doesn't warn, and gives you undef instead
20:31 sjohnson deosnt' return 0?
20:31 sjohnson p5 seems to return 0 if you do that
20:31 sjohnson $VAR1 = 0;
20:32 moritz_ sjohnson: yes, and warns if you enable warnings
20:34 sjohnson o ic
20:35 pugs_svn joined #perl6
20:35 pugs_svn joined #perl6
20:35 pugs_svn joined #perl6
20:35 pugs_svn r28065 | pmichaud++ | [t/spec]:  Update plan in typecasting-long.t .
20:35 pugs_svn r28066 | jnthn++ | [t/spec] Test for binding to an attribute.
20:35 pugs_svn r28067 | jnthn++ | [t/spec] Re-fudge sprintf test (win 2, lose 1 but I'm dubious it's right...we probably should fail, not die like the test wants.
20:36 sjohnson rakudo: my $insensitive_flag = 1; my $animal = 'COW'; my $query = 'o'; if $insensitive_flag { say $animal ~~ m/$query/i; } else { say $animal ~~ m/$query/; }
20:37 moritz_ p6eval still isn't up again
20:37 moritz_ I've put pugs_svn on feather3
20:38 sjohnson hmm, are any up that i could try?
20:38 moritz_ you can install rakudo ;-)
20:38 moritz_ on your machine
20:38 moritz_ anyway, interpolation of variables into regexes is NYI
20:38 sjohnson haha i had a feeling that was going to come :)
20:38 sjohnson ok, my question is this, since you have looked at the query
20:38 masak sjohnson: Rakudo still doen't do variable interpolation of variables.
20:39 sjohnson the way i did it there looks very juvenile
20:39 moritz_ you should do that anyway (installing rakudo)
20:39 sjohnson i will
20:39 moritz_ oh, and modifiers don't go at the end anymore
20:39 jnthn yay, pugs_svn is back
20:39 moritz_ either at the front (which is NYI), m:i/.../
20:39 moritz_ or inside
20:39 moritz_ m/ :i ... /
20:39 moritz_ (which Rakudo implements ATM)
20:40 sjohnson moritz_: , what would be the smarter, less cludgy way, of doing this:
20:40 sjohnson my $insensitive_flag = 'i'; my $animal = 'COW'; my $query = 'o'; say $animal ~~ m/$query/$insensitive_flag;
20:40 pmichaud I'm not sure there's a way to do it (more)
20:40 pmichaud but if there is, it'd be
20:40 sjohnson i run into this a lot
20:40 moritz_ in a perfect Perl 6 you could write m:i(?$insensitive_flag)/.../
20:40 pmichaud say $animal ~~ m:i($insen.... what moritz++ wrote
20:40 moritz_ :i is just an attribute, and can take a boolean variable as value
20:41 moritz_ s/variable/value/
20:41 TimToady but might eval at compile time
20:41 pmichaud there's been some discussion in the past that flags like :i and :ratchet would need to be compile-time evaluated, though.
20:41 sjohnson as long as it doesn't involve me having to write out a if / else statement, and two statements that look near identical
20:41 sjohnson ( `ー´)
20:42 sjohnson boorean would be nice
20:42 pmichaud you could do
20:42 pmichaud my $query = ':i o';    m/<$query>/
20:42 sjohnson then i don't have to store 'i' in a $flag
20:44 pmichaud (also nyi in rakudo, fwiw)
20:44 sjohnson i'm optimistic about the future
20:44 TimToady i'm pessimistic about the past
20:44 sjohnson does (?$flag) return a 1 / 0 if it's true or not?
20:44 pmichaud it returns true or false
20:45 pmichaud +?$flag would return 1 / 0
20:45 sjohnson that's a big deal
20:47 maerzhase1 joined #perl6
20:51 jnthn TimToady: Is trying to access the state of a type object an exception or just a fail?
20:52 * jnthn leans towards exception on this one
20:52 jnthn It's a fairly big problem if you're trying...
20:54 pugs_svn joined #perl6
20:58 hercynium joined #perl6
20:59 jaffa8 TimToady,your past looks bright to me.
20:59 sjohnson haha, he's got a bright past behind him
21:00 masak better than having a bright past ahead of oneself.
21:01 missingthepoint better both. :)
21:03 masak that would be the case for a time traveller stuck in an excellent time loop, for example.
21:04 reqamst rakudo: -« (1,2)
21:05 masak reqamst: evalbot has gone the way of _why.
21:05 reqamst who or what is _why?
21:05 masak nevermind. evalbot is not here right now. :)
21:05 reqamst hmm... hyper operators are currently implemented or my just have problems with utf8?
21:06 jnthn reqamst: Oly for infixe.
21:06 masak reqamst: (_why was a prodigious hacker in the Ruby community. he disappeared last week)
21:06 jnthn only, infixes
21:06 moritz_ reqamst: note the UTF-8 on the command line causes trouble
21:06 moritz_ so perl6 -e '(1,2)»+«(3, 4)' # FAIL
21:06 moritz_ in a file it works fine
21:07 jnthn masak: If the tests pass, I mighta just got rid of one more bunch of null PMC accesses. :-)
21:07 reqamst moritz_: oh, thanks
21:07 sjohnson moritz_: doing (undef eq '') in p5 producing a warning, too
21:07 sjohnson so is it still any better than doing chars(undef) in p6?
21:07 sjohnson or more importantly, chceking if any string is empty
21:10 masak jnthn: don't worry, I have more bugs coming up. :)
21:10 masak jnthn: take a look at this one, for example. http://gist.github.com/175034
21:10 masak though I suspect it's really for pmichaud.
21:11 moritz_ \# is forbbiden, but the error message is LTA
21:12 masak waitwait, \# is forbidden? why?
21:12 jnthn .oO( LTA is a re-ordering of TLA )
21:12 masak LTA is also an excellent TLA.
21:12 moritz_ because... forgot the reason. It's in the commit message that modififed S05 accordingly
21:12 moritz_ some parsing ambiguty
21:12 * masak dives into S05
21:12 moritz_ you have to write '#' now
21:13 moritz_ or maybe it was a commit against STD.pm
21:14 masak S05:603: An unescaped C<#> now always introduces a comment.
21:14 masak that's all I've found so far.
21:15 moritz_ $ cat foo.pl
21:15 moritz_ \# /
21:15 moritz_ that was / \# /, but irssi ated it
21:15 moritz_ $ ./tryfile foo.pl
21:15 masak :)
21:15 moritz_ ===SORRY!===
21:15 moritz_ No unspace allowed in regex (for literal please quote with single quotes) at foo.pl line 1:
21:15 moritz_ ------> / \⏏# /
21:15 masak wow, this feels so primitive... :)
21:16 masak is that an STD.pm LTA error message?
21:16 masak I wasn't doing an unspace, I was backwhacking my #!
21:17 diakopter maybe some double-escaping is occuring
21:18 masak anyway,
21:18 * masak submits rakudobug
21:22 orafu joined #perl6
21:26 masak ok, next one.
21:27 masak this surprised me a twinge: http://gist.github.com/175042
21:27 masak but maybe I've misunderestimated something.
21:28 moritz_ so basically you attempted a rebless?
21:28 masak aye.
21:28 masak was that bad?
21:28 moritz_ yes. Bad masak and all ;-)
21:29 masak now that's an awesome error message: "bad masak at line 2". :D
21:29 moritz_ I don't see how that should work with incompatible storage of class A and B
21:29 masak moritz_: no, neither do I. but I though, well, that's what bless does. rebless things.
21:29 masak Perl 5 can do it.
21:30 moritz_ yes
21:30 moritz_ perl 5 is... different ;-)
21:30 masak the spec doesn't say that this has changed. hence Perl 6 can do it. :)
21:30 masak dang, I love logic.
21:30 moritz_ especially aobut objects
21:30 moritz_ speaking of "surprised me a twinge"
21:30 moritz_ dpkg -l libglib2.0-0
21:31 moritz_ ii  libglib2.0-0   2.16.6-2       The GLib library of C routines
21:31 moritz_ a 2.0-0 in version 2.16.6-2?
21:31 moritz_ that's unexpected.
21:31 tak11 joined #perl6
21:31 missingthepoint masak: here's a choice. something cool, or something really cool? :)
21:32 masak missingthepoint: tough choice. :)
21:32 masak missingthepoint: is there a downside to the really cool, or is it better in all respects?
21:32 missingthepoint masak: there's a "but" attached to the latter...
21:33 masak g'ah, I knew it!
21:33 masak without knowing the details, I'd go with 'something cool', then.
21:33 masak play it safe.
21:34 missingthepoint masak, you make me sad. :*(
21:34 missingthepoint you didn't even know the "but".
21:35 moritz_ you didn't even tell the "but".
21:35 masak missingthepoint: I thought this was a game, and you were deliberately withholding information...
21:35 masak missingthepoint: sorry, I'm following instructions as best I understand them. :)
21:35 missingthepoint would you like to know the "but"? :)
21:35 masak of course!
21:35 masak is it even understandable without knowing the choice?
21:35 missingthepoint it just means you wait a little longer for Text::CSV tests. That's all. :)
21:36 masak ah, that's the but.
21:36 masak well, I'm busy as hell, so waiting is no big problem.
21:37 masak now that I know the 'but', I'm really curious to know what it's buying me. :P
21:37 missingthepoint well... "really cool" then? :)
21:37 masak am I deciding now? that's all the information I get? :)
21:38 masak oh awright, I'll go with *really cool*.
21:38 missingthepoint \o/
21:39 masak and, apparently, that was the right choice.
21:39 missingthepoint :D
21:39 masak missingthepoint: looking forward to the really cool. :)
21:40 masak you've never disappointed me before, so...
21:40 missingthepoint I'll be back When It's Done. :D
21:40 masak ok. :)
21:40 masak I'm probably heading to sleep soon.
21:41 masak it's late on this side of the planet.
21:41 moritz_ aye
21:41 moritz_ good idea akshually
21:41 moritz_ good night
21:42 masak moritz_: o/
21:42 missingthepoint Night Mr. Masak. You've made me happy, and I can't even tell you _why. :)
21:42 masak that's good enough for me.
21:42 masak missingthepoint: good luck with whatever.
21:42 Limbic_Region joined #perl6
21:43 masak peace out, #perl6. you're all awesome.
21:45 Whiteknight joined #perl6
21:50 takadonet left #perl6
21:55 jnthn awww...failed one test. :-/
21:56 moritz_ I take that as a compliment ;-)
21:56 hercynium_ joined #perl6
21:57 moritz_ actually I heard that quite a few times now from you, jnthn
21:57 moritz_ all tests but one or a few pass
21:57 jnthn Yeah
21:57 moritz_ I take that as a good indication of test coverage
21:57 jnthn Sometimes they point to real failings.
21:57 jnthn However this current one that just failed I'm looking at thinking, hmm.
21:57 jnthn We have this:
21:57 jnthn class Foo { our $.bar = 23; our $.yada is rw = 13;
21:57 moritz_ (having something like Devel::Cover for Rakudo would be really awesome, though)
21:57 jnthn }
21:58 jnthn And also this
21:58 jnthn class Quux is Foo { has $.bar = 17; };
21:58 jnthn And then this:
21:58 moritz_ urm.
21:58 jnthn lives_ok {$test5 = Quux.bar}, 'class attribute still accessible via class name';
21:58 jnthn Surely though, the .bar method that it calls there *has* to be the accessor?
21:59 jnthn Which can't work on the type object?
21:59 moritz_ I agree
21:59 moritz_ we'd need more magic on type objects to get that working the way the test wants it
21:59 moritz_ which isn't specced
21:59 jnthn Since an accessor method is just a method and subject to normal dispatch rules, which is that methods in the subclass win (unless they explicitly defer, or are multis so are allowed to have no matches...but either of those I think is not really desired accessor behavior)
22:00 jnthn Right, I think it was not spec.
22:00 jnthn s/was/is/
22:00 jnthn And I can't imagine a sane obvious spec change that would make this pass, off hand.
22:00 moritz_ the test writer probably thought that 'our $.bar' introduces a 'multi method bar(::$?CLASS $self where { ! $self.defined }:) { }
22:00 jnthn Other than accessors check the definedness of the invocant.
22:01 moritz_ right
22:01 jnthn Yeah
22:01 moritz_ but that seems a bit off
22:01 moritz_ so just revert the meaning of the test
22:01 jnthn That's not spec though, and feels a little too magical.
22:01 moritz_ with a nice omment explaining
22:03 jnthn dies_ok {$test5 = Quux.bar}, 'class attribute hidden by accessor in subclass; we do not magically ignore it';
22:03 jnthn nice enough?
22:03 jnthn ah, class attribute *accessor* maybe
22:04 moritz_ +1
22:05 moritz_ reallybednow
22:06 jnthn night!
22:06 pugs_svn r28068 | jnthn++ | [t/spec] Correct a test that seemed to think there was more to accessor methods than plain old inheritance semantics - nothing is spec'd to suggest this, and we only accidentally passed it before in Rakudo.
22:14 rfordinal joined #perl6
22:14 pugs_svn r28069 | jnthn++ | [t/spec] Unfudge a test Rakudo now passes, and tweak its explanation a little.
22:16 dalek rakudo: bd51ce2 | jonathan++ | src/pmc/p6opaque.pmc:
22:16 dalek rakudo: Detect attempts to access attributes of a type object and throw an exception, rather than letting them be Null PMC Accesses.
22:16 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b​d51ce26e3a76e1ce8eadc1e84a5060215de8846
22:23 veritos joined #perl6
22:31 nbrown joined #perl6
22:38 ruoso joined #perl6
22:45 kborer joined #perl6
22:47 sjohnson question:  Perl 6 way to do a case insensitive "eq" ?
22:47 sjohnson ie, keyword, not ~~ matching
22:48 sjohnson *puppy dog eyes*
22:48 buubot joined #perl6
22:51 kborer does anyone know where to find transcripts or videos of the last two State of the Onion addresses?
22:54 TimToady sjohnson: lc $x eq lc $y
22:55 TimToady er, that won't work
22:55 sjohnson such would work, but what if i have about 15 of those type of lines, ie, a case statement, and it gets a bit ugly looking
22:55 TimToady P5-Think
22:55 TimToady $x.lc eq $y.lc
22:55 sjohnson iq = insensitive eQual :)
22:55 TimToady well, you can *write* the when exprs in lower case then
22:55 TimToady and just do given $x.lc
22:56 Limbic_Region kborer - the last State Of The Onion really wasn't (I am slightly miffed at Larry for that) but you should be able to get his OSCON vid online
22:58 TimToady Limbic_Region: well, when the choice between agonizing a couple weeks over what is mostly an entertainment event, vs getting two more weeks of work done on STD and just talking about that, it gets to be an obvious decision
22:59 Limbic_Region TimToady - I am not REALLY miffed - I was just getting your attention since kborer's question seemed to go un-noticed
22:59 * Limbic_Region could have kicked you instead
22:59 Limbic_Region ;-)
23:01 acajou joined #perl6
23:01 TimToady I'm slightly miffed you're not slightly miffed. :P
23:03 Juerd sjohnson: Consider how incredibly ugly the language would be if every kind of string comparison or matchng had its own case-insensitive variant.
23:03 Juerd sjohnson: With regexes we can't really get away with not having that, but see the mess that PHP has with all the *i* or *case* functions.
23:05 Juerd eregi, eregi_replace, mb_eregi, mb_eregi_replace, str_ireplace, stristr, stripos, strripos, strcasecmp, spliti...
23:06 sjohnson i agree with that
23:06 Limbic_Region Juerd - do you own dvorak.nl ?
23:06 Juerd Perhaps Perl 6 *could* have a syntactically more generic approach, but it would still be silly because you can already do the same thing with lc...
23:06 Juerd Limbic_Region: Yes, aoeu.nl too
23:07 Limbic_Region Juerd - did the tutorial change?  I mentioned it the other day but then the API seemed different
23:07 Juerd API?
23:07 Juerd It has an API? :D
23:07 Limbic_Region well, maybe I am misremembering.  It came up yesterday in #perl and I pimped it hard for you ;-)
23:08 Juerd Yay
23:08 kborer_ joined #perl6
23:08 Juerd But it doesn't have an API. It's just a big bunch of perlishish javascript
23:08 Juerd (So you can download individual lessons and practice offline!)
23:09 Juerd I changed the entire typing trainer a year ago. Not sure when exactly.
23:09 Limbic_Region yeah - the typing trainer is what I meant
23:09 Limbic_Region and it must have been a year since I played with it
23:09 Juerd The lessons are still the same though
23:09 Limbic_Region I got pretty proficient at the home row but laziness kicked in
23:10 Juerd Aw
23:10 Limbic_Region anyhow - we should turn #perl6 back over to its regularly scheduled programming
23:10 Juerd It takes most people between 5 and 10 hours to learn to touch type the entire alphabet.
23:10 Juerd Programming is scheduled now?
23:13 TimToady one of the times I won the IOCC was with a dvorak keyboard remapper
23:13 TimToady "most well-rounded in confusion" was the description, I believe :)
23:18 Juerd Hah
23:21 kborer joined #perl6
23:30 carlin joined #perl6
23:43 pugs_svn r28070 | lwall++ | [STD] disallow alphanums as delimiters
23:46 TimToady if we're really gonna support Rat, then 1.00 .. 2.00 :by(0.01) should really default to Rat arithmatic
23:46 nihiliad joined #perl6
23:46 TimToady which implies normal decimal literals should default to Rat, not Num
23:46 jnthn http://use.perl.org/~Jonath​anWorthington/journal/39530
23:46 jnthn (Rakudo day report)
23:46 TimToady at least up to some precision or other
23:47 jnthn TimToady: Hmm. That could be...surpsing.
23:47 jnthn *surprising.
23:47 TimToady what, that the values are exact :)
23:47 TimToady ?
23:48 jnthn That 4.5 doesn't give you floating point by default.
23:48 TimToady there are two worries
23:48 TimToady one, there won't be an appropriate Rat version to coerce to Num where needed
23:48 TimToady two, that the coercion will be slower, and not cacheable
23:49 TimToady we could have a pragma that sets the threshold
23:49 TimToady so anything up to N digits gets Ratified
23:49 TimToady and setting to 0 means 4.5 would be Num
23:50 TimToady but something to be said for defaulting to doing money exactly
23:50 tak11 joined #perl6
23:51 TimToady I don't want to force people to write 45/10 all over the place
23:52 TimToady but for efficiency we probably need a way for the initial dispatch to cache the coercion of a literal so it doesn't have to keep redoing it
23:53 TimToady similar possibilities arise for various string encodings of "foo"
23:53 TimToady which probably wants to be a utf8 buf somehow, and autocoerce to Str as needed
23:54 TimToady or something like that
23:54 TimToady literals in general are polymorphic in this funny way
23:54 jnthn Hmm
23:54 jnthn Yeah
23:54 * ruoso .oO( native currency notation... )
23:55 jnthn yeah but we already use $ ;-)
23:55 TimToady anyway, just thinking out loud
23:55 TimToady not intending to make you lay awake tonight worrying :)
23:55 ruoso jnthn, we can always use €
23:56 zamolxes joined #perl6
23:56 jnthn TimToady: Heh, it's actually been hotter than I can really cope with for sleeping here this last week or so.
23:56 jnthn Or at least, it is until 3am or so.
23:56 ruoso multi prefix:<€>($val) { return $val with currency semantics }
23:57 TimToady I think the generic currency marker would be much more appropriate there
23:57 TimToady ¤
23:57 ruoso is there one?
23:57 ruoso hm... fantastic
23:58 TimToady I'm *not* going to make people type that...
23:58 ruoso it's even easy to type in my compose xmodmap setup
23:58 wayland76 joined #perl6
23:58 ruoso compose, x, o
23:59 ruoso use Currency;
23:59 TimToady use rat :digits(0);

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

Perl 6 | Reference Documentation | Rakudo