[Jam Submission] CurtaCode — Your All-In-One IDE for the Curta systems programming language!
A while back, for the langjam, I made a systems programming language named Curta. I've decided to revamp Curta and really make it something special, bringing a new flavor to its event-driven nature.
The actor-message model
Let's look at people who use repl talk. Imagine they have nothing else to do in their life except check repl talk for comments. How would their routine go?
- Wait for someone to make a comment
- Look at the comment
- Based on the comment, decide what to reply/comment (or if to reply at all)
- Repeat
This little cycle is the premise of the actor-message model. In our scenario, the repl-talkians are the actors and the comments are the messages.
Curta is based around this system because the real world is very much like this — things happen (messages), which should be responded to by our program (actors). We can represent the above example in Curta like so:
actor Repl_Talkian handles Comment as COMMENT_MSG; end proc COMMENT_MSG content do /- decide what to do about the content -/ end
Yes, it's that simple. If you're intrigued by this idea, then I encourage you to check out the tutorial on CurtaCode by clicking the "What's this?" button!
CurtaCode itself
CurtaCode features custom syntax highlighting using a regular old HTML textarea! It works by placing a div behind the textarea and using that div to highlight. This is the only part of the codebase that was not written entirely from scratch — I got some snippets (but modified them for my own purposes) from here. However, I did not use a library, unlike the other submissions!
It also features a smooth UI with a cool, crisp dark theme.
UI Snapshots
Try CurtaCode in fullscreen!
I hope you enjoy! If you have any questions please comment!
Hmm, seems everyone loves to make editors xD. Nice one, I love it!
@RayhanADev Lol yeah, I wasn't expecting so many editors... though I'm the only one who wrote the syntax highlighting and everything without a library
@fuzzyastrocat hahahahah that’s true! Man I wish I had more time so I could actually submit mine, I was so close too..
@RayhanADev Well, it's auto-submitted so I guess you theoretically have a chance...
@fuzzyastrocat lol RIP, let’s hope they didn’t find the bugs 🐛
@RayhanADev I found a bug!
lol RIP, let’s hope they didn’t find the bugs 🐛
EDIT: Blech, markdown ruined my joke, supposed to be an arrow pointing to the bug emoji
The "compile" button is a liar... Isn't it technically "transpiling" :)
@Battledash2 This is where the terminology gets fuzzy. What I'm used to is compiler meaning "output a target of C or lower" — some may define it to mean "output a target of assembly or lower", in which case this would be a transpiler.
This syntax is horrendous.
@TysonBoring By "this syntax", do you mean:
- The syntax highlighting? If so, that's largely preference, I like this theme but others may not.
- The syntax itself? If so, I'm not sure why you find it horrendous. It's very Lua-like and uses words instead of symbols to make it more readable. The only symbol used is
|
, which is used due to its connotation as the unix pipe.
If this comment doesn't cover what you mean, could you elaborate?
@fuzzyastrocat By syntax I mean the words and symbols that constitute a given program.
@TysonBoring In that case, see bullet point two of my comment. If you have further thoughts please give them!
Not trying to be a mini-mod, but please, be respectful. Say why so they can improve. Don't be jerk* @TysonBoring
@Bookie0 No, it's not. Check the browser console, there must be something unsupported on your browser. (Given it's safari, this is a very viable possibility.)
Hum, yea I’m on safari prob why I’ll check back when I’m back on Mac :) @fuzzyastrocat
‘Repl talkians’ — lol nice name, like martians xD!
Very cool
@HahaYes Thank you
@fuzzyastrocat hahayes indeed
@HahaYes (no comment needed, the ping name says enough)
Very nice, what is Curta being compiled into?
@realTronsi Thank you! It gets compiled into plain C, so that it can work on any AVR platform (with avr-gcc
).
rip self confidence :D
gj tho, gl to you
@TsunamiOrSumth Lol thanks, same to you!
nice!
wow... this makes codeweb look easy...anyways, good luck with the jam! :D
@Kookiez Lol thanks, good luck to you too!