-
Notifications
You must be signed in to change notification settings - Fork 24
Closed
Labels
enhancementNew feature or requestNew feature or requestquestionFurther information is requestedFurther information is requested
Description
tl;dr:
the rationale is that there's no reason to hide the IR / graph data behind the compilation stages if type inference is at work already, you are simply able to state the obvious or override the entire universe as needed without programming language contortions penalty.
supporting chomskybot assemblages:
enable:
- a signal, or key, or breakpoint action, to reify a complete compiler-state graph using one and only one graph notation (with translators, of course), shades of erlang dumpfile
- enable this state as a first class language feature to specify or respecify attributes of a line of code. like the maven pom, being a subset of the painful "effective pom".
- bonus points for in-editor crafting of reduced language constructs from roundtrip projection/editting passes.
- bolsters operator overloads #7 as the jumping off point for libraries of grammars. language accents for a given solution terrain but still keeping a programmer-accessable dimension as forward looking baseline to define the supporting evidence for x=1+2. possibly to widen or narrow scopes, etc.
- suggesting ntriples as the simplest possible dictionary format. https://www.w3.org/2011/rdf-wg/wiki/N-Triples-Format
- enable the editor/intellij PSI-reader to reify the supporting graph, allow modification, and reduce, or conveniently NOT reduce for a given purpose.
- enable a most-simplistic target for the compiler to parse and emit from the compilation graph specified in a given context that is a fallback with relatively unforeseeable deviation in its "language" evolution. new/unknown features, per a blackboard system, might coexist with external systems that can correctly identify the compilation state graph so indicated while also utilizing an unspecified super-graph.
- one might but probably shouldn't propose that first order predicate logic like ntriples enables is a means to provable program assertions through external means like sparql.
avoid:
java for example,
- has multiple modalities of when a type can be var (java 15) or must be specific,
- when generics are inferred or are not, when diamond is good enough, but can never be good enough for array specification
- annotation specs entirely divorced from the above
- thread, stack, and declaring desired escape boundaries are a retrofit with no syntax support of any kind and in the case of EA, unspecified and unreported entirely.
- public,private, protected encapsulation is another state feature having unique syntax features
- transient, final, const, syncronized are again sort of related but each sort of has an ad-hoc syntax
- by no means complete list above
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestquestionFurther information is requestedFurther information is requested