-
-
Notifications
You must be signed in to change notification settings - Fork 452
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replaces NTSL in favour of João, a new programming language #12517
Conversation
The debug verb for running João now at least works, and this extools binary has a working copy of João to call. Commit for this extools binary: yogstation13/extools@97510dc
Doing this has been a huge pain, but, hey, it kinda displays syntax highlighting incorrectly. Woo! I don't really know what commit this dll binary is from and I don't really care.
...except for the code editor 😉 Honestly mildly embarrassed at how long it took me to write this but that's neither here nor there
The syntax highlighting isn't very comprehensive nor well-programmed but it is now working. Huzzah!
It works! 🎊 Accidentally removed the Poly achievements with this commit but I pinky promise to put them back later. <3
This is... probably an improvement.
How are we supposed to pronounce the name of this language? |
JO-AIE-UH |
so your genius plan here is to give people access to a full programming language virtual machine, written in C++ RUNNING ON YOUR SERVER? |
Idk why anyone bothers with these programming PRs because the only people who use them are exploiters and coders (coders don't play the game anyway). |
honestly the more I thought about this the more I realised this is just what byond already is so jokes on me I guess. |
WHERE JO-A-AEY |
soon ;-; |
Can't really be worked on until #13479 is merged or otherwise resolved. The language itself however is in active development; you can see my progress over the last year at this repository. |
Will this have inbuilt support for Regex? Would be really nice for comms stuff |
Probably not at launch, but I do want to set up a basic regex engine eventually. |
Cleaning up the old PRs. I'll notify you when auxmos is merged. Feel free to reopen now or anytime later, very cool project. |
IMPORTANT:
Summary
Hi guys, it's NTSL man again, finally here to pull the trigger and put it out of its misery.
NTSL has always been a slow and questionably-designed language, and when working on it I've always wanted to write a language of my own design, that could run faster and be more accessible to new programmers.
The Language
João is a programming language created by me over the last several months, with an actively-developed interpreter written in C++17. Jamie & others have greenlit me working on hooking it up to SS13 as a replacement for NTSL.
The new programming language is my reply to the design motifs of DM, with a design philosophy more akin to Lua. It has the goal of being minimalistic and relatively easy to pick-up and learn, as Lua is, while still having an object orientation that's analogous to DM's setup.
The Traffic Computer
This PR updates a lot of how the Traffic Computer looks and feels. It is now easier to navigate and far cleaner-looking. In addition, primitive syntax highlighting has been added to the programming window to improve the coding experience.
Wiki Documentation
The documentation is still a work in progress, as of writing. A partial doc has been written up as a Github Page thing, located here.
To-do Checklist
Changelog
🆑 Altoids
rscadd: The Traffic Computer (read: the NTSL computer) has gotten a glorious UI cleanup, with delightful TGUI polish!
rscadd: The Traffic Computer now attempts to do syntax highlighting on code written into it.
rscadd: Added Joao as the new telecomms scripting language. Check the PR, Discord, and elsewhere for documentation!
rscdel: Removed NTSL
bugfix: Fixed NTSL slowing the server down
tweak: Increased the maximum size and complexity of telecomms scripts to account for the faster programming language
spellcheck: The Traffic Computer finally has a description that (attempts) to explain what the hell it is.
/:cl: