

Ioke programming language - albertzeyer
https://ioke.org/

======
Argorak
Be aware that the project is untouched for 3 years and in no way production-
ready.

That said, I've seen Ola speak about Ioke at a conference and found many
aspects of it very intriguing. Every programming language nerd should at least
read the very extensive guide:
[https://ioke.org/wiki/index.php/Guide](https://ioke.org/wiki/index.php/Guide)

~~~
Scriptor
Damn, I thought it getting posted here meant it was active again.

That said, at least Io, which Ioke is partly based off of, is somewhat active:
[https://github.com/stevedekorte/io](https://github.com/stevedekorte/io)

------
albertzeyer
The homepage is also mirrored on GitHub (in case the original link is down):
[http://olabini.github.io/ioke/](http://olabini.github.io/ioke/)

The GitHub repository:
[https://github.com/olabini/ioke](https://github.com/olabini/ioke)

GitHub group: [https://github.com/Ioke](https://github.com/Ioke)

Game of life example:
[https://github.com/maryrosecook/gameoflife](https://github.com/maryrosecook/gameoflife)

------
hyperpape
He also announced another language, Seph, which was supposed to be a more
production friendly version of Ioke. It looks like it might also be defunct.
[http://en.wikipedia.org/wiki/Seph_(programming_language)](http://en.wikipedia.org/wiki/Seph_\(programming_language\))

~~~
Argorak
Well... "Seph is a language experiment for the slightly crazy lunatic"
(README)

I respect his way of openly experimenting with such things. They are a great
read, if only just for inspiration.

~~~
bguthrie
Ola's a super-smart dude and the language is well worth exploring––I learned a
lot from playing with Ioke. One of the coolest parts of it is his experiments
with translations––in a language with zero keywords and a very small core,
creating user translations into (say) Hindi becomes extremely straightforward.
There's a rarely-explored opportunity there to bring programming to non-
English speakers around the world.

~~~
riffraff
for what is worth, VBA has had keyword translations for decades, and I've
actually seen people use SE..FINE SE.

Interestingly enough, ALGOL68 already supported localized keywords.

The problem is you need to translate all the core language, not only keywords,
e.g. list map(root) fold(plus) -> elenco mappa(radice) ripiega(più).

Supporting localized keywords in a parser would be relatively straightforward
and a much smaller job than translating the whole standard library in
something intelligible, I believe.

------
krcz
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%20Presentat...](http://xlr.sourceforge.net/Concept%20Programming%20Presentation.pdf)

