svn switch --relocate svn.openfoundry.org/pugs svn.pugscode.org/pugs/ | run.pugscode.org | spec.pugscode.org | paste: sial.org/pbot/perl6 | pugs.blogs.com | dev.pugscode.org/ Set by putter on 11 February 2007. |
|||
00:01
forsaken joined,
jisom left
00:02
jisom joined
00:09
Lorn joined,
shay_ joined
00:13
Psyche^ joined
00:17
Psyche^ is now known as Patterner
00:23
macli left
00:28
shay joined
00:30
Aankhen`` joined
|
|||
specbot6 | r14325 | larry++ | As noted by allbery_b++, Smylers++, and david.green++, we've thoroughly | 00:41 | |
r14325 | larry++ | neglected to thoroughly spec the intended version sharing and emulation model. | |||
allbery_b | okay, I've got that update at least :) saving it as I should at least try to pretend to be a good little almost-jew, even if $job doesn't allow me to do so :/ | 01:12 | |
01:17
Psyche^ joined
01:19
IllvilJa joined
01:29
Psyche^ is now known as Patterner
01:32
gomoku joined
01:33
Psyche^ joined
01:42
dec joined
01:47
Psyche^ is now known as Patterner
02:00
mako132_ joined
02:15
ajs_ joined
02:20
dmq joined
03:07
mako132_ joined
03:39
rashakil left
03:50
gomoku joined
03:54
SamB joined,
charsbar joined,
cls_bsd_ joined,
gaal joined,
qmole_ joined,
statico joined,
aukjan|gone joined,
Gothmog__ joined,
Maddingue joined,
specbot6 joined,
cookys joined,
silug joined,
takesako__ joined,
kolibrie joined,
spo0nman joined,
stef_ joined,
mugwump joined,
Odin- joined,
jamessan joined,
nnunley joined
|
|||
offby1 | gaah. Host svn.pugscode.org not found: 2(SERVFAIL) | 04:02 | |
anyone have the IP address of svn.pugscode.org handy? | |||
TimToady | 194.145.200.126 | 04:03 | |
offby1 | thanks | ||
04:08
SamB joined,
charsbar joined,
cls_bsd_ joined,
gaal joined,
qmole_ joined,
statico joined,
aukjan|gone joined,
Gothmog__ joined,
Maddingue joined,
specbot6 joined,
cookys joined,
silug joined,
takesako__ joined,
kolibrie joined,
spo0nman joined,
stef_ joined,
mugwump joined,
Odin- joined,
jamessan joined,
nnunley joined,
mako132_ joined
04:10
Psyche^ joined
04:12
ayrnieu joined
04:13
gomoku is now known as ShoyuRamen
04:16
Psyche^ is now known as Patterner
04:23
ShoyuRamen left
04:27
silug joined
04:28
justatheory joined
04:57
nekokak_ joined
05:01
drupek12 joined
05:17
DebolazX joined
|
|||
meppl | guten morgen | 05:57 | |
offby1 | guten stanley | 06:00 | |
meppl | good morning offby | 06:01 | |
offby1 yawns, stretches, and scratches his ear with his hind leg | |||
06:14
BooK joined
|
|||
gaal | something really weird is happening inside this IO monad. I refactored the code a little to do the getCPUTime measurements in another function, but now the values don't seem to be sequenced! | 06:42 | |
do { v1 <- getCPUTime; results <- dispatch_on_sample ; v2 <- getCPUTime ; ??? } | 06:43 | ||
at ??? there's a print that happens before dispatch_on_sample completes. v1 and v2 are equal. | |||
getCPUDuration :: IO a -> IO (a, Integer) | |||
TimToady | this is #perl6. I don't know what makes you think you'll get Haskell help here. :) | 06:45 | |
gaal | huh? I'm doing this inside eval $str :lang<haskell> :-p | 06:46 | |
TimToady | oh, well that's okay then... | ||
06:49
drupek12 joined
|
|||
audreyt | greetings \camels | 07:20 | |
gaal: laziness perhaps? | |||
gaal | but how? the two queries are in one bind sequence... | 07:34 | |
(and, hi) | |||
audreyt | if you do two readFile on two files | ||
it still doesn't guarantee the sequence | 07:35 | ||
gaal | oh, so I have to force dispatch_on_sample up there? | ||
audreyt | v1 <- getCPUTime; results <- seq v1 dispatch_on_sample | ||
v2 <- getCPUTime | 07:36 | ||
gaal | nod | ||
audreyt | return (seq results (results, v2 - v1)) | ||
something like that | |||
TimToady | morning audreyt | ||
audreyt | greetings TimToady | ||
TimToady | how'd it go a gooooogle | ||
audreyt | well the talk went fabulously | ||
TimToady | did they like it? | 07:37 | |
audreyt | sure | ||
back in the MS talk I changed 10**10**10 to 9**9**9 | |||
because it formats better | |||
TimToady | did they ask any good questions? | ||
audreyt | but I erroneously kept the slide and mentioned it's a googol | ||
was promptly corrected | |||
cuz they of all people should know :) | |||
TimToady | ya think? | 07:38 | |
audreyt | re good questions... they have this internal language designed by Rob Pike | ||
Sawmill | |||
TimToady | sides, a googol is only 10**10**2 | ||
saw a short talk from Pike mentioning it here in MV | 07:39 | ||
though it was mostly about stats gathering | |||
audreyt | er, 10**10*10, right. | ||
TimToady | er, not that either without parens... | 07:40 | |
audreyt | it's a bit more than stats gathering | ||
it's the native language of MapReduce | |||
you remiliar with that particular architecture? | 07:41 | ||
*familiar | |||
TimToady | pretty much | ||
should I add anything to Perl 6? :) | |||
gaal | audreyt: still too lazy, somehow. | ||
audreyt | if feeds are made to work suitably well, no :) | ||
none of them has heard of STM | 07:42 | ||
someone commented they are still using stone-age tools | |||
(compared to STM and hyperops) | |||
TimToady | things with whitespace as syntax maybe? | ||
audreyt | aye. | ||
gaal | audreyt: I was looking in Eval for whatever it is that makes hyper -N2-fast | ||
audreyt | well, many are perl5ers who really don't like perl being nonofficial lang | 07:43 | |
gaal | couldn't find it... is ghc simply That Smart? | ||
audreyt | I think the rationale is that autochecked readability for perl5 wasn't there | ||
TimToady | we'll just have to write a stone-age to space-age translator for them. :) | ||
audreyt | and even today I'm not sure Perl::Critic is on par with existing tools for Java/Python | ||
they mentioned that as a possibly July google hackathon project yes. | 07:44 | ||
python frontend; not exactly sure how to go about it :) | |||
TimToady | but it looks like not much of anyone is signing up to be a mentor | ||
audreyt | oh, as in mountain-view-pugs-hackathon, not SoC | 07:45 | |
TimToady | ah | ||
that I'm willing to help mentor. :D | |||
audreyt | :D | 07:46 | |
07:47
avarab joined
|
|||
TimToady | they're putting a Python grammar onto Parrot under the name of pynie, if you hadn't noticed, or even if you had. | 07:47 | |
audreyt | gaal: grep -r forkIO src/Pugs/{Junc,Prim/List}.hs | ||
I had | |||
not sure that it can progress beyond piethon with the current infrastructure though | |||
TimToady | given it's in pge it'd probably be pretty easy to filch. | 07:48 | |
audreyt | (not about compiler tools, but about the undrelying OO support) | ||
TimToady | I'm still thinking translator | ||
gaal | audreyt: thanks | ||
audreyt | gaal: np :) commit your new borked-by-laziness bench code to qc-dispatch and let me take a look? | 07:49 | |
audreyt just woke up | |||
ayrnieu | audreyt - particle has been saying that OO is coming along. | ||
pasteling | "gaal" at 192.115.25.249 pasted "borked by laziness, ravaged by io" (43 lines, 1.6K) at sial.org/pbot/23401 | ||
audreyt | ayrnieu: I've been following commits :) | 07:51 | |
ayrnieu: pdd15 is coming along. not seeing things at the implementation front, though :) | 07:53 | ||
TimToady | maybe someone should just port haskell to run on parrot. | 07:54 | |
ayrnieu | looks like 326 lines of PIR in compiler/smop | ||
TimToady | after all, there's only 2 or 3 actual primitives in haskell... | ||
ayrnieu | TimToady - take Yhc and write a Parrot backend is easiest. | 07:55 | |
:-) | |||
audreyt | avarab expressed interest in #perl a few minutes ago :) | ||
ayrnieu: heh :) | |||
TimToady | great minds *cough* | ||
avarab | audreyt: I'd never finish it:) | ||
audreyt | :D | ||
avarab | well, maybe the parser | ||
audreyt | yhc gets you the parser | 07:56 | |
you just need to write codegen :) | |||
TimToady | a SMOP | ||
avarab | ah, to generate parrot bytecode? | ||
audreyt | right. | ||
ayrnieu | avarab - or PIR, which is good enough. | ||
avarab | I've only done PAST in my limited ventures with parrot | ||
audreyt | PAST doesn't quite map to haskell semantics | 07:57 | |
but if you can extend PAST along the way, yay :) | |||
TimToady | that's the idea; porting haskell would keep the parrot folks honest, albeit not without some swearing here and there. | 07:58 | |
it's really easy to just keep porting the languages that are easy. | |||
(relatively speaking) | |||
audreyt | *nod* | ||
TimToady | now, porting Perl 5 to run on Parrot just involves swearing without a lot of honesty. :) | 07:59 | |
08:00
jisom joined
|
|||
ayrnieu | (only a few of the ports seem sincere, right now, if that makes sense.) | 08:00 | |
TimToady | speaking of taking over the world, I just defined the module declaration syntax to allow a Perl module to claim to support the API defined by a module in another language. it fell out naturally from the ability to claim to support older versions of the same module... | 08:02 | |
'course, claiming to support the API and actually doing so are two different things | |||
I think a Python to Perl 6 translator would be not terribly difficult, but I think the world really needs a refactoring PHP to Perl 6 translator more. | 08:03 | ||
audreyt | gaal: again laziness; seq a list doesn't seq the entire producer. fixing | 08:04 | |
gaal | ah | 08:05 | |
tene | TimToady: what would the typical usage scenario of a PHP-Perl 6 translator be? | ||
avarab | a better runtime for php | ||
08:06
avarab is now known as avar
|
|||
gaal | I was going to ask if there weren't a strict version of IO, but that comment makes me realize that probably not | 08:06 | |
audreyt | gaal: done | 08:09 | |
TimToady | the problem with PHP is that people are slowing getting boiled to death without realizing it. I don't think of a translator as something they will look for without prompting, but something that will become popular if Perl 6 gets cool. | ||
audreyt | *nod* | 08:10 | |
TimToady | and just remove the impediment to migration when they want to for other reasons | ||
svnbot6 | r15548 | audreyt++ | * qc-dispatch: forcing evaluation the right way | ||
TimToady | same for any other language, really, even COBOL or Java. | ||
audreyt | 9.692064 seconds, 103177.1973441364 dispatches/sec | ||
gaal: that looks correct? | |||
gaal | that's inside ghci, right? or was your computer busy? | 08:11 | |
audreyt | that was compiling with -O2 | ||
gaal | because eariler you had gotten way more throughput | ||
iirc | 08:12 | ||
audreyt | really? | ||
gaal | you said it took you ~1sec to run the 100k | ||
audreyt | I increased the times by 10x | ||
gaal | ah | ||
audreyt | it's now 1m | ||
TimToady | is that recalculating the candidates each time or with checking last lookup to see if it's the same type profile or some other kind of caching? | ||
audreyt | TimToady: no, this is raw uncached | ||
gaal | no caching, but no randomness (== hardcoded seed) | ||
audreyt | won't matter | 08:13 | |
TimToady | not too bad then, if 90% is same type profile | ||
gaal | oh right: audreyt your throughput figure looks reasonable | ||
audreyt | now we need to make type narrowness comparison really fast | ||
gaal | what cpu are you using btw? | ||
audreyt | working on that... | ||
2Ghz CoreDuo x2 | |||
but only using 1 | |||
gaal | can the algo be parallelized, I'm wondering | 08:14 | |
audreyt | doing that! | ||
TimToady | candidate mismatch detection probably could | ||
gaal | @index rnf | 08:15 | |
lambdabot | Control.Parallel.Strategies | ||
gaal | huh | ||
audreyt | reduce-to-normal-form | ||
aka fully sequencing | 08:16 | ||
08:23
Squern joined
08:29
iblechbot joined
|
|||
gaal | audreyt: any idea why the following slows down testing so much? | 08:38 | |
-sequence_ [quickCheck prop_dispatch | _ <- [1..10]] | |||
+check defaultConfig{ configMaxTest = 1000 } prop_dispatch | |||
is random data generation nubbed? | 08:39 | ||
audreyt | not sure... | 08:40 | |
gaal | I | ||
'm inclined to say if the data is repeated ten times we don't need ten tests, but the slowdown may be just by the fact that there's a nub running, not necessarily that it's discarding inputs... | 08:41 | ||
audreyt | nodnod | 08:42 | |
svnbot6 | r15549 | gaal++ | * cleanups | ||
gaal | (oleg Text.Printf) would be so interesting | 08:43 | |
svnbot6 | r15550 | audreyt++ | * More tidying up to reduce overhead | 08:44 | |
audreyt | need to go out to get catstuff... be back in O(3hr) and finish up multis and VRef refactoring | 08:47 | |
gaal | audreyt: my throughput went down by half | ||
audreyt | by r15550? | ||
!? | |||
devbot6 | audreyt: Error: "?" is not a valid command. | ||
gaal | heh | ||
audreyt | mine stayed constant | ||
08:47
Schwern joined
|
|||
audreyt | I compiled with -O2. feel free to revert... | 08:48 | |
I improved 10% here | |||
gaal | making sure | ||
audreyt | I put times back to 100000 from 1m too | ||
gaal | fwiw i'm running 6.6 and ghci, so your benchmarks win, i think | 08:49 | |
though it's curious. | |||
yes: definitely r15550 | 08:50 | ||
even worse than half | 08:51 | ||
but I guess that just means the interpreter misses some important optimization | |||
09:27
ozo_ joined
10:13
larsen_ joined
10:17
dec_ joined
|
|||
svnbot6 | r15551 | gabriele++ | 99problems:first dummy solution for #54 | 10:24 | |
10:33
dec_ is now known as dec
10:47
marmic joined
11:10
chris2 joined,
explorer joined
11:32
eden_c joined
11:35
iblechbot joined
12:00
Gothmog_ joined
12:44
eden_c left
12:49
bonesss joined
12:59
cognominal joined
13:00
cognominal joined
13:14
eden_c joined
13:40
kanru joined
13:43
eden_c left
13:45
ayrnieu joined
|
|||
ayrnieu | audreyt - belatedly, I get the same errors with those settings. Set in mk/config.mk (which sets them) rather than mk/build.mk , which doesn't seem to exist. | 13:46 | |
14:04
pmurias joined
14:07
bonesss joined
|
|||
audreyt | ayrnieu: you'e supposed to create one... | 14:15 | |
nopaste the errors? also try ghc-usesrs and #haskell? | |||
ayrnieu | I don't have them now; I'll run it again with the created one. | 14:18 | |
14:24
wilx joined
|
|||
gaal meows | 14:24 | ||
moritz unleashes the hunting dogs ;) | 14:26 | ||
gaal outcutes the dogs | 14:27 | ||
moritz is 0wned ;) | 14:28 | ||
14:34
pmurias left
|
|||
audreyt purrs | 14:44 | ||
finally back to pugspace | |||
gaal | heya A | 14:45 | |
were you LIL again? | |||
audreyt | no... was teaching isis haskell | 14:46 | |
14:46
sisi joined
|
|||
gaal goes to grab a sandwich; brb | 14:46 | ||
oh cool | |||
audreyt | er, she's here now. hi :) | ||
sisi | hi audreyt | 14:47 | |
audreyt | a wonder that how natural it seems when one does not have to unlearn anything... | ||
clkao | fnord | ||
audreyt | clkao: greetings | ||
clkao | audreyt: how goes | ||
sisi | hi clkao | ||
clkao | just spent the last hour putting contact lens on.. my glasses destroyed themselves yesterday | 14:48 | |
audreyt | mm spotaneous combusting lenses | ||
moritz | well, every decent weapon has as self destruction button ;) | ||
clkao | audreyt: have you seen sākura ? | 14:49 | |
audreyt | I've seen sakura yes | ||
cute unicody name | |||
clkao | the screenshot? | ||
14:49
buetow joined
|
|||
audreyt | yeah | 14:49 | |
clkao | must have css fu. and must make it actually work | 14:50 | |
14:51
penk joined
14:52
JYC joined
14:57
putter joined
|
|||
gaal | sakura? | 14:58 | |
clkao | some cherry picking ui for svk | 14:59 | |
gaal | good name :) | ||
audreyt | hopefully evolving into jifty-based svkgui? | 15:00 | |
putter | re what's up with yet_another_regex_engine, unless anyone has a better idea, my current thought is to focus on shaking down the STD opp definition. | 15:01 | |
btw, hi all | |||
which prompts two questions | |||
gaal | hi putter | ||
shay | hi | 15:02 | |
putter | are we back to associating a pos with a string? there was talk at one point (long ago) of trying to avoid pos being a property of a string (threads and all). but current spec, | ||
seems to at least weakly imply that the two are tied. most is consistent with a <str,pos> tuple object, but $_.pos is set at one point, outside of any regex context. what's the scoop? | 15:03 | ||
2nd q, | 15:04 | ||
"how does one know oneself". perhaps the name by which others call you is not your true self, but it would be convenient at times (eg, to pick up externally defined post actions). ROUTINE.name | 15:05 | ||
seems to follow the p5 model of "you just can't tell". btw, so when you "import as", do you get a completely distinct ROUTINE, or its .name fudged somehow? | 15:06 | ||
bascally, I'd like B->f() and B->g() to be distinguishable, even if *f = \&mumble and *g=\&f. | |||
oh, third q. it looks from STD that named regex and methods are in the same namespace. at one point they were distinct. yes? | 15:08 | ||
err, "yes?" as in this is current spec, rather than a STD "typo". | |||
think that's it. first thoughts from eyeballing opp and thinking about doing it under yet_another. | 15:09 | ||
gaal | audreyt mentioned something about TimToady unifying rules and methods, possibly it that. makes sense to me | 15:12 | |
regarding routine names, once again it sounds reasonable to me that there is no canonical name. it's like hardlinks in a filesystem in that sense | 15:13 | ||
there'd better be a less hacky-looking way of dynamically giving names to anonymous closures for debugging purposes than *__ANON__ | 15:14 | ||
putter | :) | 15:15 | |
audreyt | yes re same namespace. | 15:17 | |
putter | k | ||
audreyt | "B<Regexes> (keyword: C<regex>) are methods (of a grammar) that perform pattern matching" | ||
S06:37 | |||
you can see them as macros that expand finally to "method" | |||
putter | ah. hmm... | 15:19 | |
k | |||
audreyt goes back finishing up MMD and then user-defined classes | 15:31 | ||
putter | the name issue arises because yet_another currently uses a Mumble->foo('foo') hack internally to pass along the calling name. which permits import() as, and using the same regex in multiple "roles" in the grammar, but, not pretty. caller() only provides the defining name. one might be able to hack up a "look for OP_METHOD* node" like Devel::Caller does for its called_as_method predicate, but I don't think that helps you in the face | ||
ok, thanks audreyt, gaal. | |||
15:33
buetow joined
|
|||
putter | to summarize, as I head out to lunch, two open questions - what connection between string and pos (not pressing at all), and naming (if someone has a good story, that would be great, but no big deal). | 15:33 | |
the macro->method story looks very shiny :) | 15:35 | ||
bbl & | 15:36 | ||
15:44
[particle] joined,
Limbic_Region joined
15:49
[particle] left
15:51
[particle] joined
16:00
Belaf_ joined
16:03
larsen_ joined
|
|||
specbot6 | r14326 | audreyt++ | * S12: Remove self-contractictory paragraph about indirect | 16:10 | |
r14326 | audreyt++ | object notation -- because the colon is needed regardless | |||
r14326 | audreyt++ | of whether there are arguments after it -- and also | |||
r14326 | audreyt++ | clarify that a fallback to sub call is _always_ performed, | |||
r14326 | audreyt++ | not only for method calls with no arguments. | |||
16:12
Belaf_ is now known as Belaf
16:15
larsen__ joined
|
|||
TimToady | putter: people keep talking about the recent unification of regex and method, but in fact if you go back and look at A05 they were already unified in 2002. | 16:19 | |
as for the naming problem, you'll note that methods generally have names. :) | |||
Limbic_Region | after this past week, I am going to finally sit down and digest S12 and MOP. Anything but the most simple OO in p5 sucks - big time! | 16:21 | |
audreyt | Limbic_Region: use Moose; | ||
Limbic_Region | I couldn't afford the learning curve | ||
allbery_b | ? | ||
Limbic_Region | for a change, I actually developed code for work | ||
allbery_b | Moose is P6 OO in Perl5 | ||
if you're going to do the one, might as well do the other | |||
audreyt | but using moose doesn't break your code :) | 16:22 | |
it just makes defining new classes easier | |||
Limbic_Region | allbery_b - execpt I don't yet know p6 OO | ||
audreyt | (and introspecting older ones easier, via Class::MOP) | ||
Limbic_Region | and couldn't afford to take the time to learn | ||
project needed to be done under tight timeline | |||
audreyt | oh. in which case Moose is still easier to learn than reading S12 :) | ||
Limbic_Region | project is now mostly done | ||
audreyt | or rather, it's a gentle introduction to S12, of sorts... | ||
Limbic_Region | so now the learning is for personal reasons rather than professional | 16:23 | |
Limbic_Region doesn't want to have to go through what he went through last week ever agin | |||
s/agin/again/ | |||
on the off chance I am asked to write code again that is | |||
allbery_b kinda wishes he'd known about Moose.pm earlier; maybe he wouldn't have rewritten the p5 script that tripped over every shortcoming of p5 OO in the book into ruby to get around them | 16:24 | ||
Limbic_Region wonders how he survived nearly 5 years of p5 without ever building a complex OO project involving multiple inheritence, avoiding property collision, abstract methods, etc | 16:25 | ||
Juerd | Ignorance is bliss. | ||
Limbic_Region | exactly | ||
Juerd | PHP people seem to survive just fine, without basic things like lexical variables, dynamic scope, real unicode support, etc. | 16:26 | |
TimToady | minimalism is always a bit seductive | ||
Juerd | But once they learn Perl or another superior language, they feel insanely handicapped when going back to PHP, I imagine. | ||
Ergo: learning has its dangers. | |||
audreyt | Ergo: Haskell/Oz/Perl6 etc makes pretty good first-language for beginners :) | 16:27 | |
Limbic_Region | up until now, all my OO projects involved only a few classes and a straight inheritence chain which I wrote all myself so I didn't have to worry about how to avoid problems that might arise from others subclassing | ||
Juerd | Absolutely. Doing the hard things /first/ is better in the long run. | 16:28 | |
TimToady | I always said Perl should be a "last" language. :) | ||
audreyt | and if you don't have anything to compare you don't actually find it hard! :) | ||
Limbic_Region | well, Alice is on the top of my languages to learn queue | ||
audreyt | SML dialect? | ||
Limbic_Region | I am not sure what the S in SML is, but ML yes | 16:29 | |
audreyt | cool, if you grok Alice, Haskell should be almost as natural | ||
S = Standard | |||
Limbic_Region | actually - quite a bit like Oz/Motzart | ||
ah | |||
audreyt | Alice shares part of Haskell's concurrency model | ||
Limbic_Region finds it sexy because of its auto parallelism | |||
audreyt | the spawn/spark model | 16:30 | |
Limbic_Region | I have a specific project in mind for it | ||
and since Jean and Jasmine are headed for the Philippines in about a week - it might actually come off the back burner | |||
audreyt | yeah, we got those too here :) (plus data parallelism and transactional parallelism) | ||
Limbic_Region | what about constraint programming? | 16:31 | |
TimToady | Turing: All heres are created equal, but some are more here than others. | ||
Limbic_Region | those are the two things I need for the project | ||
interesting - www.perlmonks.org/?node_id=604136 | 16:33 | ||
lambdabot | Title: State variables and recursion | ||
TimToady | Haskell is completely constrained by the compiler, so there's no point in thinking about constraints anywhere else. :P | ||
Limbic_Region | heh | ||
Limbic_Region agrees with Anno | |||
state appears to be b0rk in bleed | |||
audreyt | Limbic_Region: Curry got those (and SearchT in haskell) | 16:34 | |
Limbic_Region | well - Haskell is now number 2 on the list so.... | ||
16:42
webmind joined
|
|||
webmind | gaal, -pester- | 16:43 | |
gaal | hmmmmm? | ||
webmind | I mailed to Yuval about a broken Test::TAP::HTMLMatrix, and since he is on vacantion, he told me to pester you about it | 16:44 | |
gaal | did you cc: me? :) | 16:45 | |
webmind | no, but I can forward it to you | ||
gaal | please do | ||
webmind | if I have your e-mail address | ||
16:45
rindolf joined
|
|||
rindolf | Hi all. | 16:45 | |
Limbic_Region | salutations rindolf | ||
rindolf | Hi Limbic_Region | ||
Limbic_Region: what's up? | 16:46 | ||
webmind | which it apears I do | ||
Limbic_Region | rindolf - planning which projects that have been on the back burner will actually get worked on while the rest of the family is on vacation for 35 days | ||
rindolf | Limbic_Region: I see. | 16:47 | |
webmind | gaal, you have mail. | ||
gaal | webmind: which version of Test::TAP::Model do you have installed? | 16:50 | |
(not HTMLMatrix) | 16:51 | ||
there was a Test::Harness compatibility chase going on that had similar symptoms to yours | |||
webmind | uhm, I did a fresh cpan install | ||
I'll look | |||
0.08 it seems | 16:52 | ||
gaal | hmm | ||
I could reproduce one failure. Working on fixing it. | 17:06 | ||
webmind | cool | 17:07 | |
I wanted to setup a parrot smoke setup | 17:09 | ||
17:11
nwc10 joined
|
|||
TimToady | putter: on StrPos, it is not precisely required that a StrPos track its string, though that is one implementation. What is required is the invariant that a given StrPos will end up at the same position when used on the same string even if the current unicode level is different from when the StrPos was generated. | 17:13 | |
so a StrPos can cut itself loose from a string if it translates itself to a tuple of offsets by byte, codepoint, graphame, char (however many apply) | 17:14 | ||
such a translation may not be cheap, though | |||
17:17
baest joined
17:29
Psyche^ joined
17:36
Psyche^_ joined
17:43
lichtkind joined
|
|||
specbot6 | r14327 | larry++ | Clarifications on StrPos and StrLen requested by putter++. | 17:43 | |
17:45
Psyche^_ is now known as Patterner
17:52
larsen_ joined
|
|||
audreyt | TimToady: what does this do? | 17:58 | |
sub f { 1 }; proto f { 2 } | |||
warning: "redeclaration of sub &f ..." ? | |||
gaal | protos have bodies? | 18:01 | |
specbot6 | r14328 | larry++ | further clarifications of substitution and reported string positions | ||
gaal | i thought they were, like, protoreal | ||
audreyt | gaal: they may have bodies, which gets used when all multis fail | 18:06 | |
TimToady | I don't think you can put a proto after an only at the same level | 18:25 | |
audreyt | but two onlies? | ||
TimToady | it's like a multi in that regard | ||
audreyt | two onlies shadow with a warning? | ||
TimToady | two onlies would warn about redef | ||
audreyt | and multi after sub is... fatal? | ||
TimToady | yeah | ||
fatal is fine by me | |||
audreyt | and only after multi is... fatal? | 18:26 | |
gaal | webmind: fixed. I'll give you a d/l url in a few minutes.... | ||
TimToady | also fine | ||
(in same scope) | |||
webmind | gaal, cool, thanks | ||
gaal, what was the problem ? | |||
18:26
jisom joined
|
|||
lichtkind | TimToady if you would be so kind to answer some question i want to have answered for a perl6 article for german perl magazin, for now i have some question on your perspective about parrot | 18:27 | |
gaal | webmind: same problem that affected TTM really, and same kind of fix, in the tests only | 18:28 | |
you can actually force install if you feel like it. | |||
webmind | ah ok | ||
shay | yo folks | 18:29 | |
TimToady | lichtkind: okay | 18:30 | |
18:30
ShoyuRamen joined
|
|||
avar | gaal: what's new in htmlmatrix?:) | 18:31 | |
lichtkind | TimToady danke :) the initial need for new interpreter came from you but who said that it would to be multilingual? | ||
18:31
ozo_ left
18:32
ozo_ joined
|
|||
gaal | avar: passing tests. | 18:32 | |
avar | :) | ||
gaal | seriously, no changed features. | 18:33 | |
well, a doc fix; template.html is detailed_view.html for a while now but the doc wasn't consistent about it :) | |||
audreyt | woot, down to <1000 fails now | ||
gaal | audreyt++ | 18:34 | |
audreyt | gaal: a lot of it is your "import UTF8" caused :) | ||
Pugs.Types must use Char8 | |||
because we were treating the latin quotes as 2bytes (for speed) | |||
(because of hardcoded (drop 2)) | 18:35 | ||
TimToady | lichtkind: several of us were saying it at the same time. it seemed like a good approach to keep us from messing up interoperability. the first "official" mention of the idea was the april fool's joke, but it was already in the air. | ||
18:37
rashakil joined
|
|||
gaal | audreyt: hmm. the doc for Char8 doesn't make sense | 18:38 | |
"More specifically these byte strings are taken to be in the subset of Unicode covered by code points 0-255" | |||
how do you look only at 1-byte utf-8 chars and get the non-ascii basic block? | 18:39 | ||
audreyt | "Unicode" | ||
18:39
fglock joined
|
|||
audreyt | not "utf-8" | 18:39 | |
gaal | sure: but also "All Chars will be truncated to 8 bits." | ||
audreyt | Char is unicode | 18:40 | |
if you take only the bottom 8 bit | |||
you get latin1 | |||
or something like latin1. | |||
gaal | by ord you mean? | ||
not by byte pattern... | |||
audreyt | by byte pattern too | ||
as Char is internally UTF32 | |||
gaal | how come? | ||
audreyt | not UTF8 | ||
take UTF32. 4 bytes. drop 3. you get latin1 :) | 18:41 | ||
gaal | errrr, ok, but then it isn't utf-8 encoded | ||
audreyt | no it is not. | ||
lichtkind | TimToady i simply want to know how much of the concept is dans mindset and how much it was prerequests. Good, the multilingo thing was some thelepatical groupthink, but to me it seemed that da extended the concept | ||
fglock | on feather svk up, I'm getting: RA layer request failed: REPORT request failed on 'svn.pugscode.org/pugs': REPORT of 'svn.pugscode.org/pugs': 302 Found (svn.pugscode.org)at /usr/local/share/perl/5.8.8/SVK/Mirror/Backend/SVNRa.pm line 310. | ||
audreyt | fglock: yeah :-/ the workaround is get file:///data/svn/pugs | 18:42 | |
(DNS on feather is borked. fixing) | |||
gaal | audreyt: I see. this feels... dirty. :) | ||
fglock | audreyt: sorry, what's the command line for that? | 18:43 | |
audreyt | gaal: yeah. but it's the same dirtiness as perl5 :) | ||
fglock: nvm fixed | 18:44 | ||
svk should work now | |||
gaal | audreyt++ | 18:45 | |
Pugs.Types has "drop 2" all over the place :( | |||
audreyt | TimToady: at Bytes unicode level... is there a default encoding? | ||
gaal | which one did you refer to? | ||
rindolf | Hi gaal, audreyt . What's up? | ||
gaal | and: how do we treat << as two bytes? | ||
I mean, why does it win speed? | 18:46 | ||
hello rindolf | |||
TimToady | um, yeah, ascii. | 18:47 | |
I wouldn't go so far as to even assume Latin-1 though | |||
rindolf | Hi TimToady | 18:48 | |
TimToady | howdy | ||
fglock | mm - Syncing svn.pugscode.org/pugs / Retrieving log information from 15257 to 15551 / (in cleanup) Svndiff data ends unexpectedly: Unexpected end of svndiff input | ||
lambdabot | Title: Revision 15551: / | ||
rindolf | What do you think of perl-begin.berlios.de/new-design-Plasu/ , especially in comparison to perl-begin.berlios.de/ . | ||
lambdabot | Title: Perl Beginners' Site | ||
18:49
amnesiac joined
18:51
justatheory joined
|
|||
audreyt | gaal: line 442,443 | 18:51 | |
gaal: Char8 is faster than UTf8 because a blind drop 2 in Char8 is just that | |||
but a "drop 1" in UTF8 needs a peekChar to determine the bytelen of the first char | |||
18:52
elmex joined,
rindolf is now known as geboren,
geboren is now known as rindolf
|
|||
gaal | whoa, this whole bufToVar cache... huh | 18:53 | |
webmind | gaal, thanks, did a force install, can now run 'make smoke' | ||
gaal | I didn't know it was there | ||
webmind: yay! | |||
it caches var_names_? | 18:54 | ||
webmind | now if only parrot's make test would not loop on my sparc64 :) | ||
jisom | how's it loop? | ||
audreyt | gaal: this caches the parsing | ||
of var components | |||
gaal | of a string to a particular Var | ||
audreyt | it essentially memoises "cast" | ||
yes. | |||
gaal | nod | ||
when'd you add it? | 18:55 | ||
webmind | jisom, one of the tests it just doesn't continue and uses up 99% of my cpu | ||
gaal | now she'll say r400 :) | ||
audreyt | the same day as interning | ||
last August | |||
jisom | do you happen to know which test? parrot's aiming to be portable, so getting sparc to work would be good | 18:56 | |
audreyt | r12318 | ||
webmind | jisom, yes, if you give me a minute I'll look it up | ||
lichtkind | TimToady excuse me, you dont have any answer to that (i wanted leave soon, but wanted wait if you want to answer) | ||
svnbot6 | r15552 | audreyt++ | * Pugs.Types: Hypers really need Char8. | ||
gaal | hey! we didn't celebrate Pugs' birthday this year, did we? | 18:57 | |
offby1 glances around nervously. | |||
18:57
chris2 joined
|
|||
TimToady | lichtkind: I didn't realize there was another question | 18:57 | |
18:57
Psyche^ joined
|
|||
webmind | jisom, t/stm/runtime.t | 18:58 | |
TimToady | basically, april's fool jokes don't work unless the idea is already plausible | ||
audreyt | we didnot :) | ||
gaal: I was quite ill at that time :) | |||
gaal | yeah... ain't it nice you | ||
re better now! | |||
audreyt | indeed | ||
jisom | what's "prove -v t/stm/runtime.t" put out? | ||
webmind | jisom, and I'll gladly let the machine do regular smoke tests, but currently that doesn't seem like an option if it doesn't end | ||
TimToady | I remember a year before we announced Perl 6 getting funny looks from people at a CPAN meeting when I suggest cooperating with the Python folks... | ||
lichtkind | TimToady i didnt could find dan or chip on IRC so i wanted to ask you how much das extendend the original concept? | 18:59 | |
webmind | jisom, running | ||
jisom | if the testing facilities provided a timeout, things like this could be found with just a smoke | ||
TimToady | such questions are impossible to answer quantitatively | ||
webmind | jisom, yes | 19:00 | |
TimToady | Dan certainly thought of the cross language thing independently, and certainly did a great deal of work to bring it about. | ||
webmind | jisom, might script arround that | ||
19:00
xinming joined
|
|||
webmind | jisom, dunno how long it needs, but it's up eating cpu again | 19:01 | |
n$ prove -v t/stm/runtime.t | |||
t/stm/runtime....1..5 | |||
ok 1 - choice (one thread) | |||
is all it gives me | |||
TimToady | but then so did other people. | ||
jisom | ok, so test 2's failing | ||
"B0rked at least on x86_64" so maybe we need to add sparc64 as well | 19:02 | ||
what "cpuarch" do you have? | |||
webmind | cpuarch ? | 19:03 | |
jisom | eh, nm, found a good guess | ||
webmind | ok | ||
audreyt | bbiab | 19:05 | |
19:07
nwc10 left
|
|||
lichtkind | TimToady of course it cant be quantified but i dont like to write it complete flase things in my article :) | 19:07 | |
jisom | webmind, try a svn up now, and hopefully those tests should be skipped | 19:08 | |
webmind | jisom, just did | 19:09 | |
compiling now | |||
19:09
Psyche^ is now known as Patterner
19:18
prism joined,
explorer joined
19:19
ShoyuRamen left
|
|||
lichtkind | TimToady thanks even if it dint helped much but it clarified a bit | 19:20 | |
19:27
fglock joined
|
|||
fglock | I can't commit the changes at feather /home/fglock/pugs/perl5/Pugs-Compiler-Rule - 'Merge conflict during commit' | 19:33 | |
rhr | any comments on my p6l post from a week ago "Some questions about miltislices and other things"? It got Warnocked | 19:34 | |
moritz | fglock: well, du a "svn up", merge it, remove the conflict files and recommit | 19:35 | |
s/du/do/ ;) | |||
fglock | moritz: svn up doesn't fix it; svn up -s gives '(in cleanup) Svndiff data ends unexpectedly' | 19:36 | |
moritz: svn up -s then hangs | 19:37 | ||
moritz | fglock: do you have $file.r$revision-files in that dir? | 19:38 | |
TimToady | rhr: when you ask that many questions at the same time, the tendency is to mark it for later analysis, and then to not get back to it. | 19:39 | |
rhr | TimToady: sorry :) | ||
TimToady | at least, that's my tendency... | 19:40 | |
moritz | fglock: btw svn sucks ;) | ||
fglock | moritz: no files like that | ||
moritz | fglock: my only other idea ist to backup the changed files, do a 'svn revert', apply the diffs manually, and then commit | 19:41 | |
TimToady | so basically it was still marked as N in my list. | ||
rhr | I'm in no hurry to have them answered, just the usual Dilemma :) | ||
TimToady | I still hope to look at it. | ||
fglock | moritz: I did that already - no luck | 19:42 | |
rhr | TimToady: thanks for looking at it | ||
moritz | fglock: then I have no idea what else to do - except for a new checkout :( | 19:43 | |
but maybe somebody else knows more about svn than I do ;) | |||
hopefully ;) | |||
fglock | moritz: I did that too | ||
moritz | wtf? | 19:44 | |
then I can only be server side problem (or a b0rked binary on your client, but that's not very likely) | |||
fglock | ok - I left the commit log in 'log.txt'; will retry later | 19:46 | |
plain svn works :) | 20:04 | ||
svnbot6 | r15553 | fglock++ | PCR - passes >4000 tests more in the pugs test suite | ||
r15553 | fglock++ | - fixed StrPos overloading | |||
r15553 | fglock++ | - reverted: Match.to returning StrPos; fails pugs tests | |||
r15553 | fglock++ | - char classes and unicode property rules are generated on-demand | |||
r15553 | fglock++ | - implemented hex/octal/named constants | |||
20:10
erg joined
|
|||
gaal | when were closures introduced to Perl? | 20:26 | |
audreyt | gaal: perl5 | 20:30 | |
hm. how are there different? | |||
sub f { my sub g {...} } | |||
sub f { state sub g {...} } | |||
s/there/these/ | 20:31 | ||
gaal | audreyt: thanks | ||
audreyt | TimToady: are &-sigilled (and ::-sigilled) variables exempt from pad refresh upon lexical reentry? | 20:32 | |
that is, are they not refreshed by virtue of the sigil alone? | |||
s/not refreshed/unrefreshed/ | 20:33 | ||
(luqui used to hard code that logic; just want to check canonicality and maybe make it into spec) | 20:34 | ||
that is, upon pad refresh, the content gets cloned instead of cleared | 20:35 | ||
gaal | what is there to clear, exactly? closed inner lexicals? | 20:36 | |
(/clone) | |||
audreyt | yeah | 20:38 | |
sub f ($x) { my sub g {...}; if $x { &g := $x }; &g } | |||
ideally each time f() gets called, inner &g is a fresh copy of the original g | |||
regardless of rebinds | |||
I think | |||
gaal | uh why would that be the case? | 20:40 | |
audreyt | because my sub g {} is conceptualy | ||
my &g ::= sub {...} | |||
or rather | |||
my Sub &g ::= sub { ... } | |||
gaal | sure, but there's an explicit rebind? | 20:41 | |
20:41
pmurias joined
|
|||
audreyt | sure, but what is rebound? | 20:41 | |
if you say | |||
$x = f(undef); | |||
$y = f(sub {...}); | |||
$z = f(undef); | |||
surely $x === $z !== $y? | |||
if it had been "state sub g {...}" then we'd expect | 20:42 | ||
$x !== $z === $y | |||
I think anyway | |||
(shower bbiab) | |||
gaal | oh, I agree that on entry it's the original g; I thought you meant ideally the bind doesn't take place or something | 20:44 | |
avar | Is there anything in Perl 6 that couldn't be emulated in common lisp? | 20:55 | |
20:56
Daveman joined
|
|||
avar | the though occoured to me that targeting something like sbcl might be neat:) | 20:56 | |
TimToady | Turing says that's a silly question | ||
audreyt | avar: turing completeness says sure | ||
elmex | there is nothing in perl 6 that couldn't be emulated in a turing machine | ||
audreyt | I kinda wish that Church says it's a silly question and Turing comes later | 20:57 | |
moritz | elmex: you're wrong: elegance ;) | ||
avar | Yes, turing also says that you can do everything CL can in brainfuck by writing a CL compiler in brainfuck, but you know what I mean (I guess:) | ||
audreyt | but oh well :) | ||
avar: CL would be a fair target, yes. I havn't studied the concurrency story yet | |||
but iirc sbcl is certainly capable enough | |||
avar | What I really mean is since perl has a built in grammar you could in theory just output sexp from the parser and then implement stuff as macros:) | 20:58 | |
(multi-sub my-sub ...) | |||
audreyt | that is more or less what pugs is trying to do yes :) | ||
avar: so you grok sbcl? :) | 20:59 | ||
TimToady: another related question: | |||
avar | audreyt: not really, but I use it;) | ||
it's very sexy:0 | 21:00 | ||
audreyt | sub f { my multi g ($x) { 1 }; sub inner { &g(1) }; my multi g (Int $x) { 2 } } | ||
TimToady: i.e. does a closure close over the pad entry "g" of the variants-so-far, or does it close over one object that is later amended with mul variants? | 21:01 | ||
currently pugs has it at "inner() === 1" | |||
i.e. it only closes over the half-formed pad | |||
but I don't really have an intuition here... | |||
(seems clear it should close over the long name &g:(Int)) | 21:02 | ||
(so the question is more of, what does the short name really point to) | |||
er, should _not_ close over the long name | |||
TimToady | I think the abstract view of the short name is more correct | ||
audreyt | elaborate? | 21:03 | |
TimToady | most of the time we've gotten away from so-far-ness in a lexical scope | ||
audreyt | sub f { my $x; sub g { $y = 2 }; my $y } # error, no? | 21:04 | |
so there's still a so-far-ness involved | |||
but otoh you can argue that it's a compile time check and | |||
sub f { my $x; sub g { eval '$y' }; my $y } # ought to give $y | |||
TimToady | it's a failure of consistent meaning | ||
audreyt | I'd be fine with that too. | ||
TimToady | I thought that's how eval already did it | 21:05 | |
and why my $x; my $x are the same var | |||
I was just bragging about 'one name always means the same thing in a lexical scope' on p5p | |||
audreyt | ok. next question: | ||
my multi g ($x) { 1 } my multi g () { 0 } | 21:06 | ||
&g := sub { ... } | |||
does it cancel the whole multi dispatch? | |||
or is it an error because there is no concrete &g to bind with? | |||
i.e. are short names a fiction of lexical pad, or is it an indirection to the variants? | 21:07 | ||
TimToady | might fall into the category of trying to bind a type inconsistent with the type associated by declaration with the name | ||
I think the compiler knows that manifest type of 'g' is multi | |||
audreyt | my multi g ($x) {1} my multi g () {0} | 21:08 | |
my multi f () {123} | |||
&g := &f; | |||
kosher? | |||
TimToady | arguable either way, I think | 21:09 | |
audreyt | a way to think about it is that shortnames are "constants" | 21:10 | |
which simply calls into multidispatcher | |||
(as is currently implemented on the to-be-committed-pugs) | |||
in which case it falls into the "constants cannot be rebound" rule. | 21:11 | ||
TimToady | so &g := &f just replaces the set | ||
audreyt | uh, that's dangerous | ||
because there may be outer multis | |||
a short name crosses pads | |||
TimToady | I don't mind outlawing it for now even if that's not the longterm right answer | ||
audreyt | k. | ||
TimToady | yes, a short name is more like a Scheme symbol | 21:12 | |
so I think that's fine | |||
audreyt | yay. that simplifies stuffs a lot. | 21:13 | |
moritz | ... and Scheme is yet another Lisp dialect ;) | ||
audreyt | it follows then that &g.wrap is nonsensical | ||
or, alternatively, it distributes into the current variants | |||
which would be fine with me too | |||
but it couldn't have its own wrap-identity | |||
(alternatively, it wraps the proto, but that's icky) | |||
21:14
avar is now known as XxXxXxXxXxX
|
|||
TimToady | I think anything that is an & object needs to be wrappable, even it it represents a set of candidates. | 21:15 | |
audreyt | hm. | ||
ok. so it's a constant symbol | |||
but with a mutable body built like a Routine's | |||
so it can't be rebound, but can be maimed | 21:16 | ||
I mean, modified | |||
k | |||
TimToady | can't really do AOP otherwise. | ||
audreyt | multi f () { ... } | ||
multi f ($x) { ... } | |||
{ &f.wrap(...); f(...) } | 21:17 | ||
f(...); # no longer wrapped | |||
correct? (assuming that shortnames are per-pad) | |||
TimToady | only if the .wrap is temporized | ||
audreyt | interesting! | ||
multi f () {...} multi f ($x) { ...} | |||
{ multi f ($x, $y) { ... }; &f.wrap(...) } | |||
f(...) | |||
er | |||
assume "my multi" instead of "multi" everywhere | 21:18 | ||
so the outer call doesn't see the inner variant | |||
but the inner wrap still affects the outer call? | |||
21:18
XxXxXxXxXxX is now known as avar
|
|||
audreyt | not exactly sure how it'd work, then | 21:18 | |
my multi f () {...}; | 21:19 | ||
{ my multi f ($x) {...}; &f.wrap(...) } | |||
{ my multi f ($x) {...}; f(...) } | |||
illustrates the point better | |||
TimToady | I think the &f is reclosed over the new multi in the first block, so while the .wrap is written as a global effect, perhaps it's a global effect to a container that is lost on exit to the preclosed state | 21:22 | |
so the wrapping isn't seen by the second block because it's accessing &f the old way | 21:23 | ||
audreyt | ok. | ||
so it's the definition of new variants in the same scope | |||
that causes a new sym to be regen? | |||
i.e. if the first block did not have "my multi f" | |||
TimToady | seems like | ||
audreyt | ok. | 21:24 | |
but if the first block had | |||
{ multi f ($x) {...} } | |||
which is synonym to our | |||
still I think it causes recalc | |||
(because of our's implicit lexicaling) | |||
and so .wrap is still effectively lexical | |||
sane? | |||
TimToady | doesn't seem insane, but I'm not perhaps the best judge of that... | 21:25 | |
audreyt | heh :) | ||
ok, that's all I need to make this go | |||
thanks :)) | |||
TimToady | welcom | ||
audreyt | expect commits tomorrow | ||
audreyt waves and sleeps & | |||
TimToady | night | ||
21:26
Aankhen`` joined
|
|||
TimToady | bbl & | 21:27 | |
21:36
Psyche^ joined
21:41
Psyche^_ joined
21:46
Psyche^_ is now known as Patterner
|
|||
putter | re methods generally have names, yes, the question is what to do when they have more than one? f := method {...}; g := &f; X.g() what does the method think its name is? | 22:00 | |
it may come down to ROUTINE.name being .defined_as_name and caller() (unspeced) returning the interesting stuff about the call point. | 22:01 | ||
package A { import X::fibble as f is export; } package B { import A::f2 as g is export } B.g() who does the method think it is? | 22:03 | ||
p6: "invalid arguments to X::fribble", user of B: "what the heck is a fribble?" | 22:04 | ||
22:08
Psyche^ joined
|
|||
putter | gaal: re ANON, I note search.cpan.org/~xmath/Sub-Name-0.0...ub/Name.pm can be helpful. | 22:10 | |
lambdabot | Title: Sub::Name - (re)name a sub - search.cpan.org | ||
putter | grammar frogalike { rule for_red_frogs {...} for_green_frogs := for_blue_frogs := &for_red_frogs } grammar blue_frog_swimming is frogalike { rule for_blue_frog... } | 22:16 | |
just one method, but it would be nice for it to know in any given call what color frog is being served. | 22:17 | ||
s/{grammar,rule}/{class,method}/g and the issue is the same. | 22:18 | ||
22:21
Psyche^ is now known as Patterner
|
|||
audreyt | in perl5: | 22:48 | |
[T|audreyt]~$ perl -e 'sub f { die((caller(1))[3]) }; sub g { f } *h = *g; h() ' | |||
main::g at -e line 1. | |||
putter: are you saying that the dynamic scope should remember the method (aka the message) chain? | 22:49 | ||
it could certainly be arranged | |||
agreed that it'd be nice | |||
S06:1683 specs caller | 22:52 | ||
it already returns a object reprensenting dynamic scope | |||
rather than representing the routine | 22:53 | ||
so maybe a caller.name is sufficient? | |||
caller.invoked_as | 22:54 | ||
etc | |||
putter | re S06, hmm, maybe I should include it in *all* my Snn searches. :) I'll update Functions.pod. | 22:57 | |
audreyt | k. | ||
putter | re method chain, just the last bit of it. I guess it goes like this. Once there was lambda, it and it was none of its business what assorted environments bound it to. But since the human usuallly thought of | 22:58 | |
it as having a name, it variously got access to that, but often(usually? allways?) only to the initial binding. It remained ignorant of subsequent bindings. | 23:00 | ||
Now we use import, which seems likely to do raw := binding, and also deals with user known names, which it would be good for the code to know about (report errors, look up derivitively named things in the same packages, etc), but the old "only know the name of the first defining boundary" won't support that. | 23:01 | ||
s/boundary/binding/ | |||
thus the interest in a "what name shall I call myself which wont surprise my caller". :) | 23:02 | ||
svnbot6 | r15554 | audreyt++ | * FA::DFA - Fix incorrect BUILD usage. | ||
putter | a myself.was_invoked_as | 23:03 | |
audreyt | nod. agreed on all accounts. | ||
23:03
offby1 joined
|
|||
putter | :) | 23:04 | |
audreyt | TimToady: thought on amending S06:1683 to say that the dynscope object retured by caller must support .called_as (more ergonomic names welcome)? | 23:05 | |
svnbot6 | r15555 | putter++ | Functions.pod - aka S29 - Link empty "TODO" caller() spec to S06. | 23:07 | |
putter | awesome. | 23:08 | |
TimToady | as long as it's something that can be reconstructed on demand like the line number of the call, and not something that has to be physically done on every call, I'm fine with it. | 23:13 | |
audreyt | that sounds reasonably doable | 23:16 | |
putter | re S06/caller(), it might be nice if instead of starting with the calling frame, it started with its own. eg, so a stack dump could be for(0...){caller(:skip<$_>).sub.confess} rather than having to special case the treatment of ones own frame. | 23:18 | |
TimToady | It shouldn't be called caller() then | 23:19 | |
maybe caller is &frame.assuming(1) | |||
putter | ah | ||
audreyt | &frame sounds GUIish | 23:20 | |
TimToady | it's what it's called in gdb | ||
dynamic_context is a bit longish | 23:21 | ||
putter | caller :skip<-1> ? ;) | ||
audreyt | caller(0) in perl5 already starts with one's one | ||
TimToady | now where did I put my puke bucket? | ||
putter | lol | 23:22 | |
audreyt | so I don't think rrename is warranted :)) | ||
nor subtle offbyone adjustments... | |||
putter | I'd be happy with that. | 23:24 | |
TimToady | $+foo is short for CONTEXT:: so maybe switch the whole thing to context(0) etc | ||
and maybe leave caller as &context.assuming(1) | 23:26 | ||
since we also have CALLER:: to refer to the immediate caller | |||
audreyt | makes sense... | 23:27 | |
audreyt ponders to have &want take the same thing as &context so they are exactly duals | |||
TimToady | they don't already? | 23:28 | |
hmm, they did at one point, or were at least close | 23:29 | ||
but maybe we decided &context.want was sufficient | 23:30 | ||
audreyt | that also = unspecce | ||
TimToady | and want() is &context(0).want | ||
audreyt | either way is fine | ||
sure... | |||
svnbot6 | r15556 | putter++ | Neatening pX/Common/. Moved various old regex stuff to Aside/regex_assorted/. | 23:32 | |
r15557 | putter++ | Neatening pX/Common/. Moved an old regex project to Aside/regex_assorted/. | 23:35 | ||
putter | Common/regexp_and_parser_spike/parser_spike.pl and Common/regexp_and_parser_spike/parser_spike_target.pl make an interesting browse. Here we are 3 days short of a year later... and it all looks so very familiar. sigh. | 23:37 | |
23:41
weinig is now known as weinig_
23:43
Psyche^ joined
|
|||
putter | A few weeks back a friend I only rarely see gave me a very odd look. Had asked what I was working on. Said operator precedence parser for perl6. Friend remembered hearing the same answer a year earlier.... ;) | 23:45 | |
meppl | gute nacht | ||
putter | g'night | ||
meppl | ;) | ||
audreyt | well, two years ago I was writing multi dispatch code ;) | 23:48 | |
familiar, yet quite different :) | |||
putter | oh, yeah. wow. time flies. | 23:49 | |
23:50
weinig_ is now known as weinig
|
|||
putter | so no Boston visit this year? there seemed some interest here in having you do a dynamic languages seminar talk at mit. | 23:50 | |
blackdog.net/holiday/christmas/countdown.html (caveat - popups) | 23:51 | ||
lambdabot | Title: BlackDog's Countdown To Christmas | ||
audreyt | unfortunately sponsorship never got confirmed and my financial state isn't well enough that I can skip $job for that long | ||
so mountain view seems a more fruitful destination | |||
putter | k | 23:52 | |
svnbot6 | r15558 | audreyt++ | * state.t: move away irrelevant .perl artifact vs testing | 23:53 | |
putter | one thing which came up at the local .pm was a concensus that the pl community was unaware of how badly we were getting hosed by you're not having funding. suggested it was an "advertising" failure. | ||
this suggests its an ongoing issue. ie, raising p6 visibility/respect should be a no-brainer. | 23:54 | ||
well, no-brainer as long as it doesn't cut into hacking, is too expensive, etc. but $job conflict? as a community, I suspect we collectively don't want to be there. but our optical ganglia havent communicated with our motor ganglia. | 23:56 | ||
perhaps? | |||
audreyt | might be. still the current $job is the best I can find that allows some p6/p5/hs use | 23:57 | |
putter | k | ||
audreyt | and I've been unable to find a sponsor for me to work fulltime on p6 that does not involve making pugs proprietary | ||
putter | eep | ||
audreyt | I'm grateful as-is :) | ||
23:57
Psyche^ is now known as Patterner
|
|||
putter | as are we all. ;) | 23:58 |