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

I think we're in violent agreement. Removing a feature only makes things better when it permits the addition of another feature. This is the point I trying to make about pure functional programming. Removing the ability to arbitrarily entangle state in time does not make a functional language more powerful, but adding lazy evaluation does make it more powerful.

Am I correct that we are seeing things the same way, even if my ability to explain it is poor?



Ah,

You are looking at the situation from a pure semantic point of view and from there, you are correct.

I think the parent is looking thing from the point of view of effective computing and they are correct from their point of view.

The viewpoint are perhaps incompatible.

One thing to consider is that I would say that I "can't" implement a recursive descent parser in Ruby because Ruby is too slow. Thus from the point of view of effective computing, adding features that make Ruby slow also removes some power.

I wouldn't say either position is "correct" but I think you have to take both into account.


You can argue that removing features can make a language more powerful, even if you don't add another feature.

Basically, if removing your feature, like side-effcts, allows you to give more guarantees about sub-program, you can do more with your sub-programs. Like use equational reasoning.




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

Search: