npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@kin-lang/kin

v0.3.0

Published

Kin Programming Language: write computer programs in Kinyarwanda.

Downloads

27

Readme

GitHub . GitHub last commit . Version . Stars . Issues

Description

Kin is a straightforward programming language created with the purpose of aiding Rwandans to write computer programs in their native language Kinyarwanda.

[!Important] Kin is designed to enable individuals to write computer programs in Kinyarwanda, the native language of Rwandans. The aim is to facilitate an easy introduction to programming for people. While it is well-suited for teaching or learning programming, its suitability for use in a production environment is not guaranteed.

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.

  • 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

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 Apache License 2.0 LICENSE.