--
You received this message because you are subscribed to the Google Groups "ats-lang-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ats-lang-users+unsubscribe@googlegroups.com.
To post to this group, send email to ats-lang-users@googlegroups.com.
Visit this group at https://groups.google.com/group/ats-lang-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/e196b40c-7b12-45f1-abe6-4edb9d4bf3fd%40googlegroups.com.
I am so clear as to what you need precisely.Could you show me how to do it using pattern matching repeatly?Then I may be able to do it using a nested pattern.Here is an example that may be useful:| ~Some_vt(~Some_vt(xs as list_vt_cons _)) => // using xs hereThe two Some_vt constructors are freed but list_vt_cons is not.
On Tue, May 15, 2018 at 9:04 PM, aditya siram <aditya...@gmail.com> wrote:
Hi all,
I'm sure there's an easy answer to this but I'm not having much luck. How do I destructure into a view type that nested in another viewtype? For example, I'd to pattern match on something of type 'Option_vt(Option_vt(list_vt int))'. I'm not having much luck doing it in one fell swoop like: ' | Some_vt(Some_vt(list_vt_cons(x, xs))) => ...' especially when the linear proof of some inner value (like 'x') needs to be preserved.
Thanks!
--
You received this message because you are subscribed to the Google Groups "ats-lang-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ats-lang-users+unsubscribe@googlegroups.com.
To post to this group, send email to ats-lan...@googlegroups.com.
#include "share/atspre_staload.hats"
datavtype nested = nested of (Option_vt(List_vt(int)))
extern fun add_heads(
a : Option_vt(nested),
b : Option_vt(nested)
): Option_vt(nested)
implement add_heads(a,b) =
case (a,b) of
| (~None_vt(),g) => g
| (l, ~None_vt()) => l
| (Some_vt(nested(Some_vt(list_vt_cons(x,_)))),
Some_vt(nested(Some_vt(list_vt_cons(y,ys))))) =>
Some_vt(nested(Some_vt(list_vt_cons(x+y,ys))))
implement main0(argc,argv) = ()
Oops. I am NOT so clear ...
On Tue, May 15, 2018 at 9:27 PM, Hongwei Xi <gmh...@gmail.com> wrote:
I am so clear as to what you need precisely.Could you show me how to do it using pattern matching repeatly?Then I may be able to do it using a nested pattern.Here is an example that may be useful:| ~Some_vt(~Some_vt(xs as list_vt_cons _)) => // using xs hereThe two Some_vt constructors are freed but list_vt_cons is not.
On Tue, May 15, 2018 at 9:04 PM, aditya siram <aditya...@gmail.com> wrote:
Hi all,
I'm sure there's an easy answer to this but I'm not having much luck. How do I destructure into a view type that nested in another viewtype? For example, I'd to pattern match on something of type 'Option_vt(Option_vt(list_vt int))'. I'm not having much luck doing it in one fell swoop like: ' | Some_vt(Some_vt(list_vt_cons(x, xs))) => ...' especially when the linear proof of some inner value (like 'x') needs to be preserved.
Thanks!
--
You received this message because you are subscribed to the Google Groups "ats-lang-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ats-lang-user...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to ats-lang-users+unsubscribe@googlegroups.com.
To post to this group, send email to ats-lang-users@googlegroups.com.
Visit this group at https://groups.google.com/group/ats-lang-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/46a9a11a-362c-426b-b479-5537a0a5aa8e%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/46a9a11a-362c-426b-b479-5537a0a5aa8e%40googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to ats-lang-users+unsubscribe@googlegroups.com.
To post to this group, send email to ats-lang-users@googlegroups.com.
Visit this group at https://groups.google.com/group/ats-lang-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/5fd6e746-bc68-4a8c-92fe-5208be72fd69%40googlegroups.com.
| (~Some_vt(~nested(~Some_vt(~list_vt_cons(x,~xs)))), ... =>
To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/5fd6e746-bc68-4a8c-92fe-5208be72fd69%40googlegroups.com.