Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-01-20

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:04 dduncan I find that pugs is quite tempermental as to its speed
00:05 dduncan after the last update, I did 'make', and then 'make smoke' ... according to the figures, things like the first few ext/ tests were taking 35-50 seconds each, and everything else correspondingly slow
00:05 dduncan part way through 'builtins', I killed it, did a make realclean, rebuilt, etc ...
00:06 dduncan now smoking again, its about 10-20 seconds per test
00:06 dduncan the same tests, with the same source code, and no config file changes
00:06 dduncan and same computer load
00:07 dduncan I've seen such variances over the last 4-6 months, and I'm not exactly sure what causes them
00:08 dduncan the difference would be code/config related, as all members of the test suite get faster or slower by about the same ratio
00:08 dduncan code/config/compiler that is
00:09 \xe6var joined perl6
00:12 \xe6var joined perl6
00:15 wolverian whoot, Class::Spiffy
00:29 lisppaste3 joined perl6
00:31 bsb left perl6
00:35 kroh joined perl6
00:35 cPbrian joined perl6
00:36 cPbrian do you?
00:47 rhesa joined perl6
00:50 azuroth I do
00:52 frederico joined perl6
00:54 frederico joined perl6
00:56 rhesa hi all. i'm new to pugs and perl6, and thought i'd get my feet wet by porting something from perl5. I've started on HOP::Stream, because that's very simple code. But I'm having a hard time finding out how to do certain things. Here's an example: sub is_promise {...} should return true if the argument is a code ref. How do I test that in perl6?
00:56 rhesa I've got something working with "$ref.isa(Sub) or $ref.isa(Block)", but it feels awkward.
00:59 scook0 rhesa: you could try multimethods
01:00 scook0 also, .does is probably preferred to .isa
01:01 rhesa thanks
01:01 wolverian probably the whole idiom needs refactoring to a more typed environment
01:02 rhesa likely, but I have a bootstrapping problem there :)
01:02 rhesa I know perl5, but not perl6
01:02 rhesa and I find it hard to get started.
01:02 wolverian right. it'll work with a more perl5ishy approach, too.
01:02 wolverian so, continue. :)
01:03 rhesa I've read a lot of the stuff on dev.perl.org, the pugs docs, some modeules in there, and some of the pugs tests, but it's difficult to distill idiom from that just now.
01:04 rhesa here's one i don't know how to write yet: " while( defined( my $num = foo() )"
01:04 wolverian while defined(my $num = foo) { ... }
01:04 rhesa pugs barfs on the "my" there. Should that be written with a pointy thingy?
01:04 wolverian not really, but since perl6 supports lazy lists, you might as well move from while to for
01:05 wolverian for foo -> $num { ... } # where foo is an iterator
01:05 wolverian I'm not sure how well pugs supports this yet
01:05 rhesa let me try that :)
01:08 Ovid joined perl6
01:09 KingDiamond joined perl6
01:10 rhesa hm. where do I look up how "for" is supposed to be used?
01:11 Ovid Hey, Class::Spiffy doesn't use source filtering.  That should make some folks happy.
01:12 abc joined perl6
01:17 miyagawa yeah, new YAML.pm uses it
01:26 robkinyon audreyt: ping
01:27 justatheory joined perl6
01:34 kroh left perl6
01:43 \xe6var joined perl6
02:02 Cryptic_K joined perl6
02:06 Khisanth joined perl6
02:15 ben` joined perl6
02:16 KingDiamond joined perl6
02:21 Khisanth joined perl6
02:24 pdcawley joined perl6
02:30 vel joined perl6
02:34 ben__ joined perl6
02:35 ben__ left perl6
02:41 xern joined perl6
02:46 audreyt stevan: I'm off to $job now, but please sanity check my p6l fix.
02:46 audreyt &
02:47 obra     reaudrey
02:47 obra later
02:49 vel left perl6
03:05 beppu_ joined perl6
03:11 grayson joined perl6
03:12 grayson joined perl6
03:17 ben` is now known as grayson`
04:09 meppl guten morgen
04:42 azuroth heyo
04:48 Amnesiac joined perl6
05:03 Cryptic_K joined perl6
05:16 putter joined perl6
05:19 putter anyone around who wants to stroll over to the whiteboard and have a chat about p6 types/classes/object/bless and discussions of same?
05:22 beppu_ whiteboard?
05:23 gantrixx joined perl6
05:23 gantrixx hello?
05:23 beppu_ 'sup?
05:24 gantrixx wow, I'm in 3 different groups and you are the only one saying anything
05:24 beppu_ maybe everyone's asleep.
05:24 gantrixx maybe
05:24 gantrixx maybe everyone here is from europe or something
05:25 beppu_ I'm in California.
05:25 beppu_ how about you?
05:25 putter it should be noonish in asia+aus, no?   why no warm bodies this time of day?
05:25 gantrixx Arizona
05:25 beppu_ not too far away....
05:25 putter hi gantrixx
05:25 gantrixx hi putter
05:25 gantrixx where are you from putter?
05:26 gantrixx Actually, I just logged on to get a little help from the handhelds.org guys
05:26 gantrixx but no one is in there
05:26 putter US/Massachusetts.  Just an hour or few from steven.
05:26 gantrixx US/Phoenix/AZ
05:26 gantrixx I just got a Nokia 770
05:27 putter re whiteboard - a blackboard-like thing hanging on the wall, to stand in front of while conversing, drawing illegible sketches, and waving hands.
05:29 beppu_ ok, cool.  I was just making sure you guys didn't have some kind of online shared space for sketching stuff in realtime....
05:29 * putter wishes...
05:30 beppu_ kinda like a graphical SubEthaEdit
05:30 putter no, I'm just a bit bemused by the recent p6l and #p6 discussions on bless etal, and was looking for another brain to help crystalize my thoughts.
05:30 putter ;)
05:32 putter s/my thoughts/thoughts/
05:33 beppu_ I'm so far behind the times when it comes to perl6...  What's "bless etal" ?
05:34 * beppu_ can't even get pugs to compile on my machine because it's so RAM deficient.
05:34 beppu_ s/my/his/;
05:34 Skud joined perl6
05:37 putter re what is, in the specific, the most recent threads on http://groups.google.com/group/perl.perl6.language .  In the general... hmm... the spec being both... broad... and a source of unhapiness (and not about its broadness), and... a source of non-meeting-of-the-minds and perhaps non-Ofun discussions.
05:38 putter beppu_: tewk was setting himself up to do memory and time profiling.  perhaps there will be some outliers which can be clipped, broadening the range of machines which can deal.
05:39 putter for a while, there were also prebuilts on Windows.  if there is enough interest (ie, someone decides to host it:), perhaps we could have a "contributed builds" resource.
05:40 beppu_ I'm running Gentoo.
05:40 beppu_ My debian box at work has pugs, though.  (apt-get install pugs)
05:40 putter does debian have a prebuilt concept?  pugs has definitely been debianized.
05:40 putter ah
05:44 beppu_ yeah, debian packages contain prebuilt binaries.  no compilation required.
05:44 beppu_ Well, I'm looking through the thread that says Perl 6's bless is seriously broken.  Is that the one you were thinking of?
05:46 elmex joined perl6
05:48 putter yes
05:48 putter :)
05:49 beppu_ Although I don't know enough about p6, I'm inclined to agree with rob kinyon that bless doesn't seem necessary in p6.
05:50 putter ok, other thoughts?
05:50 putter comments/observations/musings/remarks? ;)
05:51 beppu_ I'm going to miss that built-in.  It was very useful for code poetry.  ;)
05:51 putter :)
05:51 beppu_ but who knows if it'll really go away.  It certainly seems less useful, now.
05:52 beppu_ It really was brilliant for perl5.  Definitely a hack, but a good hack in my opinion.
05:52 putter agreed
05:52 beppu_ perl6 seems to have a more formalized notion of OO, and thus bless seems like it's kinda left without a job to do.
05:53 putter hMMmm...
05:54 putter ok... does bless have a job, what is it, is it necessary...
05:54 putter backing up to big picture,
05:55 Cryptic_K joined perl6
05:55 putter p6 oo is still quite, I dont dont quite want to say "fuzzy", but..
05:55 beppu_ originally, bless was used to associate a reference with a package name.  it associated data w/ behaviour which is the essence of what it means to be OO.
05:56 beppu_ I thought that was so clever when I first read about it...  (6 years ago?).
05:56 beppu_ (I loved the name, too.)
05:56 putter Larry is uncertain say Classes and Roles will really exist, and to what extent Class.new things ("instances"?) are Class and/or Role -like.
05:56 beppu_ bless --  I'm making you special...
05:57 putter ha!  I hadn't thought of it like that. :)
05:57 stevan putter!!
05:57 putter stevan!! :)
05:57 beppu_ what about me?  ;)
05:57 beppu_ j/k
05:57 stevan beppu_!!!
05:57 beppu_ YES!
05:57 beppu_ ;)
05:58 stevan putter: we should organize a northeast corridor hackathon :)
05:58 putter step up to the whiteboard!  beppu_ and I were just starting a chat about bless etal...
05:58 stevan putter: yes, I saw,.. although I really should go to bed,.. i couldnt resist :)
05:58 putter stevan: yes, definitiely.  NE P6 User's Group. ;)
05:58 stevan putter++ # yes, perfect!
05:58 putter Hey, we can have the first p6mongers group! :)
05:59 stevan I think chromatic is starting to make sense, ... at least in the sense he is saying things I want to hear :)
05:59 stevan putter: I wonder how many other #p6-ers are from our area?
05:59 * putter goes back to look at chromatic's posts...  has some meta-observations to share too...
06:00 stevan putter: I just responded to it, and tried to expand on some of what I think he is saying
06:00 stevan mainly that "it's all just storage"
06:00 stevan which means a class is a class is a class no matter what "storage" you use
06:01 stevan you can tell them what you would like used, and then it's the compilers problem to figure it out
06:01 stevan which in a way actually helps to make the distinction between PIL^N and Perl 6 a little cleaner in my head
06:02 stevan which also reminds me of something you were talking about with Inline::PILN
06:02 stevan which makes me think that something like that is not a bad idea really
06:02 stevan that being able to have the body of a method hold some code other than perl 6, but which corresponds to the repr type might be interesting
06:03 putter hey stevan, would you like to backlog the last couple of minutes (it's short, but it will sync us) of converstation w me and beppu_?  http://colabti.de/irclogger/irclogger_log/perl6?date=2006-01-20,Fri
06:03 stevan yes, I did already
06:03 putter ok
06:04 stevan I also think chromatics point about bless really being the same as CREATE is nice
06:04 stevan cause one of my biggest problems of late has been figuring out how those two are supposed to interact
06:04 stevan (which is what S12 says)
06:04 stevan but which does not seem to make sense to me
06:06 * putter tries to figure out how to phrase / make describable his primary impression from the discussion...
06:07 putter There seem to be issues with the choices of levels of detail for the discussion.  Ie,
06:08 putter On the one hand, there is Larry being uncertain Classes and Roles exist, and to what extend Foo.new's are Class and Role -like.  On the other hand,
06:09 stevan where is larry being like that??
06:09 dduncan joined perl6
06:09 stevan which thread
06:09 putter there is a long chain of decisions though design space <pause>
06:09 stevan or just in general
06:09 stevan putter: gotcha
06:09 stevan I didnt know if it was something more specific recently :)
06:10 putter in general.  he periodically pauses and says, unless this <some foundational thing> goes different.  more on that in a moment...
06:10 MuadDie joined perl6
06:11 putter <unpause> and observations that if we big bag of specific constraints foo, additional constraint bar doesnt play well, "ouch!". ;)
06:11 putter Now, Larry's end makes sense in that
06:13 putter he has a set of properties in mind for the design, and is comfortable with arbitrary wanders in design space in hope to better maximize his happiness metric.  And the implementation choice chain end makes sense, because
06:14 putter you are working on a specific implementation.  Or not quite, and i think that's my thought.  If Larry's vision is the client (or Larry, whatever), then
06:15 putter he seems in a place where point solutions, implementation spikes, wont meet the needs of the client.  I don't see a dialog of
06:16 putter "here are a whole bunch of things bless could mean,", and there are a lot of them, variously interesting and less so, "and some of the concequences fo those choices".
06:16 putter The contrast stuck me as really odd.
06:16 putter ;)
06:17 * putter goes back to read stevan's earlier comments...
06:17 stevan putter: I do tend to be focused on the "how do we implement this thing" end
06:18 stevan but I am also concerned about keeping things consistent, not only in the language design, but in how the language is "built"
06:19 stevan which is not really about implementation so much, because a good language (IMO) is a small one, upon which you can build the rest of the language
06:20 pasteling "stevan" at 67.186.136.119 pasted "Weird Inline idea" (10 lines, 217B) at http://sial.org/pbot/15530
06:20 putter Agreed.  Kernel languages, eg Oz, ++
06:20 stevan yes
06:20 stevan putter: please look at the paste
06:21 stevan this might be an interesting way to accomplish a number of goals
06:21 stevan 1) convert p5 to p6 mechanically
06:21 stevan if we can use p5 inline, then it becomes much easier I think
06:21 putter It's just like there is a mismatch between the topic being discussed, rather the problem domain trying to be clarified, and the terms of the discussion.  Take bless and MOP, (will look at paste in a moment..)
06:22 stevan putter: yes I agree,.. i felt that too
06:22 stevan 2) deep language interoperability becomes really easy
06:23 stevan 3) the Container code (Array, Hash and Scalar) become very easy since they are just a bunch of inline[PILN] methods ;)
06:23 putter assume not unreasonably that we will have a complete mop (anything doable can be done though the mop).  then what subset of mop functionality is named "bless", and how p5 or whatever it is, sort of doesnt matter.  But its being used as proxy for what the object system looks like on the other side of the mop.  Rather than that being discussed directly.  no?
06:24 * putter goes to backlog and read paste...
06:25 stevan putter: yes (at least I think so), the best way to handle cross language interoperability one a sub|super-class level is to make MOP compatibility layers
06:25 * stevan is reading a really great book on really crazy MOPs now actualy
06:25 beppu_ stevan, what books is that?
06:25 putter s/But its being used/But the definition of bless is being used conversationally/
06:26 stevan beppu_: it is called "Advances in Object-Oriented Metalevel Architectures and Reflection"
06:26 * beppu_ is googling...
06:26 stevan its from like '96, so it's a little old, but has some really interesting stuff in it
06:27 stevan beppu_: it is kind of like a sequel to "The Art of the Meta Object Protocol"
06:27 beppu_ haven't read that one, either.
06:27 stevan some of the same characters come back, etc etc etc :)
06:28 putter ewww, CRC Press.
06:28 beppu_ I probably should, though.  
06:28 stevan beppu_: it's a lot of LISP code, but its very well written and fairly easy to follow
06:28 stevan putter: what is wrong with CRC?
06:29 * stevan doesnt even know who CRC is anyway
06:30 putter http://www.worldcatlibraries.org/wcpa/top3mset/77d4f32a72534638a19afeb4da09e526.html
06:31 putter dont immediately see a home page for the book :(
06:31 GeJ joined perl6
06:31 stevan its an old one,.. mostly a collection of cool MOP based papers
06:31 putter ok, anyway, where were we...
06:32 stevan did you look a the paste?
06:32 beppu_ Pardon my noobiness, but are they going to allow that kind of inlining?
06:32 beppu_ (re: your paste)
06:32 stevan beppu_: no idea, I just made it up :)
06:33 GeJ greetings all
06:33 stevan hello GeJ
06:33 beppu_ so what would the bless mean for class Foo ?
06:33 beppu_ are instances of Foo a Foo and a pydict ?
06:33 stevan it just tells Foo what kind of storage to use,.. that is all
06:34 stevan beppu_: no, they would be Foo only, the pydict would be hidden from the user
06:34 stevan it would be just for storage
06:35 stevan but then it makes it hard to get to the storage, which is where the inline idea comes in
06:35 beppu_ and when you say storage, are you saying...  that that particular bless is saying that class Foo uses python semantics for its innards?
06:35 stevan because if  you can't get at the specific storage type, i see no reason why it is anything different than plain old p6opaque
06:36 stevan beppu_: no, I am telling the compiler that it should use a pydict to store the attributes for instances of Foo
06:36 putter re paste, * inline languages (agreed); * using a method "is foo" mechanism (unclear - some reservations); * reps setable independent of Class (agreed), to thnigs from other languages (agreed), using bless (unclear - some reservations).  field-like (attributes, sigh, whatever they are called) spec being independent/overlayable on underlying replike thing (agreed).  let's see... were there any other concepts...?
06:36 beppu_ ok...
06:36 stevan putter: nope, I think thats all of them
06:37 putter re book, if there are papers you really like, if you could mention them that could be neat.  maybe google will turn up an online copy/variant.
06:37 stevan putter: I will look, however, the book was published in 96, so they may not be onlin
06:37 beppu_ this bless is a lot different from p5 bless, then.
06:37 stevan beppu_: yes, basically
06:38 stevan but taken this way, it does not break backwards compatibility
06:38 stevan since any p5 code would use it just like a normal blessed p5 hash
06:38 beppu_ very clever...
06:38 putter book definitely not online (CRC:), but some papers may have "equivalent" tech reports which are, for example.
06:38 stevan but the p6 code would wrap that hash and just DWIM
06:41 putter stevan: in a universe of namelike (and typelike?) things, plus funlike things (dispatchlike?), and fieldlike, and replike (supporting the others)... do you think of replike things being strictly for fieldlike support, or also/alternately playing with funlikes or typelikes?
06:44 * beppu_ 's brain exploded.
06:44 stevan :D
06:44 stevan putter: I am starting to think of replike things less strictly
06:45 putter and any thoughts on what a fieldlike api looks like?  is it just a pointer, and the client writes handlers which frob it, and those are of a "normal methods users might use" flavor?  or do potential rep objects provide an api the compiler can wire into?  or... I'm not sure what other possibilities exist...?  bound to be some...?
06:46 stevan ideally all reprs would support some kind of feildlike interface, which would be get_attr, set_attr and has_attr
06:46 stevan but if they didnt, then I suppose the inlining idea would be useful
06:46 * putter apologizes to beppu_.  hands him bits of brain wiped from whiteboard.  beppu_ reassembles (hopefully:)
06:47 stevan our whiteboard is now spotted with beppu_ brain, yulk
06:47 beppu_ I'm going to lay down and recuperate.  I'm going back to hacking on p5 for work.
06:47 stevan :)
06:47 * stevan has to sleep soon himself
06:47 putter eep, almost 2am.
06:50 * gaal just comes in to say hi
06:50 putter Hmm...  I guess my takeaway argument is...
06:51 gaal I guess you folks are going to sleep :)
06:51 putter hi gaal.  dont mind the brain on the whiteboard.  beppu_ had a bit of difficulty.
06:51 putter rsn, yes
06:51 gaal heh.
06:52 MuadDie left perl6
06:52 gaal rhesa: "my" doesn't work yet when inlined. it's in the language, but hasn't been implemeneted in pugs yet
06:52 * putter things, hmm, but sometimes brain explosions are a _good_ thing.  like that "my brain has just be scrubbed by a brush" feeling some awesome conversations leave you with...
06:53 gaal well, many of the scoping problems in pugs currently are of the "ouch" variety of brain explosion
06:53 putter ooo, then the my.t failures can be :todo<feature>ed?  are do at least some of them have other causes..
06:54 * stevan bids all a good night
06:54 * stevan &
06:54 putter but, but, ah well.  putter will try to remember main takeaway point for later.
06:54 putter bye stevan &
06:54 gaal putter: I thought they could (and did, but svn was down)
06:54 gaal night
06:54 putter oh, right
06:55 * putter attempts to svn up, waits, waits, waits...
06:56 putter ah well.
06:56 putter re takeaway thought...
06:58 dduncan I am happy to report that, as shown in my newly uploaded smoke (normal runcore, darwin), the infinites in the test suite are gone, so it runs through to completion again
06:58 putter We are in a broad and attractive design space which with luck we will be happily exploring for years.  A... possiblities-oriented?... discussion, an implementation approach which emphasizes area rather than point solutions, and
07:00 putter a lets pull things together easily to bootstrap (area solution implies if it isnt quick and easy, we are missing some needed tools) approach... might be nicely productive.
07:01 putter Contrast with some language design situations where you have "god, if we dont manage the politics right at the March committee meeting, then feature x wont make it into Zibble06, and we'll be screwed for years".
07:03 putter While having to do a "Perl 6.0" imposes some "must get it right" pressure, it is at least plausible, given the nature of p6 and pugs, that we are better off getting it wrong, quickly, and having time to play with the language before it gets nailed to the floor as 6.0.   Though the risks of
07:05 putter that approach is we take it, but with little control over the size of our popluation, end up with a  make  senario - realizing we made mistakes (significant tabs), but having too many users (tiny relative to eventual, but sufficient...) to fix it.
07:06 putter But still, if we can't handle the complexity of the p6 design space gracefully, then that is perhaps a hint that p6 needs additional complexity handling devices. ;)
07:06 putter end of takeaway thought. :)
07:07 putter dduncan:  yay.  audreyt++ (I fuzzily recall from svnbot lines going by...)
07:09 putter stevan: note above takeaway thought :)
07:09 * putter cleans whiteboard.  turns off light.
07:09 putter good night all &
07:10 putter such a quiet time of day...
07:12 iblechbot joined perl6
07:15 putter joined perl6
07:15 putter late night postit...
07:15 putter http://m19s28.vlinux.de/iblech/stuff/pugs-smokes/pugs-smoke-6.2.10-r8764-darwin-normal--1137737346-7242--11383-9898-1485-1171-1556-0--4d262e408403933b0498811ba1c508b6.html
07:15 putter dduncan++
07:15 putter :)  iblech++ for smokeserv
07:16 putter (have to take time to appreciate the infrastructure you sometimes dont notice because it works so well:)
07:16 putter dduncan: hey, you have NaN issues too!
07:18 putter tewk: how did numbers go?
07:20 putter http://search.cpan.org/~ingy/Class-Spiffy-0.12/lib/Class/Spiffy.pm
07:22 putter any #perl6 folks from the US North East, please ping stevan or me.  NE P6 User's Group! ;)
07:24 putter beppu_++  Thank you for the conversation! :)
07:26 beppu_ putter,  You're welcome, and go back to sleep.  ;)
07:29 putter http://www.isbn.nu/toc/084932663X has a nice ToC for Advances in Object-Oriented Metalevel Architectures and Reflection...  $100! yipes.
07:29 putter :)  good night beppu_ &
07:29 beppu_ good night.
07:56 joepurl joined perl6
08:29 christo joined perl6
08:29 saper joined perl6
09:16 kane_ joined perl6
09:17 Alias_ joined perl6
09:17 Alias_ audreyt: ping?
09:18 Alias_ seen audreyt
09:18 jabbot Alias_: audreyt was seen 6 hours 31 minutes 40 seconds ago
09:31 RichiH joined perl6
09:32 RichiH this might sound like a strange question, but will perl6 support /* */ or some such to comment whole blocks?
09:33 Alias_ Perl's never really gone for those, because you can't nest them
09:33 dada joined perl6
09:33 Alias_ But if not, someone will probably write a module that modifies the current grammar so you can :)
09:34 RichiH heh
09:34 * RichiH would choose being able to run stuff on any installation over this way to do quick and dirty debugging ;)
09:35 RichiH plus, i can use visual mode and :<,>s/^/#/ and back or I. still, would be nice ;)
09:48 G2 joined perl6
09:59 azuroth merry christmas
09:59 Alias_ left perl6
10:08 dduncan a little late for that, eh?
10:20 wilx joined perl6
10:24 r0nny joined perl6
10:30 iblechbot joined perl6
10:30 beppu_ I don't like Python, but I use BitTorrent.
10:30 beppu_ I don't like Java, but I use Azureus and FreeMind.
10:31 beppu_ I *like* Perl, but there aren't any full-blown applications written in Perl that I use (aside from web sites).
10:31 beppu_ same w/ Ruby.
10:31 beppu_ (delirious ... 2:30am)
10:31 beppu_ PST
10:32 azuroth left perl6
10:34 bsb joined perl6
10:36 dduncan that should change
10:36 dduncan it WILL, if I have anything to say about it
10:41 beppu_ whois dduncan?
10:46 kane_ joined perl6
10:47 dduncan what did you want to know?
10:47 dduncan my web site is darrenduncan.net , if that helps
10:47 beppu_ I'm just being delirious.  I gotta go to sleep.  ;)
10:48 beppu_ what kinda app are you planning to make, though?
10:59 dduncan a consumer database app, which should become ubiquitous
10:59 dduncan used by almost everyone ... with a computer
11:00 dduncan its technically designed for organizing research information (including genealogy) but it is broad enough to handle nearly anything you'd use something like Filemaker Pro or MS Access for
11:01 dduncan so it does inventories and stuff too
11:01 dduncan that's all I will say for now
11:01 dduncan good night
11:16 Eric joined perl6
11:19 Eric left perl6
11:31 scw joined perl6
11:38 mjl69 joined perl6
11:50 mjl69 joined perl6
12:00 elmex joined perl6
12:05 Alias_ joined perl6
12:07 r0nny joined perl6
12:26 wilx joined perl6
13:01 KingDiamond joined perl6
13:02 penk joined perl6
13:02 ajs_ joined perl6
13:12 DesreveR joined perl6
13:12 DesreveR is now known as r0nny
13:29 Limbic_Region joined perl6
13:30 Limbic_Region long time listener, first time caller - is the repository down?
13:35 audreyt appears so. checking
13:38 * audreyt ported group_concat from mysql41 to sqlite3 today
13:40 * Limbic_Region is not a heavy enough of a db user *yet* to need to build custom tools - but cool
13:41 \xe6var joined perl6
13:42 audreyt hm svn.openfoundry.org is dropping packets heavily
13:42 * audreyt suspects router problems
13:42 clkao luckily we have offline version control
13:48 DaGo joined perl6
13:50 bsb svk++
13:56 * lypanov admits to loving svk
13:56 * lypanov switched a few daysd ago
13:56 lypanov s/sd/s/
13:56 lypanov audreyt: hehe. a coworker asked why i was "in the news"
13:56 lypanov (wrt blog)
13:57 iblechbot joined perl6
13:57 Alias_ You were in the news?
13:57 lypanov my nick is mentioned on the pugs blog
14:01 Alias_ btw, the planet Perl 6 layout is screwed
14:01 Alias_ lypanov: You are a Ruby'er?
14:03 audreyt lypanov: :D
14:04 lypanov Alias_: i use ruby yup
14:15 stevan good morning boys and girls
14:15 gaal good morning mr stevan!
14:15 stevan hey gaal
14:16 audreyt stevan: yo!
14:16 stevan audreyt: I think your "if it does Hash" thing is sane,..
14:16 stevan however, it means that bless if different from CREATE
14:16 stevan but thats okay
14:17 audreyt I think that's okay, and that's what people'd suspect.
14:17 stevan I really just want clarity,..
14:17 audreyt a Foo that does not do Hash yet can be acted-at-distance with %args
14:17 audreyt is just wrong to me
14:17 stevan agreed
14:17 audreyt (see my new p6l post)
14:17 stevan yup :)
14:18 stevan I am concerned about the idea that Hash might have been does-ed earlier in the ancestry,
14:18 Alias_ It would appear that Planet breaks every time there's a link
14:18 stevan and methods overridden in ways which are incompatible
14:19 stevan but I think that could still be managed
14:19 audreyt yup
14:20 Alias_ audreyt: There's another layer of POD/layout cleanups in Module-Install
14:20 stevan we just have to make sure to deal with it in the OO Style Guide :)
14:20 Alias_ audreyt: For whenever you want to do the next release... but update before you change anything
14:20 Alias_ audreyt: ... because I changed pretty much every single file
14:20 audreyt Alias_: woot
14:21 Alias_ We need an example for the cookbook section on doing C-based modules though
14:21 Alias_ Because I've had a couple of people ask what to do, and I don't know what to say
14:22 Alias_ All that can_cc, etc etc stuff
14:22 stevan ingy: pingy
14:22 r0nny joined perl6
14:28 kolibrie joined perl6
14:30 Khisanth joined perl6
14:42 * audreyt tries perl5.8.8rc1 out with -DPERL_DONT_CREATE_GVSV
14:42 chris2 joined perl6
14:42 Alias_ Module::Build isn't going into 5.8.8?
14:43 stevan audreyt: what does that do?
14:43 Alias_ how odd
14:44 audreyt stevan: it maintains bincompat but eliminates unused runtime scalars for each and every symbol
14:44 audreyt i.e. if you code in mostly lexical scalars
14:45 audreyt then it can save a lot of mallocs
14:45 audreyt that's one of the many Ponie-inspired refactorings
14:45 audreyt Nicholas++
14:46 Alias_ Practically meaning what? Less memory? More speed?
14:46 audreyt both
14:46 Alias_ neat, how much?
14:47 audreyt and far better ithreads cloning behaviour
14:47 audreyt I don't know, I intend to bench
14:47 Alias_ good
14:47 audreyt which is why I'm compiling it
14:47 audreyt http://search.cpan.org/~nwclark/perl-5.8.8-RC1/pod/perl588delta.pod # very impressive
14:47 Alias_ ok, this weekend I hope to have test cycles running in PITA
14:48 Alias_ Which means $you_guys might want to take some interest and look at setting up some stuff for doing your smoke testing
14:48 audreyt stevan: so, do you think we punt .bless in our boot code for now?
14:48 audreyt stevan: or do you think we should change reprs so all respond to opaque accessors (which works for me too?)
14:48 audreyt s/..$/reverse $&/e
14:49 audreyt hm, this is #perl6, so prehaps s!..$!{reverse $/}!
14:50 stevan hmmm
14:50 stevan I think we can support bless in the boot code
14:50 stevan and I dont think we need to mess with the reprs for now
14:50 stevan I think I would like to get bless and CREATE working in the way I currently envision them
14:50 audreyt okay.
14:50 stevan as seperate things unconnected to one another
14:51 audreyt yup
14:51 stevan then build List/Array/Hash/Scalar using the repr types as they are now
14:51 audreyt nod
14:51 stevan at that point I think we will have a better idea of how the reprs work
14:51 audreyt agreed
14:51 rantanplan_ joined perl6
14:51 stevan at least I hope we will ;)
14:52 audreyt also, I'm thinking about this construct
14:52 audreyt true`if_then(->{1}, ->{nil})`add(2)
14:53 stevan hmm
14:53 stevan what is that for?
14:53 audreyt it's a codegen issue
14:54 audreyt one approach is to codegen each branch into int`add and nil`add underlying instructions
14:54 audreyt and then by static analysis we know there could never be a nil`add
14:54 stevan yes
14:54 audreyt and therefore reject that code
14:54 audreyt i.e. don't give the illusion that PIL^N is somehow polymorphic -- they are just sugar
14:54 audreyt makes (some) sense?
14:55 stevan cant we just optimize out the ->{nil} becuase of the true at the start?
14:55 stevan or was that just for example :)
14:56 audreyt it's just for example ;) replace that with something less analyzable if you will :)
14:56 stevan ok
14:56 audreyt and also, eve if we optimize out, that happens after typechecking
14:56 audreyt so it should still be rejected
14:56 stevan yes, I think that makes sense,..
14:56 audreyt but there is a big loophole.
14:57 stevan PIL^N should not be a terribly sophisticated language,..
14:57 stevan what loophole?
14:57 audreyt namely, `create($foo`if_else(->{'p6opaque'},->{'nosuch'}))`get_attr
14:57 stevan hmm
14:58 audreyt basically we can only analyze `create forms that are either constant strings or things that do not depend on external input (which is, well, everything now, but that will change)
14:58 stevan maybe `create should not be able to take expressions as args?
14:58 audreyt but then you can't implement .CREATE as specced at all.
14:58 stevan is that enforcable
14:58 stevan I can, it will just be ugly
14:59 audreyt it still cannot -- there is the same external dependency
14:59 audreyt if you start to read in the repr from stdin
14:59 stevan ok
14:59 rodi joined perl6
15:00 stevan so it would end up being a runtime error?
15:00 audreyt I think. I'll sleep on it :)
15:00 stevan hmm, I am not sure I like that,..
15:00 stevan one thought for your dreams
15:01 audreyt I don't like it at all, but then, polymorphism has to sink in at some level, the question is which level
15:01 stevan would `create_<insert-repr-here>() be any safer?
15:01 audreyt it would, as it forces an explicit switch, and each branch can be analyzed explicitly
15:02 G2 joined perl6
15:02 audreyt but you still run into places where one branch fails the prim and another works
15:02 Limbic_Region any C knowledgeable people mind helping me with a completely OT problem (/msg me if willing to help)
15:02 stevan audreyt: I will have to think this over too
15:03 stevan get some sleep :)
15:03 audreyt as .CREATE is polymorphic over repr types
15:03 audreyt you cannot write .CREATE without using either return type MMD _or_ runtime polymorphism
15:04 stevan what if all reprs had the same interface?
15:04 * stevan cant easily figure out how that would work, but what if
15:04 audreyt what do I codegen then?
15:05 audreyt the key to codegen is translating $x`foo into x_type_foo
15:05 audreyt if we don't do that, we have to push the dispatch downward to VM
15:05 audreyt and indeed it's turtles all the way down
15:06 stevan I am may be going in the wrong direction here, but I have a thought
15:06 audreyt require a prefix to every prim method? if you go that way, type annotations solve the same problem but easier
15:06 stevan prefix?
15:07 audreyt 1`int_add(2)
15:07 stevan oh
15:07 stevan how very PyPy :)
15:07 audreyt my goal was always to use inference to avoid that.
15:07 audreyt which works well for all well-typed functions
15:07 audreyt i.e. currently everything but `create
15:07 stevan what if the opaque type is just a small wrapper,.. { id, cls, <thing> }
15:08 stevan and it just has a `fetch and `store
15:08 stevan maybe add a { type } to the wrapper too
15:09 stevan then if I want to do something to the <thing> I `fetch it out, do something to it, and `store it back
15:09 stevan this way CREATE will always return the same thing (a wrapper)
15:09 audreyt then the runtime errors happen at `fetch's cast level
15:09 stevan hmm
15:09 audreyt doesn't really solve the problem -- it's like Java's Array[Any]
15:09 stevan but cant you use the { type } field in the wrapper?
15:09 audreyt no, as it's a runtime information
15:09 stevan then its like Array[Hash]
15:10 stevan hmm
15:10 audreyt annotations has to sink in at some point. I'm inclining to push it up to PIL2
15:10 audreyt and PILN's typesafety is only as far as analyzable
15:10 audreyt and we codegen polymorphic opcodes to the underlying VM
15:11 audreyt since JS/P5/PIR all has polymorphic opcodes anyway
15:11 audreyt so no practical problems, at least not until 6.2813
15:12 audreyt but I've only slept 4 hours this morning so I may be incoherent/overlapping/undecidable at this moment
15:12 audreyt I guess I'll sleep on it :)
15:13 stevan ok,.. I need to have more coffee and ponder it myself :)
15:13 audreyt :)
15:13 stevan you sleep, I will wake up
15:13 audreyt and I'm glad luqui is reading vObj finally
15:13 stevan nice
15:13 stevan now we just need him to read AMOP and something on the ML module system :)
15:14 stevan they he wont have to keep reinventing them :P
15:14 audreyt oh and the constraint programming paper as well :)
15:14 * stevan still has to read that one
15:14 audreyt actually, me too -- I've only skimmed it
15:14 Alias_ Why is it every time I hang out here for more than an hour I feel really stupid
15:14 Alias_ :)
15:15 stevan Alias_: keep hanging out,.. that feeling goes away :)
15:15 Alias_ Trouble is, it might take years
15:15 Alias_ I have other things to do :)
15:15 hcarty joined perl6
15:16 * stevan thinks maybe Alias_ is not ready to shave his head for Pugs
15:16 Alias_ hell no
15:16 Alias_ I find it hard to lower myself to the language level
15:16 Alias_ Makes it much harder to build big shiny Thing
15:16 Alias_ s
15:16 stevan live in the mountains of Taiwan... eating only rice, small berries and reading PhD thesis
15:16 Alias_ yes, that might help
15:17 stevan :)
15:17 Alias_ I find I work better at up around the million line of code level though
15:17 Alias_ As in Perl + CPAN
15:17 stevan :D
15:18 Alias_ And minutes of CPU :)
15:18 stevan ok, enough fun for now... $work time :)
15:22 hexmode joined perl6
15:29 KingDiamond joined perl6
15:45 Eimi joined perl6
15:51 robkinyon joined perl6
16:03 marmic joined perl6
16:04 elmex joined perl6
16:06 EricJ joined perl6
16:26 bsb joined perl6
16:27 G2 joined perl6
16:27 sili joined perl6
16:27 sili what's $repr, in reference to what i'm seeing on the p6 lists regarding OO and &bless?
16:28 EricJ left perl6
16:28 sili and what's MOP? :)
16:31 kroh joined perl6
16:31 justatheory joined perl6
16:33 bsb http://en.wikipedia.org/wiki/Meta-object_protocol
16:40 robkinyon MOP == MetaObject Protocol
16:40 robkinyon the framework for creating OO frameworks
16:40 robkinyon $repr is what, in Perl5, would be the reference you bless
16:41 robkinyon In P5, you create an object by blessing a reference. Normally, it's a hashref, but any reference is legal
16:43 sili robkinyon: ok
16:43 sili robkinyon: this whole OO thing in p6 confuses the hell out of me
16:44 sili particularly constructors and what "makes" an object with bless...
16:44 sili it's definitely a little different than p5
16:45 robkinyon Well, it's not that P6 is different from P5. It's that P5 is different from the rest of the world
16:47 sili so do objects use hashes as storage methods, or does the storage method even matter?
16:47 robkinyon P6 is a lot closer to languages like Smalltalk, CLOS, and the like
16:47 robkinyon Unless you really really need to care, you don't care
16:47 robkinyon and, unless you know why you should really really care, you don't care
16:49 sili i see
16:49 robkinyon basically, it's a type called p6opaque. It acts kinda like a hash in some ways, but it's more like a prototype object from Self or JS
16:49 theorbtwo Mostly, as far as the implementer is concerned, the average object is based on something magic.
16:51 sili so if i had: method maker ($class, %opts) {$class.bless(%opts)} i get an object? %opts become attributes?
16:52 robkinyon well, that doesn't make much sense
16:52 sili doh
16:52 robkinyon you declare your class in P6, just like you would in C++ or Java
16:52 sili nevermind then. i'll try to write some examples and see what happens
16:52 sili right
16:52 robkinyon then, you ask the class to create you a new instance, which it does
16:53 robkinyon you can pass it %opts and, if you use the default BUILD, those will be assigned to the appropriate attributes
16:54 sili BUILD happens when i bless?
16:54 robkinyon no
16:54 robkinyon there is no bless
16:54 robkinyon the steps are:
16:54 sili so confused. i thought there was
16:54 robkinyon 1) my $fido = Dog.new( %opts );
16:54 theorbtwo There is bless still, I think, but it's a seperate mechinisim from the normal object thing.
16:55 robkinyon 2) That calls Dog.CREATE() which actually creates the new instance and marks it as coming from Dog
16:55 robkinyon 3) Then, it calls $fido.BUILD( %opts ) which does initialization
16:55 robkinyon 4) Then, your $fido is returned to you
16:55 robkinyon what you are thinking of as bless() occurs during step 2
16:56 robkinyon theorbtwo: It's a completely unnecessary and error-causing separate mechanism
16:56 robkinyon :-)
16:56 pdcawley Doesn't it call *all* the fido.BUILD methods?
16:56 pdcawley ie, BUILD isn't called in the usual 'inherited' fashion.
16:57 robkinyon and BUILDALL and the like
16:57 robkinyon i was trying to give the layman's explanation. :-)
16:57 sili robkinyon: so what would I do if I wanted to overwrite CREATE()? do I have to use the parent class' CREATE?
16:57 robkinyon no
16:57 robkinyon you set up your own Dog.CREATE()
16:57 robkinyon it's a class method
16:57 sili ok. but what does the code look like in it?
16:58 pdcawley Generally, overwriting CREATE is left as an exercise for the psychotic reader -- most of the time you should be doing BUILD
16:58 robkinyon you don't care until you need to care.
16:58 theorbtwo The default one?  Like lots of handwaving and dark magic.
16:58 sili theorbtwo: ascii art?
16:58 robkinyon sili: In P5 terms, you're asking the question of "How do the opcodes work?"
16:59 sili i see
16:59 theorbtwo More like "how do I make a hashref without using {}, or \%foo".
17:03 robkinyon much better analogy
17:03 sili is this correct: if I want to write my own constructor, i'd have method something($class, %opts){my $something = $class.CREATE(); $something.BUILD(%opts); <Extra stuff here>; $something}
17:05 theorbtwo That looks around right to me.
17:05 robkinyon something like that
17:05 robkinyon you'd pass in the alternate $repr into the CREATE() method if you want
17:06 robkinyon But, you generally don't have to override the constructor. Nearly everything you want to do should be done in BUILD as so:
17:06 robkinyon method BUILD { # Call SUPER.BUILD() ... Do stuff ...}
17:07 sili fair enough
17:07 sili so bless() is really there just to confuse the hell out of me.
17:07 robkinyon yes
17:07 robkinyon ignore bless for now
17:07 robkinyon you don't need it, you don't want it
17:10 sili thanks all.
17:12 xern joined perl6
17:12 sili i hope other p5'ers don't get confused as I did
17:13 robkinyon you mean like they are doing right now? :-/
17:14 sili we'll need special docs. "p6 for the world" and "p6 for p5ers"
17:15 robkinyon No - p5ers need to realize that p6 isn't an extension of p5, just as p5 wasn't an extension of p4
17:15 robkinyon there were so many changes between p4 and p5 that you would have thought the world was ending
17:15 robkinyon References? OO? ' isn't the package separator?? AAAAAAAAAAAAAH!
17:15 rhesa the biggest problem i have is that p6 is still changing: some docs say X, other code samples say Y, still other notes say Z, and none of them tell you what pugs actually supports
17:16 rhesa example: ?? !!
17:16 robkinyon rhesa: You mean that's different from any other application you've ever used?
17:16 robkinyon :)
17:16 rhesa yes, most of the p5 docs are pretty stable :)
17:17 xinming joined perl6
17:18 rhesa most of my questions do come from looking at it with p5 eyes, i'll admit that :)
17:19 rhesa but it's hard to find out how it really should look, especially the little things.
17:21 robkinyon we need a p6-wikipedia
17:21 rhesa another example: optional parameter to a sub: is it "?$optional" or "$optional?" ? pugs complains about the latter, but doesn't seem to support the former.
17:21 rhesa yes, that would be cool!
17:21 robkinyon pugs isn't a complete implementation
17:22 robkinyon of course, you're more than welcome to write a failing test. :-)
17:22 rhesa i understand that
17:22 robkinyon and, if your failing test is wrong according to the spe
17:22 rhesa maybe i will, sounds like a good idea :)
17:22 robkinyon c, then someone will say something
17:23 sili hopefully
17:23 robkinyon oh, they will! :-)
17:24 robkinyon audrey is very particular about passing tests ASAP
17:33 eric256 joined perl6
17:34 eric256 left perl6
17:34 stevan robkinyon, sili : re: BUILD and CREATE
17:35 stevan you should never override CREATE unless you really know what you are doing,.. you can however "wrap" it with a next METHOD call (akin to SUPER:: calls in p5)
17:35 stevan CREATE will construct the p5opaque for you
17:35 stevan so best to leave it to do its work :)
17:35 stevan and re: BUILD
17:36 audreyt ?eval sub f ($x=1) {$x+2} f(1)
17:36 stevan you should just override BUILD in your class
17:36 evalbot_8763 is now known as evalbot_8764
17:36 evalbot_8764 3
17:36 audreyt ?eval sub f ($x? = 1) {$x+2} f(1)
17:36 stevan BUILDALL will be called for you, and will call all the BUILD methods in the entire class hierarchy
17:36 evalbot_8764 3
17:36 audreyt ?eval sub f ($x?) {$x+2} f(1)
17:36 evalbot_8764 3
17:36 audreyt ?eval sub f ($x?) {$x+2} f()
17:36 evalbot_8764 2
17:36 audreyt rhesa: what's broken again? :)
17:37 rhesa audreyt: :) let me dig out the specifics
17:37 audreyt sigh. I can't fall asleep without posting a journal now :/
17:37 audreyt (which I just did.)
17:37 obra heh
17:37 audreyt habits, etc.
17:38 Cryptic_K joined perl6
17:39 stevan sili: the difference between bless and CREATE (as I see it at the moment, which means it is subject to change and/or my capacity for misunderstanding) is that bless takes a "thing" (a hash, array, whatever) and you must construct your object manually (create all your attr, etc) like in p5. Where as CREATE will build your object with all the correct attributes (including inherited ones) automatically.
17:39 stevan audreyt: I was thinking about our issue from earlier,.. I think once again CLOS might be able to save us :)
17:39 rhesa audreyt: I suppose I should blame Debian testing for shipping an old version (6.2.9, Aug 3, 2005).
17:39 robkinyon audreyt: {good habits}++
17:39 audreyt rhesa: ahh... that's prehistorical
17:39 rhesa sub f (?$x) { $x+2 } say f(1); works for me...
17:40 audreyt easily stone age :)
17:40 rhesa lol.
17:40 audreyt rhesa: yeah, the optional param syntax was changed around October
17:40 audreyt rhesa: because ?$x outside param list is boolean casting
17:40 rhesa so i should whip out my compiler then :)
17:40 rhesa $x? does read better to me
17:40 audreyt so it's quite confusing. also when a default is specified, the ? isn't needed now
17:40 stevan audreyt: if we add a more full featured attribute-meta-object to the MOP, then we could potentially have the class-meta-object use the appropriate attribute-meta-object based on the chosen repr
17:41 robkinyon if a default is specified, then it's not optional from the body's perspective
17:41 Cryptic_K joined perl6
17:41 stevan and the approriate attribute-meta-object will just DWIM to access the underlying repr
17:41 audreyt robkinyon: and if a default is unspecified for optional, then it's equivalent to default = undef
17:41 robkinyon if a default isn't specified, then the body has to manually verify that the attribute was set
17:41 robkinyon by checking definedness. :-)
17:41 stevan this will allow for widely varying repr as long as they have an accompanying attribute-meta-object
17:41 audreyt heh :)
17:41 audreyt nah.
17:41 audreyt you can't tell f(undef) from f()
17:42 audreyt with sub foo ($x?) {}
17:42 robkinyon you can't ask for the number of args that were passed?
17:42 audreyt robkinyon: not with this signature
17:42 robkinyon i think that's a hole in the spec
17:42 audreyt sub foo (\$args) { $args.size }
17:42 audreyt does work
17:43 audreyt as does
17:43 audreyt sub foo (*@args) { @args.size }
17:43 audreyt so I'm not sure it's a hole in the spec :)
17:44 audreyt (the first one captures whatwever args passed in as an object; the second one slurps them into an array)
17:44 * stevan goes off to shower, audreyt please comment on the sanity of that last rant when you are done :)
17:45 audreyt stevan: I need them in code not in english :)
17:45 audreyt (I know what attribute metaobject is from the p5 prototype of P6-ObjSpace, but how it relates to different reprs is not clear)
17:45 audreyt (also I was about to sleep. need to wake up in ~6 hours)
17:48 * audreyt waves :) &
17:48 theorbtwo Ah.  Newer pugs isn't in debian testing because it relies on newer ghc, which has serious policy violations -- it depends on xlibs-dev (instead of something more specific), and there's some sort of cabal problem.
17:52 rhesa theorbtwo: I hope they straighten that out.
17:53 theorbtwo It looks like the ghc6 maintainer is working on it, at which point pugs will go in automagically.
17:54 rhesa great.
17:58 elmex joined perl6
18:06 \xe6var policy violations?
18:07 \xe6var debian package policy?
18:22 elmex joined perl6
18:28 kuto joined perl6
18:31 elmex joined perl6
18:41 robkinyon audreyt: There is no analog to Javascripts arguments method on the subroutine object?
18:45 lisppaste3 joined perl6
18:49 Qiang joined perl6
18:51 audreyt robkinyon: no. its presence makes inlining rather difficult
18:51 audreyt as it'd require the runtime to always construct an Args object
18:51 audreyt without that requirement, we can desugar calls into much more efficient forms that does the binding directly.
18:52 audreyt you can always collect arguments yourself:
18:52 audreyt sub f (\$args) { my ($x, $y) := *$args; ... }
18:53 nnunley joined perl6
18:54 audreyt JS is rather hostile to native codegens
18:54 audreyt I'm not aware of a JS-to-C or equivalent compiler.
18:55 audreyt &
18:55 nnunley There's a JS to Java compiler, under the http://www.mozilla.org/rhino/
18:55 nnunley And there's already a java to native pathway.
18:56 vel__ joined perl6
18:58 audreyt the Rhino JSC is not a codegen; it's more like perlcc ;)
18:59 audreyt or even, perlcc -B.
19:00 audreyt robkinyon: also note .arguments is explicitly removed from ECMA standard
19:00 audreyt precisely because it defeats optimization.
19:00 audreyt see http://www.mozilla.org/rhino/opt.html for details.
19:01 audreyt (and I was wrong; there is limited interaction with Java VM codegen under JSC's higher optimization levels.)
19:02 audreyt but anyway, my point was simply that allowing general .arguments form defeats optimization. :)
19:25 stevan *sigh* sleep talking again
19:28 * nnunley raises an eyebrow.
19:28 stevan nnunley: you know who is supposed to be sleeping :P
19:28 stevan <she who cannot be named or she might wake up> :)
19:28 nnunley Ahh.  Yes.
19:29 nnunley Lock down the subversion server, and feather.
19:29 stevan :)
19:29 stevan she has svk
19:30 nnunley Yes.  Only so much you can do.
19:33 nnunley So... What how much of a difference is there between JScript.NET and JavaScript?
19:33 stevan one has a . in it :)
19:34 stevan I think JScript is full of juicy M$ enhancements
19:34 stevan like J++ was to Java
19:34 stevan basically making JScript a more featureful language for the CLR
19:34 nnunley They seem to be refering to the ECMAscript standards... And mono also has a C# based compiler pipeline.
19:36 stevan hmm, they do seem to be invested in the ECMA stuff pretty heavily
19:37 stevan so maybe it is not so proprietary
19:37 stevan if  you can't beat them... join them and overtake them :)
19:40 beppu joined perl6
20:55 robkinyon audreyt: I'll happily stand corrected. And, frankly, I don't think there's a need to differentiate f(undef) and f() when there's a $x? w/no default. I was just exploring a dusty corner.
20:56 rhesa sorry I drove you into it ;)
20:56 robkinyon LOL
20:56 robkinyon I don't need much help being driven into dusty corners or indefensible positions. Witness my screes on P6l. :-)
20:57 robkinyon Hmmm ... testing colors. :-)
20:58 rhesa it works :)
21:02 dduncan joined perl6
21:29 ezraburgh joined perl6
21:47 dduncan left perl6
21:48 ezraburgh joined perl6
21:51 Ovid joined perl6
22:02 borkened joined perl6
22:14 frederico joined perl6
22:14 RichiH left perl6
22:22 SamB joined perl6
22:35 gantrixx joined perl6
23:02 vel__ left perl6
23:20 \xe6var joined perl6
23:33 bsb left perl6
23:33 xinming
23:47 azuroth joined perl6
23:58 Khisanth joined perl6

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

Perl 6 | Reference Documentation | Rakudo