operating-systems

Operating systems

As a language construct

Some Spit-sh constructs dynamically change per operating system. For example, basic subroutines (functions) can be declared with different bodies per operating system (but same parameters).

    sub do-something($with) on {
        Debian { ... }
        CentOS { ... }
        # ...
    }

Core classes use this feature to wrap OS specific commands and procedures in a consistent interface. For example, Pkg interfaces with the OS's package manager. Pkg.install uses yum on RHEL and apt-get on Debian.

Support

Right now the only two OS variants that pass the spec are Debian and RHEL.

Operating System Taxonomy

Alpine

Alpine linux distribution: https://alpinelinux.org/

BSD

For OS's that are variants of the Berkely Software Distribution. See: wikipedia. note: No BSD based OS is tested or working at all atm.

BusyBox

For OS's that have the BusyBox UNIX utilities

CentOS

CentOS linux distribution CentOS

Debian

For OS's based on the Debian linux distribution

Fedora

For OS's based on the Fedora linux distribution

GNU

For OS's that have GNU core utilities installed by default.

Linux

For OS's that use a Linux kernel.

RHEL

For OS's based on the Redhat Enterprise Linux distribution

UNIXish

Anything UNIXish. Right now everything is a child of this.

Ubuntu

For OS's based on the Ubuntu linux distribution

The Camelia image is copyright 2009 by Larry Wall. "Raku" is trademark of the Yet Another Society. All rights reserved.