ponylang v1.0.2
PonyLang ๐ฆโจ
A magical programming language that brings friendship and joy to coding!
โญ Features
- Simple and friendly syntax inspired by ponies
- Built-in string interpolation with sparkles โจ
- Fun keywords like FRIENDSHIP and MAGIC
- Full Unicode support including emojis ๐
- Array operations with HERD type
- Built-in color support for terminal output
๐ Installation
Via NPM (recommended)
Global installation: npm install -g ponylang
Verify installation: ponylang --version
From Source
Clone the repository: git clone https://github.com/bronymiau/ponylang.git cd ponylang
Install dependencies: npm install
Build and link locally: npm link
Requirements
- Node.js v12.0.0 or higher
- npm v6.0.0 or higher
๐ฎ Quick Start
- Create a file
hello.pony
:
FRIENDSHIP "Hello, Pony World!"
MAGIC number = 42 FRIENDSHIP ๐ฆThe magic number is {number}๐ฆ
Create an array (HERD) MAGIC scores = HERD10, 20, 30 RAINBOW score IN scores { FRIENDSHIP ๐ฆScore: {score}๐ฆ }
- Run it: ponylang hello.pony
๐ Language Basics
Keywords
FRIENDSHIP
- Print to consoleMAGIC
- Variable declarationRAINBOW
- Loop constructHERD
- Array typeHARMONY
- Function declarationCASTLE
- Object declarationPINKIE
- Return statement
String Interpolation
Use ๐ฆ for string interpolation:
MAGIC name = "Rainbow Dash" FRIENDSHIP ๐ฆHello, {name}!๐ฆ
Functions
HARMONY addNumbers(a, b) { PINKIE a PLUS_PLUS b }
Objects
CASTLE pony { name: "Twilight Sparkle", power: 100 }
๐ ๏ธ Development
Running Tests
npm test
Starting REPL
npm run repl
๐ Documentation
For detailed documentation, visit our Wiki
๐ค Contributing
Contributions are welcome! Please read our Contributing Guide
๐ License
This project is licensed under the MIT License - see the LICENSE file for details
๐ Examples
Check out the examples/
directory for more sample code:
- Basic syntax:
examples/basic.pony
- Functions:
examples/functions.pony
- Arrays:
examples/arrays.pony
- Advanced game:
examples/advanced/game.pony
๐ Bug Reports
Found a bug? Please open an issue on our GitHub Issues page.
โจ Credits
Created with love by bronymiau and the PonyLang community.