Email or username:

Password:

Forgot your password?
Top-level
Devine Lu Linvega

LISP seems like an awfully bad example to express what he's trying to say here, point-free tacit programming is probably able to do a better demonstration of his meaning than any language naming parameters and functions, because doing so inevitably leads to single-character names in the name of "elegance".

6 comments
wakame

@neauoire
Maybe "smaller" isn't intended to mean "less characters" but "less complexity/structure" in this context.

That way you can still have readable variable names, even local variables to make steps more explicit.

The "LISP elegance" in the text seems a bit loosely defined.
Are we allowed to have a library of common functions?
Does every function we use count against the "size" metric?

retroprom

@neauoire I've been into K and think that tacit style has a rational elegance like math, while Lisp is elegant in a more academic or literary sense - sometimes.

Doug Orleans

@neauoire reminds me of Paul Graham's measure of succinctness, based on AST node size rather that byte-length of the code. paulgraham.com/power.html

Jason

@neauoire I have a super hard time accepting programming advice from mathematicians. I've recently tried re-implementing numpy/jax stuff in other languages and their `choice` to use single letter character names and really dense functions is pure pain. As someone who's reading their referenced paper AND their code and still not able to make the connections.

Mathematicians focus on elegance has probably slowed the engineering of computers and software more than any other single cultural norm.

DELETED

@neauoire I think it's fine if you define "smaller" as meaning "with fewer semantics"?

e.g. replacing a large variable name with a single letter has _no meaningful impact_ on even the code's tree, whereas rewriting a 100-line function as five functions across 40 lines is

Not sure a good formal definition, here, but I think the idea makes sense?

Go Up