[stack] Why is point-free form so interesting?
"Christopher Diggins" <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
I have been struggling to formalize/rationalize my intuition that point-free form is somehow better than a form with names from the standpoint of tools (e.g. analyzers, compilers, translators, optimizers, etc.). Note: this is completely separate from any statements about the usability of point-free form for programmers. That is a controversial idea that I would rather avoid debating (I have nothing useful to add to that debate anyway) Here are some bullet points that describe what I percieve to be the main advantages of point-free form: - less ambiguity (is foo a parameter or definition?) - fewer evaluation rules (no alpha-conversion, no beta-conversion) - flat structure versus tree - maps more nicely to imperative programs: semi-colon (or in some languages newline, and sometimes comma) is essentially a composition operator - syntactic analysis can be performed on tokens rather than parse tree - fewer parantheses: all interesting computations are compositions, rather than applications. - ease of transformation - rewriting rules are fundamentally easier (linear as opposed to trees) Any other additions to this list, corrections, or clarifications would be much appreciated! One question is: can we reasonably claim with any formality that a linear form is somehow easier to work with than a tree? Cheers, Christopher http://cdiggins.com