功能特性
提示
盘古 OS
的设计仍在逐步改进与完善中,本文将随时发生变化,感兴趣的朋友们可以时刻保持关注;- 在下方的版权声明中有本文作者的联系方式,有不同意见和相关建议的朋友可以与其保持联系;
- 也可在本文底部的评论区登录 Github 后,直接发表您的观点;
版权声明
- 文章作者: flytreeleft - flytreeleft@crazydan.org
- 文章链接: https://studio.crazydan.org/docs/pangu-os/program-language/features
- 版权声明: 本文章采用许可协议《署名 4.0 国际 (CC BY 4.0)》。 转载或商用请注明来自 Crazydan Studio!
名称无关
变量名、类型名、函数名不是必须的,实际均通过其唯一标识做引用, 可在任意时刻以任意字符命名变量、类型和函数。名称只是为代码阅读者而提供的, 便于理解代码逻辑,其对代码编译和执行是无意义的。
可在任意位置直接使用未定义的名称, 再在运行或发布前由编译器/解释器检查并提示开发者补充实现。
函数即对象
函数的执行逻辑为 AST 树形结构,同时包含参数列表、唯一标识、返回类型、 私有性、说明文档、使用样例、修订版本、创建人、所在包(模块)等信息。
对象的行为模式不仅与其类型相关,还与其「如何被使用」(使用场景)相关。
对象即进程
应用内的对象都在独立进程(类似 Erlang 中的概念)中并行执行, 对象间通过消息交互数据和协调动作。
对象类似于生物细胞,各自按既定的模式运行,通过信息流协调整体行为, 从而构成一个完整的生物体。
有限类型
仅包含类型:
- 数字(
Number
):包括整数、小数 - 字符串(
String
): - 二进制(
Byte
): - List:
[a, b, c, ...]
- Map:键值对,如:
{a: 1, b: 'b', ...}
- Set:不含重复数据的List
- 联合类型(
Union Types
):Boolean
也是联合类型。在Elm中本质为函数- Algebraic data type:
可以附加参数的枚举,如:
type User = Regular String | Visitor String
- Tagged union
- Algebraic data type:
可以附加参数的枚举,如:
异常
- 正常和错误输出均可在固定位置以固定方式查看,不存在异常信息被隐藏的情况