  
    
 
    
                
               
              
                
               
                
                
              
                
      
                   
                    
              
                 
                  
   
                   
                     
              
                 
             
                
                  
              
                
                   
                  
        
             
              
        
  
Software and its engineering General programming languages; Language types; Language features;
Extensible languages; Multiparadigm languages;
      
     
   
   
 
 
        
 The Art, Science, and Engineering of Programming         
Lisp, Jazz, Aikido

  
            
              
        
              
             
            
            
        
          
            
            
 
            
           
     
 
 
            
              
               
               
         
             
             
             
               
             
              
         
           
           
             
               
           
          
            

Note: terms followed by an asterisk are Japanese and are listed in the glossary in appendix A.
10:2
Didier Verna
           
               
            
             
             
         
             
         a.k.a.
       split personality   
              
              
            
               
              
    
              
          
            
   

              
             
             
            liberal
arts              
  manual arts         
           craft  
art           
           
 
   
              
           
            
              
           
            
Note: numbers in curly braces (e.g. {42}) refer to quotations listed right after the bibliography.
10:3
Lisp, Jazz, Aikido
              
               
         
             
         
             
                
   etc.            
       
 
          
               
              
            
            
                
             
             
           
   
   
           
             
            
              
      
           
           
            
            
            
           
           
           
the transversality of a concept or a thing is the characteristic of having aspects
that cut across other concepts or things cross-cutting aspects; aspects that sit
athwart {8}
           
         
             
10:4
Didier Verna
         
          computer
          
                
           
            
            
           
    
              
            
               
             
           
              
            
      
  
               
              
             
 
a game is a mental or physical activity based on a system of rules, the purpose of
which is nothing more than the pleasure it procures
        jocus 
  ludus            
            
             
              
          
               
     
 
               
               
            
           
          
       playing   
10:5
Lisp, Jazz, Aikido
        do      
     
 
          
           
         diatonic   
        micro-tonal   
            
   etc.          
             
     asymmetric measures     
           
            
            
            
          
      AABA      
               
      
  
              
            
            
            
           
           
       
sorry, you can’t molest me: we do not belong to the same weight category
             
               
               
              
          
   etc.
            
           
            
           
         
             
10:6
Didier Verna
             
           
           

           
           
            
           
           
                
            
           
  
eE
Which postures can we adopt in front of systems and rules? Which forms of pleasure can
we get from the adopted behaviors, identical in Lisp, Jazz, and Aikido?
Ee
  
              
             
               
     aesthetics of conformance    
    
             
             
    programming pearl    
         
          
            
             
           
             
           
          
           
            
             
            
                
10:7
Lisp, Jazz, Aikido
          
etc.           
             
             
           
      
     
            
          
            
             
            
      Karate-Kata    
            
          
                
              
               
               
            
    
          
            
           
            
            
            
            
             
          
     i.e.     
             
             
          
 
             
            
           
              
     
          
  
           
           
10:8
Didier Verna
     
    
 
         
     
     
            
     
              
             
           
           
             
             
      
T
E
X still resists (but for how long?) my progressive disinterest for playing with
inadequacy. The reason probably is that it is still the best solution there is to get
nice typography, which I am particularly sensitive to. I must confess however that as
my T
E
X activities gradually shift from development to maintenance and repair [97],
I am more and more thinking of rewriting a new typesetting system in a decent
general purpose programming language [104, 105]
             
           
                 
              
              
              
                
          
              
                  
             
               
           through
            techniques
    arts            
               
         
   
              
         support  collaboration 
 your    alongside        
             
    
            
              
10:9
Lisp, Jazz, Aikido
             
             
             
           
             
          
            
              
             
              
                 
              
              
             
             
            
            
            
            
      
          
             
          
               
   opponent           
      partners       
          
          
   
             
          
             
            
             
                
         
            visible   
                
       
 
           
              
            
              
10:10
Didier Verna
           
atoms  
this-symbol
"that string"
  
2.5
 S-Expressions
            
(func
arg1 (list of things) arg3 ...)
        
            
  
             
          
           
             
           
            
               
               
             
              
             
             
          
         etc.  
              
          Jazz standards  
              
  Real Books  
           
             
            
           
            
              
           
              per se 
            
           
         
             
   etc.          
              
             
                
                
             
   Jutsu       Do
         
