本周 MoonBit 核心库进行 API 整理工作、工具链持续完善

MoonBit更新

  • 【核心库 Breaking】核心库进行API整理工作
    • 所有immutable数据结构被放在immut路径下,如@immutable_hashmap.Map变为@immut/hashmap.Map
// Before
let a : @immutable_hashmap.Map[Int, Int] = @immutable_hashmap.make()
// After
let a : @immut/hashmap.Map[Int, Int] = @immut/hashmap.make()
  • 核心库中 Option[T] 类型性能优化
    • 在类型 T 是一个引用类型情况下,对于 Option[T] 类型的值,Some(v) 会被直接编译成 vNone 会在 wasm-gc 后端被编译成 ref.null ,在 JavaScript 后端被编译成 undefined,从而避免内存分配
  • 核心库中引入了 fn panic[T]() -> T 函数,这个函数可以用于在测试块中,其中测试的名字需要以 "panic" 开头:
test "panic test ok" {panic() // 测试通过
}test "panic test failed" {() // 测试失败
}

IDE更新

  • 【VS Code插件】增加了testfor的代码片段
    test片段
    在这里插入图片描述

    for片段
    在这里插入图片描述

构建系统更新

  • 【初始化】moon new 会自动对创建的项目进行版本控制初始化,目前支持 git
  • 【测试】现在可以指定对多个包进行测试
moon test -p a b c
moon test -p a -p b -p c

工具链更新

  • 【安装】现在可以指定版本号进行安装
# Mac与Linux用户
# 下载最新版
curl -fsSL https://cli.moonbitlang.com/install/unix.sh | bash
# 下载 bleeding 版本
curl -fsSL https://cli.moonbitlang.com/install/unix.sh | bash -s bleeding
# 下载特定版本
curl -fsSL https://cli.moonbitlang.com/install/unix.sh | bash -s 0.1.20240520+b1f30d5e1
# Windows用户
# 下载最新版
irm cli.moonbitlang.cn/install/powershell.ps1 | iex
# 下载特定版本
$env:MOONBIT_INSTALL_VERSION = "0.1.20240520+b1f30d5e1"; irm cli.moonbitlang.cn/install/powershell.ps1 | iex
  • 【安装】现在可以查找对应版本的SHA256,对下载进行校验
    • 详情见:https://www.moonbitlang.cn/download/#verifying-binaries

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/16992.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我的创作纪念日——我与CSDN一起走过的128天

目录 一、机缘:旅程的开始 二、收获:沿路的花朵 三、日常:不断前行中 四、成就:一点小确幸 五、憧憬:梦中的重点 一、机缘:旅程的开始 最开始开始写博客是在今年一二月份的时候,也就是寒假…

SpringBootTest测试框架三

feign调用mock 注入feign调用的拦截器,自定义InvocationHandlerFactory,重写代理类的实现。 @Beanpublic Feign.Builder feignBuilder() {return Feign.builder().invocationHandlerFactory((target, dispatch) -> new FeignResultInvocationHandler(target, dispatch));}…

如何自学制作电子画册,这个秘籍收藏好

随着数字技术的飞速发展,电子画册作为一种新兴的媒体展示形式,以其独特的魅力和丰富的表现手法,受到了越来越多人的喜爱。那么,如何自学制作电子画册呢? 1. 学习基础知识 首先,你需要了解电子画册的基本构…

SAP SCU0 比较两个环境之间的SPRO配置差异

TCODE : SCU0 直接选择所有 因为对比全部,所以会有点久,慢慢等着,吃个橘子 输入正式环境的账号密码

YonBuilder移动开发基础教程——云修复

1 使用场景 在项目开发中,我们经常会遇到一种场景,对于一些已经上架应用市场对外发布的应用,我们需要修改其中部分页面的部分内容样式或功能逻辑,通常的做法是我们修改后,重新编译一个新的版本,然后提交应…

OrangePi Kunpeng Pro 开发板测评及Python开发实测

一、背景 首先感谢 创新乐知通过CSDN 邀请本人,参与这次 评测活动。这块开发板是香橙派联合华为精心打造,具有超强算力的鲲鹏开发板。本人使用最多的还是树莓派系列的板子,国产板子特别是华为为核心的板子还是头一次使用,特别感兴…

BurpSuite详细安装配置教程

