プログラミング言語SML#解説 4.0.0版
24.4 モジュール言語のインタフェイス
モジュール言語のインタフェイスは,第16.2節で定義した通り, ストラクチャのプロバイド(provideStr)と ファンクタのプロバイド(provideFun) の2つである. それらの構文は以下の通りである.
provideStr | ::= | structure strid = struct provideStrdecl end |
provideStrdecl | ::= | provideVal |
provideType | ||
provideDatatype | ||
provideException | ||
provideStr | ||
provideFun | ::= | functor provideFunBind |
provideFunBind | ::= | funid (strdesc) = provideStrExp |
以下はストラクチャ宣言を含むソースファイルとインターフェイスの例である.
Bool.sml file:
structure Bool =
struct datatype bool = false | true fun not true = false | not false = true fun toString true = "true" | toString false = "false" end Bool.smi file: structure Bool = struct datatype bool = false | true val not : bool -> bool val toString : bool -> string end |