▲ | ThyerMJ26 4 days ago | |
I've been working on a functional language and a specializing translator (a specialator) based on graph-reduction beneath lambdas. The intention is to specialize away interpretive and meta-programming-like overhead, and then translate the result into usable source code in whichever language is desired. If the code, after specialization, has a suitable form, then you should get conventional imperative code out. If there are still functional-idioms present that haven't been specialized away, the generated code will have a more functional-style. The specialator currently targets JS and C. The language has an expressive type-system based on self-dependent sub-typing. The type-system is too expressive for everyday use, it is intended to be used with a decidability checker. This is an experimental work-in-progress. |