Pugs 6.2.8 released! | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6 | www.geeksunite.net Set by autrijus on 13 July 2005. |
|||
cm | camels | 00:38 | |
coral | moo | ||
svnbot6 | r5926 | Stevan++ | Perl6::MetaModel - (p5) | 02:13 | |
r5926 | Stevan++ | * removing more of the Perl 5 sugar | |||
r5926 | Stevan++ | - removed MetaClass::AUTOLOAD in favor of ::dispatch | |||
r5926 | Stevan++ | - converting tests to de-sugared versions | |||
putter | ping: autrijus | 04:15 | |
err, | 04:16 | ||
autrijus: ping | |||
oo... | |||
svnbot6 | r5927 | putter++ | Exposed PGE's :w :words. Now 'a b' ~~ rx:words/a b/. Fyi, PGE on parrot head has been updated with fixes backported from the leo-ctx5 branch. | 05:04 | |
r5928 | autrijus++ | * remove dead code juncTypeIs from Junc.hs. | 06:29 | ||
Darren_Duncan | hija | 07:24 | |
s/j/y/ | |||
Aankhen`` | Hi Darren_Duncan | 07:25 | |
. | |||
Darren_Duncan | so this is the first #perl6 message typed on the iBook I'm borrowing for OSCON ... I leave tomorrow | ||
just testing that everything I'm used to works | |||
Aankhen`` | Cool. :-) | 07:26 | |
You're giving a talk at OSCON, right? | |||
Darren_Duncan | here's a quick question you may know ... how do you best label a laptop, so if there is confusion in a group its easy to tell its mine ... | ||
Aankhen`` | Dunno, never been in that situation... | 07:27 | |
Darren_Duncan | eg, can you write on it with felt tip marker .. | ||
or better to use masking tape ... | |||
etc | |||
in answer to your question, I was approved to give a Lightning Talk | |||
on thursday | |||
Aankhen`` | Is that different from a normal talk? | ||
Darren_Duncan | yes ... hard 5 minute time limit | ||
Aankhen`` | Ahh. | 07:28 | |
Well, best of luck! | |||
Darren_Duncan | tradition goes that if you go over that by 2 seconds, you get booed | ||
so I've heard | |||
nothingmuch needs a multi dimentional outlining tool | 07:55 | ||
that is, create a hierarchal outline | |||
then create a new dimentoin | |||
and reorganize existing objects in the new dimention | |||
svnbot6 | r5929 | autrijus++ | * Unique id distribution for PIL containers, thanks to | 08:52 | |
r5929 | autrijus++ | linear implicit parameters. | |||
r5930 | iblech++ | examples/network/svnbot.p6 -- Keep svnbot from displaying R-status lines (AUM, | 11:39 | ||
r5930 | iblech++ | etc. were all already hidden, but I missed R). | |||
xinming | by the way, In perl 5, the constructor name of a "class" is user-defined. I wonder if perl 6 is also following this rule? | 12:23 | |
iblech | If you want to, you can give your constructor(s) every name you want, but by default Perl 6 gives you a standard .new. | 12:25 | |
QtPlatypus | The default constructor's name is new, and its rather DWIMish. But there is nothing to stop you making your own constructor. | ||
xinming | What does DWIMish mean please? | 12:26 | |
iblech | Do What I Mean | ||
I.e. you won't have to change/override it most of the time | |||
xinming | hmm.. ok, in perl 5, we may use qq{sub get_obj{ my $obj = bless{},${(shift)} } } | 12:28 | |
Do you mean if we use perl 6, we have to call default new method in our constructor? | 12:29 | ||
iblech | You can do that, or alternatively call bless on your own | ||
xinming | iblech: hmm, I wonder if word new is a key word for perl 6. :-) | 12:30 | |
iblech | No, it's only a normal class method, inherited from Class or so | 12:31 | |
xinming | by the way, anyone here can tell me which is more "correct" or "recent" for perl 6 grammer specification ? Exegesis or Apocalypses | 13:09 | |
iblech | The Synopsis are most uptodate | 13:10 | |
xinming | iblech: thanks. | 13:11 | |
what are the differences between moulde package? | 13:29 | ||
class is definite clear. But I was confused by these two names. :-S | 13:30 | ||
QtPlatypus | Are you asking the diffrence between a package and a module? | 13:32 | |
xinming | hmm... for keyword. :-) | 13:33 | |
between module and package. what are the differences. I just read the Synopsis | 13:34 | ||
svnbot6 | r5931 | iblech++ | * Usual svn props. | 13:36 | |
r5931 | iblech++ | * Test fixes: | |||
r5931 | iblech++ | * var/state.t -- Implicit deref is no more. | |||
r5931 | iblech++ | * builtins/caller.t, operators/smartmatch.t -- &foo is sufficient, no need for \&foo. | |||
r5931 | iblech++ | * operators/quoting.t -- Many unEVALs. | |||
r5931 | iblech++ | * operators/adverbial_modifiers.t -- Refs don't stringify. | |||
r5932 | iblech++ | * PIL2JS: | 13:43 | ||
r5932 | iblech++ | * (Hopefully) correct reference handling: | |||
r5932 | iblech++ | Distiction between autodereffing refs and non-autodereffing refs -- | |||
r5932 | iblech++ | [1,2,3] should autoderef, but \3 should not, see | |||
r5932 | iblech++ | www.nntp.perl.org/group/perl.perl6....age/22532. | |||
r5932 | iblech++ | * &tied: [1,2,3] autoderefs, but tied([1,2,3]) does not. | |||
r5932 | iblech++ | * Ported &prefix:<~> to native JS (massive speedup: 0.2s instead of 1.7s for | |||
r5932 | iblech++ | a simple say ~(1,2,3); 23min instead of 31min for smoke). | |||
r5932 | iblech++ | * Fixed the stringification of Bools. | |||
r5932 | iblech++ | * Added stub &eval, so tests which use eval are at least not doomed to fail. | |||
iblech | putter: pong | 13:49 | |
autrijus: How will we handle "{ my $x; sub foo { $x++ } }; foo()", i.e. catching of lexicals, in PIL2? | 13:50 | ||
gaal: I've just changed perl6/Prelude.pm, then run "make", but Run.hs was not rebuilt -- in fact, ghc wasn't even executed. Known? | 14:25 | ||
gaal | iblech, we can add a dependency on Prelude.pm in the makefile, and a dummy target | 14:37 | |
but i'm not sure that's 100% correct either, because when the user isn't precompiling, the prelude isn't a dep. | 14:38 | ||
then again, that's a rare case i suppose. fixing. | |||
iblech | :) Thanks | ||
gaal++ | |||
autrijus | heya iblech | 14:52 | |
iblech: I have a question for you too | |||
in our formulation, the & sigil is merely a restrained $ | |||
that makes | |||
&{$x} | |||
effectively an no-op. | |||
&{$x} = $x; # no-op too! | 14:53 | ||
iblech | Hi :) | ||
Hm, yes. | |||
autrijus | this is because Code is not a container | ||
so it loses its special deref status. | |||
now I'm thinking that we lose both *{} and &{}. | |||
lose, as in rid of | |||
we can say that &{$x} produces a nonassignable rvalue etc, but I'm not sure if it helps. | 14:54 | ||
so, do you think the & sigil should be rendered nonspecial, or we go back and declare Code a separate container interface? | 14:55 | ||
iblech | Makes sense. Especially as you can write $x() instead of &{$x} if you want to call $x, to the special &{...} magic is unneeded, I think. | ||
I'd take option #1 | |||
autrijus | me too. | ||
iblech | Great :) | ||
autrijus | esp. seeing & has _nothing_ to do with containing, that is storing, stuff. | 14:56 | |
(unless you think that it is a hash keyed by parameters) | |||
(and contains return values) | |||
iblech | I absolutely agree. | ||
integral | hmm, what about @{} and %{}? | ||
autrijus | integral: those are casts between Ref of Array|Hash and Array|Hash | 14:57 | |
integral | hmm, isn't that what &{} is? | ||
oh, there's no Ref of Code, it's just Code? | |||
autrijus | yup. | ||
exactly. | |||
they can't be distinguished | 14:58 | ||
is what I'm talking about. | |||
so why bother creating a first class container? it's the same logic used to eliminate the IO container type. | |||
that is TIEHANDLE and *{} | |||
integral | so it's really a move to being object-oriented? | ||
autrijus | yes. think java, which has objects, scalar that stores an object, and aggregates that store objects | 14:59 | |
perl6 just introduces two distinct aggregate interfaces | |||
that's all. | |||
integral | make sense now | ||
autrijus | ok, scrollign back to iblech's question... | 15:01 | |
iblech: the idea is that every time there is a PVar, there could be a PPad that declares that PVar | 15:03 | ||
i.e. | |||
$x = 1 # PAssign [(PVar "$x")] (PLit (PVal VInt 1))))) | 15:04 | ||
my $x = 1 # PAssign [(PPad SMy (PVar "$x"))] (PLit (PVal VInt 1))))) | |||
a PPad always ranges over to everything after its evaluation order | 15:05 | ||
within the current PIL [Stmt] body. | |||
end of story | 15:06 | ||
iblech | Ok, but: | ||
my $x = 1; sub foo { $x++ } | |||
autrijus | that means the compiler that generates PIL will rewrite statements silently so lexical order is preserved. | ||
iblech | The &foo is stored in pilGlob | ||
And doesn't see anything of $x | 15:07 | ||
autrijus | that will go away; that line will be compiled to | ||
our &foo = sub { $x++ } | |||
pilGlob will just be the link set | |||
i.e. compile-time visible symbols | |||
iblech | ah, ok, that will work :) | ||
autrijus | cool. :) | ||
autrijus ponders the implication of assignable &foo | 15:08 | ||
hm, another p6l post may be in order. | 15:09 | ||
QtPlatypus | our &foo := sub { $x++}; # makes sence. | 15:13 | |
autrijus | QtPlatypus: we're talking about murdering the distinction between $ and &. | 15:14 | |
i.e. my &foo is nothing but "my Code $foo" | |||
so you can assign into it. | |||
QtPlatypus | Like in python and scheme? | 15:15 | |
autrijus | well, like in anywhere really | ||
QtPlatypus | Correct me if I'm wrong but &foo is the ref to the function foo(). So if you assigned to &foo, it would result in foo becoming the funtion that was assighed to it? | 15:18 | |
autrijus | just replace, in your mind, &foo with $foo | 15:19 | |
and foo(123) with $foo(123) | |||
iblech | autrijus: my ($a, $b) = (3,4) # Will that stay my ($a, $b); &infix:<,>($a, $b) = (3, 4) in PIL2? | 15:20 | |
autrijus | no, it will become | ||
(my($a), my($b)) = (3,4) | 15:21 | ||
if that's okay with you. | |||
currently neither Exp nor PIL deals with inline pad decls | |||
that is one of the things that needs to be fixed soonish | |||
iblech | Fine WRT to the mys, but will &infix:<,> be used to assign? Or will that be splitted into my $a = 3; my $b = 4? | 15:22 | |
(Question is whether I have to mark &infix:<,> is rw.) | 15:23 | ||
(And override the .STORE of &infix:<,>'s return value accordingly.) | |||
autrijus | in general I can't split that, as you know | 15:25 | |
my ($a, $b) = reverse(3,4); | |||
iblech | Oh, right. | ||
autrijus | in current pugs I used an throwaway tied Array. | ||
i.e. VList is an instance of IArray | 15:26 | ||
and if you assign to it then it behaves as expected. | |||
really we should have a bounded array, or tuple, interface | |||
but failing that, I think the current treatment is okay | |||
infix<,> is definitly rw. | 15:27 | ||
iblech | Yep, ok, will do that then. | ||
autrijus | anything that happens at lv position is rw. | ||
iblech | Right. | ||
Next question :) | |||
my ($foo, *@rest) := foo() | |||
We don't even parse this currently | 15:28 | ||
But what'll be the PIL for that? | |||
And even things like | 15:29 | ||
my (+$foo, ?$bar) := foo() | |||
should eventually work, i.e. you can specify a sub-like signature as LHS | 15:30 | ||
svnbot6 | r5933 | gaal++ | depend on Prelude.pm in building pugs. thanks iblech++ for pointing this out. | 15:33 | |
autrijus | yes. | ||
theoretically we should unify binding and function application | 15:34 | ||
i.e. they should use the same form. | |||
we can do this by considering a := as an inline function | 15:35 | ||
that preserves its lhs symbols with their original scope | |||
and with an empty body | |||
conversely, we can consider | 15:36 | ||
sub ($x) { $x + 1 } | |||
as having a PBind form as its parameter list, with the rhs being something magical. | |||
both are isomorphic, so it's a question of reduction | 15:37 | ||
in which case having Bind as a primitive form wins over special treatment of empty inline subs | |||
this will also enable us to do strange things like | 15:38 | ||
my ($b, $a) := { return(a => 1, b => 2) }.(); | |||
sub foo () returns (Int $a, Int ?$b, Int +$c) {} | 15:39 | ||
as both the function application and function return form would be bindings. | |||
you think that's sane? | |||
iblech | Ah! Yes, definitely! | 15:40 | |
autrijus | good, let's go with that then. I'll let PBind dominate over both functions and normal bindings :) | ||
_another_ p6c post will be in order then | |||
iblech | :) | 15:41 | |
autrijus | ;) | ||
(the &{} one is on p6l now) | |||
this language really is strange. | |||
so, I'll go back to TaPL a bit and write journals if there's no further questions for now :) | 15:46 | ||
iblech | Go ahead :) | ||
And thanks :) | |||
autrijus | np. thank _you_ :) | ||
gaal | any thoughts on www.nntp.perl.org/group/perl.perl6....uage/22543 ? | 15:51 | |
putter | gaal: so... use is like a temp declaration, which can be withdrawn by no, exposing that which was overshaddowed? | 15:56 | |
iblech | putter: pong | ||
gaal | not really, that is i don't think you can really rollback the state of your program to what it was before you used a module | 15:57 | |
but in p5, "use" calls a hook | |||
&import in your module | |||
and "no" calls "&unimport" | 15:58 | ||
if they are defined | |||
putter | ok, that's wierd. irc line triggers mass of nuronal firings, doing a search tree, which half a second before there was so no anticipation might be kicked off. | ||
gaal | it's nothing fancy in p5 | 15:59 | |
i don't think p6 needs something much fancier | 16:00 | ||
but the lowercase names are probably going to change | |||
svnbot6 | r5934 | iblech++ | * EOLs at EOFs. | ||
r5934 | iblech++ | * More test fixes: | |||
r5934 | iblech++ | * syntax/single_quoted_strings.t -- unEVAL and added plan. | |||
r5934 | iblech++ | * var/my.t -- Removed $::(...) tests; "my $x; $::('x')" does *not* work, see | |||
r5934 | iblech++ | explanation in t/var/symbolic_deref.t. | |||
r5934 | iblech++ | * t/var/autoderef.t -- Added tests for &tied and that the retval of tied($ref) | |||
r5934 | iblech++ | should *not* autoderef. | |||
r5934 | iblech++ | * t/data_types/subscripts_and_context.t -- Added more tests. | |||
r5934 | iblech++ | * t/operators/inc.t -- &postfix:<++> should evaluate the expr it's ++ing only once. | |||
putter | iblech: I fuzzily think the ping was to ask for a hand with a Parser.hs puzzle - getting rz:foo/bar/ working. But I think for now I'm going to leave the haskell parsing in place, and just insert a p6 function between that and the creation of a rx PIL. So I think I'm all set... My thanks. :) | ||
iblech | putter: :) | 16:01 | |
putter | autrijus: ping? | 16:02 | |
gaal: ah. so the semantics are clear, its just a matter of what names to use...? (still isnt clear to me from note... ;) (if there is more to it, note adverbs are one option for passing extra info...) | 16:05 | ||
putter thought $::('x') was ok... going to read t/var/symbolic_deref.t... | |||
iblech | putter: $::("x") will only find our $x, not my $x | 16:06 | |
You've to use $::("MY::x") to get to my $x | 16:07 | ||
See symbolic_deref.t:50 | |||
putter | ah. does my $x end up in %:: ? or just in %MY:: ? | ||
iblech | Only %MY::, I think. | 16:08 | |
svnbot6 | r5935 | iblech++ | * PIL2JS: | ||
r5935 | iblech++ | * PIL2JS.js: $foo.isa("Any") is now true. | |||
r5935 | iblech++ | * PIL2JS.js: undef.ref does not longer die. | |||
r5935 | iblech++ | * Prelude::JS::Bool: Fixed booleanification of refs. | |||
r5935 | iblech++ | * Prelude::JS::Operators: Made $foo.abs, $foo.int, etc. work. | |||
r5935 | iblech++ | * We're at 54.14% test passes last time I checked (+10% compared with yesterday) :) | |||
r5935 | iblech++ | * Missed some more EOLs at EOFs in r5934, fixed. | |||
putter | hmm. at times like this I'm tempted to write a small language reference doc just so I can keep it all straight. | 16:09 | |
iblech | docs/quickref/ :) | ||
putter | yeah. :) I was just thinking, but wait, I _did_. docs/quickref/namespace. but I never described its interaction with my/our/temp/etc. I'm not even sure there is an "etc"... rev2... | 16:11 | |
iblech | There's state and let | 16:12 | |
my $x = 20; { let $x = 3; 0 }; # $x restored to 20 | |||
my $x = 20; { let $x = 3; 1 }; # $x stays 3 | |||
putter | ah, yes. key in regexps. | 16:13 | |
iblech | sub foo { state $x; say ++$x }; foo(); foo(); foo(); # 1,2,3 | ||
putter | it was never entirely clear to me what state's claim to fame is. (other than getting storage in objects working for the first time.) hmm, maybe I'll try a pithy one line on each... "declaration flavor"?... describing its behavior and most important uses. | 16:15 | |
iblech | sub foo { state $initialized; unless $initialized { ...; $initialized++ }; ... } | 16:17 | |
(but FWIW, this is better written as sub foo { FIRST {...} }) | |||
putter | iblech: btw, I've now used the PIL / JS backend combo a couple of times as an example of what can happen when you have insightful design and notably good people. most impressive. just thought I'd mention it. | 16:18 | |
iblech | :) | ||
putter | re state/FIRST, ah, ok. | ||
svnbot6 | r5936 | putter++ | It's still largely unfilled it, but now there's a my/our/temp/etc vs symbol tables affected table in docs/quickref/namespace. | 16:34 | |
r5937 | putter++ | A few more empty rows in the new docs/quickref/namespace table. | |||
iblech | putter++ # will certainly be helpful | ||
putter | :) | 16:37 | |
iblech | putter: state will create a new lexical var, exactly like my. | 16:38 | |
temp and let only work with already declared vars, I think. | |||
putter | k | 16:40 | |
svnbot6 | r5938 | putter++ | Added empty my/our/temp/let/state vs meaning-and-common-use table in docs/quickref/namespace table. Attention lurkers... here is a chance to read a clear section of the docs, learn an important bit of perl, and contribute... :) | ||
xinming | what is the differences between the "package" which is defined using keyword "module" and "package" please? :-S | ||
putter | see docs/quickref/namespace ... there's a nice table :) :) | 16:41 | |
more helpfully... modules add export/import, version to package's namespace, traits, autoload | 16:43 | ||
xinming | putter: so, this means that their differences are, package defined by keyword "package" may only be used for specified program. and module is used for upload to CPAN. Or act as lib, right? | 16:44 | |
putter | a good question. a module isa package. but a module can be declared with version info (eg, Net::IRC-0.05) where a package would be just Net::IRC . My quite fuzzy understanding is you can still "use Foo;" to get Foo.pm with a package Foo;, but you dont get the versioning magic, and I suspect you wont "is export" stuff wont work. But I'm really not quite sure. | 16:50 | |
in general, perl5 ways of doing things will continue to work, and p6 introduces new nice ways of doing things which are otherwise painful in p5. | 16:52 | ||
so you can probably continue to use "package" on CPAN... but you likely wont want to... :) | |||
xinming | putter: in fact, After I read synopses, I got this question. Class is sure to be different from package. as people don't wish to mix sub routine{ } with sub method{ } | 16:53 | |
But there is already a key word package. So I think module might be the thing as I guessed. :-) | 16:54 | ||
putter | err, class isa package. a class-flavored package can have both methods and subs ("sub foo(){} method bar(){}"). a simple just-a-package package can have subs. | 17:11 | |
I don't _think_ Test.pm is doing something really weird... but I have a " {} " in a _comment_ causing a parsefail... ?!?! | 17:12 | ||
gaal | what's the code? | 17:13 | |
iblech | putter: "{ your code here }" | ||
"{...}" interpolates | |||
oh | 17:14 | ||
in a comment, not a string | |||
ignore me please :) | |||
gaal | ?eval say "moose" # works {} | ||
evalbot6 | moose bool::true | 17:15 | |
putter | iblech: distilling now... | ||
iblech | putter: Do you use <> to access a hash somewhere? Pugs once had a parsing bug that caused $a < 3 to be parsed as $a<3[error: no closing >] | ||
putter | oh, booorrrinng. It's just an odd variant on \} in rules causing Parser problems. semi-minimal case is: | 17:18 | |
rule block { \{ \} } | |||
#ok('sub () {}' ~~ /^<anonsub>$/,"Anon subs parsing"); | |||
this, and the full file version with lots of tests, works fine without the comment (I assume Parser backtracks and finds something reasonable), but with the comment, parsefail. workaround is to use <'}'> rather than \} in rules. | 17:19 | ||
iblech: thank you. minimal case: | 17:23 | ||
rule foo { \{ } #}' | |||
about to become pugsbug/ | 17:24 | ||
iblech | Great :) | 17:25 | |
putter++ | |||
iblech got my ($a, undef, $b) = (...) and returning 0 or 1-elem arrays in PIL2JS working :) | 17:27 | ||
food & | |||
putter | & | ||
autrijus | iblech: ping | 17:31 | |
oh well, I'll post to p6c. | 17:32 | ||
putter: pong... if not too late | |||
gaal | i see src/Pugs/CodeGen/PIR.hs uses EvalResultModule in its eval style | ||
that doesn't mean anything yet | |||
but i think it's might be a good place to put in "run init hooks please"? | 17:33 | ||
autrijus | nod. | ||
gaal | oh, maybe not: | ||
because there's also the distinction of "honor 'is export'" | 17:34 | ||
between require/use | |||
ResultModule was originally intended to mean "return a Module object" | |||
bah! | |||
this confuses me :( | 17:35 | ||
autrijus | sub f ($x) { my $x }; | 17:38 | |
error? noop? new decl? | |||
putter | late? oh, "&" is ambiguous. waving goodbye to someone else, vs for oneself.... perhaps we should use .& and ./& ? ;) | ||
autrijus | lol | ||
gaal | autrijus, looks like a new decl to me.. surely sub f ($x) { { my $x } } is no error | 17:39 | |
autrijus | but! | ||
{ my $x; my $x } | |||
is error or noop but never new decl | |||
I'm thinking about hoisting _all_ lexical decls to the top of body along with params | |||
gaal | in p5 it's just a warning | 17:40 | |
and a new decl i think. | |||
s/just // | 17:41 | ||
autrijus | nod. but my point is that | ||
sub f ($x) { ... } | |||
corresponds to p5 | |||
sub f { $x = shift ... } | |||
instead of the p5 | |||
sub f { $x = shift; { ... } } | |||
gaal | i agree | ||
autrijus | at least in my mind | ||
ingy | hi autrijus | ||
autrijus | heya. | ||
gaal | but i still think it should be a warning, not an error, for the same reasons :) | ||
autrijus | a warning + noop | 17:44 | |
or a warning + newdecl. | |||
gaal | in p5, it's a new decl: | 17:47 | |
perl -lwe 'my $x = 5; print \$x; my $x = 8; print \$x; print \$x' | |||
"my" variable $x masks earlier declaration in same scope at -e line 1. | |||
SCALAR(0x804d630) / SCALAR(0x804d660) / SCALAR(0x804d660) | |||
autrijus | I know that. :) I think larry wants it to be warning+noop | 17:48 | |
gaal | it'd be an error in any other language that had decls :) | ||
probably | |||
iblech | autrijus: pong | ||
autrijus | iblech: floating all my() and our() decl to beginning of block. sane? | 17:49 | |
I suspect it will greatly simplify your life. | |||
as you can alloc it along with params. | 17:50 | ||
iblech | Right, it would be easier for PIL2JS. But then { say $a; my $a } would be legal, right? | ||
autrijus | why? if there is an outer $a that compiles | ||
{my$a | say $OUTER::a } | |||
if not then error | |||
the floating is PIL | |||
not pre-PIL | |||
so we already guarded against bogus ref | 17:51 | ||
iblech | ah, ok. I'm fine with that then :) | ||
autrijus | ok, the only requirement is you need to handle nested $OUTER:: | ||
but I suspect you already do that :) | |||
iblech | No, I don't do that yet, and it's probably tricky... | 17:52 | |
(But doable -- basically I'd have to rewrite { my $a; { my $a } } to { my $a__0; { my $a__1 } } | |||
integral | PIL.hs uses the ST monad, shouldn't this be the STM monad so that things like bind are threadsafe? | 17:53 | |
autrijus | integral: unsafePerformSTM instead of runST? | ||
integral | autrijus: don't they get used from inside Eval? | 17:54 | |
autrijus | hm. | ||
integral | or a runST that returns a STM monad | ||
autrijus | I don't know, metamonads feel awkward | 17:55 | |
and the semantic is wrong anyway | |||
you want TVar not STRef | |||
so yeah, maybe TVar it and go unsafe | |||
the thing about runST is just that it's easier to quickcheck | |||
I mean, safer | |||
but maybe it doesn't matter. | 17:56 | ||
xinming | how to type "?" in keyboard please? | ||
Khisanth | a question mark? | ||
integral | hmm, quickchecking is good | ||
xinming | It seems not a perl 6 question. In fact. It is. | ||
Khisanth: No. | |||
or the "zipper" operator to interleave them: | |||
for @a ? @b ? @c -> $a, $b, $c { print "[$a, $b, $c]\n" } | |||
integral | xinming: your irc client isn't sending in utf-8 | ||
autrijus | integral: nah, unsafePerformIO . atomically is livable | ||
Khisanth | oh the yen symbol | ||
autrijus | integral: with suitable NOINLINE | ||
Khisanth | just use Y | ||
integral | autrijus: scary for use lesser mortals though 8-) | 17:57 | |
Khisanth | Ā„ | ||
autrijus | integral: so, please feel free to change them to TVar | ||
integral | *us | ||
autrijus | integral: heh... in the awkward squad paper spj gave precise definition of how to make unsafePerformIO safe | ||
Khisanth | ctrl+shift+a5 if you are using something built with GTK :) | ||
autrijus | just evaluate each situation with those metrics :) | ||
xinming | Ā„ | ||
integral | hmm, I'll have to read those | 17:58 | |
gaal | xinming: see also docs/quickref/unicode | ||
Khisanth: add that to the doc? | |||
Khisanth | hrm? | 17:59 | |
gaal | the GTK binding. | ||
Khisanth | you can use ctrl+shift+hex | ||
that is how I have been typing the Ā« and Ā» :) | |||
gaal | good :) could you add that to docs/quickref/unicode please? :) | 18:00 | |
xinming | Khisanth: hmm... In fact, I wonder why perl 6 will use other chars as operator which can't be typed from standard keyboard. :-S | ||
Khisanth | xinming: only if you choose to | 18:01 | |
instead of Ā„ you could just use Y | |||
instead of Ā« you can use << | |||
hmm | 18:02 | ||
can't display the Set.pm operators | |||
gaal | svn.openfoundry.org/pugs/docs/quickref/unicode | ||
Khisanth | I mean in my terminal with vim :) | ||
gaal | your browser probably has better fonts than your editor :) | ||
Khisanth | moz vs. gnome-terminal | 18:03 | |
svnbot6 | r5939 | autark++ | * add test for function interpolation gobbling up trailing whitespace | 18:07 | |
r5940 | iblech++ | * Pugs.Compile -- Don't emit [Noop] for the empty arrayref literal ([]). | |||
r5940 | iblech++ | * t/var/symbolic_deref.t -- Fixed one test. | |||
r5940 | iblech++ | * PIL2JS: | |||
r5940 | iblech++ | * Finally, returning 0- or 1-elem arrays works correctly, causing many tests | |||
r5940 | iblech++ | to pass, currently resmoking... | |||
r5940 | iblech++ | * Removed the now unneeded [...] hacks. | |||
r5940 | iblech++ | * my ($a, undef, $b) = ... works now. | |||
autrijus | iblech: how do you resmoke? | 18:10 | |
I don't see a "make jssmoke" | |||
iblech | Right. The naive solution would be to simply use runjs.pl as HARNESS_PUGS, but that will work extremely slow, as Test.pm is then compiled again and again. | 18:11 | |
Instead, I use a 10 line script as HARNESS_PUGS which reads the input .t and s/use Test// | |||
(Test.pm ist precompiled and always linked in.) | |||
autrijus | please check it in somewhere :) | 18:12 | |
in README if must | |||
I mean perl5/PIL2JS/ | |||
iblech | I tried pugs -MMarkTestPMAsLoaded -CPIL ...normal options here..., with MMarkTestPMAsLoaded.pm containing %*INC<Test.pm>++, but then pugs refuses to work ("can't open file") | 18:13 | |
Khisanth | gaal: another column in that would go over 80 chars | ||
autrijus | iblech: how long does it take for your to jssmoke? | 18:14 | |
gaal | iblech, the precompilation mechanism prevents modules from being reloaded | ||
in normal pugs at least | |||
Khisanth: that was bound to happen sometime... either creatively decrease column width, or start another row | 18:15 | ||
iblech | Will do. | ||
re. Sorry, my IPv6 tunnelbroker lagged... | 18:17 | ||
autrijus: ~~20min, but using -j1 | |||
autrijus | iblech: ok. post the new smoke as reply to my journal? :) | ||
the new one is up: use.perl.org/~autrijus/journal/25991 | |||
I need to sleep a bit now | |||
see ya! | |||
iblech | Ok | 18:18 | |
Night :) | |||
autrijus | (and the my() hoisting is on p6c now) | ||
& | |||
18:47
marksto1 is now known as markstos_
|
|||
markstos_ | I just tried using the p5 to p6 converter utility on CGI::Application's "Application.pm". The result was much shorter. | 18:47 | |
But I was hoping there would be more of a result than what I found: if ref($class) { # No copy constructor yet! $class = ref($class); } | 18:48 | ||
Any tips on how to make the conversion script more effective? | |||
iblech | markstos_: Do you refer to util/p5_to_p6.pl? This is only a helper for *manual* porting. | 18:51 | |
markstos_ | I understand. | ||
iblech | Larry is working on a "real" P5 -> P6 translater, but he hasn't released it yet. | ||
markstos_ | I don't see how reducing the module to that line of code helped me with a manual port, though. | 18:52 | |
iblech | Right, util/p5_to_p6.pl isn't finished, IIRC | 18:53 | |
markstos_ | Ok. | 18:54 | |
maybe I can patch it. | |||
iblech | markstos_: Great! :) Are you a committer yet? | 18:56 | |
markstos_ | Not yet, but I prefer darcs, so I do 'darcs send'. | ||
but I could use svn if it's easier for those would have to process my patches. | |||
Khisanth | well you can use darcs too and commit bits are given freely :) | 18:58 | |
svnbot6 | r5941 | putter++ | Added t/pugsbugs/parsing_braces_in_rules.t. Parsing curly braces in rules isnt quite working. For now, always match a \{ (escape-open-curly) with a <'}'> (close-curly literal). | ||
r5942 | iblech++ | PIL2JS: New file pugs-smokejs.pl: Use that as HARNESS_PUGS if you want to jssmoke. | |||
iblech | Right :) markstos_: Give me your mail address please, so I can make you a committer? :) | ||
markstos_: Invitation sent, welcome aboard :) Please add yourself to AUTHORS :) | 19:01 | ||
markstos_ | Thanks iblech. | ||
svnbot6 | r5943 | putter++ | docs/quickref/namespace: Added some notes/examples. iblech++ | 19:03 | |
markstos_ | If I want to create a test for p5_to_p6.pl, where I should I put it? I don't see a precedent there for testing a utility script. util/t ? t/util ? | 19:05 | |
coral | t/script/ | 19:06 | |
coral has no preference, merely observing possible name | |||
markstos_ | I'm not sure we want to put in the main test directory, because it depends on p5's Regexp::Common, which normally isn't needed. I'll just make something up, and someone can revise it later, if they don' t like it, right. :) | 19:07 | |
gaal | markstos_: while you're at it, take a look at t/examples and t/pugsrun, and see if you can factor the running-an-extra-pugs bit into Test.pm | 19:08 | |
if you have the tuits. | |||
markstos_ | We'll see. I was hoping porting CGI::Application would be a lazy-Sunday-afternoon project, but it has already turned it something larger... | 19:09 | |
Aankhen`` | gaal: Running an extra Pugs? | 19:16 | |
What do you mean? | |||
gaal | spawning an external process | ||
Aankhen`` | Ah. | ||
gaal | sorry, still got that fever :( | ||
and, am going to bed. | |||
Aankhen`` | Sleep well. | 19:17 | |
Get well soon! | |||
gaal | bye... :) | ||
thanks! | |||
iblech | Night :) | 19:18 | |
gaal | & | 19:19 | |
Aankhen`` | To get a pipe, do I have to call &Pipe::open explicitly, since there's a &File::open as well? | 19:20 | |
iblech | I think so, but not 100% sure. | 19:21 | |
Aankhen`` | :-o | ||
You're not using IPv6? | |||
Or an IPv6 tunneler, as the case may be... | |||
Or a tunnel, even. :- | 19:22 | ||
p | |||
Jeez, my typing is messed up. | |||
svnbot6 | r5944 | iblech++ | docs/quickref/namespace: Section about binding, and removed question marks from | 19:23 | |
r5944 | iblech++ | things I know for sure :) | |||
r5944 | iblech++ | docs/quickref/control: Section about closure traits (FIRST {...}, etc.). | |||
iblech | Right, normally I do, but my tunnelbroker lagged extremely a bit ago | ||
Aankhen`` | OK. | ||
iblech_ | Welcome from the IPv6 world :) | ||
19:23
iblech_ is now known as iblech
|
|||
Aankhen`` | Eek! | 19:23 | |
Ah well, back to seeing a bunch of useless stuff before every line... | 19:24 | ||
iblech | :D | ||
irssi++ # good client | |||
Aankhen`` | mIRC-- # piece of junk | ||
iblech | irssi++ # does not show a bunch of useless stuff before every line :) | 19:25 | |
Aankhen`` | mIRC-- # piece of junk | ||
Khisanth | eh? what is it showing before every line? | 19:26 | |
Aankhen`` | Here's a normal line: | ||
[00:51:25] <iblech> I think so, but not 100% sure. | |||
Here's what it looks like now? | |||
s/\?$// | 19:27 | ||
[00:54:39] <iblech> 8e0:abcd:14d:2e0:7dff:fee5:bff PRIVMSG #perl6 :irssi++ # good client | |||
Khisanth | oO | ||
heh looks like it screwed up with the parsing | |||
Aankhen`` | Yup. | ||
Khisanth | hmm | 19:29 | |
Aankhen``: so can you see the unicode chars? :) | |||
Aankhen`` | Sorta. Some of them. | 19:30 | |
They seem to be interpreted as two characters, so I see a weird "A" followed by the actual character. | |||
Khisanth | hmm no, don't think that is displaying the correct character when you see the A with the circle above it | 19:31 | |
Aankhen`` | It is, sometimes. | ||
Sometimes it's totally off. | |||
svnbot6 | r5945 | iblech++ | docs/talks/Anatomie_eines_Compilers_am_Beispiel_von_Pugs.latex: | 19:36 | |
r5945 | iblech++ | Skeleton of my talk "Anatomy of a Compiler using Pugs as example" (German, | |||
r5945 | iblech++ | work-in-progress) I'll hold 2005-08-04. | |||
Aankhen`` | Wouldn't it make sense to shift everything possible from Pugs.Prim to the Prelude so that new backends have less to implement? New prims should preferably go in the Prelude, I know, but I'm talking about the ones already there... | ||
integral | that's not happening atm? | 19:38 | |
iblech | Generally yes. But: Currently, the main Prelude isn't used in the compilation to other backends (unless explicitly demanded using some env var). | ||
Aankhen`` | iblech: Ah, I see. | ||
In that case, I will withdraw my suggestion for the moment. :-) | |||
iblech | And then, we probably don't want to write some often used prims (if, map, etc.) in Perl 6 (speed) | ||
Aankhen`` | I thought the whole point of Prelude was to implement all the prims possible so that the runtime has to implement only the bare minimum? | 19:39 | |
autrijus | right, but the runtime can also elect to optimize beyond the bare minimum. | ||
Aankhen`` | OK. | ||
iblech | For example, &infix:<+> is currently a real method call in PIL2JS -- slow | 19:40 | |
err, s/method/sub/ | |||
autrijus can't quite sleep... so might as well start some releng | |||
iblech | :) | ||
autrijus | $y = \@x; # $y is "tied"? wtf? | 19:41 | |
(yes, I know that lwall said that. I just can't quire comprehend) | 19:42 | ||
$y the container should have _nothing_ to do with this | |||
tied concerns interception of further assignment | |||
which this definitely does not do | |||
iblech agrees completely | 19:43 | ||
autrijus | I'm rejecting line 62 onwards of autoderef.t until further clarification :) | 19:44 | |
iblech | Probably he just meant get_real_no_autodereffing_ref_out_of_autodereffing_ref($a) instead of tied($a) :) | ||
autrijus | yes. | ||
that's your thread | |||
can you reply to him? | |||
iblech | Will do. | ||
autrijus | tied() can't be used this way. it's insane | ||
svnbot6 | r5946 | autrijus++ | * mark most of autoderef.t as TODO -- more unexpected success | 19:48 | |
r5946 | autrijus++ | for PIL2JS. :-) | |||
r5946 | autrijus++ | * also remove the sanity-challenged (or, "differently sane") | |||
r5946 | autrijus++ | use of tied() in tests. | |||
Aankhen`` | Strange. | 19:53 | |
HTTP::Header parses on its own, but when pulled in via `use`, it parsefails. | |||
svnbot6 | r5947 | putter++ | Uncommented parts of modules/Grammar/Perl6.pm which now parse. But some still dont. | ||
r5948 | autrijus++ | * castfail is now captured by try{}, so drop eval"" in favour of try{}. | |||
r5949 | autrijus++ | * some QuickCheck for PIL.hs | |||
Aankhen`` | `require` has the same effect. | 19:54 | |
autrijus | Aankhen``: hm. try reducing it a bit? | 19:57 | |
Aankhen`` | One sec. | ||
Ah. | 19:58 | ||
I think the parser was confused by myriad ./foo() calls. | |||
Replacing them with `$?SELF.foo()` fixed it. | |||
svnbot6 | r5950 | autrijus++ | * -Inf now stringifies as "-Inf", not "-Infinity". | ||
r5950 | autrijus++ | * TODOed fglock's infinite.t test for int(Inf). | |||
r5951 | autrijus++ | * move infinite.t form Recurrence to toplevel t/ because it | |||
r5951 | autrijus++ | does not use Recurrence.pm. | |||
Aankhen`` | To use a class in your code, do you need to `use` it? Can it just be `require`d? | 19:59 | |
autrijus | require DBI; ::DBI.connect(); | 20:01 | |
use DBI; DBI.connect() | |||
Aankhen`` | What about: require DBI; DBI.connect(); | ||
autrijus | I don't think that can work. | ||
barewords are banned in general | |||
Aankhen`` | Dang. | ||
autrijus | and strings no longer pun for packages. | ||
both are imho good things :) | 20:02 | ||
Aankhen`` | True. | 20:04 | |
svnbot6 | r5952 | autrijus++ | * correct (:foo => 1) syntax in DateTime's Date.pm into (foo => 1). | ||
brentdax | Wow, someone was confused. | ||
Aankhen`` | But then what about the example you gave of `use DBI; DBI.connect()`? | ||
autrijus | nod. | ||
Aankhen``: in compile time if either ::DBI or &DBI is bound then bareword take that meaning. | 20:05 | ||
Aankhen`` | Ah. | ||
autrijus | if both are bound, ::DBI takes prec. | ||
alternatively we can take the very cynical view and say ::DBI automagically create a &DBI that returns the package object. | |||
not sure we want to go there though. | 20:06 | ||
Aankhen`` | Heh. | ||
Hrm. | 20:07 | ||
This would apply to stuff like .isa() as well? | |||
autrijus | aye. tho currently I let .does and .isa take strings | 20:08 | |
Aankhen`` | require Foo; my $foo = ::Foo.new(); ok($foo.isa(::Foo)); | ||
autrijus | and do a runtime lookup | ||
as in .isa('Foo') | |||
just to make people happier | |||
Aankhen`` | Right. | ||
Will that change? As in, is it incorrect behaviour? Or unspecced behaviour? | |||
autrijus | it has the same semantics as ::::('Foo'); | ||
ooh ::::. | |||
Aankhen``: that is unspecced. | 20:09 | ||
svnbot6 | r5953 | Aankhen++ | * HTTP::Headers: fixed typo. | ||
r5954 | autrijus++ | * add a Makefile.PL for URI.pm so it can be tested. | |||
r5955 | Aankhen++ | * HTTP::Headers: added explicit invocant wherever required. | |||
Aankhen`` | I see. | ||
autrijus | if you'd like to canonize it, please p6l it | ||
indeed the string treatment is ambiguous | 20:10 | ||
because the ::Foo lookup could mean the inner ::Foo or the global *Foo (when looked up inside the prim) | |||
iblech | IIRC Larry said once it's ok, and stressed that it doesn't do a global lookup, but a normal one, exactly as if you had dropped the quotes. | 20:11 | |
autrijus | good. that does mean some very strange ::CALLER foo then | ||
::::('CALLER::Foo') | |||
Aankhen`` | Anyone got enough knowhow to make the Proxy class actually act as a proxy? | 20:17 | |
autrijus | you mean in the current runcore? | 20:18 | |
that needs a tie() implementation | |||
and a new IScalar instance | |||
Aankhen`` | OK... | 20:20 | |
autrijus | if you can wait, the new runcore supports that natively | 20:21 | |
svnbot6 | r5956 | Aankhen++ | r5981@tef-base: Aankhen | 2005-08-01 01:50:21 +051800 | ||
r5956 | Aankhen++ | * ported a few tests for HTTP::Headers. | |||
Aankhen`` | Sure. | ||
autrijus | otherwise maybe try js first :) | ||
Aankhen`` | Bleh. | ||
Aankhen`` adds --verbatim mentally. | |||
autrijus | that's fine, it's a badge of pride that says "I'm using svk and I'm not afraid of let the world know" | 20:22 | |
clkao grins | |||
Aankhen`` | Heh. | 20:23 | |
I'd be happy to do it every time ;-), but as it is, people think that I'm "karma whoring" since I usually write fairly detailed commit messages, and add a header line indicating the relevant files if it's multi-line... | 20:24 | ||
s/files/files or modules or whatever/ | |||
autrijus | I don't think people care about that at all :) | 20:25 | |
Aankhen`` shrugs. | 20:26 | ||
I'm just trying not to be a pain. | |||
autrijus ponders "I'm a Karma Courtesan and I'm proud of it" | |||
svnbot6 | r5957 | autrijus++ | * elems() should only work on Arrays, so it's an array method now. | ||
r5958 | putter++ | modules/Grammars/Perl6.pm: rule block { <[{]> ... <[}]> } works. Some comments temporarily removed from rules. I noticed two unresolved issues (PGE bugs?). Some comments in rules cause PGE parse failures. And <foo>? is matching things [<foo>]? doesnt. | |||
Aankhen`` | Do you have any idea of how long it'll be before the new runcore is up and, um, runcore-ing? | 20:29 | |
autrijus | I have no idea. | ||
depending on how demanding $work is, about a month probably | 20:30 | ||
Aankhen`` | OK. | 20:31 | |
Was just looking for a general timeframe. | |||
autrijus | nod. | 20:32 | |
svnbot6 | r5959 | autrijus++ | * move infinity.t again to builtins/math/. | ||
autrijus | I'm also shooting for soundness and completeness instead of speed this time | ||
Aankhen`` | Is this new runcore the implementation of docs/notes/plan? | ||
autrijus | it's the haskell evaluator for PIL2 | 20:33 | |
yes | |||
Aankhen`` | Kewl | ||
. | |||
Welp, it sounds great to me. | |||
autrijus | to me too :) | ||
Aankhen`` | Especially if it has Proxy support builtin. ;-) | ||
autrijus | sure ;) | ||
is there a failing proxy.t? | |||
clkao | Aankhen``: newer svk will have command/path option matching hooks. so you can say for //pugs i want --verbatim in push | ||
Aankhen`` | autrijus: A TODO'd failing proxy.t, yes. | 20:34 | |
autrijus | good | ||
Aankhen`` | clkao: Sweet! | ||
clkao | but it doesn't exist yet, wanna help? :) | ||
Aankhen`` | Heh. | ||
I wish I could atleast build it on Windows. | |||
autrijus | if not for iblech's amazing work, I'd be aiming to use compile-to-perl5 as the reference compiler (while the haskell runcore being the reference interpreter) | 20:35 | |
clkao | how much tests are passing now in js? | ||
autrijus | clkao: over 50%! | ||
iblech | clkao: 57.07% | ||
:) | |||
Aankhen`` | clkao: I would like to help, but not sure I will be able to. | ||
I'm not sure, even. | 20:36 | ||
clkao | crazy folks | ||
autrijus | but now it's even better; if js/p5 codegen does duplicated post processing then we know it should be pushed back to PIL level | ||
e.g. lexical hoisting | 20:37 | ||
Aankhen`` | Neat. | ||
iblech++ | |||
autrijus | iblech++ | ||
iblech | Pugs++ # does most of the work (parsing and emitting PIL) :) | 20:38 | |
autrijus | life++ # lots of fun | 20:39 | |
autrijus goes fixing $CALLER::_... should be <50 failures after that | |||
it's amazing how hundreds of failing tests gets produced every week or so. | |||
Aankhen`` goes to sleep. | 20:41 | ||
G'night. | |||
autrijus | 'nite Aankhen`` | ||
hm | 20:42 | ||
sub{ say $CALLER::z }.() for 1 | |||
svnbot6 | r5960 | iblech++ | * Usual svn props, including proper svn:ignore for docs/talks. | ||
r5960 | iblech++ | * More work on talks/Anatomie_eines_Compilers_am_Beispiel_von_Pugs.latex. | |||
autrijus | instant infinite loop | ||
iblech: | 20:44 | ||
Umwandlung des Sourcecode in einen Abstract Syntax Tree | |||
I'd use Parse Tree for that | |||
AST is very overloaded... everything is AST :) | |||
iblech | You can read German? :) | ||
Good catch. | |||
autrijus | yes, I stayed in .de for a year | ||
I can read most of your slides :) | |||
iblech | :) | ||
autrijus | so I laughed at 'als Ćbung' :) | ||
iblech | :D | 20:45 | |
clkao | Ich spreche kein Deutsch! | 20:50 | |
autrijus | hahi buhuhi jihana nanigani! | 20:51 | |
svnbot6 | r5961 | iblech++ | * t/operators/repeat.t -- unEVAL. | ||
r5961 | iblech++ | * PIL2JS: Prelude::JS::Operators: Implemented &infix:<x> and &infix:<xx>, which | |||
r5961 | iblech++ | gives one additional unexpected success to PIL2JS. :) | |||
r5961 | iblech++ | * docs/talks/Anatomie_eines_Compilers_am_Beispiel_von_Pugs.latex: | |||
r5961 | iblech++ | s/AST/Parse Tree/, autrijus++ for catching. | |||
r5961 | iblech++ | * docs/talks/README: Added entry for ^. | |||
r5962 | iblech++ | * t/operators/short_circuit.t: Minor cleanup. | 21:00 | ||
r5962 | iblech++ | * PIL2JS: Prelude::JS::Operators: Implemented &infix:<^^> and &infix:<xor>, | |||
r5962 | iblech++ | short_circuit.t passes now (+30 successful tests (with 1 :todoed)). | |||
r5963 | autrijus++ | * Trying to make unsafePerformIO safer with -fno-full-laziness | 21:17 | ||
r5963 | autrijus++ | -fno-cse and NOINLINE. It feels almost like Scheme now! | |||
r5964 | iblech++ | * util/gen_prelude.pl: Added autrijus's change of r5963 to gen_prelude.pl. | 21:29 | ||
r5964 | iblech++ | * New test: t/builtins/io/exit.t, primarily used for PIL2JS. | |||
r5964 | iblech++ | * Re-fixed t/operators/quoting.t (but normal runcore Pugs didn't bother). | |||
r5964 | iblech++ | * PIL2JS: | |||
r5964 | iblech++ | * PIL2JS.js: Implemented &exit. | |||
r5964 | iblech++ | * Moved some operators from Prelude::JS::Operators to more appropriate | |||
r5964 | iblech++ | Prelude::JS::Str and Prelude::JS::Bool. | |||
r5964 | iblech++ | * Prelude::JS::Bool: Added &infix:<?|>. | |||
r5964 | iblech++ | * Prelude::JS: Added &infix:<=>. | |||
autrijus | bbl & | 21:31 | |
iblech | Should $pair[0] and $pair[1] work? | 21:50 | |
t/data_types/pair.t suggests this | |||
brentdax | Does 'trusts' work yet? | 22:09 | |
iblech | Probably not. But probably real privacy isn't there either, i.e. all classes trust all other classes. | 22:10 | |
svnbot6 | r5965 | iblech++ | * Test fixes: | ||
r5965 | iblech++ | * magicals/subname.t, data_types/anon_block.t: unEVAL. | |||
r5965 | iblech++ | * data_types/pair.t: Test description fix. | |||
r5965 | iblech++ | * data_types/flattening.t: 3[0] should not work, but (3,)[0] should. | |||
r5965 | iblech++ | * PIL2JS: | |||
r5965 | iblech++ | * PIL::Nodes, PIL2JS.js: $?SUBNAME. | |||
r5965 | iblech++ | * PIL2JS.js: Hacks: ::Num eq "Num", etc. | |||
r5965 | iblech++ | * PIL::Nodes, PIL::Parser: Accept macros as Codes. | |||
r5965 | iblech++ | * Prelude::JS:: Added .perl stub. | |||
r5965 | iblech++ | * Prelude::JS::Pair: Moved &infix:?\194?\171=>?\194?\187 here and added support for lvalue pairs. | |||
brentdax | Nope... No compatible subroutine found: "&:foo" | 22:12 | |
Guess I'll just use underscores instead of colons and put in a comment to change it later. | |||
iblech | Also, have you read Larry's recent post on p6l about changing :foo to _foo and other things? | 22:13 | |
brentdax | Yeah, but I don't like it, and I'm writing this to run on Pugs anyway. | 22:14 | |
(That is, I'm not going to make my code *not* express the correct semantics on a current Pugs when I'm hoping the ruling will change anyway. And I haven't been touching the Pugs core anyway.) | 22:15 | ||
iblech | m19s28.vlinux.de/iblech/stuff/not_p...smoke.html # Yay, 5% more tests passing, we're not at 62.03% :) | 22:43 | |
s/not/now/ | |||
svnbot6 | r5966 | iblech++ | t/builtins/io/time.t: unEVAL. | 22:44 | |
iblech | Night all :) | 22:54 | |
23:42
mugwump_ is now known as mugwump
|