bforte / Functoid

Functoid is a 2-dimensional fungeoid based on lambda calculus.
0 stars 0 forks source link

Lessons and insights learned from implementing Functoid and exploring lambda calculus? #1

Closed lf94 closed 5 years ago

lf94 commented 5 years ago

For the past 3 months I've been on a theory of computation binge and exploring this space in amazement.

Just yesterday though I began sifting through esolangs and came across this, and see that you are well along your way experimenting.

I just wanted to ask, what have you learned and what insights have you gained from this experience?

bforte commented 5 years ago

First of all, sorry for the late reply, I only just saw this now.. Thank you, for showing interest in this project! However, I'm not sure how to answer this question as it is a bit open ended. Here's an attempt to answer your question:

By implementing this esolang, I found a first use for the brilliant lens package, which is totally worth to learn. It's been a while since I did this project, so I'm not sure what I learned here and what I learned earlier/later - but still apart from refining my Haskell skills, I also learned a lot about the (untyped) λ-calculus:

While using this esolang I also learned how to transform terms to different combinator basis (eg. SKI, you can find an implementation for this particular transformation in the xoisc source here). I also learned that lazy evaluation and this computation model do not go well with the imperative nature of a 2d-language which is a bit a shame.

In case you have any follow-up questions or unrelated questions feel free to shoot me an email to "b","f","o","r","t","e",28,"p","m",".","m","e",@ (I'd rather move this out of the public as it could get personal).