深度 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 等。 功能界面预览 语言

2022-12-09

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

2022-08-17

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

2023-07-16

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

2023-03-15

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

2022-05-19

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

2023-09-22

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

2023-09-20

续航提升30%、采用白盒方案优化秘钥环弹窗问题、优化版深度之家正式集成发布镜像中等。 注:此次版本非最终稳定版,本版本反馈的问题,官方会在后续版本中持续进行修复。 下载链接:https://www.deepin.org/zh/download/ 功能

2024-04-09

内容来源:deepin(深度)社区 近日,开源软件 liblzma/xz 5.6.0 及 5.6.1 版本存在安全漏洞的消息被披露后,deepin 已对所有产品完成了排查,确认 deepin(深度)操作系统各版本均不受其影响,请各位用户放心使用。 漏洞描述:

2023-07-22

2021年,阿里云把数据库开源作为重要战略方向,正式开源自研核心数据库产品 PolarDB ,助力开发者和客户通过开源版本( PolarDB 分布式版和 PolarDB PostgreSQL 版)快速使用阿里云数据库产品技术,并参与到技术产品的迭代过程中来

2023-11-01

球开发者开展模型和应用创新。 阿里云是国内最早开源自研大模型的头部科技企业,已先后开源通义千问70亿参数模型Qwen7B和140亿参数模型Qwen14B,模型累计下载量超过100万。 阿里云开源通义千问 14B 大模型 阿里云开源通

2023-12-05

内容来源 :deepin社区 deepin(深度)社区11月总览 11月,有 1084位小伙伴加入了deepin开源社区大家庭,目前共有论坛伙伴148,891位 11月deepin系统版本共升级4次,修复bug共13个,功能新增19个 在11月,FVP正式支持deepin V23 ,deepi

2023-04-18

深度操作系统(deepin)是一款致力于为全球用户提供美观易用、安全稳定服务的Linux发行版,也是全球排名领先的来自中国团队研发的Linux发行版。点击查看deepin全球排名:https://distrowatch.com/table.php?distribution=deepin deepin20.9版本

2023-02-09

深度操作系统 V23 发布了第二个 Alpha 版本。公告写道,此版本在设计层面上,对简约、友好、富有生命力的行云设计进行持续升级,支持系统主题高级定制化设置;在功能层面上,充分尊重社区用户的需求及意见,优化了 home 分