lucaswerkmeister / graaleneyj

experimental Graal implementation of eneyj (part of AbstractText)
GNU General Public License v2.0
8 stars 1 forks source link

Clean up names (eneyj, z, …?) #1

Open lucaswerkmeister opened 4 years ago

lucaswerkmeister commented 4 years ago

Currently, this project uses the “z” naming pattern for a lot of things – mainly because it’s conveniently short. AST nodes are ZNodes, at runtime we have ZLists, the language name for polyglot usage is z, the launcher script is ./z, and so forth.

That said, I’m not sure if this makes sense. The eneyj specification seems to envision a whole range of initial letters – from A arguments over familiar Wikidata ones (Q, P, L/S/F) until X and Y personal and institutional objects (and Z, of course). Even if “Z” seems to be the most important prefix from the kernel developer’s perspective, that doesn’t mean we should use it so eagerly.

@vrandezo is “eneyj” the name of the language in general, this particular implementation, or both? Should I adopt the “eneyj” name as well, or go for something different?

vrandezo commented 4 years ago

That is a great question and I have no answer.

Originally, the target language was called enelgy (NLG, Natural Language Generation), and then I developed eneyj as the name for the abstract language to write enelgy in (enyj = NH = eNelgy Host. I know, I shouldn't be allowed to name things).

So I am still not sure if there is a language in a proper sense. What's clear is that the name eneyj is also used for the implementation. But the project is called abstracttext (and was originally called Aquinas), and I think that last one is just the name of the MediaWiki extension.

And I think eneyj is both the language and the first implementation. And that's probably not a great idea. Maybe it should be called nodeeneyj or something like that.

But in short, I wouldn't worry about overusing the Z. I think that is fine.

I hope this was helpful. If not, let's find some time for a quick synchronous chat and we can discuss this, I just made a braindump of my thoughts on this.

verdy-p commented 3 years ago

I don't know which kind of language you are naming: is it the compact functional language used in the first experiments, used intead of the visual input forms?

Is there the intent to develop another interface similar to "Blockly" (see Wikipedia, official site: Google Developers) to make code more accessible to beginners, and as an alternative to input forms (i.e. by using drag'n-drop of visual building blocks).

Yes it was designed as an alternative to the Javascript syntax, but your compact language looks much like Javascript, in a much simpler form.