alantech / alan

Autoscalable Programming Language
https://alan-lang.org
MIT License
304 stars 10 forks source link

Name Clashes with ALAN IF Language #548

Closed tajmone closed 6 months ago

tajmone commented 3 years ago

Hi @alantech!

I recently became aware of name clashes in syntax highlighters between your Alan language and the Alan IF language (1985–) for which I've been creating various syntax highlighter and editor syntaxes:

As you can see in the above Issue, I originally named my syntax just alan, which lead to clashes with your homonym language — my bad, for the language I've been working on is actually called "ALAN IF", but we usually refer to it just as "Alan" for brevity sake.

Of course, I want to avoid any conflicts in the future, so I'll be using alan-if instead of alan from now on. But since I have already created some highlighter and editor syntaxes I thought of contacting you and making you aware of the issue, so we can coordinate efforts in case you'll be implementing a syntax for your Alan in those tools to, in which case I'll amend my definitions to make room for your rightful claim on the Alan language bare identifier.

Current ALAN IF Syntaxes

These are the current syntaxes for highlighters and editors which I've created for ALAN-IF:

I should have contacted you earlier, when the name clash issue first showed up on highlight.js; forgive me my procrastination but I work on ALAN IF in my free time, merely as an open source hobby.

Anyhow, I though I should create this Issue here so we can coordinate efforts to avoid/resolve name clashes. If it's OK with you, keep this Issue open until I've solved all clashes with both my Highlight syntax and Sublime Text package.

Free time being always in shortage, I was hoping to procrastinate these fixes as much as possible, but of course if you're about to publish a syntax that would clash I'll accelerate my work and pave the path for you.

Highlight Syntax

The main issue is that if I rename the Highlight syntax definition I also need to ensure that all the ALAN IF related projects that rely on it won't break up working as a result (which could mean a lot of edits in the source docs).

So, unless you're planning to release a Highlight syntax for your Alan lang in the nearby future, I was hoping to post-pone these fixes for a few months, since there's a major updated coming for the ALAN IF language which will affect the encoding of its source files, and that would be a good moment for updating all the highlighters syntaxes and the documentation projects at once (which would spare me having to edit them twice).

Sublime Text Syntax

I saw in #257 that you're planning to implement a Sublime Text package for Alan, so when this happen I should probably edit my own package and change the associated syntax name to Alan IF and its scope to alan-if or alan3 (3 being a reference to v3 of ALAN IF language).

Changing the syntax name is not an issue, but renaming the sublime-alan repository could be more complicated. Fortunately, the package hasn't been yet submitted to PackageControl, therefore renaming it would only affect its current users, who are installing it via Git.

But I guess that I'll have to rename it, at least before publishing it on PackageControl.


As for the future, I'll be using the alan-if identifier for all new syntaxes. E.g. I'm currently working on a Rouge syntax for ALAN IF, and I'll be avoiding clashes from the onset — I would like to add alan as an alias, to preserve syntax highlighting in existing AsciiDoc projects; but if this ever becomes a problem I'll remove it.

I apologize for all inconveniences, I simply wasn't aware of the existence of another programming language named Alan. I'm confident that by coordinating efforts we shall manage to prevent any future clashes.

For more info on ALAN IF and its presence on GitHub, you can see our projects at the ALAN IF organization:

https://github.com/alan-if

(I'm a member of the ALAN IF team, but I mostly take care of the project documentation, not the language development)

dfellis commented 3 years ago

Hi @tajmone,

Thank you very much for such a thorough issue and for your considerate response to the name clash.

With respect to #257, we have been implementing syntax highlighters on an as-needed basis (I use vim, so vim is implemented, everyone else in the company uses vscode so that's implemented, we needed highlight.js for the website so that was implemented). The others on that list were guesses on which editors/tools we would be asked by users to implement syntax highlighting for.

So, we don't have any explicit plans for implementing syntax highlighting anywhere else, yet, so you can take as much time as you want with changing the naming and doing so as smoothly for your own users as you need.

Our original plan, since Alan is much younger (prototyping only started in 2019), was to just "deal with" the collisions and not be in the official highlight.js repo and use their install manually path, but one of the maintainers of that project wanted to disambiguate immediately, so that's what we did. Disambiguating is probably best for both of our communities, though, so we're happy with this proposal. Thank you. :)

tajmone commented 3 years ago

So, we don't have any explicit plans for implementing syntax highlighting anywhere else, yet, so you can take as much time as you want with changing the naming and doing so as smoothly for your own users as you need.

Glad to ear this, it will give me some respite; so I'll do all the updates together with the new language features. I'll buzz you here when this is done, just to let you know.

Disambiguating is probably best for both of our communities, though, so we're happy with this proposal. Thank you. :)

Indeed, this falls under the wider definition of collaboration; after all, we are part of the same ecosystem, so we want to make things smooth for everyone.

Best regards!

tajmone commented 3 years ago

Alan IF's Sublime Text Repository Renamed!

OK, I've now managed to rename my repository from sublime-alan to sublime-alan-if, and also changed the package/syntax name from "Alan" to "Alan IF". This should prevent any potential future name clashed when/if you decide to create a ST package for your Alan programming language.

The hard part was changing the package name, which required changing also its folder name, both in terms of package files as well as ST settings — ST's cache doesn't like path changes, and I had to manually edit the cache files to adapt the path.

Also, I had to ensure that all current users would be taking the required actions to prevent the package from breaking; which required some announcements and email exchanges.

In the upcoming days I'll be also changing the scope name from source.alan to source.alanif (tajmone/sublime-alan-if#4) which will prevent clashes in case a user would install both packages (mine and your).

So, this one is out of the way!