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
|