Re: Memory-safe graphs without GC in ATS

2019-09-23 Thread gmhwxi
Certainly.

The following code is written is ATS1:

https://github.com/githwxi/ATS-Anairiats/blob/master/libats/ngc/SATS/slist.sats

slseg(l1, l2) is a singly-linked list segment from l1 to l2. So a circular 
one is just
a case where l1 = l2.

If you want a doubly-linked one, please see the following;

https://github.com/githwxi/ATS-Anairiats/blob/master/libats/ngc/SATS/dlist.sats

The caveat is that writing this kind of code often requires a lot of effort 
that may
not be easily justified in practice.

Another approach (which I would take) is to use reference-counted nodes; it 
makes
the resulting code a bit slower but can drastically simplify the 
implementation effort.

On Saturday, September 21, 2019 at 2:56:39 PM UTC-4, Vanessa McHale wrote:
>
> Hi all, 
>
> Is it possible to write memory-safe circular linked list in ATS? 
>
> Cheers, 
> Vanessa 
>
>
>

-- 
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+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ats-lang-users/8b93b42a-5711-4c0b-8473-5439e22dd401%40googlegroups.com.


Memory-safe graphs without GC in ATS

2019-09-21 Thread Vanessa McHale
Hi all,

Is it possible to write memory-safe circular linked list in ATS?

Cheers,
Vanessa


-- 
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+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ats-lang-users/ee728e70-15db-0bf4-19a5-89fa3148d116%40gmail.com.


signature.asc
Description: OpenPGP digital signature