Candid: the interface description language of the Internet Computer smart contracts - 陈研第三届中国Rust开发者大会 Candid: the interface description language of the Internet Computer smart contracts Yan Chen DFINITY Foundation Rust China Conf 2023 −− How DFINITY uses procedure macro to extend Rust Send (42 : nat) Decode as () Decode as (record { name : text }) Candid: a strongly typed interface description language • Primitive types • nat, int, nat{8-64}, int{8-64}, float{32,64}, bool implement type reflection in Rust • Export interface description • How to simulate monomorphization and share states across procedure macro • Import interface description • How to control generated code0 码力 | 35 页 | 1.35 MB | 1 年前3
Connecting User And Library Code@@@ All of library code is in LibSpace, user code without frame is in UserSpace@@@ As opposed to library sharing entities with other libraries+ @@@ Deducing this removes the need for CRTP2 Slides1. https://godbolt default implementation (something which can be done generally) @@@ All of library code is in LibSpace, user code without frame is in UserSpace1. @@@ Terms: 1. Overload: multiple functions with the same name simply cannot opt types that you do not own into an abstract interface, with the fundamental types not being able to opt into any abstract interface at all.”5 Slides@@@ (*) Concepts are only limiting by behavior0 码力 | 58 页 | 18.82 MB | 6 月前3
Agda User Manual v2.6.2Agda User Manual Release 2.6.2 The Agda Team Jun 19, 2021 Contents 1 Overview 3 2 Getting Started 5 2.1 What is Agda? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 3.11 Foreign Function Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 3.12 Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 4.8 Interface files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 255 页 | 1.13 MB | 1 年前3
Agda User Manual v2.6.1.3Coinduction Copatterns Core language Cubical Cumulativity Data Types Flat Modality Foreign Function Interface Function Definitions Function Types Generalization of Declared Variables Implicit Arguments Instance Documentation The Agda Team and License Indices and tables Index Search Page Overview Note The Agda User Manual is a work-in-progress and is still incomplete. Contributions, additions and corrections to manual can be downloaded from GitHub Actions [https://github.com/agda/agda/actions?query=workflow%3A%22User+Manual%22+is%3Asuccess] page (instruction on how to find them0 码力 | 305 页 | 375.80 KB | 1 年前3
Agda User Manual v2.6.0.1definitions Built-ins Coinduction Copatterns Core language Cubical Data Types Foreign Function Interface Function Definitions Function Types Generalization of Declared Variables Implicit Arguments Instance Documentation The Agda Team and License Indices and tables Index Search Page Overview Note The Agda User Manual is a work-in-progress and is still incomplete. Contributions, additions and corrections to Simple datatypes Parametrized datatypes Indexed datatypes Strict positivity Foreign Function Interface Compiler Pragmas Haskell FFI JavaScript FFI Function Definitions Introduction General form Special0 码力 | 256 页 | 247.15 KB | 1 年前3
Agda User Manual v2.5.4.2Abstract definitions Built-ins Coinduction Copatterns Core language Data Types Foreign Function Interface Function Definitions Function Types Implicit Arguments Instance Arguments Irrelevance Lambda Abstraction Documentation The Agda License The Agda Team Indices and tables Index Search Page Overview Note The Agda User Manual is a work-in-progress and is still incomplete. Contributions, additions and corrections to Simple datatypes Parametrized datatypes Indexed datatypes Strict positivity Foreign Function Interface Compiler Pragmas Haskell FFI JavaScript FFI Function Definitions Introduction General form Special0 码力 | 216 页 | 207.61 KB | 1 年前3
Agda User Manual v2.6.0Agda User Manual Release 2.6.0 The Agda Team Apr 12, 2019 Contents 1 Overview 1 2 Getting Started 3 2.1 What is Agda? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.8 Foreign Function Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.9 Function and License 183 7 Indices and tables 185 Bibliography 187 ii CHAPTER 1 Overview Note: The Agda User Manual is a work-in-progress and is still incomplete. Contributions, additions and corrections to0 码力 | 191 页 | 857.07 KB | 1 年前3
Agda User Manual v2.6.1.2Agda User Manual Release 2.6.1.2 The Agda Team Feb 03, 2021 Contents 1 Overview 3 2 Getting Started 5 2.1 What is Agda? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.10 Foreign Function Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.11 Function Bibliography 217 Index 219 ii Agda User Manual, Release 2.6.1.2 Contents 1 Agda User Manual, Release 2.6.1.2 2 Contents CHAPTER 1 Overview Note: The Agda User Manual is a work-in-progress and is0 码力 | 227 页 | 1.04 MB | 1 年前3
Agda User Manual v2.6.4.1Agda User Manual Release 2.6.4.1 The Agda Team Nov 30, 2023 CONTENTS 1 Overview 3 2 Getting Started 5 2.1 What is Agda? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 3.12 Foreign Function Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 3.13 Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 4.8 Interface files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 311 页 | 1.38 MB | 1 年前3
Agda User Manual v2.6.4.3Agda User Manual Release 2.6.4.3 The Agda Team Mar 06, 2024 CONTENTS 1 Overview 3 2 Getting Started 5 2.1 What is Agda? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 3.12 Foreign Function Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 3.13 Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 4.8 Interface files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 311 页 | 1.38 MB | 1 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100













