Pugs 6.2.8 released! | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6 | www.geeksunite.net
Set by autrijus on 13 July 2005.
ImustDIE has anyone had any luck getting perl 5 modules to work in pugs on windows? 01:45
stevan hmmm, svn.openfoundry.org is still down? 04:28
stevan really needs to install svk
nothingmuch morning 06:37
chromatic: since you're always reading logs... ping ;-) 06:38
our supermarket shipment has arrived 09:35
we got this wonderful kind of chocolate
"aerial" instead of "airy"
=P
10:05 Maddingue__ is now known as Maddingue
clkao is openfoundry fucked again? 10:47
forunately most of you have svk now...
nothingmuch =D 10:50
clkao++
masak clkao: i don't grok svk yet 11:13
i like it, but it's difficult
my current project is to set up a local svk depot for personal use 11:14
clkao see if svk.elixus.org/?VisualBook helps :) it's hot
masak thx
clkao++ # visual book looks very promising 11:15
just what i needed
lunch &
Aankhen`` SVN is down? 11:49
That's it. 11:50
SVK, here I come.
Of course, I am completely ignorant of how that makes a difference, but it's as good an excuse as any. ;-)
nothingmuch Aankhen``: svk.elixus.org/?VisualBook 12:06
clkao just mentioned it an hour or so ago
nothingmuch makes moos sounds 14:02
by moos i mean moose, ofcourse
QtPlatypus Moos would be cow sounds. 14:03
masak makes mousse sounds 14:30
i guess that means i'm silent 14:31
nothingmuch www.squeak.org/ 14:33
QtPlatypus amkes platypus sounds. 14:35
nothingmuch is that the macos chime?
autrijus (tropical cyclone)-- # likely to delay svn.openfoundry.org's revival 14:36
(and also makes life less fun -- can't go outside for the next 48+ hours)
QtPlatypus (This reminds me of the clasic OO example) 14:37
nothingmuch autrijus: as if you would go outside on a nice day
autrijus stares at random nonhealty fridge food
nothingmuch: oh, I would usually go outside for food.
nothingmuch or diet coke =)
autrijus that too.
nothingmuch is it really bad? or just bad enough that you can't carry your laptop with you? ;-)
autrijus but this one is the strongest in at least 5 years
and taipei will be among the primary affected areas... it's landing in 2 hours iirc 14:38
already the wind makes it very hard to walk on the street.
nothingmuch so you've got 2 hours to stock up on food =)
autrijus yeah, just did
nothingmuch you are confusing
autrijus hm? 14:39
nothingmuch i thought you just said you are not going out
but then you said you just did
autrijus I thought _you_ are confusing -- I mean the confusing ranting on MMD in the typeclasses thread with dubious relevancy
nothingmuch so i got confused
it's very relevant 14:40
autrijus I just returned to my place; I can't go out in the next 48 hours.
nothingmuch well, that means you're bound to be more productive
no time wasted walking where there is no place to sit and type
=D
autrijus oh and why would camels deny their lambda nature? that's even more confusing of you
nothingmuch lambda camels in denial deny parts of perl 6, not their lambdaness 14:41
autrijus that is a curious use of the word 'denial'
but ok, that's less confusing :)
nothingmuch nevermind, it was just a silly joke =)
oh my, darcs uses preprocessor macros 14:42
what the hell for?
autrijus the line between silly jokes and serious realities in p6l is so blurred it's a fog
mm, platform or ghc-version #ifdef maybe?
nothingmuch why would someone need preprocessor macros for a functional language for anything except optional features?
Subject: [darcs-devel] darcs patch: Rename bound variable in fromJust macro. 14:43
that doesn't sound like it
autrijus aw. well, I guess TH is not popular enough yet
nothingmuch #define fromJust (\m -> case m of {Nothing -> bug ("fromJust error at "++__FILE__++":"++show (__LINE__ : ....
that doesn't look like it
autrijus aha.
nothingmuch and the commit message says: Could we please use Lisp macros instead?
autrijus it's for adding positions of errors
nothingmuch (presumably TH is good enough to fill this, right?)
autrijus yes, as is the mundane "assert" feature of GHC. 14:44
but maybe the contributor knows neither of this... maybe
nothingmuch submit a patch and make darcs a little less hairy?
Julisz is big on Haskell mojo, so unlikely
autrijus well, then maybe it is considered cleaner
(which in a way it is)
nothingmuch i dunno
autrijus I don't quite care. :) 14:45
nothingmuch regardless, darcs has been getting a surge of patches lately, and git progress is nice... it's making me happy =)
autrijus cool =)
nothingmuch ".... but anyone who ever had a heart..." 14:52
nothingmuch pathologically avoids link errors on linux (which work on aix, and I haven't even tested on other platforms))
putter 53m/s, yipes! www.cwb.gov.tw/V4e/typhoon/news/typhoon-news.htm 14:53
(it's so nice to see weather info in m/s... happy sigh)
nothingmuch our forcast where I live is: hot and dry 14:54
a little hotter, just as dryu
less hot, dry
slight humidity (hot)
then we get hamsin, which is wonderful weather
sometimes sunlight becomes yellow, because of all the sand
like, a real sick mustard type yellow 14:55
then after that it's hot and dry
then we get 2 months of winter
autrijus 53m/s is nothing... it's expected to raise a lot more tomorrow 14:56
putter (effect of typhoon at 10 Mm distance... bubkis;)
nothingmuch 53m/s is nothing, I can take it
=P
how do the sky scrapers stay upright? 14:57
autrijus by some engineering feat
bubkis?
the first google hit says "Bubkis --> can be used to explain Anything! It is a noun *and* an adjective! How exciting!"
putter satphoto www.pagasa.dost.gov.ph/wb/tcupdate.shtml
autrijus ooh nice. 14:58
nothingmuch what a pretty page
putter bubkis n. (Yiddish) Zero, nothing (s.a. nada). via American-Australian Slang Dictionary via OneLook.
nothingmuch the bubkis one, that is
QtPlatypus nothingmuch: They put moddel skyscrapers in wind tunnels. Blow typhoon streanth winds at them. The models that don't get blown away get built.
nothingmuch QtPlatypus: right, but even with good design it seems difficult 14:59
putter "The models which do get blown away get broken, so they have to build new models."
autrijus lol
QtPlatypus nods "I worked with an aritecture department. There was alot of maths involved" 15:00
autrijus "Why do we speak in 'quotes'?"
nothingmuch "... you know, i've seen every movie you've been in ..."
autrijus "I get it! It's a form of 'masquerade' where we pretend to speak with the voice of someone else!" 15:01
putter I intended "this a as a way of saying something with an alternate inflection"...
yes
:)
autrijus ":-)" 15:02
putter lol
nothingmuch "i'm lou reed"
putter pity you can just go up 10km. cyclones are soooo flat. ;/ 15:05
s/can/cant/
nothingmuch changes to the grateful dead 15:08
putter ok, putter's objective for the day (unless someone has something better): extract pattern strings from Rules (Internals::foo: Rule->patternstring (easy?), Internals::bar: 'name'->Rule (less so)), then 15:10
Perl6::Grammar::Patterns: new(rxstring) -> hash of needed pattern strings 15:11
as a prelude to a slow native rx engine. So everytime people encounter a PGE coredump, they dont give up and go away. 15:12
That's the thought, anyway. 15:13
autrijus native as in p6 native?
putter yes
autrijus using pcre to parse rules?
putter try/die backtrack so nicely :)
autrijus nodnod 15:14
putter re pcre... yes, I can do one of those (I actually have most of it already written...:) several times:(... and it's fast... but you get burned the minute you want left recursion (which the p6 version can handle, slowly, with a maxdepth), and you sometimes even get burned with right recursion (dunno why). so... 15:16
Thought it would be nice to have a version that is "fully correct, and no excuses". 15:17
autrijus I think using pcre to do PGE style parsing is a very worthy goal.
I mean, to do parsing of Perl 6 Rules, not with Perl 6 Rules . 15:18
nothingmuch wow, automator is actually useful... www.macosxhints.com/article.php?sto...9123343874 15:19
putter k. first step is getting pattern strings back out of rules. (well, not really a prerequisite, but esthetically it makes more of a difference (vis "rulex "name" "pattern"") than I expected. Grounding in a way.
stevan morning guys 15:20
autrijus you mean out of VRule structures?
hey stevan-san
stevan autrijus: I assume no release today :)
autrijus: many thanks for the papers links :)
putter automater is... hypercard?
autrijus stevan: no prob... I got quite a few more
QtPlatypus liked hypercard.
stevan autrijus: I have 2 more to add to it on Method Resolution order
autrijus stevan: *nod*... not with the svn down with typhoon
I guess we need to suffer another 48 hours of withdrawal 15:21
stevan really really needs to install svk
autrijus do it now! :)
putter autrijus: yes. though when I looked at it v.briefly a while back, getting from rule name to Rule was harder. can just parse a "<" sigil :) (??)
stevan autrijus: I got breadth first traversal working in the metamodel
autrijus putter: huh? it's just a normal lookup
putter s/was/seemed/ s/can/cant/ sigh
stevan and I am going to try and implement the C3 MRO stuff today (if I have time)
autrijus evalVar "<rulename"
putter oooo. putter goes to hack... 15:22
hi stevan
stevan hey putter
autrijus it's currently all in the '<*' global namespace
"<*foo" etc
the < is sigil and * twigil 15:23
see Prim.Match
nothingmuch < as a twigil is so weird
autrijus < is a sigil not a twigil
putter: once you read a (VRule rule) out, "rxRule rule" gets you the string back 15:24
it's all in Pugs.Prim.Match.doMatch
putter thanks!
autrijus however, the hackathon has the < sigil removed
it should be
&rule:<foo>
now
putter rule:
autrijus right
but didn't get a round tuit. 15:25
nothingmuch mmmmmm.... this is good music
putter k. 15:26
autrijus stevan: ooh (re: bfs traversal) 15:28
stevan_ autrijus: you gave me your round tuit
then I gave it to nothingmuch 15:29
autrijus oh!
stevan_ so it is his fault :)
nothingmuch i've gotten to many things, don't be an arse
stevan_ autrijus: I have not figured out the real value of BFS though
it's neat, but thats about all
autrijus nod 15:30
stevan_ it is very counterintuitive as a dispatch order
the C3 stuff is cool though, it makes MI make sense :)
Python 2.3 new style classes use it too
autrijus MI? multiple inheritance?
stevan_ yes
autrijus ah. *nod*
I think I really should grok Scala 15:31
stevan_ I was actually reading about Scala the other day too
autrijus it seemed to have thunk of lots of issues p6l only touched briefly
stevan_ it looks nice
yes, traits being one of them
autrijus it also has sane generics
and it has case classes! 15:32
aka tagged unions
stevan_ case classes?
ah
ok
autrijus which is my #1 pet feature missing in p65 :)
s/5//
well, p5 too
stevan_ :D
autrijus scala.epfl.ch/intro/caseclasses.html
stevan_ wow, that is kind of werid 15:35
I like the decomposition though
that is very nice
reminds me of erlang's pattern matching
how it can reach into the list and match 15:36
but this reaches into the classes itself
(assuming I am groking it correctly)
autrijus yes.
Scala seems to have a very rigorous syntax influenced primarily by ML and Java 15:38
which is extremely different from perl 6's syntax
stevan_ yes, it does kinda of look like that
autrijus but it's closest to p6 in terms of semantic model, as far as I've seen 15:39
stevan_ hmmm, Views are intersting too
they almost look like anon classes with generics
autrijus but the key with views is they are retroactive abstraction 15:40
you can impose a view on random 3rd party code without their cooperation
stevan_ yes, first class adaptors is maybe a better term?
autrijus right.
which P6's Roles sort of should do 15:41
but that part is again underspecced
stevan_ yes, but not as easy as this does
autrijus nodnod.
stevan_ actually with the '$.foo handle ...' delegation and Roles it might not be too hard
oh wait, I take that back 15:42
putter (aside: btw, re MMD, goo uses mmd exclusively, and had (was going to have?) something which nicely boiled down the dispatch tables to something tiny.)
hmmm, scala.epfl.ch/intro/views.html
stevan_ putter: the problem with creating dispatch tables is that it almost requires a closed class 15:43
otherwise you have a lot of code to detect subtle changes and destroy caches
putter or fast recalculation (goo)
autrijus and it has junctive types :) scala.epfl.ch/intro/compoundtypes.html
putter but yess, you still have the detection issue
stevan_ putter with fast dispatch, you never need to recalc or detect 15:44
I think that will work best with Perl 6
it spreads out the problem
autrijus is playing the Scala mp3... 15:45
putter hmm, so in p6, can one have lexically scoped views of the object graph? { let Str is RubyStr; ... }
stevan_ mp3?
autrijus it reminds me of the Slylandro music in Star Control 2
" Music
Our P+R department has recommended we popularize our language with a charts-compatible techno-dance-trance song. This has resulted in production of "Scala - genau!", which you can find here: "
lamp.epfl.ch/~buraq/trax/scala_genau.mp3 15:46
(in the "Community" page)
stevan_ thats just odd
however, now Perl 6 needs a theme song
autrijus larry gave one 15:47
stevan_ ??
putter oh, boo, hiss. views just create a distinct proxy object.
stevan_ putter: yes, they are just sugar 15:48
but sweet sugar
autrijus but it's kind of an antitheme
putter wants to tweak the _dispatch_, so o.foo;#->bar {use Hee; o.foo; #->hee} 15:49
autrijus he used it in his 2003 state of onion as a anti-table-of-content
o/~ We the unwilling, / led by the unknowing, / are doing the impossible / for the ungrateful. / We have done so much for so long with so little / We are now qualified to do anything with nothing o/~
putter :)
stevan_ :D
now all we need is a nice techno dance beat 15:50
and we can sample larry's voice saying that
autrijus right
stevan_ nothingmuch can lay down the bass track, and luqui can do the piano 15:51
putter there is an app... read the following, upload the mpg, get your own festival voice.
stevan_ nice
putter (festival is open source voice synthesis system)
nothingmuch stevan_: not now I can't
my left arm is beat up 15:52
stevan_ ah yes, I forgot
ok time for me to do things in the "real world" 15:53
putter Is there a name for wanting to lexically mutate what the object graph appears to be?
stevan_ autrijus: good luck with the typhoon
putter: insanity :P
nothingmuch putter: see s06 about WANT
putter ;)
stevan_ adios all &
putter bye stevan_ ;-)
nothingmuch ciao stevan_
autrijus stevan_: ciao
and I'll survive this :) 15:54
LCamel++ # driving to svn.openfoundry.org to fix the machine 15:56
LCamel++ # hopefully he'll get back before wind gets impossible 15:57
putter Object graph "views" look like the could be a very nice feature. "proxies without a second object". Nicely weaken the coupling between a classes's semantics and syntactics (eg, method names). Makes lots of things (versioning, alternate api's, DSL's without underlying object api's leaking in, etc) much easier.
Ah well. Perhaps just macro infix:<.>... 15:58
yipes. that's dedication.
autrijus or madness. but yeah. 15:59
LCamel: do take care of yourself... if it gets difficult don't push it
putter Hey, every language needs myths... "The lone lambda camel, driving through... 16:00
autrijus ooh, never thought of LCamel's nickname that way
putter Seconded: it's just a vcs. It could all burn and we'd cope. Injuries are real.
The alaska iditerod(sp?) has a nice expression: "It's just a dog race." In a dangerous environment, you have to keep your eye on what really matters (people, injury, death), and what really doesn't (everything else). It's just really easy to confuse the former with the latter if its been a while since youve seen one of the latter. 16:03
autrijus one of the former, you mean. 16:04
putter oops. yeah. 16:05
nothingmuch: re want, that's not quite it. that requires participation of the object. the core idea is the object doesn't have to anticipate use. client code can say {use DylanishHashes; ...} and suddenly all hash lookups, to whatever object, have a slightly different semantics (which I dont remember). 16:07
nothingmuch huh?
putter Exactly the same nitch as proxy objects, but without their cripling attribute of introducing a second object. 16:08
nothingmuch webkit.opendarwin.org/ <-- yummy!
putter You want to be able to pass around the single object, and simply have it look different when you want it to.
clear, or no? 16:09
nothingmuch are you sure you are passing the right continuation
putter who, me? 16:10
autrijus 23:54 < nothingmuch> putter: see s06 about WANT
I think putter was invoking this CC
putter re svk.elixus.org, <title> could use update (eg, "svk homepage") random thought. 16:11
yes
autrijus clkao: change config.yaml for the kwiki page to say SVK not Kwiki maybe? 16:12
putter want is something an object calls to inquire about its environment, and invoke some behavior it knows about.
I want something lexically scoped which rewrites $obj.foo() calls, depending on $foo type. 16:13
_runtime_ $foo type. 16:14
Ie, I want to tweak object dispatch.
Proxies get used for several things. Sometimes, having a proxy object which is distinct from the proxied object is fine. Eg, when using a proxy to access a remote resource. The proxied object isnt something you are going to be dealing with directly. But if the proxied object is in the same space as the proxy, they things get unfortunate. 16:16
You create the proxy, and call something which really wanted a diffent proxy on the original, and it both calls something which wants the original, and something which wants a third flavor proxy on a forth flavor proxy of the original. Just isnt going to happen. 16:17
nothingmuch sorry, there is pizza 16:18
you have been preempted
putter ;) priorities.
For the backlogging... you want a "proxy" appearance without sacrificing object identity. 16:19
autrijus you want =:= for things that looks different but is actually the same?
putter yes.
autrijus a novel concept indeed 16:20
so you want objects act as polymorphic functions
putter you can do it with foo($o) calls. just not (without simply a macro infix:<.>) for $o.foo() calls.
autrijus that is what I mean.
yes.
I find this a curious concept. what is a use case? 16:21
putter hmm... I think so. teasing apart objects as identity and as storage from objects as dispatch participant.
use cases...
autrijus actually p5's OO model already has them teased apart; identity is of a reference address, storage can be managed in various ways (even Lexical::Attributes), and dispatching is handled strictly at runtime via function calls in the blessed package 16:24
putter you're creating a DSL. with multimentods, operators, etc, you have a lot of control over the language. but each "external" objects you use wades in like a bull in a china shop with it's own arbitrary sublanguage (its methods/api). Which is unlikely to fit, is likely to change (grow) to be an even poorer fit.
autrijus but what's wrong with normal facade objects? 16:25
oh, I see, you want real one-to-one correspondence that fools even =:= testing. but why's that useful? 16:26
(one to one as in "external" object vs "internalized" proxy)
putter if "everything is a dsl", then everything is constantly stripping and rebuilding facades.
autrijus if all the informatino is static then we can compile them away like newtypes 16:27
but yeah, in runtime there's going to be a performance hit.
putter and everyone pays... simple sub calls f, gets back object, wants to know if its "different", has to strip/cannonicalize it to check. rather than f simply tweaking how dispatch occurs in its scope. 16:28
autrijus (I'm still thinking that this belongs to "hard things should be hard" category) 16:30
(not in the sense of hard to write in, but in the sense of performance hit is acceptable)
but maybe I've been brainwashed by the Class::* modules, which all makes everybody pay 16:31
putter ah, but dealing with it addresses other issues. like versioning. I can have a single object, which appears to obey completely incompatible apiv1, apiv2.3, apivxx... 16:32
user just says, {use FooApi3.2; ...} and all Foo's look right... and can be exchanged with other code written with different Foo api's in mind. 16:33
autrijus so by "single object" you mean "single class" 16:34
if so, adhoc views also deals with this, except via creation of dynamic proxy objects
and with adhoc views we can even apply this in an object-by-object basis 16:35
putter no no, my $foo = gimme_a_foo(); $foo.mumble("has Foo-7.12 semantics."); {use FooApi3.2; $foo.mumble("you better have 3.2 semantics!!");} 16:36
autrijus and that is... lexical? 16:37
putter yes!
:)
autrijus {use FooApi3.2; bar($foo)}
bar gets a 7.12 object?
this feels very fishy :) 16:38
putter ah, that's the core point. bar gets $foo. $foo has some default appearance, but appearance isnt something that gets passed around.
autrijus right
I grok your point
putter as it is with proxy objects
autrijus well no, you can pass the proxy objects around
and it will stick to the proxied interface 16:39
putter yeah, but then either you play magical stripping games, or you get hairy "I gave my object to foo, and got it back, but it was wrapped with ten proxy objects !&! a third of them undoing the effects of another third !?!" 16:40
autrijus (nod, but we know that the magical stripping games can be sugared) 16:41
but I think I know what you mean now. hrm
putter another use case... CPAN...
autrijus the "objects" here are like functions with implicit parameters 16:42
that controls its dispatching, and where you can lexically modify them away
it is really very far from the p5 model :)
putter in cpan, you so often are faced with "well, I'm glad they wrote it, but gaahhhhh, some people just should be allowed to write apis". or ...
s/should/shouldn't/ 16:43
autrijus nod, see capitalization.pm
putter nifty :) 16:44
autrijus LCamel++ # it's baaack! 16:45
putter with p6, doing {use F3; mumble($foo,"you get sematics 3!")} is a no-brainer. and perhaps with macro infix:<.> it will be too. but I think this will be an important pattern, so I mention it occasionally... 16:46
# yay!
so many languages with similar semantics regrettably fork of syntactics. so many objects with ... 16:48
autrijus it still bugs me to have modules that take effect lexically to begin with uppercase, but that's just me :)
putter bleep. s/fork of/fork on/
autrijus but with p6 the line is very blurry 16:49
because symbol imports are lexical by default
but classes are global
putter err, you mean use Foo; vs use foo;?
autrijus right
putter ah. one sideeffect of using rather too many languages is I've completely burned out any default expectation of what variable capitalization-pattern means. 16:50
"dammit, that's a perfectly straightforward C function so why isn't that pattern binding the X var? ohhhhhh. oops" 16:53
(true story. it was late.)
svnbot6 r5641, Aankhen++ | HTTP::Cookies:
r5641, Aankhen++ | * implemented &add_cookie_header (almost completely :-).
r5641, Aankhen++ | * added commented out LWP::Debug stuff.
r5641, Aankhen++ | * fixed signature for &:normalize_path.
autrijus notes correlations between putter working late and fascinating stories 16:55
putter lol
autrijus Aankhen``: nice! 16:56
jhorwitz is rebuilding pugs for the first time in a month 16:58
Aankhen`` Thanks. :-) 16:59
autrijus jhorwitz: hey there. sorry I never started with EaEP API
Aankhen`` What is the P6 equivalent of `while (...) { ... } continue { ... }`? Same syntax?
jhorwitz autrijus: n.p. neither of us had the time. :)
autrijus Aankhen``: There is no longer a "continue" block. Instead, use a "NEXT" block 17:00
within the loop. See below.
(S04, unimplemented)
Aankhen`` Ah, thanks.
S'okay, most of libwww-perl doesn't work yet. :-)
autrijus we'll get there :)
Aankhen`` I know, that's why I'm working on porting it.
There's a lot of modules in it, so I am not worried about stuff not working yet. First I need to get everything ported in whole. 17:01
autrijus nods 17:02
Aankhen`` BDB is better than FSFS for Subversion repositories... riight?
autrijus in the similar sense that FAT is better than NTFS for file storage... 17:03
Aankhen`` FAT is better? o_O
autrijus no. neither is BDB :)
Aankhen`` Ah.
Maybe I mixed them up.
Weird 17:04
C:\Documents and Settings\Aankhen>svk mkdir //pugs
Waiting for editor...
Can't spawn "cmd.exe": No such file or directory at C:/Development/SVK/site/lib/
SVK/Util.pm line 204.
Aborted: No such file or directory
autrijus hrm, you don't have cmd.exe in path? 17:08
also try
Aankhen`` I do.
autrijus set EDITOR=notepad.exe
set SVN_EDITOR=notepad.exe # or this
Aankhen`` I already have SVN_EDITOR set. 17:09
svnbot6 r5642, Stevan++ | Perl6::MetaModel
r5642, Stevan++ | * added :breadth dispatch order option
r5642, Stevan++ | - added tests for this
r5642, Stevan++ | * improved the class_precedence_list() method
r5642, Stevan++ | - added tests for this as well
r5642, Stevan++ | * BUILD and DESTROY are now submethods again
r5642, Stevan++ | - they use the force_call() method in ::SubMethod
r5642, Stevan++ | * t/07_A12_examples.t now uses next_METHOD() like in A12
autrijus and svk failed to launch that
Aankhen`` system {$editor[0]} (@editor, $file)
O_O
autrijus the {} part is the name
never mind that
(see perldoc -f system)
Aankhen`` Doesn't work with notepad.exe either.
autrijus strange.
trace it a bit?
this is the latest .exe binary?
Aankhen`` Ah, wait. 17:10
I set EDITOR=notepad.exe but not SVN_EDITOR, so it was picking up SVN_EDITOR.
Notepad works.
Aankhen`` goes to check other stuff.
Dang, it doesn't work with Gvim. :-(
Unless I specify the full path. ^_^ 17:11
autrijus well, then :)
Aankhen`` Er... how do I remove a dir I created using mkdir? 17:13
autrijus rm
Aankhen`` Ah. 17:14
`rmdir` didn't work, so I got confused.
Thanks for the help. :-) 17:15
autrijus np :) 17:17
Aankhen`` I'm running `svk up -s` from my working directory; is it supposed to suddenly commit a whole bunch of revisions? 17:18
Hmm, okay, it's not committing to the main repository. 17:19
autrijus right.
have you seen svk-overview.png and svk-visual-guide.pdf?
Aankhen`` I saw svk-visual-guide.pdf
autrijus # perlcabal.org/~autrijus/svk-overview.png
Aankhen`` Have I ever told you that you scare me? 17:21
(in a good way :-) 17:22
Hmm, Openfoundry should perhaps put commit messages in a <pre>...</pre> block, or expand all tabs and then replace spaces with non-breaking spaces... 17:27
autrijus you mean in the rss view? 17:31
it's SVK::Web... patches against that module welcome 17:32
putter autrijus: re evalVar "<rulename", evalVar?
autrijus putter: er, sorry reduceVar
putter ah, ok.
autrijus I unified them
and picked the longer name. very unlike me 17:33
putter ;)
svnbot6 r5643, iblech++ | * Usual svn props. 17:35
r5643, iblech++ | * Added a (currently failing) test to t/statements/do.t.
r5643, iblech++ | * New test: t/operators/context_forcers.t, testing &prefix:<+>, &prefix:<?>,
r5643, iblech++ | &prefix:<~>.
putter am I missing something, or does exposing reduceVal require "structural" change. export reduceVal, import Pugs.Eval in Pugs.Prim.
autrijus evalExp (Var "<*foo") 17:36
may be easier.
putter ah, ok. thanks again.
autrijus np :_ 17:37
I mean, :)
putter :) 17:38
svnbot6 r5644, iblech++ | PIL -> JavaScript compiler. 17:42
r5644, iblech++ | * Pugs.Compile: Modified the declaration of PApp to accept an invocant.
r5644, iblech++ | * Pugs.CodeGen.PIR: Minor changes because of change #1, pugs -BPIR still passes
r5644, iblech++ | the sanity tests.
r5644, iblech++ | * New directory perl5/PIL2JS, containing various modules, a README, and
r5644, iblech++ | pil2js.pl:
r5644, iblech++ | $ pugs -CPIL -Ilib6 -MPrelude::JS -we 'say 2 + 3' | \
r5644, iblech++ | ./pil2js.pl -html > /tmp/t.html
r5644, iblech++ | * t/01-sanity mostly pass! (see
r5644, iblech++ | m19s28.vlinux.de/iblech/stuff/not_p...2js-demo/)
r5644, iblech++ | * t/01-sanity/03-equal.t doesn't pass because of a bug in Pugs.Compile
r5644, iblech++ | ("3 || 4" is compiled to "&infix:<||>(3, 4)" instead of "&infix:<||>(3, {4})"
r5644, iblech++ | or something similar.
r5644, iblech++ | * See perl5/PIL2JS/README for a list of things which already work.
iblech food &
putter oh my. 17:50
Aankhen`` stares at iblech. 17:51
Argh. You just HAD to do it while SVK is syncing up 5,000 revisions, didn't you? :-P
autrijus oh. wow. wow. 17:54
autrijus is shocked. _shocked_ I say
mm gust at 63m/s 18:13
dudley Hey, pugs hit the front page of LtU today 18:14
autrijus yeah, proving that ltu has its own share of dupes
dudley heh
Aankhen`` LtU?
dudley lambda-the-ultimate.org 18:15
Aankhen`` Ahh.
autrijus lambda-the-ultimate.org/node/view/593 lambda-the-ultimate.org/node/view/620
there's some more
putter when converting a datastructure in language A to language B, it is generally fastest to do everything native, ie, crawl A data in A, generating string of B code, which eval'ed in B, generates B data. rather than every language writing -CPIL parsers... 18:18
perl/ruby can share a rep, python gets its own, js, ocaml, scheme, ... ;) 18:19
variants on Show? 18:20
autrijus mumbles something about YAML 18:23
putter iblech: *very very broad grin* 18:24
autrijus putter: actually PIL prettyprinter to Perl5, written in haskell or p6, is a good idea
alternately use S-expr or YAML may not be bad idea either
and there's always XML when we give up all hope 18:25
putter hopes he never has so little hope as that... 18:26
so sexp, and yaml too. actually, sexp can substitute for scheme. 18:27
hmm, maybe.
better yet, it looks like the backends are turning out simple enough that they don't need to wait on the PIL redesign, no? 18:28
autrijus there's no need to wait anything :) 18:29
hm, iblech has written a small parser combinator in PIL::Parser under PIL2JS/lib/
it feelds very parsecish
it looks like it's good enough to handle arbitary haskell structures with a bit tweak 18:30
however for my PIL redesign I think I'll annotate each constructure with record syntax 18:31
i.e. the constructor arguments will have names 18:32
just so larry won't call me "lazy bastard" again
(which he did upon his first glance at the unnamed PIL structure)
iblech: the infix<3,4> thing is probably not a bug 18:34
it should be a PThunk
on the 4 position for ||
which is different from {4}
because of scope issues 18:35
3 || leave();
3 || { leave() };
means very different things
iblech Aankhen``: re. Sorry :D
autrijus: Right.
autrijus iblech: and I wonder if we can get Parse::Combinator :) 18:36
(i.e. generalizing PIL::Parser) 18:37
iblech autrijus: Yeah, would be useful, I think :)
autrijus iblech++ # mad props 18:38
iblech++ # mad skills
iblech (Perl 5)++ # better than we may be tempted to think :)
oh, and of course, PIL
oh, and of course, PIL++ :)
Aankhen`` iblech++ 18:39
autrijus Perl5 is very good
Aankhen`` # JS am cool
autrijus it's perl5 I have problem with :)
iblech :) 18:40
svnbot6 r5645, putter++ | Added Pugs::Internals::reduceVar, to lookup unparsable names, and Pugs::Internals::rule_pattern, to get the re string from rule objects.
autrijus I probably should catch some sleep while the window-smashing sound is taking a respite 18:45
see you tomorrow :)
autrijus waves
putter &
iblech Night :)
Aankhen`` Goodnight autrijus. 18:47
nothingmuch i'm at work 18:58
it's 21:58
and other people are still delaying my two hour job
=
( 18:59
nothingmuch thinks he might be homew tomorrow
svnbot6 r5646, iblech++ | * Pugs.Compile -- &infix:<||>(foo, bar) is compiled as &infix:<||>(foo, 19:27
r5646, iblech++ | PThunk(bar)) now.
r5646, iblech++ | * Pugs.CodeGen.PIR -- So Pugs.CodeGen.PIR doesn't have to do this change, as
r5646, iblech++ | Pugs.Compile does it now.
r5646, iblech++ | * Pugs.Parser -- Filtered out &infix:<,> from list of user-overridable subs, as
r5646, iblech++ | else even basic arglists use &infix:<,> if a &infix:<,> is defined (see
r5646, iblech++ | comment).
r5646, iblech++ | * PIL2JS: Prelude::JS -- Proper support for ||, &&, etc.
r5646, iblech++ | * PIL2JS: README -- Minor cleanup.
cognominal what is the state of PGE? 19:35
iblech In latest leo-ctx5, it seems to work mostly again 19:37
cognominal ha, when did they intend to merge?
iblech Dunno
svnbot6 r5647, iblech++ | perl5/PIL2JS: README -- Added section about PIL2JS's internal design. 19:56
nothingmuch bah! 00:05, and still at work 21:03
someone, please feel my pain
nothingmuch is going to watch the numbers change to 500,000,000 on www.apple.com 21:04
Aankhen`` feels nothingmuch's pain. 21:07
Now feel my pain: syncing 5,600 revisions when it aborts due to some sort of network error every 300 or 400... 21:10
nothingmuch run it in a shell loop =)
why do you need to mirror the entire history?>
Aankhen`` I have no idea.
nothingmuch you can just mirror head, or the last 100 revs
Aankhen`` I just did an `svk up -s`
.
# in the working copy
nothingmuch pugs rarely ever goes backwords in time =)
ask around on #svk
i'm not sure what you should do now
Aankhen`` shrugs. 21:11
I'll just let it run.
mugwump nothingmuch: ime, skipping revisions is fraught with difficulties
svnbot6 r5648, iblech++ | PIL2JS:
r5648, iblech++ | * Misc. bug fixes.
r5648, iblech++ | * README -- Improved section about PIL2JS's internal design.
r5648, iblech++ | * Proper stringification and numification ops.
r5648, iblech++ | * Refactored conversions from PIL2JS.Box objects to native JavaScript objects
r5648, iblech++ | out into PIL2JS.Box.toNative.
r5648, iblech++ | * Should we port PIL2JS to Haskell (compiling Prelude::JS plus five lines of
r5648, iblech++ | Perl 6 source takes 55s here...)?
nothingmuch okay, nevermind =)
Aankhen`` has the wrong kind of laziness right now.
nothingmuch if only i had the brainpower to actually do something fun 21:12
i know, i'll finish the harrorth bootstrapping
iblech Need to sleep now, I think :) 21:18
nothingmuch me too!
iblech++
impressive work
iblech Thanks :)
Night all
Aankhen`` G'night.
Bleh.
putter night iblech
;)
21:23 ToniEisner is now known as [, [ is now known as ToniEisner
Aankhen`` Yay, it's at r3072... 21:25
G'night. 21:35
svnbot6 r5649, mugwump++ | Use svn keyword expansion in preference to reading internal svn state files or `svk info'
integral mugwump: is that going to work? Surely $Rev$ in that file will only change when that file gets changed, not when any change happens? 21:38
putter belated "G'night". 21:43
mugwump integral: ah, is that why it wasn't already like that 21:46
I'll test 21:47
putter tosses pcre and p6 rx engines back on the shelf. pge is too busted, even on leo-ctx5, to run the rx grammar to parse regular expressions. (and I'm going back to bootstrap land when waiting a while might make the problem go away...) blech. sigh.
integral yeah, I think we went over this months ago when this first got written, but time flies around here :-)
putter s/I'm going/I'm not going/ sigh 21:48
& 22:05
svnbot6 r5650, putter++ | Minor edit of Perl6::Rx in modules/Grammars/rx_grammar.pl. But PGE can't run it.
cognominal ?eval say defined &match ?? 'defined' :: 'undefined' ; 22:08
evalbot6 Error: Undeclared variable: "&match"
cognominal defined is a special case that is not handled. is "defined" specced in Perl6? 22:09
svnbot6 r5651, iblech++ | PIL2JS: pil2js.pl: Support for precompiling the Prelude::JS (speeding up 22:10
r5651, iblech++ | further compilations by 100000% or so :)).
r5652, iblech++ | PIL2JS: pil2js.pl -- Very minor cosmetic fix (indentation of the JS Prelude).
cognominal hum, I am confused defined implies declared... 22:11
cm "meow", makes the lambda
cognominal ?eval say exists &say 22:15
evalbot6 Error: No compatible subroutine found: "&exists"
cognominal boy, I am running in deep existentail problems
?eval say &say.exists 22:16
evalbot6 Error: No compatible subroutine found: "&exists"
mugwump ?eval [<1 2 3 4 5 6>].reverse.reverse 22:23
evalbot6 '1 2 3 4 5 6'
svnbot6 r5653, mugwump++ | Back-out earlier change, add comment as to why this is done like this
mugwump ?eval [<1 2 3 4 5 6>].reverse.join(",")
evalbot6 ','
mugwump jabbot: seen gaal? 22:30
svnbot6 r5654, mugwump++ | Add cheating (.perl) version of is_deeply
jabbot mugwump: gaal was seen 1 days 11 hours 44 minutes 39 seconds ago
nothingmuch moose...... 22:44
1:44