Crabs
Chinese Room Abstract Stack Machine C++ Data Driven App framework, ASCII Data Spec, SCRIPT Spec, Monoid AI research and Puff, World's fastest integer-to-string algorithm.
Install / Use
/learn @AStarStarship/CrabsREADME
Crabs
/\ /$$$$$$ /$$
( / @ @ () /$$__ $$ | $$
\ __| |__ / | $$ \__/ /$$$$$$ /$$$$$$ | $$$$$$$ /$$$$$$$
-/ " \- | $$ /$$__ $$|____ $$| $$__ $$ /$$_____/
/-| |-\ | $$ | $$ \__/ /$$$$$$$| $$ \ $$| $$$$$$
/ /-\ /-\ \ | $$ $$| $$ /$$__ $$| $$ | $$ \____ $$
/ /-`---'-\ \ | $$$$$$/| $$ | $$$$$$$| $$$$$$$/ /$$$$$$$/
/ \ \______/ |__/ \_______/|_______/ |_______/
🚀 We are calling all pioneers! We are building a new foundation for software, and we need your help to build the next generation of Games, Apps, and AI. Join the Mission below.
What is Crabs?
The Chinese Room Abstract Stack (Crabs) Machine is a high-performance, cross-platform implementation of the SCRIPT Specification (Serial Chinese Room, Interprocess, and Telemetry Specification).
We are remaining the C++ ecosystem by replacing the standard library with a modern, embedded-friendly alternative. Crabs is designed for Webapps, Games, Artificial Intelligence, and Distributed Systems where performance, determinism, and precise memory control are paramount.
Why Crabs?
- ⚡ Ultra-Fast Performance: Our Uniprinter and custom ASCII Data Types are optimized for CPU cache performance, replacing slow standard library components like
printfandstd::stringwith blazing fast alternatives. - 🧠 Built for AI & Logic: Modeled after the Chinese Room Thought Experiment using cutting-edge monoid AI structure to prune off invalid and unuseful expression combinations for string-in-string-out compiler optimization using group theory symmetry.
- 🎮 Game Engine Ready: With optional dynamic memory and no garbage collection pauses, Crabs provides the low-level control required for high-performance game engines.
- 🛠️ Modern Embedded-C++: A clean slate. We use a simplified Crabs Module format and custom containers (
Array,List,Stack) to create a robust, dependency-free environment.
Join the Mission
We are an ambitious open-source project looking for volunteers who want to learn deep C++ and help shape a new ecosystem. Whether you are a veteran systems engineer or a student looking to learn, there is a place for you here.
We need help with:
- Webapp Development: Building cross-platform app libraries with async IO and that easily map to any programming language and operate across assembly line boundaries.
- Game Development: Building demos, physics integrations, and rendering loops using Crabs.
- AI Integration: Implementing the Chinese Room logic and linear ID systems.
- Core Systems: optimizing our custom memory allocators and data structures.
- Community & Docs: Helping others understand the ASCII Chinese Room philosophy.
"I've been working on this specification for a long time, and I am looking for a community to help bring this vision to life. I worked for many years to make the ASCII Data Specification make sense for creating a Chinese Room, and it would be a lot of fun to make some modern AI, games, and apps with it." — AStarCale, Founder/Code Monkey
👉 Ready to help? Check out our Good First Issues or introduce yourself in the Discussions!
Key Features
- ASCII Data Specification: An Abstract Data Type Specification defining a contiguous memory layout optimized for Data Driven Design and Development.
- Uniprinter: Ultra-fast Unicode string processing featuring the Puff Algorithm, the world's fastest integer-to-string algorithm that uses discrete math to eliminate over half the division instructions of the industry-standard mod 100 div 100 loop.
- Seam Testing: A low-cost, in-order tree-based unit test framework for Agile and Issue Driven Development.
Documentation
- SCRIPT Specification - Release for Comment for Serial Chinese Room, Interprocess, and Telemetry (SCRIPT) Specification.
Quickstart
- Set Breakpoints: Open
Test.hppand set a breakpoint in the first function where the comment instructs. This allows us to capture the stack frame programmatically. - Setup Workspace: Copy the
_Seamsdirectory to your workspace and rename the folder to your liking. - Run Tests: Delete unneeded seams and modify the
COutseam test to suit your project.
License
Copyright AStarship™.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
