6.2.12 released! | paste: sial.org/pbot/perl6 | pugs.blogs.com | pugscode.org | pugs.kwiki.org
Set by audreyt on 26 June 2006.
audreyt g'nite 00:02
(I committed)
svnbot6 r11105 | audreyt++ | * rafl++'s fix to use a customized .conf to allow PREFIX. 00:04
r11106 | daxim++ | hint to set env vars before starting build 00:28
r11107 | daxim++ | Cabal is a build requirement
meppl gute nacht 00:35
00:41 hikozaemon joined
stevan ingy: pong 00:46
rafl audreyt: So everything worked fine for you? 01:00
01:07 mdiep___ is now known as mdiep 01:17 kanru joined
mauke hello 01:21
I still haven't done any real perl6 work but my mauke.ath.cx/stuff/poly.poly supports pugs now :-) 01:23
audreyt rafl: yup 01:25
svnbot6 r11108 | audreyt++ | * the new multi dispatch algorithm, illustrated in haskell.
r11108 | audreyt++ | (putter++ and spinclad++ are working on the English version of it for S06.)
r11109 | audreyt++ | * rephrase the "losesTo" with "greaterOrEqualsTo" 01:34
01:59 scook0 joined 02:04 kanru joined 02:16 nothingmuch is now known as orz 02:17 orz is now known as nothingmuch 02:19 rw-rw-r-- is now known as dnm, dnm is now known as rw-rw-r-- 02:33 weinig is now known as weinig|sleep
ingy stevan: to 02:43
rhymes with yo
02:51 justatheory joined
gaal I have a friend in Minks 03:06
s/ks/sk/
obra has a friend in Minks, too. 03:09
But they keep throwing red paint on her
stevan ingy: from 03:19
03:20 putter joined
stevan hey putter! 03:20
putter hi stevan! :)
a question: how are multi sub variants assembled into MultiSub/MultiMethod objects? (Hmm, or just Multi objects?) 03:21
in a lexical scope which defines a variant of f, is f bound to a different Multi object than OUTER::f is? 03:22
gaal putter: they're an unordered set, to my dismay 03:27
I don't know how guards sre going to be expressed
putter multi sub f(Int $x){}; my $o1 := &f; my $o2; { my multi sub f(Num $x) {}; $o2 := &f } $o1 =:= $o2, or not? 03:31
(my guess is not...) 03:32
bsb gaal: if you want Haskellesque dispatch I think you'd need to do a given matching a Capture against Signatures 03:43
maybe macros to make it pretty (like Haskell's guard -> case conversion)
gaal putter: that'd be my guess too, but I'm not sure, because the binding happens at runtime. 03:50
bsb: you're probably right... but the macro oughta be specced and standard. 03:51
bsb: also, moose.
mauke hmm, which is funnier? the fact I live in Moosburg or that a neighbor village is called Wang? 03:54
gaal you're sure it's not Wapiti? 03:55
04:05 tup joined 04:13 putter joined
putter audreyt: the current "all winners must agree for ; to exist" rule means (Int , Num) and (Int ; Num) would be ambiguous, no? Which seems unfortunate. Perhaps a last ditch "check for ;'s" if multiple "winners" remain at the end? So I don't think we're quite out of the algorithm woods yet. :) 04:20
audreyt heh 04:21
I'm fine for them be ambiguous really.
I don't see why it should actually be biased to (I;N).
I like the clean stableness of "all". 04:22
TimToady likes to say "if we can always relax it later, that's a good default"
which I think is a good default.
audreyt finally got around to post the release announcement 04:23
I hope I made some sense :) 04:24
PerlJam sure did 04:29
audreyt shower+sleep & 04:35
gaal night audrey
04:37 coumbes joined
ingy stevan: comefrom INGY: 04:40
04:42 coumbes joined 04:46 tup joined
obra cometo INGY; 04:47
ingy hi obra
obra hey ingy.
ingy is everyone sleeping?
obra no, we're all hacking
ingy kinda early
ingy has a big pile of programming books in bed with him 04:48
gaal A, if you happen to read this: does the Pad still need special treatment for multis? MkEntryMulti is still mentioned here and there
ingy including stevans
hi gaal 04:49
putter 'night audreyt 04:55
audreyt: the catch is...
nope, not a catch. ok. 04:57
gaal hey ingy 04:58
04:58 tup joined
gaal ingy: comeonto nothingmuch 05:02
ingy gaal++ 05:09
05:10 nothingmuch joined
gaal and there he is 05:10
ingy your powerful are truly magical
r/ful/s/
s/r/s/ # can't type
05:12 cmarcelo joined
ingy hi nothingmuch 05:13
I willed you into existence
spinclad putter++: sorry, didn't recognize your longname at 'thon today 05:22
well met! 05:23
audreyt I agree (and spinclad++ too) 05:25
so nice to put faces to nicks 05:26
gaal audreyt: do pads still need a freshness flag? 05:30
audreyt no.
when a closure is evaluated, all "My" storage class gets wiped
and that's that
gaal k 05:31
is StorageType precisely what Scope is today?
audreyt not exactly
gaal or is State stored as My?
audreyt My/Our/Has/State/Constant are declarators 05:32
gaal Lex / Dyn and.. anything else?
audreyt Temp and Let is not
gaal has is not in the pad... 05:34
audreyt uh
it is not in the lexical pad
it's in the instance slot pad
which is another place to lookup things
05:35 guaumiau joined
gaal it's not in any pad! it's in the object slots 05:35
audreyt see S12 line 379
but I'm rapidly losing consciousness
gaal night :)
audreyt so please improvise in the meantime
:)
gaal sweet velvet-antlered dreams
audreyt to be continued tomorrow... & 05:36
ingy reads tapl and the little schemer 05:38
05:43 snowstalker joined 06:00 cognominal joined
gaal down to three errors in Pugs.AST.Internals, all with the same cause (objType obj needing a new way of being expressed) 06:01
will fix tomorrow $morning and then it's just 3,000 more errors in other files and 11,500 failing tests :)
good night :) & 06:02
guaumiau is anyone using perl 6 in production sites ? (soory if faq) 06:03
06:06 kane__ joined
audreyt guaumiau: I am, but I don't really count (and I am sleeping, too) 06:21
guaumiau: svnbot6 and evalbot_11094 here are written in perl6, as are in #parrot; not sure if it counts as 'production' 06:22
guaumiau audreyt, they might count , sure 06:25
I hosted larry wall a couple of years ago here, he talked enthusiastically about perl6
audreyt, might perl 6 enable one to type while asleep ? 06:26
audreyt that certainly is what it's doing to me...
guaumiau audreyt, :)
audreyt want a commit bit to our subversion repository? :)
spinclad audreyt enables perl6 to self-code in its sleep
audreyt (so that you can start adding tests, examples, docs, etc etc) 06:27
guaumiau audreyt, I couldn't commit anything :(
audreyt if so, let me know your email addr before I fall asleep again :)
and why is it so? :)
guaumiau audreyt, well basically I think that would be well beyond my material posibilities 06:28
audreyt mm, you have a 9600 baud dialup?
guaumiau audreyt, but if that means I will feel more akin to the perl 6 community then I want to :)
audreyt you can still commit with that bandwidth, you know... 06:29
good then. email addr?
guaumiau nope, I have a dsl connection
by material I mean time to learn, time to code, etc 06:30
bsb it's no use being coy, guaumiau, audrey will get a commit bit to you somehow :) 06:31
guaumiau bsb, let's see then :) 06:32
active people can't be stopped :)
please, what do people mean by the english 'commit bit' expression ? 06:37
audreyt guaumiau: an user/password pair that enables write access to the svn.openfoundry.org/pugs/ subversion repository
lambdabot Title: "Revision 11075: /"
guaumiau audreyt, thankyou. i've just found some web interviews to you ;) 06:39
audreyt, let me think about the commit bit offer :) i'll consider it in my sweetest dreams 06:40
spinclad excellent 06:41
audreyt oh well, I really need to fall asleep, too anyway. :) see ya &
(btw, in ~2 hours invite.pugscode.org/ redirect will work) 06:42
and people can invite new committers from there (it's just url redirect to openfoundry)
& 06:43
guaumiau perl6 running in the browser will be a very interesting thing 06:44
06:53 vsoni left
clkao is openfoundry repository fscked? 06:59
i hate software 07:00
TreyHarris erm, i just noticed in S03 that "return(1)" and "return (1)" have different effects? 07:01
pasteling "putter" at 66.30.119.55 pasted "a zeroth-draft of the new MMD algorithm. Comments and questions encouraged." (52 lines, 2.7K) at sial.org/pbot/18202 07:13
spinclad .oO { will look at, first thing tomorrow. } Oo. sleeps & 07:15
spinclad .oO { g'night putter }
putter 'night spinclad :)
07:18 elmex joined
putter "And the type distances between the chosen variant's parameters, and the capture arguments, will, individually, be no worse than those of any other variant candidate (or recently reject candidate) __still being considered__ at that position." Blech. Something for the morning. 07:19
g'night all. &
07:20 ludan joined 07:21 kanru joined 07:25 vsoni joined 07:30 mj41_ joined 07:31 vsoni left 07:34 drrho joined
svnbot6 r11110 | clkao++ | normalise eol so svk merge doesn't go crazy 08:06
08:38 stephanepayrard_ joined 08:44 visq joined 08:58 ludan joined 09:30 cognominal joined 09:57 mauke_ joined 10:10 renormalist joined 10:12 mauke_ is now known as mauke 10:50 bsb_ joined 10:56 nothingmuch joined 11:01 chris2 joined 11:05 torify joined 11:21 ludan joined 11:31 ludan joined, Aankhen`` joined 11:59 kanru joined 12:06 weinig|sleep is now known as weinig 12:07 dduncan left 12:16 frederico joined 12:17 macroron joined 13:26 trym joined 13:29 lollan joined 13:36 shachaf joined 13:38 lumi joined 13:40 cognominal joined 13:49 fglock joined, nothingm1ch joined
rafl wonders if anyone uses the Pugs haskell module. 13:52
svnbot6 r11111 | fglock++ | v6 - merged new grammar; 1 new test fail
mugwump cool revision number
rafl Wow.. r11111 :-)
That haskell module caused me a lot of pain with the Debian packaging and I'd like to remove it as I don't know anything that uses it anyway. 13:53
mugwump wonders if SVK could check that out in 11111 seconds 13:54
rafl doubts it 13:55
13:56 iblechbot joined
renormalist rafl: greetinx 13:57
13:57 nothingmuch_ joined 13:58 mandarin_ joined 14:01 Qiang joined
mugwump anyone chinese around care to critique my handwriting? 14:01
utsl.gen.nz/img/postmodern-critique.png
rafl renormalist: Hello there! 14:03
mugwump well, inkscape bezier skillz actually
rafl renormalist: How about your Debian package? Recieved some bugreports yet? :-)
I wonder if 'svk sync -s 11000 //mirror/pugs' is the right command to sync the latest 111 changes to pugs into the newly created //mirror/pugs depot.. 14:05
Somehow svk seems to hang.
mugwump I wouldn't expect svk to squash 11000 revisions quickl 14:07
quickly, either
rafl At least I'd expect it not being hung within a poll() syscall while doing that. 14:08
mugwump waiting for the server perhaps?
rafl mugwump: Seems so. But somehow an svn co works without problems, so the server seems to be up and working. 14:10
renormalist rafl: everything ok. no bugs yet. :-)
mugwump sync -s has to follow history iirc 14:12
so maybe it's lobbed a query to the SVN server that your typical heavily used SVN server is usually too bogged down to be able to process
I get similar problems on debian's alioth at times 14:13
at times openfoundry can be really. slow.
nothingmuch_ reboot time 14:14
mugwump $ time git-clone git://git.kernel.org/pub/scm/git/git.git git 14:18
real 3m14.422s
that's 5846 revisions, and a 7MB download
14:21 neoesque joined
svnbot6 r11112 | rafl++ | r120@ata: rafl | 2006-07-04 16:24:05 +0200 14:21
r11112 | rafl++ | * Look for parrots {installed,parrot,null}_config.o in
r11112 | rafl++ | $parrot_libdir/parrot/config/ aditionally to the current search paths to find
r11112 | rafl++ | the config object for an installed parrot properly.
14:22 nothingmuch joined, vel joined
rafl mugwump: You were probably right. Everything worked fine. It just took a while. 14:22
14:29 vsoni joined 14:33 xdg joined
svnbot6 r11113 | fglock++ | v6 - fixed precedence 14:39
r11114 | rafl++ | r122@ata: rafl | 2006-07-04 16:41:50 +0200
r11114 | rafl++ | * Makefile.PL: create sub compile_hs and use it to compile Setup.lhs,
r11114 | rafl++ | util/runcompiler.hs and util/ghc-pkg-wrapper.hs.
14:39 nothingmuch_ joined
fglock nothingmuch: ping 14:40
marcus_ icmp redirect 14:41
boston
14:44 prefiks joined 14:49 wilx` joined, putter joined
putter what? no conmments on sial.org/pbot/18202 yet? :( 14:49
lambdabot Title: "Paste #18202 from "putter" at 66.30.119.55"
putter TimToady, audreyt, etal: Could we somehow do an _annotated_ spec? Like the C++ red book, or the common lisp reference manual. 14:52
merlyn the spec is already annotated. :>) 14:53
putter The problem is we mostly have brief langauge lawyer-ish stuff, but little discussion of the design space, intent, etc. For example, 14:54
merlyn unfortunately, second-level annotations are in the folklore (mailing list, irc logs, etc)
yeah, for that you have to look to the folklore
which requires hanging out, and reading the archives
putter For instance I just wrote """Semi-colons are hints that "if there is a single candidate at this 14:55
point, I don't need further checks for ambiguity against rejected
candidates".""" re MMD. Which is
merlyn and I'd rather have @larry be working forward, than spending time moving folklore into the specs
I can relate to your pain though. I'm trying to spin up on this myself
visq putter: where to put comments ? here ? 14:56
putter a carefully boiled-down-to-essence description of last night's after 7pm design point. But the policy decisions made are not described. And if one changes, the sentence becomes invalid, and changes to something notably different. And there's no place to document any of this. 14:57
end of thought
merlyn:
14:58 nothingmuch joined
visq Multimethods + Implicit Conversion + Subtyping might behave a bit unexpectedly 14:58
14:59 nothingmuch_ is now known as nothingmuch
putter merlyn: any brainstormy thoughts on what might help your spin up process? 15:00
merlyn I think it's a matter of getting into the culture via absorbing published writings and then getting good at searches and asking folklore questions
similar to every other tech writing project I've had. :)
putter visq: re 'here?', something more less noisy and more edited and revision controlled would nice... :) 15:01
merlyn however, I've been doing this for 28 years, so it seems natural to me
visq putter: Try your Ref.Impl. on multimethods for implementing (+) with Int < Num, Double < Num, and implicit conversion from Str
merlyn and others who are not as comfortable with that need to wait for me to finish and condense it into palatable docs. 15:02
visq and I totally agree on revision controlled docs 15:03
in your sense
putter merlyn: perhaps a two stage process? get design thinking to paper, then make palatable?
merlyn I think that's already in the S\d\d docs as much as possible 15:04
I don't think you're gonna get more there without slowing @larry down
spinclad putter: check this in somewhere as a 0th draft and we'll work it over
putter or three stage - create "paper" place for design thoughts; get them there incrementally; continuously improve spec from same, and distill clarity from the two of them
merlyn I think that's already happening as best it can
putter visq: will try in a sec 15:05
spinclad: going in...
TimToady note that most of the *original* design thought is captured in the A's and E's. It's the intermediate forms that are out in strange places. 15:06
in fact I recently back-annotated the E's with [Update:...] sections just so they'd still be usable as snapshots. 15:07
but if we'd documented all this in I 15:08
ISO9000 form we'd still be designing S03 or so...
merlyn yeah that's what I think too
what's happening is the best compromise between keeping bystanders informed and making forward progress 15:09
it requires that to be a contributor, you also pay attention to the folklore as well as the specs, but that's a valid strategy
robkinyon the vanguard will always be further ahead than the communications w/the community
merlyn communication has a cost, just like design 15:10
svnbot6 r11116 | putter++ | misc/pX/Common/mmd-draft.txt created. Working draft of MMD algorithm description.
spinclad but, but, the ISO process is one of *continuous improvement* -- what could be better? (oh, the rate of improvement... yeah, there's that)
TimToady It takes a certain kind of humility to let people tell you, "no, that's wrong, here's a link to some old discussion."
merlyn so you target the communication at others who will be contributing
theorbtwo I certianly think it's a lot better in that respect, since adding audreyt as a S* contributor, and feeding patches back to p6l.
TimToady for sure. 15:11
The A's and the E's are mostly the views of singler personunits, but the S's have been collaborative from the start.
*singular
though of necessity not quite as collaborative as Pugs. :) 15:13
the basic difference being that I have to understand (or think I understand) the S's, but I don't have to understand Pugs. :)
putter The present motivation for my observation is that in writing the mmd description, there's a lot of backstory and discussion of implications that doesnt seem to belong in the Snn. So I don't know where to put it. I guess an email to p6mumble would be consistent with current practice, but... I was trying to think of something better. 15:14
theorbtwo putter: I don't think there's any problem with putting history and implications in Snn, but they should probably be in seperate sections. 15:15
In fact, there should probably be a subsection for implications, and a really horking big footnote for history. 15:16
TimToady perhaps, as with the [Update:...] sections in the A's and E's, we could enclose notes in [History:...] and [Implications:...] or some such. Or links to same. 15:17
audreyt putter:
If any of the distances cannot be compared with the others, the dispatch fails.
that's incorrect
szbalint Did anyone have code inside a try { } block "break out" and make the whole script die?
audreyt consider three variants :(Moose Pet Int $x) :(Moose $x) :(Pet $x)
putter As drafted, the semis don't result in a different mmd variant being selected. They only affect whether failed alternatives are considered to create ambiguity (and thus failure). But that could change, and I don...
audreyt Moose and Pet is not comparable, yet the first variant can win handily
putter audreyt fills hands putter a line with multiple unhappy faces ;) 15:18
fglock audreyt: lib/Pugs/Compiler/Operator.pm compiles and eval itself, so it's a good candidate for Module-Compilation - but I'm not finding the way to do the conversion - M::C is normally used with an external compiler 15:19
spinclad in fact i believe you can always remove ambiguity by adding a dominating variant
TimToady perhaps you're using different definitions of "cannot be compared". 15:20
putter audreyt: ok, it looks like it has to be speced pairwise. thanks. :) 15:22
no, it's that 15:23
audreyt putter: committed 15:24
svnbot6 r11118 | audreyt++ | * mmd-draft.txt: slight wording cleanup; incomparable types
r11118 | audreyt++ | between rejected variants is just fine.
putter the distances must be sufficiently comparable that we can partially order the variants, but need not be more than that.
15:24 xern joined
putter right 15:24
audreyt ok, I think the rephrased algorithm now agrees with misc//pX/audreyt/multi-dispatch.hs 15:25
putter visq: so (Int,Int) (Double,Double) (Num,Num) and (3,"4") ? 15:26
audreyt fglock: hmm. self-hosting M::C'ers
nothingmuch audreyt: did you freeze tonight too? 15:27
audreyt nope 15:28
visq putter: better ("3","4"); do you dispatch to (Int,Int) or (Double,Double) and why ?
nothingmuch i'm glad
audreyt had a sound, consistent, progressing, sleep 15:29
nothingmuch++
nothingmuch should wait for obra for breakfast?
nothingmuch had a nice sleep too
TimToady there's a sense in which Int is a subset of Num (ignoring storage considerations)
nothingmuch since tatsuhiko's bed became free i got to sleep in a freezing room too
visq yes Num as in Number but not Num as in Double 15:30
pasteling "szbalint" at 84.3.214.202 pasted "try problem?" (44 lines, 1.4K) at sial.org/pbot/18207
nothingmuch and + a very long and cold shower made me not suffer from the humidity at all
spinclad putter, audreyt: "Then, if all remaining candidate signatures have a semi-colon after this position, the rejected variants are discarded." I'm thinking a variant's semicolon is a place for it to either win (dominate all others) or lose (be rejected and discarded), without regard for other variants' semis. (more)
szbalint If anyone could take a look I'd appreciate it very much.
audreyt spinclad: that renders multisemis kinda not useful
nothingmuch thinks that audreyt and he should get a one way heat dissipitation link of some sort
spinclad i think this differs from the current code (not sure, though), and we can talk f2f
nothingmuch i could maybe mount a body powered microwave on my head 15:31
and... err
audreyt szbalint: write a test? I think the problem is perl5's exception not handled by pugs's try
putter worries about reference algos that require lots of case analysis and seem to be fragile in the face of policy change. ah well...
audreyt szbalint: so try die'ing in p5 land and try{} around p6
spinclad audreyt: don't think so. each semi is a place to win, lose, or stay in contention...
audreyt oh ok.
TimToady putter: that's what we're paying you to worry about. :)
audreyt spinclad: they it's just s/all/any/ 15:32
s/they/then/
in the algorith doc and code
szbalint audreyt: ok.
audreyt that kills stability though.
nothingmuch can i have a link to the continuation/exception article?
audreyt consider :(Int, Any) :(Any, Int) 15:33
spinclad audreyt: i'll have think about it more to match cases and mental pictures with formal statements. more when i get there...
audreyt which is ambig
nothingmuch also, wrt to our type inferrencing stuff - has it been explicitly ruled that type inferrence will be pluggable and optional?
audreyt the debate is that :(Int; Num)
does it cause itself to win
the "any" case 15:34
or does it still ambig
the "all" case
visq depends wether Int.isa(Num) or Int is implicetly convertible to Num
audreyt nothingmuch: I think it's explicitly S02'ed
Perl 6 has an optional type system that helps you write safer
code that performs better. The compiler is free to infer what type
information it can from the types you supply, but will not complain
about missing type information unless you ask it to.
visq: well, actually in this case, that prolly doesn't matter 15:35
but consider Int.isa(Num) for now.
nothingmuch s/an//; s/system/systems/; ?
gaal audreyt: what can be salvaged, do you think, from the existing findVar[Ref]? functions? 15:36
TimToady I don't like Int.isa(Num)--violates Liskov.
gaal originally misspelled that "fundVar"
spinclad yeah, i'll have to draw some pictures for myself and try to tease some sort of proof out of what i'd like
nothingmuch i always thought it was Int.does(Num) 15:37
TimToady It's really more of a subset.
putter in addition to any/all, there's whether to try a "how far in is your first semi" tie break if multiple candidates still exist at end of algo.
nothingmuch where Num is the "basic" math ops
TimToady really, Int is subset of Rat, and we approximate Rat with Num
nothingmuch is NUm a concrete class?
putter I *think* the two are distinct. maybe
TimToady but I dislike Rats in general
visq Why is Double named Num anyway ? (S02) 15:38
putter gaal: :)
TimToady Doubles is a tennis match.
visq Real ?
TimToady vs Fake?
visq Complex is a Number ? 15:39
theorbtwo Double is an implementation detail.
TimToady ordinary folks call them numbers.
putter where would Decimal go?
TimToady between the units and the tenths. :)
putter lol
gaal audreyt: specifically how does Env give a pad now, or put anothre way, if a symbol is not in my current scope's pad, how do i look in the outer or caller scopes?
15:40 pjcj joined
spinclad ordinary folk call integers greater than one numbers, and grudgingly accept all the rest 15:41
putter but with the numbers losing meaning as they get bigger. little above... 10_000? nothing left above 100_000. I've a fun quote somewhere by a US national budget directory on how the "illions" blur together. sigh. 15:44
s/directory/director/ 15:45
spinclad heads out to scenic davis square &
putter so.... does anyone have a quick "how does implicit conversion work" story they want to tell?
spinclad: wait 15:46
gaal, audreyt: is anyone actually in Davis Sq? thought there was an off-site barby today.
gaal we're in jesse's house still 15:47
is Davis Sq where we were the other day?
putter yes
gaal then we aren't there, I hope spinclad isn't expecting us to be
putter sigh
gaal anyone know if he has a mobile? 15:48
15:48 ruoso joined
audreyt gaal: moose 15:48
gaal: a Code should have a field to link to outer 15:49
gaal audreyt: caribowiti!
audreyt: should that be Weak?
audreyt huh?
we can plausibly model it as simply [Pad]
gaal looks like a circular ref?
audreyt the head being the innermoost outer
GHC likes circular refs just fine thank you :) 15:50
gaal okay
audreyt as for caller, that's the runtime's cursor
and belongs not to AST
otoh, if we can ask &?OUTER::BLOCK.label
then it's easier to model it as simply Code 15:51
szbalint audreyt: where should I put the test? t/perl5?
audreyt szbalint: aye
vsoni audreyt: hi audreyt
audreyt greetings vsoni
spinclad putter: still here
audreyt vsoni: you are hacking imcc? 15:52
putter ah. (putter ceases trying to determine what city spinclad lives in, to disambiguate people search;)
vsoni audreyt: yes
audreyt: I did run into SEGV problem when I tried run PASM thorugh IMCC
audreyt vsoni: do you have a use case in mind? (i.e. are you writing a language backend to parrot, or just for fun? :))
fglock re v6 precompilation: precompiling the Yapp grammar improves only about 20% of loading time 15:53
audreyt 20% is something...
vsoni audreyt: Partiallly for fun and trying to simplify IMCC....Right now it is too tightly coupled with Parrot
fglock we really need to rewrite the grammar to v6-pugs, and then we'll get precompilation for free 15:54
audreyt 'k. what can I do for you? :)
fglock: that sounds like a sane way to go
fglock lunch &
gaal audreyt: so for OUTER statically MkCode {.... outerPads :: [Pad]... }, but I didn't understand the second remark
vsoni audreyt: Yesterday you mentioned that you wanted to Perl 6 to get an instance of Interpreter......Can you explain the use case please 15:55
audreyt gaal: outerCode :: VCode
gaal: rationale is that &?OUTER::ROUTINE.params
but if we are not required to support that
then ::[Pad] is more expedient
putter visq: counting implicit conversions does have the curious effect that if you add a two-conversions-combined common-case fast path.... it becomes even more the common case. ;)
15:55 coumbes joined 15:56 justatheory joined
audreyt vsoni: er. the use case is simple: Pugs embeds Parrot, so we have an interp context 15:56
putter imagines writing the synopses on a wikipedia engine... ;)
audreyt vsoni: currently to compile p6 grammars or on any other PIR we generates
vsoni: we have to invoke imcc within the same interp context 15:57
vsoni: because embedding two parrots is currently broken
vsoni: moreover, when imcc fails, it calls exit()
vsoni: which terminates not only the embedded parrot interpreter, but the entire pugs process as well.
vsoni audreyt: So the idea that you will pass in the interpreter to use to IMCC and IMCC need not create its own? 15:58
audreyt vsoni: this seems to me like a bug... and I've hacked in weird workarounds involving setlongjmp to "fix" that, but that causes heisenbugs since we can't recover from a post-fail state.
vsoni: wait. imcc doesn't create an interp
it does in main.c 15:59
but I'm invoking it via embedded interface
no, the idea is just that imcc should not affect the interpreter state
vsoni audreyt: got you
audreyt _or_ as you said, it can accept an isolated interpreter instance
but I don't see why it needs to affect interpreter state. 16:00
vsoni audreyt: would it make sense to make imcc interepreter unaware
audreyt yes. the pir->pasm should be strictly static
16:00 Debolaz joined
audreyt there should be no equivalent to BEGIN{loop} 16:00
or BEGIN{exit}
or BEGIN{dump}
in pir->pasm compilation.
vsoni philosophically imcc is just a transformation and nothing more thant that
audreyt yes. 16:01
interestingly loop/exit/dump are all four-letter words.
vsoni so how would you call IMCC.....for each compilation unit?
audreyt yup.
p6 is separatedly compiled anyway 16:02
putter merlyn: agreed TimToady taking time to do spec background docs is problematic. but in conversation with audreyt, I kept thinking 'and the meeting note taker and project librarian should be sitting right *there*". soon we'll be able to hang a mike and get text to speech logs. but not quite yet.
vsoni audreyt: so P6 generates PIR... and than PIR->PASM / PIR->PBC will bw handled by IMCC
audreyt: just out of curiosity are you aware why IMCC is so thightly couple with Parrot 16:03
audreyt because it was the easiest way to code 16:04
and due to nontechnical reasons the original author never committed his refactoring back to parrot trunk
svnbot6 r11119 | audreyt++ | * set mimetype for jpgs
vsoni well.....thats what I thought too...
audreyt: Currently there are features in IMCC that are not supported by PASM....any thoughts on handling that 16:05
audreyt extend pasm ;)
anyway, for the "ideal" perl6-bootstrapped-on-parrot diagram: svn.openfoundry.org/pugs/docs//perl...Parrot.jpg 16:06
vsoni audreyt: One thing about PASM....I think there are more opcodes and than any VM or CPU I have seent
spinclad imagines wikipedia with annotations for canonicity and community processes for declaring them 16:08
16:09 Debolaz2 joined
vsoni audreyt: BEGIN{} block is similar to Static code that gets called at module load time right? 16:09
audreyt no
that would be INIT
BEGIN does not begin in pir. 16:10
putter vsoni: much more fun than that... :)
audreyt s/begin/belong/
gaal audreyt: does findVar still need to be in Eval? 16:11
vsoni audreyt: Can you explain BEGIN is it similar to PERL5's BEGIN 16:15
16:15 chris2 joined 16:20 guaumiau joined
obra seen stevan 16:20
jabbot obra: stevan was seen 12 hours 59 minutes 41 seconds ago
audreyt gaal: I think it can be pure 16:27
putter vsoni: yes, it's similar. the BEGIN blocks get executed when they are encountered during the parse. ie, as soon as possible. they are gone by the time the parse is done. 16:31
audreyt vsoni: IMMEDIATE in pir is currently run during pir->pbc time. 16:33
that is like perl BEGIN
in that it's purely for side effects 16:38
and the resulting .pbc files does not carry those code
16:41 Bleadof joined
putter audreyt: i dont think "both moved to reject" quite does it - (Cat, Int) (Int; Int) (Num; Int) incomparable Cat and Int rejects first two, leaving 3, whose comma empties reject. 3 wins. But if the unordered varants appear are... differently ordered... Cat kills Num, and 2 wins. 16:46
audreyt try again? 16:48
putter i think it really is "if incomparability prevents determining the min of a pairwise order of variants, its an immediate ambiguity failure".
audreyt "pairwise"
putter will do
spinclad this is with \(my Cat Int lives(9), 5), i suppose
audreyt does not imply order
10) If distances of any two variants cannot be compared with each others, both are moved to the reject set.
putter "does not imply order"?
audreyt s/others/other/ in text
but in any case that suggests pairwise 16:49
not any particular order
maybe my wording was not clear... please improve :)
putter ah! got it.
too many years of linear coding. everything defaults to sequential. have to retool brain. 16:50
audreyt perl6 is definitely nonlinear in many places
and chaotic, and complex
emergence, self-organizing, sentient, etc 16:51
TimToady strangely attractive... :)
audreyt attracts strange people, that's for sure
putter waits eagerly for audrey's next sentence; sees "etc"; crestfallen. :)
audreyt TimToady: last night I came up with a good wait to explain luqui's MMD::Pure 16:52
which we use for MMD
putter tries to picture a p6 strange attractor...
audreyt "MMD dispatches to the condorcet winner among the variants"
stevan putter: it would almost certainly involve junctive autothreading
audreyt s/wait/way/ 16:53
otoh, "condorcet winner" is too jargonish to go into spec :)
spinclad hmm... Moose does Animal, Pet does Animal; :(Moose), :(Pet), :(Animal); \(my Pet Moose); :(Moose) and :(Pet) kill each other off while being comparable with :(Animal), which wins?
TimToady 儇äŗŗŠÆus
putter spinclad: something like that (I actually just forgot, again, the prefilter constraint. glad it still works out;)
audreyt spinclad: nothing wins
spinclad: Animal loses to Moose (and loses to Pet) 16:54
Pet and Moose loses to each other
spinclad ok
audreyt it's a global thermonuclear dispatch
16:54 buetow joined
putter spinclad: err, regard earlier Int Cat 16:54
audreyt everyboth loses
s/both/body/
16:54 frederico joined
TimToady wow, you found a word I don't know... 16:54
audreyt TimToady: "condorcet winner"? 16:55
# en.wikipedia.org/wiki/Condorcet_method
gaal reminds those present that condorcet voting is O(n^4)
svnbot6 r11120 | fglock++ | v6 - 'sub' attributes are proper nodes again
gaal though maybe with n<5 that hardly matters
audreyt notes that O(Inf) never stopped us before
gaal sure, Inf is constant 16:56
so it's basically O(n)
theorbtwo You mean O(1)
gaal right!
in fact
it's O(0)
the conputation wraps around and is finished before you spec it
putter gaal: again :) lol 16:57
16:57 Debolaz2 is now known as Debolaz
putter can 16:59
TimToady I dunno, having a reject list is more like instant runoff (AKA Australian preference)...
putter can't think of a way to include "global thermonuclear dispatch" in the spec. oh well.
audreyt TimToady: yeah, it's a condorcet at every semicolon 17:00
I havn't played computer games in ages
but I think Defcon will be a good game once it releases
# www.introversion.co.uk/defcon/index.html
lambdabot Title: "Introversion Software . Defcon"
TimToady so basically non-condorcet is ambig failure (in the absence of semi)
gaal sinclair Spec-trum
audreyt (global thermonuclear war sim) 17:01
TimToady: yup
putter hmm, "reject set" -> "spoiler set". describing the current role of its members, rather than how they got there.
audreyt putter: yup
they are not rejected
they are just pining for the ambiguity fjords 17:02
putter oy
TimToady "Do you have change for 10 million pining people?"
audreyt oy squared 17:03
putter "No, I'm out of pin money."
gaal "spoiler set" being a pun on condorcet? 17:05
spinclad ju sej 'pajn' Ʀnd aj sej 'pIn' -- lets call the whole thing 'off'
TimToady "Do you have change for 10 million off people?"
putter TimToady: re non-condorcet, though it can be wins by proxy. the winner need not be comparable to all losers
spinclad there we go
gaal is out of pun money 17:06
guaumiau TimToady, hi do you remember Haroldo from Montevideo ? I put a hat on your head ;)
TimToady howdy guaumiau
I'm terrible with names, but I would probably recognize you.
ingy morning lads
putter moring ingy 17:07
ingy hey putter, long time...
guaumiau TimToady, :) that's ok
TimToady sometimes I even recognize ingy.
fglock can a pointy-sub have no parameters? '-> {...}'
ingy usually blends into the crowd
spinclad fglock: it's usual even
putter runs agrep - morning, mooring, more-ing, ...
ingy hola TimToady 17:08
audreyt watches the channel enters -Opun mode
mauke what's $] in perl6? 17:09
audreyt ?eval $]
17:09 evalbot_11094 is now known as evalbot_11120
evalbot_11120 Error: unexpected "]" expecting "::" 17:09
gaal beware the cereal punner
TimToady too corny...
ingy Summer of Perl | 6.2.12 released! | paste: sial.org/pbot/perl6 | pugs.blogs.com | pugscode.org | pugs.kwiki.org 17:09
gaal TimToady: thing is she's sitting next to a cereal eater 17:09
putter lol
mauke I mean what's the perl6 equivalent of perl5's $]? 17:10
TimToady mauke: I would expect something like $*VERSION or some such.
gaal anyway, what bran of fun is more appropriate?
TimToady or $?VERSION if you mean the compiler rather than the runtime.
fglock guaumiau: are you from Montevideo? we'll have YAPC::SouthAmerica by november - see www.conisli.org/
lambdabot Title: ":: CONISLI ::"
audreyt $* would make sense only when runtime is also versioned
?eval $?PUGS_VERSION
evalbot_11120 \"Perl6 User\'s Golfing System, version 6.2.12, June 26, 2006 (r11120)"
fglock is there a table of special vars? 17:11
audreyt fglock: S02
grep for $?CLASS 17:12
fglock found it - thanks 17:13
TimToady looks like it's $?PERLVER and $*PERLVER.
audreyt fglock: we collect them as Magick in the new AST
the $? ones anyway
the $* ones does not belong in AST
TimToady yes, all $? should essentially be constants, which is why I dislike $?SELF. 17:14
17:15 Aankhen`` joined
audreyt btw SELF is not a Magick ;) 17:16
(in the new AST)
we copied all $? stuff except for $?SELF.
since everything else are link-time constant
TimToady my point exactly.
can we kill $?SELF then?
mauke hmm, COMPILING::<...> doesn't work in pugs
TimToady replace it with $(self) or some such? 17:17
audreyt <gaal> not under Judaism
putter re "so basically non-condorcet is ambig failure (in the absence of semi)', rather its condorcet on the individual parameter (aka, election). and if all the winning candidates follow it by a semi, then all the spoilers are disinfranchised and dont participate in the next parameter's election.
audreyt why is it not just "self"
putter no?
audreyt putter: aye.
theorbtwo TimToady: Doesn't killing $?SELF preclude burial in sanctified ground?
TimToady $?SELF is just the container.
audreyt thing is that $?SELF = rhs 17:18
TimToady you're not really killing yourself if you just kill your container. :)
audreyt not sure we should allow that
so maybe just "self" is sufficient
self() if you will
TimToady {self} to intepolate.
putter semi... it's like redistricting...
audreyt aye.
and it's still same number of keystrokes
mauke how do I check whether $?FOO exists? 17:19
svnbot6 r11121 | fglock++ | v6 - fixed 'for' in emitter
17:20 penk joined
audreyt mauke: pugs -c 17:20
-e '$?FOO'
pasteling "spinclad" at 209.94.133.172 pasted "Failing svn up" (25 lines, 869B) at sial.org/pbot/18208 17:21
TimToady mmm, exists(COMPILING::<$?FOO>) I imagine.
17:22 coumbes joined
mauke yeah, that's a syntax error in pugs 17:22
fglock $?SELF is $_[0] in p5, right?
TimToady but probably usually just $?FOO // "huh?"
guaumiau fglock, hi! I'll check it 17:23
TimToady fglock: only till you shift @_
fglock does @_ in p6 includes the invocant?
mauke *** Undeclared variable: "$?FOO" at try.p6 line 2, column 1-19
TimToady only if you declare a method without a signature. 17:24
method foo { my $self = shift(@_) } probably still works. 17:25
svnbot6 r11122 | szbalint++ | perl5 test: Exceptions coming from Perl 5 land should be caught by try { }.
audreyt spinclad: rm -rf perl5/Pugs-Compiler-Rule first? 17:28
spinclad: and svn up on there
spinclad odd... i had a perl5/Pugs-Compiler-Rule lying around with only a Makefile.old in it. 17:29
audreyt: done
and there we go
audreyt is grilled into unconsciousness... 17:33
...nap, bbiab &
putter groan 17:34
well done audrey 17:35
svnbot6 r11123 | fglock++ | v6 - '.say for 1..2;' works
17:38 sneex joined
mauke yay, mauke.ath.cx/stuff/poly.poly prints the pugs version now 17:38
17:40 frederico joined 17:41 tup joined, snowstalker joined
putter mauke: oh, wow. 17:42
svnbot6 r11124 | fglock++ | Pugs-Compiler-Rule - version 0.07 in CPAN;
r11124 | fglock++ | - no significant changes; clear a warning in bleadperl
r11123 | fglock++ | v6 - '.say for 1..2;' works
putter seen www.vendian.org/mncharity/dir3/mult...file/many/ ?
jabbot putter: I havn't seen www.vendian.org/mncharity/dir3/mult...ile/many/, putter
lambdabot Title: "Source files which work with ... several languages"
putter 'bot frenzy 17:43
mauke oh, ruby 17:44
I should look into that
huhu, my script is warnings clean 17:45
fglock oops - the Pugs-Compiler-Rule in CPAN is not the same in perl5/ - fixing 17:46
putter p6's #( ) and macos (can fake features of other languages when you are stuck) can be useful
fglock++ 17:47
mauke gcc warns for trigraphs, though 17:48
putter ah 17:49
audreyt TimToady: infix:<as> carries both coercion and formatting meaning... 17:50
previously we said that ($foo as Dog) is same as ($foo as $fido)
but that's not going to be the case for the Str case
maybe too punny
audreyt goes back to sleep 17:51
17:56 daxim joined
putter eep. 17:57
daxim 'lo 17:58
putter disturbed humor
daxim are these messages harmless? pugs built ok without: 18:02
Warning: prerequisite Devel::Caller 0|Module::Compile 0.17|Pugs::Compiler::Rule 0.06|Parse::Yapp 0 not found.
svnbot6 r11125 | fglock++ | Pugs-Compiler-Rule - v0.08 in CPAN; added MANIFEST.SKIP 18:06
fglock daxim: these are prerequisites for p6-on-p5 - pugs should work fine
18:06 wilx` is now known as wilx
daxim ah, is that because I set PUGS_EMBED="perl5"? 18:07
fglock I don't think so - PUGS_EMBED uses another set of modules
it's because pug now installs v6.pm, which needs these modules 18:08
pugs
daxim I see, then I better add those four to the requirements, too
18:09 sneex left
TimToady audreyt: maybe then we can use "foo".q[%s] or some such, short for "foo".fmt(q[%s]) maybe. 18:12
18:13 joshr joined
audreyt even more punning :) not sure if .fmt needs to be made shorter 18:13
TimToady hmm, on the other hand, "%s"('foo') is unused. doesn't interpolate though. 18:15
18:15 shachaf joined
TimToady in this case the pun saves five characters for something that would be rather frequent. 18:16
audreyt sure.
so Str does code and redispatch to sprintf?
that's trivial to implement :)
theorbtwo Str does Code sounds scary, but if it's a sprintf, really isn't. 18:18
TimToady but I'd still normally rather have some $var.mumble() form for interpolated formats... 18:19
mauke can I override that to run the string's contents as machine code?
TimToady maybe .fmt is good enough there.
audreyt why does it not interpolate?
or rather 18:20
why do we need it to interpolate?
interpolating sprintf sounds bizzare.
TimToady "%s"($var) ?
audreyt since you'll just put the entire string into the format
"Hello, %s"($var)
instead of
TimToady say "$x.as('%d')"
audreyt I mean
say '%d'.$x;
say '%d'($x);
is more natural 18:21
'%d'.($x).say
theorbtwo When you've got a lot of boilerplate in the format, it'd be nice to keep the varnames near the formats they'll get.
clkao fglock: did you get a chance to have data::bind working ? i am trying to merge your merged changes to my branch
TimToady if you want to keep your vars close to your formats, you want to intersperse them in the string, not list them all after.
audreyt {"%d"($x)} is still same num of chars as $x.as("%d")
actually one less
fglock clkao: not yet, sorry 18:22
TimToady but from the programmer's standpoint, it's usually the variable that's important, not the format.
theorbtwo "You owe me ${$n("%.02d")}. Pay up, or I'll charge you ${($n*.20("%.02d")}, you dammed hippy."
TimToady "You owe me $BIGBUCKS.mumble()"
audreyt .fmt then.
TimToady or something else that means "as". 18:23
audreyt we can keep .as if we don't link it to infix:as
TimToady I think they should be linked, probably.
audreyt or rule that infix:as only accepts protos on rhs
but both are suboptimal
and shows sign of too punny
ingy audreyt! 18:24
msg...
TimToady $foo._("%s") is almost already right from an I18n point of view. 18:25
and gets out of the way visually.
audreyt ($x, $y)._("Give %s to %s"); 18:26
TimToady '_' == "fill in the blanks"
18:28 Aankhen`` joined
TimToady though you almost want to ($x, $y).~("Give %s to %s"); instead. 18:28
multi-arg prefix:<~>...
hmm... 18:29
Juerd "Give %s to %s" <== $x, $y 18:32
$x, $y ==> "Give %s to %s"
That's what I'd personally like.
(In addition to, not instead of, .as and infix:<as>)
audreyt it's infix ~ 18:33
hrm
TimToady well, lemme think about it. shuttle's about to launch... & 18:34
wolverian you've booked a trip? 18:36
svnbot6 r11126 | daxim++ | v6-pugs build requirements 18:39
ingy fsck the Pony! I want a Space Shuttle! PERL NEEDS A SPACE SHUTTLE!!!
merlyn why does v6.pm attack @ARGV 18:40
audreyt merlyn: only when it's called as a script
(pythonesque)
merlyn even so, something seems a bit wrong about it
why doesn't it read its import list to figure out what to do
use v6 qw(--compile-only); 18:41
TimToady ingy: you think it should cost $500m to launch Perl?
audreyt merlyn: yeah
merlyn then I could say perl -Mv6=--compile-only 18:42
ingy TimToady: well I was thinking maybe a wooden one...
merlyn like the O::Deparse thing does
and others
audreyt yes, but there's no comppant line syntax that support it
s/comppant/cmdline/ 18:43
wolverian compact ant 18:44
ingy computerized pants
wolverian (that's, like, M::I? ech..)
TimToady hmm, actually $500m would be about 50 cents...still too expensive...
but a lot cheaper than $500M 18:45
ingy I'd buy perl for a dollar 18:46
TimToady I walk a camel for a mile...
*I'd
ingy time to run
literally
my marathon training begins today
TimToady goes off to brother-in-law's house for picnic... &
mauke ruby is insane 18:47
ingy Dublin Marathon -- Oct 30
TimToady (the one that invented XS :)
wolverian mauke, good or bad insane?
mauke not sure
I'm still trying to find cracks in its syntax 18:48
wolverian I couldn't get over .to_s
mauke what's that? 18:49
wolverian string context... :)
(i.e. there is no automatic coercion)
(...and it claims to be a dynamic language? pfft)
anyway, it is a nice language, don't get me wrong, and the syntax is what python should have been. 18:50
mauke makes sense
fglock merlyn: do you have a commit bit?
mauke I think implicit conversions and user-defined types don't mix
audreyt invitation sent to merlyn and bdfoy. 18:51
wolverian that's possible. I didn't think it through very well.
spinclad .oO{ -Ofun is 'watching' a shuttle launch on NatPublicRadio }
TimToady++
a shuttle was just what Perl6 needed 18:52
19:06 lisppaste3 joined
svnbot6 r11127 | fglock++ | v6 - fixed chained method call parsing (still broken in emitter) 19:12
19:17 lisppaste3 joined 19:18 putter joined 19:21 frederico joined
svnbot6 r11128 | fglock++ | v6 - chained method calls fixed 19:27
r11129 | putter++ | mmd-draft: further distillation.
19:28 larsen joined
svnbot6 r11130 | clkao++ | Merge down from perl5/PC-P6, mostly working. 19:28
putter rt.openfoundry.org/Foundry/Project/...-draft.txt Comments encouraged. 19:30
audreyt: is there a way to get a url like the above from openfoundry without exploratory url surgery? if not, would be nice... 19:32
clkao fglock: is list parsed correctly? it looks a bit weird
fglock clkao: have an example? 19:35
putter: svn.openfoundry.org/pugs/misc/pX/Co...-draft.txt ? 19:36
clkao fglock: nevermind, i think it's just things changed internally 19:37
19:37 thepler joined
fglock clkao: I'll finally start Data::Bind installation :) 19:37
svnbot6 r11131 | putter++ | mmd-draft.txt tweak 19:38
clkao cool
fglock: so you can kill your branch now? 19:40
fglock can I use the version from cpan?
clkao: killing
19:40 weinig is now known as weinig|coffee
clkao fglock: data::bind? i don't remember if there's any change after cpan release. but it's in perl5/Data-Bind 19:41
audreyt putter: s/before/after/ 19:43
oh wait
nvm
"if there is a single contender at this point, then I don't
require further checks for ambiguity against other candidates".
maybe
s/other candidates/other spoilers/ 19:44
svnbot6 r11132 | fglock++ | rm pX/fglock
audreyt hm.
that's not more clear.
but, all in all very clear writeup :)
mauke putter: poly.poly supports ruby now :-D 19:46
svnbot6 r11133 | clkao++ | Fix emit for calling parameter capture
putter audreyt: thanks. :) getting there. 19:47
svnbot6 r11134 | putter++ | mmd-draft: more tweaks
putter mauke: oh, neat. (goes to look...)
little shudder 19:48
clkao fglock: i seem to get an [ '' ] for sub () {} signature 19:49
fglock: it should be []
mauke wait, why does that even work? 19:50
fglock clkao: looking 19:51
19:53 thepler joined 19:54 Daveman joined
fglock clkao: fixed 19:57
svnbot6 r11135 | fglock++ | v6 - fixed empty 'sub' signature - clkao++
19:59 weinig|coffee is now known as weinig 20:00 beppu joined 20:02 beppu joined 20:04 daxim_ joined
fglock cpan refuses to install Data::Bind - it needs install CLKAO/Data-Bind-0.24_01.tar.gz 20:06
ubuntu installed without problems - now trying windows 20:07
20:08 dduncan joined
clkao just grab it and run makefile.pl and the normal things 20:08
putter "if there is a single contender at this point, then don't worry about ambiguity in subsequent positions"? 20:09
"if there is a single contender at this point, then I don't care about ambiguity in subsequent positions" 20:11
20:11 merlyn joined
svnbot6 r11136 | clkao++ | really fix the parameter capture. 20:12
putter hey, I actually understand that one! i finally grok what semis mean. :) until it changes. :) 20:13
audreyt: thanks for poking. much better. 20:14
clkao fglock: 20:17
t/08-test................parsing error in Expression: ...
... at /home/clkao/work/pugs/misc/pX/clkao/Pugs-Compiler-Perl6/blib/lib/Pugs/Grammar/Perl6.pm line 23
svnbot6 r11137 | putter++ | mmd-draft: clarified. 20:18
r11138 | clkao++ | more pull from perl5/PC-P6.
20:19 daxim_ is now known as daxim
fglock clkao: try{} is broken - fixing 20:19
20:21 frederico joined
gaal audreyt: up-p? 20:28
putter lol "up-p?" 20:30
svnbot6 r11139 | fglock++ | v6 - fixed 'try'
putter vs up?? and isUp? 20:31
fglock clkao: t/08-test should run again
gaal putter: t 20:32
gaal is undef but true;
putter ?eval gaal .= new 20:33
20:33 evalbot_11120 is now known as evalbot_11138
evalbot_11138 Error: unexpected "=" expecting ".", subroutine name, array subscript, hash subscript or code subscript 20:33
svnbot6 r11140 | putter++ | mmd-draft: tweak. mention named params.
putter attempts to establish if gaal is prototypical... 20:35
fglock clkao: I'm getting C errors - will try to build with another perl 20:36
gaal putter: I think /me is puzzled; is actually the best description at this juncture 20:38
putter ast stuff? 20:39
fglock it was proposed that '<bareword> <ws> <block>\n' is always a statement - is this correct?
clkao fglock: nopaste the error?
audreyt fglock: well 20:40
say { 3 };
it's a statement alright
so yeah
looks correct
fglock I mean 'say { 3 }' - without ';'
clkao HELLO PEOPLE. if i comment out the line $out ~~ s:P5:g/#/\\#/ line in Test.pm, the compiled Test.pmc now compiles in perl5. 20:41
audreyt well, "a closing brace that ends the line"
"has an implicit statement-terminating semicolon if possible"
clkao: YOU ROCK
pasteling "fglock" at 201.35.169.13 pasted "Data::Bind on windows, activeperl+mingw" (14 lines, 670B) at sial.org/pbot/18212 20:42
clkao but it's using $TEST:: everywhere
audreyt that's fine
clkao audreyt: come down and get me a beer
obra ...
clkao XD
fglock clkao
audreyt you have to say "woman" they are nothingmuch pronounced it ;)
20:42 Entonian joined
obra "you all are taking these gender roles way too seriously" 20:42
fglock plus-plus
audreyt s/they are/the way/
obra: it's all in good fun
actually, I believe nothingmuch was mocking gender roles last night; otherwise I'll smack him ;) 20:43
obra audreyt: I know ;)
clkao how about we don't mangle the package name for now 20:44
fglock clkao: sure
gaal putter: yeah 20:45
svnbot6 r11141 | clkao++ | Parse flag-y pairs. This breaks parsing or the non working substitution though.
putter clkao: wait, like, blib6/lib/Test.pm? compiles to p5? ?!?! 20:46
putter looks stunned
boggled even
fglock putter: ext/Test/lib/Test.pm
audreyt putter: the christmas is closer than you imagined :)
clkao fglock: why did you "use Exporter 'import'"
audreyt somewhat idiomatic p5, even.
clkao putter: what do you think we have been doing ?
;)
putter fglock: right, same 20:47
clkao: making slow but steady progress towards some distant christmass? ;)
fglock clkao: I don't remember - think it was needed by Moose
putter I didnt expect to see snow with moose prints in the summer. 20:48
fglock by t/moose.pm
putter: search.cpan.org/dist/v6-pugs/ 20:49
lambdabot Title: "Fl&#225;vio Soibelmann Glock / v6-pugs - search.cpan.org"
clkao ingy: you broke module compile 20:51
$ ab -clkao- [~/work/pugs/misc/pX/clkao/Pugs-Compiler-Perl6] perl -Ilib -I. -MTest -e 'use v6-pugs; plan(1)'
Can't open -e for input:
ingy w00t
clkao No such file or directory at /usr/local/lib/perl5/site_perl/5.8.8/Module/Compile.pm line 198.
-e now breaks 20:52
ingy can you test if caller(4) fixes it?
putter "Although running v6-pugs requires the installation of a lot of Perl 5 modules, it is completely independent of Pugs or Parrot." hmm... err... then, um, why is it called p6-pugs?
audreyt putter: because we need -something after v6 :)
putter oh, right. sigh. 20:53
fglock putter: because audreyt said it was a cool name
audreyt putter: and also the intent is for perl5's Pugs::*::* to match haskell's Pugs.*.* in AST and semantics
ingy clkao: ?
putter ah, a good excu^H^H^H reason.
ingy hurry up, cuz I need to leave soon
clkao ingy: i don't know
audreyt putter: and also Pugs::Compiler::Perl6 is what v6.pm currently uses 20:54
though I guess it could have been Lrep::Compiler::Perl6
but I think v6.pm is a descriptive enough brand already :)
putter :) 20:55
ingy clkao: of the things you don't know, which one are you talking about?
clkao fglock: use Test; is parsed as use {call Test} ? 20:56
ingy bash: mysql: command not found 20:57
ww
fglock clkao: 'use' is a special-case in the emitter - it doesn't exist in the parser 20:58
(yet)
clkao fglock: btw, there's no Pugs::Runtime::Perl6::Scalar
::defined
putter does p5 have default source filters? or only file specific ones? I don't quite remember. could use it obviously. they might permit v6.pm to tolerate the same headers pugs uses... 20:59
ingy clkao: when did that ever work?
audreyt putter: PERL5LIB
PERL5OPTS
fglock clkao: defining... :)
audreyt but bad ideas overall 21:00
wonder if a module can change those.
ingy is learning scheme
stevan ingy: pingy
audreyt can't.
ingy yestevan?
audreyt stevan: we should somehow get ingy a copy of TAOMOP 21:01
stevan ingy: you pinged yesterday, but we kept missing one another
audreyt: done
audreyt danke
stevan he has my copy ;)
audreyt ahh ;)
ingy audreyt: you mean we should get stevan one :P
stevan :)
ingy stevan: nothingmuch told me to ping you 21:02
stevan has tinyclos.lisp tattooed on his chest anyway
ingy :)
stevan ok
ingy you know what to do! 21:03
stevan fglock: FYI - moose has no need for exporter
gaal stevan: aren't you shoing up here?
stevan ingy: unfortunately I don't,.. but thats okay
gaal: $work is currently making me its bitch
stevan mumbles something about clients and bad data loads
I will either come there tonight, or tomorrow morning 21:04
fglock stevan: it was used inside a module - I think it wasn't Moose fault
stevan all depends on how frazzled I am when I finish this work
ingy clkao: take me off ignore
stevan fglock: okay,.. just making sure,.. Moose uses Sub::Exporter :)
stevan goes back to $work so that he can get to $hack.a.thon sooner 21:06
svnbot6 r11142 | fglock++ | v6 - 'defined' is a builtin
clkao ingy: i am busy
ingy: i will sort things out later 21:07
ingy clkao: patches welcome
I'll take a quick poke at it
clkao Ladies & Gentlemen 21:08
$ ab -clkao- [~/work/pugs/misc/pX/clkao/Pugs-Compiler-Perl6] time perl -Ilib lib/v6.pm --compile-only ~/work/pugs/ext/Test/lib/Test.pm > Test.pmc
## Please see file perltidy.ERR
34.831u 1.156s 0:38.18 94.2% 10+286215k 0+0io 0pf+0w
$ ab -clkao- [~/work/pugs/misc/pX/clkao/Pugs-Compiler-Perl6] time perl -Ilib -I. -MTest -e 'plan([\1],{}); ok([\1], { desc => \"named arg"})'
1..1 21:09
ok 1 - named arg #
10.389u 0.059s 0:10.94 95.3% 10+20463k 0+0io 0pf+0w
audreyt excellent.
->perl5/ ? :)
putter does parrot still have "perl magic cookies", thus ambiguating "PMC"?
audreyt clkao: want to talk about it? :)
fglock clkao: congrats! 21:10
audreyt sends clkao a blogbit
nnunley putter: Yes.
clkao++
clkao audreyt: committing to my branch, waiting for fglock's sign to okay data::bind
nnunley!!
ingy pmc is a bad term anyway
c-file is better
because plc and tc
audreyt ingy: unadorned scripts pose a problem 21:11
perldoc becomes perldocc
putter clkao++ wow
clkao great, now i found a svk bug
audreyt certainly bad idea
fglock clkao: I don't think I'll be able to install in windows soon. I'll send the current version to CPAN and the we can merge
nnunley clkao!!
audreyt perldoc.c is equally bad
thoughts?
clkao fglock: ok.
fglock I'll just cleanup the tests 21:12
ingy audreyt: don't compile
audreyt seems defeatist
ingy I mean don't write cache
audreyt though clearly better than options above
I know
putter perldoc.pmc?
ingy like for -e
audreyt putter: coexistence with .pm
fglock anyone can make a Data::Bind ppm? 21:13
ingy which I am trying to fix...
fglock please!
audreyt fglock: I can boot to Win32
sec, doing that
putter perldoc.plc?
audreyt fires up parallels
fglock audreyt: thanks!
audreyt putter: again, coexistence with .pl. need to be somehow unambig
clkao bestpractical.llc
audreyt lol
vsoni any documentation on PGE grammar 21:14
audreyt vsoni: S05
svnbot6 r11143 | clkao++ | Test.pm compiles and runs! (if the $out ~~ s line is commetted out)
putter didnt realize .pl could be compiled. .p5c .pc
ingy perldoc.c?
because everything is faster in c 21:15
:P
putter ingy: .c already means something... see perlapi... ;)
ingy >_<
vsoni audrey: is there an online link to S05 21:16
ingy clkao: did -e compilations ever work? 21:17
ingy doubts it
putter dev.perl.org/perl6/doc/synopsis.html
lambdabot Title: "Synopses - perl6"
clkao ingy: it used to!
ingy is dubious
they didn't work in general MC 21:18
clkao fglock: why is terms having "s:g/" specifically? is it hard to have it generic?
ingy maybe there was a v6 workaround that I missed
clkao v6 --compile-only -e 'something'
used to work
ya, ingy is dubious i think
fglock clkao: this was written very early - it's time to update
clkao do you feel like doing so? ;) i can write a test case 21:19
fglock clkao: sure
clkao i can emit it as well
fglock I guess I'll just remove the 2 failing tests from MANIFEST for cpan version 21:20
clkao lol
or mark them todo? 21:21
fglock the multisubs test needs name mangling because it creates 2 subs with the same name - it's hard to TODO
the other test wasn't in the MANIFEST anyway 21:22
audreyt fglock: I'm using CamelPack to make PPIs
fglock: is it possible for you to use CamelPack?
s/PPI/PPD/
fglock sure - link?
audreyt win32.perl.org
fglock thanks!
audreyt if you already have activeperl, just run camelpack installer
and uncheck the activeperl checkbox when it's run 21:23
that will get you C compiler and nmake and the other tools needed
download will take some time, however
Alias and friends are fixing that with VanillaPerl
clkao . o O built in v5call currying for perl5 programs using p6 libs 21:24
ingy clkao: what is `v6`? 21:26
clkao ingy: ask fglock
ingy or rather where is it... 21:27
21:27 cognominal joined
svnbot6 r11144 | fglock++ | * v6-pugs-0.003 in CPAN 21:27
audreyt woot
ingy: it's in perl5/Pugs-Compiler-Perl6
fglock clkao: feel free :)
putter the header thing is bugging me. could we establish a common header "use V6;", no #!, for both p5 and pugs? 21:28
audreyt maybe just remove #!
and use v6-pugs;
for now
putter just because it would be nice to have a single code base. and if you specify #!, you're asking for a particular implementation anyway... 21:29
ingy audreyt: I don't see a v6 binary
audreyt I somehow dislike V6; I'm fine with "use v6-0"
ingy: binary?
ingy: perl5/Pugs-Compiler-Perl6/lib/v6.pm
clkao fglock: gr, i think your 'merge' clobber my changes. like ~~ 21:30
ingy audreyt: 13:19 < clkao> v6 --compile-only -e 'something'
clkao :(
audreyt ingy: clkao has "alias v6='perl -Ilib lib/v6.pm'" perhaps
fglock clkao: sorry - I didn't use svk...
audreyt otoh, maybe installing the binary as "v6" wouldn't hurt.
or, if to play a bit better with tools, "v6-pugs" 21:31
ingy nod
fglock perl5/PIL-Run has a 'pugs-p5.pl'
audreyt fglock: Data::Bind has PadWalker etc dependency 21:32
fglock: I'm installing them with camelpack now
putter use Perl-6; ? that's the spec expansion of use v6;
audreyt but I guess you can also do it yourself with camelpack
fglock audreyt: I'm downloading it
svnbot6 r11145 | clkao++ | remerge r11065
audreyt putter: Perl.pm is on CPAN 21:33
sad but true
we can forcibly take it over if we want I guess
but v6 is shorter :)
putter sigh. hmm, and Perl would interfere with Perl-6? 21:34
audreyt yes because that's just 21:35
use Perl '-6';
svnbot6 r11146 | clkao++ | pull perl5/PC-P6.
putter could we just say "dont install PerlInterp!"? 21:36
audreyt that's the "forcibly" part
also involves cpan module index contention
putter mumble mumble sigh 21:37
audreyt and I think Perl with forced uppercase is harder to type than v6...
putter yes. but its Perl-6 vs v6-pugs, and the first is less of a kludge in some sense. 21:38
ingy clkao: v6 --compile-only -e 'something'
works here
audreyt putter: v6-0.
ingy what version of M::C you got?
audreyt putter: or are you referring to the dash as kluge :) 21:39
fglock clkao: Exporter.pm is used to compile 'is export'
21:40 chris2 joined
ingy clkao: you need 0.17 21:40
audreyt putter: if you want max nonkluge 21:41
use v6-(Any); 21:42
is still valid
use v6 '-Any';
it's equiv to that
and is also both valid p5 and p6.
putter audreyt: :) no, not the dash. just making up a new package name with special cased meaning. Perl-6 was at least S11. re v6-0 et al,
clkao fglock: yes 21:43
ingy: i am on 0.17
audreyt notes that v6-pugs is also S11 via TimToady
ingy clkao: what is your alias v6?
clkao alias ? 21:44
svnbot6 r11147 | fglock++ | v6 - 'grammar xxx;'
putter S11 implies you cant use v6-mumble, but have to do Perl-mumble if you want a particular mumble. no? no. ok, hmm...
ingy clkao: in "v6 --compile-only -e 'something'" ... wtf is "v6"?? 21:45
I use: alias v6='perl `perldoc -l v6`' 21:46
and that works
clkao ingy: lib/v6.pm used as $0
Daveman Hello, Audrey. 21:47
ingy clkao: try 'perl lib/v6.pm'
audreyt Daveman: hi. 21:48
ingy (ingy) ingy /home/ingy/src/pugs/perl5/Pugs-Compiler-Perl6 21:50
> perl lib/v6.pm --compile-only -e 'something'
# no package name
use Scalar::Util;
use Pugs::Runtime::Perl6;
lambdabot Not in scope: `pm'
ingy use strict;
fglock clkao: 'module xxx-FGLOCK-001;' now compiles correctly to: package xxx; $xxx::VERSION = '001';
svnbot6 r11148 | audreyt++ | * chase perl5/ move so that pugs -BPerl5 runs again
r11149 | fglock++ | v6 - fixed package name mangling
ingy no warnings 'void'; something()
; 1;
ok time for me to go act like an american
clkao fglock: ok, but i have that on my branch already.
ingy beers, steers and qu\W fireworks
putter ok, so strawman proposal: convert all the pugs t/ files from #!/usr/bin/pugs\n\nuse v6; to use v6-0; so the p5 chain can chew on them. none of the t/ files currently have execute bits set. 21:51
21:53 sanug joined
putter downsides include the tests not working as soon as we hit 6.1.0. but that will be after christmass. 21:53
audreyt huh. 21:54
use v6-0 is constraining the author part
not the version part
to 0
which is why I proposed "v6-(Any)"
to be maximally politically neutral and technically correct
clkao what is not politically neutral? 21:55
audreyt use v6-();
is perhaps also correct and also neutral.
clkao: "pugs"
clkao *nod*
v6-(XMas)
ingy use v6--(); # XD
audreyt use v6-_; 21:56
use v6-();
use v6-(Any);
are all neutral candidates
but _ is technically wrong 21:57
so I guess () is the best bet so far.
putter: would that work for you?
putter why is v6-0 an author of 0? S11 has "use Perl-6.0;"...
ingy use v6-now; 21:58
audreyt v6 is short for Perl-6
v6.6 is short for Perl-6.6
v6-0 is short for Perl-6-0
v6-pugs is short for Perl-6-pugs
clkao fglock: i have the emitter bit ready. just need to parsing bit for s///
audreyt v6-pugs is short for Perl-6.0.0-pugs
putter ah. tnx. sigh
svnbot6 r11150 | clkao++ | emitter for s:P5:g//, which is not yet parsed.
clkao fglock: make sure it parses s/#/\\#/ ;) 21:59
audreyt I actually like use v6-now;
;)
audreyt finds that VanillaPerl doesn't actually build Devel::Caller
fglock clkao: can you add a test file? 22:00
svnbot6 r11151 | fglock++ | v6 - added Pugs::Compiler::Rule header to grammar
audreyt tries VC++ instead
clkao fglock: added, but it's in my branch
audreyt (express edition)
clkao 13match.t
fglock clkao: just copy to perl5/ 22:01
clkao fglock: but it emitter is in my branch as well
fglock audreyt: activestate has Devel::Caller ppm
audreyt not new enough 22:03
aha. it's all Module::Build's fault 22:04
fglock now it's just implementing 'rule', and it can bootstrap :) 22:05
putter why would use v6-(); be correct p6? 22:07
audreyt putter: because it would be as god as 22:08
good as
use Perl-6-()
which is
use Perl-6;
as it's an empty constraint
fglock clkao: can I cp the test to the perl5/ branch?
clkao fglock: ya, but it also requires other changes in the emitter 22:09
fglock ok, I'll merge as-needed 22:10
clkao fglock: or should i just merge back
given it's already released and audrey should have your package ready soonish
fglock you can merge, yes 22:11
audreyt I'm fwiw still fighting with win32
putter the ability to have an empty () is specced where...? ah, so your assuming something recognizes -() as no constraint, and prunes it? v6-() to Perl-6-() to Perl-6 to Perl-6-(Any) ?
audreyt but the end is near
putter: yes.
it seems consistent 22:12
and if it's ambig, we can spec it into existence
fglock clkao: I'll use Pugs::Compiler::Regex::Perl5 - it sets the match variables
RegexPerl5
putter hmm....
audreyt <clkao> fglock: oh... sure
fglock gotta go & 22:13
22:14 lambdabot joined
stevan can now see the light at the end of the $work tunnel 22:14
I will be heading to Boston tomorrow morning
audreyt yay!
stevan putter: I fully expect you to be there :)
fglock audreyt: I couldn't finish the CamelPack installation - will backlog to see how it worked for you
audreyt then we'll mop the mop
sanug audrey: I would like to ask some question about the compilers/tools.
stevan and Moose the Moose 22:15
putter stevan: I look forward to it.
audreyt sanug: sure
sanug I am working on the documents in the plan
stevan does the going-to-the-hackathon-dance
fglock &
22:15 fglock left
sanug And I am lining them up with your diagrams 22:15
And I would like to see if you like the new one. 22:16
22:16 daxim joined
svnbot6 r11152 | clkao++ | merge from my branch to perl5/PC-P6. 22:16
r11153 | clkao++ | the branch is merged.
putter hmm... actually, v6.pm should probably dispatch to different implementations. perl -e 'use v6-pugs;' should get you maybe Perl/Pugs.pm, and v6-lrep gives you Perl/LRep.pm. 22:17
audreyt putter: that's the original idea
putter: but the test should be neutral
putter yes, I've backed up and am trying to see the big picture... 22:18
stevan moves the big picture a little to the right for putter to see better
putter changing the pugs t/ to use v6-pugs; was starting to look attractive given alternatives of use v6-(Any); (long), and use v6-(); (novel, weird, ug) 22:20
putter thanks stevan
audreyt cool. 22:21
putter use v6-test; ?
sigh
audreyt nah.
v6-pugs or v6-() is both fine with me. 22:22
v6-pugs is a bit easier to type.
ingy use v6-perl;
audreyt yeah, there's that.
that takes a special-case
but it's probably fine.
v6-perl then?
ingy use v6-ingy; # personal fav 22:23
putter I can't interest you in a sparkly use V6; ? ;)
svnbot6 r11154 | clkao++ | Fix eol-style for PC-P6.
audreyt no. :)
putter use v6-any; 22:24
ingy use v6-dammit;
audreyt thought about that. also takes special case
"use v6-perl;" is more descriptive.
putter wasnt thinking of 'any' as Any, but as a author which distributes a perl dispatcher. ;) 22:25
stevan use v6-putter; # automagically re-writes the code to use V6
ingy stare at the channel thru the GreenTelescope
(big bottle of heinecken)
putter use v6-perl; I could live with that. grumble grumble perl5 grumble no hooks grumble.
audreyt ok. will you do that sweeping change? :) 22:26
putter insanity?
audreyt (including the docs in v6.pm itself)
putter oh, I thought you asked why?
audreyt heh
I know why
even though I don't know why, but I like why
</ot>
hm, _why is no longer here. 22:27
TimToady hmm, 'use v6-*;' seems to parse in P5...
audreyt hm.
putter has a broad smile
audreyt well, here we go :) 22:28
TimToady++ # maestro
putter indeed. yay.
TimToady might need an extra semicolon...
audreyt ?eval use v6-*; "Yay"
22:28 evalbot_11138 is now known as evalbot_11154
evalbot_11154 "Yay" 22:28
audreyt (yeah, I tried that and got that error) 22:29
TimToady if it's taking *; as a typeglob.
audreyt ah.
and happily $; is a magical
so there is indeed a glob there
nothingmuch win21 22:30
audreyt notes that
use v6-**;
is legal
multidimentional author anyone?
I like -**; better than -*;;
so let's go with ** :)
use v6-**; 22:31
TimToady ?eval use v6-**; "Yay"
evalbot_11154 "Yay"
audreyt and so the crescendo of insanity in this noble house of cards continued... 22:32
putter was just thinking "should I be feeling guilty about this...?"
audreyt please do the sweeping change :) 22:33
TimToady someone has to fly over the cuckoo's nest...
putter anyone think we should set it aside and see if we still think its a good idea in the morning? 22:34
audreyt not me, certainly
audreyt just sent putter a pugs.blogs.com bit so that he can write his confession after checking in the sweeping change 22:35
putter ok, sweeping...
ingy ?eval use v6-o_O; "w00t" 22:36
evalbot_11154 "w00t"
ingy ?eval use v6-XD; "w00t!!"
putter sort of feels like a year ago's "never know what will be there when you wake up in the morning".
evalbot_11154 "w00t!!"
ingy ?eval use v6-XB; "silly wabbit!!"
evalbot_11154 "silly wabbit!!"
audreyt goes updating S11 22:37
ingy ?eval use v6-*_*; "whee!!"
evalbot_11154 "whee!!"
ingy there you have it
putter *clap* *clap*
ingy bows
?eval use v6-turbo; "vroooom!!" 22:39
evalbot_11154 "vroooom!!"
TimToady syntax error at - line 1, near "*;"
Execution of - aborted due to compilation errors.
putter with double *? 22:40
TimToady *_*
ingy `_`
putter lol
ingy >_<
audreyt: any suggestions on debian pkgs for scheme? 22:41
i got mz and dr
wolverian chicken
ingy chicken-bin
check 22:42
check, check, chicken...
good name for a song
I wrote a song on my run today
22:43 bernhard joined
ingy o/~ I don't like your fixie girl... o/~ 22:43
full song at 11!
ok time to dlink brrrs furilla!
latre skatres
&
clkao parsing is hard 22:46
putter ...says barbie. 22:49
svnbot6 r11155 | putter++ | wiki.pl was the only #!/usr/local/bin/pugs in a sea of #!/usr/bin/pugs. Is now the same.
putter (Talking barbie dolls at one point regrettably said "Math is hard!". sigh) 22:50
svnbot6 r11156 | clkao++ | rename 13match.t to 13-match.t 22:52
22:54 visq joined
TreyHarris so reading S03 again, i'm having trouble understanding the difference between "return(1)" and "return (1)"? 22:56
dduncan don't forget about "return 1" as well
TreyHarris dduncan: well, that appears to be the same as return(1) 22:57
svnbot6 r11157 | putter++ | Normalize a #!pugs and a #!/bin/pugs.
TreyHarris oh, nevermind, i got it. return(1) is a function call on return() with 1 as a single scalar argument. return (1) is calling return with an unparenthesized argument list consisting of a list containing one elem, 1. 22:59
svnbot6 r11158 | clkao++ | Parse s:p5:g/foo/bar/; Test.pm now compiles out of the box.
dduncan maybe I'm out of date, but I thought "foo ()" was used with language keywords and "foo()" with non-keywords, as an easy way to tell them apart
eg, you have a space with "if" but not with "myfoo"
TreyHarris no, i don't think that's right. that was merely a stylistic convention in Perl 5, I think. 23:00
dduncan maybe
but what you say sounds reasonable
TreyHarris a convention frequently abused with "core-ish" modules
dduncan no space means parens bound arg list, a space means parens bound an argument
audreyt TreyHarris: your interp is correct. 23:01
dduncan makes making a parser easier and less ambiguous
bound or define an argument
svnbot6 r11159 | sanug++ | Added pugs/docs/notes/plan ideas to this file to diagram PUGS backends - audreyt please review and update/comment
23:03 sanug left
TreyHarris so then, return((1)) would be equivalent to return (1)? 23:03
audreyt aye. 23:04
TreyHarris these distinctions are not yet in pugs, it appears? 23:07
?eval my @a; sub foo { return (1) }; @a[foo()] = <a b c>; @a[1]
23:07 evalbot_11154 is now known as evalbot_11158
evalbot_11158 Can't exec "./pugs": Permission denied at examples/network/evalbot//evalhelper.p5 line 46. 23:07
TreyHarris oops
?eval say "Hi" 23:08
23:08 evalbot_11158 is now known as evalbot_11159
evalbot_11159 OUTPUT[Hi ] Bool::True 23:08
TreyHarris ?eval my @a; sub foo { return (1) }; @a[foo()] = <a b c>; @a[1]
evalbot_11159 ["a", "b", "c"]
TreyHarris ?eval my @a; sub foo { return 1 }; @a[foo()] = <a b c>; @a[1]
evalbot_11159 ["a", "b", "c"]
clkao 08-test now passes 23:09
we can run the test suite
putter clkao: any thoughts on migrating both pugs and lrep to a common "use v6-**;" header? 23:10
svnbot6 r11160 | clkao++ | make 'use Test' just DWIM for now, I don't care the rest.
TreyHarris what sub signature would one use for foo() if one wanted to call it as foo<a b c>? 23:12
clkao putter: sure, but how to run lrep based one now? 23:13
rafl Is it possible to use ccache with ghc?
clkao TreyHarris: *@_
*@_ is rw even, i think
TimToady no signature will turn that into a call. 23:14
23:14 ayrnieu joined
TimToady that is always foo().{'a','b','c'} 23:14
putter clkao: use v6-**; is valid p5 use()ing v6.pm. 23:15
clkao putter: ya, that's the frontend. i mean what's the status of the lrep based on?
and how do i run it?
putter I dont understand...?
vsoni in PGE can I specify a UNICODE character
23:16 Debolaz joined
TreyHarris TimToady: ah, ok, so like this: 23:16
?eval sub foo { return (:a :!b :c )}; foo<a b c d> 23:17
23:17 evalbot_11159 is now known as evalbot_11160
evalbot_11160 Error: unexpected ":" expecting comment, operator or ")" 23:17
TreyHarris oops
TimToady postfix <a b c d> is *always* a hash subscript. 23:18
(except after :foo)
TreyHarris ?eval sub foo { return {:a, :!b, c => 3}}; foo<c b a d> 23:19
evalbot_11160 [3, Bool::False, Bool::True, undef]
TreyHarris ah, ok.
TimToady yep
putter clkao: I'm still puzzled. the idea is both pugs t/ and the p5 impl have a standard header of "use v6-**;" instead of the current "#!/usr/bin/pugs\nuse v6;" and "#!/usr/bin/perl\nuse v6-pugs;". If you want to shebang some particular executable you can, but if not, the p6 code is identical. yes?
hmm... how are you running pugs/t/ files currently? 23:20
(all this because p5 doesnt have sufficient hookage to permit the pugs header to work...) 23:23
TreyHarris is S03 correct in the definition of ===?
?eval [1,2] === [1,2]
evalbot_11160 Bool::True
clkao putter: i know. i was asking how you invoke the lrep compiler like invoking lib/v6.pm
TreyHarris ?eval my @a = [1,2]; my @b = [1,2]; @a === @b
evalbot_11160 Bool::False
23:23 lollan joined
TreyHarris maybe "it is not true that [1,2] === [1,2]" should be "it is not necessarily true that..."? 23:24
putter how do you invoke it now?
clkao my $p6 = Pugs::Compiler::Perl6->compile( $source ); 23:26
svnbot6 r11161 | clkao++ | * add parentheses in calling capture.
r11161 | clkao++ | * use lib PERL6LIB from v6.pm.
TimToady ?eval my $a = [1,2]; my $b = [1,2]; $a === $b
evalbot_11160 Bool::True
putter clkao: and why would that be affected? 23:28
TimToady ?eval my $a = [1,2]; my $b = [1,2]; push @$a, 3; push @$b, 3; $a === $b
23:28 evalbot_11160 is now known as evalbot_11161
evalbot_11161 Bool::True 23:28
clkao i am just asking how to invoke the equivalent for the lrep backend
TreyHarris so it's doing deep rather than identity comparison? 23:29
TimToady apparently
?eval [1,2].id
evalbot_11161 undef
clkao ?eval my $a = [1,2]; my $b = [1,2]; $a =:= $b
evalbot_11161 Bool::True
TimToady ?eval my $a = [1,2]; my $b = [1,2]; push @$a, 3; push @$b, 3; $a =:= $b 23:30
evalbot_11161 Bool::True
audreyt fglock: using free (as in gratis) tools alone there's no way to build Data::Bind for you
if you continue to use activeperl 23:31
TimToady ?eval my $a = [1,2]; my $b = [1,2]; push @$a, 3; push @$b, 3; @$a =:= @$b
evalbot_11161 Bool::True
audreyt please make the switch to Vanilla Perl :)
(which Data::Bind all-passes on)
TimToady ?eval my $a = [1,2]; my $b = [1,2]; push @$a, 3; push @$b, 3; @$a 23:32
evalbot_11161 [1, 2, 3]
audreyt fglock: I'll post to p6c
TimToady @$a =:= @$b should almost certainly be returning false. 23:33
lambdabot Maybe you meant: . faq id map pl v wn
clkao audreyt: i might need to update data::bind
putter clkao: I wish to determine whether to proceed with the migration to use v6-**;. I am uncertain whether you are pointing out a problem with that, observing noting some consequence, or asking something completely different. Can you help me? 23:34
clkao i am asking something completely different 23:35
you want to support the lrep compiler backend? what is it? how do i invoke it? it's in the rules package right?
putter ah, ok. I haven't been following lrep development, so I have no idea at present. Sorry. 23:36
TreyHarris one very likely might use LL =:= RR to determine whether a mutator on LL will also mutate RR or not, and that certainly isn't true in that example
23:36 weinig is now known as weinig|away
svnbot6 r11162 | clkao++ | We don't need the magic for aliasing NV, PV etc. 23:38
TreyHarris though that might not be a valid use, i suppose it's perfectly reasonable that an object might be immutable but supply mutators which call a new object into existence replacing the current object. perhaps =:= is not a valid question to ask generally
putter clkao: do you like the idea of pugs/t/ shifting to a header without #!/usr/bin/pugs and with use v6-**; instead of use v6;? It should permit perl -w t/whatever/mumble.t . Or are you already using pugs/t/ *.t files, and I have misunderstood that this is a problem? 23:40
23:42 sanug joined
clkao putter: yes 23:42
putter: i can't use the current .t files, for obvious reason 23:43
putter ok. thanks. I'll proceed with the change. 23:44
clkao putter++ 23:45
svnbot6 r11163 | rafl++ | r163@ata: rafl | 2006-07-05 01:46:48 +0200
r11163 | rafl++ | * properly clean third-party.
audreyt instructions sent to p6c.
TreyHarris that's weird:
?eval ^4
23:46 evalbot_11161 is now known as evalbot_11162
evalbot_11162 (0.0, 1.0, 2.0, 3.0) 23:46
TreyHarris that's the first time i've ever seen pugs voluntarily produce nums when it could've produced rats :-)
clkao i have module::module doing something funny again
23:47 daxim joined
daxim I got an undeletable file. 23:48
> sudo rm -rf pugs~11110/ 23:49
rm: cannot remove directory `pugs~11110//t_disabled/rules/from_perl6_rules/.svn/wcprops': Directory not empty
> ll pugs~11110//t_disabled/rules/from_perl6_rules/.svn/wcprops
/bin/ls: pugs~11110//t_disabled/rules/from_perl6_rules/.svn/wcprops/newline>t.svn-work: No such file or directory
lambdabot Parse error
daxim total 0
lambdabot Not in scope: `wcprops'
audreyt daxim: try mv things away
visq stupid question (sorry): v6 is p6 Parser/Compiler with target p5 and implemenation p5 ? 23:50
daxim mv: cannot stat `newline>t.svn-work': No such file or directory
TreyHarris "foo.^bar is short for foo.meta.bar". even in invocant? the invocant bar() gets will be foo.meta, not foo?
clkao now we just need to compile a bunch of preludes... 23:54
svnbot6 r11164 | clkao++ | CPAN 0.24_02
clkao i think i am done with my perl6 hacking today. it'd be great if someone can actually implement multi 23:58
visq v6.pm I mean; because the pod somehow states v6.pm is only a frontend