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.