Singly-linked list/Element definition: Difference between revisions

Line 309:
=={{header|ATS}}==
 
<lang ATS>(* The Rosetta Code garbage-collectedlinear list type can contain any vt@ype.
t@ype. (The ‘@’ means it doesn’t have to be the size of a pointer. You can
pointer. You can read {0 <= n} as ‘for all non-negative n’. *)
datatype rclist_t (t : t@ype+, n : int) =
| rclist_t_nil (t, 0)
| {0 <= n} rclist_t_cons (t, n + 1) of (t, rclist_t (t, n))
 
(* The Rosetta Code linear list type can contain any vt@ype and so is
more general. *)
dataviewtype rclist_vt (vt : vt@ype+, n : int) =
| rclist_vt_nil (vt, 0)
1,448

edits