{"repo":"samdze/playdate-nim","free":true,"listed":false,"github":"https://github.com/samdze/playdate-nim","clone":"git clone https://github.com/samdze/playdate-nim.git","description":"Nim bindings with extra features for the Playdate SDK","language":"Nim","stars":81,"topics":["game-development","nim","nim-lang","playdate","playdate-sdk"],"license":null,"category":"game-templates","readme_excerpt":"Nim Playdate About Playdate Nim bindings, aiming to provide: - C comparable performance - Concise and easy syntax - More ergonomic API over the C API - Automatic memory management The main takeaway is that, while this is to some extent a 1 to 1 mapping of the C API, it also adds extra features such as reference counted memory, OOP syntax, many other nice to haves and enhanced developer experience. The bindings are perfectly usable but a few breaking changes are expected on the road to v1.0. Here's a quick comparison between the main languages usable on the Playdate: Language C Lua Nim :---- ---- ---- ---- Performance ✔ Great Decent ✔ Great Memory Management ✖ No management ✔ Garbage collected ✔ Reference counted Memory usage ✔ Lowest Acceptable ✔ Low Typing Static Dynamic Static API Low level High level Mixed Syntax Quite easy ✔ Easiest & concise ✔ Easy & concise Error checking Basic compile + runtime ✖ Mostly runtime ✔ Compile time + runtime OOP ✖ Not supported ✔ Supported ✔ Supported This package is an independent bindings library, not affiliated with Panic. Getting Started Prerequisites - Playdate SDK - Nim 2+ (recommended extension for VSCode) - Nimble 0.14.2+ (check with nimble -v ) - PLAYDATE SDK PATH environment variable - SDK Prerequisites based on OS, and MinGW on Windows. Make sure the gcc-arm-none-eabi toolchain being used is the one shipped with the Playdate SDK. If you're using a package manager like Homebrew, another gcc-arm-none-eabi installation could shadow t","default_branch":null,"files":null,"tree":[],"storefront":"/r/samdze","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/samdze/playdate-nim/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}