Nibbles Home
Nibbles is a code golf language for mortals (it aims to be good at code golf while remaining relatively simple). It is also purely functional, statically typed, and fully lazy. Syntax is Polish (prefix) notation. Each instruction is half a byte when automatically converted from ascii to the binary form.
Currently there are 86 ops which is far fewer than other competitive competitive golf languages which are typically around 400 ops. There are some special rules explained in minutiae, but overall the core language is simple too. Most of the work on the implementation is for static type analysis, error handling, and managing the automatic conversion between the literate and binary form. Things that you don't have to think about!
In my experience on golf.shinh.org nibbles is shorter than GS2 and Jelly about 75% of the time. It is also much easier to write thanks to optional identifiers in the literate form.
Example: FizzBuzz
This program appears as 28 characters here, but each takes only half a byte in the binary form (except for the digits and string text). It is trivially encoded as 18 bytes. That's pretty decent considering 8 of those bytes are for the text FizzBuzz.
$?,:^-~%$3"Fizz"^-~%$5"Buzz"
Resources
The tutorials can teach you the language.
Also check out the Why page if you're interested in the ideas behind Nibbles.
Where to Golf?
Good places to use Nibbles for competing online are:
- Anarchy Golf (my old favorite and still good)
- Code Golf Stack Exchange (most active) (see chat)
Feedback?
Bug reports, pain points, suggestions, and code reviews are appreciated (I'm new to Haskell), make a push request or email me at
News
May 12, 2023: Created nibbles chatroom.
May 9, 2023: Now you can use Nibbles online, thanks to the work of pxeger over at Attempt This Online!
June 19, 2022: Version 1.00 release. There are only bug changes since last version. Incrementing to 1.00 because I have no immediate plans to add features or make changes and the language as been stable for a few months. However there is still improvement possible and room for future extensions, I am certainly up for accepting changes from others.
March 4, 2022: Add Stats page which analyzes Nibbles ops use and win rate.
Jan 24, 2022: Check out Nibbles Commenter by tails for more verbose decompiles of nibbles solutions on anarchy golf. Especially nice for solutions to older problems with changes that weren't backwards compatible.
Dec 21, 2021: Nibbles is in Beta. Happy solstice and golfing! The language should be mostly stable except for bug fixes and documentation for a while.
June 29, 2021: Nibbles is in Alpha! If you post code please designate it as Nibbles Alpha so as not to be confusing later when it becomes broken by language changes.