Kin
The Kin Programming Language ( Write computer programs in Kinyarwanda - native language for Rwandans )
Install / Use
/learn @kin-lang/KinREADME
.
.
.
.
Description
Kin is a straightforward programming language created with the purpose of aiding Rwandans to write computer programs in their native language Kinyarwanda.
:information_source: Contributors: Please see our ARCHITECTURE.md for a deep dive into Kin's architecture, design, and execution flow before contributing!
Why Kin?
- Goal: Kin's main objective is to make learning programming more accessible by using Kinyarwanda, the native language for Rwandans.
- Focus: It's a straightforward language, prioritizing easy of use over complex features. This makes it suitable for education purpose.
- Use Cases: While Kin is great for learning the fundamentals, it's suitability for large-scale software development isn't guaranteed.
What does it look like
-
This is implementation of linear search:
reka arr = [45, 56, 334, 78, 34, 78, 23, 90] reka i = 0 reka key = 23 subiramo_niba(i < KIN_URUTONDE.ingano(arr)) { niba (arr[i] == key) { tangaza_amakuru("Key ", key, " is on ", i + 1, " position") } i = i + 1 } -
Hello <name> !
reka name = injiza_amakuru("Enter your name: ") tangaza_amakuru("Hello ", name, "!") -
Executing system commands
sisitemu("sudo shutdown now")
Syntax
Though Kin inherited it's syntax and structure from JavaScript, they're completely different when it comes to behavior. Some notable Kin's syntax rules are:
- Semicolon:
- A semicolon is required when you declare a variable but you don't assign a value to it.
reka x; # This will work - A semicolon is required when a function returns but there's not expression to return.
porogaramu_ntoya main() { tanga; # This will work }In General a semicolon is used to tell Kin that there's an ommited statement.
- A semicolon is required when you declare a variable but you don't assign a value to it.
- White spaces:
- Kin ignores white spaces, that's why multiple lines can be written at the same line ... these codes are equivalens
reka x = 5 reka x=5
- Kin ignores white spaces, that's why multiple lines can be written at the same line ... these codes are equivalens
Fun fact!
-
Multiple statements can be written on the same line.
reka name = injiza_amakuru("Enter your name: ") tangaza_amakuru("Hello ", name, "!") -
Nested statements are also supported.
tangaza_amakuru("Hello ", injiza_amakuru("Enter your name: "), "!")
Contributing
We still have a long way to go with Kin, we're calling for your contributions! Contributions are welcomed, refer to Contiributing.md for futher info.
Maintainers
This language is maintained by @pacifiquem.
License
This project is under MIT License.
<br> <br> <p align="right" style="color: gray; font: bold;">PACIFIQUE Murangwa - Author</p>Related Skills
node-connect
349.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
Writing Hookify Rules
109.4kThis skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.
review-duplication
100.3kUse this skill during code reviews to proactively investigate the codebase for duplicated functionality, reinvented wheels, or failure to reuse existing project best practices and shared utilities.
