r/ProgrammingLanguages 17d ago

Language announcement The Kal Package Manager

Hey everyone,

A couple of weeks ago, I posted about Kal, my programming language written from scratch.

I am really happy to share a glimpse of Kal's own package manager! Kal v0.1.0 shipped with a package system that lets you add and use third party Kal packages. But, that process was completely manual. You’d have to clone the package, place it in the right directory, clone the package’s entire dependencies all by yourself, one after another. :(

The package manager changes everything. One command automates all!

Instead of being a separate executable, the package manager ships as part of the Kal interpreter itself.

Here’s what it can do:

  1. Install Kal packages from Github, or any git hosting service.
  2. Creates/Updates a project.kal file to read and write package information (analogous to package.json).
  3. Downloads all packages at the same hierarchy in parallel (yup, it’s multi-threaded).
  4. Resolves sub dependencies of the main package automatically to any depth and installs them too.
  5. Upgrades/Downgrades packages based on their git tags.
  6. Auto-resolves cyclic dependencies to prevent an infinite loop.

The Kal Package Manager will officially ship with the next Kal release. Its current source code is available on Github.

Kal: https://kal-lang.vercel.app
Github: https://github.com/KILLinefficiency/Kal
Package Manager: https://github.com/KILLinefficiency/Kal/blob/pkg/pkg.hpp

Kal is completely free & open source. You can show your support by giving the Github Repository a star.

Until the next update!

11 Upvotes

5 comments sorted by

2

u/Kitchen-Advisor-7428 16d ago

nice, even i am in the process of writing my own pl , this will be very helpful !

0

u/KILLinefficiency 15d ago

Awesome! Would appreciate a star on Github.

2

u/[deleted] 15d ago

[deleted]

1

u/KILLinefficiency 15d ago

There is a valid_char function in progress in code which is intended to catch special characters that can cause shell injection attacks. It will soon be used everywhere there is a std::system function call.

I get kind of triggered by these sassy AI code reviews where the promoter doesn't take any effort to check the code themselves. Especially when the project author does not endorse AI use and has stated that the shared code is a work in progress. Yikes, not a good thing for humanity...

2

u/AnoProgrammer 15d ago

Great website.

1

u/KILLinefficiency 14d ago

Thank you! Would appreciate a star on Github.