Ask HN: How does Common Lisp deal with side effects?

  • Posted 2 years ago by iamwil
  • 10 points
In the realm of pure functional programming, like Haskell, side effects are managed. Where the effect is described by the IO monad, and sent off to the runtime to actually execute. This is intended to limit the complexities of side-effects and keep the program purely functional.

How does Common Lisp deal with the side effects? My understanding is that it's not pure functional, so you can mix and match. How come Common Lisp doesn't get bogged down in a quagmire of complexity like managing state in other programming languages end up being? Is there a design pattern that's common. Is there some power in Lisp that enables programmers to contain it well? Or is it that Lisp programmers are usually experienced enough to contain it on their own no matter which language they program in?

10 comments

    Loading..
    Loading..
    Loading..
    Loading..
    Loading..
    Loading..
    Loading..
    Loading..
    Loading..
    Loading..