10:11
Lisp, Jazz, Aikido
 
          
             
             
            
            
           
            
               
               
         
        
          

             
            
              
            
               
            
               
     
           
           
eE
Conformance leads to beauty. But do we really want to remain conformant all the time?
Perhaps a life of conformance would end up being too boring…
Ee
  
              
  not           
         willingly   
             aesthetics of
transgression
    
              
            
          
 etc.            
10:12
Didier Verna
             
              
             
          
   
           
             
            
          
         
            
           
          
              
            
            
           
             
            
          
 
      
             
               
           
               
              
           
            
           
             
              
  
            
              
            
        purposely     
                
           
         
10:13
Lisp, Jazz, Aikido
            
 
 
           
              
             
              
             
              
             
          
              reader
          
         
         
          
        
           
            
       
            
            
            
             
             
         
 
          
            
          
               
         
             
              
           
         
          
          
              
            
            
             
10:14
Didier Verna
           
  
  
            
            
          
surprise is a reaction to the unexpected
             
            
           
     etc.
          
           
              
 Free Jazz          
                
      
 
             
     
              
             
               
              
               
    per se      
             
           
              
      etc.      
             
          
           
etc.               
              

that is why I prefer to speak of  rather than of styles or genres
          process
           
             
              
10:15
Lisp, Jazz, Aikido
          
              
              
           
           
    
              
     
in fact, I would be extremely reluctant to call Jazz” any kind of entirely written
music, be it in a Jazz style like swing or ballad
         
          
           
           
             
              
      variation     
              
  
             
            
             
             
          
             
   
              
            
           
              
    licks        
            
           
         

 
            
             
             
           
            
             
           
10:16
Didier Verna
             
             
                
               
            
     
             
                
                
           
    ad hoc       
             
            
  etc.       ad hoc  
               
          
             
             
    
  
           
               
            
             
             
  
           
               
                
           
   
 
            
             
           
      
Is Aikido ecient in a street ght? Does it beat Karate?
      
                
           
             
10:17
Lisp, Jazz, Aikido
            
           
         
               
            
             
                
          
             
        
           
              
        
 
          
            
           
          
           
           
               
         
               
          
                
            
          
             
             
            
           
          
           
            
         
   
            
              
       
    
loop
        
 
loop
          
         
loop
   
10:18
Didier Verna
            
 etc.          
loop
  
                
              
   
        
loop
    
              
            
          
            
            
     
eE
There is fun in transgression. But looking at a single system, there can be only so many
acts of conformance or transgression before you end up knowing it from the inside out,
and lose interest. Perhaps, then, the time has come to play with other systems…
Ee
  
              
            
 
             
              
            
         
                
        aesthetics of unication
 
Epistemophilia          
              
            
            
           
        
           
              
             
             
          
10:19
Lisp, Jazz, Aikido
              
             
           
             
           homogeneous unication
            
          
      
         mixed unication 
            
        
            
          
            
            
             

      heterogeneous unication  
          
             design
pattern               
           
               
            
            
     
 
           

          
            
             
           
  apophenia        
               
           
            
              
            
             
         
             
         
            
10:20
Didier Verna
            
           
        
             
            
            
        
           
          
             apophany 
              
              
             
           
          
         
      
            
 
 
             
            
           
          
               
          
      
            
                
               
             
          
  
           
           
          
              
        
goto
    
            
          
             
                a
10:21
Lisp, Jazz, Aikido
priori         
            
                
  
             
        
            
          
 
 
                
          
          
          
              
            
           
          
             
          
            
            
           
goto

                
              
              
             
           
          
longjmp
   
           
             
          
           
           
             
            
           
            
             
          
            
           
               
    
high-harmonics-error
    
10:22
Didier Verna
             
               
               
                
 
             
          
               
              
         
             
           
             
             
         
          
           
           
                
             
          
          
              
           
            

             
              
               
           
              
             
           Aikijutsu 
 Aikibudo      Aikido     
            
          
             
           
          
       
            
             
perhaps it is safer to simply use the Japanese term for this: Satori*
10:23
Lisp, Jazz, Aikido
             
             
               
             
      
           
              
             
         
             
            
              
            
               
 
 
            
 
minimalism can be seen as a process leading to simplicity
             
             
           
             
            
               
           
             
       
 
             
          
           
        
class
virtual
private
etc.          
               
     
:=
 
