0
|
1
|
#+title: tech |
|
2
|
#+author: Richard Westhaver |
|
3
|
#+email: ellis@rwest.io |
|
4
|
#+description: The Compiler Company Core Technologies |
2
|
5
|
#+setupfile: ../clean.theme |
0
|
6
|
|
|
7
|
* OS |
1
|
8
|
:PROPERTIES: |
|
9
|
:ID: 0c3a8097-e0bb-4c8a-9de2-907cffddbb8f |
|
10
|
:END: |
0
|
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 |
1
|
16
|
:PROPERTIES: |
|
17
|
:ID: f6d8cc58-e6ec-4482-b6b8-3977e771a578 |
|
18
|
:END: |
0
|
19
|
** [[https://lisp-lang.org/][Lisp]] |
1
|
20
|
:PROPERTIES: |
|
21
|
:ID: 765d7aea-1f04-47ac-b59a-b5e83ce05194 |
|
22
|
:END: |
0
|
23
|
** [[https://www.rust-lang.org/][Rust]] |
1
|
24
|
:PROPERTIES: |
|
25
|
:ID: e4fce1b9-dc0f-4bd9-b26e-3b41e583e901 |
|
26
|
:END: |
0
|
27
|
** [[https://www.gnu.org/software/emacs/][Emacs]] |
1
|
28
|
:PROPERTIES: |
|
29
|
:ID: da8b7be1-28c9-44cb-b013-9e6edf2f0581 |
|
30
|
:END: |
0
|
31
|
* Libs |
1
|
32
|
:PROPERTIES: |
|
33
|
:ID: e0db5df8-5e99-4199-a042-5bfab74f3711 |
|
34
|
:END: |
0
|
35
|
** [[https://rocksdb.org/][rocksdb]] |
1
|
36
|
:PROPERTIES: |
|
37
|
:ID: e363bbaa-57ad-4e73-af2b-7fe487f67c7c |
|
38
|
:END: |
0
|
39
|
** [[https://archlinux.org/pacman/][pacman]] |
1
|
40
|
:PROPERTIES: |
|
41
|
:ID: e2ce47d2-2a6d-4f7b-acd7-3835463072a8 |
|
42
|
:END: |
0
|
43
|
** [[https://docs.kernel.org/filesystems/btrfs.html][btrfs]] |
1
|
44
|
:PROPERTIES: |
|
45
|
:ID: 4e99345f-9e2b-4edb-9f97-5daf6fb66c14 |
|
46
|
:END: |
0
|
47
|
** [[https://tree-sitter.github.io/tree-sitter/][tree-sitter]] |
1
|
48
|
:PROPERTIES: |
|
49
|
:ID: b13a05bd-cc78-4d9b-84db-873f2714f32c |
|
50
|
:END: |
0
|
51
|
** [[https://kernel.dk/io_uring.pdf][uring]] |
1
|
52
|
:PROPERTIES: |
|
53
|
:ID: 016e1ebc-56b0-47f6-a610-1f8761bf69dd |
|
54
|
:END: |
0
|
55
|
** [[https://github.com/BLAKE3-team/BLAKE3-specs/blob/master/blake3.pdf][blake3]] |
1
|
56
|
:PROPERTIES: |
|
57
|
:ID: a0898683-d3ce-4d44-aaf7-b989cc5418d8 |
|
58
|
:END: |
0
|
59
|
* Extras |
1
|
60
|
:PROPERTIES: |
|
61
|
:ID: e1bf8a4c-a9d6-478a-879d-49d6b5a2a72b |
|
62
|
:END: |
0
|
63
|
** [[https://ngn.codeberg.page/k][k]] |
1
|
64
|
:PROPERTIES: |
|
65
|
:ID: 0f4175ad-656b-4348-9328-5e409379b3fd |
|
66
|
:END: |
0
|
67
|
** [[https://mlochbaum.github.io/BQN/][BQN]] |
1
|
68
|
:PROPERTIES: |
|
69
|
:ID: 3cc89f3d-20a5-420f-bc7e-0731254e5040 |
|
70
|
:END: |
0
|
71
|
|
|
72
|
* Our Software |
1
|
73
|
:PROPERTIES: |
|
74
|
:ID: 06de34a3-60b4-4f48-bcab-eabeb3fe41c3 |
|
75
|
:END: |
0
|
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 |
1
|
94
|
:PROPERTIES: |
|
95
|
:ID: f5411514-19d6-4fb0-bdbe-48c4b5581e5c |
|
96
|
:END: |
0
|
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 |
1
|
108
|
:PROPERTIES: |
|
109
|
:ID: 1ae69e1e-1e01-4e48-b205-e28fb0fd0b1e |
|
110
|
:END: |
0
|
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. |