6.2.11 released! | pugs.blogs.com | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6
Set by audreyt on 1 February 2006.
putter ?eval 3 00:00
00:00 evalbot_8939 is now known as evalbot_8945
evalbot_8945 3 00:00
putter ?eval "a" ~~ /a/
evalbot_8945 Error: cannot cast from VUndef to Pugs.AST.Internals.VCode (VCode)
putter "a" ~~ rx:p5/a/ 00:01
?eval "a" ~~ rx:p5/a/
rafl putter++
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 00:22 wilx joined
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? 00:24
01:04 knewt_ joined 01:05 knewt_ is now known as knewt
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
r8946 | putter++ | Perl6.t now passes! Time for someone to restart development of this perl6 Grammar for perl6.
01:09 stevan_ joined 01:17 Shachaf joined
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/.
r8947 | putter++ | qtplatypus++ Aankhen++
putter qtplatypus++
buu How the hell do you make the evalbot join things? 01:57
evalbot_8945: ?join #perl
Garh.
?join #perl 01:58
01:58 evalbot_8945 is now known as evalbot_8947
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.
?eval 1 02:00
evalbot_8947 1
Daveman haha 02:03
02:06 Debolaz joined 02:16 putter joined
buu irssi's nickcomplete was fucking up 02:19
It managed to nick complete for users that didn't exist.
Daveman awesome
putter buu: all I did was /msg evalbot_8947 ?j o i n #mumble 02:22
buu Yeah, I figured that out, thanks.
Irssi was screwing it.
putter k 02:23
buu I wonder if svnbot6 got fixed.
putter Commit something and see :) 02:24
buu I have no commit l33tness.
Oh well, we'll find out when it starts spamming #perl 02:25
02:26 Cryptic_K joined, Alias_ joined
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 :)
buu So much for feather 02:27
02:27 soam joined
buu Alias_: What was shocking about it? 02:27
Alias_ First, that any code existed yet at all :)
buu Heh 02:28
Alias_ When the design hadn't even really been finalised I though
thought
02:28 svnbot6 joined 02:29 evalbot_8947 joined
Alias_ Second that the index system appears very crube and it's based on YAML if I read it right 02:29
I wanted to find out if that's just shim code or meant to be the basis of something more serious
rafl Alias_: Hello
Alias_ hi!
rafl Alias_: You had some ideas about the sixpan repo layout?
Alias_ And various other bits 02:30
Since I've been using JSAN to test out ideas I had for CPAN/6PAN concepts
rafl I'd be happy about a mail from you to [email@hidden.address]
I'm just too tired to discuss that now. 02:31
Alias_ Is this YAML code I see just something to get started ?
sure, I have to run anyway
Gotta get the car home
Just wanted to see if we could set up a time for later
Find out when you'd be around
rafl I'll be around tomorrow from 4 or 5pm CET. 02:32
Alias_ err... what's that in GMT?
or a city name 02:33
rhesa 3 to 4 pm GMT
Alias_ oooh... Central European Time?
rafl Right. GMT+1 currently.
Alias_ ok
Had NFI what it was for a minute there 02:34
hmm... that's 2-3am here
erk
ok
rafl Well. We can also meet later. 02:35
Alias_ no, that should be fine
rafl 10pm to 2 am CET is also fine with me.
Alias_ I don't have much of a body clock left, and there's time for me to sleep beforehand
rafl However you like. I'll be there.
Alias_ 4-5 CET is fine 02:36
rafl Great.
Alias_ gotta run, see you then 02:38
rafl Bye
03:07 stevan joined 03:22 SamB joined 04:13 Amnesiac joined 04:24 soam left 04:36 kanru joined 05:06 offby1 is now known as peanut_gallery 05:07 peanut_gallery is now known as offby1 05:24 rantanplan_ joined 05:44 Amnesiac joined 05:45 r0nny joined
Alias_ ponders Test::Forkable 06:17
stennie ponders Test::Spoonable 06:19
Alias_ eep
SamB Test::Sporkable! 06:21
Alias_ shudders
dduncan spoooooooonnnnn! 06:22
Alias_ I guess the first step would be to merge two groups of TAP output togethetr 06:23
And after that, add some ways to trigger off other processes that will write specific files 06:24
And at the end of the main test, grab the files they wrote and tack it onto the end of your test output
Which is more Test::Parallel than Test::Forkable, because forking is one specific case
06:47 kanru joined
Alias_ A multiplexer is something that merges a whole bunch of seperate things and presents them as a single thing right? 06:52
dduncan more or less, yes 06:57
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?
dduncan I would say so
a multiplexer is like taking multiple things and treating them like a single thing
Alias_ So you could test the interaction between a client and server, with the output for BOTH coming out of the same file
yeah, right
I think Test::Multiplexer is the best name for this thing
thanks
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
you could have copies of it on many computers
Alias_ right
presented through a round-robin or something
dduncan when someone wants to read, their request is dispatched to one
when someone wants to write, their write is sent to all of them
Alias_ I was thinking about the CPAN FTP Multiplexer
dduncan cpan has a hundred mirror sites 07:00
wolverian video.google.com/videoplay?docid=75...7821122670 this is just too funny. and sad.
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
alternately
Alias_ dduncan: It does
dduncan sort of as you said ...
each member of a group doesn't have to be the same; they can be complimentary 07:01
you could, say have half of a database on one, and half on another
you send a request, and it pulls leads from both and combines them
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)
dduncan from your point of view, its just one single larger thing
Alias_ dduncan: Yep. Cool. Test::Multiplexer is in production
dduncan fyi, there's also a piece of hardware called a multiplexer for signal processing 07:02
maybe look that up
that could be where the term originalted, and it was applied to software later
Alias_ yeah, I had though that "multiplexer" was a generic enough term to be manipulated into the Test::Multiplexer usage
dduncan yes 07:03
Alias_ IT started in hardware, and got adopted by enough other places, that I could too
07:27 geoffb joined
Alias_ hoya 07:33
07:33 evalbot_8947 joined, svnbot6 joined, Khisanth joined, binary42 joined, revdiablo joined, PerlJam joined, broquaint joined, p5evalbot joined, f0rth joined, leo_ joined, webmind joined, wolverian joined, audreyt joined, phydoxx joined, merlyn joined, Odin- joined, saper joined, chihchun joined, qmole joined, tcliou joined, scw joined, rhesa joined, locksy joined, masak joined, rep joined, jabbot joined 07:40 Aankhen`` joined
clkao summon audreyt 07:45
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:49
07:54 DesreveR joined 07:56 kane_ joined 08:09 nothingmuch joined
lypanov dduncan: thanks for the summary yesterday! 09:27
dduncan ah, boing boing
you're welcome
lypanov dduncan: sorry about lack of reply, was stolen by $job :P
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:28
more good stuff there ... and a CPAN release 09:29
lypanov grins
yeah. it was db stuff
thanks :) shall do :)
dduncan the email contains a lot of info that isn't yet on cpan
lypanov and yeah, i'm the moron on lypanov.net
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
re the latter, deadline for proposals is less than 2 weeks away 09:30
lypanov wishes you/them luck
dduncan I may even propose a talk on Rosetta (45 minute variety)
but I'm going to work on beefing up what's coded or on cpan first
Alias_ And have a backend? 09:31
dduncan that would be nice, yes
Alias_ is still hoping to see how it works in practice
dduncan what I have to do breaks down to this:
Alias_ (having an interest in this area)
dduncan 1. Finish reading "Database in Depth"
lypanov dduncan: which ml's? i'm on none and am not sure where to begin
dduncan 2. flesh out or rewrite Language.pod
3. put some more basic code in Rosetta.pm and Model.pm 09:32
3. write a basic Native.pm
which mls: dbi-users, dbi-announce, poop-group, dbix-class, rose-db
the others I posted to are local to my area
the second hasn't propagated yet 09:33
the first is archived at nntp.perl.org
the Native.pm is the first backend
Alias_ You are writing a database? :)
You know people have done that already right?
dduncan yes, hundreds of them
but mine is closest to Tutorial D, and only maybe 3-4 of those exist 09:34
and none of those are big players
so in this respect, I'd say I'm getting into a rather unsaturated area 09:35
Alias_ , that said, mine is a *federated* database
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
Alias_ what is a federated database?
dduncan federated is another word for virtual
Alias_ in database speak?
dduncan its like an alternate API wrapper
put another way 09:37
Rosetta is a virtual machine
like Parrot but specializing in databases
or maybe its more like Pugs
09:37 Odin- joined
dduncan because it has multiple backends ... akin to Pugs targeting Parrot, javascript, perl 5, etc 09:38
Rosetta targets the perl native Native.pm and Genezzo, and SQLite, and Oracle, and whatever
the Rosetta native query language, IRL, is like perl 6 in that respect
Alias_, does that explain anything?
Alias_ more or less 09:39
How do you handle emulation of unimplemented features
For example, does Rosetta support Sequences?
dduncan in this case, the native language should be more of a joy to use than what its layerd ontop of
yes
Rosetta tries to link to the backends own implementations if it can, leveraging those, or emulating features otherwise
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
Alias_ That could be a problem
You can't implement sequences in SQLite
or rather, you can't emulate sequences in SQLite
dduncan the SQL standard and various databases like Oracle do that 09:41
yes I can
Alias_ or rather, you can't use both sequences and transactions in SQLite
And if you know how, I'd like to know how
dduncan I just declare a table storing the current value of the sequence
lypanov sequences can't have gaps?
dduncan and use triggers or whatever to read or update it
Alias_ ok, and then...
dduncan that's a simplification
Alias_ lypanov: sequences are only required to be unique
dduncan yes 09:42
lypanov Alias_: then i don't see the issue with seqs and transactions?
Alias_ lypanov: Their prime responsibility is to NEVER issue the same number twice
dduncan yes
Alias_ ok, in SQLite a transaction is a file lock
09:42 Grrrr joined
lypanov Alias_: ewww 09:42
Alias_ And sequences MUST exist outside of transactions
dduncan that's a large part of what makes it 'lite'
Alias_ Numbers issues by a sequence must never be "rolled back"
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
dduncan there is also a middle ground
Alias_ But what happens if you need a sequence value inside a transaction
lypanov b0rk horribly at runtime? ;)
Alias_ worse
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
Alias_ You lock, dead
dduncan: ah, ok 09:44
Because I solved the problem for Mysql
See DBIx::MySQLSequence
dduncan the Rosetta API includes a means for a backend to declare support from a pre-declared list of features
Alias_ Fully atomic sequences without needing a transaction
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
Alias_ ok 09:45
Now it makes sense
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
Alias_ But just so you know, you won't be able to
:)
well, if you emulate sequences in Rosetta, you can't really do anything concurrent
You are stuck in the same interpreter
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 :)
yep, get that
dduncan like the people working on perl 6, I'm making a clear distinction between interface and implementation
the main thing I'm working on is an interface declaration
many third parties, or myself, can make complementing or competing backends to satisfy it 09:47
Alias_ nods
dduncan in that respect, it is like DBi and its drivers, but that Rosetta is higher abstraction
Alias_ I guess it's just a bit like Stem (uri's thing) for me
dduncan or perl 6 and the pugs backends
Alias_ It sounds like a good idea, but I've never been able to actually use it
Or see it used
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 :)
... for years 09:49
I'd like to see something written in it
lypanov Stem?
Alias_ Say, a basic wiki
lypanov: stemsystems.com
dduncan from my point of view, there's nothing on CPAN now which is anything close to what I'm doing
Alias_ lypanov: It's a messaging toolkit. It sounds really interesting, but nobody has ever used it other than uri
dduncan: or pugs
dduncan and that's one reason I'm doing my own thing rather than patching an existing project 09:50
"not just another dbi wrapper" and all that
yes, there's nothing like pugs out there either
Alias_ buut, you can write a program using pugs
We have bots here that use pugs
And I'd REALLY love to see something actually writting using Rosetta
written 09:51
dduncan yes, pugs is closer to actually useable
as would I
well, once I do those 4 steps mentioned above, we should get something written using it
I plan to follow pugs development style, grow vertical, then horizontal
Alias_ hmm? 09:52
dduncan vertical means that *something* works early on, even if it isn't much
Alias_ right
Which was my main point I guess
dduncan horizontal first means you can define a huge api and none of it works
lypanov the last sweetie in mah megamix is a parrot
what does that mean?
Alias_ I've watched _something_ growing for like a year, and nothing exists
it feels horozontal
dduncan going horizontal first was one of the mistakes I made in Rosetta prior to its rewrite
lypanov vertical is the way i have done rubydium also 09:53
Alias_ Well, the acid test is a wiki
dduncan that's why it was never useable despite 3 years or releases
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 :)
lypanov agrees that a wiki is a good test of a db 09:54
s/db/& abstraction/
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
dduncan its api only handles data representation and storage issues 09:54
its a library, essentially 09:55
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
or someone could write a trivial one from scratch that uses it
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
You have to write at least some things that use your thing
So people can see it being used
dduncan yes, of course
Alias_ So I have Perl::MinimumVersion and such
dduncan I already have one planned
Alias_ Mainly so others can read the source of it
dduncan I may have mentioned here that I was making a consumer database app 09:58
that would be my own personal thing that uses Rosetta
Alias_ as long as it's something that DOES something people find interesting, and they can download it and try it
Look what Rails has done for Ruby
dduncan however, it is likely that a number of existing perl apps will get ported to it first
Alias_ It shows it at it's best 09:59
just as Perl::MinimumVersion shows PPI at it's best
It does something you couldn't do before
or does something much better
You do DDL right?
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
Alias_ schema creation and such?
dduncan yes, it does DDL 10:00
Alias_ right, so make a database migration tool :)
dduncan in fact, with certain backends like Native and SQLite, it can even create the whole database
Alias_ sure, I do the same with my stuff
dduncan migration tools are on the list
Alias_ But yours is more pure-database, while mine limits itself to the subset that fits into entity-relationship concepts
Mines more an object-relational system that doesn't think in database terms 10:01
dduncan are you talking about PPI?
Alias_ no, AppSpace
phase-n.com/technology/index.html
dduncan I like the idea of do one thing and do it well ... componentization
so I just focus on database and do better than anyone
in particular, I exclude orm and obj-rel stuff 10:02
since lots of people are doing that to meet more specialized needs than I am
Alias_ appspace is like 3 things working well, with a 4th thing working well writing the code that uses the 3 things :)
dduncan and so I help the makers of those tools
Alias_ eventually at least :)
Like I said, I like the idea but I need to see something written with it 10:03
So give me a yell when there's something I can demo will you?
dduncan another goal I have is to get paid to write perl ... that's never happened yet
your last line
can you clarify that statement? 10:04
do you mean you want me to ask you to demo appspace?
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
Alias_ something of yours that I can look at a demonstration model of 10:04
dduncan I mis-read your comment
Alias_ yeah, sorry
demo the other way around :)
something I can omed 10:05
dduncan when you say "something I can demo"
Alias_ or is that omeb
dduncan your meaning is more like "something you can demo to me"
and definitely
Alias_ thanks
later
dduncan I realize fully that ...
Alias_ has to go make PITA work 10:06
So we can have a parrot smoker
dduncan the current lack of having anything actually run with Rosetta is the main reason that it's not taking off yet
Alias_ just like Stem
dduncan I figure I just need that, and boom, people will come and stuff will happen
Alias_ yep
me included
same happened with PPI 10:07
dduncan so I'm now focusing on getting there
Alias_ not much noise until I said "it's done, here's toys"
And now we have Perl::Critic and a number of other things
dduncan in my opinion, the task ahead of me is considerably simpler than your task with PPI was
since database languages are much simpler than Perl 10:08
Alias_ PPI wasn't hard
It just required a certain leap of understanding
There's maybe 20 people that could rewrite it now in a month
once they get the critical bit
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
Its like its just a lexer
Alias_ more or less 10:10
It's a document parser
But then Perl doesn't understand the syntax of a Perl file either
Or rather, perl only understands code, PPI only understands documents
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
Alias_ And that's the leap in understanding
Once you "get" that, the rest was (mostly) a SMOP 10:11
10:11 binary42 joined
Alias_ yep, I know 10:11
Anyways, I have to go make PITA work
dduncan anyway, go ahead with what you ahve to do
Alias_ You are distracting me :)
Alias_ has too much of an interest in new database abstractions 10:12
10:37 Grrrr joined
lypanov Alias_: thats not a bad thing you realize ;) 10:40
10:44 elmex joined 10:59 nothingmuch joined 11:04 scook0 joined 11:22 nnunley_ joined 11:56 KingDiamond joined 12:21 rantanplan_ joined 13:08 G2 joined
svnbot6 r8948 | scook0++ | * Minor updates to docs/getting_started 13:11
r8948 | scook0++ | * Change release-date's year from 2005 to 2006
r8948 | scook0++ | (as reported by Uri Guttman)
13:16 kolibrie joined 13:17 joepurl joined 13:29 Limbic_Region joined 14:08 Qiang joined 14:09 rafl joined 14:27 iblechbot joined 14:33 cdpruden joined 14:36 kanru joined
nothingmuch audreyt: ping 14:37
wolverian yay, quasiquoting 14:44
14:53 chris2 joined 14:55 vel joined 15:03 nnunley_ is now known as nnunley 15:11 dada joined 15:28 DesreveR is now known as r0nny 15:30 r0nny joined 15:36 r0nny joined 15:44 binary42 joined 16:21 rantanplan_ joined 16:35 putter joined
putter Alias_: or perhaps Test::Multiplex? verb form 16:39
or not. it doesn't look like multiplex as a verb has made it out of computing. ah well. 16:40
www.onelook.com/ ++ 16:41
cognominal thx putter, nice resource 16:48
putter :) WordNet in particular is nifty. 17:00
17:01 justatheory joined
cognominal I am subscribed to merriam-webster word of the day. That improves my vocabulary, not my grammar though 17:04
putter lol 17:05
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
s/hardly/is hardly/
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.
or just a "today you get the puzzle", tomorrow (or by clicking) you get the answer, and skip the nontrivial automation stuff. 17:08
putter goes to look up cathexis... 17:09
wolverian stevan++ # Class::MOP 17:10
putter goes to look up Class::MOP... ;) 17:11
stevan wolverian: thanks :)
it has the double benefit of being useful for current $work as well
theorbtwo putter: scoring would be difficult; there's more then one way to do it. 17:12
wolverian stevan, s/it's/its/ in DESCRIPTION, and I think the , in "can do, is" is superfluous. 17:13
oh, and if you don't want language bug reports, please say so :)
stevan wolverian: no please,.. my spelling/grammer is horrid 17:14
stevan is a product of the american public school system
although I do know where Iraq is,.. so I am on the upper part of the curve there ;)
wolverian is a product of the finnish public school system.. unfinished though.
wolverian is under construction 17:15
Kattana escaped the system.
cognominal I had Englishat school but I really learnt on early SunOS which vanilla BSD of the time
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.
cognominal s/which/which was/ 17:16
stevan putter: I think Allegro's version is fairly complete,.. and fast as well
but you are correct otherwise
cognominal So I had enjoyed jewels long remove from Sun docs lke: you can tune a fs but you can't tuna fish
stevan however, CLOS is designed to have a MOP, and so performance/optimizations are addressed with that in mind
whereas Java is not, and so performance suffers 17:17
wolverian cognominal, haha.
I laughed out loud :)
cognominal the best puns are the bad ones
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
hopefully Perl 6's multi-methods wont suffer the same fate
stevan breaks for lunch &
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"?
wolverian oh no, recommending UNIVERSAL::can :) 17:23
putter :)
wolverian I guess anyone who reads that far is sufficiently informed about what it really means.
but still.
why do these method names remind me of lisp... 17:24
putter pictures a combination of Class::MOP and PPI... 17:25
PERL6-IRC:WHY-DO-THESE-REMIND-YOU-OF-LISP 17:26
dont know
wolverian hmm.. 17:27
yes, that should be useful for refactoring, that is, writing one.
then again, perl6 supports this all natively! so! what are we waiting for! oh.. wait..
wolverian is too tired 17:28
putter lol
putter considers trying to break PGE by pouring Parse.hs into Perl6::Grammar.pm 17:29
wolverian there's a Perl6::Grammar?
I'm so out of it.. 17:30
17:30 nnunley joined
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:31
17:32 japhy joined
wolverian heh, reverse those it's/its.. sorry :) 17:32
thanks! I'll take a look 17:33
17:33 cap joined
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.
japhy: do tell
japhy try this: perl -mre=debug -e '"1111111" =~ /^(1111).*?\1/'
wolverian I find writing failing tests motivating, for some reason.. or at least it makes me feel more secure about the eventual implementation.
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 :)
putter btw, re lisp and regex engines, weitz.de/cl-ppcre/ is kind of neat. There is also www.geocities.com/mparker762/clawk.html , but... .
japhy therefore, it should KNOW it can't possibly match \1
wolverian putter, wow, clawk..
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?
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:37
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)
I could probably write a p5 patch
stevan and you should not change @ISA at runtime
japhy regardless, p6 should implement the optimization
stevan and if you do,.. you get what you get
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.
japhy well, my regex that I'm using has (?(...)TRUE|FALSE) and (?{ EXPR }) in it 17:41
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)
and clawk doesn't appear to support more than looking assertions 17:43
putter is (?{}) the embedded predicate or the embedded regex?
oh, right. not even a predicate. just "run me". 17:44
wolverian hm, load on feather. 17:45
stevan putter: I added a NOTE in the superclasses description re: your question
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:46
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
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 :)
stevan however if you want I will nopaste it
japhy nope, not me.
putter ah, ok. np. just curious.
stevan but it is really not that interesting
wolverian (the process was nice 10, but it slowed feather down anyway.)
putter would work on pil... but I'm just not sure where to push on it... 17:51
17:54 japhy left 17:57 nnunley_ joined 18:01 vel joined
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
putter notes that damian's Perl6::Rules is now generally failing testers.cpan. 18:05
18:08 robkinyon joined
putter hi nm. not much audreyt the last day or two. 18:10
wolverian post-release trauma? :)
well, that sounded wrong.. 18:11
szbalint :) 18:18
18:26 nnunley joined
putter sleep? life? other projects? contemplating objects? a post-release pugs paws? 18:28
18:37 DaGo joined
putter not a single groan. oh well. a paws in pugs development... 18:38
?eval 3
18:38 evalbot_8947 is now known as evalbot_8948
evalbot_8948 3 18:38
putter ?eval "a" ~~ /a/ 18:39
evalbot_8948 Error: cannot cast from VUndef to Pugs.AST.Internals.VCode (VCode)
putter ?eval /a/ ~~ "a"
evalbot_8948 Error: cannot cast from VUndef to Pugs.AST.Internals.VCode (VCode)
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
18:41 vel joined
nothingmuch bsg!" 19:26
AAAAAAAAAAAA
nothingmuch wants it already
putter British Society of Gastroenterology? 19:30
nothingmuch =)
19:38 vel joined
putter "Gut", the Society's scientific journal, is Europe's highest ranked, by citation-related impact factor. ;) 19:41
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:46
theorbtwo putter: INIT {require "..."}? 19:54
putter ah, I'll try that. thanks. :) 20:12
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:18
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
r8949 | putter++ | multi sub infix:<~~> ($x, Rul $r) is primitive is safe is builtin {$r.f.($x)}
r8949 | putter++ | But it doesn't work. But it does if eval()ed.
r8949 | putter++ | Its not working has been interfering with the development of rules on perl6.
putter theorbtwo: what editor do you use for p6? 20:34
wolverian: ?
szbalint vim? :) 20:36
Limbic_Region gvim 20:37
Limbic_Region ducks
theorbtwo putter: I don't, mostly. But if I did, xemacs21.
putter LR: you use... aquatic birds?!? to edit code... wow... 20:38
Limbic_Region putter - yes, but don't tell PETA
putter does vim==gvim?
theorbtwo Careful, or you'll catch the bird flu! 20:40
Limbic_Region putter - for the most part yes. 20:41
the g is for gui or graphical
which implies winders
which is why I ducked
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:45
szbalint dunno, I'm using debian's vim-perl package. 20:46
rhesa actually I think the g is for gtk. 20:47
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:52
szbalint, LR: does your :ver show + or - clientserver? 20:53
putter crosses fingers...
rhesa FC 3: -cs, CentOS: -cs Debian: +cs 20:55
Limbic_Region +clientserver putter 20:56
that was a vanilla install fwiw
putter hmm... ok, my thanks. 20:57
20:59 dduncan joined 21:01 DaGo joined
szbalint +clientserver, for vim-perl. 21:05
21:06 Debolaz joined
putter thanks. emacs, xemacs, (g)vim. not so bad. I was afraid there would be n vi variants, and assorted misc. 21:06
21:07 revdiablo joined
putter neat, Perl::Critic search.cpan.org/~thaljef/Perl-Criti.../Critic.pm 21:13
really going to need a Perl6::Critic... :)
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:20
rafl Juerd: Squirrelmail is broken again. 21:22
putter LR: neat idea 21:25
Critic and Tidy and MOP and PPI and Editor, oh my 21:28
21:28 Amnesiac joined
putter Alias_: in your copious free time, any plans for a Perl6::Editor? ;) 21:29
Or the Perl::Editor editor plugins... or just their framework... :) 21:35
end of day for me. cheers & 21:40
21:55 vel joined 23:26 azuroth joined 23:37 GeJ joined 23:45 Khisanth joined