深度 deepin 开源自研编程语言:Unilang


deepin 宣布了自研的全新通用目的编程语言:Unilang,其仓库提供了文档和作为参考实现的解释器。

deepin 表示,目前桌面应用开发虽然有许多选项,例如 Qt、Electron、PySide 和 Flutter 等。但它们存在各自的优势和不足。

据介绍,Unilang 目标是成为一门现代的通用目的编程语言,能够有效、灵活地开发桌面环境应用,去统筹解决现有不足的新的方案中的语言部分。为了保持通用性,Unilang 不内建提供 GUI 功能,而通过库提供相关 API 。当前计划中,Unilang 将会支持基于 Qt 绑定的库,以便衔接过渡现有的一些桌面应用项目。Unilang 的语言设计保持足够的抽象能力和可扩展性,未来支持直接实现 GUI 框架。

此外,Unilang 在语言特性的层次上被设计为能支持不同的应用开发场景,但原则上对这些场景保持中立。也就是说,Unilang 可以同时支持服务端和客户端应用的开发,不需要用户切换思维范式或者大幅更改对语言的使用习惯。

以下内容引用自官方介绍:

  • 表现力:Unilang 是图灵完备的通用计算语言。Unilang 的创新式的语言特性,有助于构建强大而易于使用的抽象。
  • 可复用:Unilang 对一等对象(first-class) 的强调使几乎任何源程序组件都更比往常意义上更容易复用——只要语言的用户愿意。
  • 可扩展:Unilang 的基础语言和语言扩展的底层设计使开发者能有机会以前所未有的方式平滑地改进现有语言的设计和实现并保持兼容——而非等待和语言设计及实现者的沟通与反馈。
  • 可伸缩:Unilang 的资源管理模型和抽象能力使程序在具有不同计算资源的平台上的表现默认自然地一致,且易于调整。
  • 多泛型(multi-paradigm) :Unilang 的语言特性不要求用户拘泥于具体的语用范型——例如,不会限制副作用来要求习惯纯函数式的风格,或者要求隐含对象而要求程序按面向对象的形式进行表达。灵活的抽象使用户能够针对不同领域的设计方案按需使用不同风格的实现。
  • 易用性:Unilang 的核心语言特性的极简设计使它的入门相当容易。而可扩展的特性和强大的抽象机制使语言保留了丰富的进阶内容,供开发者按需选择。合理的基础设计使不同内容的掌握不易出错而更易使用。
  • 专注性:Unilang 不是一门需要面面俱到精通各种特性才能用好的语言——如果问题不是需要修改语言,语言的用户就应能更集中注意力于解决语言之外的问题上。

Unilang 主要特性

  • 核心语言特性
    • 实体特性
      • 存储和对象模型(类似 C++)
      • 对象和值类别(类似 C++)
      • 一等函数:合并子(combiner)
      • 一等环境:环境引用
      • 一等引用:引用值
    • 求值算法
      • 变量解析
      • 函数调用
    • 运行时支持
      • 动态类型检查
      • 动态加载和执行
      • 不依赖 GC
      • 不安全操作
      • PTC(proper tail call)
    • 互操作
      • 对 C++ 友好的对象模型
      • 在 C++ 中调用 Unilang 代码
      • FFI :调用 C 和 C++ 等本机语言实现的模块
    • ……
  • 库特性
    • 核心库
      • 变量绑定
      • 块作用域
      • 列表算法
      • 模块机制
      • ……
    • 字符串
    • 数值算术操作
    • 输入/输出
    • 类型系统增强
      • 类型标注
      • 静态类型检查
    • FFI API
    • Qt 绑定
    • ……

Hello World 示例

第一个程序:

display "Hello, world!"

输出:

Hello, world!

详情查看 Unilang 的 README、语言介绍文档、特性介绍文档、解释器实现文档和语言规范文档。


相關推薦

2023-09-05

deepin-IDE 目前支持 C++、C、Java、Python、JavasSript 五种主流编程语言;内置语言服务器协议(LSP)、调试适配器协议(DAP);支持主流版本控制系统 Git、SVN;支持常用构建工具 Cmake、Maven、Ninja、Gradle 等。 功能界面预览 语言

