1.1--- a/meta/tech.org Mon Dec 04 21:09:11 2023 -0500
1.2+++ b/meta/tech.org Wed Dec 06 23:27:11 2023 -0500
1.3@@ -22,3 +22,44 @@
1.4 * Extras
1.5 ** [[https://ngn.codeberg.page/k][k]]
1.6 ** [[https://mlochbaum.github.io/BQN/][BQN]]
1.7+
1.8+* Our Software
1.9+The software provided by /The Compiler Company/ is a powerful but
1.10+opinionated programming environment. It consists of a GNU/Linux
1.11+kernel, some vendored programs and libraries, and a suite of custom
1.12+software.
1.13+
1.14+The software is modular by design. You can pick and choose which
1.15+components to embed in your own projects and you are encouraged to
1.16+modify any part of the system to meet your goals.
1.17+
1.18+In general, our software is designed for:
1.19+- early adoption :: integrate research, protocols, libraries, and
1.20+ hardware features from leading research orgs faster than anyone else
1.21+- rapid development :: interaction, code introspection, tooling, and
1.22+ automation built for prototyping at massive scale
1.23+- power :: using our environment should feel like cheating - macros,
1.24+ DSLs, and unmatched hackability
1.25+
1.26+** Langs
1.27+/The Compiler Company/ is above all, a =Lisp Company=. The most
1.28+powerful software requires the most powerful code.
1.29+
1.30+Lisp isn't enough though. =Rust= is our imperative language of choice
1.31+at the time of writing and generally suited for system-level software
1.32+components.
1.33+
1.34+We make use of the Steel Bank Common Lisp compiler (SBCL) and the
1.35+nightly Rust compiler toolchain.
1.36+
1.37+** OS
1.38+/The Compiler Company/ is a =Linux Company=. There may be minimal
1.39+support for Darwin-based systems, but Microsoft Windows systems will
1.40+never be officially supported.
1.41+
1.42+One of the /anti-goals/ of our software is ~portability~. For all of
1.43+the features we optimize for, portability becomes a burden, especially
1.44+with closed-source OS kernels. We are also explicitly driven to reduce
1.45+consumer dependence on these closed-source systems, especially in a
1.46+distributed network. They are simply unfit for use with the software
1.47+we produce and the systems we build.