Jump to content

Universal Turing machine: Difference between revisions

(adding lambdatalk)
Line 4,840:
=={{header|Lambdatalk}}==
<lang scheme>
{require lib_H} ;;// associative arrays library
 
{def tm
{def tm.r
{lambda {:data :rules :state :end :blank :i :N}
{if {or {W.equal? :state :end} {> :N 100400}} // recursion limited to 400
then :data
else {let { {:namedata :namedata} {:datarules :datarules}
{:end :end} {:blank :blank} {:rules :rules}
{:i :i} {:nb :nb}
{:state {H.get :state :rules}}
{:end :end} {:blank :blank} {:rules :rules}
{:i :i} {:nbN :nbN}
{:cell {if {W.equal? {A.get :i :data} undefined}
then :blank
Line 4,967:
1 {H.new write 0 | move -1 | next A}}
} A K 0}
 
-> too much recursion
output: busy_beaver2: [] -> [1,1,1,1,1,1,1,1,1,1,1]
 
</lang>
Cookies help us deliver our services. By using our services, you agree to our use of cookies.