changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > org > meta / tech.org

changeset 5: 6538a100c792
parent: 55e56793d888
child: f747ffac7f40
author: Richard Westhaver <ellis@rwest.io>
date: Sun, 18 Aug 2024 22:16:12 -0400
permissions: -rw-r--r--
description: weekend warrior
1 #+title: tech
2 #+author: Richard Westhaver
3 #+email: ellis@rwest.io
4 #+description: The Compiler Company Core Technologies
5 #+setupfile: ../clean.theme
6 #+glossary_sources: glossary.org
7 * OS
8 :PROPERTIES:
9 :ID: 0c3a8097-e0bb-4c8a-9de2-907cffddbb8f
10 :END:
11 We primarily support [[https://unix.org][Unix-based]] Operating Systems. Check
12 project-specific docs for officially supported targets.
13 
14 Development and CI is ran on [[https://archlinux.org/][Arch Linux]] (btw).
15 * Core
16 :PROPERTIES:
17 :ID: f6d8cc58-e6ec-4482-b6b8-3977e771a578
18 :END:
19 ** [[https://lisp-lang.org/][Lisp]]
20 :PROPERTIES:
21 :ID: 765d7aea-1f04-47ac-b59a-b5e83ce05194
22 :END:
23 ** [[https://www.rust-lang.org/][Rust]]
24 :PROPERTIES:
25 :ID: e4fce1b9-dc0f-4bd9-b26e-3b41e583e901
26 :END:
27 ** [[https://www.gnu.org/software/emacs/][Emacs]]
28 :PROPERTIES:
29 :ID: da8b7be1-28c9-44cb-b013-9e6edf2f0581
30 :END:
31 * Libs
32 :PROPERTIES:
33 :ID: e0db5df8-5e99-4199-a042-5bfab74f3711
34 :END:
35 ** [[https://rocksdb.org/][rocksdb]]
36 :PROPERTIES:
37 :ID: e363bbaa-57ad-4e73-af2b-7fe487f67c7c
38 :END:
39 ** [[https://archlinux.org/pacman/][pacman]]
40 :PROPERTIES:
41 :ID: e2ce47d2-2a6d-4f7b-acd7-3835463072a8
42 :END:
43 ** [[https://docs.kernel.org/filesystems/btrfs.html][btrfs]]
44 :PROPERTIES:
45 :ID: 4e99345f-9e2b-4edb-9f97-5daf6fb66c14
46 :END:
47 ** [[https://tree-sitter.github.io/tree-sitter/][tree-sitter]]
48 :PROPERTIES:
49 :ID: b13a05bd-cc78-4d9b-84db-873f2714f32c
50 :END:
51 ** [[https://kernel.dk/io_uring.pdf][uring]]
52 :PROPERTIES:
53 :ID: 016e1ebc-56b0-47f6-a610-1f8761bf69dd
54 :END:
55 ** [[https://github.com/BLAKE3-team/BLAKE3-specs/blob/master/blake3.pdf][blake3]]
56 :PROPERTIES:
57 :ID: a0898683-d3ce-4d44-aaf7-b989cc5418d8
58 :END:
59 * Extras
60 :PROPERTIES:
61 :ID: e1bf8a4c-a9d6-478a-879d-49d6b5a2a72b
62 :END:
63 ** [[https://ngn.codeberg.page/k][k]]
64 :PROPERTIES:
65 :ID: 0f4175ad-656b-4348-9328-5e409379b3fd
66 :END:
67 ** [[https://mlochbaum.github.io/BQN/][BQN]]
68 :PROPERTIES:
69 :ID: 3cc89f3d-20a5-420f-bc7e-0731254e5040
70 :END:
71 
72 * Our Software
73 :PROPERTIES:
74 :ID: 06de34a3-60b4-4f48-bcab-eabeb3fe41c3
75 :END:
76 The software provided by /The Compiler Company/ is a powerful but
77 opinionated programming environment. It consists of a GNU/Linux
78 kernel, some vendored programs and libraries, and a suite of custom
79 software.
80 
81 The software is modular by design. You can pick and choose which
82 components to embed in your own projects and you are encouraged to
83 modify any part of the system to meet your goals.
84 
85 In general, our software is designed for:
86 - early adoption :: integrate research, protocols, libraries, and
87  hardware features from leading research orgs faster than anyone else
88 - rapid development :: interaction, code introspection, tooling, and
89  automation built for prototyping at massive scale
90 - power :: using our environment should feel like cheating - macros,
91  DSLs, and unmatched hackability
92 
93 ** Langs
94 :PROPERTIES:
95 :ID: f5411514-19d6-4fb0-bdbe-48c4b5581e5c
96 :END:
97 /The Compiler Company/ is above all, a =Lisp Company=. The most
98 powerful software requires the most powerful code.
99 
100 Lisp isn't enough though. =Rust= is our imperative language of choice
101 at the time of writing and generally suited for system-level software
102 components.
103 
104 We make use of the Steel Bank Common Lisp compiler (SBCL) and the
105 nightly Rust compiler toolchain.
106 
107 ** OS
108 :PROPERTIES:
109 :ID: 1ae69e1e-1e01-4e48-b205-e28fb0fd0b1e
110 :END:
111 /The Compiler Company/ is a =Linux Company=. There may be minimal
112 support for Darwin-based systems, but Microsoft Windows systems will
113 never be officially supported.
114 
115 One of the /anti-goals/ of our software is ~portability~. For all of
116 the features we optimize for, portability becomes a burden, especially
117 with closed-source OS kernels. We are also explicitly driven to reduce
118 consumer dependence on these closed-source systems, especially in a
119 distributed network. They are simply unfit for use with the software
120 we produce and the systems we build.