var
    

f (x, y)
        
           
             

10:24
Didier Verna
            
            
         
defstruct
    
defclass
etc.      
               
              
            
              
     languages      
            
              
         
             
             
             
             
              
              
           
           

              
               library
             
              
              
             
             
        
               
              
            
                
               
            
            
                
            
              
              
            
           
            
    
10:25
Lisp, Jazz, Aikido
           
            
             
           
            
         
   
           
           
          
            
                
           
           
           
            
           
                
meta-circular
         
      simple       
             
    
homoiconicity simplies the simplication process
         
         
           
           
           
           
            
   
         
           
           
               
            
             
            is  
           
            
               
        
10:26
Didier Verna
            
              
            
             
          
              
            
             
           
            
           
                 
               
              
               
          
   
               
            
      only    when      
            
    
           
            
             
 
           
             
                 
           
              
            
              
            
   
             
       
main
     
                 
         
         
               
                
                
             
10:27
Lisp, Jazz, Aikido
           
            
 
            
                
    
            
              
           
               
        only    
              
              
              
             

          
             
            
   etc.         
          
            
           
            
            
          
            
              
            

               
         
            
                
             
             
            
              
              
           
           
            
              
               
10:28
Didier Verna
Self
Physical
EmotionalRational
Aikido
Lisp
Jazz
    
Rules
Enlightenment
FunBeauty
Unification
Conformance
Transgression
    
   
              
           
            
         

              
         
            
              
               
             
            
          
             
            
             
              
           
           
       
            
         
              
             
          
            
               
           
10:29
Lisp, Jazz, Aikido
             
         
            
          
           
                 
             
               
               
            
             
           
            
           
             
            
              
           
            
              
         
             
            
      a.k.a.       
             
           
              
            
             

             
              
            
           

        
            
   
10:30
Didier Verna


       Onward!’11: the ACM In-
ternational Symposium on New Ideas, New Paradigms, and Reections on Pro-
gramming and Software Proceedings      
  

       
     A Pattern Language: Towns, Buildings,
Construction      

 American National Standard: Programming Language Common Lisp
   

   Live         
        
   

  La Peinture Préhistorique Lascaux ou la Naissance de l’Art
   

          
    Journal of the ACM      
  

  The rationale of reward    
  

  Programming Pearls (2nd Edition)     
     

  Wat       
   

         
   Proceedings of the 17th PPIG conference  
   

            
    University of California Publications in Psychology
  

           
          
 ACM SIGPLAN Notices      

  An Investigation on the Laws of Thought   
   

  Worse is Better is Worse    
   

   Some Skunk Funk, Live at Leverkusener Jazztage 
             
     
10:31
Lisp, Jazz, Aikido

         
         
   

   

         
 TelE-Learning: The Challenge for the Third Millennium   
          
        


        Pattern-Oriented
Software Architecture: A Pattern Language for Distributed Computing  
   

        Pattern-Oriented
Software Architecture: A Pattern Language for Distributed Computing  
   

        
  Pattern-Oriented Software Architecture    
 

  The Onset of Schizophrenia: an Attempt to Form an Analysis of
Delusion      

        
  Celebrating the 50th Anniversary of Lisp   
      

        FEMS Mi-
crobiol Rev.       

   Breaking the Spell: Religion as a Natural Phenomenon
   

          
   SIGPLAN Notices      
   
   Interview with Michel Petrucciani 

         Communications
of the ACM      

  A Short Introduction to the Art of Programming 
  

       
Classics in Software Engineering      
           
   Interview with Michel Petrucciani  
10:32
Didier Verna

  L’Interdit et la Transgression      
         

         
    IEEE Transactions on Software Engineering 
        

          European
Journal of Musicology 

         
Commun. ACM         


      Communications of the ACM 
   

      Critique  
     
   

  Surveiller et Punir: Naissance de la Prison   
     

            AI
Expert      
 

        Proceed-
ings of the 21st Annual ACM SIGPLAN Conference on Object-oriented Program-
ming Systems, Languages, and Applications   
        


         Design
Patterns: Elements of Reusable Object-Oriented Software  
 

  Hackers and Painters     


  On Lisp. Advanced Techniques for Common Lisp  
     
 

  The Mathematician’s Mind: The Psychology of Invention in
