MoonBit 本周新增类型标注语法、继续进行核心库 API 整理工作
MoonBit更新
- 类型标注增加了新的语法
T?来表示Option[T]
struct Cell[T] {val: Tnext: Cell[T]?
}fn f(x : Cell[T]?) -> Unit { ... }
相当于
struct Cell[T] {val: Tnext: Option[Cell[T]]
}fn f(x : Option[Cell[T]]) -> Unit { ... }
旧的Option[T]仍然兼容,但是推荐使用更简短的新语法。moonfmt也会将Option[T]格式化为T?。
- 核心库 API 整理工作继续进行
- Iter包被合入了builtin包。现在使用
Iter[T]不需要@iter.前缀
- Iter包被合入了builtin包。现在使用
pub fn any[T](xs : Iter[T], predicate : (T) -> Bool) -> Bool {// ^不需要@iter.match xs.find_first(predicate) {None => falseSome(_) => true}
}
Stack包被移入moonbitlang/x。- 移除了List包,以及各类数据结构的
to_list和from_list函数。对于数据结构间转换和中间的表示结构,推荐使用Iter[T]与Array[T]。 - 性能提升
- 编译器现在会在分离编译的阶段进行一部分的闭包转化,从而改进了编译性能,并且对 JavaScript 后端生成的代码在特定情况下也进行了闭包转化
Option[Bool],Option[Char],Option[Byte],Option[Unit]这些类型使用32位整数表示,其中None对应的值为 -1,Some(x)对应的值为x;Option[Int]类型在 wasm 后端使用 64 位整数表示,其中None对应的值为0x1_0000_0000,Some(x)对应的值为x,Option[Int]在 JavaScript 后端使用int | undefined表示,其中undefined表示None
abort行为变更- 为了解除Wasm程序对于非标准的
spectest.print_char的依赖,正在重构错误输出功能。 abort将不会利用spectest.print_char打印错误信息,行为与panic相同,等待功能进一步完善。
- 为了解除Wasm程序对于非标准的
插件更新
- 【语言服务器】修复了内存泄露的问题
相关文章:
MoonBit 本周新增类型标注语法、继续进行核心库 API 整理工作
MoonBit更新 类型标注增加了新的语法T? 来表示Option[T] struct Cell[T] {val: Tnext: Cell[T]? }fn f(x : Cell[T]?) -> Unit { ... }相当于 struct Cell[T] {val: Tnext: Option[Cell[T]] }fn f(x : Option[Cell[T]]) -> Unit { ... }旧的Option[T]仍然兼容&…...
YOLOv10训练自己的数据集
目录 0、引言 1、环境配置 2、数据集准备 3、创建配置文件 3.1、设置官方配置文件:default.yaml,可自行修改。 3.2、设置data.yaml 4、进行训练 4.1、方法一 4.2、方法二 5、验证模型 5.1、命令行输入 5.2、脚本运行 6、总结 0、引言 本文…...
探索Web前端三大主流框架:Angular、React和Vue.js
探索Web前端三大主流框架:Angular、React和Vue.js 在现代Web开发中,前端框架已经成为开发者构建复杂应用的重要工具。Angular、React和Vue.js是目前最受欢迎的三大前端框架,它们各具特色,适用于不同的开发需求。本文将详细介绍这…...
《HelloGitHub》第 98 期
兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、…...
Xtransfer面试内容
一、Xtransfer一轮面试内容 1.进程间的通信方式 2.redis的故障转移是如何选举主节点的 3.redis快的原因 4.redis、ES、mysql选型的场景 5.redis项目的挑战和难点 6.redis和ZK各自的应用场景 7.ZK选举的算法 8.socket建立连接的过程,与TCP是一回事吗? So…...
论文笔记:Image Anaimation经典论文-运动关键点模型(Monkey-Net)
Monkey-Net(MOviNg KEYpoints) paper: https://arxiv.org/pdf/1812.08861, CVPR 2019 code: https://github.com/AliaksandrSiarohin/monkey-net/tree/master 相关工作 视频生成演变过程: spatio-temporal network: 如基于GAN网络的生成模…...
Kibana创建ElasticSearch 用户角色
文章目录 1, ES 权限参考2, 某应用的管理员权限:可以open/close/delete/cat/read/write 索引3, 某应用的读写权限:可以cat/read/write 索引 (不能删除索引或数据)4, 某应用的只读权限 1, ES 权限参考 https://www.elastic.co/gui…...
Vue基础(2)响应式基础
一. reactive() 在 Vue3 中,可以使用 reactive() 创建一个响应式对象或数组: <script setup> import { reactive } from vueconst state reactive({ count: 0 }) </script><template><button click"state.count">{…...
Mysql基础教程(15):别名
MySQL 别名 在本文中,我们讨论了 MySQL 中的列别名,表别名和派生表别名,以及使用别名来简化 SQL 和提高 SQL 的可读性。 如果在一个 SQL 中涉及到多个表,我们需要使用 table_name.column_name 这样的方式来引用每个表的字段&…...
SpringCloud 微服务中网关如何记录请求响应日志?
在基于SpringCloud开发的微服务中,我们一般会选择在网关层记录请求和响应日志,并将其收集到ELK中用作查询和分析。 今天我们就来看看如何实现此功能。 日志实体类 首先我们在网关中定义一个日志实体,用于组装日志对象 Data public class …...
【运维项目经历|028】Cobbler自动化部署平台构建项目
🍁博主简介: 🏅云计算领域优质创作者 🏅2022年CSDN新星计划python赛道第一名 🏅2022年CSDN原力计划优质作者 🏅阿里云ACE认证高级工程师 🏅阿里云开发者社区专…...
“物联网安全:万物互联背景下的隐私保护与数据安全策略“
在物联网(IoT)时代,随着智能设备的普及和万物互联的加速,隐私保护与数据安全成为了亟待解决的关键问题。以下是一些重要的隐私保护与数据安全策略,以确保在万物互联背景下信息的安全: 1. 加强设备安全&…...
LeetCode216组合总和3
题目描述 找出所有相加之和为 n 的 k 个数的组合,且满足下列条件:只使用数字1到9。每个数字 最多使用一次。返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。 解析 递归加剪枝,搜索长度达…...
微软找腾讯接盘,Windows直接安装手机APP体验起飞了
熟悉微软的同学都知道微软有个传统艺能——什么好用砍什么。 比如 Win10 砍掉了还算方便的小娜,推出 Win11 砍掉了 Win10 上面好用的磁贴功能等。 上一秒用户还在夸奖点赞。 下一秒就给你砍掉,顺带还塞一堆 BUG 给你。 但没办法,PC 近乎垄断…...
【Springcloud微服务】MybatisPlus下篇
🔥 本文由 程序喵正在路上 原创,CSDN首发! 💖 系列专栏:Springcloud微服务 🌠 首发时间:2024年6月4日 🦋 欢迎关注🖱点赞👍收藏🌟留言ὃ…...
i18n-demo
一、demo 1、资源文件准备 如我需要对menu、logMsg内容做国际化。 resources下放各个语言文件,直接放resources下都行。我是新建了一个myi18n文件夹, (1)然后在myi18n上点击New--Resource Bundle (2)在…...
[Leetcode] 0-1背包和完全背包
46. 携带研究材料 纯01背包(非应用):只能选择一次物品 dp[j]:容量为j的背包所能装的最大容量 容量需要倒序 416. 分割等和子集 能否装满 dp[j]:容量为j的背包所能装的最大容量 1049. 最后一块石头的重量 II 尽可…...
自定义类型:联合体和枚举
1. 联合体类型的声明 2. 联合体的特点 3. 联合体大小的计算 4. 枚举类型的声明 5. 枚举类型的优点 6. 枚举类型的使用 欢迎关注 熬夜学编程 创作不易,请多多支持 感谢大家的阅读、点赞、收藏和关注 如有问题,欢迎指正 1. 联合体 1.1 联合体类型的声…...
【Cityengine】Cityengine生产带纹理的建筑模型导入UE4/UE5(下)
【Cityengine】Cityengine生产带纹理的建筑模型导入UE4/UE5(下) 一、导出数据(2022中文版案例)二、安装datasmith插件三、导入数据四、检查导入材质是否正常五、编辑替换材质六、安装模型编辑插件七、编辑替换建筑规则 一、导出数…...
详解51种企业应用架构模式
导读:企业应用包括哪些?它们又分别有哪些架构模式?世界著名软件开发大师Martin Fowler给你答案 01、什么是企业应用 我的职业生涯专注于企业应用,因此,这里所谈及的模式也都是关于企业应用的。(企业应用还…...
用Trae开发WSL项目的方法
用Trae开发WSL项目的方法 要在Trae中对WSL中的项目进行开发,需要先进行服务器关联。 首先启动WSL。 然后打开Trae。 在IDE模式下,点击“远程资源管理”,选择“WSL连接目标”,然后点击下面的“在当前窗口连接”即可。 连接之后&…...
macOS 环境安装 Miniconda3 完全指南
macOS 环境安装 Miniconda3 完全指南💡 摘要: 本文深入讲解了在 macOS 系统上安装 Miniconda3 的完整流程,涵盖环境准备、下载安装、配置优化、虚拟环境管理、常见问题解决等核心内容。结合腾讯地图 Map Skills 开发场景,提供 Python 环境最佳…...
Kotlin重构与跨平台通信:Linphone的开源通信解决方案革新
Kotlin重构与跨平台通信:Linphone的开源通信解决方案革新 【免费下载链接】linphone-android Linphone.org mirror for linphone-android (https://gitlab.linphone.org/BC/public/linphone-android) 项目地址: https://gitcode.com/gh_mirrors/li/linphone-andro…...
CLIP ViT-H-14效果展示:艺术风格迁移前后图像在特征空间的距离变化
CLIP ViT-H-14效果展示:艺术风格迁移前后图像在特征空间的距离变化 你有没有想过,当一幅梵高的《星空》被AI“理解”成毕加索的立体派风格时,在AI的“大脑”里,这两幅画到底有多“像”? 今天,我们就来用C…...
避坑指南:UE5 VaRest插件处理JSON数组和嵌套对象的几个常见错误
UE5 VaRest插件处理JSON数组和嵌套对象的避坑指南 在UE5开发中,VaRest插件因其便捷的HTTP请求和JSON处理能力而广受欢迎。然而,当面对复杂的JSON数据结构时,许多开发者会遇到各种"坑"。本文将深入剖析VaRest在处理JSON数组和嵌套对…...
突破数据瓶颈:6大创新方法让时间序列模型性能提升150%
突破数据瓶颈:6大创新方法让时间序列模型性能提升150% 【免费下载链接】Time-Series-Library A Library for Advanced Deep Time Series Models for General Time Series Analysis. 项目地址: https://gitcode.com/GitHub_Trending/ti/Time-Series-Library 在…...
智慧树自动化学习助手:技术实现与最佳实践指南
智慧树自动化学习助手:技术实现与最佳实践指南 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树在线学习平台作为国内主流的教育资源平台,…...
【Axure教程】字母定位选择器
今天教大家用一个中继器制作字母分类定位选择器的原型模板,模版我们用中继器制作的,所以使用也很方便,只需要在中继器表格对应位置填写选项信息,即可自动生成交互效果,具体效果可以打开下方预览地址体验。 【原型效果…...
终极指南:如何用LocalVocal为OBS添加本地实时字幕系统
终极指南:如何用LocalVocal为OBS添加本地实时字幕系统 【免费下载链接】obs-localvocal OBS plugin for local speech recognition and captioning using AI 项目地址: https://gitcode.com/gh_mirrors/ob/obs-localvocal 还在为直播或视频录制中的字幕问题烦…...
设备独立滚动控制:让macOS输入设备各得其所的开源解决方案
设备独立滚动控制:让macOS输入设备各得其所的开源解决方案 【免费下载链接】Scroll-Reverser Per-device scrolling prefs on macOS. 项目地址: https://gitcode.com/gh_mirrors/sc/Scroll-Reverser 问题溯源:当滚动方向成为效率隐形杀手 在数字…...
