Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Only in a sense of "non-shared" resources do not influence each other. Trying to clean your kitchen while cooking is not the easiest task to consider. Similarly, not realizing you lack the ingredients to make both breakfast and dinner due to few eggs indicates a shared state between them. More directly, if you do not clean your resources, eventually you will not be able to complete a task.

Of course, I think this is the main appeal of functional in today's world. We have so much computing resources that it often does seem we have unlimited memory and such. Essentially we move from cooking area to cooking area such that someone can clean up after us, and we only carry with us the items we are interested in.



Cooking uses linear typing, hence, you can only use your eggs once.

Clean is a purely functional language with linear typing.


I've never heard of that language. Amusingly, I had toyed in my head with the idea of modeling this language. Seems you pretty much have to have some notion of "dynamic" typing, since the type of a variable changes on calls to it.

Thanks for the pointer, here is a link, for those that will also find this interesting. http://wiki.clean.cs.ru.nl/Clean


It's not really dynamic typing..


Yeah, that is why I put it in quotes. I didn't know what it would be. Apologies for not making that clearer. This is all admittedly way over my head. Very fun to explore, though.


By an accident of history, I learned Clean before I heard of Haskell. It's a fun language.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: