val+ means the pattern must be exhaustive (i.e. it is asserted that xs1 is
a non-nil list). xs2 is now a (potentially nil) part.
What does @ mean?
val+ means the pattern must be exhaustive (i.e. it is asserted that xs1 is
a non-nil list). xs2 is now a (potentially nil) part.
What does @ mean?
In ATS2, my impression is that a datavtype only needs to be unfolded for
modification in the strict sense:
freeing or deleting a datavtype does not require unfolding (which iirc it
did in ATS1).On Wednesday, January 15, 2014 11:50:41 PM UTC-5, gmhwxi wrote:
Actually, unfolding is a better word for describing “open-up”.
If a node (of a datatype) is unfolded for modification, then usually it
needs to be folded explicitly
using ‘fold@’.On Wednesday, January 15, 2014 11:45:49 PM UTC-5, gmhwxi wrote:
It is means that the matched list-node is “opened-up” so that fields in
this node can be modified.On Wednesday, January 15, 2014 11:39:19 PM UTC-5, Brandon Barker wrote:
val+ means the pattern must be exhaustive (i.e. it is asserted that xs1
is a non-nil list). xs2 is now a (potentially nil) part.What does @ mean?
Freeing a node (of some datavtype) does not require unfolding in ATS1
either.
The improvement of ATS2 over ATS1 is in the case where no modification
is involved. In such a case, a node of a datavtype is treated just like a
node
of a datatype in ATS2.On Thursday, January 16, 2014 12:01:06 AM UTC-5, Brandon Barker wrote:
In ATS2, my impression is that a datavtype only needs to be unfolded for
modification in the strict sense:
freeing or deleting a datavtype does not require unfolding (which iirc
it did in ATS1).On Wednesday, January 15, 2014 11:50:41 PM UTC-5, gmhwxi wrote:
Actually, unfolding is a better word for describing “open-up”.
If a node (of a datatype) is unfolded for modification, then usually it
needs to be folded explicitly
using ‘fold@’.On Wednesday, January 15, 2014 11:45:49 PM UTC-5, gmhwxi wrote:
It is means that the matched list-node is “opened-up” so that fields in
this node can be modified.On Wednesday, January 15, 2014 11:39:19 PM UTC-5, Brandon Barker wrote:
val+ means the pattern must be exhaustive (i.e. it is asserted that
xs1 is a non-nil list). xs2 is now a (potentially nil) part.What does @ mean?
It is means that the matched list-node is “opened-up” so that fields in
this node can be modified.On Wednesday, January 15, 2014 11:39:19 PM UTC-5, Brandon Barker wrote:
val+ means the pattern must be exhaustive (i.e. it is asserted that xs1
is a non-nil list). xs2 is now a (potentially nil) part.What does @ mean?
Actually, unfolding is a better word for describing “open-up”.
If a node (of a datatype) is unfolded for modification, then usually it
needs to be folded explicitly
using ‘fold@’.On Wednesday, January 15, 2014 11:45:49 PM UTC-5, gmhwxi wrote:
It is means that the matched list-node is “opened-up” so that fields in
this node can be modified.On Wednesday, January 15, 2014 11:39:19 PM UTC-5, Brandon Barker wrote:
val+ means the pattern must be exhaustive (i.e. it is asserted that xs1
is a non-nil list). xs2 is now a (potentially nil) part.What does @ mean?