the Mathematical Field       


  Herbie Hancock Teaches Jazz     
  


   A Mathematician’s Apology   
      
10:33
Lisp, Jazz, Aikido

         
     Neurocase   
    

       
  Journal of Object Technology     
    

  Psychology of Programming    
        


   Gödel, Escher, Bach: an Eternal Golden Braid  
       

   Apophenia: Denition and Analysis   
   
 
 

      Science   
 

   Dr. Alan Kay on the Meaning of “Object-Oriented Programming”
       
   
           

   Object-Oriented Programming in Common Lisp: a Programmer’s
Guide to CLOS    

         The Art of the
Metaobject Protocol       

     Pattern-Oriented Software Architecture: Pat-
terns for Resource Management      

         Communications
of the ACM         


         ACM
Computing Surveys      

   Things a Computer Scientist Rarely Talks About 
      

         
Corps et Culture     
 

          
   Proceedings of the 17th PPIG conference  
   
10:34
Didier Verna

           
Proceedings of the IEEE      

   le Cru et le Cuit    

         ACM
SIGPLAN Notices       

     The First ACM SIGPLAN Conference on the
History of Programming Languages - HOPL-1     
          
   
 
   Spontaneous Inventions     

  The Voice      
        
  

         
Communications of the ACM       
 

       Journal of Abnormal
and Social Psychology    

  The Beauty of Life     

  Paradigms of Articial Intelligence Programming: Case Studies in
Common Lisp       


       
        Object-
Oriented Programming: The CLOS Perspective    
        
   
      Transversality 
     
   Les Atomes    

  Remembering O’Sensei: Living and Training with Morihei Ueshiba,
Founder of Aikido      

 International Organization for Standardization: Information Technology
Programming Languages Prolog   

         
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked
Objects      
10:35
Lisp, Jazz, Aikido

  Practical Common Lisp      
    
   

     Out of Their Minds: The Lives and Discoveries
of 15 Great Computer Scientists     

       
 Semantics, Applications, and Implementation of Program Generation 
          
        


         Proceedings of the 11th
ACM SIGACT-SIGPLAN symposium on Principles of programming languages -
POPL’84      

       Nature   
   

  Aïkido: Étiquette et Transmission   
 

  The Bipolar Lisp Programmer   
   

  Reality Check      
           
   

The ICD-10 Classication of Mental and Behavioural Disorders  
    
   

The Real Book in C       


       
       Proceedings of the 32nd
ACM SIGPLAN Conference on Programming Language Design and Implemen-
tation          
  

       
  ACM Transactions on Programming Languages and
Systems         


  The Spirit of Aikido    


     Best Aïkido  
   
10:36
Didier Verna

  The Art of Peace     
  

  The Secret Teachings of Aikido   
 

  Progressive Aïkido    
  

         
 Electronic Notes in Theoretical Computer Science      
    

        Proceedings of
the 10th SIGPLAN symposium on New ideas, new paradigms, and reections on
programming and software - Onward!’11      
 

        
 
TUGboat          

   

  Clon: the Command-Line Options Nuker  
   

  Death by Obesity      

   

         
  Formal and Practical Aspects of Domain-Specic Languages: Recent
Developments          
   

  @-quartet      
   

  Qu’est-ce qu’une Note ?       

  

  Roots and Leaves      
   

  
     TUGboat   
      
  

     
    
  TUGboat          
  

   The Psychology of Computer Programming   
       

  Consilience: The Unity of Knowledge   

10:37
Lisp, Jazz, Aikido
 

Science is what we can explain to the computer. Art is everything else.
  
  

When I speak about computer programming as an art, I am thinking primarily of
it as an art form, in an aesthetic sense. The chief goal of my work as educator and
author is to help people learn how to write beautiful programs.
  
  

It is my purpose to transmit the importance of good taste and style in programming,
the specic elements of style [serving] only to illustrate what benets can be derived
from style in general.     

An understanding, a feeling for the aesthetic of programming, is needed, and not only
as a driving force for the programmer […]     

The ultimate usefulness is to create a source of pleasure.
 

 

It’s not true that necessity is the only mother or father of invention.
  
  

Whatever I do, I try to do it in a way that has some elegance; I try to create something
that I think is beautiful.      

[…] transversality is non-categorical and non-judgemental. It dees disciplinary
categories and resists hierarchies. A transversal line cuts diagonally through previously
separated parallel lines […]     

A mathematician, like a painter or poet, is a maker of patterns. The patterns, like
those of the painter or poet, must be beautiful. There is no permanent place in the
world for ugly mathematics.    

While the majority of computer scientists have devoted their attention to solving
complex problems and introducing new technology, few have written on the thought
process behind their creations.       

[T
E
X is] A wildly inconsistent mishmash and hotchpotch of ad hoc primitives and
algorithmic solutions without noticeable streamlining and general concepts. A thing
like a pervasive design or elegance is conspicuously absent. You can beat it around
to make it t most purposes, and even some typesetting purposes, but that is not
perfection.    

An error in the performance of classical music occurs when the performer plays a
note that is not written on the page. In musical genres that are not notated so closely
[…], there are no wrong notes
only notes that are more or less appropriate to the
performance.      

Working with Miles Davis, I played something that was technically wrong. I thought I
had just destroyed everything! Miles played some notes, and he made my chords right.
10:38
Didier Verna
I judged what I had played. Miles didn’t. That’s what every Jazz musician should do.
  
 A true warrior is invincible because he ghts with no one.   

A good scientist […] does not merely ignore conventional wisdom, but makes a special
eort to break it. Scientists go looking for trouble.     

[…] the two senses of “hack” are also connected. Ugly and imaginative solutions have
something in common: they both break the rules.     

The important thing is that you really like the style you are using; it should be the
best way you prefer to express yourself.      
 Lisp is a programmable programming language.   
 Lisp isn’t a language, it’s building material.    

I feel akin to the teacher of composition in a conservatory: he does not teach his pupils
how to compose a particular symphony, he must help his pupils to nd their own style
and must explain to them what is implied by this. (It has been this analogy that made
me talk about the art of programming.).     

If poetry and music deserve to be preferred before a game of push-pin, it must be
because they are calculated to gratify those individuals who are most dicult to be
pleased.         

The practitioner will discover that the techniques are innite. […] Rather than
following a xed form, [Aikido ] moves are developed from a common basic principle.
It is for that reason that new techniques still appear today.
 


The teacher only transmits a limited aspect of the art. Its multiple applications will
need to be discovered by every practitioner.   
 The Art of Peace begins with you. Work on yourselves.   

Everyone must understand [Aikido ] in a way that is personal.
 
  

Humans are creatures that crave to nd order and meaning in their environment.
Not only do we want to nd meaning in our surroundings, but we need to do this.
   

It is a requirement to the human brain to put order in the universe. […] One may
disagree with explanatory systems oered by myths or magic, but one cannot deny
them coherence.   

The heart of the problem is always to explain the complicated visible by some simple
invisible.   

The beginning of modern science can be dated from the time when such general
questions as “How was the universe created?” […] were replaced by such limited
10:39
Lisp, Jazz, Aikido
questions as “How does a stone fall?”. Scientic knowledge thus appears to consist of
isolated islands.   

In the history of sciences, important advances often come from bridging the gaps. They
result from the recognition that two hitherto separate observations can be viewed from
a new angle and seen to represent nothing but dierent facets of one phenomenon.
  

As Science progresses, there is a steady decrease in the number of postulates on which
it has to rely for its development.   

Our ability to discern forms in randomness and patterns in chaos is not necessarily
a negative trait. From survival strategies of primitive times to the more enriching
and impalpable pursuit of beauty and art, we have derived a tremendous benet by
attaching creativity to free association. The entire enterprise of science, after all, is
the organized and rational search for order in the seeming randomness surrounding
us.    
 I’m a real thief. Everyone inuenced me.   

Jazz is like an impolite guest who wants to sit at every table.
 


Use unity to hit multiplicity. […] The universe emerges and shines from a unique
source, and we evolve through an optimal process of unication and harmonization.
  
 […] a perfect method should not only be an ecient one, as respects the accomplish-
ment of the objects for which it is designed, but should in all its parts and processes
manifest a certain unity and harmony.   

Every encounter is unique, and the appropriate response must emerge naturally.
  

In Aikido, there is no form or model. The natural movements are the movements of
Aikido.     
10:40
Didier Verna
 

合気
          
             
        

合気道家
       
          
  武術     

武道
            
            
          

               

初段
          
                
                
 

道場
           
  

