7
\$\begingroup\$

I'm currently working on my own golfing language which is based on Python 3. Once this language is finished, what would be the best way to let other people use it? I know TIO is very widespread here, and that some users' languages are on TIO - is there a way to get my language on TIO as well (and, if so, would there be an easy way to maintain my language if I wanted to add an update)?

As it stands right now, this language is far from complete (and doesn't actually have a name yet, so I'm open to suggestions). This language will get its code through a single parse(String) method, where String is the code itself.

\$\endgroup\$
  • 3
    \$\begingroup\$ TIO is maintained by Dennis, which is away due to personal reasons. (When he's back, I will request him to add 1+ to TIO.) \$\endgroup\$ – null Aug 13 '20 at 14:29
  • 3
    \$\begingroup\$ @HighlyRadioactive If you request it now, it'll get added to the list we've got to help Dennis deal with the backlog if/when he decides to return \$\endgroup\$ – caird coinheringaahing Aug 13 '20 at 16:03
  • \$\begingroup\$ @HighlyRadioactive It’s entirely up to you \$\endgroup\$ – caird coinheringaahing Aug 15 '20 at 14:46
  • \$\begingroup\$ @cairdcoinheringaahing If I request shall I request to add the original interpreter, slightly modified interpreter (like removing the prompt), or TwilightSparkle Edition, or both original and TSE? \$\endgroup\$ – null Aug 15 '20 at 14:49
8
\$\begingroup\$

Try It Online! is maintained by a PPCG user, Dennis, and has a chatroom for discussion around it. This is the most common way to request a language be added and maintained (other ways are listed on TIO's home page). However, at time of writing, Dennis is currently inactive (reasons can be found starred in talk.tryitonline.net), so while you can (and should) request your language to be added, I wouldn't expect it to happen soon.

Aside from TIO, you should take a look at this page, which asks similar questions about how to popularise your language. The most common method is to make the code publicly available (e.g. Github) and start answering in the language.

Furthermore, don't hesitate to swing by The Tarpit, a chatroom for creating languages.

\$\endgroup\$
  • \$\begingroup\$ if my language does eventually get added to TIO, what's the process for adding an update to the language? Is it possible to somehow link the interpreter code directly to GitHub so that when I update the interpreter on GitHub it's automatically updated on TIO, without any other maintenance required? I guess I'm trying to ask: my language is only partially complete but it's able to solve many challenges already. Should I request to have it put up soon or would you recommend waiting until the language is 100% complete? \$\endgroup\$ – Daniel H. Aug 14 '20 at 14:32
  • 1
    \$\begingroup\$ @DanielH. As far as I remember, Dennis was working on automatic updates before his hiatus, but it hasn’t been implemented yet. The normal way to request an update would be to simply ask Dennis to update the code (standard slang in the room is „pull“ the language), but obviously, no languages have been updated since around January. I‘d recommend getting your language to a stable release before asking it to be added to TIO as time isn’t much of an issue \$\endgroup\$ – caird coinheringaahing Aug 14 '20 at 14:51
4
\$\begingroup\$

Create answers written in your language

The best way to advertise a language is to answer challenges with your language! People will eventually discover your language and start using it too. This demonstrates why is your language good and why should people use it.

Make friends with active users here by chatting in The Nineteenth Byte (don't create your own chatroom. That's what you'll do when your language gets at least a little bit popular. Discussion in TNB is much more likely to be noticed than discussion in a custom chatroom.) and let them use your language. Have one or two stable users other than you.

\$\endgroup\$
4
\$\begingroup\$

Make a good tutorial, and make your language accessible.

That's the main reason I started coding in MAWP. It's because:

  • It has an online interpeter which generates PPCG answers, and has a debugger.
  • It is not insanely hard to understand from it's website.

Those two criteria were more than enough to learn and implement things in it.

\$\endgroup\$
2
\$\begingroup\$

Port the Interpreter to JavaScript

Most of the answers here don't actually answer the question of how to best make the interpreter accessible to everyone. So I'll add a way that opens up the programming language to easy online usage.

Here is the process I'd use to make an online interpreter (it may not be the most efficient way, but thus far, it's the only way presented)

Step 1: Create a simple user interface

Ensure these things are present on the page:

  • Code box (where the program goes)
  • Input box (where the program's input goes)
  • Output box (self explanatory)

Step 2: Actually translate the base interpreter to js

Turn the program in the non-web-friendly language into js line by line.

You could look at transpilers (in this case, python to js). But make sure that it translates it properly. An example python transpiler is Transcrypt.

Step 3: Link js and html

This is pretty simple: use things like <script> tags to include the js files.

And that's it. This is highly oversimplified, but it's a reasonable method of making an online interpreter.

I'd recommend hosting your interpreter on something like Github Pages (which is 100% free).

\$\endgroup\$
  • \$\begingroup\$ Ok, I'm going to learn JS now... \$\endgroup\$ – null Aug 20 '20 at 9:08
  • 3
    \$\begingroup\$ Without the permalink feature, your interpreter isn't going to be useful. So remember to implement the permalink feature as well! \$\endgroup\$ – user96495 Aug 20 '20 at 13:00
  • \$\begingroup\$ @HighlyRadioactive If your original code was written in a native (no GC) language or CPython, you can compile to WASM? \$\endgroup\$ – noɥʇʎԀʎzɐɹƆ Aug 27 '20 at 13:10
  • \$\begingroup\$ @noɥʇʎԀʎzɐɹƆ Ah, yes. I want to introduce several new features such as a debugger though... \$\endgroup\$ – null Aug 27 '20 at 13:12
  • \$\begingroup\$ @HighlyRadioactive Well, there are actively maintained CPython WASM binaries if you want to keep it in Python. \$\endgroup\$ – noɥʇʎԀʎzɐɹƆ Aug 27 '20 at 16:08

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .