Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-02-03

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:00 putter ?eval 3
00:00 evalbot_8939 is now known as evalbot_8945
00:00 evalbot_8945 3
00:00 putter ?eval "a" ~~ /a/
00:00 evalbot_8945 Error: cannot cast from VUndef to Pugs.AST.Internals.VCode (VCode)
00:01 putter "a" ~~ rx:p5/a/
00:01 putter ?eval "a" ~~ rx:p5/a/
00:01 rafl putter++
00:01 evalbot_8945 pugs: *** cannot cast from VUndef to Handle (VHandle)     at <prelude> line 200, column 24-45        <prelude> line 224, column 13-25        <prelude> line 278, column 5-55        <prelude> line 62, column 30-59
00:20 mtk00 joined perl6
00:22 wilx joined perl6
00:24 putter stevan: err, how can t/pil/containers be failing when t/pil/metamodel is succeeding if the only thing going into containers is stuff needed to bootstrap the metamodel?  what am i missing?
01:04 knewt_ joined perl6
01:05 knewt_ is now known as knewt
01:08 svnbot6 r8946 | putter++ | misc/Grammars/Perl6.pm and Perl6.t:  renamed rules <ident> and <name>, which were failing to override similarly named PGE rules.
01:08 svnbot6 r8946 | putter++ | Perl6.t now passes!  Time for someone to restart development of this perl6 Grammar for perl6.
01:09 stevan_ joined perl6
01:17 Shachaf joined perl6
01:22 putter qtplatypus: re "More work on self hosting grammar.  However this will go on hold untill PGE is more mature.", it is, it is! :)
01:22 svnbot6 r8947 | putter++ | Perl6 grammar moved to new ext/Perl6-Grammar/.
01:22 svnbot6 r8947 | putter++ | qtplatypus++ Aankhen++
01:22 putter qtplatypus++
01:57 buu How the hell do you make the evalbot join things?
01:57 buu evalbot_8945: ?join #perl
01:57 buu Garh.
01:58 buu ?join #perl
01:58 evalbot_8945 is now known as evalbot_8947
01:58 evalbot_8947 you should only do ?join in a private message so other bots don't accidentally come.
01:58 buu I DID FUCKING PRIVATE MESSAGE YOU, GODDAMN DUMB ASS BOT.
02:00 buu ?eval 1
02:00 evalbot_8947 1
02:03 Daveman haha
02:06 Debolaz joined perl6
02:16 putter joined perl6
02:19 buu irssi's nickcomplete was fucking up
02:19 buu It managed to nick complete for users that didn't exist.
02:19 Daveman awesome
02:22 putter buu: all I did was  /msg  evalbot_8947 ?j o i n #mumble
02:22 buu Yeah, I figured that out, thanks.
02:22 buu Irssi was screwing it.
02:23 putter k
02:23 buu I wonder if svnbot6 got fixed.
02:24 putter Commit something and see :)
02:24 buu I have no commit l33tness.
02:25 buu Oh well, we'll find out when it starts spamming #perl
02:26 Cryptic_K joined perl6
02:26 Alias_ joined perl6
02:26 Alias_ Who was I supposed to talk to about 6PAN again?
02:26 * Alias_ just took a look at the new 6PAN code in the release and was a little shocked :)
02:27 buu So much for feather
02:27 soam joined perl6
02:27 buu Alias_: What was shocking about it?
02:27 Alias_ First, that any code existed yet at all :)
02:28 buu Heh
02:28 Alias_ When the design hadn't even really been finalised I though
02:28 Alias_ thought
02:28 svnbot6 joined perl6
02:29 evalbot_8947 joined perl6
02:29 Alias_ Second that the index system appears very crube and it's based on YAML if I read it right
02:29 Alias_ I wanted to find out if that's just shim code or meant to be the basis of something more serious
02:29 rafl Alias_: Hello
02:29 Alias_ hi!
02:29 rafl Alias_: You had some ideas about the sixpan repo layout?
02:30 Alias_ And various other bits
02:30 Alias_ Since I've been using JSAN to test out ideas I had for CPAN/6PAN concepts
02:30 rafl I'd be happy about a mail from you to [email@hidden.address]
02:31 rafl I'm just too tired to discuss that now.
02:31 Alias_ Is this YAML code I see just something to get started ?
02:31 Alias_ sure, I have to run anyway
02:31 Alias_ Gotta get the car home
02:31 Alias_ Just wanted to see if we could set up a time for later
02:31 Alias_ Find out when you'd be around
02:32 rafl I'll be around tomorrow from 4 or 5pm CET.
02:32 Alias_ err... what's that in GMT?
02:33 Alias_ or a city name
02:33 rhesa 3 to 4 pm GMT
02:33 Alias_ oooh... Central European Time?
02:33 rafl Right. GMT+1 currently.
02:33 Alias_ ok
02:34 Alias_ Had NFI what it was for a minute there
02:34 Alias_ hmm... that's 2-3am here
02:34 Alias_ erk
02:34 Alias_ ok
02:35 rafl Well. We can also meet later.
02:35 Alias_ no, that should be fine
02:35 rafl 10pm to 2 am CET is also fine with me.
02:35 Alias_ I don't have much of a body clock left, and there's time for me to sleep beforehand
02:35 rafl However you like. I'll be there.
02:36 Alias_ 4-5 CET is fine
02:36 rafl Great.
02:38 Alias_ gotta run, see you then
02:38 rafl Bye
03:07 stevan joined perl6
03:22 SamB joined perl6
04:13 Amnesiac joined perl6
04:24 soam left perl6
04:36 kanru joined perl6
05:06 offby1 is now known as peanut_gallery
05:07 peanut_gallery is now known as offby1
05:24 rantanplan_ joined perl6
05:44 Amnesiac joined perl6
05:45 r0nny joined perl6
06:17 * Alias_ ponders Test::Forkable
06:19 * stennie ponders Test::Spoonable
06:19 Alias_ eep
06:21 SamB Test::Sporkable!
06:21 * Alias_ shudders
06:22 dduncan spoooooooonnnnn!
06:23 Alias_ I guess the first step would be to merge two groups of TAP output togethetr
06:24 Alias_ And after that, add some ways to trigger off other processes that will write specific files
06:24 Alias_ And at the end of the main test, grab the files they wrote and tack it onto the end of your test output
06:24 Alias_ Which is more Test::Parallel than Test::Forkable, because forking is one specific case
06:47 kanru joined perl6
06:52 Alias_ A multiplexer is something that merges a whole bunch of seperate things and presents them as a single thing right?
06:57 dduncan more or less, yes
06:58 dduncan an example is a large scale search engine
06:58 Alias_ So Test::Multiplexer would be something that let you spin off processes or scripts in other languages or whatever, and then collect up all the bits of test output from all of them and present it as a single test script. Sound correct?
06:58 dduncan I would say so
06:58 dduncan a multiplexer is like taking multiple things and treating them like a single thing
06:58 Alias_ So you could test the interaction between a client and server, with the output for BOTH coming out of the same file
06:58 Alias_ yeah, right
06:58 Alias_ I think Test::Multiplexer is the best name for this thing
06:58 Alias_ thanks
06:59 dduncan for example, say you have a database that a million people are using at once, and no one piece of hardware can handle that
06:59 dduncan you could have copies of it on many computers
06:59 Alias_ right
06:59 Alias_ presented through a round-robin or something
06:59 dduncan when someone wants to read, their request is dispatched to one
06:59 dduncan when someone wants to write, their write is sent to all of them
06:59 Alias_ I was thinking about the CPAN FTP Multiplexer
07:00 dduncan cpan has a hundred mirror sites
07:00 wolverian http://video.google.com/videoplay?docid=7521044027821122670 this is just too funny. and sad.
07:00 dduncan you could treat the set like one; it doesn't matter which server you talk to, and some smart front-end software could hide the multiplicity
07:00 dduncan alternately
07:00 Alias_ dduncan: It does
07:00 dduncan sort of as you said ...
07:01 dduncan each member of a group doesn't have to be the same; they can be complimentary
07:01 dduncan you could, say have half of a database on one, and half on another
07:01 dduncan you send a request, and it pulls leads from both and combines them
07:01 Alias_ You know what I really need? I want the clipboard between my desktop (this computer) (which doesn't have sound) to be shared with my laptop (which I play music on)
07:01 dduncan from your point of view, its just one single larger thing
07:01 Alias_ dduncan: Yep. Cool. Test::Multiplexer is in production
07:02 dduncan fyi, there's also a piece of hardware called a multiplexer for signal processing
07:02 dduncan maybe look that up
07:02 dduncan that could be where the term originalted, and it was applied to software later
07:02 Alias_ yeah, I had though that "multiplexer" was a generic enough term to be manipulated into the Test::Multiplexer usage
07:03 dduncan yes
07:03 Alias_ IT started in hardware, and got adopted by enough other places, that I could too
07:27 geoffb joined perl6
07:33 Alias_ hoya
07:33 evalbot_8947 joined perl6
07:33 svnbot6 joined perl6
07:33 Khisanth joined perl6
07:33 binary42 joined perl6
07:33 revdiablo joined perl6
07:33 PerlJam joined perl6
07:33 broquaint joined perl6
07:33 p5evalbot joined perl6
07:33 f0rth joined perl6
07:33 leo_ joined perl6
07:33 webmind joined perl6
07:33 wolverian joined perl6
07:33 audreyt joined perl6
07:33 phydoxx joined perl6
07:33 merlyn joined perl6
07:33 Odin- joined perl6
07:33 saper joined perl6
07:33 chihchun joined perl6
07:33 qmole joined perl6
07:33 tcliou joined perl6
07:33 scw joined perl6
07:33 rhesa joined perl6
07:33 locksy joined perl6
07:33 masak joined perl6
07:33 rep joined perl6
07:33 jabbot joined perl6
07:40 Aankhen`` joined perl6
07:45 clkao summon audreyt
07:49 Alias_ audreyt appears before in a bright flash and a huge cloud of smoke. She utters a girlish giggle at the pretentiousness of it all
07:54 DesreveR joined perl6
07:56 kane_ joined perl6
08:09 nothingmuch joined perl6
09:27 lypanov dduncan: thanks for the summary yesterday!
09:27 dduncan ah, boing boing
09:27 dduncan you're welcome
09:27 lypanov dduncan: sorry about lack of reply, was stolen by $job :P
09:28 dduncan assuming it was you I was talking to about my database stuff, you should look on various Perl mailing lists now where I posted today
09:29 dduncan more good stuff there ... and a CPAN release
09:29 * lypanov grins
09:29 lypanov yeah. it was db stuff
09:29 lypanov thanks :) shall do :)
09:29 dduncan the email contains a lot of info that isn't yet on cpan
09:29 lypanov and yeah, i'm the moron on lypanov.net
09:29 dduncan right now I'm trying to contact Chris Date and Fabian Pascal for the first time, to tell them about my project and suggest they speak or do tutorials at OSCON 2006
09:30 dduncan re the latter, deadline for proposals is less than 2 weeks away
09:30 * lypanov wishes you/them luck
09:30 dduncan I may even propose a talk on Rosetta (45 minute variety)
09:30 dduncan but I'm going to work on beefing up what's coded or on cpan first
09:31 Alias_ And have a backend?
09:31 dduncan that would be nice, yes
09:31 * Alias_ is still hoping to see how it works in practice
09:31 dduncan what I have to do breaks down to this:
09:31 Alias_ (having an interest in this area)
09:31 dduncan 1. Finish reading "Database in Depth"
09:31 lypanov dduncan: which ml's? i'm on none and am not sure where to begin
09:31 dduncan 2. flesh out or rewrite Language.pod
09:32 dduncan 3. put some more basic code in Rosetta.pm and Model.pm
09:32 dduncan 3. write a basic Native.pm
09:32 dduncan which mls: dbi-users, dbi-announce, poop-group, dbix-class, rose-db
09:32 dduncan the others I posted to are local to my area
09:33 dduncan the second hasn't propagated yet
09:33 dduncan the first is archived at nntp.perl.org
09:33 dduncan the Native.pm is the first backend
09:33 Alias_ You are writing a database? :)
09:33 Alias_ You know people have done that already right?
09:33 dduncan yes, hundreds of them
09:34 dduncan but mine is closest to Tutorial D, and only maybe 3-4 of those exist
09:34 dduncan and none of those are big players
09:35 dduncan so in this respect, I'd say I'm getting into a rather unsaturated area
09:35 dduncan Alias_ , that said, mine is a *federated* database
09:36 Alias_ uuum... ok, I need to read more books
09:36 dduncan while Native.pm is standalone, for testing purposes, other backends will be made that layer on top of established products
09:36 Alias_ what is a federated database?
09:36 dduncan federated is another word for virtual
09:36 Alias_ in database speak?
09:36 dduncan its like an alternate API wrapper
09:37 dduncan put another way
09:37 dduncan Rosetta is a virtual machine
09:37 dduncan like Parrot but specializing in databases
09:37 dduncan or maybe its more like Pugs
09:37 Odin- joined perl6
09:38 dduncan because it has multiple backends ... akin to Pugs targeting Parrot, javascript, perl 5, etc
09:38 dduncan Rosetta targets the perl native Native.pm and Genezzo, and SQLite, and Oracle, and whatever
09:38 dduncan the Rosetta native query language, IRL, is like perl 6 in that respect
09:38 dduncan Alias_, does that explain anything?
09:39 Alias_ more or less
09:39 Alias_ How do you handle emulation of unimplemented features
09:39 Alias_ For example, does Rosetta support Sequences?
09:39 dduncan in this case, the native language should be more of a joy to use than what its layerd ontop of
09:39 dduncan yes
09:39 dduncan Rosetta tries to link to the backends own implementations if it can, leveraging those, or emulating features otherwise
09:40 Alias_ I don't mean auto_increment, I mean sequences... (to check)
09:40 dduncan Rosetta's support specifies named sequences as distinct schema objects
09:40 Alias_ That could be a problem
09:40 Alias_ You can't implement sequences in SQLite
09:40 Alias_ or rather, you can't emulate sequences in SQLite
09:41 dduncan the SQL standard and various databases like Oracle do that
09:41 dduncan yes I can
09:41 Alias_ or rather, you can't use both sequences and transactions in SQLite
09:41 Alias_ And if you know how, I'd like to know how
09:41 dduncan I just declare a table storing the current value of the sequence
09:41 lypanov sequences can't have gaps?
09:41 dduncan and use triggers or whatever to read or update it
09:41 Alias_ ok, and then...
09:41 dduncan that's a simplification
09:41 Alias_ lypanov: sequences are only required to be unique
09:42 dduncan yes
09:42 lypanov Alias_: then i don't see the issue with seqs and transactions?
09:42 Alias_ lypanov: Their prime responsibility is to NEVER issue the same number twice
09:42 dduncan yes
09:42 Alias_ ok, in SQLite a transaction is a file lock
09:42 Grrrr joined perl6
09:42 lypanov Alias_: ewww
09:42 Alias_ And sequences MUST exist outside of transactions
09:42 dduncan that's a large part of what makes it 'lite'
09:42 Alias_ Numbers issues by a sequence must never be "rolled back"
09:43 lypanov so either a) do transactions in rosetta, or b) don't allow them in such a "lite" scenario
09:43 Alias_ And so in order to change a value in the sequence table, you need to wait for any existing transaction to end
09:43 dduncan there is also a middle ground
09:43 Alias_ But what happens if you need a sequence value inside a transaction
09:43 lypanov b0rk horribly at runtime? ;)
09:43 Alias_ worse
09:43 dduncan I should point out that Rosetta doesn't promise support for any particular feature, but that only if the feature exists, it provides a consistent way to access it
09:43 Alias_ You lock, dead
09:44 Alias_ dduncan: ah, ok
09:44 Alias_ Because I solved the problem for Mysql
09:44 Alias_ See DBIx::MySQLSequence
09:44 dduncan the Rosetta API includes a means for a backend to declare support from a pre-declared list of features
09:44 Alias_ Fully atomic sequences without needing a transaction
09:44 dduncan an application can query this to see if the backend declares the features it needs, and so can programatically determine if a backend is suitable for it
09:45 Alias_ ok
09:45 Alias_ Now it makes sense
09:45 dduncan this feature doesn't care if the Rosetta engine emulates the feature or the product natively does it, only that the application can use it
09:45 Alias_ But just so you know, you won't be able to
09:45 Alias_ :)
09:45 Alias_ well, if you emulate sequences in Rosetta, you can't really do anything concurrent
09:45 Alias_ You are stuck in the same interpreter
09:46 dduncan if a feature can't be made to work reliably, then the engine declares it does not support it
09:46 Alias_ Anyways, lets not talk aimlessly :)
09:46 Alias_ yep, get that
09:46 dduncan like the people working on perl 6, I'm making a clear distinction between interface and implementation
09:46 dduncan the main thing I'm working on is an interface declaration
09:47 dduncan many third parties, or myself, can make complementing or competing backends to satisfy it
09:47 * Alias_ nods
09:47 dduncan in that respect, it is like DBi and its drivers, but that Rosetta is higher abstraction
09:47 Alias_ I guess it's just a bit like Stem (uri's thing) for me
09:47 dduncan or perl 6 and the pugs backends
09:47 Alias_ It sounds like a good idea, but I've never been able to actually use it
09:47 Alias_ Or see it used
09:48 dduncan in my case, I've been thinking about these issues for years, and I think I have something that will solve peoples problems and/or do the work they need it to do
09:48 Alias_ It's just that I see the components go by on CPAN, and yet it can't solve problems yet :)
09:49 Alias_ ... for years
09:49 Alias_ I'd like to see something written in it
09:49 lypanov Stem?
09:49 Alias_ Say, a basic wiki
09:49 Alias_ lypanov: stemsystems.com
09:49 dduncan from my point of view, there's nothing on CPAN now which is anything close to what I'm doing
09:49 Alias_ lypanov: It's a messaging toolkit. It sounds really interesting, but nobody has ever used it other than uri
09:49 Alias_ dduncan: or pugs
09:50 dduncan and that's one reason I'm doing my own thing rather than patching an existing project
09:50 dduncan "not just another dbi wrapper" and all that
09:50 dduncan yes, there's nothing like pugs out there either
09:50 Alias_ buut, you can write a program using pugs
09:50 Alias_ We have bots here that use pugs
09:50 Alias_ And I'd REALLY love to see something actually writting using Rosetta
09:51 Alias_ written
09:51 dduncan yes, pugs is closer to actually useable
09:51 dduncan as would I
09:51 dduncan well, once I do those 4 steps mentioned above, we should get something written using it
09:51 dduncan I plan to follow pugs development style, grow vertical, then horizontal
09:52 Alias_ hmm?
09:52 dduncan vertical means that *something* works early on, even if it isn't much
09:52 Alias_ right
09:52 Alias_ Which was my main point I guess
09:52 dduncan horizontal first means you can define a huge api and none of it works
09:52 lypanov the last sweetie in mah megamix is a parrot
09:52 lypanov what does that mean?
09:52 Alias_ I've watched _something_ growing for like a year, and nothing exists
09:52 Alias_ it feels horozontal
09:52 dduncan going horizontal first was one of the mistakes I made in Rosetta prior to its rewrite
09:53 lypanov vertical is the way i have done rubydium also
09:53 Alias_ Well, the acid test is a wiki
09:53 dduncan that's why it was never useable despite 3 years or releases
09:53 Alias_ dduncan: Someone at YAPC::AU wrote a wiki in shell live on stage. Write a Rosetta wiki and let me know when it's up :)
09:54 * lypanov agrees that a wiki is a good test of a db
09:54 lypanov s/db/& abstraction/
09:54 dduncan Rosetta doesn't have user or network I/O as part of its api, so it can't do that itself
09:54 KingDiamond joined perl6
09:54 dduncan its api only handles data representation and storage issues
09:55 dduncan its a library, essentially
09:56 dduncan however, one of the first things I plan to have ported to it is Bricolage and/or Catalyst, so you could have your wiki then
09:56 dduncan or someone could write a trivial one from scratch that uses it
09:57 dduncan essentially, the problem domain of Rosetta is like that of DBI, which doesn't do user I/O and stuff
09:57 Alias_ that's cool, but I found writing PPI that you can't just build something
09:57 Alias_ You have to write at least some things that use your thing
09:57 Alias_ So people can see it being used
09:57 dduncan yes, of course
09:57 Alias_ So I have Perl::MinimumVersion and such
09:57 dduncan I already have one planned
09:57 Alias_ Mainly so others can read the source of it
09:58 dduncan I may have mentioned here that I was making a consumer database app
09:58 dduncan that would be my own personal thing that uses Rosetta
09:58 Alias_ as long as it's something that DOES something people find interesting, and they can download it and try it
09:58 Alias_ Look what Rails has done for Ruby
09:58 dduncan however, it is likely that a number of existing perl apps will get ported to it first
09:59 Alias_ It shows it at it's best
09:59 Alias_ just as Perl::MinimumVersion shows PPI at it's best
09:59 Alias_ It does something you couldn't do before
09:59 Alias_ or does something much better
09:59 Alias_ You do DDL right?
09:59 dduncan by porting a relatively small number of things, various popular dbi wrappers, all of the people that were using them are then using rosetta ... fast track to a user base
09:59 Alias_ schema creation and such?
10:00 dduncan yes, it does DDL
10:00 Alias_ right, so make a database migration tool :)
10:00 dduncan in fact, with certain backends like Native and SQLite, it can even create the whole database
10:00 Alias_ sure, I do the same with my stuff
10:00 dduncan migration tools are on the list
10:00 Alias_ But yours is more pure-database, while mine limits itself to the subset that fits into entity-relationship concepts
10:01 Alias_ Mines more an object-relational system that doesn't think in database terms
10:01 dduncan are you talking about PPI?
10:01 Alias_ no, AppSpace
10:01 Alias_ http://phase-n.com/technology/index.html
10:01 dduncan I like the idea of do one thing and do it well ... componentization
10:01 dduncan so I just focus on database and do better than anyone
10:02 dduncan in particular, I exclude orm and obj-rel stuff
10:02 dduncan since lots of people are doing that to meet more specialized needs than I am
10:02 Alias_ appspace is like 3 things working well, with a 4th thing working well writing the code that uses the 3 things :)
10:02 dduncan and so I help the makers of those tools
10:02 Alias_ eventually at least :)
10:03 Alias_ Like I said, I like the idea but I need to see something written with it
10:03 Alias_ So give me a yell when there's something I can demo will you?
10:03 dduncan another goal I have is to get paid to write perl ... that's never happened yet
10:03 dduncan your last line
10:04 dduncan can you clarify that statement?
10:04 dduncan do you mean you want me to ask you to demo appspace?
10:04 Alias_ When you have written a wiki, or a tool, or SOMETHING that uses Rosetta in a practical way, let me know
10:04 nnunley joined perl6
10:04 Alias_ something of yours that I can look at a demonstration model of
10:04 dduncan I mis-read your comment
10:04 Alias_ yeah, sorry
10:04 Alias_ demo the other way around :)
10:05 Alias_ something I can omed
10:05 dduncan when you say "something I can demo"
10:05 Alias_ or is that omeb
10:05 dduncan your meaning is more like "something you can demo to me"
10:05 dduncan and definitely
10:05 Alias_ thanks
10:05 Alias_ later
10:05 dduncan I realize fully that ...
10:06 * Alias_ has to go make PITA work
10:06 Alias_ So we can have a parrot smoker
10:06 dduncan the current lack of having anything actually run with Rosetta is the main reason that it's not taking off yet
10:06 Alias_ just like Stem
10:06 dduncan I figure I just need that, and boom, people will come and stuff will happen
10:06 Alias_ yep
10:06 Alias_ me included
10:07 Alias_ same happened with PPI
10:07 dduncan so I'm now focusing on getting there
10:07 Alias_ not much noise until I said "it's done, here's toys"
10:07 Alias_ And now we have Perl::Critic and a number of other things
10:07 dduncan in my opinion, the task ahead of me is considerably simpler than your task with PPI was
10:08 dduncan since database languages are much simpler than Perl
10:08 Alias_ PPI wasn't hard
10:08 Alias_ It just required a certain leap of understanding
10:08 Alias_ There's maybe 20 people that could rewrite it now in a month
10:08 Alias_ once they get the critical bit
10:09 dduncan I recall someone high up (maybe Larry?) saying that PPI doesn't really understand the meaning of perl code, just syntax structural issues, so its incapable of some things
10:09 dduncan Its like its just a lexer
10:10 Alias_ more or less
10:10 Alias_ It's a document parser
10:10 Alias_ But then Perl doesn't understand the syntax of a Perl file either
10:10 Alias_ Or rather, perl only understands code, PPI only understands documents
10:10 dduncan whereas, what Rosetta does is like being able to take one instruction and write a different one that does the same thing but looks non-trivially different
10:10 Alias_ And that's the leap in understanding
10:11 Alias_ Once you "get" that, the rest was (mostly) a SMOP
10:11 binary42 joined perl6
10:11 Alias_ yep, I know
10:11 Alias_ Anyways, I have to go make PITA work
10:11 dduncan anyway, go ahead with what you ahve to do
10:11 Alias_ You are distracting me :)
10:12 * Alias_ has too much of an interest in new database abstractions
10:37 Grrrr joined perl6
10:40 lypanov Alias_: thats not a bad thing you realize ;)
10:44 elmex joined perl6
10:59 nothingmuch joined perl6
11:04 scook0 joined perl6
11:22 nnunley_ joined perl6
11:56 KingDiamond joined perl6
12:21 rantanplan_ joined perl6
13:08 G2 joined perl6
13:11 svnbot6 r8948 | scook0++ | * Minor updates to docs/getting_started
13:11 svnbot6 r8948 | scook0++ | * Change release-date's year from 2005 to 2006
13:11 svnbot6 r8948 | scook0++ | (as reported by Uri Guttman)
13:16 kolibrie joined perl6
13:17 joepurl joined perl6
13:29 Limbic_Region joined perl6
14:08 Qiang joined perl6
14:09 rafl joined perl6
14:27 iblechbot joined perl6
14:33 cdpruden joined perl6
14:36 kanru joined perl6
14:37 nothingmuch audreyt: ping
14:44 wolverian yay, quasiquoting
14:53 chris2 joined perl6
14:55 vel joined perl6
15:03 nnunley_ is now known as nnunley
15:11 dada joined perl6
15:28 DesreveR is now known as r0nny
15:30 r0nny joined perl6
15:36 r0nny joined perl6
15:44 binary42 joined perl6
16:21 rantanplan_ joined perl6
16:35 putter joined perl6
16:39 putter Alias_: or perhaps Test::Multiplex?   verb form
16:40 putter or not.  it doesn't look like multiplex as a verb has made it out of computing.  ah well.
16:41 putter http://www.onelook.com/ ++
16:48 cognominal thx putter, nice resource
17:00 putter :)   WordNet in particular is nifty.
17:01 justatheory joined perl6
17:04 cognominal I am subscribed to merriam-webster word of the day. That improves my vocabulary, not my grammar though
17:05 putter lol
17:07 cognominal but it so advanced, it hardly usable in every conversation. If I say that my cathexis (yesterday word) would be moving from Perl to Ruby, if not for Perl6, I guess few native anglophone would understand me
17:07 cognominal s/hardly/is hardly/
17:07 * putter tries to picture "grammar construct of the day".  "sentence to proof read of the day"?  each day, you get a sentence or paragraph, and have to (web interface) do proof reading markup on it.  Get to see what you missed, or unnecessarily changed.  Perhaps a score.
17:08 putter or just a "today you get the puzzle", tomorrow (or by clicking) you get the answer, and skip the nontrivial automation stuff.
17:09 * putter goes to look up cathexis...
17:10 wolverian stevan++ # Class::MOP
17:11 * putter goes to look up Class::MOP... ;)
17:11 stevan wolverian: thanks :)
17:11 stevan it has the double benefit of being useful for current $work as well
17:12 theorbtwo putter: scoring would be difficult; there's more then one way to do it.
17:13 wolverian stevan, s/it's/its/ in DESCRIPTION, and I think the , in "can do, is" is superfluous.
17:13 wolverian oh, and if you don't want language bug reports, please say so :)
17:14 stevan wolverian: no please,.. my spelling/grammer is horrid
17:14 * stevan is a product of the american public school system
17:14 stevan although I do know where Iraq is,.. so I am on the upper part of the curve there ;)
17:14 * wolverian is a product of the finnish public school system.. unfinished though.
17:15 * wolverian is under construction
17:15 * Kattana escaped the system.
17:15 cognominal I had Englishat school but I really learnt on early SunOS which vanilla BSD of the time
17:15 putter stevan: re CLOS, my understanding is there is a real tension between CLOS features and performance, and thus that few if any implementations are actually fully conformant.
17:16 cognominal s/which/which was/
17:16 stevan putter: I think Allegro's version is fairly complete,.. and fast as well
17:16 stevan but you are correct otherwise
17:16 cognominal So I had enjoyed jewels long remove from Sun docs lke: you can tune a fs but you can't tuna fish
17:16 stevan however, CLOS is designed to have  a MOP, and so performance/optimizations are addressed with that in mind
17:17 stevan whereas Java is not, and so performance suffers
17:17 wolverian cognominal, haha.
17:17 wolverian I laughed out loud :)
17:17 cognominal the best puns are the bad ones
17:19 stevan putter: AMOP details where performance can be gained through memoization and such, it also seems that the real big performacne drain is in generic functions, and AMOP details possible optimizations for that too
17:19 stevan hopefully Perl 6's multi-methods wont suffer the same fate
17:19 * stevan breaks for lunch &
17:21 wolverian stevan, s/it's/its/ under "meta" too
17:21 putter stevan: does superclass's @ISA setting try to deal with perlbug's "yeah, you've changed @ISA, but too late, I've cached it, so I don't really care"?
17:23 wolverian oh no, recommending UNIVERSAL::can :)
17:23 putter :)
17:23 wolverian I guess anyone who reads that far is sufficiently informed about what it really means.
17:23 wolverian but still.
17:24 wolverian why do these method names remind me of lisp...
17:25 * putter pictures a combination of Class::MOP and PPI...
17:26 putter PERL6-IRC:WHY-DO-THESE-REMIND-YOU-OF-LISP
17:26 putter dont know
17:27 wolverian hmm..
17:27 wolverian yes, that should be useful for refactoring, that is, writing one.
17:27 wolverian then again, perl6 supports this all natively! so! what are we waiting for! oh.. wait..
17:28 * wolverian is too tired
17:28 putter lol
17:29 * putter considers trying to break PGE by pouring Parse.hs into Perl6::Grammar.pm
17:29 wolverian there's a Perl6::Grammar?
17:30 wolverian I'm so out of it..
17:30 nnunley joined perl6
17:31 putter as of yesterday.   qtplatypus's old misc/Grammars/Perl6.pl turned out to be almost working, and a bit of fiddling let it pass it's Perl6.t   test-driven-development++   so now its ext/Perl6-Grammar
17:32 japhy joined perl6
17:32 wolverian heh, reverse those it's/its.. sorry :)
17:33 wolverian thanks! I'll take a look
17:33 cap joined perl6
17:33 japhy hey, I've come up with another optimization the regex engine should make, and I figure you guys would like to be aware of it as well
17:33 putter still pretty basic.  and the test coverage of it's code is incomplete (writing tests when they all fail not being motivating).  but, it's a start.
17:33 putter japhy: do tell
17:33 japhy try this:  perl -mre=debug -e '"1111111" =~ /^(1111).*?\1/'
17:33 wolverian I find writing failing tests motivating, for some reason.. or at least it makes me feel more secure about the eventual implementation.
17:35 japhy that regex matches "1111" to $1, and then tries to find \1 again after that.  the engine KNOWS the length of \1, and it KNOWS how far into the string it is (thus how much of the string is left)
17:35 wolverian heh, wow. that's kind of inefficient :)
17:35 putter btw, re lisp and regex engines, http://weitz.de/cl-ppcre/ is kind of neat.  There is also http://www.geocities.com/mparker762/clawk.html , but... .
17:35 japhy therefore, it should KNOW it can't possibly match \1
17:35 wolverian putter, wow, clawk..
17:36 japhy I'm doing a backref-intensive regex right now, and I've been forced to add an assertion to make sure the string in \1 isn't too big for the rest of the regex.
17:36 putter japhy: in p6 or p5?
17:37 putter ie, under perl5 and it's regexp engine, or under perl6 and its pcre engine?  (the syntax suggests we're not dealing with the p6 PGE rules engine)
17:38 stevan putter: no superclasses does not attempt to address that, but truthfully using that to assign a superclass is silly, you should use "use base" instead
17:38 japhy putter - that's how it works in p5 right now (slow and ugly)
17:38 japhy I could probably write a p5 patch
17:38 stevan and you should not change @ISA at runtime
17:38 japhy regardless, p6 should implement the optimization
17:38 stevan and if you do,.. you get what you get
17:39 stevan its more for reflection than anything else
17:39 putter japhy: as a side note, depending on how intensive your need is, both of the lisp engines mentioned are somewhat p5 regexp compatible, cl-ppcre more than the other, and claim to be significantly faster than p5 on many flavors of patterns.
17:41 japhy well, my regex that I'm using has (?(...)TRUE|FALSE) and (?{ EXPR }) in it
17:42 putter japhy: yes.  p6 regexp optimization is in it's infancy.  hmm, or hasn't really been born quite yet.  lots of fertile ground.  perhaps in a month or so we'll have enough foundation working that you could help with it! :)
17:42 japhy ppcre explicitly states it doesn't support (?{ }), although it does support (?(...)T|F)
17:43 japhy and clawk doesn't appear to support more than looking assertions
17:43 putter is (?{}) the embedded predicate or the embedded regex?
17:44 putter oh, right.  not even a predicate.  just "run me".
17:45 wolverian hm, load on feather.
17:45 stevan putter: I added a NOTE in the superclasses description re: your question
17:46 putter but yes, while the cl engines have "filters", and so could do both, having to deal with callbacks to perl would take much of the fun out of the exercise. ;)
17:48 japhy wolverian: sorry, that might have been me, running the program with aforementioned regex :/
17:48 putter stevan: is that an fyi, or is there somewhere I can see it, or...?  putter perplexed
17:49 stevan putter: it is fyi for now, until I release the next version (maybe later today)
17:49 wolverian japhy, it was eric256. if that's you, then don't worry, of it wasn't, don't worry either :)
17:49 stevan however if you want I will nopaste it
17:49 japhy nope, not me.
17:49 putter ah, ok.  np.  just curious.
17:49 stevan but it is really not that interesting
17:49 wolverian (the process was nice 10, but it slowed feather down anyway.)
17:51 * putter would work on pil... but I'm just not sure where to push on it...
17:54 japhy left perl6
17:57 nnunley_ joined perl6
18:01 vel joined perl6
18:04 putter japhy: Just in case you read this, note that the behavior you see with (?{}) can vary depending on perl version.  So if you care, don't forget to test.
18:04 nothingmuch audreyt: ping
18:05 * putter notes that damian's Perl6::Rules is now generally failing testers.cpan.
18:08 robkinyon joined perl6
18:10 putter hi nm.  not much audreyt the last day or two.
18:10 wolverian post-release trauma? :)
18:11 wolverian well, that sounded wrong..
18:18 szbalint :)
18:26 nnunley joined perl6
18:28 putter sleep? life? other projects? contemplating objects? a post-release pugs paws?
18:37 DaGo joined perl6
18:38 putter not a single groan.  oh well.  a paws in pugs development...
18:38 putter ?eval 3
18:38 evalbot_8947 is now known as evalbot_8948
18:38 evalbot_8948 3
18:39 putter ?eval "a" ~~ /a/
18:39 evalbot_8948 Error: cannot cast from VUndef to Pugs.AST.Internals.VCode (VCode)
18:39 putter ?eval /a/ ~~ "a"
18:39 evalbot_8948 Error: cannot cast from VUndef to Pugs.AST.Internals.VCode (VCode)
18:41 putter the first case works for me.  the second generates a pugs: src/Pugs/Eval.hs:858:12-52: Irrefutable pattern failed for pattern (Pugs.AST.Internals.App (Pugs.AST.Internals.Var name') ...error.
18:41 vel joined perl6
19:26 nothingmuch bsg!"
19:26 nothingmuch AAAAAAAAAAAA
19:26 * nothingmuch wants it already
19:30 putter British Society of Gastroenterology?
19:30 nothingmuch =)
19:38 vel joined perl6
19:41 putter "Gut", the Society's scientific journal, is Europe's highest ranked, by citation-related impact factor.  ;)
19:46 putter I'd like Prelude.pm to load a... PreludeExtras.pm, at runtime, regardless of whether Prelude.pm is precompiled or not.  A simple "use PreludeExtras;"  apparently gets inlined at precompile time.  I currently playing with ways to delay it.  Any thoughts?
19:54 theorbtwo putter: INIT {require "..."}?
20:12 putter ah, I'll try that.  thanks. :)
20:18 putter ah well.  I didnt try INIT, because eval 'use PreludeExtras;' worked... but didn't allow me to sidestep the bug I'm trying to dodge. :(
20:33 putter What editors are you using / would like supported by a perl6 "ide-server"?  I'm gnu emacs.  Any xemacs?  Vi variants (which?)?  Others?
20:33 svnbot6 r8949 | putter++ | t/pugsbugs/smartmatch_rx_obstacle.t added.  Prelude.pm defines
20:33 svnbot6 r8949 | putter++ | multi sub infix:<~~> ($x, Rul $r) is primitive is safe is builtin {$r.f.($x)}
20:33 svnbot6 r8949 | putter++ | But it doesn't work.  But it does if eval()ed.
20:33 svnbot6 r8949 | putter++ | Its not working has been interfering with the development of rules on perl6.
20:34 putter theorbtwo: what editor do you use for p6?
20:34 putter wolverian: ?
20:36 szbalint vim? :)
20:37 Limbic_Region gvim
20:37 * Limbic_Region ducks
20:37 theorbtwo putter: I don't, mostly.  But if I did, xemacs21.
20:38 putter LR: you use... aquatic birds?!? to edit code...  wow...
20:38 Limbic_Region putter - yes, but don't tell PETA
20:38 putter does vim==gvim?
20:40 theorbtwo Careful, or you'll catch the bird flu!
20:41 Limbic_Region putter - for the most part yes.
20:41 Limbic_Region the g is for gui or graphical
20:41 Limbic_Region which implies winders
20:41 Limbic_Region which is why I ducked
20:45 putter ok.  let's see... (ah, re ducked)... bah, I can't find it at the moment.  But apparently vim can be used as a --remote server one makes requests of, but this capability is determined by a compile-time flag.  So the question is: do most vims usually have/not have, or something in between, this capability.
20:46 szbalint dunno, I'm using debian's vim-perl package.
20:47 rhesa actually I think the g is for gtk.
20:52 putter drat.  ok, the man page says +clientserver for N(ormally sized) vim, but at least on my old fedora core, :ver shows -clientserver.  
20:53 putter szbalint, LR: does your :ver show + or - clientserver?
20:53 * putter crosses fingers...
20:55 rhesa FC 3: -cs, CentOS: -cs Debian: +cs
20:56 Limbic_Region +clientserver putter
20:56 Limbic_Region that was a vanilla install fwiw
20:57 putter hmm... ok, my thanks.
20:59 dduncan joined perl6
21:01 DaGo joined perl6
21:05 szbalint +clientserver, for vim-perl.
21:06 Debolaz joined perl6
21:06 putter thanks.  emacs, xemacs, (g)vim.  not so bad.  I was afraid there would be n vi variants, and assorted misc.
21:07 revdiablo joined perl6
21:13 putter neat, Perl::Critic http://search.cpan.org/~thaljef/Perl-Critic-0.14/lib/Perl/Critic.pm
21:13 putter really going to need a Perl6::Critic... :)
21:20 Limbic_Region putter - combining Perl6::Critic with Perl6::Tidy should be a real possibility (i.e. not only finding but fixing mistakes/sloppy code)
21:22 rafl Juerd: Squirrelmail is broken again.
21:25 putter LR: neat idea
21:28 putter Critic and Tidy and MOP and PPI and Editor, oh my
21:28 Amnesiac joined perl6
21:29 putter Alias_: in your copious free time, any plans for a Perl6::Editor? ;)
21:35 putter Or the Perl::Editor editor plugins... or just their framework... :)
21:40 putter end of day for me.  cheers &
21:55 vel joined perl6
23:26 azuroth joined perl6
23:37 GeJ joined perl6
23:45 Khisanth joined perl6

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

Perl 6 | Reference Documentation | Rakudo