logoalt Hacker News

thomastjefferylast Monday at 3:49 AM0 repliesview on HN

> the most precise way to communicate something is through a metaphor.

> I think this is exactly your point

Yes, it is.

Another useful word would be "direct", or maybe "concrete". A metaphor allows us to get right to the point, instead of going up the ladder of abstraction. Alternatively, we can use well-defined abstractions, like formal mathematics, to be precise in an abstract way.

I tried to lay it out, but I'm (ironically) using objectively defined abstractions to do so...

Metaphor is what allows a story's implications to be taken out of an expression, and placed into the interpreter itself. An interpreter that arbitrarily decides what an expression can mean does so by bringing its own implications. This way, instead of forcing an expression to articulate those implications, the expression can imply them instead. The interpreter fills in the gap.

If we formalize a story's implications, that means we create a decided interpreter: a collection of assumptions that impose a specific perspective on the reader. This is how programming languages work: any expression has a clearly defined meaning, because it will only be given to that language's interpreter. The disadvantage is that you cannot write ambiguous expressions, because ambiguity would require the potential for more than one perspective, which would require more than one interpreter.

My idea is to create many ad-hoc interpreters, so that any of them can be chosen to interpret a given expression. This way, the chosen perspective is computable, while the expression can be ambiguous and metaphorical. The only "hard" problem left is the selection of interpreter, which I expect to be manageable.