[Jam Submission] CurtaCode — Your All-In-One IDE for the Curta systems programming language!
fuzzyastrocat

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:

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!

You are viewing a single comment. View All
fuzzyastrocat

@HahaYes (no comment needed, the ping name says enough)