Summer of Perl | 6.2.12 released! | paste: sial.org/pbot/perl6 | pugs.blogs.com | pugscode.org | pugs.kwiki.org | www.treehugger.com/files/th_images/paradigm.jpg
Set by nothingmuch on 12 July 2006.
TimToady well, :dontignorepatternwhitespacebutusetomatchrealwhitespace seems a bit long... 00:00
Fawaka true 00:01
TimToady used to be :words, but that's differently opaque
also considered something like :rule to mean "use the semantics of rule whitespace", but that's also rather abstruse. 00:02
if they have to look it up anyway, might as well use something that isn't a word. 00:03
so you can google it at least.
but it's also possible we just haven't thought of the right word yet. 00:04
I do rather like the utility of ss/// though, just from a typing point of view.
Fawaka yeah, I can see it's use
Damnit, 00:06
Perl6 has the capacity to make me feel newbe all over again ;-) 00:07
00:08 Bit-Man joined
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:11
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:12
it's just an accident that $rule ~~ s/<ws>/<ws>/, as it were. 00:14
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:18
but as I say, we haven't really nailed this down in concrete. er... 00:19
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.
but it's not nailed shut yet. 00:21
I just like the reduplicative ss/// to mean "match multiple things here".
It's just a pity that "rule" doesn't start with "s". 00:22
or that "token" doesn't start with "ratchet". :) 00:23
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:25
00:26 hikozaemon joined
TimToady and it's about time to give ms/// a different meaning too. :) 00:26
though it takes away from the reduplicative argument that it's not mm/// 00:27
um, make that ms// and mm//
hmm, though :m isn't taken... 00:28
Fawaka I think you lost me...
TimToady s:m has a small problem though...
ajs TimToady: I don't think anyone would think s:ws<words>/foo<ws>bar/biz/ was unclear... would they?
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 :)
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.
but there's always tradeoffs. 00:31
but I don't think we could persuade people to call them ratches instead of tokens...
ratchets. can't even type it...
rats maybe... 00:32
00:33 jwang joined
TimToady so we still have tokens ratcheting and rules sigspacing... 00:33
00:43 frustrato left
audreyt Scalar::Util::blessed(defer { 3 }) # is now false, yay 01:00
01:00 rashakil joined 01:01 kanru joined
audreyt kolibrie: I changed the API; ->force is now force() 01:01
reason is that ->arbitrary_method_call, including ->can and ->isa, now works on deferred values as well
(accomplished with &0::AUTOLOAD) 01:02
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:05
01:07 frederico joined 01:14 rashakil joined 01:18 fglock_ joined
svnbot6 r11637 | fglock++ | v6-Compiler - added v6::Grammar::Native 01:22
fglock_ please comment on style and errors; this file is meant as an example for adding more grammar 01:23
bbiab & 01:24
01:24 fglock_ left 01:28 justatheory joined 01:30 rashakil left 01:45 Daniel_Nee joined 01:51 ludan joined 01:54 dolmans joined 01:58 lumi joined 02:05 scsibug joined 02:07 hexmode joined 02:40 Daniel_Nee left 02:41 Daniel_Nee joined 02:50 bsb joined 03:00 jwang joined 03:10 amnesiac joined 03:18 weinig_ is now known as weinig|sleep 03:29 diotalevi joined
svnbot6 r11638 | daxim++ | idea: improve build reliability 03:32
audreyt ok... the age-old bug of $foo.bar.baz not dispatching correctly is finally fixed 03:41
by introducing a rule that says a method's invocant must be fully reduced before a method lookup is made
which is obvious now that multi dispatch has nothing to do with method dispatch
so they are two clear stages 03:42
vsoni hi audreyt 03:45
audreyt vsoni: hey
how's life? 03:46
vsoni audreyt: pretty good...how bout yourself
audreyt much better today
it was a pleasure to work with uri to cleanup S02
vsoni audreyt: cool 03:47
audreyt: I should start working on pugs....:D)
audreyt :D
vsoni audreyt: Is there any mechanism in Parrot to call C code 03:48
via PIR
audreyt yeah, it's called NCI
vsoni can I pass structures?
audreyt see PDD16 03:49
and t/pmc/nci.t
I don't actually know; never used that myself 03:51
vsoni audreyt: thanks... 03:52
audreyt P5NCI can't do structures 03:53
vsoni yep...I read that 03:54
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? :)
vsoni so is PMC like XS just a mechanism to call C code 03:56
from PArrot
audreyt it's a mechanism to write some C code and expose it to Parrot as an object.
vsoni So I can write a byte code genrator as PMC ? 03:57
audreyt you surely can.
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.
just like XS.
vsoni ok...
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 :)
it's svn.openfoundry.org/pugs/src/Pugs/E...Parrot.hsc 04:00
currently the sequence is
pf <- parrot_packfile_new interp 0
parrot_loadbc interp pf
seg <- withCString "pugs" $ \p -> do
parrot_pf_create_default_segs interp p 1
set_pf_cur_cs pf seg
parrot_loadbc interp pf
vsoni sequence of calls....:) 04:01
audreyt and then after that, I call imcc_compile_pir
but does not pass the packfile
that part is all cargo-culted from leo's example 04:02
so please ask leo for the proper convention
vsoni but some how parrot populates the packfile structure
audreyt (as in, I have no idea what they are about.)
no idea :)
04:05 tewk joined