[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ``Update functions'' in Scheme.



SETL, the set language, used such left-hand-side ("sinister") update
functions and made them compose correctly.  Unfortunately, I no longer have
a SETL manual available.

As I recall, evaluating nested updates can involve two calls to functions,
one in a dexter context and one in a sinister context.

	F(G(A)) <- B

should ensure that, after assignment,

	F(G(A)) = B

It seems like you need

	T1    <- G(A)           G dexter
	F(T1) <- B              F sinister
	G(A)  <- T1             G sinister

Now

	F(G(A)) = F(T1) = B

As for about F(G(A),H(B)) <- C

	T1 <- G(A), T2 <- H(B)
	F(T1,T2) <- C
	G(A) <- T1,H(B) <- T2

Anyone know SETL?  Jeff?