📄 plist-sig.sml
字号:
(* plist-sig.sml * * COPYRIGHT (c) 1999 Bell Labs, Lucent Technologies. * * Property lists using Stephen Weeks's implementation. *)signature PROP_LIST = sig type holder val newHolder : unit -> holder val clearHolder : holder -> unit val sameHolder : (holder * holder) -> bool (* returns true, if two holders are the same *) (* newProp (selHolder, init) * creates a new property for objects of type 'a and returns * functions to get the property, set it, and clear it. The function * selHolder is used to select the holder field from an object * and init is used to create the initial property value. * Typically, properties are reference cells, so that they can * be modified. The difference between peekFn and getFn is that * peekFn returns NONE when the property has not yet been created, * whereas getFn will allocate and initialize the property. The * setFn function can either be used to initialize an undefined property * or to override a property's current value. *) val newProp : (('a -> holder) * ('a -> 'b)) -> { peekFn : 'a -> 'b option, getFn : 'a -> 'b, setFn : ('a * 'b) -> unit, clrFn : 'a -> unit } val newFlag : ('a -> holder) -> { getFn : 'a -> bool, setFn : ('a * bool) -> unit } end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -