pugs.blogs.com | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6 | <stevan> Moose... it's the new Camel ":P | .pmc == PPI source filters! Set by Alias_ on 16 March 2006. |
|||
00:01
bsb joined
00:14
drbean_ is now known as drbean
00:16
justatheory joined
00:20
avarab is now known as avar
00:23
hikozaemon joined,
justatheory joined
00:31
macroron joined
00:48
jsiracusa joined
01:36
sri_ joined
01:46
jserv-- joined
01:50
Quellism joined
01:59
pfenwick joined
02:16
vel joined
02:17
vel left
|
|||
svnbot6 | r10448 | Darren_Duncan++ | ext/Relation/ : correct private method call syntax to be \!meth() rather than .meth() | 02:30 | |
02:41
Quellism joined
02:43
trym_ joined
02:55
putter joined
|
|||
putter | wrong time of day for questions, but I'll backlog... | 02:56 | |
p6 is a lisp-(5+5+5+1+5), yes? | 02:57 | ||
that is, | |||
env,package,lexical,lexical-sigilless,attribute | |||
with $@%&::, but not @@ | 02:58 | ||
{my @@x; my @x;} is a multiple declaration error? or not? | |||
audreyt | it's multiecl | 02:59 | |
not an err | |||
multidecl in general is now ok as long as the storage class compat | |||
putter looks at watch, wonders if audreyt has switched timezones ;) | 03:00 | ||
audreyt | no, just woke up | ||
putter | ah! | ||
obra | Wow. A pugs smoke in 20 minutes. | ||
audreyt | yeah, amazing, isn't it. | 03:02 | |
"make ghci" in 20 seconds. | |||
obra | how does that compare to your timings? I'm running with .5G | 03:03 | |
putter | inside methods, submethods, and multimethods (putter tries to remember the difference between multimethods and multisubs...), $x is searched for in lexical,attribute,(and if not strict: current package(which is a Class), global package) | 03:05 | |
audreyt | obra: 18 here | ||
attribute is just lexical. | |||
"has $x" | |||
means making a $.x accessor | |||
"my $x" | 03:06 | ||
is class scope (noninherited) attr | |||
under strict $x is _always_ lexical | |||
mm both embed is borken on macintel | 03:07 | ||
putter | class A { my $x = 3; has $.y; method m1...} ... class A { my $x = 4; method m2...} m2 can see $y (just $y, not $.y), yes? | ||
err, m2 can see $y (just $y, not merely $.y), yes? | 03:08 | ||
audreyt | I don't think $y enters the picture here, no | ||
$y isn't in scope at all | |||
"has $y" is just shorthand for "has $.y" | 03:09 | ||
has no bearing on the lexical scope | |||
putter | hmm. I thought in m1, $y was short for $!y. | ||
a closely related question is whether m2 can use $!y. | 03:10 | ||
audreyt | er sorry, typo | 03:11 | |
"has $y" is shorthand for "has $!y" | |||
your example has "has $.y" | |||
making it a public field | |||
now if it's "has $!y" to begin with, then yes, current spec has it that you can refer to it as simply "$y in both m1 and m2. | 03:12 | ||
also, the m2 declaration should have "class A is extended" or something | |||
putter | hmm. I thought even with a public field, one could say $!y to directly access without going though the accessor. | ||
03:12
SamB joined
|
|||
putter | if m2 can say $!y for a not-in-a-surrounding-block has $!y... attributes are looking a bit un-lexical, no? | 03:15 | |
audreyt | it's conceptually extending the lexical scope | ||
you may be correct in saying that $y can refer to $.y. | 03:16 | ||
but I think it's broken | |||
putter | or are class decl blocks doing some kind of weird lexical fusion in addition to package var fusion... putter squints... | ||
audreyt | i.e. though conceptually that may be sound, I think it's too confusing. | ||
I also think one should write "has $x" but use it as "$!x" not just "$x"... | 03:17 | ||
putter | err, I thought $y referred to $!y, _not_ $.y... | ||
audreyt | but at least TimToady specced the latter point clearly | ||
well, S12 can be read as that "has $.y" is just "has $y" with automagic accessor | |||
it's a bit vague | |||
putter 's head hurts. goes back to read spec... | 03:18 | ||
audreyt | TimToady: whats the motivation in letting undecoarated "$x" refer to private atts? | ||
putter | thanks audreyt :) | ||
audreyt | and if that's going to stay, can we get it to _not_ apply to "has $.y" style public atts? | ||
np :) | |||
putter | hmmm. I do like abbreviating $!x to $x. But it does make $x a one-missing-visually-small-character-typo away from $.x, inviting "why isn't my accessor being called!#$%@$!" bugs. :/ | 03:24 | |
audreyt | yup. | ||
yay, I got my US 5yr visa. | 03:29 | ||
now going to submit for norway visa... | |||
audreyt wishes for a more portable passport ;) | |||
putter | regardless, $!x is at least un-lexical in that more than the current block nest needs to be consulted. so it still seems a lisp-(5+5+5+1+5). :) | 03:30 | |
"audreyt's visa tips for the world traveler" blog entry? | |||
re multidecl not an err... I thought {my $x; my $x;} had become a compiletime error. or am I out of date... | 03:32 | ||
audreyt | it's now okay | ||
putter | ok. putter looks for vaguely remembered obsolete test... | 03:33 | |
audreyt | bbiab | 03:35 | |
putter | given the pugs speedup, it might be worth doing a postmortem-like summary of what went into it. | 03:36 | |
audreyt | aka, release notes :) | 03:37 | |
putter | lol | ||
audreyt | macintel ghc (wish post-install scripts that sets everything up for pugs): perlcabal.org/~audreyt/tmp/ghc-6.5....n8.tar.bz2 | 03:40 | |
s/wish/with/ | 03:41 | ||
obra++ for testing | |||
putter | re the sigilless-lexical namespace, the ways one creates names are sub and 0-ary-method decl, and &,:: parameters. yes? anything else? | 03:44 | |
dduncan | regarding travelling ... | 03:47 | |
while I said I wanted to recently, I now know that I can't make it to YAPC NA this year, or any conference in the next few months ... | |||
financial reasons fundamentally, though the late reg would still be difficult anyway | 03:48 | ||
but I'll try to participate in the hackathon remotely | |||
putter | hmm. it might be nice to have a list of namespace "quirks". eg, &/:: as params creating bare names; search for package/module/class/role/subset/enum/type/grammar is different than for scalar/array/hash/code/rule/token/regex; @@ is a singular "not a namespace" sigil; ... | 03:50 | |
spinclad | cmarcelo: pong (or just ask here, or /msg me, and we could shout across the clock at each other. not the swiftest of converse, i know) | ||
cmarcelo | @localtime spinclad | 03:51 | |
spinclad: hey. =) | |||
spinclad | good @turningearth, cmarcelo | ||
cmarcelo | (not lambdabot here =( ) | ||
audreyt | I wouldn't mind getting it invited here | ||
how do we do that? | 03:52 | ||
cmarcelo | audreyt: ask dons i think | ||
spinclad | how would it know my $localtime? | ||
cmarcelo | spinclad: he ask you with CTCP | ||
spinclad | makes sense | ||
so... comments? complaints? sekrit meetings of cabals to hold out here in plain sight? things i should be designing in? | 03:55 | ||
cmarcelo | spinclad: just a question, why the third-party/judy doesnt have the auto* infrastructure from original distribution? just asking because to test it know i'm "hardwiring" HsJudy's Makefile to get to your impl., and for make a cabal package from it, i think it'll be kind of odd to use impl. from /home/work/pugs/... [if you didnt understand something i said, ask again, i'm newbie at english too] | ||
03:55
lambdabot joined
|
|||
cmarcelo | @localtime spinclad | 03:55 | |
lambdabot | Local time for spinclad is Sun May 28 23:55:48 2006 | ||
spinclad | good to 1 second | 03:56 | |
putter | re lookup for package(/module/class/role/subset/enum/type/grammar) names - given {module A { module One {}} module X { module A {} sub f(){ ... A::One ...} } }, does this succeed or fail? ie, do we commit once we find A, and then fail when it doesnt have a One, or keep looking? | ||
audreyt | ?eval [+] 1..100 | ||
lambdabot | Parse error | ||
03:56
evalbot_10446 is now known as evalbot_10448
|
|||
evalbot_10448 | 5050 | 03:56 | |
audreyt | heh, that's rather unfortunate ;) | 03:57 | |
cmarcelo | hehe | ||
audreyt | > foldl1 (+) [1..100] | ||
lambdabot | 5050 | ||
audreyt | putter: conceptually the latter modules has to say "is extended" to extend the same module | 03:58 | |
and it has to be within the same compilation unit to be seen | |||
cmarcelo | spinclad: ops! "i'm newbie at english too" doesnt intended to mean that you are.. =D | 03:59 | |
putter | I like both options. Power vs clarity. Module shadowing would be really nice. But... I'm not sure this really gets us that? If it does, it seems worth the clarity/typo-catching cost. | ||
ah | |||
hmm... | |||
spinclad | i started out only checking in the src/ and doc/ trees, on audreyt's suggestion. I don't know what best practice for third-party check-ins of one project into another is; planning to submit back to judy.sourceforge when my patch is ready. I have the original .tar handy | 04:00 | |
perhaps check in the .tar here... | 04:01 | ||
audreyt | no... just check in the auto* infrastructure | ||
or, alterntely, check in the whole tree layout | 04:02 | ||
and rm the inessential parts :) | |||
putter | does that really answer the question? X::A is distinct from A. the question is how the name ::A::One is resolved inside of X. simple ::A inside of X is resolved to X::A. so is ::A::One then a resolution error, as there is no X::A::One? or is ::A::One considered an atomic pattern, and failing to find a X::A::One, we keep looking, and find A::One? | 04:04 | |
spinclad | src/ here is up to 9880 with temp files (not to check in), doc/ is 860, autom4te.cache is 2000, aclocal.m4 is 264, the biggest other is test/ at 696. | 04:05 | |
audreyt | putter: wait a second | ||
cmarcelo | isn't autom4te.cache autogenerated? | ||
audreyt | putter: sorry I misunderstood yer q | 04:06 | |
spinclad | at this point we'll have most of the dist tree checked in; simplest to check it all in from .tar so anyone can do ./configure && make ? | ||
audreyt | putter: inside module X, A::One always refer to either X::A::One or GLOBAL::A::One | ||
never A::One, I think | |||
spinclad: yes. | 04:07 | ||
spinclad | cmarcelo: could be, i'm looking at my local tree that i've been making in | ||
audreyt | spinclad: check in the whole judy-tarball-extracted | ||
spinclad | ok, will do now | ||
cmarcelo | tks | 04:09 | |
putter | hmm. that was an unexpected answer. package names get resolved by crawling up the package nesting (after a lexical crawl). With global being the last package of the package crawl. so I would have expected either | 04:12 | |
04:12
lambdabot joined
|
|||
putter | a resolution failure (X::A exists but not X::A::One), or success with (some enclosing package, maybe global)::A::One), but not a mix | 04:13 | |
audreyt | thinking. | 04:20 | |
I was under the impression that only ::A is searched from inner to outer | 04:21 | ||
but it seems that it can be argued that A::One is merely looking for lexical ::A, and then get One from it | |||
not sure. | 04:22 | ||
(again less than well-specced) | |||
which way would you prefer? | |||
putter | hmm | 04:24 | |
incremental and fail is simple. one problem with it is you can use package search to shadow an A::fun, but if A gets reorganized so it's A::One::fun, then boom, A::One::otherfun will start failing. err, no. but replace fun with Pkg. Eg, shadow Control::Basic and Control::Caller disappears. | 04:31 | ||
while unfortunate, I'm not really pursuaded | |||
basically, while in most things p6 is very "include anything folks have found useful", our namespace management story is still a bit crippled. | 04:33 | ||
ie, we dont have something like "namespaces are first class objects, creating an binding algebra, which is scoped, ...". we have bits of it, and | 04:34 | ||
implementing... hmm, lexically scoped multisub/method alternatives... may get us thinking about it more? but a lot of namespace challenges are still... filed under unspecced, or "for perl7". | 04:36 | ||
it seems. | |||
so... I'm still too fuzzy to have a real preference. sorry... | 04:37 | ||
btw, is there a story on a connection between lvalue subs and Captures? I'd be tempted to return a Capture when want.LValue, but then there is want.rw, suggesting you can't always know when your context is lhs or rhs? Scalar as a Capture? | 04:42 | ||
other btw, congrats on pugs speedup. audreyt++ ;) | 04:43 | ||
etal++ | |||
spinclad | cmarcelo, audreyt: done, r10449 | 04:45 | |
svnbot6 | r10449 | spinclad++ | - Judy: checking in rest of unpacked tarball | ||
putter | eep. 1pm. good night all. will backlog. & | ||
spinclad | (the autom4te.cache may be autogenerated, but it's in the tarball) | ||
putter | err, 1am. :) | 04:46 | |
spinclad | putter, sweet dreams | ||
cmarcelo | spinclad: tks | 04:49 | |
spinclad | np, this way makes sense to me | 04:52 | |
05:17
dduncan left
05:26
putter joined
|
|||
putter | typing while asleep... s/Capture/Signature/. and resolution in pkg crawl should probably match that in earlier lexical crawl. which is incremental, non-atomic. ah well. | 05:28 | |
05:52
Alias_ joined
05:57
unobe__ joined,
unobe__ is now known as unobe
06:32
iblechbot joined
|
|||
spinclad | svn question: shouldn't r10449 have updated third-party/judy/Judy-1.0.3 to know about its new children? it seems to still only know about src/ and doc/. | 06:43 | |
cmarcelo | spinclad: what do you mean by know? here "svn info test" and "svn info test/README" indicate that both are under version control... | 06:47 | |
spinclad | true, but I was seeing C<svn ls> in Judy-1.0.3 only listing src and doc, and C<svn ls -R> likewise. but i see it acting properly now, listing all its svn children. seems to have changed while i wasn't looking. | 07:07 | |
07:07
Ymmv joined
07:09
Aankhen`` joined
|
|||
spinclad | (and other similar anomalies have cleared themselves up in the meantime) | 07:11 | |
so, i don't seem to have a question anymore, only a mystery: "what was it thinking?" | 07:12 | ||
cmarcelo | hehe =) | 07:14 | |
spinclad | anyway, 3am here... think i'll go to bed early for a change, night, all & | 07:15 | |
07:17
elmex joined
07:24
mj41_ joined
07:33
coumbes joined
07:43
SM_ax joined
07:46
AngolaHacker joined
07:47
AngolaHacker left,
AngolaHacker joined
07:56
pjcj joined
08:16
Southen_ is now known as Southen
08:29
trampel joined
08:31
bjoern_ joined
08:47
jabbot joined,
ludan joined
|
|||
ludan | hello | 08:48 | |
08:53
pfenwic1 joined
09:06
mjk joined
09:19
kanru_ joined
09:21
kanru_ is now known as kanru2
09:34
Ymmv joined
09:35
cognominal_ joined
09:36
kanru2 is now known as kanru
09:40
b_jonas joined
10:00
kane_ is now known as kane-xs
|
|||
svnbot6 | r10450 | cmarcelo++ | HsJudy | 10:02 | |
r10450 | cmarcelo++ | * added JudyL functions to Judy/Private.hsc | |||
r10450 | cmarcelo++ | * make test: a few tests to check Judy1 (via BitSet) and JudyL | |||
cmarcelo | audreyt: commited some work. could you take a look and see if it's in right direction? specially, are these kind of tests enough for now? i'll try to get all functions being called at least once in these test files... | 10:05 | |
10:10
kane-xs joined
10:34
iblechbot joined
10:43
bsb left
11:00
penk joined
11:13
weinig joined,
elmex joined
11:20
elmex joined
11:37
penk joined
11:40
Alias_ joined
11:43
marmic_ joined
11:56
trym_ joined
12:09
turrepurre joined
12:15
iblechbot joined
12:17
ludan joined
12:32
chris2 joined
12:55
trym_ joined
13:04
lxuser joined
13:07
weinig is now known as weinig|away
13:17
lisppaste3 joined
13:24
weinig|away_ joined,
fglock joined
13:25
weinig|away_ is now known as weinig|away
13:27
Coleoid joined
|
|||
fglock | cmarcelo: are you in Campinas, Brazil? | 13:28 | |
13:29
Qiang joined
13:30
fglock left
13:32
Limbic_Region joined
13:39
rdice joined
13:45
neoesque joined
13:49
jserv-- joined
13:50
jsiracusa joined
13:55
pfenwic1 is now known as pfenwick,
pfenwick is now known as PJF,
weinig|away is now known as weinig
14:21
justatheory joined
14:59
elmex joined
15:16
FurnaceBoy joined
15:20
neoesque joined
15:24
lxuser left
15:25
macroron joined
16:00
Khisanth joined
16:05
b_jonas left
16:08
Khisanth joined
16:15
weinig joined
16:22
putter joined
|
|||
putter | another question for the backlog - | 16:23 | |
S03/Precedence has a "method postfix" line. most/all? of them dont seem to really be postfix. but I'm most puzzled by .= | 16:24 | ||
.= is both a "method postfix" and an "assignment" infix. one is no-leading-whitespace, the other required-whitespace. but they both seem to be infix, no? so what are the called? they can't both be infix:<.=>; or is somethhing weird going on with the method postfix one? | 16:26 | ||
16:28 | |||
observation next - there seem to be a few places where Snn says "list context" but I think it now means Capture context. | 16:29 | ||
next - it might be nice to have a table of what contexts exist, and where/how they are used. anyone? | 16:30 | ||
next - it might also be nice to have a table of all the namespaces, how variables are declared into and used from them, and what the lookup strategy is. | 16:31 | ||
next - is S10's ArgList now a Capture? $+ARGLIST ? | 16:34 | ||
next - could we get a section on [Cc]ontainers? the existing Snn info on them seems scattered, and "by implication when discussing something else". I'm still quite unclear on the concept(s?). | 16:38 | ||
16:42
MojOrow joined
|
|||
putter | next - does anyone else keep getting Signatures and Captures confused, or is it just me. also cognitive interference between the names "captures" and "closures". Perhaps Lhs and Rhs ? :) Not really. I dont have a good alternative. I merely note it's been a month or few now, and I'm still tripping on them. | 16:42 | |
to repeat from earlier, | 16:43 | ||
next - what is the connection, if any, between lvalue subs and Captu, arg!$#!, Signatures? | 16:45 | ||
next - re the sigilless-lexical namespace, the ways one creates names are sub and 0-ary-method decl, and &,:: parameters. yes? anything else? | 16:47 | ||
16:50
beppu joined
|
|||
putter | next - puzzled followup on something audreyt said - extending a class requires "is extended", ok. but has to be in the same compilation unit to be seen?!? I thought the story was anything can be extended anywhere? | 16:51 | |
next - the whole "just how lexical are attributes" conversation from earlier today. | 16:52 | ||
16:52
MojOrow left
|
|||
putter | and... I think that's it for now. | 16:53 | |
:) | |||
guidance appreciated. | |||
szbalint | signatures - captures get me confused too. | 16:54 | |
putter | ah. (not just me!:) | 16:56 | |
the concepts seem clear - generalized left and right hand sides of "assignment". but the names... | 16:57 | ||
maybe I'll try to just think of them as lhs and rhs. | 16:58 | ||
part of the problem might be that if one thinks in terms of lhs/rhs, the lhs "takes" the values, rhs "provides", and the word "capture" has very strong "taking" vibes. | 17:04 | ||
szbalint: anything similar? | |||
next - this has come up before, but perhaps now... it would be really really nice to have a complete package/module/class/role/type is/does/subset graph for just the core of the prelude. even if it has lots of "this is uncertain" caveats. even if it is sure to change. just so folks don't have to keep reverse engineering the | 17:09 | ||
Snn just to get an even fuzzier version of it. | |||
just having it all in one place, fuzziness and all, would be quite nice. | 17:11 | ||
17:16
kanru joined
|
|||
putter | random thought - some languages are so verbose, name oriented, (scheme, python?), that code can aspire to be self documenting, with comments merely filling in the gaps. some languages are | 17:16 | |
17:16
ruoso joined
17:17
nothingmuch joined
|
|||
putter | are so terse (apl), that documentation and implementation are almost entirely separate, with documentation handled almost entirely by comments. | 17:17 | |
p6 seems inbetween, with the ability to go either way. what does that mean for writing maintainably documented p6 code? do we need any new doc infrastructure to handle it? | 17:19 | ||
Eg, ... I don't know... footnotes? #(1,4) comments and #1:... lines? ...? | 17:20 | ||
17:24
bernhard joined
|
|||
putter | Footnotes, is they have pod-ish "link to section of another file" capability, might allow one to place code introduction, design discussion, implementation notes, etc, in a separate-but-linked file, avoiding code clutter, but capable of being presented together (via popups and such). | 17:29 | |
literate programming witht the default state being unwoven rather than woven. | 17:30 | ||
szbalint | putter++, lhs rhs seems to make me visualize it better. | ||
putter | :) | ||
Alias_ | WinSCP++ | 17:32 | |
putter | cheers & | 17:38 | |
17:51
vel6608 joined
18:03
KingDillyDilly joined
|
|||
KingDillyDilly | Way ahead of you guys. perlmonks.com/?node_id=321138 | 18:03 | |
18:17
Raftman joined
18:26
trym_ joined,
jsiracusa joined
|
|||
KingDillyDilly | Yeah, well, as long as you know | 18:27 | |
18:28
KingDillyDilly left
18:40
DaGo joined
18:48
Ymmv joined
18:50
macroron joined
18:56
b_jonas joined
19:05
vel6608 joined
19:08
bjoern_ joined
19:09
bjoern_ joined
19:35
larsen joined
19:44
spo0nman joined
19:52
cmarcelo left
19:56
Odin- joined
20:36
larsen_ joined
21:10
imperator joined
21:31
FurnaceBoy_ joined
21:45
vv3 joined
21:57
vv3 left
22:30
putter joined
|
|||
pasteling | "putter" at 66.30.119.55 pasted "fyi, Data.Yaml.Syck Makefile.PL errors" (156 lines, 6K) at sial.org/pbot/17414 | 22:31 | |
22:58
FurnaceBoy joined
23:02
Gothmog__ joined
23:03
froh-doh joined
|
|||
putter | so.... after a make test was clearly running slowly, went back and uncommented the config.yml Test precomp line. Reran Makefile.PL, make. In Makefile, ByteString got built this time, and no errors from Syck, but still Could not find module `Data.ByteString'. And this time, make failed with | 23:22 | |
Skipping DrIFT.Perl5... The interface for `DrIFT.Perl5': Can't find interface-file declaration for Data.ByteString.ByteString... . thud. | 23:23 | ||
23:23
Gothmog_ joined
|
|||
putter | so, no joy. ah well. another day. | 23:24 | |
& | |||
23:33
cmarcelo joined
23:34
bsb joined
23:39
imperator joined
|
|||
audreyt | narrowly missed putter :/ | 23:40 | |
I wonder if just nuking dist/build/DriFT will work. or nuke dist/ | |||
23:42
Odin-LAP joined
|
|||
audreyt | fixed in trunk. | 23:42 | |
svnbot6 | r10451 | audreyt++ | * First-time build of fps should precede HsSyck. | 23:45 | |
r10451 | audreyt++ | Reported by putter++ | |||
cmarcelo | audreyt: hey. if you're not busy, could you take a look on my changes on third-party/HsJudy to see if it's that what you mean by low-level FFI and sanity checking? | 23:48 | |
audreyt | looking. | 23:49 | |
cmarcelo | tks | 23:50 | |
23:51
ruoso joined
|
|||
audreyt | mm | 23:54 | |
does it compile for you? | |||
I'm getting duplicate declaration of WordPtr | 23:55 | ||
I'll rename WordPtr to JudyValue. | 23:56 | ||
or just Value, since it's private | 23:57 | ||
cmarcelo | audreyt: i'll check it again, but it compiles fine here.. | 23:59 | |
svnbot6 | r10452 | audreyt++ | * Rename WordPtr to Value to avoid name clashing with newer GHC, | ||
r10452 | audreyt++ | which also defines WordPtr in its Foreign.Ptr. |