prehensible and rewrite-friendly software → More resilient society.
about summary refs log tree commit diff stats
path: root/apps/ex2.mu
blob: fc20aa2e3e56090e97c03bd3a1734445b15a589e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
='alt'>
44c53fa5 ^
1
2
3
4
5
6
7
8
9
                       
                          
 
                                                                                  



                                                        
               

                                           
     
                                            

                    
                                       
                                          
     


        
# Experimental Mu shell
# Currently based on Lisp.

fn main screen: (addr screen), keyboard: (addr keyboard), data-disk: (addr disk) {
  var env-storage: environment
  var env/esi: (addr environment) <- address env-storage
  initialize-environment env
  load-state env, data-disk
  $main:loop: {
    render-environment screen, env
    # no way to quit right now; just reboot
    {
      var key/eax: byte <- read-key keyboard
      compare key, 0
      loop-if-=
      var key/eax: grapheme <- copy key
      edit-environment env, key, data-disk
    }
    loop
  }
}