2024-08-16

发环境deepin IDE,集成AI能力,支持多种软硬件架构、多种编程语言;具备全量基础功能,可以实现一站式多场景开发,从底层服务到上层开发工具实现垂直安全,真正做到掌握自主发展权; 综合型自动化测试框架“YouQu”,

2022-12-09

深度操作系统 20.8 已发布,此版本新增社区自研应用“深度之家”,升级 Qt 至 5.15.6 版本,更新了 DTK 开发库,修复底层漏洞进一步提升系统兼容性和安全性;功能层面上积极响应社区用户反馈的需求,开发并集成了大量实用功

2024-08-14

为推动新一代信息技术发展的关键驱动力。目前,deepin(深度)社区已与RISC-V生态系统建立了紧密联系,不仅成功完成了deepin自研应用向RISC-V架构的迁移,而且还取得了显著成果。 deepin V23成功兼容并优化了多款RISC-V架构下的芯

2024-08-15

。在8月15日发布的deepin V23正式版中,双方针对D3000进行了深度适配及调优。 2023年,飞腾宣布加入deepin(深度)社区,成立飞腾SIG组,为deepin(深度)社区中搭载飞腾系列处理器的服务器及桌面平台提供支持飞腾特性的内核补

2022-08-17

deepin 23 Preview 已正式发布,预览版属于 V23 阶段性版本,囊括三大核心特性: 独立上游,构建全新的仓库 原子更新 自研包格式 注意,此次发布版本暂不支持 V20 跨版本升级。 玲珑 deepin自研软件包格式,致力于治理

2024-10-31

随着人工智能技术的飞速发展,deepin 深度操作系统也迎来了革命性的升级。2023年9月,deepin 官宣正式接入大模型,发布 UOS AI,将 AI 的强大能力融入 deepin 深度操作系统中,多款自研应用迎智能化升级。 “UOS AI 实现了国

2024-08-27

盛会——2024 RISC-V中国峰会于浙江杭州盛大召开!deepin(深度)社区携手合作伙伴出席峰会,与国内外业界专家、企业代表、研究机构及社区伙伴,共同探讨RISC-V的最新进展与未来趋势。 8月23日,deepin(深度)社区系统研发工

2023-07-16

以下是用 WSLg 运行部分 deepin 的自研应用的效果图: 深度终端 深度相册 Windows 菜单栏下显示应用列表 在完成 deepin WSL 应用安装后,再启动一次,Windows 菜单栏下会显示注册安装的 deepin 应用。 deepin-community

2024-10-19

系构建,繁荣开源生态建设,推动开源产业发展。deepin(深度)社区作为开源领域的重要力量,再次成为大会的焦点。 在本次大会上,deepin(深度)社区副主席王耀华荣获了由中国信通院评选的“OSCAR尖峰开源人物”称号,这

2023-03-15

。除 x86_64 外,主线将逐步提供 RISC-V及ARM等架构的支持。深度社区也将持续完善配套的文档支持,提供面向用户的系统整体性介绍与面向开发人员的接口文档。   算能SG2042 RISC-V镜像下载:https://ci.deepin.com/repo/deepin/deepin-ports

2024-08-03

查看原文 deepin(深度)社区7月总览   社区产品 deepin V23 成功适配奕斯伟计算EIC7700X 2024年7月,deepin(深度)社区宣布成功适配奕斯伟计算EIC7700X,实现了RISC-V版本deepin V23的稳定运行。这一举措再次印证了deepin对RISC-V生

2022-05-19

deepin 线上发布会成功举办。 会上,统信软件宣布,将以深度(deepin)社区为基础,建设立足中国、面向全球的桌面操作系统根社区,打造中国桌面操作系统的根系统。资料显示,深度(deepin)社区隶属于统信软件,自 2008 年建

2023-09-22

到这一创新过程中来,共同推动开源操作系统和大模型的深度融合,为构建更美好的未来科技世界贡献力量。”