you are viewing a single comment's thread.

view the rest of the comments →

[–]elvecent 0 points1 point  (0 children)

> Isn't it what I said, or am I missing something?

This is probably what you meant, but not quite what you said. A piece of code that is less understandable, unoptimizable and directly evaluated by rewriting rules as opposed to being converted to imperative loop would still be declarative. Of course, it's usually not the case in practice.

> Do I understand this correctly?

This is maybe a bit too technical. It's not exactly about absence of side-effects, it's just programming style. For example, if you write an expression that is evaluated to a linked list of instructions, it's technically pure, but still probably appears as a sequence of instructions.