All checks were successful
Build / build (push) Successful in 7m56s
37 lines
692 B
Markdown
37 lines
692 B
Markdown
#mimium
|
|
|
|
モジュールシステムの意味論と実装について考える
|
|
|
|
### 必要要件
|
|
|
|
分割コンパイルできる、かつ、意味論的にもある程度一貫性がある
|
|
|
|
#### モジュール内での宣言一覧
|
|
```rust
|
|
//関数のvisibilityセッティングはRustとおなじ感じ
|
|
pub fn (){
|
|
|
|
}
|
|
pub const Foo = 100
|
|
type Bar = Constructor(()->float) //新しい型宣言
|
|
type alias Hoge = ()->float //エイリアス宣言
|
|
|
|
```
|
|
|
|
#### モジュールの宣言
|
|
|
|
```rust
|
|
mod(macro) modname{
|
|
|
|
}
|
|
```
|
|
|
|
```
|
|
Program = FunctionDefinition
|
|
|GlobalDeclaration
|
|
|ModuleDeclaration
|
|
|use ModuleName
|
|
ModuleDeclaration = Visibility(stage) { Program }
|
|
|
|
|
|
``` |