表现力:Unilang 是图灵完备的通用计算语言。Unilang 的创新式的语言特性,有助于构建强大而易于使用的抽象。
可复用:Unilang 对一等对象 (first-class) 的强调使几乎任何源程序组件都更比往常意义上更容易复用 —— 只要语言的用户愿意。
可扩展:Unilang 的基础语言和语言扩展的底层设计使开发者能有机会以前所未有的方式平滑地改进现有语言的设计和实现并保持兼容 —— 而非等待和语言设计及实现者的沟通与反馈。
可伸缩:Unilang 的资源管理模型和抽象能力使程序在具有不同计算资源的平台上的表现默认自然地一致,且易于调整。
多泛型 (multi-paradigm) :Unilang 的语言特性不要求用户拘泥于具体的语用范型 —— 例如,不会限制副作用来要求习惯纯函数式的风格,或者要求隐含对象而要求程序按面向对象的形式进行表达。灵活的抽象使用户能够针对不同领域的设计方案按需使用不同风格的实现。
易用性:Unilang 的核心语言特性的极简设计使它的入门相当容易。而可扩展的特性和强大的抽象机制使语言保留了丰富的进阶内容,供开发者按需选择。合理的基础设计使不同内容的掌握不易出错而更易使用。
专注性:Unilang 不是一门需要面面俱到精通各种特性才能用好的语言 —— 如果问题不是需要修改语言,语言的用户就应能更集中注意力于解决语言之外的问题上。
核心语言特性
对 C++ 友好的对象模型
在 C++ 中调用 Unilang 代码
FFI :调用 C 和 C++ 等本机语言实现的模块
动态类型检查
动态加载和执行
不依赖 GC
不安全操作
PTC(proper tail call)
变量解析
函数调用
存储和对象模型(类似 C++)
对象和值类别(类似 C++)
一等函数:合并子 (combiner)
一等环境:环境引用
一等引用:引用值
实体特性
求值算法
运行时支持
互操作
……
库特性
类型标注
静态类型检查
变量绑定
块作用域
列表算法
模块机制
……
核心库
字符串
数值算术操作
输入 / 输出
类型系统增强
FFI API
Qt 绑定
……
display "Hello, world!"
Hello, world!
原文来自「计算机工作原理」|侵删