Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-07-04

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

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

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo