changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > core / readme.org

changeset 298: 35d252af6c21
parent: 2219f6c1da68
child: 9e1854ff6f6c
author: Richard Westhaver <ellis@rwest.io>
date: Fri, 26 Apr 2024 01:24:51 +0000
permissions: -rw-r--r--
description: bugfix
1 #+title: core
2 #+author: Richard Westhaver <ellis@rwest.io>
3 #+description: The Compiler Company Core
4 The Compiler Company (=CC=) is a software research laboratory
5 concerned with the future of Mechanical Freedom.
6 
7 This repository contains a collection of software libraries shared
8 across all of our products and projects.
9 
10 - NOTE :: This is *not* a portable library. Starting in version =1.0=
11  we will be depending on separately distributed forks of SBCL and
12  Rust. See details here.
13 
14 To bootstrap the core you will need recent versions of [[https://www.gnu.org/software/emacs/][GNU Emacs]],
15 [[https://www.rust-lang.org/][Rust]], and [[http://www.sbcl.org/][SBCL]].
16 
17 
18 * Quickstart
19 #+name: x-save-self
20 #+begin_src shell :exports both
21 # bootstrap the core build tool
22 ./x.lisp
23 #+end_src
24 
25 #+RESULTS: x-save-self
26 : saving self to ./x
27 
28 #+begin_src shell :results output :exports both
29 ./x --help
30 #+end_src
31 
32 #+RESULTS:
33 : x --- core build tool
34 : x.lisp [CMD]
35 : CMDS:
36 : build
37 : run
38 : test
39 : save
40 : install
41 
42 #+begin_src shell :results none :noeval t
43 # start a repl
44 ./x
45 #+end_src
46 
47 #+begin_src shell :results none :noeval t
48 # test systems
49 ./x test std
50 #+end_src
51 
52 #+begin_src shell :results none :noeval t
53 # save cores
54 ./x save prelude
55 #+end_src
56 
57 #+begin_src shell :results none :noeval t
58 # build binaries
59 ./x build skel
60 #+end_src
61 
62 #+begin_src shell :results none :noeval t
63 # install binaries
64 ./x install skel
65 #+end_src
66 
67 ** binaries
68 *** skel
69 #+begin_src shell :results output :exports both
70 ./x run skel
71 #+end_src
72 
73 #+RESULTS:
74 #+begin_example
75 #<SK-PROJECT :ID 33cf-3485-bc1a-9528>
76  [standard-object]
77 
78 Slots with :INSTANCE allocation:
79  NAME = "core"
80  PATH = #P"/home/ellis/dev/comp/core/skelfile"
81  AUTHOR = "Richard Westhaver <ellis@rwest.io>"
82  VERSION = "0.1.0"
83  TAGS = ("core")
84  DESCRIPTION = "The Compiler Company Core"
85  LICENSE = "MPL"
86  AST = NIL
87  ID = 3733260365104583976
88  VC = :HG
89  RULES = #(#<SK-RULE :ID 05b0-0201-ab05-f17d> #<SK-RULE :ID 20c4-3005-bae0-0616>)
90  DOCS = ((:ORG "readme") (:ORG "install") (:ORG "tests") (:ORG "todo"))
91  COMPONENTS = NIL
92  SCRIPTS = NIL
93  SNIPPETS = NIL
94  STASH = #P".stash"
95  STORE = #<unbound slot>
96  ABBREVS = NIL
97  IMPORTS = ("lisp/skelfile" "rust/skelfile" "emacs/skelfile" "c/skelfile")
98 #+end_example
99 *** organ
100 #+begin_src shell :results output :exports both
101 ./x run organ
102 #+end_src
103 
104 #+RESULTS:
105 : #<ORGAN::ORG-DOCUMENT {1003D5C313}>
106 : [standard-object]
107 :
108 : Slots with :INSTANCE allocation:
109 : META = #<ORGAN::ORG-META-SECTION {1003D5F1B3}>
110 : TREE = #(#<ORGAN:ORG-HEADING {1003E40B53}>)
111