Re: ATS license

2018-05-06 Thread Rudi Grinberg
On Mon, May 7, 2018, 4:24 AM gmhwxi wrote: > Yes. It prompted me to take a look at LGPLv3. > > GPL/LGPL is tailored for compiling C into object code. ATS is a bit > different. It is important to make sure that any C code generated by > ATS/Postiats (compiler + libraries) is, by default, not licen

Re: Linear lazy stream, $ldelay, and freeing a single element.

2018-05-06 Thread gmhwxi
That would greatly complicate the semantics of ATS. On Sunday, May 6, 2018 at 3:05:45 PM UTC-4, Steinway Wu wrote: > > I was playing with a utility library based on type classes, implemented as > templates. As you mentioned, I experienced "interface explosion". For > things like a fold, or a fma

Re: ATS license

2018-05-06 Thread gmhwxi
Yes. It prompted me to take a look at LGPLv3. GPL/LGPL is tailored for compiling C into object code. ATS is a bit different. It is important to make sure that any C code generated by ATS/Postiats (compiler + libraries) is, by default, not licensed under GPL/LGPL. On Thursday, May 3, 2018 at 11:32

Re: Linear lazy stream, $ldelay, and freeing a single element.

2018-05-06 Thread Steinway Wu
I was playing with a utility library based on type classes, implemented as templates. As you mentioned, I experienced "interface explosion". For things like a fold, or a fmap, I have a t@ype version that is probably garbage collected, a vt@ype version that is call-by-value, and a vt@ype version

Re: Linear lazy stream, $ldelay, and freeing a single element.

2018-05-06 Thread Hongwei Xi
Yes. Should probably use some more informative syntax in ATS3. On Sun, May 6, 2018 at 2:15 PM, Steinway Wu wrote: > And the `free` method is defined to be the second argument of $ldelay? Is > that understanding correct? > > On Sunday, May 6, 2018 at 12:19:55 AM UTC-4, gmhwxi wrote: >> >> >> A l

Re: Linear lazy stream, $ldelay, and freeing a single element.

2018-05-06 Thread Steinway Wu
And the `free` method is defined to be the second argument of $ldelay? Is that understanding correct? On Sunday, May 6, 2018 at 12:19:55 AM UTC-4, gmhwxi wrote: > > > A linear stream is a bit like an object with two methods: > one for eval and the other for free; !xs calls the eval method > and ~