svn switch --relocate svn.openfoundry.org/pugs svn.pugscode.org/pugs/ | run.pugscode.org | spec.pugscode.org | paste: sial.org/pbot/perl6 | pugs.blogs.com | dev.pugscode.org/
Set by putter on 11 February 2007.
TimToady_ does it look like -STD is on the path toward sanity to you? 00:00
00:01 TimToady_ is now known as TimToady 00:06 mjk joined
putter moritz: good night *wave* 00:17
TimToady_: re "stop", :)
re "sanity", let's see... 00:18
yes 00:21
:)
00:23 theorbtwo joined
putter I haven't looked closely at most of it. And the real way to detect problems will be to try and run it. But 00:23
basically what it provides is a reference, a spec, which it achieves regardless of any bugs present. 00:24
00:26 TimToady joined
putter hmm. with delighted emphasis "a reference! :)". 00:26
feel free to use a simple text macro for the token category decls. slightly more work for a preprocessor vs clarity. 00:29
00:29 BooK joined
TimToady yah 00:30
00:36 sunnavy joined 00:37 Aankhen`` joined
putter sigh. more name pain. since what was called a "rule" is now called a "named(?) regex", "subrule" needs to be renamed. "subregex"? 00:54
00:56 ashelyb_ joined
putter Is there some way to do relative addressiing within the numbered capture hierarchy? starting with "give me the leaf match which encloses the current part of the regex". I don't immediately see that. Looks like one has to nonlocally (within a regex) navigate from the top $/ down. 00:58
00:59 gnuvince_ joined
audreyt putter: $/[-1] ? 01:04
01:08 Caelum joined
putter I'm not yet sure what the p6 senario is, but at least in p5, the match array is prepopulated with failed matches. At least that's my fuzzy recollection. 01:13
((((( (.) { $foo[0] } ))))) with some foo would avoid having to count parens and say $/[0][0][0][0][0][0]. 01:14
"bxa" =~ /^(?(1)a|b)(x)(?(1)a|b)$/ works. so, at least nominally, \1 exists before it is reached, even during execution. 01:18
obviously one would usually use names. and one could alias the needed match. (((( $foo := ( (.) { $foo[0] } ))))) or something like that. 01:20
i suppose one might have a $/.current or somesuch
TimToady sorry, network problems, have to reboot & 01:21
01:26 TimToady joined
TimToady we still call them subrules 01:28
it's an inconsistency we can live with
01:28 weinig is now known as weinig|away
putter (none of my questions were pressing. just things which popped up as I went coding by) 01:28
TimToady and yes, $/[-1] or $-1 is supposed to be the previous () 01:29
audreyt TimToady: the Syn does not mention $-N anymore
TimToady also you can $0 := ... to start the numbering over
hmm.
audreyt neither does STD 01:30
putter re inconsistency, *shudder*. just as p[45] set the standard for regexps, p6 will like set a new standard. future generations will hate us less if we put together a sane nomenclature.
s/like/likely
audreyt neither does pugs :) which makes it noncanonical atm...
TimToady well, ideas welcome
also wondering how far context variables go in emulating attribute grammar attributes 01:31
avar audreyt: I'll cpan re::engine::POSIX tomorrow:) 01:32
TimToady also thinking about some kind of :inline( my $x is context )
audreyt avar: moose!
avar momo:)
audreyt my doctor just went in to tell me I'll be discharged tomorrow 01:33
avar You have internet at the hospital?
audreyt ah, this is .tw
avar (.tw)++
audreyt in taipei we have internet on public transportation (and taxis) :) 01:34
putter lol
avar oh man
crazy asian people, me like! (long time *snicker*)
audreyt for <usd$100/year
TimToady I used to have that back when my Ricochet modem worked... :( 01:35
audreyt so yeah, for all my wandering around the globe, taipei is still quite compelling a base station for me :)
TimToady now I have it again, since Google has re-wire(less)ed Mountain View
putter please do some internet equivalent of launching a satellite. the US really needs a "we are falling terribly behind!" wireless panic.
audreyt ooh nice. (even more excited at visiting mountain view) 01:36
01:36 ashelyb_ joined
putter s/a satellite/the first satellite/ 01:37
audreyt avar: so ::POSIX goes thru ::Plugin? or is it native? and are you also planning to do the plan9-engine thing?
avar native, I'm just using STD posix, dmq thought plan9 would be neat, haven't looked at it:)
but I'm getting pretty good at this:)
audreyt :D 01:38
avar++
avar I'm not shipping a posix regex libary though and just using whatever the system has (no workie on windows) 01:39
audreyt sure. it's proof-of-concept anyway
avar mm
01:40 seano_ joined
putter avar: has anyone done a simple passthru, ie, do a plugin which uses the usual p5 engine... and then run all the p5 tests related to regexps? like substr.t, split.t, etc? 01:40
avar good resource on plan9 regexps?
putter: nope
putter :/
avar well, once you override the engine it'll work everywhere (probably not what you meant) but then again I'm not sure what you mean:) 01:41
re::engine::Perl; which did what you have by default would be a 20 line plugin with an arary of the function pointers it's using anyway
*array 01:42
audreyt avar: consider a ::Plugin::Perl5 that goes to userland and back
I believe that's what putter has in mind
avar ah, that's another issue though
audreyt but it ensures completeness around edge cases
avar mm, indeed
audreyt which is what we'll need for full fledged ::PCR
avar ::Plugin is far from complete as you may have noticed
but the framework around it is pretty good IMO, which is why I released it in its infant state:) 01:43
putter the biggest obstacle with the old plugin stuff was that the rest of p5 core, the substr node code in particular, was... taking liberties. do anything interesting (like accessing a variable) in a plugin, and you got later segfaults.
avar yeah, there are a lot of liberties:)
putter call. bbiab
avar audreyt: well, depending on what the edge cases are... 01:47
tracking down any stuff that presumes perl5-engine semantics on $your_engine is the most important stuff:) 01:48
audreyt *nod*
still a userland roundtrip test should be a good test to ::Plugin itself in t/ 01:49
avar mm
aren't plan9 regexes notable because of the implementation, not because of external interface/syntax? 01:52
avar tries to find some more on them 01:53
01:53 Caelum joined
audreyt avar: are you not about to sleep? :) 01:58
avar mm, sleep:)
audreyt naps a bit :) & 02:02
putter back 02:06
yes, what audreyt said. 02:07
and turning up core problems will give p5p something to chew on, since apparently there is interest 02:08
02:20 Caelum joined 02:27 seano joined 02:28 yhsuan joined
devbot6 dev: WikiStart edited by malon <dev.pugscode.org/wiki/WikiStart> 02:32
putter wikibot++ 02:42
03:01 seano joined
devbot6 dev: WikiStart edited by audreyt <dev.pugscode.org/wiki/WikiStart> 03:45
03:53 rashakil_ joined 04:01 nperez joined 04:14 rashakil_ is now known as rashakil 04:17 forsaken joined
putter TimToady: in S05, shouldn't "token ident" and regex ident be \w* rather than \w+ ? 04:25
04:41 amnesiac joined
PerlJam putter: perhaps in the language exemplified by that example, all identifiers must be at least 2 characters :) 04:45
of course, S02 says "An identifier is composed of an alphabetic character followed by any sequence of alphanumeric characters. The definitions of alphabetic and numeric include appropriate Unicode characters. Underscore is always considered alphabetic." 04:46
depends on how you interpret "any sequence" really. 04:47
04:53 seano joined
specbot6 r13591 | larry++ | wrong quantifier on ident noted by putter++ 04:55
putter wonders if w is <alphanum> 05:00
05:01 Aankhen`` joined
putter hmm, so does unicode alpha always include _, or is <alpha> ne <unicode alpha> ? 05:02
TimToady unicode alpha doesn't include _ 05:03
devbot6 planet6: Audrey Tang: Intermission over. <pugs.blogs.com/pugs/2007/02/intermi...v.html>
TimToady \w does, dunno about <alpha>
I think <alpha> is probaby unicode alpha
just to be consistent 05:04
putter blech, what ugly code. sigh. 05:16
svnbot6 r15313 | putter++ | yet_another_regex_engine - Began p6 regex support. Parrot rx_* tests currently 36% ok, 12 sec. 05:17
putter It would be nice to have a cannonical printed form for Matches. Perhaps ideally one line. So, for instance, the parrot rx_* tests could validate the entire match result, rather than just spotchecking it. 05:22
audreyt putter: Match("all matched": "positional", "captures" :named("capture") :another("named")) 05:30
something like that?
putter yes, I think. 05:32
audreyt that seems as canonical as I can fathom 05:33
putter perl Regexp_Module.pm --repl (subliminal advertising "tryyyyy itttt") shows its results as <1,"a",[],{},0,1> 05:34
audreyt though there's still the ok/from/to info
putter i really don't understand Match("all matched": "positional", "captures" :named("capture") :another("named")) 05:36
audreyt it's a piece of perl 6 that constructs a Match object with the slots of $$/, @$/ and %$/ spelled out
it doesn't have the ?$/ $/.from $/.to info, though
though ?$/ (whether match succeeded) can be represented by encoding failure as simply Match() 05:38
putter a(b) --> ???
audreyt ?eval :named("capture")
evalbot_r15306 ("named" => "capture")
TimToady ?eval Match.true 05:39
?eval Match.true
evalbot_r15306 Bool::False
audreyt protoobj is false.
tene ?eval Match("all matched": "positional", "captures" :named("capture") :another("named"))
evalbot_r15306 Error: No compatible subroutine found: "&Match"
audreyt ?eval \("all matched": "positional", "captures" :named("capture") :another("named")) 05:40
evalbot_r15306 CCall "perl" CaptMeth {c_invocant = VPure (CaptMeth {c_invocant = VPure (MkStr {unStr = "all matched"}), c_feeds = [MkFeed {f_positionals = [VPure (MkStr {unStr = "positional"}),VPure (MkStr {unStr = "captures"})], f_nameds = fromList [("named",[VPure (MkStr {unStr = "capture"})]),("another",[VPure (MkStr {unStr = "named"})])]}]}), c_feeds = [MkFeed {f_positionals = [], f_nameds = fromList []}]}
audreyt ok... that's a reminder that I should finish the MO bridge ;)
(it's a new-land Capture object that doesn't take methods yet)
tene Expand "MO"? 05:41
audreyt metaobject.
since haskell has no native object system
we invented one for it
lives in src/MO/*
tene Thanks. 05:42
audreyt np :)
putter a(b) --> ??? Match("a",[Match("b")]) ??? but that doesn't seem to be what you were suggesting...
audreyt putter: something like 05:43
05:43 seano joined
audreyt Match("ab": Match("b")) 05:43
or, abbreviated:
\("ab": \("b"))
it may be reasonable to simply discard from/to info and compare the capture tree. maybe. 05:44
putter "if it isn't tested, it doesn't work" 05:45
05:45 agentzh joined
audreyt \(0;2;"ab": \(1;2;"b")) 05:46
better?
putter is confused by all the ; and : ;)
TimToady and what units are those numbers? 05:47
tene :)
audreyt \(FROM ; TO ; MATCH : POS1, POS2, POS3 :N1(NAMED1) :N2(NAMED2))
05:47 dmarkham78 joined
audreyt TimToady: as this is part of spec-based test, I expect it to be whatever unit the test operates under 05:48
TimToady okay
I think : binds tighter than ; 05:49
audreyt it does
\(MATCH: POS1, POS2 :N1(NAM1) :N2(NAM2) ; FROM ; TO) # this, then?
putter probably want unit constructors so 1 grapheme can .perl as grapheme(1) or somesuch 05:50
though for here, bytes is the lowest common denominator, and knowing bytes, you know everything, yes? 05:51
audreyt hm. if the MATCH: is not specially crafted by "return" then we just write from and to 05:52
a(b) ==> \(\(;1;2);0;2) 05:53
TimToady loses information differently, anyway...
audreyt a(b) ==> \(0;2;\(1;2))
putter (see previous remark ending in "then it doesn't work") 05:54
05:54 dmarkham78 left
audreyt why? 05:54
when we just record the matched string, sure it's bogus because it can occur multiple times.
but by knowing the original string-to-match, doesn't from/to encode the matched string uniquely? 05:55
failing to see why it doesn't work
putter Murphy. If matches are permitted to be confused about what their matched text is, they will be.
audreyt fair enough, spell it out then.
putter So yes, it is a viable minimal rep. But that minimalism is at odds with the testing objective. 05:56
audreyt kk.
TimToady or include enough info to retreive the original uniquely
not clear that .WHICH is going to be less than the whole string, though... 05:57
putter I suppose you could separately test that the minimal constructors actually work, and then rely on object comparison with the test result.
Paranoid object comparison.
audreyt \('ab':\('b';1;2);0;2) # then
TimToady $a ==== $b
audreyt it doesn't look that bad, actually :)
tene need more '=' I think 05:58
TimToady $a =:=:=:=:= $b
putter considers hitti
TimToady maybe 'ab'(1,2) can be some kind of weird constructor 05:59
putter ng the unicode table to generate a stream of alternating equality-like symbols. but no.
TimToady er, 0,2
putter Is the capture-match relationship described somewhere?
audreyt conceptually cleaner. doesn't save space/typing, though
S03.pod:the C<Match> object is a kind of C<Capture>, which has these capabilities. 06:00
TimToady thing is, 'ab' and (0,2) are isomorphicish
audreyt yup.
TimToady and I was thinking along the lines of sigs that re-analyse an arg: :( $node ($left,$right) )
audreyt so instead of calling &ab like in perl5, this time we annotate Str? 06:02
TimToady seems like one ought to be able to construct an arg similarly
not necessarily string, but some notation that builds a tree node as one thing.
I suppose that just means the invocant is also a capture... 06:03
audreyt yeah.
TimToady \( \("ab": 0,2): \("b": 1,2)) or some such
audreyt we already have a generic xexpr
*nod* 06:04
TimToady or \( \("ab": :from(0),:to(2)): \("b": :from(1),:to(2))) 06:05
audreyt though conceptually it's at the wrong level
a match can from 0 to 2
but has a completely irrelevant $$/
built from {return}
hence the choice of outofband semicolon 06:06
TimToady seems like returns makes it too easy to lose positional info 06:07
audreyt uh how? 06:08
putter 1am. good night all &
TimToady if you return your own object it's unlikely to have .from and .to 06:09
I foresee someone building up a tree of these and then trying to produce a meaningful error message
and saying "oops"
audreyt mm? the Match still responds to .from and .to
it just delegates all other methods to that obj
if you want we can even shift to .:from and .:to 06:10
TimToady hmm
audreyt so the obj is never actually replacing the Match
of course we still have the positional trees
06:11 agentzh left
TimToady I guess I'm actually too tired to think abou this now 06:11
audreyt :) sleep then 06:12
TimToady well, I'd just like to say that I'm glad you're recovering. 06:13
so...I'm glad you're recovering.
pace yourself. :)
06:14 BooK_ joined
TimToady zzz 06:14
&
audreyt :D
that I will.
I'll try to contain my excitement at having my brain back :D
06:17 charsba__ joined 06:19 amnesiac joined, rashakil joined, yhsuan joined, ashelyb_ joined, araujo joined, dduncan joined, Khisanth joined, polettix joined, upd joined, dec joined, smash joined, Ziggy6 joined, czth_ joined, [particle] joined, bsb joined, nekokak joined, rafl joined, cognominal joined, charsbar joined, awwaiid_ joined, ajs_home joined, xerox joined, stevan_ joined, Debolaz joined, prism joined, mdiep joined, idiotmax joined, Maddingue joined, mj41 joined, SCalimlim joined, lambdabot joined, masak joined, miyagawa joined, ludwig- joined, ruz joined, diotalevi joined, jdv79 joined, wilx joined, GeJ joined, autark_ joined, broquaint joined, svnbot6 joined, LCamel joined, jabbot joined, jiing joined, scw joined, Yappo joined, jrockway joined, devbot6 joined, hcchien joined, pjcj joined, cj joined, felipe joined, jql joined, perlbot joined, knewt joined, Grrrr joined, cls_bsd joined, meppl joined, statico joined, revdiablo joined, moritz joined, shay|p6 joined, nipotan joined, PerlJam joined, Juerd joined, wolverian joined, tcliou joined, kcwu joined, _jcrigby joined 06:24 brad__ joined
brad__ hi 06:24
tene hi 06:25
brad__ not much going on? 06:26
tene Not anymore.
brad__ just missed the excitement and high drama?
tene You missed the discussion about potential canonical representations of a Match.
brad__ hmm, would have been interesting to listen to (doubt i could add anything intelligent) 06:27
tene So stay logged in all the time and read the scrollback whenever you come back.
brad__ nah, too expensive to leave my pc on all the time
audreyt brad__: irssi+screen solves that problem :) 06:28
brad__ i am on irssi+screen now
audreyt a screen that lives on another host :)
brad__ ah
audreyt for example, perlcabal.org, aka feather
brad__ yes i have access to about 10,000 or so idle servers at yahoo i could use
audreyt is the host many of us uses :)
(I was about to say that :))
brad__ irc logs are always there too 06:29
audreyt yeah, but with offsite screen people can /msg you etc
brad__ audrey, i gave up trying to use darcs to get pugs...reverted to svn
"/msg"...i learn something new every day 06:30
guess i could rtfm on irc some day
audreyt oy. I broke darcs a week or so ago
fixing.
brad__ no problem, i have the svn checkout
speaking of haskell, have you tried "goa"? 06:31
ghci on acid
i would love to see perl -de 0 do stuff like that
a repl that talks back....intelligently! 06:32
audreyt fixed. 06:33
brad__ wow you are fast
svnbot6 r15314 | audreyt++ | * Fix darcs link at pugscode.org: The canonical URL is darcs.pugscode.org/. 06:34
lambdabot Title: Index of /
brad__ well i have to scram but thanks for fixing darcs audrey 06:36
take care and good night!
audreyt have fun :) 06:37
06:42 Aankhen`` joined 06:55 devogon joined
ingy happy new year audreyt 06:57
audreyt ingy: thanks!
though I ended up spending the new year alone in this cell^Wroom 06:58
ingy are you in a hospital?
audreyt yes.
(see pugs.blogs.com/)
lambdabot Title: Pugs
ingy well I hope they are hospitable :)
audreyt they in fact will discarge me tomorrow :) 06:59
ingy better than a Hostel; I hear they can get hostile
oh yay!
audreyt yeah. small price is no methylphenidate for me in the next month or so 07:00
(it taxes liver; also it masks tiredness)
but yeah, definitely beats liver failure
tene Hmm. 07:01
07:02 wilx joined
ingy isn't estrogen hard on the liver? 07:02
tene Should pugs play nice with perl5 modules that uses XSLoader?
audreyt ingy: yeah :/ so no estradiol for me, either. this is going to be fun
tene That is to say, it doesn't seem to be. Is that expected?
audreyt $ ./pugs -Mperl5:YAML::Syck=Dump -e 'say Dump [1,2,3]' 07:03
---
- 1
- 2
- 3
worksforme (YAML::Syck uses XSLoader)
tene What is the "=Dump" syntax?
audreyt same as in perl5. 07:04
tene Hmm.
ingy glad to hear you are doing so well audreyt. can't wait to see you in April. good night...
audreyt perl -MCGI=:standard
ingy: g'nite!
dduncan nice that you're writing blogs again ... those are interesting to read 07:05
audreyt :)
hello 07:07
dduncan hello
audreyt (er. that was my gf.)
dduncan who?
or did you type in here by mistake? 07:08
nevermind
audreyt no, isis typed "hello" at my keyboard whilst I was away. I guess that's a hint that I should bbiab :)
or rather, bbl...
dduncan I just figured that out, hence the nevermind
audreyt :D
so, uhm, bbl :) *wave* & 07:09
dduncan yes
get lots of rest
07:10 mdiep joined 07:19 Aankh|Clone joined 07:20 seano joined 07:29 marmic joined 07:30 czth__ joined 07:34 Aankh|Clone joined 07:36 Aankh|Clone is now known as Aankhen`` 07:38 ashleyb joined
gaal mooses 07:41
tene Any examples yet of wrapping a C library in perl6? 07:43
Aankhen`` sneaks up behind gaal and whispers "Boo!".
gaal Aankhen``! hey :) 07:45
Aankhen`` Hiya. ^_^
What's shakin'? 07:46
gaal tene: nope, but if you're looking for p5 there's the newly revived FFI.pm...
Aankhen``: just random moose here and there... hopefully much more hacking to be resumed! 07:48
Aankhen`` Kewl.
07:49 ashleyb joined 08:10 iblechbot joined 08:19 drrho joined 08:28 jisom joined 08:33 jisom left, jisom joined 08:34 seano joined 08:35 rizo joined 08:40 seano joined 08:50 Psyche^ joined 09:01 Psyche^ is now known as Patterner 09:05 elmex joined 09:16 Aankhen`` joined 09:23 Aankhen`` joined 09:27 lisppaste3 joined 09:50 rfordinal joined 10:18 buetow joined 10:25 seano joined 10:54 pfarmer joined 11:21 chris2 joined 11:43 dec_ joined 11:53 prism joined 11:54 dduncan left 12:04 mjk joined 12:16 zipf joined 12:20 nipotan is now known as nipotaway 13:17 rindolf joined 13:25 Limbic_Region joined
elmex yay, GPWS! 13:31
13:39 IllvilJa joined 13:54 mjk joined 14:06 ProperNoun joined 14:25 ruz joined 14:34 forsaken joined 14:39 amnesiac joined 14:44 vel6608 joined 14:45 mdiep joined 14:51 lumi joined 14:58 rfordinal_ joined 15:00 mdiep joined 15:19 rashakil_ joined 15:20 rgs is now known as aigrgs 15:21 weinig|away is now known as weinig 15:41 Schwern joined 15:53 [particle] joined 15:54 CardinalNumber joined 15:55 avar joined 15:58 rhizo joined 16:05 Limbic_Region joined 16:07 ruz joined 16:08 ashleyb joined 16:14 thepler joined 16:19 Schwern joined 16:37 weinig is now known as weinig|away
specbot6 r13592 | larry++ | Conjecturalized the delegation-via-hash syntax for now. 16:37
17:09 kisu joined 17:14 Ziggy6 left 17:18 upd joined 17:21 upd joined 17:28 avar joined 17:40 awwaiid joined 17:49 silug joined 18:01 ashleyb joined 18:07 beppu joined 18:15 CardinalNumber is now known as ProperNoun 18:20 jisom joined, jisom left 18:21 jisom joined, jisom left, jisom joined 18:23 bernhard joined 18:39 bonesss joined 18:51 Ziggy6 joined, Ziggy6 left 18:52 justatheory joined 18:56 prism joined 19:01 rindolf joined 19:04 justatheory joined 19:12 VanilleBert joined 19:15 ApeDosMil joined 19:23 kisu left 19:30 CardinalNumber joined, CardinalNumber is now known as ProperNoun 19:50 aigrgs is now known as rgs 19:56 charsbar_ joined 19:57 Squern joined 20:15 larsen_ joined, pfarmer joined 20:16 pfarmer left
gaal maudnewton.com/blog/?p=7300 # -lcamel 20:16
lambdabot Title: Maud Newton: Blog
rindolf gaal: did you see the video on youtube about Vista Voice Recognition and writing a Perl script? 20:17
gaal I did. 20:18
rindolf gaal: yes, it was very amusing.
Press Caps lock.
"Info"
jisom he never tried upper case info! 20:20
I don't know if that'd work 20:21
20:25 dec_ is now known as dec 20:34 weinig|away is now known as weinig 20:41 Daveman joined 21:13 Aankhen`` joined 21:38 bsb joined 21:42 ruz joined 21:49 mrossetti joined 21:53 ashleyb joined 22:07 allbery_b joined 22:08 Psyche^ joined 22:09 bonesss joined 22:13 xerox joined 22:16 evalbot_r15306 is now known as evalbot_r15314, Psyche^ is now known as Patterner 22:34 weinig is now known as weinig|fooding
ashleyb is there a web interface to browse the source code the repository where the official Synopsis' live (i.e. not the pugs repository trac interface)? 22:36
[particle] svn.pugscode.org ? 22:43
bsb ashleyb: like svn.perl.org/perl6/doc/trunk/design/syn/ ?
lambdabot Title: Revision 13592: /doc/trunk/design/syn
ashleyb yes that's it -- hmm but there's no diff-ing capabilities... 22:44
that's really what I was looking for
22:56 integral_ joined
bsb ashleyb: checkout a copy with svn and diff locally: svn diff -r PREV:HEAD S29.pod 23:10
ashleyb ok cool, thx 23:11
bsb nws 23:13
23:16 weinig|fooding is now known as weinig 23:17 _newbie_ joined 23:21 polettix joined 23:44 putter joined