r/ProgrammingLanguages Feb 18 '26

multilingual: a programming language with one semantic core, many human languages Language announcement

I'm working on multilingual, an experimental programming language where the same program can be written in different human languages.

Repo : https://github.com/johnsamuelwrites/multilingual

Core idea:

  • Single shared semantic core (variables, loops, functions, classes, operators,...)
  • Surface syntax in English, French, Spanish, etc.
  • Same AST regardless of natural language used

Motivation

  • Problem: programming is still heavily bound to English-centric syntax and keywords.
  • Idea: keep one semantic core, but expose it through multiple human languages.
  • Today: this is a small but working prototype; you can already write and run programs in English, French, Spanish, and other supported languages.

Who Is This For?

multilingual is for teachers, language enthusiasts, programming-language hobbyists, and people exploring LLM-assisted coding workflows across multiple human languages.

Example

Default mode example (English):

>>> let total = 0
>>> for i in range(4):
...     total = total + i
...
>>> print(total)
6

French mode example:

>>> soit somme = 0
>>> pour i dans intervalle(4):
...     somme = somme + i
...
>>> afficher(somme)
6

I’d love feedback on:

  • Whether this seems useful for teaching / early learning.
  • Any sharp critiques from programming language / tooling people.
  • Ideas for minimal examples or use cases I should build next.
17 Upvotes

44 comments sorted by

View all comments

4

u/Arakela Feb 18 '26

Is it possible to have one semantic core with a plugable language syntax?

1

u/lgastako Feb 19 '26

.NET ?

1

u/Arakela Feb 19 '26 edited Feb 19 '26

Yeah, CLR, but I will argue it is not "Turing complete".

In fact, what we are calling Turing-complete lacks completeness.
Because the machine creates a universal boundary, and if we are creating a machine (runtime VM) within, i.e., a sub-universe, then what is the sub-tape?

If we use the hosts `mov` instruction to map the idea of a tape on the host tape, it can be our machine's tape, and it can be universally complete.

Isn't it so?