Rethinking Syntax: Binding by Adjacency
L'idée est que l'adjacence devienne un opérateur binaire permettant de réunir des expressions adjacentes en une unique expression, selon leurs types statiques. Le mécanisme, nommé binding expressions, résout ces expressions adjacentes grâce à des méthodes définies sur leurs types, via prefixBind et postfixBind. Un exemple montre LocalDate date = 2025 July 19, où July et 19 s'alignent par des bindings de type pour finalement produire un LocalDate. L'objectif est de proposer des DSLs et des littéraux directement dans Java, sans macros ni modification des types de base, tout en conservant la sécurité de type. Le projet est expérimental dans Manifold, avec des usages dans les unités, les plages et les vecteurs, et un support IDE, mais il comporte des défis de parsing et une certaine charge cognitive.