首页 时政热点 科技头条 智能AI 安全攻防 数码硬件 开发者生态 汽车 游戏 社会热点 开源推荐 医疗健康 归档 标签 关于

鸡计划6.0

2026-08-11 1 阅读 约8分钟阅读 eatonphil
分享:
字号:
6.0.0 - 核心库 - R7RS 小语言指定的所有模块现在都可以在核心系统中使用。 - 内部字符串表示形式已转换为 UTF-8,使字符串完全支持 UNICODE。 - (chicken blob) 模块已替换为 (chicken bytevector),包含 R7RS 兼容的字节向量操作。字节向量现在完全等同于 SRFI-4 u8向量。 - blob 的读取语法 (`#${...}') 已被删除。可以使用`#u8(...)'或`#u8"..."'读取字节向量。 - `char-name' 现在允许删除命名字符定义。 - `open-input-file' 和 `open-output-file' 接受文件编码,当前支持 UTF-8(默认)和 Latin-1 (ISO-8859-1)。 - `文件读取'、'文件写入'、'设置伪随机种子!'和“随机字节”需要字节向量参数并且不接受字符串。 - “process-fork”、“process-run”、“process”和“process*”现在返回一个进程对象而不是 PID,使用进程记录访问器来检索退出状态和输入/输出端口。 “process-wait”和“process-signal”接受 PID 或进程对象作为参数。 - (chicken file posix)模块中的文件锁定操作现在使用flock(2)系统调用,对整个文件进行操作,是线程安全的并使用更简单的接口。 “文件测试锁”已被删除。 - `读-u8向量',`读-u8向量!'和 `write-u8vector' 已被删除,请使用 (chicken io) 模块中的等效操作。 - 添加了“读取字节向量”、“读取字节向量!”和“write-bytevector”到(chicken io)模块。 - 删除了“set-port-name!”,使用 SRFI-17 setter 作为“port-name”。 - 将“端口编码”添加到(鸡端口)模块。 - `make-input-port' 和 `make-output-port' 现在将它们的可选端口方法作为关键字参数。 - 添加了“make-binary-input-port”和“make-binary-output-port”。 - 字符串上的定位符现在按代码点而不是字节进行索引。 - `symbol-escape' 现在还控制是否以转义(“|...|”)模式打印符号。 - 符号打印在决定符号何时应转义或不转义时更加严格。 - 以下原语已从(鸡基础)移至 R7RS 模块: - `exact-integer?`、`exact-integer-sqrt?'、`vector-copy!'、`make-parameter'、`call/cc'、`open-input-string'、`open-output-string'、`get-output-string'、`input-port-open?'、`output-port-open?'、`parameterize' 和“港口?”从(鸡基地)移动到(方案基地)模块。 - `case-lambda' 从(鸡基)移至(方案 case-lambda)。 - “功能”从(鸡平台)移至(方案基地)。 - ‘write-string’从 (chicken io) 移至 (scheme base),其签名更改为 R7RS 签名。 - `define-record-type' 移至(方案库)并且是生成式的,以符合 R7RS。 -“语法错误”已从(鸡语法)中删除,现在是一个宏和(方案基础)的一部分。 - “记录实例?”和“make-record-instance”接受非符号类型说明符以支持生成记录类型。 - 新的(鸡数字向量)模块现在提供 SRFI-4 的超集,包括 64 和 128 位复数向量,“srfi-4”模块仍然可用,但仅导出 SRFI-4 中指定的那些过程。 -“load”和“load-relative”的第二个(可选)参数可以是环境或评估过程。 - 模块别名“srfi-0”、“srfi-6”、“srfi-9”、“srfi-11”、“srfi-23”、“srfi-39”和“srfi-98”已被删除(所有这些都被 R7RS 覆盖)。 - 模块“r4rs”、“r5rs”、“r4rs-null”和“r5rs-null”已重命名为“(scheme XXX)”。 - 字符串和扩展符号中的十六进制转义序列必须以“;”结尾角色,继R7RS之后。 - `#ci'/`#cs' 读取语法已被删除,请使用 `#![no-]fold-case' 标记代替。 - `include' 和 `include-relative' 接受多个文件名,已添加 `include-ci'。 - 向(鸡平台)模块添加了“include-path”。 - 将“数字向量数据”添加到(鸡内存表示)模块。 - “define-library”已扩展为支持“export-all”规范。 - 平台标识符“mingw32”已重命名为“mingw”。 - 返回路径的库过程现在总是将它们转换为包含正斜杠,“make-pathname”始终使用“/”进行路径分隔。 - 在(鸡语法)模块中添加了“expand1”,用于仅扩展宏一次,为此还向“csi”添加了“,x1”命令。 - 添加了(鸡版)模块。 - `delete-file*' 和 `delete-file' 现在与损坏的符号链接表现一致。 - `number->string' 现在接受最多 36 个碱基,而之前它只接受最多 16 个碱基(感谢 Diego A. Mundo) - `string->number' 现在可以更一致地处理涉及碱基高于 18 的字符“i”的不明确情况。 - 如果虚部不精确为零,则“make-square”返回一个复数。 - `string->number' 并且阅读器接受并正确处理以负不精确零作为虚数的复数
这篇文章对您有帮助吗?

订阅66必读

每日精选科技资讯,直达你的邮箱