Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2005-12-19

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 r0nny has quit IRC ("sleep")
00:23 vel has joined #perl6
00:28 dduncan hmm, it seems that some update broke Test.skip() ... looking ...
00:42 trym has left "Leaving"
00:42 dduncan okay, I see that I used it wrong ... fixing ...
00:44 joepurl has joined #perl6
00:46 stevan_ has quit IRC ("Leaving")
00:46 stevan_ has joined #perl6
00:47 dduncan fixed, commit pending ... it seems that Test or the parser was just more permissive before of a bad skip() call
00:54 dduncan er, actually I think I had done this correctly
00:54 mlh dduncan: just continuing a discussion the other day .. (sorry for disappearing) ...
00:54 dduncan and Test or the parser may be in error
00:55 mlh is there a switch to treat "hello" + 3 as an error?
00:55 dduncan I don't know, and I don't recall talking with you about it
00:56 mlh ok, thanks
00:56 dduncan or maybe you were the one that tried to ?eval that ...
00:56 dduncan and I said to use a ~ instead
00:56 dduncan to produce what you probably wanted
00:57 mlh yes, that was me
00:57 dduncan but I don't think we discussed treating that as an error
00:58 dduncan in any event, I know of no such switch
00:58 mlh indeed, but i meant to but got diverted
01:00 mlh may i vote for one then :-)  -- -a switch i mean -- because, for me at least, "string" + number would always be an error.
01:03 dduncan how about "3" + 4 ... is that an error?
01:03 dduncan or how about "3hello" + 4?
01:04 dduncan now that I think about it ...
01:04 dduncan ?eval "hello" + 4
01:04 evalbot_8301 4.0
01:06 dduncan mlh, actually there is an error in Perl 5 (which Pugs doesn't seem to do yet) when you turn on warnings
01:06 dduncan it says: Argument "hello" isn't numeric in addition (+)
01:07 dduncan the program doesn't die, but you are alerted to this
01:07 dduncan ... I don't know for sure, but Perl 5's use fatal may make that die?
01:07 dduncan mlh, are you there?
01:07 wolverian that's not an error, but a warning :)
01:07 xinming has quit IRC ("I really love GNU")
01:07 dduncan yes it is, a warning
01:07 wolverian no, Fatal won't do that.
01:07 dduncan but how do I make pugs emit that warning?
01:08 wolverian larry talked about this sort of a thing on p6l in his latest post (or one of them anyway)
01:08 wolverian I doubt pugs has any warnings yet
01:08 dduncan what Larry said is that he didn't want use of undefs to be a fatal error, but rather a soft error, such as a warning provides
01:09 dduncan by default
01:09 dduncan that was his response to my "better undef handling" thread
01:09 xinming has joined #perl6
01:10 dduncan he was citing hardware input/measurements as an example for where soft warnings are good, so a plane doesn't refuse to continue flying if some components break/misbehave
01:11 dduncan I'm not sure if that's the best analogy, ...
01:11 dduncan but I've conceded to letting things stay as they are
01:11 wolverian come up with a better one :)
01:11 dduncan my problem was that the analogy didn't seem to fit with the problem I was describing
01:12 dduncan I was talking about poorly written code, not airplane controls
01:12 dduncan regardless,
01:12 dduncan I've conceded that it is fine for the undef handling to remain as it is /how perl 5 does it
01:12 dduncan meaning non-fatal
01:12 dduncan at least we HAVE the warnings
01:12 * dduncan away for dinner
01:23 mlh dduncan: thanks, and sorry again -- went out for lunch
01:35 Maddingue has quit IRC (Remote closed the connection)
01:35 mlh i think larry's justification is fine for dynamic 'continue flying' cases, but if it can be detected statically ( which i _think_ is the intention for p6) then making it fatal would be a good option
01:39 frederico has joined #perl6
01:56 avar has quit IRC (Remote closed the connection)
02:10 avar has joined #perl6
02:12 clkao bwaha, 80.58 %
02:14 petdance has joined #perl6
02:14 obra clkao++ # what was it?
02:15 clkao nothing, just increased the cpu limit for the processes
02:18 obra heh
02:18 dduncan Anyway, I noticed that some recent change to the parser or such had resulted in a "skip('foo')" being interpreted as 'foo'.skip() rather than Test.skip('foo');
02:18 obra which js backend does it use these days?
02:19 dduncan and that was a failure, since Str didn't have a skip()
02:19 clkao i use --run=jspm --perl5
02:19 clkao so it has perl5 support
02:20 dduncan while adding another, first argument (1,), caused it to work, Test.pm defines skip() as a multi-sub, and the older form should have worked
02:20 obra jspm == Javascript.pm?
02:21 clkao ya. if you want to play with it, read the readme to find the fixed JavaScript.pm from my place
02:21 clkao it actually has 80% coverage now!
02:22 obra nah. I'll crunch on my release
02:26 tcliou has joined #perl6
02:27 petdance has quit IRC ("Leaving")
02:50 avar has quit IRC ("reboot")
02:55 avar has joined #perl6
03:24 LCamel_ has quit IRC ("leaving")
03:25 azuroth has joined #perl6
03:29 vel has left
03:42 vel has joined #perl6
03:42 vel has quit IRC (Client Quit)
03:42 vel has joined #perl6
03:48 frederico has quit IRC ("...")
04:20 jabbot has joined #perl6
04:22 petdance has joined #perl6
04:37 Qiang has joined #perl6
04:51 Amnesiac has joined #perl6
05:09 drbean has quit IRC ("Leaving")
05:18 azurot1 has joined #perl6
05:27 azurot1 has quit IRC (Remote closed the connection)
05:31 LCamel has joined #perl6
05:35 Qiang has quit IRC ("z.z.z.z..z.")
05:36 azurot1 has joined #perl6
05:36 azurot1 has left
05:42 avar has quit IRC (kornbluth.freenode.net irc.freenode.net)
05:42 Southen_ has quit IRC (kornbluth.freenode.net irc.freenode.net)
05:42 mlh has quit IRC (kornbluth.freenode.net irc.freenode.net)
05:43 LCamel has quit IRC ("leaving")
05:43 avar has joined #perl6
05:43 Southen_ has joined #perl6
05:43 mlh has joined #perl6
05:43 LCamel has joined #perl6
05:47 gaal clkao: a few days(?) ago you mentioned you saw a failure when you called "use" in eval not on column 0, but I couldn't reproduce it. was it in main pugs? can you point me at a demo failure?
05:53 stevan_ audreyt: ping
05:53 azurot1 has joined #perl6
05:53 stevan_ hello gaal
05:57 gaal hey stevan_
06:05 gaal audreyt: low prio, but could you look at r8298 and say if the new case where named args have Cxt annotations is desirable, or if indeed it's now the only form in which named args can come? (If the latter, I'll remove the old form to resist cruft accruing)
06:05 gaal stevan_: WALK* :)
06:07 saorge has quit IRC (Read error: 104 (Connection reset by peer))
06:10 dduncan gaal, I can tell you that when I used the latest pugs in interactive mode and said to 'use NotExists', pugs died, rather than just displaying an error and waiting for the next input, like it does when you say '$undeclared = 3'
06:10 dduncan I would think that pugs shouldn't die
06:10 dduncan in this situation
06:11 dduncan may or may not be related to what clkao was talking about
06:11 gaal dduncan: yes, that's a bug in interactive pugs that should indeed be fixed.
06:11 gaal it isn't what he's talking about though :)
06:12 dduncan on another matter ...
06:12 dduncan if all goes well, I should have a new working relational database implemented in perl within the next week
06:12 dduncan the pugs native version may even work too
06:13 dduncan then you won't have to link in perl 5 when making your first db using apps
06:13 gaal great!
06:14 dduncan however, I should emphasize this is a fully perl native self contained solution ... it is not something that talks to 'normal' databases
06:14 dduncan that will come later
06:15 dduncan it should also help show how perl 6's new constructs make such an implementation easier than perl 5 does
06:15 dduncan I think that gather/take would help with some manual-ish implemented ops like table joins and such, for example
06:20 gaal hmmm. I don't see why this interactive use is failing so hard.
06:22 gaal audreyt: "use NoSuch" in interactive pugs fails. should Pugs.Prim.Eval's requireInc fail like op1 "die" does, with a shiftT and all that?
06:23 gaal ahhh, it isn't just in interactive mode. you can'y catch use errors in a stringy eval on the command line, either.
06:24 * gaal wonders how catchable errors at compile time should be encapsulated. and remembers he has to go to $work :(
06:24 gaal bye folks &
06:26 azurot1 has quit IRC (Remote closed the connection)
06:26 azuroth has quit IRC (Read error: 104 (Connection reset by peer))
06:30 avar "I'm reminded of the day my daughter came in, looked over my shoulder at some Perl 4 code, and said, 'What is that, swearing?" -Larry Wall
06:40 vel has left
06:42 azuroth has joined #perl6
06:43 r0nny has joined #perl6
06:55 Aankhen`` has joined #perl6
07:00 kakos` has joined #perl6
07:01 kakos has quit IRC (Nick collision from services.)
07:01 kakos` is now known as kakos
07:04 drbean has joined #perl6
07:08 GeJ has joined #perl6
07:12 GeJ greetings all
07:17 Maddingue has joined #perl6
07:29 nothingmuch has joined #perl6
07:30 lisppaste3 has quit IRC ("Want lisppaste3 in your channel? Email chandler AT unmutual.info.")
07:32 azuroth has quit IRC ("Download Gaim: http://gaim.sourceforge.net/")
07:35 Aankh|Clone has joined #perl6
07:37 azuroth has joined #perl6
07:38 DesreveR has joined #perl6
07:39 azuroth has quit IRC (Remote closed the connection)
07:41 r0nny has quit IRC (Nick collision from services.)
07:42 DesreveR is now known as r0nny
07:44 elmex has joined #perl6
07:46 dduncan has quit IRC ()
07:47 elmex has quit IRC (Client Quit)
07:57 Aankhen`` has quit IRC (Connection timed out)
08:01 Amnesiac has quit IRC ("Leaving")
08:21 petdance has quit IRC ("Leaving")
08:28 kane_ has joined #perl6
08:35 xinming has quit IRC ("I really love GNU")
08:48 xinming has joined #perl6
08:49 xinming has quit IRC (Read error: 104 (Connection reset by peer))
08:49 xinming has joined #perl6
08:50 Cryptic_K has joined #perl6
08:51 G2 has joined #perl6
08:52 Cryptic_K has quit IRC (Read error: 104 (Connection reset by peer))
09:08 araujo has quit IRC ("Programs must be written for people to read, and only incidentally for machines to execute")
09:16 nnunley has joined #perl6
09:18 lollan has joined #perl6
10:17 audreyt stevan_: r8308 should fix the instantiate_container problem -- please sanity check
10:17 svnbot6 has joined #perl6
10:21 audreyt (bbl)
10:22 clkao audreyt: got laptop?
10:22 clkao gaal: i will figure out use problem a bit later
10:31 audreyt clkao: no... gotta wait till tomorrow noon
10:31 audreyt sigh
10:32 umbop has quit IRC ("Leaving")
10:33 * kane_ waves at audreyt
10:34 clkao is taiwan turning like britian? it used to be fast!
10:34 audreyt clkao: asus's so-called "royal" club is incredibly popular
10:35 audreyt so popular that they placed cafe tables and chairs and free tea etc for people waiting to turn their laptop in
10:35 clkao ya. i went there and got things sorted immediately
10:35 clkao XD
10:35 audreyt average waiting time is 2hrs last weekend I went
10:35 audreyt kane_: hey
10:35 clkao sucks
10:35 kane_ audreyt -- got a few mins to spare?
10:35 clkao seen the use jsperl5: stuff? want to make it sane?
10:35 jabbot clkao: I havn't seen the, clkao
10:35 audreyt kane_: yes I do
10:35 audreyt clkao: sure do
10:36 kane_ audreyt -- check /msg (or did you not register? :)
10:36 gaal hey :)
10:37 kane_ ah nm, here's fine too actually
10:37 kane_ it's p6 anyway -- audreyt, did you get a chance to think about the new proposed use syntax?
10:37 audreyt kane_: I didn't get msg
10:37 audreyt but I did register already
10:37 kane_ maybe it's me... we'll keep it here :)
10:38 audreyt so, what use syntax?
10:38 kane_ the one i showed you from the S22 draft like, a few weeks ago?
10:38 audreyt I thought I expressed that I'd like to use the pkgmgr information on the site
10:38 audreyt instead of forcing people writing code to specify packages?
10:39 kane_ yeah, and then i said some stuff, and you replied and then you wanted to think about it :)
10:39 joepurl has quit IRC (Read error: 110 (Connection timed out))
10:39 audreyt ok... a few things
10:39 audreyt you assume Foo::Bar will be distributed as Foo-Bar instead of inside Foo
10:40 audreyt if it's inside Foo then one'd need to explicitly say
10:40 audreyt use Foo::Bar from Foo;
10:40 audreyt it strikes me as inconvenient... or did I understand it incorrectly?
10:40 kane_ heuristics can be applied, but essentially, yes
10:41 kane_ you could make 'use Foo::Bar' resolve as 'from Foo::Bar' and then as 'from Foo' as logical alternaties
10:41 kane_ but 'use Foo::Bar' from Zot is something one could never guess
10:42 audreyt so, in absense of pkgmgr info, I gree the fallback to Foo heuristics is okay
10:42 audreyt but we do have pkgmgr info, and it seems silly to discard it
10:42 audreyt so maybe allow an explicit form
10:42 audreyt and allow the pkgmgr to intervene if present?
10:42 kane_ well, there's a few hefty downsides by relying on the pkg manager
10:42 audreyt key here is that people often merge or split packages
10:43 kane_ like it doesn't know about homegronwn stuff, etc
10:43 audreyt but why? supposedly anything you can turn into a .jib can become a package
10:43 kane_ so that wouldn't work, also the META.info must be 100% correct or modules won't be found etc
10:43 audreyt and it should be possible to generate a .jib fromnothing but a package name and a module file
10:43 kane_ and then register it somewhere?
10:43 audreyt on your system, yes
10:43 kane_ that sounds like a lot more work
10:44 audreyt but Module::Install::all_from does exactly that
10:44 kane_ explain?
10:44 audreyt takes a .pm, figures out META.yml, writes it
10:44 audreyt so you can install it and register in local package conf
10:45 audreyt I mean, I don't think the system should stop working if pkgmgr is broken or nonexistent
10:45 kane_ but i dont see why we need all that extra work
10:45 audreyt so an explicit form to get stuff from pkg is clearly a win
10:45 audreyt but if I have a Foo-Bar that provides Foo-Util-Bar
10:45 audreyt I mean Foo::Util::Bar
10:45 kane_ according to perl naming policies, that's Evil btw ;)
10:46 audreyt mm.
10:46 audreyt it's sorta the norm though.
10:46 kane_ btw, the suggestion is to move the authority/version/etc requirements from the 'use' to the 'from' section
10:46 kane_ note that 'use Foo-(\d)-($authority)' is hard to resolve, and is actualyl something package wide, not module wide
10:46 audreyt yeah, I grok that part, that part is sane
10:47 kane_ so i feel very strongly about elminating that mpaping overhead, while leaving the package manager out of it
10:47 audreyt ok. so you make a few assumptions
10:47 kane_ and remember, in 90% of the cases, it'll do the right thing
10:47 audreyt 1. all modules in the package share the authority
10:47 kane_ by just saying 'use Foo::Bar'
10:47 audreyt 2. all modules in the package share the version of the package
10:48 audreyt 3. packages are named such that it forms the common prefix for all modules in it.
10:48 dada has joined #perl6
10:48 kane_ 1 for sure, 2 most of the time
10:48 kane_ 3 is an unspoken convention (not adhered to enough)
10:48 audreyt but if we are to ditch pkgmgr from the use line
10:48 audreyt then all(1,2,3) becomes neccessary
10:49 kane_ not necessarily
10:49 audreyt otherwise the author is forced to hardcode the package line
10:49 kane_ 1 is something i dont think can take much argument, so we'll take that as a given
10:49 audreyt why?
10:49 kane_ and the rules for resolution can be:
10:49 audreyt S11 thinks it's not a given
10:49 audreyt and thinks each class in the same file can have idfferent uahotiries
10:49 audreyt authorities
10:50 kane_ 'use Foo::Bar' to look for all Foo-Bar packages, then for Foo packages to lookfor lib/Foo/Bar.pm in them
10:50 kane_ version resolution can happen when the .pm is found
10:50 kane_ then the package version and authority become rather pointless
10:50 kane_ (re S11)
10:51 kane_ as they add nothing except that the combination should be unique
10:51 audreyt mm, that assumes the constraint that a single file can provide only one "use"
10:51 audreyt only one class, that is
10:51 audreyt (as in perl5)
10:51 kane_ yup
10:52 kane_ unless you want to compile /everything/ it's gonna be damn hard to change that
10:52 kane_ (or you have a way?)
10:52 audreyt yeah, it's the one you deemed too heavy -- namely a pkgmgr that maintains a map from strong names of classes to packages they are in.
10:52 audreyt I can argue both sides. your proposal is neat and enforces a clean state of expectations
10:53 audreyt so fits the p6 spirit in general
10:53 kane_ it's possible, but it imposes a crapload of overhead on the compiler and the perl interpreter
10:53 kane_ in KISS spirit i argue for 'from'
10:53 kane_ (and thanks :)
10:53 audreyt a pkgmgr (as adopted by .NET CLR, Sun Fortress, Haskell, etc) is much more suited to complex interdependent compiled language with static and dynamic linking semantics
10:53 kane_ s/perl interpreter/package manager/ of course
10:54 kane_ *nods*
10:54 audreyt which I suspect may become a part of perl6 as well.
10:54 kane_ we can change things though
10:54 kane_ here's a thought
10:54 audreyt we could. and they really don't clash
10:54 kane_ if you dont let the .jib code deal with this, but let it worry about putting things in the right spot, maintaining deps etc
10:54 audreyt it's complementary -- the lightweight one is always good as fallback
10:55 kane_ we can have install hooks keep caches etc that the interpreter can use
10:55 audreyt yes
10:55 kane_ and an explicit 'from' would dumb down the use statement to scan dirs
10:55 kane_ where a clever 'use' might consult a cache
10:55 audreyt yes.
10:55 kane_ that works for me.. also means we can work on the simple version, and add the complex one if need arises
10:55 audreyt so, tell me... why "from"?
10:56 audreyt why not
10:56 kane_ hmm?
10:56 kane_ didn't quite get that ;)
10:56 audreyt use Foo::Bar p6-Foo-Bar-(ANY)-(ANY);
10:56 audreyt or
10:56 kane_ so it reads like english
10:56 audreyt use Foo::BAR-p6-Foo-Bar-(ANY)-(ANY);
10:56 kane_ and it's a recognizable keyword
10:57 audreyt okay. another q
10:57 audreyt we used to have
10:57 audreyt use perl5:DBI
10:57 audreyt do you think it needs to become
10:57 audreyt use DBI from perl5;
10:57 audreyt use DBI from perl5-(ANY)-(ANY)-(ANY);
10:57 kane_ x:Y statements are fine, as long as you can clearly parse them
10:57 kane_ i think the use statement should translate internatlly to
10:57 kane_ yes, what you said
10:58 kane_ p5:DBI might just be shorthand
10:58 kane_ which is fine
10:58 audreyt use p6:Foo-Bar:1.13:cpan+kane:DBI;
10:58 kane_ they all work
10:59 kane_ as long as it's unambiguous, i dont care about the syntax
10:59 audreyt cool, I think we are clear :)
10:59 audreyt yup, just making sure it's really all part of pkg
10:59 audreyt never part of module
10:59 kane_ exactly
10:59 kane_ Foo::Bar version X still has meaning
10:59 kane_ but a different one than Foo::Bar from version X
10:59 kane_ (if you want it that way of course :)
11:00 audreyt I think per-module versioning and authority still has a meaning.
11:00 audreyt but it's okay to defer to package all the time for now
11:00 audreyt if we need a reverse index from modules to files-in-packages,we can add one later
11:00 audreyt KISS and all that.
11:00 audreyt glad we agreed :)
11:01 kane_ right.. we just get semantics here... i think we can define it as 'from: tells you where to find a file that might match your criteria, use: lets you check the file against those criteria'
11:01 audreyt so, what does it mean in a p5 context?
11:01 audreyt nodnod.
11:01 audreyt p5 context, as in multiversionning-for-perl5 as well as pugs's "use perl5:PKG:VER:AUTH:DBI;" line
11:02 kane_ we can make it strikingly similar to 'use only', but cleverer
11:02 kane_ but loading in 2 different versions of 1 pm at runtime and DTRT based on scoping is hard
11:02 kane_ if @INC is tie-able, it'll be a breeze
11:03 audreyt @INC is coderefable
11:03 kane_ not quite good enough
11:03 kane_ unshift @INC...
11:03 audreyt I think we can at least reject 2 diff versions when it arises
11:03 kane_ i fully plan to let .jib work against p5
11:03 kane_ with the 'only' like semantics of course
11:04 kane_ so you can use this PM instead of standard makefile.pl/build.pl if you wish
11:04 kane_ and training CPANPLUS to cope isn't too tricky either
11:04 audreyt you can tie inc.
11:05 kane_ right, so you can say 'use perl6::packages' and have it Just Work
11:05 avar has quit IRC (Read error: 104 (Connection reset by peer))
11:06 audreyt I think it's easier to just override CORE::require
11:06 audreyt but timtowtdi
11:06 kane_ right
11:06 kane_ that's implementation
11:06 audreyt also we really need a sane p5 yaml binding to syck
11:07 audreyt I'll talk to ingy or maybe jfdi tomorrow
11:07 kane_ anyway, thanks for the few mins of clearing things up... it's clear for me what JIB needs to do, and i think it's clear for you on the pugs end too now :)
11:07 clkao tying inc was my plan
11:07 kane_ YAML.pm is working for me right now
11:07 audreyt yup, excellent
11:07 kane_ i've not found anything pathological that broke it in JIB code
11:07 audreyt kane_: it's not roundtripping to every other yaml implementation.
11:07 audreyt pugs included
11:07 audreyt so it clearly needs to go
11:07 avar has joined #perl6
11:07 kane_ right
11:07 gaal btw is there any reason to keep p5's require "filename-in-inc" semantics (as opposed to something like use Module)?
11:08 kane_ there's one 'gotcha' in the mixe though
11:08 audreyt gaal: require "foo.ini"
11:08 kane_ let me grab the right section
11:08 kane_ audreyt: we use this now:     \[ ... ]                    # grouping
11:08 kane_ which serializes to a perlref
11:08 kane_ that's not portable to other languages
11:08 audreyt I see that
11:08 gaal audreyt: and that happens more often than require "Some/Module.pm" ? :-(
11:09 kane_ require-- # pure evil anyway
11:09 audreyt gaal: I think we just adopt a certain sane person's Module::Load
11:09 gaal I wonder if we can't make both work
11:09 audreyt for require() semantics
11:09 audreyt that sane person happens to be here, so feel free to chat :)
11:09 kane_ audreyt: if you have a suggestion for a token that serializes cross platform, i'm happy to hear about it
11:09 kane_ gaal: i'm yours when i hit the office.. i'm late as it is :)
11:09 * kane_ office &
11:10 gaal haha!
11:10 audreyt kane_: nothing from topofmyhead now...
11:10 audreyt shower, bbiab
11:15 gaal kane++ # totally sane, indeed
11:26 * audreyt decides to 1)sleep early and 2)go to asus and fetch laptop the first thing in the morning
11:27 audreyt g'nite :) &
11:27 araujo has joined #perl6
11:28 gaal night audreyt, i hope we can moose tomorrow your-afternoon my-morning
11:30 araujo Good morning.
11:33 araujo Ive got a kind of compromising question here :-)
11:34 araujo pugs will be used to bootstrap a perl6 implementation right?
11:34 dada that's the plan AFAIK
11:35 dada but I don't think that's really compromising
11:35 araujo Ok, and, when this implementation gets done, will pugs continue under development?
11:35 araujo Well, i was referring to that latest question :-)
11:35 gaal araujo: this is a while off, but it certainly may
11:36 dada oh, this last one seems a good question
11:36 dada compromising, even :-)
11:36 araujo hah, i warned you ;-)
11:37 integral pugs is just for fun,  hopefully no one will care if pugs becomes obsolete :)
11:37 * integral hopes it does
11:38 araujo I dont programm in perl, but i do in Haskell ... ive wanted to take a look at the project
11:38 gaal %implementations = ( c => { gcc => <free widely-available>, msdev => <visual-ide>, intel => <fast> }, haskell => { helium => <educational>, hugs => <interactive>, ghc => <production> ... })
11:38 araujo And one of the reasons i asked this... To know if you had any plan maintaining a perl implementation in haskell after the bootstrapping.
11:39 gaal so we can certainly have perl => { pugs => <fun experimental>, some_other => <efficient?>, ...}
11:39 integral "you" :)
11:40 araujo That's perl dialect which i don't understand, but i suppose it is a kind of hash :-)
11:40 gaal yeah
11:41 gaal [ ("perl", [("pugs", ["fun", "experimental"]), ("some_other", ["efficient"])) ]
11:41 gaal :-)
11:41 araujo :-)
11:42 gaal at some point it may certainly become "fun" to make pugs "efficient" though. :-)
11:42 araujo Nice.
11:43 dada my $pugs :fun :experimental;
11:45 avar ?eval [ ("perl", [("pugs", ["fun", "experimental"]), ("some_other", ["efficient"])) ].perl
11:45 evalbot_8301 is now known as evalbot_8307
11:45 evalbot_8307 Error:  unexpected "[" expecting program
11:46 iblechbot has joined #perl6
11:46 avar hah!
11:47 araujo So you guys are all lambda-camel? ;-)
11:47 dada ?eval hash( perl => { pugs => [<<fun experimental>>], some_other => [<<efficient>>] );
11:47 evalbot_8307 Error:  unexpected "h" expecting program
11:48 dada ?eval my %perl = ( pugs => [<<fun experimental>>], some_other => [<<efficient>>] );
11:48 evalbot_8307 {("pugs" => ["fun", "experimental"]), ("some_other" => ["efficient",])}
11:48 dada yep
11:48 dada araujo: not all. I'm just a camel
11:55 gaal and me, I'm back from a short away. beginner lambdahead.
11:56 * kane-xs pokes gaal
11:56 gaal dada: I think this should also work w/o the explicit listref:
11:56 gaal ?eval my %h = ( key => <val1 val2> )
11:56 evalbot_8307 {("key" => ("val1", "val2")),}
11:56 gaal because in p6 => is a pair constructor, and its right operand is in scalar context, etc.
11:57 gaal kane-xs: I like Module::Load! we should get its usage blessed by @Larry.
11:58 gaal the keyword can stay C<require> for all I care
12:00 kane-xs gaal: by all means.. i use it where i can.. i'ts More Sane
12:00 kane-xs and the code is trivial, as i'm sure you've seen
12:01 gaal yes
12:01 gaal no reason not to implement it in the parser.
12:02 kane-xs sounds like a fun haskell excersize
12:02 * kane-xs blesses gaal
12:04 gaal ruleRequireDecl = do { symbol "require" ; module <- choice [ ruleVarName, ruleUsePackage ] ..... }
12:04 gaal kane-xs: go for it :)
12:04 kane-xs no no, i already pushed the monkey onto YOUR shoulder :)
12:05 gaal okay, in that case you do the p6-l work. :)
12:05 * kane-xs is doing the p6 package manager work
12:05 kane-xs EFULLOFMONKEYS :)
12:08 gaal okay okay, tonight when i get back from $work :)
12:09 gaal oh, there already is a ruleRequireDeclaration
12:09 gaal this is indeed very simple to do.
12:09 kane-xs gaal++ # porting man
12:10 gaal kane-xs++ # porting perldoc # ha
12:12 kane-xs i'll take the free karma :)
12:35 joao has joined #perl6
12:39 trym has joined #perl6
12:58 bsb has joined #perl6
13:02 avar has quit IRC (Read error: 104 (Connection reset by peer))
13:03 avar has joined #perl6
13:04 gaal kane-xs: your input on the module load thread is welcome.
13:18 r0nny re
13:22 kolibrie has joined #perl6
13:25 kioto has joined #perl6
13:26 kioto hi all
13:29 kioto what is the state of perl6 ?
13:30 avar pre-super-alpha-the-spec-isn't-even-finished-yet
13:41 xinming audreyt: ping
14:01 rafl has quit IRC (kornbluth.freenode.net irc.freenode.net)
14:18 gaal hmmm, require perl5:DBI should be made to work just as use perl5:DBI works no? So ruleRequireDeclaration should be refactored away
14:20 lisppaste3 has joined #perl6
14:25 gaal rulePerlVersion now assumes stringy, lexical comparison of version numbers. Is this correct?
14:27 gaal should "require v6" (as opposed to "use v6") work?
14:31 kioto has quit IRC ()
14:35 nothingmuch has quit IRC (Read error: 110 (Connection timed out))
14:41 hexmode has joined #perl6
14:45 cognominal has quit IRC (Read error: 104 (Connection reset by peer))
14:46 avar muff
14:47 avar pugs has no printf() ?
14:47 cognominal has joined #perl6
14:47 gaal fumm
14:47 gaal avar: hmm. there's a sprintf.
14:48 gaal don't know why not a printf too.
14:49 avar pugs -e 'sprintf "%100000000000000", 1'
14:51 gaal ouch :)
14:56 trym someone needs to make mod_perl6 ;)
14:57 xinming trym: mod_parrot is enough
14:58 trym ooh.. didnt know it existed
14:58 xinming trym: It's a project which is already started
14:58 gaal avar: the problem is in the underlying haskell implementation.
15:01 lollan has quit IRC ("Taris Script BETA 1: #bakuretsu-anime on Rizon")
15:01 trym xinming: sweet. how far along is it?
15:08 wilx has quit IRC (Read error: 104 (Connection reset by peer))
15:13 wilx has joined #perl6
15:18 kane-xs gaal: i'm not on a mailing list for pugs -- if you got a link or so i'm hapy to reply
15:18 joepurl has joined #perl6
15:18 wilx has quit IRC (Remote closed the connection)
15:25 wilx has joined #perl6
15:26 gaal kane-xs: http://www.nntp.perl.org/gro​up/perl.perl6.language/24337
15:27 kane-xs gaal: sane post.. i'll try and keep an eye on the thread :)
15:30 Eimi has joined #perl6
15:30 lisppaste3 has quit IRC ("Want lisppaste3 in your channel? Email chandler AT unmutual.info.")
15:30 lisppaste3 has joined #perl6
15:31 Amnesiac has joined #perl6
15:37 stevan_ audreyt++ # nice solution to the attribute issue :)
15:38 * stevan_ removes it from the TODO list :)
15:40 stevan_ is now known as stevan
15:41 * stevan is actually liking the mini-lang very much,.. who needs p6 ;)
15:42 clkao lol
15:43 stevan I am starting to think that assignment, looping and anything other than function calls are *highly* overrated
15:45 rafl has joined #perl6
15:45 pdcawley The mini-lang?
15:45 stevan pdcawley: yes, it is part of the new Object Space core design
15:45 * gaal passes stevan a λ
15:45 * pdcawley really should take a look at the object space stuff...
15:45 pdcawley How 'hooky' is it?
15:46 * stevan λ.(gaal)
15:46 clkao http://home.clkao.org/~clkao/tmp/
15:46 stevan hooky?
15:46 clkao test-good and bad-pil
15:46 pdcawley Well, one of the things I like about ruby is it's abundance of callback hooks for various things in the object model.
15:47 clkao the only difference is the first line being empty.
15:47 dada has quit IRC ("-... -.-- .")
15:47 pdcawley Callbacks  on the parent class whenever it's subclasses, on mixins whenever they're mixed in anywhere, on classes whenever they have modules mixed in...
15:47 stevan pdcawley: yup, p6 will have this (if I get my way that is ;)
15:47 pdcawley Good oh.
15:47 clkao then the variable gets into different namespace!
15:47 stevan pdcawley: the idea is to have a core set of runtime types,.. the smallest set we can manage
15:47 clkao test.pl in the same directory.
15:48 stevan then audreyt wrote a mini-language to manipulate those types
15:48 stevan we are then building the metamodel with the mini-lang
15:48 pdcawley The various container types and basic object, class, metaclass?
15:48 clkao gaal: any idea?
15:48 stevan nope
15:48 stevan pdcawley: lower level than that
15:48 pdcawley Okay.
15:48 stevan we make those things with the mini-language
15:49 gaal clkao: how are you invoking this, exactly?
15:49 pdcawley stevan: And then, presumably, only to the point that you can start implementing extra behaviour in Perl 6 itself?
15:49 stevan pdcawley: this is somewhat old, but it shows the basic structure/layers http://svn.openfoundry.org/pugs/perl5/​Perl6-MetaModel/docs/Object_Space.jpg
15:50 stevan pdcawley: yes, pretty much
15:50 trym has quit IRC ("Leaving")
15:50 stevan although the mini-lang is exclusively within the runtime,.. and not exposed to the user-land yet
15:50 stevan but I have thoughts on bridging that gap
15:51 pdcawley It's definitely worth taking a look at Squeak here...
15:51 stevan yes, I have been :)
15:51 pdcawley Heh.
15:51 stevan smalltalk & CLOS are my two favorite object models :)
15:51 pdcawley I've never managed to wrap my head around CLOS, mostly because I've never really tried.
15:51 stevan and I intend to shoehorn as much of both into P6 before I am done :)
15:52 stevan pdcawley: I suggest the book "The Art of the MetaObject Protocol",.. it is execllent,.. even if you never end up programming in LISP
15:52 araujo Smalltalk rul3z
15:52 araujo :-]
15:52 pdcawley It would probably be interesting to take a look at what the smalltalk VM provides; I don't have the book to hand though.
15:52 stevan there is a copy of the blue book online,.. I have the brown one right here next to me
15:53 stevan http://users.ipa.net/~dwighth/small​talk/bluebook/bluebook_imp_toc.html
15:53 pdcawley As you are possibly aware if you read my blog, I've been doing most of my programming in Ruby, which is a jolly nice language and all, but I'm feeling the gravitational pull of Smalltalk more and more...
15:53 stevan pdcawley: we are thinking of moving to ruby at $work as well ... at least until p6 is done :)
15:54 pdcawley Indeed. It's a much cleaner (and, importantly, concise) OO language than Perl 5, but I find it rather lacking compared to what I know is coming in Perl 6.
15:54 clkao gaal: ./pugs -Iext/Test/lib -CPIL
15:54 clkao /tmp/test.pl
15:55 pdcawley Dammit, I *like* the autovivification magic that Sigils give me.
15:55 clkao compare the output for the /tmp/test.pl with and without the first blank line
15:55 stevan pdcawley: p6 is much more multi-paradigm-ish,.. and it has MI and MMD :)
15:55 gaal clkao: ahh, okay.. because with with normal pugs it did work. ok, looking.
15:55 clkao because foo gets declared into Test:: namespace in jsbackend
15:55 pdcawley I'm less than convinced of the desireability of MI in the face of Roles. But MMD doesn't suck.
15:56 clkao iblech suspected it's pil bug
15:56 araujo I also like pretty much Smalltalk , now you talk aboit OO, will p6 implement OOP?
15:56 clkao er, buggy pil
15:56 stevan pdcawley: quite true, however, with C3 MRO,.,. MI becomes much more sane
15:56 stevan araujo: p6 will be all OO
15:56 * pdcawley grins, "I have objects, I have first class functions/closures and I have continuations. If I need anything else I can roll my own paradigm"
15:56 araujo stevan, Interesting.
15:57 stevan araujo: just about everything you touch in p6 will, on some level, be an object
15:57 stevan pdcawley: quite true :)
15:57 araujo stevan, something like... ruby?
15:57 stevan araujo: ruby++ if you will ;)
15:57 araujo I mean, at the conceptual level....
15:57 araujo Cool.
15:57 pdcawley araujo: Yeah, but with a more perlish feel to it
15:57 araujo stevan, I used (use sometimes) programm in Smalltalk
15:58 araujo Best OO language ive ever found out there
15:58 araujo Though.. there doesn't exist a serious and well-integrated implementation for unix-like system :-(
15:58 araujo Something very bad.
15:58 stevan araujo: I have never programmed in it much myself, I tend to sit back and appreciate it like the great work of art it is :)
15:58 araujo *free software* i meant.
15:59 araujo It is.
15:59 stevan araujo: Squeak?
15:59 * pdcawley points out that Squeak used just to have blocks that weren't closures and objects but it was implemented in itself, so someone managed to implement first class continuations in it by monkeying with the way the interpreter handled its control stack.
15:59 araujo I tried several times to look at ruby.. but i don't know... i didn't find my way around it.
15:59 araujo stevan, you mean the implementation available?
16:00 pdcawley araujo: I found that if I think of it as 'perl with better objects' I tend to fall off it slightly, but if I think of it as 'watered down smalltalk' I get along with it much better.
16:00 stevan araujo: is there no Squeak implementation for your platform of choice?
16:00 araujo yes, Squeak is good, but it doesn't fit into unix :-(
16:00 stevan pdcawley: that is a good way to look at it actually :)
16:00 araujo One of the biggest advantages and, (ironically) disa-advanatages of Smalltalk, is the fact that it is a whole OS. Or at least it tries to emulate it.
16:01 araujo pdcawley, really?, that sounds nice.
16:01 pdcawley Yeah, you can't easily write the kind of glue you write in Perl/Ruby in Squeak.
16:01 pdcawley araujo: The ruby way is heavy on blocks and stuff.
16:01 araujo yeah :-(
16:01 pdcawley But less good on things like the smalltalk Collection suite.
16:01 araujo To develop in Squeak, means not going out from Squek.
16:02 araujo Pretty much the same for most of the ST implementations.
16:02 araujo pdcawley, I agree.
16:02 pdcawley You're pretty much limited to  Array/Hash/Set <=> OrderedCollection/Dictionary/Set
16:02 araujo the collectors are very weak in ruby compared to ST.
16:02 pdcawley *everyone*'s collections are very weak compared to Smalltalks.
16:03 stevan pdcawley: AMEN to that !
16:03 araujo hah
16:04 * pdcawley notes that the new Perl 6 signatures mean it's going to be easier to write code that looks like smalltalk method selectors...
16:04 pdcawley Which is nice.
16:04 stevan yes, quite true
16:04 * stevan was always jealous of that
16:04 pdcawley $thing.at(1, :put<bar>)
16:05 araujo pdcawley, really?
16:05 araujo oh
16:05 araujo $thin is an object?
16:05 pdcawley Yeah.
16:05 araujo Interesting :-)
16:05 * araujo didn't expect perl6 was taking this way
16:05 pdcawley You can now specify internal and external names for arguments.
16:06 stevan the method would look something like this: method at (Int $index, +$put) { ... }
16:06 pdcawley So internally you use your handy dandy type suggesting argument name, but you give it a meaningful name for the client context too.
16:06 stevan although my named arg syntax might be a little behind
16:06 araujo Im not involved with perl at all... i used it for some scripots yeras ago, but that was all. I programm in haskell, and now ive found interesting the project because of it, now i see that perl has changed very much in this new version.
16:06 pdcawley Stevan: You can also do (syntax rusty): method at (Int $index, :put<$an_object>)
16:07 pdcawley If memory serves.
16:07 stevan pdcawley: your the summarizer,.. I just skim p6l mostly these days
16:07 pdcawley What blows my mind about the changes is how much of the language is unchanged, just with all sorts of extras if you want them.
16:08 pdcawley There's going to be an awful lot of p5 scripts that come over with only cosmetic changes.
16:08 araujo I see.
16:08 pdcawley But idiomatic Perl 6 will probably look very different from current idiomatic Perl 5.
16:08 gaal clkao: this also happens with -CPugs
16:08 gaal still don't know why it happens though.
16:09 araujo Well, the language specification is still being designed right?
16:09 pdcawley Yes, sort of.
16:09 pdcawley An awful lot's been nailed down and at the 'dotting is and crossing ts' stage of the game.
16:10 pdcawley Other stuff is still up for grabs.
16:10 araujo i see
16:10 pdcawley I don't think we'll be seeing any big syntactic changes between now and Perl 6.0.0, but stranger things have happened.
16:11 pdcawley The promised macro system means that if anyone wants big syntactic changes they can have 'em, they just have to implement them first :)
16:11 araujo hah
16:12 * stevan chears for LISP style macros
16:12 araujo a macro system, à la lisp?
16:12 stevan araujo: that is currently the plan
16:12 araujo that'd be nice.
16:12 stevan very :)
16:12 pdcawley Well, the entire Perl 6 grammar's going to be available as a set of rules.
16:13 pdcawley So you define a macro by adding/overriding rules in the Perl 6 grammar.
16:13 pdcawley Or, if you feel like it, you can replace the Perl 6 grammar with something else entirely.
16:14 stevan clisp.p6grammer ;)
16:14 pdcawley use Compiler 'Scheme' :{(def ...)}
16:14 pdcawley Ferinstance.
16:14 pdcawley Actually, more like:
16:14 araujo pdcawley, that's cool.
16:14 pdcawley use Inline 'Scheme'
16:15 pdcawley sub foo (...) { ... }
16:15 araujo So i suppose you could re-define things like operators, clauses etc?
16:15 pdcawley scheme (...)
16:15 pdcawley Whatever you like.
16:15 pdcawley As Larry says "All's fair if you predeclare"
16:16 clkao gaal: but how come it works properly :p
16:26 gaal clkao: the outputs for -CPugs are very different! I have no idea what's causing this :-(
16:36 clkao subName = "&Test::foo"
16:39 Southen has joined #perl6
16:39 gaal yes, i mean what in the parser might trigger these different interpretations
16:50 trym has joined #perl6
16:52 elmex has joined #perl6
16:57 Southen_ has quit IRC (Connection timed out)
17:04 petdance has joined #perl6
17:04 petdance has quit IRC (Remote closed the connection)
17:28 Qiang has joined #perl6
17:31 qwr has joined #perl6
17:34 bsb has quit IRC (Remote closed the connection)
17:44 wilx has quit IRC (Remote closed the connection)
17:49 lisppaste3 has quit IRC (Remote closed the connection)
18:06 nnunley has quit IRC (Read error: 110 (Connection timed out))
18:07 G2 has quit IRC (Success)
18:07 lisppaste3 has joined #perl6
18:32 trym has quit IRC ("Leaving")
18:40 Aankh|Clone has quit IRC ("Sleep [Time wasted online: 11hrs 5mins 12secs]")
18:46 hlen has quit IRC (Connection timed out)
19:11 nothingmuch has joined #perl6
19:13 dduncan has joined #perl6
19:16 geoffb has quit IRC (Remote closed the connection)
19:19 Amnesiac has quit IRC ("Leaving")
19:23 geoffb has joined #perl6
19:25 stevan audreyt: ping
19:45 buu Did anyone fix the svnbot?
20:02 hlen has joined #perl6
20:22 DaGo has joined #perl6
20:22 Southen has quit IRC (kornbluth.freenode.net irc.freenode.net)
20:22 avar has quit IRC (kornbluth.freenode.net irc.freenode.net)
20:22 mlh has quit IRC (kornbluth.freenode.net irc.freenode.net)
20:22 svnbot6 r8308 | stevan++ | PIL/Native/Bootstrap.pil
20:22 svnbot6 r8308 | stevan++ | - setting the attributes correctly based on audreyt++ solution to
20:22 svnbot6 r8308 | stevan++ |   the instantiate container issue ...
20:22 svnbot6 r8308 | stevan++ | - some misc. comments
20:23 Southen has joined #perl6
20:23 avar has joined #perl6
20:23 mlh has joined #perl6
20:29 justatheory has joined #perl6
20:30 wilx has joined #perl6
20:32 G2 has joined #perl6
20:36 DaGo has quit IRC ()
20:37 kakos is now known as kakos|away
20:41 Eimi has quit IRC ("Leaving")
20:46 joao has quit IRC ("gtg.")
20:47 ImustDIE has quit IRC (Read error: 110 (Connection timed out))
20:50 Eimi has joined #perl6
21:21 vel_ has joined #perl6
21:25 vel_ has quit IRC ("Trillian (http://www.ceruleanstudios.com")
21:26 vel_ has joined #perl6
21:37 vel_ has left
21:39 vel_ has joined #perl6
21:53 vel_ has quit IRC ("Trillian (http://www.ceruleanstudios.com")
21:54 vel_ has joined #perl6
21:56 stevan_ has joined #perl6
22:09 elmex has quit IRC ("gn8")
22:14 stevan has quit IRC (Read error: 110 (Connection timed out))
22:15 tewk has quit IRC (Remote closed the connection)
22:16 sri has quit IRC (Nick collision from services.)
22:16 sri_ has joined #perl6
22:18 vel_ has quit IRC ("Trillian (http://www.ceruleanstudios.com")
22:19 justatheory has quit IRC ()
22:23 kolibrie has quit IRC ("leaving")
22:35 r0nny has quit IRC ("sleep")
22:37 oylenshpeegul has joined #perl6
22:40 iblechbot has quit IRC (Connection timed out)
22:47 kane_ has quit IRC ()
22:59 hexmode has quit IRC (Remote closed the connection)
23:02 svnbot6 r8309 | stevan++ | PIL/Native/Bootstrap.pil
23:02 svnbot6 r8309 | stevan++ | - simplified CREATE using -> {}.do_for()
23:02 svnbot6 r8309 | stevan++ |     - added a &WALKCLASS based version of CREATE for
23:02 svnbot6 r8309 | stevan++ |       when the dispatcher is working correctly
23:02 svnbot6 r8309 | stevan++ | - converted BUILDALL to use -> {}.do_for() as well
23:02 svnbot6 r8309 | stevan++ |     - commented out the &WALKMETH version for now
23:02 svnbot6 r8309 | stevan++ | - cleaned up some of the Bootstrapping code
23:02 svnbot6 r8309 | stevan++ | - added SEE ALSO section in the POD to point to the
23:02 svnbot6 r8309 | stevan++ |   p5 prototypes of the MetaModel and ObjectSpace
23:03 svnbot6 r8309 | stevan++ | t/pil/metamodel.t
23:03 svnbot6 r8309 | stevan++ | - adding some tests for creating new classes, and then
23:03 svnbot6 r8309 | stevan++ |   creating instances of that class. This tests the new
23:03 svnbot6 r8309 | stevan++ |   BUILDALL/BUILD functionality
23:03 stevan_ is now known as stevan
23:04 * stevan is a karma whore ;)
23:04 stevan audreyt: I would like to discuss the dispatcher with you when you return
23:04 * stevan off to dinner (be back in ~2 hours) &
23:07 obra seen audreyt
23:07 jabbot obra: audreyt was seen 11 hours 40 minutes 47 seconds ago
23:09 Juerd audreyt: Is your journal no longer maintained?
23:09 Juerd Or am I looking in the wrong place?
23:15 joepurl has quit IRC (Read error: 110 (Connection timed out))
23:17 Eimi has quit IRC ("Leaving")
23:23 justatheory has joined #perl6
23:25 justatheory has quit IRC (Client Quit)
23:29 G2 has quit IRC ("oops")
23:30 lisppaste3 has quit IRC ("Want lisppaste3 in your channel? Email chandler AT unmutual.info.")
23:30 lisppaste3 has joined #perl6
23:31 Cryptic_K has joined #perl6
23:55 halobA has joined #perl6

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

Perl 6 | Reference Documentation | Rakudo