Heady
Jinx
Heady | Jinx | |
---|---|---|
3 | 26 | |
41 | 291 | |
- | - | |
0.0 | 0.0 | |
about 2 years ago | over 1 year ago | |
C++ | C++ | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Heady
-
C++ Show and Tell - April 2022
I've recently made a small update to Heady, which is a C++ library and command-line tool used to create amalgamated single-header libraries from standard C++ source files. In the readme, I also describe how to prepare your source code for header amalgamation using four rules.
-
Example of a well organized header-only lib
If you're interested, I've made an open source utility called Heady that converts normal C++ library code into an amalgamated header file. You obviously have to follow a few rules and mark up your functions appropriately, but I've been using this successfully in my Jinx scripting library for a while now.
-
Jinx Scripting Language 1.3 released
In of the first sections in the tutorial and on the Github landing page, I mention that Jinx requires C++ 17, because I do make use of a few C++ 17-specific features. For example, one of those techniques makes it simpler to offer an amalgamated header-only version of the library. I specifically test on the big three: MSVC, Clang, and gcc, on Windows, Mac, and Linux respectively, so I typically don't use features not available on the latest versions of those OSes and their toolchains, or else offer conditional compilation.
Jinx
-
DreamBerd is a perfect programming language
Check out jinx https://jamesboer.github.io/Jinx/
-
what is your CI/CD pipeline setup and how are you handling larger binaries? are smaller game dev studios just brute forcing through LFS and building for each test?
Don't get me wrong, I'm a big fan of automated tests where it makes sense. I wrote a scripting language that I use for my personal game projects, and I never would have been able to do it if it weren't for the battery of tests for every feature, error, and corner case I could think of. But games are rarely like other software, with hard rules about what is "correct" or "incorrect". And it would be a nightmare to try to keep up with designers, constantly tweaking and tuning, so what's "correct" is literally a day to day, constantly moving target.
-
any modern procedural programming languages?
A second trial for you might be Jinx. Depending on your definition of procedural, Jinx is 100% only procedural. https://jamesboer.github.io/Jinx/
-
Which phases/stages does your programming language use?
Jinx (embeddable scripting language) works as following:
- How do I create a file that will automatically compile and run my c++ program when I double click it?
-
Is I already know C and OOP, do I basically already know C++?
Feel free to look at my own interpreter, written in modern C++. You're welcome to ask me if you have any questions.
-
I'm curious what a gameplay programmer would use a scripting language for
I use my own scripting language more like content, especially for things like one-off events and behaviors. Example: scripting special behaviors for a boss fight, or a room with a unique trap in it, or any other sort of one-off behavior that would be overkill for C++, but too complex for most other types of data-driven content. These days, visual scripting also helps to fill in these gaps between content and procedure.
-
What are the best free books for learning to write interpreters in C++?
You're welcome to look at my scripting language Jinx, written in modern C++. Just let me know if you have specific questions. Data flow is JxLexer.cpp -> JxParser.cpp -> JxScript.cpp. Most everything else is implementation details. Also, note the parer is pretty complex, mostly because Jinx has a crazily flexible syntax for functions.
-
Design examples for runtime scripting
Feel free to look at Jinx if you want an example of what I consider a fairly easy-to-use and integrate scripting system. Obviously, I'm a bit biased since I wrote it.
-
Is just UTF-8 support good enough?
If you're working in UTF-8 internally, you could just write your own UTF-16 to UTF-8 conversion functions to convert strings at API boundaries. I did this in my scripting language because I didn't want to bring in dependencies.
What are some alternatives?
muzero-cpp - A C++ pytorch implementation of MuZero
vigil - Vigil, the eternal morally vigilant programming language
seer - Seer - a gui frontend to gdb
funl - FunL programming language
nomenus-rex - A CLI utility for the file mass-renaming
RapidJSON - A fast JSON parser/generator for C++ with both SAX/DOM style API
ctcsound - Python Bindings for Csound using ctypes. Can be used from python2.x and python3.x as well.
utf8.h - 📚 single header utf8 string functions for C and C++
Magic Enum C++ - Static reflection for enums (to string, from string, iteration) for modern C++, work with any enum type without any macro or boilerplate code
langs
chrgfx - Converts to and from tile based graphics from retro video game hardware
zhetapi - A C++ ML and numerical analysis API, with an accompanying scripting language.