misc: starting Turing Machine in Racket.
This commit is contained in:
		
							parent
							
								
									05a88c1a29
								
							
						
					
					
						commit
						b6e24b44ad
					
				| 
						 | 
				
			
			@ -0,0 +1,18 @@
 | 
			
		|||
#lang racket
 | 
			
		||||
 | 
			
		||||
;;; a turing machine implementation
 | 
			
		||||
(define tape (make-hash))
 | 
			
		||||
 | 
			
		||||
(define (lookup position)
 | 
			
		||||
  (unless (hash-has-key? tape position)
 | 
			
		||||
    (hash-set! tape position 0))
 | 
			
		||||
  (hash-ref tape position))
 | 
			
		||||
 | 
			
		||||
(define turing-machine%
 | 
			
		||||
  (class object%
 | 
			
		||||
    (init)
 | 
			
		||||
    (define tape (make-hash))
 | 
			
		||||
    (define head 0)
 | 
			
		||||
    (define current-state #f)
 | 
			
		||||
    (define state-table)
 | 
			
		||||
    (super-new)))
 | 
			
		||||
		Loading…
	
		Reference in New Issue