Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/RockstarLang/rockstar

The Rockstar programming language specification
https://github.com/RockstarLang/rockstar

Last synced: about 2 months ago
JSON representation

The Rockstar programming language specification

Awesome Lists containing this project

README

        

```
_____ _____ ______ ___ ______________ ____ ______
| _ \ / _ \ / ___/ /| / / / ______ _// || _ \
| |_) )/ / \ \/ / / |/ / ( (___ | | / || |_) )
| /( ( ) ( | \ \____ \ | |/ /| || /
| |\ \ \ \_/ /\ \___ | |\ \ _____) )| // / | || |\ \
|__| \ \ \_____/ \_____||__| \__\\______/ |//__/ |__||__| \__\
\ | ------------------------------------------------------
\ | h t t p s : // c o d e w i t h r o c k s t a r . c o m
\| ------------------------------------------------------
```

Rockstar is a dynamically typed computer programming language, designed for creating programs that are also song lyrics. Rockstar is heavily influenced by the lyrical conventions of 1980s hard rock and power ballads.

### But why?

Mainly because if we make Rockstar a real (and completely pointless) programming language, then recruiters and hiring managers won't be able to talk about 'rockstar developers' any more.

Also 'cos it's kinda fun and any language based on the idea of compiling Meatloaf lyrics has to be worth a look, right?

Plus we can make stickers. Who doesn't want a sticker on their laptop saying 'CERTIFIED ROCKSTAR DEVELOPER'?

## What's here?

* The [Rockstar language specification](spec.md)
* How to [contribute to Rockstar](CONTRIBUTING.md)
* Some [examples of Rockstar programs](examples/README.md)

## Implementations

The official reference implementation is [Satriani](https://github.com/RockstarLang/rockstar/tree/master/satriani) - written in JavaScript, it runs in browsers and supports NodeJS for server-side and larger projects.

[Rocky](https://github.com/gaborsch/rocky) is a fully spec-compliant Rockstar implementation written in Java, and is currently the only Rockstar implementation that includes support for the DEC64 numeric type that was described in the original language specification.

Other implementations:

* [rockstar-js](https://github.com/wolfgang42/rockstar-js) - Rockstar-to-JavaScript transpiler
* [rockstar-lexer](https://github.com/aitorres/rockstar-lexer) - Rockstar lexer written in Haskell with Alex
* [rockstar-java](https://github.com/nbrevu/rockstar-java) - Rockstar interpreter in Java
* [rockstar-ml](https://github.com/lkwq007/rockstar-ml) - Rockstar interpreter in OCaml
* [rockstar-py](https://github.com/yanorestes/rockstar-py) - Rockstar-to-Python transpiler
* [kaiser-ruby](https://github.com/marcinruszkiewicz/kaiser-ruby) - Rockstar to Ruby transpiler
* [sublime-rockstar-syntax](https://github.com/paxromana96/sublime-rockstar-syntax) - Syntax highlighter for Sublime Text 3
* [language-rockstar](https://github.com/thestd/language-rockstar) - Syntax highlighter for Atom
* [maiden](https://github.com/palfrey/maiden) - Rockstar interpreter in Rust ([online version using WebAssembly](https://palfrey.github.io/maiden/))
* [thrash](https://github.com/young-steveo/thrash) - Rockstar implementation in Go
* [rockstar-webpiler](https://github.com/cwfitzgerald/rockstar-webpiler) - Online Rockstar Parser and Transpiler. [rockstar.connorwfitzgerald.com](https://rockstar.connorwfitzgerald.com)
* [wasm-rocks](https://github.com/boyanio/wasm-rocks) - Online Rockstar-to-WebAssembly compiler
* [vim-rockstar](https://github.com/sirosen/vim-rockstar) - Syntax highlighting for vim
* [vscode-rockstar-language](https://github.com/ra100/vscode-rockstar-language) - Syntax highlighting for VSCode
* [chirp](https://github.com/Suloch/chirp) - Rockstar interpreter in C using flex and yacc
* [rockstar-feat-csharp](https://github.com/theolivenbaum/rockstar-feat-csharp) - Embed Rockstar on your C# code using source-code generators
* [sellout](https://github.com/davidadsit/sellout) - Rockstar to C# (dotnet core) transpiler
* [native-rockstar](https://github.com/gillesdami/native-rockstar) - Rockstar to C++ transpiler in javascript.
* [rokkstar](https://github.com/ascheja/rokkstar) - Rockstar parser and interpreter written in Kotlin.

## Social Spaces
* [Rockstar on Rosetta Code](http://www.rosettacode.org/wiki/Category:Rockstar)
* [/r/RockstarDevs](https://www.reddit.com/r/RockstarDevs/) - Subreddit
* [Rockstar Developers](https://discordapp.com/invite/xsQK7UU) - Discord Group

## Media Coverage
* [Meet the boffin behind a computer programming language based on power ballads](https://www.loudersound.com/features/meet-the-boffin-behind-a-computer-programming-language-based-on-power-ballads) in Classic Rock magazine.
* [Rockstar article on BoingBoing](https://boingboing.net/2018/07/25/hello-cleveland-world.html)
* [Rockstar on HackerNews](https://news.ycombinator.com/item?id=17585589)
* [Rockstar on /r/ProgrammerHumor](https://www.reddit.com/r/ProgrammerHumor/comments/934uvw/why_yes_i_am_a_certified_rockstar_developer/)
* [Rockstar on dice.com](https://insights.dice.com/2018/07/27/rockstar-programming-language-developers/)
* [The Rockstar Programming Language | Mitigated Frenzy](https://bparsia.wordpress.com/2018/09/11/the-rockstar-programming-language/) - see also their solution to the [Rainfall problem](https://bparsia.wordpress.com/2018/09/12/rockstar-rainfall-problem/#comment-1624)
* [Rockstar reference on Coding Blocks Podcast](https://www.codingblocks.net/podcast/lightning-talks/)
* [Rockstar on .NET Rocks! Podcast](https://www.dotnetrocks.com/?show=1636)

## See Also

* [Enterprise™](https://github.com/joaomilho/Enterprise) - "The world is not made only of Rockstar programmers. For all the non hipsters out there, now there's Enterprise™"