Comment by thomastjeffery

2 hours ago

That's a feature that could be implemented by a subjective framework.

Traditionally, we use definition as the core primitive for programming. The programming language grammar defines the meaning of every possible expression, precisely and exhaustively. This is useful, because intention and interpretation are perfectly matched, making the system predictable. This is the perspective of objectivity.

The problem with objectivity is that it is categorically limited. A programming language compiler can only interpret using the predetermined rules of its grammar. The only abstract concepts that can be expressed are the ones that are implemented as programming language features. Ambiguity is unspeakable.

The other problem is that it is tautologically stagnant. The interpretation that you are going to use has already been completely defined. The programming language grammar is its own fundamental axiom: a tautology that dictates how every interpretation will be grounded. You can't choose a different axiom. Every programming language is its own silo of expression, forever incompatible with the rest. Sure, we have workarounds, like FFIs or APIs, but none of them can solve the root issue.

A subjective perspective would allow us to write and interpret ambiguous expression, which could be leveraged to (weakly) solve natural language processing. It would also allow us to change where our interpretations are grounded. That would (weakly) solve incompatibility. Instead of refactoring the expression, you would compose a new interpreter.

Because code is data, we can objectify our interpreters. We can apply logical deduction to choose the most relevant one, like a type system chooses the right polymorphic function. We can also compose interpreters like combinators, and decompose them by expressing their intentions. This way, we could have an elegant recursive self-referential system that generates relevant interpreters.

Any adequately described algorithm or data structure could be implemented to be perfectly compatible with any adequately interpreted system, all wrapped in whatever aesthetics the user chooses. On the fly. That's the dream, anyway.