环境条件:windows7或者windows10虚拟机 一、BurpSuite安装与配置 1、BurpSuite简介 BurpSuite(简称Burp)是基于Java开发的Web安全领域的集成工具,被称为信息安全界的瑞士军 刀,它包含Proxy、Intruder、Repeater、Decoder、Comparer等多个…

day 4:2028. 找出缺失的观测数据

Leetcode 2028. 找出缺失的观测数据 现有一份 n m 次投掷单个** 六面** 骰子的观测数据,骰子的每个面从 1 到 6 编号。观测数据中缺失了 n 份,你手上只拿到剩余 m 次投掷的数据。幸好你有之前计算过的这 n m 次投掷数据的 平均值 。 给你一个长度为 m …

网络攻击攻击之-远程代码执行/RCE告警运营分析篇

在各种网络安全产品的告警中,远程代码执行是一种非常常见的告警。本文将从远程代码执行的定义,远程代码执行利用的流量数据包示例,远程代码执行的suricata规则,远程代码执行的告分析警研判,远程代码执行的处置建议等几个方面阐述如何通过IDS/NDR,态势感知等流量平台的远程…

群狼调研(长沙品牌推广测试)开展广告效果测评

本文由群狼调研(长沙员工满意度调查)出品,欢迎转载,请注明出处。广告效果测评是对广告活动进行评估和分析的过程,旨在了解广告对目标受众的影响和效果。以下是广告效果测评通常涉及的内容: 1.知晓度和曝光度…

c# 解决窗体关闭时出现“访问已释放句柄“的异常

c# 解决窗体关闭时出现“访问已释放句柄“的异常 while (!this.button_search.IsHandleCreated)//主窗口的日志 { //解决窗体关闭时出现“访问已释放句柄“的异常 if (this.button_search.Disposing || …

服务器端口号,如何避免与公共端口冲突

首先,我们需要明确什么是服务器端口号。服务器端口号是计算机操作系统分配给网络应用程序的一个数字标识,用于区分不同的网络服务。每个网络服务都需要一个唯一的端口号来进行标识,以便在通信过程中能够准确找到对应的服务。 为了避免与公共端…

汽车短视频怎么拍?成都科成博通文化传媒公司

汽车短视频怎么拍? 随着短视频平台的兴起,汽车爱好者们纷纷将自己的汽车生活、驾驶体验以及车辆评测等内容以短视频的形式呈现给大众。汽车短视频不仅满足了观众对汽车文化的好奇心,也为汽车品牌和汽车相关行业提供了宣传和推广的新渠道。那…

《中国改革报》的发行范围有哪些?

《中国改革报》是国家发展和改革委员会主管的全国性综合类报纸,其发行范围广泛,涵盖了全国各地。 该报在全国范围内公开发行,读者群体包括政府部门、研究机构、企业界、学术界以及关注中国改革与发展的社会各界人士。 它通过订阅、零售等多…

React 技术栈选型

React 脚手架需求分许 页面缓存功能状态管理路由管理请求封装异常处理样式主题能力国际化多语言能力多业务环境配置网站SEO效果 React 技术栈库 前端应用基础功能 前端框架或库: React前端状态管理: Redux zustand mobx前端路由: React-RouterUI库: Material UI、Ant Design…

考过Oracle的人,都有什么感觉呢

成就感:通过OCP考试是对个人技能和专业知识的肯定,考生会感到一种强烈的成就感。这种成就感来自于对自己努力付出的回报,也是对自己在Oracle数据库领域专业能力的认可。 自信心增强:成功通过OCP考试会极大地增强考生的自信心。在…

真心分享:公司监控员工聊天记录的七种方法

公司为了让员工专注于工作,避免无关事情分心,比如无关的瞎聊天,会使用一些手段监控员工聊天,那么这些手段是什么呢?主要有以下几种。 1.使用专业监控软件: 如安企神软件、域智盾等,这些软件设计…

浏览器是如何找到网站的

万维网是如何运作的:幕后揭秘 让我们来了解一下,当我们输入一个网站地址并按下回车键时,会发生什么。我们看到屏幕上显示了网站的组件,但这一切是如何实现的呢? 1. 寻找网站 要访问一个网站,我们通常会在…

docker系列10:Dockerfile挂载容器卷

传送门 docker系列1:docker安装 docker系列2:阿里云镜像加速器 docker系列3:docker镜像基本命令 docker系列4:docker容器基本命令 docker系列5:docker安装nginx docker系列6:docker安装redis docker系…