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

Common Lisp supports both styles. Shoot, it probably favors procedural over functional a bit.


From what I've understood about Haskell is that it allows you to divide your program into parts which are either pure functional, or mutable. That is great when you read the program, you can know that what you are reading now is immutable, whereas in the some other well designated parts it is mutable.

But with Lisps isn't it the case that statement 1 can be immutable while the next statement 2 is mutable? In other words it mixes mutable and immutable calls into the same program-file without really isolating them from each other in any way. And that means if one part of the program is "impure", so is all of it. You can't isolate those parts except by following a convention, but conventions are not something that it enforces. And you can't know which parts of your program are pure except by reading the code-statements in detail. Am I right?


If you're into Haskell, you may like Coalton. It's an FP language written in CL with seamless interop.

https://github.com/coalton-lang/coalton


Common Lisp is like the vast majority of programming languages, yes.


It supports basically all styles which makes it wonderfully useful in whatever domain you happen to find yourself in.




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

Search: