(я использую SML / NJ)
Структура списка http://sml -family.org / Basis / list.html включает в себя @, hd, tl, null, concat,и т.д.
Некоторые из них доступны без префикса: @, hd, tl, [], concat.Но другие, такие как существует, и n-й требуют префикса List.см. ниже:
Standard ML of New Jersey v110.79 [built: Tue Aug 8 23:21:20 2017]
- op @;
val it = fn : 'a list * 'a list -> 'a list
- concat;
val it = fn : string list -> string
- nth;
stdIn:3.1-3.4 Error: unbound variable or constructor: nth
- exists;
stdIn:1.2-2.1 Error: unbound variable or constructor: exists
- List.nth;
[autoloading]
[library $SMLNJ-BASIS/basis.cm is stable]
[library $SMLNJ-BASIS/(basis.cm):basis-common.cm is stable]
[autoloading done]
val it = fn : 'a list * int -> 'a
- List.exists;
val it = fn : ('a -> bool) -> 'a list -> bool
Почему?Я попытался найти ответ в «Определении стандарта ML (1997)», но не смог найти ничего, связанного с этим.