居合
           
            
           
         
               

  自由技     
  柔術     

柔道
         
     

        
  
  十手術     
  返し技     

空手
         
          
    

      
            



         
            
          

          
             
           
   
10:41
Lisp, Jazz, Aikido
  剣術     
  小手返し     

            
            
         

明治
           
           
   
 
見取り稽古
      
      
 
忍術
        
    

乱取り
         
             
            
           

 礼儀作法   
 礼式    
 悟り    
 
臍下丹
       
       

先生
            
  
 
四方投げ
      
       
  正面打ち     

手刀
          
              
         
  
 
体捌き
          
  
  横面打ち       
10:42
Didier Verna
    
   
           
            
            
            
             
 etc.           
             
    is          
           
              
          
      
 
             
             
            
              
            
             
        
 
               
              
             
             
             
   
 
 
                
           
     readtable    
macro characters          
10:43
Lisp, Jazz, Aikido
     
1 :background blue
2 :face { option :foreground white
3 :face { syntax :underline t :foreground red }
4 :face { usage :foreground magenta }}
   loop 
1 (loop repeat 5
2 for x = 0 then y
3 for y = 1 then (+ x y)
4 collect y)
             
 
active characters    theme   
          
             
          
              
          
face

make-face
           
               
       
             
            
             
            
          

loop
          
(loop
...)
              
          
+
  
    
            
            
              
   meta-class        
          
           
           
          
             
        behavioral reection 
    introspection        
       intersession    
10:44
Didier Verna
          structural vs. behavioral
           
          
             
      homogeneous meta-programming sys-
tem            
         
            
 
           
              
           
     frictions        
                
             
            
              
       

     
              
             
         
            
            
             
          
           
            
           
              
              
              
   
 
              
               
               
             
    
             
          
           
10:45
Lisp, Jazz, Aikido
              
           
           
           
             
            
           
                
            
            
  
          
            
            
           
             
            
            
           
             
                
10:46
Didier Verna
   
Excerpt from one of my most complicated scores (notation-wise).
B'
Chorus:
blues in
Eh--7, then
Db-7
lnterlude
To Chorus
Eb-7tt
Dzrr
E;L*
BA
1
c#-7e
Ea
A'
tr
37
f
V
aJ
1-
'i
D-79
l!
.;
VVI
F-79
D-79
F! I
YU
F-7t1
L-^-l-l
7
n n r:'] n
IJ
-
nr-l nn
IV
n r:'l r] n
t-J
n l-1 r:l n
Copyright
(C)
1998,
2003
Didier
Verna
Corridor
-
page
3t4
10:47
Lisp, Jazz, Aikido
     
Full rendition of one of my simplest scores (notation-wise).
10:48
Didier Verna
 
  
1 (let ((cmdline-options (list)))
2 (do ((cmdline-option
3 (pop (cmdline-options context))
4 (pop (cmdline-options context))))
5 ((null cmdline-option))
6 (cond ((eq (cmdline-option-option cmdline-option) option)
7 (setf (cmdline-options context)
8 (nreconc cmdline-options (cmdline-options context)))
9 (return-from getopt
10 (values (cmdline-option-value cmdline-option)
11 (list (cmdline-option-source cmdline-option)
12 (cmdline-option-name cmdline-option)))))
13 (t
14 (push cmdline-option cmdline-options))))
15 (setf (cmdline-options context) (nreverse cmdline-options)))
  
1 template <template <class> class M, typename T, typename V>
2 struct ch_value_ <M <tag::value_<T>>, V>
3 { typedef M<V> ret; };
4
5 template <template <class> class M, typename I, typename V>
6 struct ch_value_ <M <tag::image_<I>>, V>
7 { typedef M <mln_ch_value(I, V)> ret; };
8
9 template <template <class, class> class M, typename T,
10 typename I, typename V>
11 struct ch_value_ <M <tag::value_<T>, tag::image_<I>>, V>
12 { typedef mln_ch_value(I, V) ret; };
13
14 template <template <class, class> class M, typename P,
15 typename T, typename V>
16 struct ch_value_ <M <tag::psite_<P>, tag::value_<T>>, V>
17 { typedef M<P, V> ret; };
10:49
Lisp, Jazz, Aikido
  
Didier Verna
         
         
        
    
           
         
       
          
         
       
        

10:50