# Effective ATS: linear streams for memory-clean programs

**URL:** <https://discourse.ats-lang.org/t/effective-ats-linear-streams-for-memory-clean-programs/662>\
**Category:** Google Group\
**Created:** [July 12, 2016, 2:19pm UTC](https://discourse.ats-lang.org/t/effective-ats-linear-streams-for-memory-clean-programs/662 "2016-07-12T14:19:11Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![gmhwxi](https://avatars.discourse-cdn.com/v4/letter/g/67e7ee/32.png) [@gmhwxi](https://discourse.ats-lang.org/u/gmhwxi)\
**Post date:** [July 12, 2016, 2:19pm UTC](https://discourse.ats-lang.org/t/effective-ats-linear-streams-for-memory-clean-programs/662/1 "2016-07-12T14:19:11Z")

</div>

I wrote a new article on using linear streams to construct memory-clean  
programs, where being memory-clean means that a program must free every  
byte allocated during its execution before it terminates. Here is the link:

[http://ats-lang.sourceforge.net/EXAMPLE/EFFECTIVATS/linear-streams/](http://ats-lang.sourceforge.net/EXAMPLE/EFFECTIVATS/linear-streams/)

I have always hoped that this style of functional programming can be applied  
at a very low-level (e.g., for writing device drivers).

Cheers!

–Hongwei

---

<div class="post-metadata">

**Author:** ![Martin\_DeMello](https://avatars.discourse-cdn.com/v4/letter/m/f17d59/32.png) [@Martin\_DeMello](https://discourse.ats-lang.org/u/Martin_DeMello)\
**Post date:** [July 12, 2016, 11:31pm UTC](https://discourse.ats-lang.org/t/effective-ats-linear-streams-for-memory-clean-programs/662/2 "2016-07-12T23:31:25Z")

</div>

is there a mirror somewhere? [http://ats-lang.sourceforge.net](http://ats-lang.sourceforge.net) is down

martinOn Tue, Jul 12, 2016 at 7:19 AM, gmhwxi [gmh...@gmail.com](mailto:gmh...@gmail.com) wrote:

> I wrote a new article on using linear streams to construct memory-clean  
> programs, where being memory-clean means that a program must free every  
> byte allocated during its execution before it terminates. Here is the link:
> 
> [http://ats-lang.sourceforge.net/EXAMPLE/EFFECTIVATS/linear-streams/](http://ats-lang.sourceforge.net/EXAMPLE/EFFECTIVATS/linear-streams/)
> 
> I have always hoped that this style of functional programming can be  
> applied  
> at a very low-level (e.g., for writing device drivers).
> 
> Cheers!
> 
> –Hongwei
> 
> –  
> 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](mailto:ats-lang-user...@googlegroups.com).  
> To post to this group, send email to [ats-lan...@googlegroups.com](mailto:ats-lan...@googlegroups.com).  
> Visit this group at [https://groups.google.com/group/ats-lang-users](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/22b5d276-904e-4132-b028-4f7ebdb811df%40googlegroups.com](https://groups.google.com/d/msgid/ats-lang-users/22b5d276-904e-4132-b028-4f7ebdb811df%40googlegroups.com)  
> [https://groups.google.com/d/msgid/ats-lang-users/22b5d276-904e-4132-b028-4f7ebdb811df%40googlegroups.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/ats-lang-users/22b5d276-904e-4132-b028-4f7ebdb811df%40googlegroups.com?utm_medium=email&utm_source=footer)  
> .

---

<div class="post-metadata">

**Author:** ![gmhwxi](https://avatars.discourse-cdn.com/v4/letter/g/67e7ee/32.png) [@gmhwxi](https://discourse.ats-lang.org/u/gmhwxi)\
**Post date:** [July 13, 2016, 1:28am UTC](https://discourse.ats-lang.org/t/effective-ats-linear-streams-for-memory-clean-programs/662/3 "2016-07-13T01:28:04Z")

</div>

Here is a backup site:

[http://ats-lang.github.io/EXAMPLE/EFFECTIVATS/On](http://ats-lang.github.io/EXAMPLE/EFFECTIVATS/On) Tuesday, July 12, 2016 at 7:31:27 PM UTC-4, Martin DeMello wrote:

> is there a mirror somewhere? [http://ats-lang.sourceforge.net](http://ats-lang.sourceforge.net) is down
> 
> martin
> 
> On Tue, Jul 12, 2016 at 7:19 AM, gmhwxi \<\> wrote:
> 
> > I wrote a new article on using linear streams to construct memory-clean  
> > programs, where being memory-clean means that a program must free every  
> > byte allocated during its execution before it terminates. Here is the  
> > link:
> > 
> > [http://ats-lang.sourceforge.net/EXAMPLE/EFFECTIVATS/linear-streams/](http://ats-lang.sourceforge.net/EXAMPLE/EFFECTIVATS/linear-streams/)
> > 
> > I have always hoped that this style of functional programming can be  
> > applied  
> > at a very low-level (e.g., for writing device drivers).
> > 
> > Cheers!
> > 
> > –Hongwei
> > 
> > –  
> > 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](mailto:ats-lang-user...@googlegroups.com).  
> > To post to this group, send email to [ats-lan...@googlegroups.com](mailto:ats-lan...@googlegroups.com).  
> > Visit this group at [https://groups.google.com/group/ats-lang-users](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/22b5d276-904e-4132-b028-4f7ebdb811df%40googlegroups.com](https://groups.google.com/d/msgid/ats-lang-users/22b5d276-904e-4132-b028-4f7ebdb811df%40googlegroups.com)  
> > [https://groups.google.com/d/msgid/ats-lang-users/22b5d276-904e-4132-b028-4f7ebdb811df%40googlegroups.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/ats-lang-users/22b5d276-904e-4132-b028-4f7ebdb811df%40googlegroups.com?utm_medium=email&utm_source=footer)  
> > .

---

<div class="post-metadata">

**Author:** ![Raoul\_Duke](https://avatars.discourse-cdn.com/v4/letter/r/bbe5ce/32.png) [@Raoul\_Duke](https://discourse.ats-lang.org/u/Raoul_Duke)\
**Post date:** [July 12, 2016, 3:32pm UTC](https://discourse.ats-lang.org/t/effective-ats-linear-streams-for-memory-clean-programs/662/4 "2016-07-12T15:32:13Z")

</div>

Very cool!
