tabulators
Stephen Weeks
MLton@sourcelight.com
Fri, 25 Jan 2002 13:28:26 -0800
> > You don't. It's just that CONSTRUCT2 and ITERATE2 can be implemented
> > purely functionally, while CONSTRUCT1 and ITERATE1 can't.
>
> ??? Again, what's the definition of "purely functinally"? I thought we
> established a purely functional VectorConstruct (and I've got
> ListConstruct, ListIterate, and VectorIterate), all with *1 signatures.
I think there is some confusion about what ITERATE1 and CONSTRUCT1
are. I have them as
signature CONSTRUCT1 =
sig
type 'a t
val construct: int * (('a -> unit) -> unit) -> 'a t
end
signature ITERATE1 =
sig
type 'a t
val iterate: 'a t -> 'a -> unit
end
Both of which are clearly not functional. I agree that ITERATE (not
ITERATE1) is implementable functionally.