Inspiration
I've always repeated myself when building AI solutions, chaining custom prompts together to form a more structured, complex and contextual data model for UI's, but I wanted to make the process unbelievably simple! So I decided to create a simple language with a compiler (written in Node.js).
What it does
HeroML (Hero Markup Language) is a novel approach for setting up multi-step workflows to interact with AI models like OpenAI's GPT-3 and GPT-4.
How we built it
I first started brainstorming what the syntax would look like, and then studied up on what it takes to build programming languages. I first extract key aspects of the new HeroML syntax, convert the script to an Abstraction Syntax Tree, & then compute the node's to work in unison, returning the entire workflow of responses in one JSON object.
Challenges we ran into
A programming language has three essential parts, Sequence, Selection & Loops.
Sequence was somewhat straightforward, Selection was a little more difficult, since I had to generate new variables per sequence, and Loops were the hardest, since I had to implement a sub-step index or array type actions from HeroML, and properly display them in the JSON.
Accomplishments that we're proud of
- Learning about Abstract Syntax Trees
- Writing my first programming language that I actually want to use
- Contributing to the open-source community
- Creating a new file extension (.heroml) as well as publishing a Syntax Highlighter Extension on VSCode
What we learned
I learned to never underestimate engineers who work on creating, labelling & publicising commonplace languages like Javascript, Python, etc.
I also learned that engineers who build compilers are on a different level of genius.
What's next for HeroML
I want to reach out to some developers at Python, and thought I know this project is small, see if they have any tips on scaling this open-source solution to make it usable for others, to quickly build simple, but powerful custom apps.
Log in or sign up for Devpost to join the conversation.