fun string_get_char_at {n:int} {i:nat | i < n} ( str: string n, i: size_t i) :<> c1har = "atspre_string_get_char_at"
--
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/af5d5fe2-f316-4d31-a445-2bb7297b7994%40googlegroups.com.
I usually have seen "pure" used to mean "referentially transparent," that is, given the same inputs it will always yield the same outputs. I don't think that either would qualify, though I'm not familiar enough with ATS to say definitively.
As for memoization: that can definitely be done purely, but that
is not the same as writing to a pointer.
--
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 post to this group, send email to ats-lan...@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/1e07d542-a035-432d-a78b-985745d2e156%40googlegroups.com.
--
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/1e07d542-a035-432d-a78b-985745d2e156%40googlegroups.com.
I have to say that ATS2, as it is implemented now, does not track effectsin a sound way.
--
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/19f17083-54af-49b9-9c1f-32ed6f1d6701%40googlegroups.com.
[…]
>>var h:t = lam@() => ()// <-- here'var h:t' means that the size of 'h' is that of the size of 't'.It does NOT mean that only a value of the type 't' can bestored in 'h'.
'var h:t' means that the size of 'h' is that of the size of 't'.It does NOT mean that only a value of the type 't' can bestored in 'h'.