[250111] Yolc 项目正式开启技术预览 | Haskell GHC 9.12 和 Cabal 3.14 发 ...

打印 上一主题 下一主题

主题 1042|帖子 1042|积分 3126

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Yolc 项目正式开启技术预览

Yolc 是一种安全、富有表现力且风趣的以太坊编程语言,它基于 YulDSL/Haskell 构建,旨在提升以太坊智能合约的开发体验。
克日,该项目正式开启技术预览!
背景
自2015年7月30日以太坊网络上线以来,至今已处理惩罚了数十亿笔生意业务和数百万个区块。Solidity 语言的出现极大地简化了以太坊上的编程,但 Yolc 的诞生是为了应对一个特定范畴的需求:以太坊生态系统需要一种兼具安全性、表现力和趣味性的通用编程语言。
Yolc 的优势


  • 通用性:
    Yolc 嵌入 Haskell 语言,因此利用 Yolc 编程就是利用 Haskell 编程。Yolc 在 Haskell 中实现了以太坊合约 ABI 规范和 Solidity/Yul 的范畴模子,开发者可以在 Haskell 代码编译成 Solidity/Yul 代码之前访问所有 Haskell 语言特性。
  • 安全性:
    Haskell 是一种纯函数式语言,提供多种范例级别的安全特性。Yolc 的一个独特功能是“线性版本数据”,它由 Haskell 的线性范例特性提供支持。该特性通过隐式数据版本管理,使重入漏洞等一 类漏洞无法通过范例查抄器。比方,在获取账户余额后,假如调用外部合约修改了状态,则无法利用之前的余额举行操纵,必须重新获取最新的余额。
  • 表现力:
    Yolc 鼓励开发者编写纯函数,因为纯函数不需要线性范例安全特性。在 Yolc 中编写纯函数代码非常具有表现力,开发者可以访问所有 Haskell 语言特性,包括模式匹配、广义代数数据范例、参 数多态函数等。比方,Yolc 可以利用模式匹配处理惩罚可选数字(Haskell 的 Maybe 范例)。
  • 趣味性:
    Yolc 提供了更高级、更现代的语言特性,使开发者能够编写更安全的生产情况代码,从而提升以太坊编程的兴趣。
当前状态和未来规划
目前 Yolc 处于技术预览阶段,可以生成部分 ERC20 代码并摆设到以太坊网络,展示了线性范例安全性的关键头脑。Yolc 筹划在 2025 年第一季度实现与 Solidity 的关键功能对等,并持续推出逾越 Solidity 的独特功能。目前,一些关键项目,如 Superfluid 协议,正在利用 Yolc 举行下一版本核心逻辑的原型筹划。
来源:

https://yolc.dev/blog/introduce-yolc/
Haskell GHC 9.12 和 Cabal 3.14 发布

Haskell 社区喜迎 GHC 9.12 和 Cabal 3.14 的发布,为 2024 年画上了圆满的句号!这两个新版本带来了很多令人兴奋的新特性和改进。
GHC 9.12 的亮点



  • 语言扩展:

    • 多行字符串字面量: 可以直接在字符串字面量中包罗换行符,无需利用字符串拼接或 \n 转义字符。
    • Or-Patterns: 答应在单个 case 分支中匹配多个模式,简化代码。
    • NamedDefaults: 答应为 Num 类之外的字面量创建范例默认声明,比方,可以将字符串字面量的默认范例设置为 Text。

  • 底子库:

    • 对回溯和非常处理惩罚举行了大量改进。
    • GHC.Pack 模块已被移除,GHC.Desugar 模块将在 GHC 9.14 中移除。

  • 代码生成:

    • 实行性支持 RISC-V 平台。
    • 在 x86 架构上,无需 LLVM 即可支持大多数 128 位向量的浮点运算和一些整数向量运算。
    • 新增实行性标志 -fobject-determinism,用于启用确定性目标代码生成。
    • 放弃了对 32 位 Windows 和 macOS/iOS 的支持。
    • 移除了 stdcall 调用约定,发起利用 ccall 替代。

Cabal 3.14 的亮点



  • 新特性:

    • extra-files 字段:答应在 cabal 包的源代码发行版中捆绑文件,增补了 data-files、extra-source-files 和 extra-doc-files 的功能。
    • 支持以动态方式编译带有性能分析的项目。
    • 支持新的 GHC 选项和扩展。
    • 新增 Hooks 构建范例,旨在最终取代 Custom 构建范例。
    • 实行性的 haddock-project 命令支持子组件。

  • 改进:

    • cabal init 会记着当前会话中选择的语言。
    • cabal check 会对 source-repository 中不安全的 git:// 协议发出错误提示。
    • 在 Haddock 生成期间启用重新编译制止。
    • 加强了 cabal 根项目文件的错误检测,包括破坏的符号链接。

更多信息



  • GHC 9.12 发布说明:https://downloads.haskell.org/ghc/9.12.1/docs/users_guide/9.12.1-notes.html
  • Cabal 3.14 发布说明:https://github.com/haskell/cabal/blob/master/release-notes/Cabal-3.14.1.0.md
来源:

https://blog.haskell.org/ghc-9-12-cabal-3-14/

   更多内容请查阅 : blog-250111

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

麻花痒

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表