4 ms·
I like his idea of something he calls "folding language": > Ioke is a folding language. This means it folds in on itself. You can create new abstractions cover
by krcz 13y ago
I like his idea of something he calls "folding language":
> Ioke is a folding language. This means it folds in on itself. You can create new abstractions covering any of the existing abstractions in the language. You can abstract over these, over and over again, until you have a language that lets you express what you want to express in a succinct and readable way. Ioke allows you to fold your code.
But I'd love to see more: language that could eventually unfold into other language source code. It would allow coding in high level languages where just using other compiler is rather not possible.
For example OpenCL - adding good abstractions would make GPU programming much easier. Or generating Java code - so one could write code in something more concise, without having whole team to do the same or even adding other language runtime JRE.
There could even be common abstractions for many target programming language, allowing to write algorithm once and then just translate it (browser + server data validation anyone? there are attempts to use translations to JavaScript from various languages, but why try emulating existing languages complex behaviour in JS instead of creating language specifically designed for translation?).
Related term is probably Concept Programming [1], with interesting presentation slides [2] in external links.
[1] http://en.wikipedia.org/wiki/Concept_programming http://en.wikipedia.org/wiki/Concept_programming
[2] http://xlr.sourceforge.net/Concept%20Programming%20Presentation.pdf http://xlr.sourceforge.net/Concept%20Programming%20Presentat...