[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Creating a Lua roadmap
From: |
Andy Wingo |
Subject: |
Re: Creating a Lua roadmap |
Date: |
Thu, 21 Apr 2011 14:16:08 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) |
On Tue 19 Apr 2011 23:11, Phil <address@hidden> writes:
> I have recently checked out the Lua branch. I want to make it seaworthy.
Cool! It does indeed need some more loving :-)
> I've requested to be added back onto the Savannah group, can someone
> do that? TIA.
Sure; saw your mail before reading this, so please disregard that
confirmation message.
> git co -b lua origin/lua
> git co -b stable-2.0 origin/stable-2.0
> git branch lua
> git rebase stable-2.0
>
> Is that right?
Yes, except perhaps "git checkout lua" instead of "git branch lua", no?
> TODO:
>
> - Missing standard library functions: math.modf, table.sort, module
I think Mark's recent division work should help with modf. I don't
recall what's needed for the rest.
> - Missing getfenv/setfenv. You can tell Lua to look up global
> variables in different environments.
> Frankly this is going to be really annoying to implement and I'd
> rather leave it off until someone complains about it being missing, if
> that's cool.
OK.
> - Variable arguments, multiple returns.
This is the big one.
> FIXME:
>
> - Use prompt and abort instead of throw and catch.
Yes this will be good too.
> - And/or expressions evaluate expressions multiple times.
Whoops!
> - The keyword "break" does not work correctly.
Yes; to fix.
> Andy, I think you wrote "FIXME: use module binders instead" in
> compile-tree-il.scm, what does that mean?
For global refs, the current code does a lookup every time a function is
called, where instead it should allow the variable to be cached the
first time it is looked up. The way to hook into the process of caching
a variable for lookup is module binders. They aren't documented
though. Search for "binder" in ice-9/boot-9.scm and in modules.c.
Cheers,
Andy
--
http://wingolog.org/