No project description provided
Project description
Vernac: programming (in) language
Vernac is a tool for writing software in "vernacular"—plain language. 📖
Vernac isn't for turning English into code; it's for turning English into programs:
$ cat fizzbuzz.vn
print all the numbers between 1 and 100
print 'fizz' instead of the number if it’s divisible by 3
print 'buzz' if it’s divisible by 5
$ vernac fizzbuzz.vn -o fizzbuzz
$ ./fizzbuzz | head -n 5
1
2
fizz
4
buzz
Caution
Be careful: Vernac is an unstable and somewhat whimsical experiment.
You shouldn't use it in production. You might, however, find it more useful than you expect.
Motivation
To state the obvious: Vernac just does some LLM prompting and generates code under the hood.
Its value is in bundling together known prompts and annoying packaging steps so you can go from English to an executable program in one step.
The dream is that you check the English into git, not the code.
Every modern programmer already uses ChatGPT to generate code, then copies the code into their own source file. That’s a bit like writing your application in assembly and occasionally pasting in output from your compiler. Stay in the highest-level language you have for as long as you can! Today, in the GPT era, our highest-level language is English.
Missing features
- Modules
- Documentation
- API lookup
- Error messages
- Configuration
- Implicit self-tests
- Explicit self-tests
- IDE plugins
- Integration with other languages
- Anything non-Linux or non-Python
- Anything to prevent your programs from behaving differently every time you recompile
- …
FAQs
What about non-English languages?
They are likely to work, but less likely than English.
This is a joke, right?
Is it? You tell me. :)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.