edsl专题

智能合约语言(eDSL)—— 并行化方案 2

这个并行算法最初其实是在aptos上实现的,aptos上使用的是move虚拟机,后来我把它移植到我们链上了,但是wasm虚拟机。还是费了不少事情。         目前evm并行也比较火,像monad,sei等。经过调研发现,其实evm的并行,还是occ的路子,和aptos的方案也差不多,都是在这之上进行各种优化,比较链结果和vm都不一样。所以现在又准备再次移植,把他移植到evm

智能合约语言(eDSL)—— 测试

1、准备合约 如何写合约,与编译之前的文章已经写过了,准备好.wasm文件。 2、测试程序 xwasm/wasm/tests at main · XuHugo/xwasm · GitHub 2.1 读取合约 let modules = fs::read("./tests/wasmfile/contract.wasm").unwrap(); 2.2预编译合约 let engine =

智能合约语言(eDSL)—— 如何使用wasmtime运行合约

在我们使用高级语言生成了智能合约——WASM之后,接下来就是对智能合约——WASM的使用。首先,我们需要引入wasmtime库,使用wasmtime运行我们的合约。我们的Rust程序为: use anyhow::Result;use std::fs;use wasmtime::*;fn main() -> Result<()> {let wasm_bytes = fs::read(

智能合约语言(eDSL)—— proc_macro实现合约init函数

我们通过属性宏来实现合约的init函数,call函数其实和init是类似的;         GitHub - XuHugo/xwasm         构建属性宏,要在cargo.toml里面设置一些参数,这是必须的。一般来说,过程宏必须是一个库,或者作为工程的子库,不能单独作为一个源文件存在。 [dependencies]syn = { version = "1.0.6

浅谈 eDSL 在科学计算和数据分析领域的发展趋势

本文来自 “在科学计算和数据分析领域中,今后 Python、R、Julia 各自会有什么样的发展趋势?- 罗秀哲的回答 - 知乎”,经答主授权后由编程语言 Lab 整理并发出。 首先需要提的一点是 Python 的通用性和 Julia 的高性能在下面文章的语境下都是错误的,因为 Python 的 eDSL 大多无法组合,Julia 反而可以有限地组合一些。Julia 也并不是任何程序都性能好,所