What am I up to here?

I have long wanted a systematic way to turn a functional program
(FP making use of GC) into a linear functional program (LFP) that
does not make (extensive) use of GC.

The introduction of lense into ATS3 is a crucial step to achieve this goal.

Along a similar line, I suppose we can also introduce a notion of 'pense'
so as to support parallel programming. I am just not ready for it yet.

Cheers,

--Hongwei

On Friday, July 12, 2024 at 9:03:52 AM UTC-4 gmhwxi wrote:

> >> not to rely on a memory of a programmer 
>
> It is more than that.
>
> For instance, we can have list_vt_tally0 and list_vt_tally1.
> Based on the names, you can tell that the former one consumes the given 
> linear list
> but the latter one does not. Say we have:
>
> #symload tally0 with llist_vt_tally0
> #symload tally1 with llist_vt_tally1
>
> Then the programmer can decide the lense of 'tally', that is, choose 
> either tally0 or tally1.
>
> >> There is no enforcement from the compiler, am I got it right? :)
>
> Yes, it is just a naming convention right now. I suppose that we can write 
> a checker to flag
> out function names that violate this convention. Kind of like grammar 
> checking.
>
>
> On Friday, July 12, 2024 at 8:50:28 AM UTC-4 [email protected] wrote:
>
>> Hi everyone,
>>
>> so lense is a best practice of how to name functions to not to rely on a 
>> memory of a programmer and to be able to tell what function accepts and 
>> maybe consumes? There is no enforcement from the compiler, am I got it 
>> right? :)
>>
>> чт, 11 июл. 2024 г. в 02:38, Vanessa McHale <[email protected]>:
>>
>>> Interesting! I think lenses have popped up in the context of machine 
>>> learning, where information “flows up”
>>>
>>> ieeexplore.ieee.org 
>>> <https://ieeexplore.ieee.org/abstract/document/8785665>
>>> <https://ieeexplore.ieee.org/abstract/document/8785665> 
>>> <https://ieeexplore.ieee.org/abstract/document/8785665>
>>>
>>> The notion of information/discarding information is present in linear 
>>> logic, quite eager to see how this pans out!
>>>
>>> Cheers,
>>> Vanessa McHale
>>>
>>> On Jul 7, 2024, at 12:50 PM, gmhwxi <[email protected]> wrote:
>>>
>>> Yes, it is lense (not lens).
>>>
>>> "Lense" is word I coined that means something kind of related to
>>> the notion of 'tense' in grammar.
>>>
>>> (I tried 'linse' but settled on 'lense').
>>>
>>> If the lense of a verb is '1', then the verb maintains its object.
>>> If the lense of a verb is '0', then the verb consumes its object.
>>>
>>> The typical word whose lense is 0 is 'free' (as in freeing an object).
>>> And the typical word whose lense is 1 is 'copy'.
>>>
>>> In ATS3 library, the name of a function should, by convention, indicate
>>> explicitly the lense of the verb contained in the name.
>>>
>>> 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 [email protected].
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/ats-lang-users/1abd3417-527d-4afb-a8e4-5b9e05d025bfn%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/ats-lang-users/1abd3417-527d-4afb-a8e4-5b9e05d025bfn%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>>
>>> -- 
>>> 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 [email protected].
>>>
>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/ats-lang-users/E366AD08-6EB7-4645-A5C1-B2F48D93D31A%40gmail.com
>>>  
>>> <https://groups.google.com/d/msgid/ats-lang-users/E366AD08-6EB7-4645-A5C1-B2F48D93D31A%40gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ats-lang-users/0058b222-4e9a-4a90-ab1f-03d30a2d5b64n%40googlegroups.com.

Reply via email to