No, you don't. You can use reference counting. See the libfloats package I posted in my previous message.
On Friday, October 20, 2017 at 10:29:19 AM UTC-4, Russoul wrote: > > Yes, but that is not modular. What if I need the inputs later ? Then I'll > have to copy them. Consuming the inputs is also a bit confusing. > > пятница, 20 октября 2017 г., 17:21:27 UTC+3 пользователь Steinway Wu > написал: >> >> I guess you can define \cross and * as functions that consume the linear >> lists and return a new one? >> >> On Friday, October 20, 2017 at 10:11:00 AM UTC-4, Russoul wrote: >>> >>> Let's treat `list_vt(a,n)` as algebraic vector of dim 'n'. Then let's >>> perform some operations on a bunch of them: >>> >>> (*pseudocode*) >>> ... >>> val a = $list_vt(1,0,0) >>> val b = $list_vt(0,1,0) >>> val c = a \cross b >>> val d = c * PI >>> ... >>> val _ = free a >>> val _ = free b >>> val _ = free c >>> val _ = free d >>> (*end of code fragment*) >>> >>> Cleaning(freeing) after simple algebraic operations in the above example >>> is tedious. And I suppose it can become a real pain in math extensive code. >>> What is the way out ? >>> >>> -- 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 post to this group, send email to [email protected]. 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/975e2ed9-4967-486e-ac64-3a8d6f0e05da%40googlegroups.com.
