Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-07-20

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 TimToady well, :dontignorepatternwhitespacebutusetomatchrealwhitespace seems a bit long...
00:01 Fawaka true
00:01 TimToady used to be :words, but that's differently opaque
00:02 TimToady also considered something like :rule to mean "use the semantics of rule whitespace", but that's also rather abstruse.
00:03 TimToady if they have to look it up anyway, might as well use something that isn't a word.
00:03 TimToady so you can google it at least.
00:04 TimToady but it's also possible we just haven't thought of the right word yet.
00:04 TimToady I do rather like the utility of ss/// though, just from a typing point of view.
00:04 Fawaka yeah, I can see it's use
00:06 Fawaka Damnit,
00:07 Fawaka Perl6 has the capacity to make me feel newbe all over again ;-)
00:08 Bit-Man joined perl6
00:11 ajs TimToady: I always thought it should be parameterized, but that would have scared some people, I'm sure. Something like s:ws<words>, s:ws<ignore>, s:ws<literal>
00:12 TimToady trouble with using ws in that context is that it's specifically _not_ referring to the <ws> rule, but to the ws in the regex.
00:14 TimToady it's just an accident that $rule ~~ s/<ws>/<ws>/, as it were.
00:18 TimToady and that's why we decided to call it something more like s:sigspace where that really means :rxspace<ws> rather than the default :rxspace<ignore> or p5's :rxspace<sp>
00:19 TimToady but as I say, we haven't really nailed this down in concrete.  er...
00:19 * FurnaceBoy :)
00:20 FurnaceBoy it'd be pushing up the daisies if you hadn't nailed it to the perch?
00:20 TimToady it'd be pining for the pine box, or some such.
00:21 TimToady but it's not nailed shut yet.
00:21 TimToady I just like the reduplicative ss/// to mean "match multiple things here".
00:22 TimToady It's just a pity that "rule" doesn't start with "s".
00:23 TimToady or that "token" doesn't start with "ratchet".  :)
00:25 TimToady and basically, I think ss/// is the most common use case (at least on irc), so whatever the adverb is, it has to start with 's'
00:26 hikozaemon joined perl6
00:26 TimToady and it's about time to give ms/// a different meaning too.  :)
00:27 TimToady though it takes away from the reduplicative argument that it's not mm///
00:27 TimToady um, make that ms// and mm//
00:28 TimToady hmm, though :m isn't taken...
00:28 Fawaka I think you lost me...
00:28 TimToady s:m has a small problem though...
00:28 ajs TimToady: I don't think anyone would think s:ws<words>/foo<ws>bar/biz/ was unclear... would they?
00:29 ajs I mean, sure, it's as prone to sillyness as /eieio in p5, but that's not the language's fault
00:29 TimToady so if we call them mules instead of rules, we could have :m short for :mule :)
00:30 Fawaka LOL
00:30 TimToady there's a lot of things we wrote off in P5 as "not the language's fault".  It was a rather convenient excuse at times.
00:31 TimToady but there's always tradeoffs.
00:31 TimToady but I don't think we could persuade people to call them ratches instead of tokens...
00:31 TimToady ratchets.  can't even type it...
00:32 TimToady rats maybe...
00:33 jwang joined perl6
00:33 TimToady so we still have tokens ratcheting and rules sigspacing...
00:43 frustrato left perl6
01:00 audreyt Scalar::Util::blessed(defer { 3 }) # is now false, yay
01:00 rashakil joined perl6
01:01 kanru joined perl6
01:01 audreyt kolibrie: I changed the API; ->force is now force()
01:01 audreyt reason is that ->arbitrary_method_call, including ->can and ->isa, now works on deferred values as well
01:02 audreyt (accomplished with &0::AUTOLOAD)
01:05 ajs TimToady: sorry I've been so distracted, and not responding right away. Working. So, I'm not sure why /eieio could have been considered Perl's "fault". There was no good reason to write /ii other than for the "cuteness value". Same with s:ws<ignore>/<ws>/<ws>/ Sure, it looks silly, so someone's going to write it, but so does if if($if.if:if)
01:07 frederico joined perl6
01:14 rashakil joined perl6
01:18 fglock_ joined perl6
01:22 svnbot6 r11637 | fglock++ | v6-Compiler - added v6::Grammar::Native
01:23 fglock_ please comment on style and errors; this file is meant as an example for adding more grammar
01:24 fglock_ bbiab &
01:24 fglock_ left perl6
01:28 justatheory joined perl6
01:30 rashakil left perl6
01:45 Daniel_Nee joined perl6
01:51 ludan joined perl6
01:54 dolmans joined perl6
01:58 lumi joined perl6
02:05 scsibug joined perl6
02:07 hexmode joined perl6
02:40 Daniel_Nee left perl6
02:41 Daniel_Nee joined perl6
02:50 bsb joined perl6
03:00 jwang joined perl6
03:10 amnesiac joined perl6
03:18 weinig_ is now known as weinig|sleep
03:29 diotalevi joined perl6
03:32 svnbot6 r11638 | daxim++ | idea: improve build reliability
03:41 audreyt ok... the age-old bug of $foo.bar.baz not dispatching correctly is finally fixed
03:41 audreyt by introducing a rule that says a method's invocant must be fully reduced before a method lookup is made
03:41 audreyt which is obvious now that multi dispatch has nothing to do with method dispatch
03:42 audreyt so they are two clear stages
03:45 vsoni hi audreyt
03:45 audreyt vsoni: hey
03:46 audreyt how's life?
03:46 vsoni audreyt: pretty good...how bout yourself
03:46 audreyt much better today
03:46 audreyt it was a pleasure to work with uri to cleanup S02
03:47 vsoni audreyt: cool
03:47 vsoni audreyt: I should start working on pugs....:D)
03:47 audreyt :D
03:48 vsoni audreyt: Is there any mechanism in Parrot to call C code
03:48 vsoni via PIR
03:48 audreyt yeah, it's called NCI
03:48 vsoni can I pass structures?
03:49 audreyt see PDD16
03:49 audreyt and t/pmc/nci.t
03:51 audreyt I don't actually know; never used that myself
03:52 vsoni audreyt: thanks...
03:53 audreyt P5NCI can't do structures
03:54 vsoni yep...I read that
03:55 vsoni audreyt: How do you decide what should be a PMC and what should not be a PMC
03:55 audreyt vsoni: I don't know. how do you decide what should be coded in XS and what should not? :)
03:56 vsoni so is PMC like XS just a mechanism to call C code
03:56 vsoni from PArrot
03:56 audreyt it's a mechanism to write some C code and expose it to Parrot as an object.
03:57 vsoni So I can write a byte code genrator as PMC ?
03:57 audreyt you surely can.
03:58 vsoni do PMC's have access to Internal Parrot API's for e.g. Packfile structure
03:58 audreyt yes. it has full internal access.
03:58 audreyt just like XS.
03:58 vsoni ok...
03:59 vsoni Audreyt: So when you calll IMCC to compile code....do you pass it the Packfile structure or does it create one for you
03:59 audreyt vsoni: please look at the code :)
04:00 audreyt it's http://svn.openfoundry.org/pugs/src/Pugs/Embed/Parrot.hsc
04:00 audreyt currently the sequence is
04:00 audreyt    pf      <- parrot_packfile_new interp 0
04:00 audreyt    parrot_loadbc interp pf
04:00 audreyt    seg     <- withCString "pugs" $ \p -> do
04:00 audreyt        parrot_pf_create_default_segs interp p 1
04:00 audreyt    set_pf_cur_cs pf seg
04:00 audreyt    parrot_loadbc interp pf
04:01 vsoni sequence of calls....:)
04:01 audreyt and then after that, I call imcc_compile_pir
04:01 audreyt but does not pass the packfile
04:02 audreyt that part is all cargo-culted from leo's example
04:02 audreyt so please ask leo for the proper convention
04:02 vsoni but some how parrot populates the packfile structure
04:02 audreyt (as in, I have no idea what they are about.)
04:02 audreyt no idea :)
04:05 tewk joined perl6

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

Perl 6 | Reference Documentation | Rakudo