{"id":13599522,"url":"https://github.com/Rick-Lang/rickroll-lang","last_synced_at":"2025-04-10T13:30:40.452Z","repository":{"id":40325458,"uuid":"367934588","full_name":"Rick-Lang/rickroll-lang","owner":"Rick-Lang","description":"The Rick Roll programming language is a rickroll based, process oriented, dynamic, strong, esoteric programming language. All of the keywords/statements are from Rick Astley's lyrics. Check our tutorial site, https://rick-lang.github.io/programming-language-explainer/","archived":false,"fork":false,"pushed_at":"2025-02-08T17:07:26.000Z","size":44223,"stargazers_count":757,"open_issues_count":9,"forks_count":52,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-02-08T18:20:35.816Z","etag":null,"topics":["abstract-syntax-tree","ast","compiler","esoteric-language","esoteric-programming-language","interpreter","language","meme","memes","never-gonna-give-you-up","programming-language","python","python3","rick-astley","rick-roll-language","rickroll","rickroll-lang","transpiler","youtube"],"latest_commit_sha":null,"homepage":"https://rick-lang.github.io/rickroll-lang/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Rick-Lang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["SatinWuker"],"patreon":"Satin Wuker"}},"created_at":"2021-05-16T16:37:07.000Z","updated_at":"2025-02-08T17:07:31.000Z","dependencies_parsed_at":"2024-01-14T04:45:09.081Z","dependency_job_id":"e9461332-f9d2-4a08-8615-650e54a43233","html_url":"https://github.com/Rick-Lang/rickroll-lang","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rick-Lang%2Frickroll-lang","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rick-Lang%2Frickroll-lang/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rick-Lang%2Frickroll-lang/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rick-Lang%2Frickroll-lang/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Rick-Lang","download_url":"https://codeload.github.com/Rick-Lang/rickroll-lang/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248225705,"owners_count":21068078,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["abstract-syntax-tree","ast","compiler","esoteric-language","esoteric-programming-language","interpreter","language","meme","memes","never-gonna-give-you-up","programming-language","python","python3","rick-astley","rick-roll-language","rickroll","rickroll-lang","transpiler","youtube"],"created_at":"2024-08-01T17:01:05.830Z","updated_at":"2025-04-10T13:30:38.342Z","avatar_url":"https://github.com/Rick-Lang.png","language":"Python","funding_links":["https://github.com/sponsors/SatinWuker","https://patreon.com/Satin Wuker"],"categories":["Uncategorized","Python"],"sub_categories":["Uncategorized"],"readme":"\n\u003cimg src=\"https://avatars.githubusercontent.com/u/83736946?s=200\u0026v=4\" align=\"right\" width=\"150\" height=\"150\"/\u003e\n\u003cbr\u003e\n\n# Rickroll Programming Language\n![License](https://img.shields.io/badge/License-MIT-red?style=for-the-badge\u0026logo=appveyor)\n![Build](https://img.shields.io/badge/Build-passing-green?style=for-the-badge\u0026logo=appveyor)\n![RickRoll PL Community](https://img.shields.io/discord/1071835028251738184?color=red\u0026label=Community%20Chat\u0026style=for-the-badge)\n![Original Server](https://img.shields.io/discord/915760402195959861?color=yellow\u0026label=Original%20Server\u0026style=for-the-badge)\n![Python](https://img.shields.io/badge/Python-3.8%2B-brightgreen?style=for-the-badge\u0026logo=appveyor)\n![Vscode Installs](https://img.shields.io/visual-studio-marketplace/azure-devops/installs/total/FusionSid.rickroll-lang?label=Vscode%20Installs\u0026style=for-the-badge)\n![Vscode Downloads](https://img.shields.io/visual-studio-marketplace/d/FusionSid.rickroll-lang?label=Vscode%20downloads\u0026style=for-the-badge)\n![HitCount]( https://img.shields.io/endpoint?url=https%3A%2F%2Fhits.dwyl.com%2FRick-Lang%2Frickroll-lang%3Fcolor%3Dyellow\u0026style=for-the-badge\u0026label=Recent%20Views)\n\u003cbr\u003e\nRick Roll Programming Language, a language that is rickroll-based!\n\n![](https://repository-images.githubusercontent.com/367934588/4a27ae00-b73b-11eb-801b-36dd1756dc93)\n\n## Hello World\n**Although Rickroll can be transpiled into Python3, their syntaxes are not completely similar**\n1. Rickroll-lang doesn't need indentation\n2. The code must be written inside the main method, otherwise the interpreter will not execute\n3. **The keywords can be separated freely**\n\nRickroll-Lang:\n```\ntake me to ur heart\n    give msg up \"Never gonna give you up, never gonna let you down~\\n\"\n    i just wanna tell u how im feeling msg\nsay goodbye\n```\nEquivalent to Python\n```python\nif __name__ == '__main__':\n  msg = \"Never gonna give you up, never gonna let you down~\\n\"\n  print(msg, end='')\n\n```\n\nEquivalent to C++\n```c++\n#include\u003ciostream\u003e\nusing namespace std;\nint main(int argc, char* argv[]){\n    string msg = \"Never gonna give you up, never gonna let you down~\\n\";\n    cout\u003c\u003cmsg;\n}\n```\n**And you can get the output on your terminal:**\n\n```\n⡀⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠉⠁⠀⣀⣀⠀⣀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⡀⠀⠀⠀\n⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣛⣿⣿⣷⣿⣿⣯⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣏⠉⣿⠉⢹⠟⢉⠉⢻⣿⠉⢻⠋⠙⡏⣿⠋⢻⡏⠉⣿⠉⣉⣻⠀\n⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣻⡀⠈⢀⣿⠀⢸⠀⠀⣿⠀⢸⠀⠰⣿⣿⠀⢸⠁⢀⡟⠀⢹⣿⠀\n⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⡿⠿⠿⢿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣧⠀⣼⣿⠀⢸⡀⠀⣏⠀⢸⠀⠀⣿⣿⡄⠘⠀⢸⡇⠀⢰⣾⠀\n⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡿⠋⠀⠀⠀⠀⠀⠈⠉⠉⠁⠀⠀⠈⢻⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣀⣿⣿⣆⡈⢁⣰⣿⣄⠘⢀⣼⣿⣿⣇⣀⣀⣼⣧⣀⣈⣹⡇\n⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⣿⣿⣿⣿⣿⣿⠟⠿⢿⣿⠿⠛⠛⠻⠿⠿⠻⠛⠉⠉⠉⠀\n⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⠀⠀⢀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣧⣄⠀⠀⠀⠀⠀⠀⣴⠶⡶⠿⣿⣿⠿⠿⢿⡿⠿⠿⣿⠿⢿⡿⢿⡿⠀⠀⠀⠀⠀⠀⠀\n⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⣿⣿⠀⠀⢨⣭⣽⣿⡇⠀⢠⣾⣿⣿⣷⣆⠀⠀⢸⣿⠀⠀⠀⠀⠀⠀⣿⠀⢱⡆⠈⣿⠀⢴⣾⡇⠀⣶⣿⠀⠘⡇⠀⡇⠀⠀⠀⠀⠀⠀⠀\n⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⠉⠛⠀⠀⠀⠀⠉⠁⠀⠀⠘⡏⠉⠉⠛⠋⠀⣠⣼⣿⠀⠀⠀⠀⠀⠀⣿⠀⢨⡁⠺⣿⠀⣈⣹⡇⠀⣉⣿⠀⡀⠁⠀⡇⠀⠀⠀⠀⠀⠀⠀\n⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⢹⡄⠀⠀⠀⠀⣿⣿⡿⠀⠀⠀⠀⠀⠀⣿⠀⠸⠇⠀⣿⠀⠹⢿⡇⠀⠿⢿⠀⢸⡀⠀⡇⠀⠀⠀⠀⠀⠀⠀\n⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⢷⣄⡀⠀⢠⡾⠋⠀⠛⢶⣶⣾⡇⠀⣠⠄⢰⣿⠟⠀⠀⠀⠀⠀⠀⠀⠻⢶⣶⡶⠚⠓⠶⠶⠾⠷⠶⠶⠾⠶⠾⠳⠾⠟⠀⠀⠀⠀⠀⠀⠀\n⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣹⡷⣠⠏⠙⢷⣶⠲⠶⠶⣷⣶⡿⠋⢀⣾⠃⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣹⣧⡀⢀⠀⠀⣀⣀⣀⡀⢀⣀⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀\n⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⠟⣫⣽⠃⠀⠀⠀⠉⠉⠙⠛⠋⠀⠀⢀⣾⡃⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠉⢉⡉⠻⡏⠉⣿⠟⢉⡉⠙⣿⠉⢹⡏⢉⡿⠀⠀⠀⠀⠀⠀⠀\n⠀⠀⠀⠀⠀⠀⠀⠀⢀⡴⠛⠁⠀⣼⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⡏⢳⡄⠀⠀⠀⠀⠀⠀⠀⠀⣿⠀⠸⠇⣰⡇⠀⣿⠀⢸⣧⣀⣿⠀⠈⠀⣼⠁⠀⠀⠀⠀⠀⠀⠀\n⠀⠀⠀⠀⠀⠀⢀⣴⠏⠀⠀⠀⢸⣿⣿⡀⠀⠀⠰⣦⣄⡀⣀⣤⡾⣿⣿⣧⠀⠻⢦⣄⡀⠀⠀⠀⠀⠀⣿⠀⢸⠀⠈⡇⠀⣿⠀⢸⡟⠛⣿⠀⢠⠀⢹⣆⠀⠀⠀⠀⠀⠀⠀\n⠀⠀⠀⠀⠀⠀⠘⠁⠀⠀⠀⠀⣾⣿⣿⣷⣄⡀⠀⠙⠿⣿⣏⣽⣿⣿⣿⣿⠄⢸⣧⠈⠙⠶⣤⣀⠀⠀⣿⣀⣸⣄⣠⣷⣀⣿⣦⣀⣁⣠⣿⣀⣸⣧⣀⣿⠀⠀⠀⠀⠀⠀⠀\n⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣿⣶⣶⣶⣿⣿⣿⣿⣿⣿⣿⠀⠀⠹⣆⠀⠀⠀⠉⠳⣦⡀⠉⠉⠙⠻⣿⠉⠁⠀⠉⠉⠀⠀⠈⠉⠀⠉⠹⠇⠀⠀⠀⠀⠀⠀\n⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠛⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⢿⡆⠀⠀⠀⠀⠻⣿⠓⠒⠲⢦⣹⠷⠒⠲⣶⡖⠒⣶⣶⠒⢶⣾⠗⠒⠲⡶⠒⡖⠶⣄\n⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⡞⣿⠀⠀⠀⠀⠀⢹⠀⢹⡀⢈⡏⠀⣿⠀⢸⡇⠀⣿⡟⠀⢸⣿⠀⢸⣶⡇⠀⢳⠀⢸\n⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⢀⣰⠃⢹⡆⠀⠀⠀⠀⢸⠀⢠⠀⠛⡇⠀⣿⠀⢸⡇⠀⣿⡇⠀⢸⣿⠀⢠⣬⡇⠀⢸⠀⢸\n⠀⠀⠀⠀⠀⠀⠀⠙⠛⠛⠋⠉⠀⠺⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠶⠞⠋⠀⠀⠀⢿⠀⠀⠀⠀⣸⠀⢸⠀⢰⣧⠀⠛⠀⣸⡇⠀⠛⣧⠀⠘⢻⠀⠘⠛⡇⠀⠚⠀⢸\n```\n\n\u003cbr\u003e\n\nSorry, it's this:\n```\nNever gonna give you up, never gonna let you down~\n```\nThe keywords can be separated freely\n```\ntakemetourheart\n    give msg up \"Never gonna give you up, never gonna let you down~\\n\"\n    i justwanna telluhowim feeling msg\nsay good bye\n```\nThis is also executable\n\n## Run Code\nExecute by converting .rickroll to Python\n```shell\npython RickRoll.py [Source Code File Name]\n```\nExecute by converting .rickroll to C++ (Requires g++ compiler and has numerous bugs)\n```shell\npython RickRoll.py -cpp [Source Code File Name]\n```\nExecute by interpreter\n```shell\npython RickRoll.py -intpr [Source Code File Name]\n```\nIf you want to know the execution time:\n\u003e Add \"--time\"\n```shell\npython RickRoll.py [Source Code File Name] --time\n```\nGenerate and play audio from .rickroll\n```shell\npython RickRoll.py [Source Code File Name] --audio\n```\n\n## Requirements\n- [Python libraries](https://github.com/Rick-Lang/rickroll-lang/blob/main/requirements.txt)\n- [Python 3.8+](https://www.python.org/downloads/release/python-380/)\n- G++ compiler (For translating RickRoll to C++)\n\n\n## Features\n- *[Turing-complete](https://en.wikipedia.org/wiki/Turing_completeness)*\n- *Support [Python 3.6+](https://www.python.org/downloads/release/python-3610/)*\n- *Keywords/statements are all coming from [Rick Astley's](https://en.wikipedia.org/wiki/Rick_Astley) lyrics*\n- *Keywords can be separated freely*\n- *[Examples](https://github.com/Rick-Lang/rickroll-lang/tree/main/examples) to get started*\n- *Translate RickRoll source code to Python3 and C++*\n- *[Generate and play audios from .rickroll source code](https://github.com/Rick-Lang/rickroll-lang#Generate-Audio)*\n- *Chinese, Russian, and English documentation* (Hope you guys can pull request docs in other languages lol)\n- [*An editor for writing .rickroll code*](https://github.com/RedEnder666/RickRoll_IDE)\n- [*A Vscode extension*](https://marketplace.visualstudio.com/items?itemName=FusionSid.rickroll-lang)\n\n\n## Generate Audio\nCommand:\n```\npython RickRoll.py [Source Code File Name] --audio\n```\nAfter running this command, the generator is gonna generate audio from the .rickroll program and play it on your terminal\n\n![](https://github.com/Rick-Lang/rickroll-lang/blob/main/img/au_generator.PNG)\n\n## Documentation\n**[English](Docs/doc.md)**\n\u003cbr\u003e\n**[简体中文](Docs/doc-Ch.md)**\n\u003cbr\u003e\n**[Русский](Docs/doc-RU.md)**\n\u003cbr\u003e\n**[Francais](Docs/doc-FR.md)**\n\u003cbr\u003e\n**[हिंदी](Docs/doc-HI.md)**\n\u003cbr\u003e\n**[عربي](Docs/doc-AR.md)**\n\u003cbr\u003e\n**[Português](Docs/doc-PT-BR.md)**\n\u003cbr\u003e\n**[Español](Docs/doc-SP.md)**\n\u003cbr\u003e\n**[ภาษาไทย](Docs/doc-TH.md)**\n\n# Rickroll-lang Editor\n1. A well-coded code editor by *RedEnder666*: https://github.com/RedEnder666/RickRoll_IDE\n2. The VSCode extension by *FusionSid*: https://github.com/FusionSid/Rickroll-Lang-VScode-Extension and https://marketplace.visualstudio.com/items?itemName=FusionSid.rickroll-lang\n\n# Todo!\nIn order to make RICKROll becoming a world heritage, YOU and I still have a bunch of things to do!\n1. Add more keywords and built-in functions\n2. Write algorithms in RickRoll-Lang and upload them to [examples folder](examples).\n3. Make syntax highlights for [VS Code](https://code.visualstudio.com/api/language-extensions/syntax-highlight-guide) and [Sublime](https://www.sublimetext.com/docs/syntax.html)!\n4. Improve the current audio generator!\n5. Improve the RickRoll interpreter!\n6. Support \"writing code by singing\"!\n7. Design a better icon!\n8. [**SPREAD RICKROLL EVERYWHERE!!!**](https://www.bilibili.com/video/BV1uT4y1P7CX)\n\n# Rickroll Language Website\n**[https://rickroll-lang.tech/introduction/](https://www.youtube.com/watch?v=dQw4w9WgXcQ)**\n\u003cbr\u003e\n**_or_**\n\u003cbr\u003e\n**https://rick-lang.github.io/rickroll-lang/**\n\n# Offcial Discord Server/Contact\nhttps://discord.gg/bRrbZPjVDH\nJoin this server to chat with cool people or for support\n\nWechat/微信: SatinWuker540\n\u003cbr\u003e\nDiscord: satinwuker\n\u003cbr/\u003e microsoftenjoyer\n\n# Purpose\nDespite the fact that the Rickroll Language is considered an esoteric programming language, it has its unignorable significance. I believe that rickroll is not only the source of happiness for the younger generation but also the most elegant and paramount art in human history, and the cardinal stepping stone to the transition toward a much more advanced civilization. The purpose of the Rickroll Language is to introduce this art to people in a distinctive way – programming.\nJust kidding haha, the Rickroll Language is actually an educational project for introducing various ways of implementing programming languages in a humorous and interactive way, without any painful processes of memorizing unfamiliar and complicated concepts! Our website for programming language tutorials: **https://rick-lang.github.io/programming-language-explainer/**.\n\n# Related Repos\nHere are the projects that are inspired by Rickroll-lang\n1. [Ricky](https://github.com/Rick-Lang/Ricky)\n2. [Rickroll-lang API](https://github.com/FusionSid/RicklangAPI)\n3. [RickRoll IDE](https://github.com/RedEnder666/RickRoll_IDE)\n4. [Rick Astley Bot](https://github.com/FusionSid/Rick-Astley-Bot)\n5. [Rickroll Lang Vscode extension](https://github.com/FusionSid/Rickroll-Lang-VScode-Extension)\n6. [The Rickroll-language Interpreter and Compiler Kit](https://github.com/Rick-Lang/trick)\n\n# Credit: Rick Astley\n Youtube: https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw\n\u003cbr/\u003e Twitter: https://twitter.com/rickastley\n\u003cbr/\u003e Facebook: https://www.facebook.com/RickAstley\n\u003cbr/\u003e Spotify: https://open.spotify.com/artist/0gxyHStUsqpMadRV0Di1Qt\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRick-Lang%2Frickroll-lang","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRick-Lang%2Frickroll-lang","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRick-Lang%2Frickroll-lang/lists"}