6.2.7 released! | pugscode.org/ <Overview Journal Logs> | pugs.kwiki.org | paste: sial.org/pbot/perl6 Set by autrijus on 13 June 2005. |
|||
kelan | ?eval 1+1 | 01:44 | |
QtPlatypus | Eval bot is dead kelan | 01:45 | |
kelan | oh? | 01:46 | |
geoffb | Re: the "usual SVN properties" -- I have another project that I have just moved to SVN, that should work on both *nix and Win32. Is there any reason not to just apply the same SVN props as we use here to basically every non-binary file? | 02:34 | |
mugwump | sure, if you have mixed win32/unix devs and prefer utf-8 | 02:35 | |
geoffb | Meaning "sure, it's the right thing to do"? | ||
mugwump | Āŷĕ | 02:36 | |
geoffb | OK, wheee | ||
Now to update properties on 160 files . . . . | |||
Darren_Duncan | you should just use utf-8 everywhere regardless of platform | 02:41 | |
nothingmuch | evening from the hackathon | 06:23 | |
nothingmuch_ | hackathon networking has been restored | 06:34 | |
Darren_Duncan | good evening to you too | 06:44 | |
checking journal ... | |||
I noticed no svn commits since this morning or earlier | 06:45 | ||
no journal ... maybe another time | |||
good night | |||
nothingmuch_ | no internet up till now | 07:10 | |
autrijus already went to bed | |||
which means the commit should start momentarily | |||
07:10
nothingmuch_ is now known as nothingmuch
|
|||
nothingmuch | foo! | 08:50 | |
broquaint | bar! | 08:52 | |
nothingmuch | good night good people of the world | 09:11 | |
Juerd | Is being able to init a hash with a hashref a bug? | 09:26 | |
It certainly ought to be, because a hashref is a valid hash key. | |||
broquaint | Is it not magically deref'ed in list context? | 09:27 | |
Juerd | No | ||
References may never deref in list context or generic scalar context | 09:28 | ||
Dereffing can only happen with explicit use-as-array or use-as-hash | |||
%hash = { 1 => 2 } should set %hash{ { 1 => 2 } } = undef | 09:29 | ||
broquaint | Fair enough. Sounds like a bug. | 09:32 | |
arcady | I'm not so sure it's a bug | 10:12 | |
oh, wait, it is | 10:15 | ||
%hash = [ 1, 2] also does the same thing | |||
12:22
Nattfodd is now known as Odin,
Odin is now known as Nattfodd
|
|||
pdcawley | ?eval sub foo { my $x = 1; return sub ($codestring) { eval $codestring } }; foo()("$x") | 13:07 | |
broquaint | I think the evalbot is down atm. | 13:08 | |
pdcawley | Yeah, I guessed that. Just tried it on feather instead. | 13:09 | |
broquaint | This looks to work as expected: sub foo { my $x = 1; return sub ($codestring) { eval($codestring).perl.say } }; foo()(q[$x]) | 13:10 | |
Juerd | What was expected? | ||
broquaint | To return the value of $x | 13:11 | |
Juerd | I see. | ||
I think it should by default not work | |||
broquaint | Why is that? | 13:12 | |
Juerd | It kind of defeats the purpose of having a garbage collector. | ||
broquaint | ? | ||
pdcawley | I'd disagree, you know lexically that you've got an 'undecided' scope down there, so for that function you hang onto the entire lexical stack. | ||
Juerd | pdcawley: Because of the eval? Or always? | 13:13 | |
I can live with smart detection of things that eval | |||
pdcawley | Because of the eval. | ||
Juerd | But not if that is taken to extremes: calling another sub that evals, which could in theory try to access $CALLER::x | ||
Although it will be weird to have code that starts working when you add eval ''; :) | 13:14 | ||
I'm not sure what I think of this | |||
The impact of deep analysis is huge, but it would be needed to avoid weirdness | |||
pdcawley | I'm not sure what GC has to do with anything tbh. | 13:15 | |
At least, not in that example. | |||
Actually, no, tell a lie. | |||
Juerd | If variables are held onto, they cannot be destroyed. | ||
pdcawley | Until the instance of teh sub that's holding onto them is itself destroyed. | 13:16 | |
Juerd | That is true, but that can take a very long time. | ||
pdcawley | And that's a problem to someone writing that kind of code because? | ||
If you're writing that it's because it's precisely what you want. | 13:17 | ||
Juerd | Because my values are often 100 MB. | ||
One little string eval used as a shortcut could severely fuck up memory usage for the kind of scripts I use. | |||
I'm not sure I like the idea of big red flags with every single string eval, as in PHP. | |||
pdcawley | Juerd: But things like that are only going to be seriously long lived when you do &whatever := func_that_returns_a_func. | 13:18 | |
Remember, you don't start holding onto the stack until and unless you call foo. | |||
Juerd | Or put them in a hash for much later use. | 13:19 | |
Which I tend to do. I use anonymous subs all over the place. I like working with them. | |||
pdcawley | Anon subs with evals in them? | ||
Juerd | I admit that I don't usually combine these two things: string eval and storing closures | ||
pdcawley | And you're stashing them with side effects? | ||
Juerd | But I do use both, and often too, so it's bound to happen. | ||
pdcawley | How very impure of you. | ||
Juerd | Not always side effects | 13:20 | |
pdcawley | Stashing them in a longlived hash smacks of side effects to me. | ||
Juerd | The problem is that Perl can't see that eval "$integer1 / $integer2" is in fact rather pure -- it has to account for $integer1 being a string that uses a variable. | ||
pdcawley | Yeah. Great isn't it? | 13:21 | |
Juerd | No, not really. | ||
pdcawley | All htat means is that every sub in that sub's lexical chain (not dynamic) needs to close over everything. | ||
Juerd | Which may mean my 100 MB variable is closed over without any chance of it ever being needed. That's a terrible waste of memory. | 13:22 | |
pdcawley | Then write your code more carefully. | ||
Juerd | In general, if extra memory can be used to gain some speed up, I'm all for it. But this is waste. | ||
I don't always want to write code carefully. That is WHY I like Perl. | |||
It lets me code carefully, when I want that. | 13:23 | ||
But is still the useful fast tool if I don't. | |||
I'm not in the "if you code sloppily, every bit of slowdown is your own fault" camp | |||
pdcawley | I'm not in the 'closing down useful possibilities in order to chase performance' camp either. | 13:24 | |
Juerd | We don't have string eval to code carefully. It's there especially for the people who don't care much about purity, because they can sometimes cut a few corners and be home earlier. | 13:25 | |
pdcawley | That's something the programmer should be doing, not the language. | ||
Disagree, very strongly. | |||
Juerd | pdcawley: The problem with this is that analysis is expensive. You can't just look for eval, you also have to look for my_eval, that uses eval. | ||
Which means that in practice, every single sub needs to have a flag that says wether it uses something that is flagged. | |||
pdcawley | But you know the lexical structure at compile time. This has nothing to do with the dynamic structure. | 13:26 | |
Juerd | Which can result in numerous subs being tainted in the way that using it will cause the enclosing block to close over the entire lexical scope, which is a slowdown at very great distance. | ||
This isn't a bug you could easily find even if you wanted to. | 13:27 | ||
pdcawley | What on earth do you mean 'using them'? | ||
Juerd | I think there should be a way to close over everything, but never this implicit. | ||
pdcawley | The only time it's going to crop up is when you *write* a function. | 13:28 | |
Juerd | pdcawley: foo calls bar, which calls quux, which calls xyzzy, which calls Some::Module::blah, which calls Other::Module::whee, which calls YetAnother::Module::blergh, which evals a string. | ||
pdcawley: Now foo is as eval, in that when it is used, perl must close over all variables in scope. | |||
pdcawley: Because miles away, something evals, which could use $CALLER::CALLER::CALLER..::x | |||
pdcawley | And which has no effect on teh lexical state of bar, quux, xyzzy, Some::Module::blah, or Other::Module::whee. | 13:29 | |
Juerd | Now, if I use foo in the closure that I return from a sub that also gets a huge variable, the variable is kept, even if it will never be necessary in YetAnotherModule::Blergh's eval | ||
And all that because one module author of code I presumably neither wrote nor read cut a corner by using eval. | 13:30 | ||
Good luck figuring out why your program performs so badly... | |||
pdcawley | To even begin to implement your straw man you have to solve the halting problem. That's not what I'm proposing. | ||
Juerd | I'm saying that if you want eval '$x' to work, you should somewhere draw the line, and that that line is CALLER. If you also want '$CALLER::x' to work, you lose a terrible amount of efficiency. | 13:31 | |
pdcawley | Or you say "This is a language where we value that, turn it on for everything". | ||
Juerd | So the purity and predictability must be broken somewhere in order to avoid greater problems. | 13:32 | |
pdcawley | Full speed ahead and damn the torpedoes. | ||
Juerd | pdcawley: I don't think enabling it for everything is an option even, if we want Perl to ever be recognised as a smart and efficient language. | ||
So half-enabling and not-enabling are the things I'm personally trying to choose from, and I tend to choose not-enabling by default, with some option of half or fully enabling. | 13:33 | ||
(If it were up to me, CALLER:: would be enterily illegal outside signatures) | 13:34 | ||
pdcawley | Argh. Actually, I used Perl as the pseudocode for something I'm arguing that Parrot must support; the CALLER thing should come fenced about with "Using this is as bad as using $& was in Perl 5 days!" warnings. | ||
Juerd: I like it for weird introspective and macroy ideas. | |||
Juerd | I agree that CALLER is a problem. Still, it is specced, and we need to work around problems it creates. | 13:35 | |
pdcawley: Then if you need it, you can specify that in the signature :) | |||
But never ever in any eval :) | |||
pdcawley | Illegal outside macros and signatures I could go with -- you can always write a macro tweaks the signature. | ||
Juerd | And CALLER::CALLER:: is just waaay to horrible to even think about, for me :) | ||
pdcawley | Right. Must. Write. Summary. | 13:36 | |
Juerd | Have fun | ||
svnbot6 | r4917, iblech++ | Prelude::PIR -- Unbroke &sleep and &exit (was broken because of the recent | 13:41 | |
r4917, iblech++ | Pugs::Internals -> Perl6::Internals name change). | |||
masak | Juerd: I must admit that I'm on your side in this issue. I think the analysis required for it would be too hairy. | 13:45 | |
autrijus | greetings lambdacamels! | 13:47 | |
pdcawley | Hi autrijus. | ||
autrijus | we have network! | ||
PerlJam | greets autrijus | ||
autrijus: who are "we"? :) | 13:48 | ||
autrijus | people who have network, of course | ||
PerlJam patiently waits for someone to prod lwall into joining #perl6 | 13:49 | ||
autrijus | lambdacamels, please check this for insanity | ||
perlcabal.org/~autrijus/perl6-as-of-20050623.txt | |||
before I rip the relevant parts of pugs out | |||
(based on discussion with lwall last night -- but we didn't have network so I didn't get to upload it) | 13:50 | ||
PerlJam | autrijus: prefix:<=> is .shift ? That seems odd. | 13:51 | |
integral likes the bits he understands | |||
autrijus | PerlJam: it's a destructive update on an iterator | ||
(in item context) | |||
for =@array { ... } ; # @array is empty after this | |||
integral | Does the Any change mean that: sub foo (Any $a) { ... } no longer autothreads? | 13:52 | |
PerlJam | And we use the slurpy variant when we don't want destruction? | ||
autrijus | er, no, slurpy context prefix:<=> is also destructive... | 13:53 | |
it's more like splice(@x, 0, -1) | |||
but now splice also preserves generators | |||
PerlJam | So I have to somehow explicitly declare an Iterator (or just copy the thing) if I don't want destruction? | ||
autrijus | if you don't want destruction... drop the = :) | 13:54 | |
for @array { ... } | |||
pdcawley | I'm unsure about the my thing. | ||
autrijus | pdcawley: it's conforming to the spec | ||
almost too literally. | 13:55 | ||
PerlJam | autrijus: oh duh. I was getting hung up. | ||
pdcawley | But it can be worked around I'm sure. | ||
autrijus | my $x; { say $x; $x += my($x) * $x if $x; } | ||
here the first three $x (lexically) are the same | 13:56 | ||
pdcawley was thinking of the classic sub is_odd { $^a == 1 || is_even($^a - 1) }; sub is_even {...} type thing. | |||
autrijus | and the last three $x are the same. | ||
pdcawley | Eew! | ||
And bugger me but that's bad and evil code. | |||
autrijus | but the third $x is "erroneous"; we may or may not actually support it. if not supported, that'd give an error. | ||
integral: right, sub foo ($a) now means | 13:57 | ||
sub foo (Item $a) | |||
and the top type Any is divided into Item and Junction | |||
pdcawley has been thinking idly about dependency injection... I want to write UtilityClass.new in my 'client' code and have my application framework decide that, today, UtilityClass is actually implemented using ThisSpecificUtilityClass. | 13:58 | ||
Which is tangential, and I'm supposed to be writing the summary. | |||
integral keeps thinking of "Knit" when things like pdcawley's are mentioned | |||
PerlJam | I always think of summarys when pdcawleys are mentioned ;-) | 13:59 | |
Arathorn | autrijus: in the my() example above, wouldn't the final $x be from the outer block's scope? | 14:00 | |
despite being physically placed at the end of the line, wouldn't the if-clause's condition be evaluated before the left-hand-side? | |||
autrijus | Arathorn: I'd expect that too | ||
but larry sort of insisted on the strict lexicalness. | 14:01 | ||
i.e. it doesn't have anything to do with eventual evaluation order | |||
Arathorn | but only the physical position in the file | ||
that's diabolical, imo :\ | |||
autrijus | it does make it easier to explain. | ||
integral | hmm, but what about: my $x = 5; { my $x = $x } ? Isn't a strict left-to-right reading mean that this doesn't work? | 14:02 | |
autrijus | integral: yeah, you'd have to say $OUTER::x. that's in the spec | ||
pdcawley | Well put that man! | ||
Ghod but that's ugly. | |||
integral | oh. That makes me sad. :-) | ||
autrijus | beginning of S04 | 14:03 | |
but consider: | |||
pdcawley | my $x = 5; { $x ==> my $x } ? | ||
autrijus | pdcawley: amazingly that works | ||
my $y = my($x) zor $x; | |||
now zor's evaluation order is unspecified | |||
maybe it evaluates the second argument first. | |||
you don't know. | |||
so that's the argument for strict lexicalness. | |||
integral | hmm, is the old rule of declaration only taking effect after the statement too confusing? | 14:04 | |
Arathorn | are there any other pseudo-functions like my() whose behaviour would depend on their physical lexical position rather than their position in the parse-tree had they been a real function? | ||
autrijus | integral: it was my second alternative but larry struck that down as well... because following that rule you get unspecified intra-statement results | 14:05 | |
my $x if 0; | |||
Arathorn: those are called scope declarators... currently in PIL there are only three special forms that is not function application: | |||
assignment, binding, scoping | |||
integral | hmm, how does this new rule fix that? | ||
PerlJam | Are there any other languages that adhere to such strict lexicalness in declaration? | 14:06 | |
Arathorn | right | ||
autrijus | PerlJam: actually, most languages do, where they are known as the let-forms | ||
and they are bound strictly lexically without regard to the evaluation order also. | |||
Khisanth | hmm ugly but who in their right mind would write code like that? :) | 14:07 | |
pdcawley | autrijus: Woo! | ||
PIL sounds promising. | |||
autrijus | pdcawley: see src/Pugs/Compile.hs | 14:08 | |
line 30 to 51 contains the entire spec of pil (For this moment) | |||
pdcawley | I will. But not 'til I've finished the summary. | 14:11 | |
Arathorn | hm, when you for @x -> $y {} # the $y is implicitly lexically scoped, right? | 14:12 | |
pdcawley | BTW, do we have full continuations yet? I want to solve that sudoku. | ||
Arathorn: It's a parameter in the block, and lexically scoped to that, yes. | |||
Arathorn | pdcawley: a sudoko solver using proper continuations would def be very nice evangelism example :) | ||
right | |||
autrijus | pdcawley: let me see if i can compile it to PIR today | 14:13 | |
pdcawley | Arathorn: It's a horribly inefficient brute force thing, but it should work. | ||
Once the core is working I'll see about adding the shiny interface. | |||
The code is gloriously declarative. | |||
NonDeterministic programming makes me happy. | 14:14 | ||
theorbtwo | Greetings from the hackathon, BTW. | 14:18 | |
Juerd | 15:51 * PerlJam patiently waits for someone to prod lwall into joining #perl6 | ||
PerlJam: TBH, I don't think that would be a great idea. Many ideas need to be discussed long before decision makers see them. | 14:19 | ||
theorbtwo | The connection here sucks, so don't expect it in the next three days. | ||
stevan is shocked to see autrijus did not take his laptop into the shower | 14:20 | ||
rjbs | he did, but he's playing solitaire | ||
theorbtwo | Nah, it's on the table next to me. | ||
ihb | Juerd: "TBH"? | ||
Khisanth | to be honest | 14:21 | |
theorbtwo | We managed to get through a lot of corneer cases last night, though. | ||
ihb | Khisanth: danke. | 14:22 | |
theorbtwo | (Not that I actually understood many of them, but...) | ||
Arathorn | cana nyone point me to the right apoc/synopsis number for a discussion of how the -> bind operator thingy works? | ||
Khisanth wonders how autrijus has been able to avoid electrocution with the laptop in the shower | |||
Arathorn | ('cos it don't seem to be in [AS]0[1-4]) | ||
theorbtwo | It's defined to work just like sub, except when it doesn't/ | 14:23 | |
QtPlatypus | I thought that -> was a sub | ||
Arathorn | ah, found it in S06 | ||
bingo - thanks :) | |||
pdcawley | my $a = 10; my $c = 30; my $b := $a; $a := $c; say $b; | 14:24 | |
What should that print out? | |||
PerlJam | 30 | 14:27 | |
theorbtwo | Yeah. | ||
pdcawley | Exactly. So Brent's wrong about 'alias' being spelled ':=' in perl 6. | ||
svnbot6 | r4918, iblech++ | Emit.PIR, Prelude::PIR -- &eval_parrot (but Parrot segfaults when trying to | 14:30 | |
r4918, iblech++ | invoke a sub compiled at runtime). | |||
Juerd | autrijus: How do levels work as in "0-level" for deref? | ||
pdcawley | Oh fsck! 132 more messages in p6l before I've done this summary. | 14:31 | |
autrijus | Juerd: oh, it just means there's no autodeferencing anymore. | ||
dot explicitly dereferences | |||
Juerd | autrijus: But there is for coercion, right? | ||
theorbtwo | (There's still autoENreferenceing on %.foo.) | ||
autrijus | bracketlikes eg $foo[0] is merely shorthand for $foo.[0] | ||
Juerd | ~$aref and ~@array | ||
autrijus | @foo.[0] auto-enreferences @foo into something. | ||
Juerd | That I know | ||
autrijus | so it'd be in effect the same as (\@foo).[0] | 14:32 | |
but if you have a reference to a number, you can't use it as a number. | |||
Juerd | postfix ops provide Array|Hash|Code context to their LHS | ||
autrijus | so basically we're back at p5 land. | ||
Juerd | Good! | ||
autrijus | theorbtwo was very happy too :) | 14:33 | |
Juerd | Now, I do think there should be some postfix scalar dereffer, but that's for later :) | ||
autrijus | maybe we can hijack .val for that. | ||
Juerd | And I *still* think it can be just $, but people seem to be very opposed to that ;) | ||
$scalarref$ :) | |||
autrijus | $Id$ $Date$ | ||
theorbtwo | .val already does enough... $foo.deref sounds good. | ||
Juerd | So don't call your references that | ||
PerlJam | Juerd: $foo\ :-P | 14:34 | |
Juerd | The exception we have to make for #! is bad enough already :) | ||
Khisanth | autrijus: so on that first one it would be $y.++? | ||
Juerd | PerlJam: I wish to reserve \ for infix operation. | ||
theorbtwo | We do? Isn't #! just a comment? | ||
Juerd | theorbtwo: Not if it's the first line | 14:35 | |
autrijus | Khisanth: I don't know if it should work like that. | ||
Juerd | Shebang behaviour is emulated | ||
It has to be for the -T exceptio | |||
n | |||
autrijus | $$y++ # is the way I'd envision | ||
Khisanth | autrijus: I am kinda hoping it wouldn't :) | ||
Juerd | theorbtwo: Ooh! .deref | 14:36 | |
theorbtwo: A generic whateverref dereffer! | |||
BUT | |||
How it's not possible for it to be generic. | |||
That's unfortunate, really. | |||
theorbtwo isn't so sure of that. It'd... yeah, that's not possible. | |||
Juerd | So let's have syntax. Then the asymmetry isn't so blatantly obvious. | ||
theorbtwo | Which is unfornunate, because it means that we have to find a name where people don't expect it to be one. | 14:37 | |
PerlJam | So is there going to be some syntax for the infinite deref? | ||
Juerd | perlcabal.org/~autrijus/perl6-as-of-20050623.txt ++ # I like much of it. | ||
PerlJam: Yes, it can be postfix $ :) | |||
theorbtwo | There already is syntax, just not postfix syntax (for finate deref.) | 14:38 | |
Khisanth | return is just another way to throw an exception? :) | ||
Juerd | And infinite is a problem :) | ||
That takes too long. | |||
theorbtwo | Yep, Khis. A very unexceptional exception. | ||
PerlJam | theorbtwo: perhaps I should have said "is there some simple punctuation?" :-) | ||
Juerd | So... what is the current state of <->? | 14:39 | |
theorbtwo | Juerd: I don't think anybody thinks it's useful enough. | ||
PerlJam | Juerd: it still only exists in your imagination :) | ||
Juerd | Grumble. | 14:40 | |
Khisanth | the lightsaber operator? :) | ||
theorbtwo | So make one | ||
Juerd | Khisanth: No, that's ====================@##@#### | ||
hmm | |||
Khisanth: No, that's 4====================@##@#### | |||
there. | |||
theorbtwo: I want <-> to be the default for $_-blocks. | 14:41 | ||
theorbtwo: rather than "-> $_ is rw" | |||
Because that adds some weirdness to the defaulting thing | |||
Khisanth | ah a sith lightsaber at that! | ||
Juerd | Anywhere $_ is a default, adding $_ shouldn't break things. | ||
theorbtwo | We're trying to decide what to change it to right now. | ||
Juerd | "$_ is rw" as a default makes very little sense. | ||
<-> solves this in a subtle way | 14:42 | ||
theorbtwo | -> ?$_ default $OUTER::_ seems to be the conclusion. | ||
Juerd | And makes possible my for %hash <-> $key, $value { ... }, which is still much easier to type than for %hash -> $key is rw, $value is rw { ... } | ||
theorbtwo: Holy bovine. | 14:43 | ||
theorbtwo | OK, the conversation is getting aways from me. | ||
Juerd | There goes simplicity :( | ||
PerlJam | Juerd: I was going to say that <-> only seems really useful when you have multiple parameters that you want rw, but then theorbtwo's comment shocked me into silence. | 14:44 | |
Juerd | PerlJam: It's even more useful there, and that's when it becomes tedious to write "is rw" instead | ||
PerlJam | Can we do for @foo -> ($a,$b,$c) is rw { ... } ? | ||
Juerd | PerlJam: I'm more concerned with the default of "-> $_ is rw", because I'm rather convinced the default should be "-> $_" or "<-> $_", not something involving an external property like "is rw" | 14:45 | |
PerlJam: Not currently. | |||
PerlJam: I find for @foo <-> $a, $b, $c { ... } a hell of a lot easier on the eyes and fingers still. | |||
Khisanth | PerlJam: but wouldn't that mean the list and not the individual elements are rw? | ||
Juerd | The thing is that <-> is conceptually NOT "yet another way" | ||
PerlJam | for some reason <-> always makes me think of the "in", "out" and "inout" parameters in XS | 14:46 | |
Juerd | It's like q() and q[]. | ||
Limbic_Region | perlbot nopaste | ||
perlbot | Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel> | ||
Juerd | PerlJam: I don't know what those are, but <-> does really mean things are bidirectional, and -> means they're unidirectional. | ||
Khisanth | -> readonly, <- write only, <-> read write? :) | 14:47 | |
pasteling | "Limbic_Region" at 129.33.119.12 pasted "Could someone please run this code - and if it works, nopaste the results for me?" (76 lines, 2.7K) at sial.org/pbot/11293 | ||
Juerd | Yes, except that write only has no practical use and can thus be skipped. | ||
Especially because <- is qw(-, which is too dangerous a thing. | |||
Limbic_Region | the binary build Jonathan puts out is broke today (after I already wiped out my working copy of Pugs) - so I have no way of testing | ||
but if someone wouldn't mind trying it for me I would be very appreciative | |||
PerlJam | Khisanth: or ... for @a -> $a,$b { ... } === for $a,$b <- @a { ... } :-) | ||
Juerd | <-> is acceptable because it makes one thing different, instead of an infinite number of things. | ||
PerlJam: But that screams for $value <= $key too, which isn't going to work. | 14:48 | ||
PerlJam | Beware the hobgoblins of foolish symmetry ;) | 14:49 | |
Juerd | Limbic_Region: | ||
unexpected "{" | |||
expecting operator, ",", ":", term postfix, postfix conditional, postfix loop, postfix iteration, ";" or "}" | |||
at - line 33, column 17 | |||
chip | "the boy who cried 'foolish consistency'" | 14:50 | |
Limbic_Region | thanks Juerd - will investigate | 14:51 | |
PerlJam | Limbic_Region: what's the top level when acting upon? | ||
Limbic_Region: i.e., I see no given $result_1 { ... } | 14:52 | ||
Limbic_Region | PerlJam - I am still working on it - hard to debug without Pugs | 14:53 | |
Juerd | 30 when 1 { return %ball{3} == %ball{10} ?? (5, 1) :: (3, -1); } | ||
Not that it has to do with the problem at hand, but doesn't that need () around the comparison? | |||
PerlJam | Juerd: Why should it? | 14:54 | |
Juerd | Oh, no | ||
That was with = :) | |||
Juerd always has a problem remembering ?:'s precedence | |||
BASIC's iif() isn't so stupid, really :) | |||
theorbtwo | Juerd: you mean ??::... <g> | 14:55 | |
Juerd | No | ||
I used ?: to indicate that the problem is bigger than just Perl 6 | |||
theorbtwo | Oh. | ||
Limbic_Region | btw - does adding in the given $result_1 { line make it work? | ||
Juerd | Great, I got a warning by SMS that the sun would be dangerously powerful today, and I read it way after the most dangerous times! | 14:56 | |
So much for avoiding skin cancer. | |||
Limbic_Region | I want to verify that it does prior to merging -1 and 1 into a single default case | ||
PerlJam | Limbic_Region: Can't you just use feather.perl6.nl to test this stuff? | ||
Limbic_Region | no - I can't get access to anything outside other than http and https | 14:57 | |
PerlJam | Time to tunnel ssh over http ;) | ||
Limbic_Region | *shrug* - normally isn't a problem as I can download binary builds - but today's build is broke and I didn't bother to check that before wiping out a working one | 14:58 | |
PerlJam | Limbic_Region: perhaps you should build a form interface to feather such that you can paste code snippets, have feather execute them and show you the results. | 14:59 | |
(assuming Juerd is okay with that) | |||
Juerd | If it's properly ulimited, sure | 15:00 | |
Limbic_Region | well - I have to run to a meeting now anyway | 15:01 | |
Khisanth | shouldn't line 9 in Limbic_Region's code result in a warning? or is that not implemented yet? :) | 15:06 | |
autrijus | only compiler can give a warning -- pugs's main evaluator is not yet a compiler :) | 15:07 | |
Khisanth | I just recall someone in #perl mentioning a -w for pugs yesterday | 15:09 | |
autrijus | theorbtwo++ | 15:29 | |
svnbot6 | r4919, autrijus++ | * make PIR backend respect @*INC. | ||
r4920, theorbtwo++ | Change castV to fromVal for better monadic goodness. | |||
r4920, theorbtwo++ | Oh, and it's ft, not FT, but m is already used, so it's still M. | |||
geoffb | Dammit people, why must all the good conversations happen when I'm asleep? | 15:57 | |
:-) | |||
Good morning, all | |||
16:01
nnunley__ is now known as nnunley
|
|||
Limbic_Region | geooffb - mind helping me troubleshoot something (I think you will find it a fun project) | 16:06 | |
geoffb | sure, watcha got for me? | 16:07 | |
pasteling | "Limbic_Region" at 129.33.119.12 pasted "If this runs without error - what are the results" (55 lines, 1.9K) at sial.org/pbot/11294 | 16:08 | |
Limbic_Region | it is a puzzle - I am presenting a solution in p6, but the challenge will to be to derive a solution using code (not your head) | ||
geoffb | (And I'll trade you -- I need people to test compiles of svn.openfoundry.org/sdlperl1/ , and let me know how it goes, since I only have compilers for Debian) | ||
Limbic_Region | well - you will have to wait until I get home then | 16:09 | |
geoffb | running it . . . | 16:10 | |
Does it take a long time to run, normally? | |||
oh wait, it dies | |||
Limbic_Region | dunno - never ran it | 16:11 | |
geoffb | unexpected "{" | ||
expecting operator, ",", ":", term postfix, postfix conditional, postfix loop, postfix iteration, ";" or "}" | |||
at ./lr-thingie line 13, column 21 | |||
(that line is off by two, I added a #! and a blank line at the top) | |||
Limbic_Region | ahh - likely need parens around the infix operators | ||
or maybe not | |||
can we do /msg so that I don't flood the main channel with "try this" | 16:12 | ||
integral | geoffb: the Makefile.PL does nothing on OS X, not even complain. | ||
geoffb | oh sure, why not? :-) | ||
integral, yeah, the makefile mess is something I gave off tackling until today -- yesterday I noticed that someone had created a Makefile.netbsd, and then never put an entry in Makefile.PL for it, so I added that myself, but I haven't done anything else to fix the mess. | 16:13 | ||
It's definitely next up on the priority list . . . but if you'd like to contribute, I'd be VERY happy, since OS X is the one major thing SDL_Perl 1 didn't run on, I think. | 16:14 | ||
integral doesn't even know if he's got SDL installed | |||
theorbtwo | Oh, not pug's makefile.pl. | 16:15 | |
geoffb | theorbtwo, sorry for the confusion, no -- it just came up as a trade with L_R, and integral was his usual cool self. :-) | 16:16 | |
PerlJam | pdcawley++ on transparent v. opaque references ... "I'll tell you what, let's swap places: you read the thread and write me a summary of it" | 16:25 | |
Limbic_Region | should my $number = .1 * -1; # fail to parse | 16:26 | |
my $number = 0.1 * -1; # parses fine btw | |||
PerlJam is catching up on his summaries | |||
wolverian | well, that'll disallow method names that are only digits, but oh well.. | 16:27 | |
PerlJam | Limbic_Region: good question. I'd think it should parse fine. | ||
wolverian: we're already there aren't we? | |||
wolverian | PerlJam: probably. | ||
geoffb | FWIW, it would annoy me to have to do 0.1 everywhere -- because I have a lot of code with values between 0 and 1, in arrays -- so that would actually be significant clutter for me | 16:29 | |
Limbic_Region | well - it doesn't currently work in pugs so it is either a bug or needs a doc patch | ||
autrijus | it's a parsebug. tests welcome | 16:30 | |
Limbic_Region | will wait until geoffb has finished helping me debug all the code so I can get them all at once | 16:31 | |
geoffb | :-) | ||
autrijus is still fighting with the fallout of theorbtwo's patch... | 16:37 | ||
Limbic_Region thinks he has found another odd parse bug where the presence or absense of prior statement will make it work/break | 16:57 | ||
autrijus - I don't think sial.org/pbot/11300 is small enough for a test case | 16:58 | ||
but if you remove the line - say "balancing group A and B"; # it stops working | 16:59 | ||
geoffb got tired of wondering what Sudoku was, and finally read www.nationmaster.com/encyclopedia/Sudoku . . . | 17:40 | ||
pretty cool, that. | |||
Khisanth | latest checkout doesn't compile ... | 17:43 | |
theorbtwo | Khisanth, autrijus is working on it. | 17:44 | |
Khisanth | oh that is what he meant :) | 17:45 | |
theorbtwo | Yup. | 17:46 | |
All my fault. | |||
.oO(fmap!) |
|||
svnbot6 | r4921, iblech++ | * Pugs.Eval -- Removed unneeded import. | 17:52 | |
r4921, iblech++ | * Test -- s/say/print/ -- now a failed test outputs "not ok n" again (was | |||
r4921, iblech++ | "not \nok n"). | |||
r4921, iblech++ | * examples.t -- unTODOed a succeeding test. | |||
Arathorn | they're quite fun | 18:04 | |
geoffb finally catches up with backlog | 18:12 | ||
geoffb praises the death of infinite auto-deref | 18:13 | ||
nothingmuch wakes up | |||
geoffb | welcome to the land of the living, nothingmuch | 18:14 | |
obra | hey luqui_. how's the hackathon? | 18:30 | |
luqui_ | it's like a design meeting | 18:31 | |
but without a damian :-) | |||
obra | Heh. | ||
luqui_ | fun | ||
obra | Last night, Allison sold me on the Artistic 2.0. (Pointed out why most of my concerns weren't actually an issue) | 18:32 | |
18:32
khisanth_ is now known as Khisanth
|
|||
Limbic_Region | geoffb - see perlmonks.org/index.pl?node_id=469482 | 18:32 | |
luqui_ knows nothing of legalness | 18:33 | ||
Limbic_Region | actually, everyone is welcome to try the challenge - sorry about the broken p6 code but it seems I have uncovered several bugs in pugs | ||
obra | luqui_: I'm a bit jealous ;) | ||
luqui_ just barely skimmed over artistic 2.0 | |||
Limbic_Region | does anyone else have a Win32 binary build of Pugs I can download? | ||
luqui - did you get a chance to see my follow up email? | 18:34 | ||
luqui_ | limbic_region, yeah, but I forgot what you asked | ||
and the net is sloooow here so I'd rather not look | |||
Limbic_Region | ok - will regurgitate here if you don't mind | 18:35 | |
while $ref() -> @array { ... } # doesn't currently work in Pugs | |||
you indicated that if $ref() returned a list, it would become an array, and then bound to the block parameter | 18:36 | ||
luqui_ | yeah, we made that decision pretty quickly | ||
Limbic_Region | that's what I want to happen and I will return an empty list so that it knows when I am done | ||
luqui_ | and it's not implemented | ||
Limbic_Region | using undef won't work - must be empty list | ||
geoffb | sorry, l_r, was AFK. reading back ... | ||
luqui_ | but for such a thing, you're probably better off using an iterator | 18:37 | |
Limbic_Region | it is an iterator | ||
the $ref() returns a list until it is done at which point it returns an empty list | |||
anyway - moving on | |||
you said while condition -> ?$x { | |||
luqui_ | oh, but you're not using the perl iterator interface | ||
Limbic_Region | right | 18:38 | |
PerlJam | oh yeah, that reminds me ... Limbic_Region++ for the iterators article | ||
Limbic_Region | p5 -> p6 with as little translation as possible | ||
that last part while condition -> ?$x { confused me for a couple of reasons | |||
#1 shouldn't that be ?@x and not ?$x | |||
second - why use ? (assuming that means it is optional) | |||
luqui_ | I was just outlining our decision about while's topicalization nature | ||
Limbic_Region | ok | 18:39 | |
luqui_ | it had little to do with your question, but your question triggered the decision | ||
Darren_Duncan | fyi, 4291 fails to compile ; problem is in src/Pugs/AST/Internals.hs:538:13 | ||
Limbic_Region | gotcha | ||
so back to my question then | |||
when the bound array is empty - the while loop finishes? | |||
luqui_ | Darren, we're aware of that :-( | ||
Darren_Duncan | okay | ||
luqui_ | well... | 18:40 | |
your undef thing doesn't quite work I think | |||
basically the loop is finished whenever the return evaluates false | |||
Limbic_Region | it shouldn't be undef | ||
undef is a single element resulting in an array of 1 element and hence true | |||
luqui_ | in scalar context | ||
Limbic_Region | that's why I was explicit about returning an empty list | ||
empty meaning 0 elements | 18:41 | ||
luqui_ | yeah, but the single element might not turn itself into an array ref in scalar context | ||
Limbic_Region | grrrr | ||
if in my iterator I have a line like | |||
luqui_ is asking | |||
Limbic_Region | return () if $finished; | ||
I would expect that to know I want a list of 0 elements | 18:42 | ||
nothingmuch_ | "...that works?..." | 18:43 | |
=D | |||
Limbic_Region | which is different IMO from return undef if $finished or return if $finished; | ||
PerlJam | Limbic_Region: return [] if $finished; doesn't do it for you? | ||
(what with the transparent reference semantics and all) | |||
Limbic_Region | PerlJam - I would think that would be non-intutive | 18:44 | |
geoffb is increasingly hating transparent (de/en)referencing | |||
Limbic_Region | you are returning an explicit list everywhere else but when you mean empty list you change to array ref | ||
that's less dwimery | |||
PerlJam | "explicit list"? | 18:45 | |
Limbic_Region | return (1, 2, 3); | ||
PerlJam | parens aren't list constructors. | ||
Limbic_Region | right | ||
geoffb | Plus, I can easily see people following the rule elsewhere and saying "that's a list containing one element, an empty arrayref" | ||
luqui_ | Limbic_Region, we think this will do the trick | ||
return (,) if $finished | |||
PerlJam | Limbic_Region: yeah, I see your point though. | ||
luqui_ | (not sure that , needs to be there) | ||
anyway | |||
Limbic_Region hugs luqui_ and the rest of the hackathoners | |||
luqui_ | if you want to return a single element list that turns into an arrayref in scalar context, it's like this: | 18:46 | |
return (1,) | |||
so return (0,) will evaluate true according to while | |||
PerlJam | why am I suddenly reminded of python? | ||
luqui_ | larry was too ;-) | ||
PerlJam | (because that's one of the pythonisms that bugs me the most! that's why) | ||
luqui_ | well, we've got to get through this issue somehow | 18:47 | |
Limbic_Region | the return (); would be best but return (,) is acceptable | ||
PerlJam | right. | ||
luqui_ | return () might work | ||
but return (1) does not | |||
PerlJam | I don't have any good answers | ||
geoffb | Fair enough . . . my requirement is basically that I have a single simple rule that will allow me to disambiguate () and {}, because otherwise I can't even imagine the bughunts trying to figure out what I really should be getting | ||
Limbic_Region | ok - so now about all the other bugs I found with my latest challenge | ||
PerlJam | return () is syntactically clear if you ask me. | ||
Limbic_Region | does anyone have a Win32 binary build of pugs available for download? | 18:48 | |
PerlJam | luqui_: surely [1] works as (1,) ? | ||
Limbic_Region would like to write tests for the things identified so far before he forgets them | |||
geoffb | Personally, while I really love most of Perl 6 so far . . . methinks Perl 5 did Just Fine (tm) with the semantics of return | ||
luqui_ | perljam, [1] is a listref even in list context | ||
we want a flat list | |||
basically, we want an X such that: | 18:49 | ||
$x = X # listref | |||
@x = X # no listref | |||
18:49
luqui_ is now known as luqui
|
|||
Limbic_Region believes luqui's time is better spent with the other people in the hackathon then answering his silly questions | 18:50 | ||
PerlJam | luqui: are you saying that if X were [1] that @x[0] would be [1] rather than 1 ? | ||
luqui | right | ||
Limbic_Region | now that I have a warm fuzzy that something sane will be done - I will stop whining | ||
luqui | :-) | 18:51 | |
luqui & | |||
PerlJam | I wonder what a hackathon sounds like. | ||
Limbic_Region | no one has a Win32 binary build available huh? | ||
geoffb | loud, I would think | ||
luqui | oh, jonathan was making those for a while | 18:52 | |
PerlJam | geoffb: it's either loud or silent but always with keyboards clicking away :) | ||
luqui | I don't know much about it though | ||
luqui fg | |||
luqui & | |||
Limbic_Region | jonathan's build is broke ATM and hence the problem | ||
autrijus | Limbic_Region: I can build one for you but it'd take a very long while to upload it from the cell phone connection here | 18:56 | |
Limbic_Region | heh | 18:57 | |
Limbic_Region hugs autrijus too for being willing to go the extra mile | |||
I have written down the bugs well enough to hopefully be able to write tests later tonight | |||
luqui | hey autrijus, I can get parrot talking to pug | 18:59 | |
pugs | |||
but I'm not sure how to get pugs's output into parrot | |||
PerlJam | what does a parrot say to a pug? | ||
luqui | eval? | ||
autrijus | luqui: I'm converging to minimize our location delta | 19:01 | |
Darren_Duncan | eval? 1+1 | 19:05 | |
?eval 1+1 | |||
Limbic_Region | the evalbot's not on the channel ATM Darren_Duncan | 19:08 | |
svnbot6 | r4922, autrijus++ | * clean up theorbtwo's vCast patch. I expect most tests | ||
r4922, autrijus++ | to still break... :) | |||
Limbic_Region | but I guess you figured that out already | ||
PerlJam | Is it too transitioning to the hackathon? | 19:09 | |
Darren_Duncan | yes, it hasn't been for several days now | 19:14 | |
r4922 compiles successfully for me | 19:31 | ||
arcady | pugs' ~~ doesn't do some of the things that it's supposed to | 21:01 | |
42 ~~ 40..45 returns false, where S04 says it should be true | |||
since matching a number against a range tells if the number is in the range | 21:02 | ||
theorbtwo | arcady: Find a test, or write one? | 21:03 | |
arcady | aha, there are in fact tests | 21:04 | |
I think what I really need to do is learn Haskell and fix all these things | 21:06 | ||
if only I had the time for that... | |||
autrijus | using a pair variable to bind into named params finally works | 21:18 | |
Limbic_Region | autrijus++ | 21:19 | |
svnbot6 | r4923, autrijus++ | * After extensive discussion with lwall, the named binding semantics | ||
r4923, autrijus++ | is now implemented as an inferencing phase before binding: | |||
r4923, autrijus++ | sub foo ($x) { ... } | |||
r4923, autrijus++ | sub bar { (x => 3) } | |||
r4923, autrijus++ | sub baz returns Pair () { (x => 3) } | |||
r4923, autrijus++ | foo(bar()); # This assigns (x=>3) to $x | |||
r4923, autrijus++ | foo(baz()); # This assigns 3 to $x | |||
r4923, autrijus++ | foo(*baz()); # This assigns (x=>3) to $x | |||
r4923, autrijus++ | foo($y); # This assigns 3 to $x, too | |||
Limbic_Region | how is the timezone difference treating you autrijus? | ||
autrijus | i'm doing fine :) | 21:20 | |
Limbic_Region | i'm currently building Pugs (at home) to write tests for the bugs geoffb helped me find earlier | ||
how relavent is the patch theorbtwo applied | 21:21 | ||
WRT bugs not really being bugs? | |||
autrijus | theoretically theorbtwo's patch only makes all castfails trappable. | 21:23 | |
practically though... it breaks almost everything. I'm still sorting thru it | |||
geoffb | autrijus, let us know when the coast is clear to do another pull/build and be able to assume life will be good | 21:24 | |
er, please | |||
pmichaud | how goes the hackathon? | ||
Limbic_Region | well - I know these bugs were b0rk prior to the patch so I will post em anyway | ||
theorbtwo | .oO(I tried to warn him...) |
21:29 | |
Limbic_Region | ughh - /me checks revision history to see what rev # was theorbtwo's patch | 21:32 | |
autrijus | sure | ||
pmichaud: very well! got lots of corner cases specced and/or clarified | |||
pmichaud | excellent. I'm looking forward to arriving tomorrow. Anything the group wants me to work on between now and then? | ||
Limbic_Region | how do I (using svk) go back to an older revision? | 21:33 | |
4919 for instance | |||
autrijus | pmichaud: invokecc for PGE closures? :) | 21:34 | |
pmichaud | oh yeah, I can probably have that done at some point in the hackathon, np | ||
I'm curious to know more about parrot namespaces and how we expect perl 6 objects (esp. subroutines) to appear in those namespaces | 21:35 | ||
also, anything we have on the ast representation | 21:36 | ||
autrijus | I can braindump to you tomorrow :) | 21:38 | |
as you can already compile Test.pm and other stuff to PIR | |||
eg. Test::ok is just &ok in the Test namespace | 21:39 | ||
Limbic_Region kicks svk for not listening to him | |||
autrijus | also luqui is looking on getting compreg working even for external parrot (by shelling out to pugs) | ||
so in any case you should be able just to ask compreg to produce something for you that you can call. | |||
I'll take care of compiling the closure in the Rule into a Closure object pmc. | |||
(it's already done, actually) | 21:40 | ||
pmichaud | np | ||
autrijus | as for AST, the PIL nodes should be a decent start; we can work out how to map them into p6 space | ||
luqui and I sort of think to represent them adequately we'd need parameterised classes, aka generics | 21:41 | ||
pmichaud | yeah, that's the piece I'm wondering about next | ||
so being able to go through that over the weekend will be really helpful | |||
autrijus | sure... I look forward to it. when do you arrive tomorrow? | ||
pmichaud | I should make it to the hackathon around 3pm, depending on airline delays and traffic | 21:42 | |
Juerd | has anyone experienced downtime of feather, or was it my home connection? | ||
pmichaud | my flight arrives toronto 1pm | ||
Limbic_Region finds it very hard to believe that you can't checkout a specific revision with svk | 22:00 | ||
svnbot6 | r4924, autrijus++ | * If the parameter is expecting a Pair... don't namify it. | ||
autrijus | yow. | 22:03 | |
7532 test cases: 6916 ok, 616 failed, 942 todo, 432 skipped and 4 unexpectedly succeeded | |||
Limbic_Region: huh? svk up -r | |||
svk co -r | |||
geoffb | That test summary looks close to normalcy -- only a few percent still failing | 22:05 | |
svnbot6 | r4925, autrijus++ | * test cleanups; add makefile.pl so smoke tests run | ||
Limbic_Region | autrijus - it doesn't work | 22:09 | |
Invalid filesystem revision number: No such revision 4919 | |||
mugwump | svn switch -r | 22:10 | |
(another way for svn) | |||
Limbic_Region | they all say the same damn thing | ||
Invalid filesystem revision number: No such revision 4919 | |||
mugwump | are you connecting from the right space/time zone? | 22:12 | |
autrijus | weird... ^W^Wsvk takes local rev numbers | ||
not remote ones | |||
so you can't do -r 4919 when 4919 is the pugs svn rev | |||
Limbic_Region | I even tried wiping out the entire pugs distribution, svk, and starting out fresh with an initial checkout of 4919 - it just looked at me funny and kept doing the same crappy things | 22:13 | |
autrijus | you need to translate it to your local number using svk log or something | ||
Limbic_Region tries something | 22:14 | ||
this is just plain stupid | 22:16 | ||
22:17
knewt__ is now known as knewt_
|
|||
geoffb | It should be easy to specify a revision relative to the repo being mirrored -- if not, there's a good complaint for clkao | 22:20 | |
Limbic_Region | I am firmly under the belief that I am just too stupid to run a computer | 22:24 | |
I have tried it relative to local revisions | |||
I have tried starting out fresh checking out a specific versions | |||
I have tried everything I can think of | |||
it refuses to do anything other than give me the latest | |||
geoffb blinks | 22:30 | ||
Limbic_Region, did you nuke the offending depot in between all these efforts? | |||
(here I'm assuming pugs is the only thing you're mirroring in that depot . . . ) | |||
Limbic_Region | geoffb - yes, in fact I uninstalled everything and rmdir /s /q anything that remained | 22:31 | |
geoffb | wowsers | 22:33 | |
Limbic_Region | and so I tried to download svn 1.2.0 and it seems all those links are broken | ||
Limbic_Region thinks the universe really doesn't want him to be playing with Pugs tonight | |||
Limbic_Region opts for svn 1.1.4 and hopes for the best | 22:34 | ||
you have got to be kidding me | |||
now I am getting a "Program too big to fit into memory" error | 22:35 | ||
geoffb | OK, not to disparage your system or anything, but that's fubar. | ||
Hmmm . . . maybe SVK reacts badly to OOM issues? | 22:36 | ||
Limbic_Region | that doesn't make any sense | ||
it works fine unless I ask for something other than the most recent directory | 22:37 | ||
s/directory/revision/ | |||
geoffb | and "Program too big to fit into memory" does?!? | ||
Limbic_Region | no - that's svn not svk | ||
Limbic_Region gives up for tonight | |||
it isn't meant to be | |||
Juerd | Too many things are not meant to be | 22:38 | |
geoffb | Limbic_Region appears to be playing "boss who blows up everything vaguely technical when he walks in the door" today | ||
Juerd | Those things take us to be | ||
Perl 6 is one of those things | |||
Getting living beings in and out of space was too | |||
mugwump | dang, I'm getting that field `_crypt_struct' has incomplete type error building Pugs.Embed.Perl5 now | 22:39 | |
Juerd | I find the parrot binary rather large. Is there a reason it has to be so big? | 22:41 | |
mugwump | stripped it? | ||
Juerd | Oh, it's not stripped by make? | 22:42 | |
That explains it :) | |||
Thanks, this helps much | |||
mugwump | Mine's 2Meg after stripping | ||
Juerd | That saves a lot of memory during runtime | ||
And a second execution time! | 22:44 | ||
Imagine what that does to testing. | |||
mugwump | you don't embed? :) | 22:45 | |
Juerd | Hm? | ||
svnbot6 | r4926, luqui++ | Added pugsSlurp. | 23:04 | |
autrijus | luqen.wikipedia.org/wiki/Afshar_experiment | 23:10 | |
svnbot6 | r4927, autrijus++ | * unTODO succeeding tests. | ||
Juerd | Is there a test for %hash = { ... } yet? | 23:17 | |
svnbot6 | r4928, autrijus++ | * after consulting with lwall and luqui, in light of the new | ||
r4928, autrijus++ | semantic of bare blocks always taking a (?$_=$OUTER::_) as | |||
r4928, autrijus++ | parameter, the "Parametric" type is now obsolete. Also gone | |||
r4928, autrijus++ | with it is the "Bare" type -- all blocks are just Block now. | |||
Juerd | It works (at least worked earlier today), but shouldn't work. | ||
Well, it should work, but using the hashref as the first key, not as the entire new hash. | |||
autrijus | right. that was one of the deref issues following 0-level | 23:24 | |
I'll fix... actually the entire deref semantics is now changed | |||
I'm also trying (not very successfully) to release a version today before really ripping everything out | |||
Darren_Duncan | that is a good time to do it | 23:32 | |
keeps a more permanent record of a lot of older work that would seem to get destroyed | 23:33 | ||
revdiablo | heh, "older" | 23:34 | |
the ancient code that's 2 weeks old | |||
geoffb | Um, isn't that what version control is for, Darren_Duncan? | ||
Darren_Duncan | I said MORE permanent | ||
geoffb | (well, one of the uses, anyway) | ||
heh | |||
fair 'nuf | |||
Darren_Duncan | all the versions in cvs aren't on CPAN | ||
I mean svn | |||
revdiablo | and not only record but recognition | ||
Darren_Duncan | for those that only see CPAN, the releases contain all the visible work | 23:35 | |
geoffb | sigh | ||
revdiablo | people are sensitive butterflies | ||
coral | flap, flap | 23:44 | |
svnbot6 | r4929, autrijus++ | * first cut of transliterating &pugs_eval into Emit.PIR | ||
theorbtwo | Change going in for better error messages on castfails. There's probably a better way to do it, but this way works...) | 23:49 |