Linear type syntax question/feedback/opinion

is the below still the syntax in ats/2? i am sad from a subjective
usability perspective here, because to me i would want “!” to mean
things get changes and a lack of “!” means they are left alone. oh
well. :-}

// Consumes (free’s) the linear type
fun consume_me(xs: list a) = …

// Does not consume the linear type
fun use_me(xs: !list a) = …

The syntax is still used in ATS2.

‘!’ really means call-by-value (and ‘&’ means call-by-reference).

fun foo (x: T): void

is essentially a shorthand for

fun foo (x: !T >> T?): voidOn Wednesday, July 16, 2014 2:19:27 PM UTC-4, Raoul Duke wrote:

is the below still the syntax in ats/2? i am sad from a subjective
usability perspective here, because to me i would want “!” to mean
things get changes and a lack of “!” means they are left alone. oh
well. :-}

// Consumes (free’s) the linear type
fun consume_me(xs: list a) = …

// Does not consume the linear type
fun use_me(xs: !list a) = …

ah, thanks, for the insights.