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á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 |