about summary refs log tree commit diff stats
path: root/index.html
blob: f6a8a8f943fea2b608db9abaa7941ee9e7959724 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<title>Mu</title>

<h3>Mu - A whitebox software stack</h3>
<em>or</em>
<h3>Building software without gradually slowing down</h3>
<em>or</em>
<h3>Writing programs to be understandable in an afternoon</h3>

<p>
<a href='http://akkartik.name/about'>The problem</a><br/>

<p>
<a href='http://github.com/akkartik/mu#readme'>Overview of the solution</a>.
The zen of mu:
<ul>
<li>traces, not interfaces</li>
<li>be rewrite-friendly, not backwards-compatible</li>
<li>be easy to port rather than portable</li>
<li>global structure matters more than local hygiene</li>
</ul>

<p>
I've tried to make this codebase beneficial to skim. Try skimming the files in
order, and <a href='mailto:mu@akkartik.com'>tell me how I did</a>!

<p>
<a href='html/000organization.cc.html'>000organization.cc</a><br/>
<a href='html/001help.cc.html'>001help.cc</a><br/>
<a href='html/002test.cc.html'>002test.cc</a><br/>
<a href='html/003trace.cc.html'>003trace.cc</a><br/>
<a href='html/003trace.test.cc.html'>003trace.test.cc</a><br/>
<a href='html/010vm.cc.html'>010vm.cc</a><br/>
<a href='html/011load.cc.html'>011load.cc</a><br/>
<a href='html/012transform.cc.html'>012transform.cc</a><br/>
<a href='html/013literal_string.cc.html'>013literal_string.cc</a><br/>
<a href='html/014types.cc.html'>014types.cc</a><br/>
<a href='html/020run.cc.html'>020run.cc</a><br/>
<a href='html/021arithmetic.cc.html'>021arithmetic.cc</a><br/>
<a href='html/022boolean.cc.html'>022boolean.cc</a><br/>
<a href='html/023jump.cc.html'>023jump.cc</a><br/>
<a href='html/024compare.cc.html'>024compare.cc</a><br/>
<a href='html/025trace.cc.html'>025trace.cc</a><br/>
<a href='html/026assert.cc.html'>026assert.cc</a><br/>
<a href='html/027debug.cc.html'>027debug.cc</a><br/>
<a href='html/030container.cc.html'>030container.cc</a><br/>
<a href='html/031address.cc.html'>031address.cc</a><br/>
<a href='html/032array.cc.html'>032array.cc</a><br/>
<a href='html/033length.cc.html'>033length.cc</a><br/>
<a href='html/034exclusive_container.cc.html'>034exclusive_container.cc</a><br/>
<a href='html/035call.cc.html'>035call.cc</a><br/>
<a href='html/036call_ingredient.cc.html'>036call_ingredient.cc</a><br/>
<a href='html/037call_reply.cc.html'>037call_reply.cc</a><br/>
<a href='html/038scheduler.cc.html'>038scheduler.cc</a><br/>
<a href='html/039wait.cc.html'>039wait.cc</a><br/>
<a href='html/040brace.cc.html'>040brace.cc</a><br/>
<a href='html/041name.cc.html'>041name.cc</a><br/>
<a href='html/042new.cc.html'>042new.cc</a><br/>
<a href='html/043space.cc.html'>043space.cc</a><br/>
<a href='html/044space_surround.cc.html'>044space_surround.cc</a><br/>
<a href='html/045closure_name.cc.html'>045closure_name.cc</a><br/>
<a href='html/050scenario.cc.html'>050scenario.cc</a><br/>
<a href='html/051scenario_test.mu.html'>051scenario_test.mu</a><br/>
<a href='html/060string.mu.html'>060string.mu</a><br/>
<a href='html/061channel.mu.html'>061channel.mu</a><br/>
<a href='html/062array.mu.html'>062array.mu</a><br/>
<a href='html/070display.cc.html'>070display.cc</a><br/>
<a href='html/071print.mu.html'>071print.mu</a><br/>
<a href='html/072scenario_screen.cc.html'>072scenario_screen.cc</a><br/>
<a href='html/073scenario_screen_test.mu.html'>073scenario_screen_test.mu</a><br/>
<a href='html/074keyboard.mu.html'>074keyboard.mu</a><br/>
<a href='html/075scenario_keyboard.cc.html'>075scenario_keyboard.cc</a><br/>
<a href='html/076scenario_keyboard_test.mu.html'>076scenario_keyboard_test.mu</a><br/>
<a href='html/077tangle.cc.html'>077tangle.cc</a><br/>
<a href='html/999spaces.cc.html'>999spaces.cc</a><br/>