Lua Cheia 摘要

lua-users home
wiki

LuaCheia 邮件列表摘要

目前,这仅限于该小组正在做出的重要决定。我也会公布重要的里程碑。应该每周更新一次,可能在周二。 - ThomasWrensch


2003年2月24日,星期一

线程库

关于使用哪个线程库的讨论。一些建议是

- Pthreads
- SDL 线程
- “廉价线程...”文章

未达成一致。

用于不同平台的扩展

为不同平台使用什么扩展?似乎有两种可能性:为所有系统使用标准扩展(包括 .x、.lux、.lch 等许多建议),或者使用原生平台扩展。

共识似乎是使用平台标准文件扩展名。

CVS 结构

关于 CVS 结构的深入讨论。问题

- 在 CVS 中包含 Lua 源代码?
- 建议的整体结构更改。

Lua 5.0b 源代码已添加到 CVS (不包括 'test' 目录)。许多整体结构更改建议已获同意。其中一些已做出 (?)。仍在变动中。

发布到 LuaCheia 邮件列表

将发布到 LuaCheia 邮件列表的限制设置为已加入项目的人?

共识似乎是“是”。否则将使决策变得困难。

# 注释

修改 Lua 中的 LuaCheia 以接受 #-行作为注释? (实际上,至少在 Lua 5.0 中,只需要提供一个块读取函数)。

有人建议将其作为一个单独的 readconfig() 或类似函数来解决,而不是语言本身的一部分。根据邮件列表的流量无法确认。需要确认。

Lua 脚本驻留在哪里?

关于小的 Lua 工具脚本应该存放在哪里的问题。

未解决。

LuaCheia 模块放置在 Lua 中

将 luacheia 模块放置在 Lua 的全局命名空间中。应该是它自己的模块 (在全局 'luacheia' 中) 还是 'lib' 模块结构的一部分 ('lib.cheia')。

似乎正倾向于使用 lib.cheia,而不是在全局空间中使用单独的模块名。

listdir 函数问题

listdir 函数的问题:无法确定一个文件是子目录还是其他文件。建议的解决方案

- 再次使用 listdir 来确定是否为子目录
- 标记目录名称(末尾的 '/' 字符)
- 将子目录设为子表

似乎正倾向于使用末尾的 '/',如果可以找到一种可移植的技术,否则使用第二个 listdir。可能可以在 Lua 中而不是 C 中处理这两种之间的转换。

从 C 迁移到 Lua

建议将 luacheia.c (?) 中当前被模拟的许多函数迁移到 Lua 函数而不是 C 函数。

几个人同意了这一点,但人数不足以形成共识。

注释风格

注释风格:将注释放在函数原型之前还是之后?

共识似乎是两者皆可,但我们应该选择一种作为标准。(注意:选择可能会倾向于放在后面,因为现有代码的很大一部分都是这样做的)。

使用 DevCPP/MinGW 进行 Win32

将 Windows 端口迁移到 DevCPP/MinGW(而不是 MSVC)。

似乎存在共识(而且是个好主意!)。


2003年2月17日,星期一

GUI API

早期进行了广泛的讨论,主要竞争者似乎是 FLTK 和一个经过一定程度精简的 wxWindows。决定似乎是不在此时限制我们使用特定的套件,因为正在形成的整体架构可以适应多种不同的 GUI 系统。

模块

以下是一些建议包含在 LuaCheia 中的模块

这不是一个固定不变的列表,应该随着时间的推移而增长和变化。

模块命名/命名空间问题

进行了大量的讨论,但该小组似乎已经决定使用一个名称层次结构,以 'lib' 作为库的全局根,以 'luacheia' 作为基本 LuaCheia 功能的全局名称。还建议 load 函数返回函数表,以便可以将其分配为快捷方式。类似于

   SDL = cheiaload("sdl.x")

这将把一个模块放在 lib.SDL 中,同时也在全局 SDL 中用于“快速”引用。

Logo (图标)

Logo 紧密遵循修改后的 Lua Logo 的想法。建议了几个 Logo,并以不同尺寸放在网站上

[http://luacheia.lua-users.org/images/icons.gif]

每个人似乎都对其中一些/所有 Logo 感到满意,但尚未做出最终决定。

Lua 版本 4 和/或 5

这似乎仍未解决,但倾向于关注 Lua 5。主要论点是

启动加载模块

提出了一种通用的启动/加载模块的方法。直接摘自列表

> 1) When Cheialib is initialised, it adds various module-loading and
> directory-scanning functions to the Lua state, in the luacheia table.
> It also adds a some variables, like a variable containing the name  
> of the platform: luacheia.platform
> 2) Luacheia then looks for a "boot script" that contains
> Lua wrappers of these low level C functions using local variables
> and setglobals(). The boot script is at a precomiled location
> (on POSIX), or in the program's own directory (on Windows),
> when all the hlua wrapper functions are defined, most of the global
> low level luacheia functions are disabled (apart from the directory
> scanning ones.).
> 3) The boot script then looks for modules it has to load,
> and loads them using the wrappers, finally retuirning control
> to the Lua interpreter.

几个人认为这是一个好方法,但不足以让我说它正在成为一个集体决定。

静态与动态链接

动态链接似乎是首选,一些人指出允许静态链接有很多好理由,例如不支持动态库的操作系统以及创建一体化二进制文件。

正在达成一项关于进行动态链接的协议,同时努力使静态链接版本的构建尽可能容易。

仅在满月时发布

有人提出,相当多的人同意。这似乎是一个确定的决定。


RecentChanges · preferences
编辑 · 历史
最后编辑于 2005年10月13日 1:51 pm GMT (差异)