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 邮件列表限制为加入该项目的人员?

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

# 评论

修改 LuaCheia 中的 Lua 以接受 #-line 作为注释? (实际上只需要提供一个块读取函数,至少在 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 函数。

几个人同意了这一点,但还不够形成共识。

注释风格

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

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

在 Win32 中使用 DevCPP/MinGW

迁移到 DevCPP/MinGW 用于 Windows 移植(而不是 MSVC)。

似乎已经达成共识(而且这是一个好主意!)。


2003 年 2 月 17 日,星期一

GUI API

早期进行了大量的讨论,主要竞争者似乎是 FLTK 和一个简化的 wxWindows。似乎决定暂时不局限于特定的工具包,因为正在形成的整体架构可以适应多种不同的 GUI 系统。

模块

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

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

模块命名/命名空间问题

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

   SDL = cheiaload("sdl.x")

这将把模块放置在 lib.SDL 中,同时也会放置在全局 SDL 中以进行“快速”引用。

Logo(图标)

标志紧密地围绕着修改后的 Lua 标志的想法。建议了几个标志,并以不同的尺寸放置在网站上。

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

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

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.

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

静态链接与动态链接

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

正在达成一项协议,即进行动态链接,同时努力使构建静态链接版本的流程尽可能简单。

仅在满月时发布

建议,许多人同意。似乎是一个坚定的决定。


最近更改 · 偏好设置
编辑 · 历史记录
最后编辑于 2005 年 10 月 13 日下午 7:51 GMT (差异)