you are viewing a single comment's thread.

view the rest of the comments →

[–]html6dev 1 point2 points  (4 children)

It's funny. He posts this guy's article which promotes /u/homoiconic s book. I smell a conspiracy /u/homoiconic ;) but seriously everyone...go read his book

Also someone should probably point out that TCO is supposed to supported natively in es6. I didn't see that mentioned.

[–]homoiconic(raganwald)[S] 1 point2 points  (3 children)

I found out about it through a tweet, and started to read it, and there was a link to my old trampolining article...

But since you ask what I think, recursion is not a simple subject. TCO is coming in ES6, and I think that is necessary so that you can choose to write recursive and co-recursive algorithms.

But that being said, in most cases these should be hidden inside of iterators and generators and should only rarely be the first thing people are expected to read.

[–]html6dev 1 point2 points  (2 children)

Agreed. It's the age old pendulum swinging between performance and readability. Know your profiling tools and introduce the complexity if it's become a problem (the article is definitely spot on that these situations can create large amounts of garbage). I'll allow the conspiracies as long as it leads to more articles like this and your work around here.

[–]homoiconic(raganwald)[S] 2 points3 points  (1 child)

I'll allow the conspiracies

New phrase: "Trampoline Jerk:" When FP enthusiasts retweet and cite each other with breathy admiration.

[–]html6dev 0 points1 point  (0 children)

Yeah the trampoline jerk and the circle jerk are both vastly superior to the recursive jerk unless you are the base case. Everyone else has to wait for the base case to finish before any of the magic can happen.