about summary refs log blame commit diff stats
path: root/index.html
blob: 7476757b3168d713d54cf159279ed09d51030ba1 (plain) (tree)
1
2
3
4
5
6
7

                 



                                                         
                                                              





                                                                            
              
    



                                                         















                                                                              
                                                                              























                                                                                
                                                      


                                                                    




                                                                    


                                                                






                                                                                      
                                                                    
                                                      
<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/014literal_noninteger.cc.html'>014literal_noninteger.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/046tangle.cc.html'>046tangle.cc</a><br/>
<a href='html/047jump_label.cc.html'>047jump_label.cc</a><br/>
<a href='html/048call_variable.cc.html'>048call_variable.cc</a><br/>
<a href='html/049continuation.cc.html'>049continuation.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/063list.mu.html'>063list.mu</a><br/>
<a href='html/064random.cc.html'>064random.cc</a><br/>
<a href='html/069binary_tree.mu.html'>069binary_tree.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/077trace_browser.cc.html'>077trace_browser.cc</a><br/>
<a href='html/999spaces.cc.html'>999spaces.cc</a><br/>