Files
quartz-research-note/content/mimiumのモジュールシステム.md

692 B

#mimium

モジュールシステムの意味論と実装について考える

必要要件

分割コンパイルできる、かつ、意味論的にもある程度一貫性がある

モジュール内での宣言一覧

//関数のvisibilityセッティングはRustとおなじ感じ
pub fn (){

}
pub const Foo = 100
type Bar = Constructor(()->float) //新しい型宣言
type alias Hoge = ()->float //エイリアス宣言

モジュールの宣言

mod(macro) modname{
   
}
Program = FunctionDefinition
         |GlobalDeclaration
         |ModuleDeclaration
         |use ModuleName
ModuleDeclaration = Visibility(stage) { Program }