changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > org > blog / annotate hello-world.org

changeset 14: 5747098f52b4
parent: ae3d87d236cf
child: 563b82fb73be
author: ellis <ellis@rwest.io>
date: Fri, 24 Nov 2023 22:38:58 -0500
permissions: -rw-r--r--
description: blog update
14
5747098f52b4 blog update
ellis <ellis@rwest.io>
parents: 13
diff changeset
1
 {{{header(hello world,
5747098f52b4 blog update
ellis <ellis@rwest.io>
parents: 13
diff changeset
2
 Richard Westhaver,
5747098f52b4 blog update
ellis <ellis@rwest.io>
parents: 13
diff changeset
3
 ellis@rwest.io,
5747098f52b4 blog update
ellis <ellis@rwest.io>
parents: 13
diff changeset
4
 Introducing The Compiler Company)}}}
12
6b286d6cf099 org publishing
ellis <ellis@rwest.io>
parents: 11
diff changeset
5
 If we've spoken recently I may have mentioned this new venture I've
6b286d6cf099 org publishing
ellis <ellis@rwest.io>
parents: 11
diff changeset
6
 been working on. Now is the time to elaborate on what I've been up to,
6b286d6cf099 org publishing
ellis <ellis@rwest.io>
parents: 11
diff changeset
7
 and why.
10
5ae7a67b209e blog update
ellis <ellis@rwest.io>
parents: 9
diff changeset
8
 
5ae7a67b209e blog update
ellis <ellis@rwest.io>
parents: 9
diff changeset
9
 * The Compiler Company
5ae7a67b209e blog update
ellis <ellis@rwest.io>
parents: 9
diff changeset
10
 The name is a play on the phrase /Compiler Collection/, as in [[https://gcc.gnu.org/][GNU
5ae7a67b209e blog update
ellis <ellis@rwest.io>
parents: 9
diff changeset
11
 Compiler Collection (GCC)]] and emphasizes my approach to
5ae7a67b209e blog update
ellis <ellis@rwest.io>
parents: 9
diff changeset
12
 problem-solving involving compiler technologies.
5ae7a67b209e blog update
ellis <ellis@rwest.io>
parents: 9
diff changeset
13
 
5ae7a67b209e blog update
ellis <ellis@rwest.io>
parents: 9
diff changeset
14
 I recently registered as an LLC, but the purpose of the company is
12
6b286d6cf099 org publishing
ellis <ellis@rwest.io>
parents: 11
diff changeset
15
 that of a company incubator, or /company compiler/ if you will. In
6b286d6cf099 org publishing
ellis <ellis@rwest.io>
parents: 11
diff changeset
16
 other words, I intend for /The Compiler Company, LLC/ to be a hub for
10
5ae7a67b209e blog update
ellis <ellis@rwest.io>
parents: 9
diff changeset
17
 developing various interconnected products and services which can be
5ae7a67b209e blog update
ellis <ellis@rwest.io>
parents: 9
diff changeset
18
 operated and managed independently of each other.
9
9dd35bc56a81 readme, blog
ellis <ellis@rwest.io>
parents: 8
diff changeset
19
 
12
6b286d6cf099 org publishing
ellis <ellis@rwest.io>
parents: 11
diff changeset
20
 I (Richard Westhaver) am the sole owner and operator and will probably
6b286d6cf099 org publishing
ellis <ellis@rwest.io>
parents: 11
diff changeset
21
 keep it that way for quite some time. My intention is to operate at
6b286d6cf099 org publishing
ellis <ellis@rwest.io>
parents: 11
diff changeset
22
 minimal cost while I perform industry research and develop prototypes.
6b286d6cf099 org publishing
ellis <ellis@rwest.io>
parents: 11
diff changeset
23
 
13
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
24
 To support the company's purpose, I am developing a suite of free and
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
25
 open-source software which is specifically designed for bootstrapping
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
26
 and operating =companies=.
12
6b286d6cf099 org publishing
ellis <ellis@rwest.io>
parents: 11
diff changeset
27
 
13
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
28
 ** Software
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
29
 
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
30
 The software provided by /The Compiler Company/ is a powerful
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
31
 development environment. It is the catalyst of engineering for every
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
32
 other software component I build and reflects precisely how I believe
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
33
 software should be developed.
12
6b286d6cf099 org publishing
ellis <ellis@rwest.io>
parents: 11
diff changeset
34
 
13
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
35
 As a whole, I optimize for the following features in my environment:
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
36
 - early adoption :: integrate research, protocols, libraries, and
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
37
   hardware features from leading research orgs faster than anyone else
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
38
 - rapid development :: interaction, code introspection, tooling, and
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
39
   automation built for prototyping at massive scale
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
40
 - power :: using our environment should feel like cheating - macros,
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
41
   DSLs, and unmatched hackability
10
5ae7a67b209e blog update
ellis <ellis@rwest.io>
parents: 9
diff changeset
42
 
13
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
43
 *** Languages
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
44
 /The Compiler Company/ is above all, a =Lisp Company=. The most
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
45
 powerful software requires the most powerful language.
10
5ae7a67b209e blog update
ellis <ellis@rwest.io>
parents: 9
diff changeset
46
 
13
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
47
 Lisp isn't enough though. =Rust= is our imperative language of choice
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
48
 at the time of writing and generally suited for system-level software
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
49
 components.
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
50
 
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
51
 We make use of the Steel Bank Common Lisp compiler (SBCL) and the
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
52
 nightly Rust compiler toolchain.
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
53
 
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
54
 *** Operating System Support
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
55
 /The Compiler Company/ is a Linux Company. There may be minimal
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
56
 support for Darwin-based systems, but Microsoft Windows systems will
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
57
 never be supported by our software.
10
5ae7a67b209e blog update
ellis <ellis@rwest.io>
parents: 9
diff changeset
58
 
13
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
59
 One of the /anti-goals/ of our software is ~portability~. For all of
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
60
 the features we optimize for, portability becomes a burden, especially
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
61
 with closed-source OS kernels. We are also explicitly driven to reduce
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
62
 consumer dependence on these closed-source systems, especially in a
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
63
 distributed network. They are simply unfit for use with the software
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
64
 we produce.
10
5ae7a67b209e blog update
ellis <ellis@rwest.io>
parents: 9
diff changeset
65
 
13
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
66
 *** Core
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
67
 ** Services
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
68
 
ae3d87d236cf hello-world update
ellis <ellis@rwest.io>
parents: 12
diff changeset
69
 ** Companies
9
9dd35bc56a81 readme, blog
ellis <ellis@rwest.io>
parents: 8
diff changeset
70
 * Next Steps
11
ellis <ellis@rwest.io>
parents: 10
diff changeset
71
 We have a long way to go. The important thing is to keep up the
ellis <ellis@rwest.io>
parents: 10
diff changeset
72
 momentum. Before the start of 2024 you can expect another update on
ellis <ellis@rwest.io>
parents: 10
diff changeset
73
 some of the projects below.
ellis <ellis@rwest.io>
parents: 10
diff changeset
74
 ** the.compiler.company
ellis <ellis@rwest.io>
parents: 10
diff changeset
75
 ** infra
ellis <ellis@rwest.io>
parents: 10
diff changeset
76
 ** core
ellis <ellis@rwest.io>
parents: 10
diff changeset
77
 ** nas-t