MIT/GNU Scheme running under GNU/Linux Type `^C' (control-C) followed by `H' to obtain information about interrupts. Copyright 2003 Massachusetts Institute of Technology. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Image saved on Friday October 31, 2003 at 9:25:18 PM Release 7.7.90 || Microcode 14.11 || Runtime 15.3 || SF 4.41 || LIAR 4.116 Edwin 3.114 1 ]=> ;Loading "test_all.scm" ;Loading "fritz.scm" ;Loading "identifiers.scm" -- done ;Loading "primer.scm" -- done -- done ; Author: Paul Fitzpatrick, paulfitz@csail.mit.edu ; Copyright (c) 2005 Paul Fitzpatrick ; ; This file is part of CosmicOS. ; ; CosmicOS is free software; you can redistribute it and / or modify ; it under the terms of the GNU General Public License as published by ; the Free Software Foundation; either version 2 of the License, or ; (at your option) any later version. ; ; CosmicOS is distributed in the hope that it will be useful, ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ; GNU General Public License for more details. ; ; You should have received a copy of the GNU General Public License ; along with CosmicOS; if not, write to the Free Software ; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ; ; MATH introduce numbers (in unary notation) ; Here we count up, go through some primes, etc. ; There is some syntax around the numbers, but that doesn't ; need to be understood at this point. ; Any 'words' written here are converted to arbitrary integers ; in the actual message. Any word ending in -in-unary will be given ; in unary rather than the binary code used in the main body ; of the message. Expression: (0 1) Translation: (cos-intro 1) ok Expression: (0 2) Translation: (cos-intro 2) ok Expression: (0 3) Translation: (cos-intro 3) ok Expression: (0 4) Translation: (cos-intro 4) ok Expression: (0 5) Translation: (cos-intro 5) ok Expression: (0 6) Translation: (cos-intro 6) ok Expression: (0 7) Translation: (cos-intro 7) ok Expression: (0 8) Translation: (cos-intro 8) ok Expression: (0 9) Translation: (cos-intro 9) ok Expression: (0 10) Translation: (cos-intro 10) ok Expression: (0 11) Translation: (cos-intro 11) ok Expression: (0 12) Translation: (cos-intro 12) ok Expression: (0 13) Translation: (cos-intro 13) ok Expression: (0 14) Translation: (cos-intro 14) ok Expression: (0 15) Translation: (cos-intro 15) ok Expression: (0 16) Translation: (cos-intro 16) ok Expression: (0 2) Translation: (cos-intro 2) ok Expression: (0 3) Translation: (cos-intro 3) ok Expression: (0 5) Translation: (cos-intro 5) ok Expression: (0 7) Translation: (cos-intro 7) ok Expression: (0 11) Translation: (cos-intro 11) ok Expression: (0 13) Translation: (cos-intro 13) ok Expression: (0 1) Translation: (cos-intro 1) ok Expression: (0 4) Translation: (cos-intro 4) ok Expression: (0 9) Translation: (cos-intro 9) ok Expression: (0 16) Translation: (cos-intro 16) ok ; MATH introduce equality for unary numbers ; The intro operator does nothing essential, and could be ; omitted - it just tags the first use of a new operator. ; The = operator is introduced alongside a duplication of ; unary numbers. The meaning will not quite by nailed down ; until we see other relational operators. Expression: (2 1 1) Translation: ((cos-= 1) 1) ok Expression: (2 2 2) Translation: ((cos-= 2) 2) ok Expression: (2 3 3) Translation: ((cos-= 3) 3) ok Expression: (2 4 4) Translation: ((cos-= 4) 4) ok Expression: (2 5 5) Translation: ((cos-= 5) 5) ok Expression: (2 6 6) Translation: ((cos-= 6) 6) ok Expression: (2 7 7) Translation: ((cos-= 7) 7) ok Expression: (2 8 8) Translation: ((cos-= 8) 8) ok Expression: (2 1 1) Translation: ((cos-= 1) 1) ok Expression: (2 6 6) Translation: ((cos-= 6) 6) ok Expression: (2 2 2) Translation: ((cos-= 2) 2) ok ; MATH now introduce other relational operators ; After this lesson, it should be clear what contexts ; < > and = are appropriate in. ; drive the lesson home Expression: (2 1 1) Translation: ((cos-= 1) 1) ok Expression: (3 2 1) Translation: ((cos-> 2) 1) ok Expression: (3 3 1) Translation: ((cos-> 3) 1) ok Expression: (3 4 1) Translation: ((cos-> 4) 1) ok Expression: (1 1 2) Translation: ((cos-< 1) 2) ok Expression: (2 2 2) Translation: ((cos-= 2) 2) ok Expression: (3 3 2) Translation: ((cos-> 3) 2) ok Expression: (3 4 2) Translation: ((cos-> 4) 2) ok Expression: (1 1 3) Translation: ((cos-< 1) 3) ok Expression: (1 2 3) Translation: ((cos-< 2) 3) ok Expression: (2 3 3) Translation: ((cos-= 3) 3) ok Expression: (3 4 3) Translation: ((cos-> 4) 3) ok Expression: (1 1 4) Translation: ((cos-< 1) 4) ok Expression: (1 2 4) Translation: ((cos-< 2) 4) ok Expression: (1 3 4) Translation: ((cos-< 3) 4) ok Expression: (2 4 4) Translation: ((cos-= 4) 4) ok Expression: (3 1 0) Translation: ((cos-> 1) 0) ok Expression: (3 9 2) Translation: ((cos-> 9) 2) ok Expression: (3 6 0) Translation: ((cos-> 6) 0) ok Expression: (3 2 0) Translation: ((cos-> 2) 0) ok Expression: (3 8 2) Translation: ((cos-> 8) 2) ok Expression: (3 4 1) Translation: ((cos-> 4) 1) ok Expression: (3 2 0) Translation: ((cos-> 2) 0) ok Expression: (3 10 1) Translation: ((cos-> 10) 1) ok Expression: (3 6 1) Translation: ((cos-> 6) 1) ok Expression: (3 9 1) Translation: ((cos-> 9) 1) ok Expression: (3 7 1) Translation: ((cos-> 7) 1) ok Expression: (1 0 1) Translation: ((cos-< 0) 1) ok Expression: (1 3 10) Translation: ((cos-< 3) 10) ok Expression: (1 4 9) Translation: ((cos-< 4) 9) ok Expression: (1 2 4) Translation: ((cos-< 2) 4) ok Expression: (1 1 7) Translation: ((cos-< 1) 7) ok Expression: (1 0 10) Translation: ((cos-< 0) 10) ok Expression: (1 0 2) Translation: ((cos-< 0) 2) ok Expression: (1 0 2) Translation: ((cos-< 0) 2) ok Expression: (1 1 3) Translation: ((cos-< 1) 3) ok Expression: (1 2 5) Translation: ((cos-< 2) 5) ok Expression: (1 1 4) Translation: ((cos-< 1) 4) ok ; switch to binary labelling for commands Expression: (2 1 1) Translation: ((cos-= 1) 1) ok Expression: (3 2 1) Translation: ((cos-> 2) 1) ok Expression: (3 3 1) Translation: ((cos-> 3) 1) ok Expression: (3 4 1) Translation: ((cos-> 4) 1) ok Expression: (1 1 2) Translation: ((cos-< 1) 2) ok Expression: (2 2 2) Translation: ((cos-= 2) 2) ok Expression: (3 3 2) Translation: ((cos-> 3) 2) ok Expression: (3 4 2) Translation: ((cos-> 4) 2) ok Expression: (1 1 3) Translation: ((cos-< 1) 3) ok Expression: (1 2 3) Translation: ((cos-< 2) 3) ok Expression: (2 3 3) Translation: ((cos-= 3) 3) ok Expression: (3 4 3) Translation: ((cos-> 4) 3) ok Expression: (1 1 4) Translation: ((cos-< 1) 4) ok Expression: (1 2 4) Translation: ((cos-< 2) 4) ok Expression: (1 3 4) Translation: ((cos-< 3) 4) ok Expression: (2 4 4) Translation: ((cos-= 4) 4) ok ; a few more random examples Expression: (1 3 4) Translation: ((cos-< 3) 4) ok Expression: (2 4 4) Translation: ((cos-= 4) 4) ok Expression: (1 1 5) Translation: ((cos-< 1) 5) ok Expression: (3 4 0) Translation: ((cos-> 4) 0) ok Expression: (3 5 4) Translation: ((cos-> 5) 4) ok Expression: (1 2 3) Translation: ((cos-< 2) 3) ok Expression: (3 2 1) Translation: ((cos-> 2) 1) ok Expression: (3 5 1) Translation: ((cos-> 5) 1) ok Expression: (2 3 3) Translation: ((cos-= 3) 3) ok Expression: (2 3 3) Translation: ((cos-= 3) 3) ok Expression: (3 1 0) Translation: ((cos-> 1) 0) ok ; MATH introduce the NOT logical operator Expression: (0 4) Translation: (cos-intro 4) ok Expression: (2 0 0) Translation: ((cos-= 0) 0) ok Expression: (4 -1 1 0 0) Translation: (cos-not ((cos-< 0) 0)) ok Expression: (4 -1 3 0 0) Translation: (cos-not ((cos-> 0) 0)) ok Expression: (2 4 4) Translation: ((cos-= 4) 4) ok Expression: (4 -1 1 4 4) Translation: (cos-not ((cos-< 4) 4)) ok Expression: (4 -1 3 4 4) Translation: (cos-not ((cos-> 4) 4)) ok Expression: (2 6 6) Translation: ((cos-= 6) 6) ok Expression: (4 -1 1 6 6) Translation: (cos-not ((cos-< 6) 6)) ok Expression: (4 -1 3 6 6) Translation: (cos-not ((cos-> 6) 6)) ok Expression: (2 2 2) Translation: ((cos-= 2) 2) ok Expression: (4 -1 1 2 2) Translation: (cos-not ((cos-< 2) 2)) ok Expression: (4 -1 3 2 2) Translation: (cos-not ((cos-> 2) 2)) ok Expression: (2 3 3) Translation: ((cos-= 3) 3) ok Expression: (4 -1 1 3 3) Translation: (cos-not ((cos-< 3) 3)) ok Expression: (4 -1 3 3 3) Translation: (cos-not ((cos-> 3) 3)) ok Expression: (4 -1 2 3 10) Translation: (cos-not ((cos-= 3) 10)) ok Expression: (1 3 10) Translation: ((cos-< 3) 10) ok Expression: (4 -1 3 3 10) Translation: (cos-not ((cos-> 3) 10)) ok Expression: (4 -1 2 5 7) Translation: (cos-not ((cos-= 5) 7)) ok Expression: (1 5 7) Translation: ((cos-< 5) 7) ok Expression: (4 -1 3 5 7) Translation: (cos-not ((cos-> 5) 7)) ok Expression: (4 -1 2 1 2) Translation: (cos-not ((cos-= 1) 2)) ok Expression: (1 1 2) Translation: ((cos-< 1) 2) ok Expression: (4 -1 3 1 2) Translation: (cos-not ((cos-> 1) 2)) ok Expression: (4 -1 2 0 5) Translation: (cos-not ((cos-= 0) 5)) ok Expression: (1 0 5) Translation: ((cos-< 0) 5) ok Expression: (4 -1 3 0 5) Translation: (cos-not ((cos-> 0) 5)) ok Expression: (4 -1 2 8 14) Translation: (cos-not ((cos-= 8) 14)) ok Expression: (1 8 14) Translation: ((cos-< 8) 14) ok Expression: (4 -1 3 8 14) Translation: (cos-not ((cos-> 8) 14)) ok Expression: (4 -1 2 11 6) Translation: (cos-not ((cos-= 11) 6)) ok Expression: (3 11 6) Translation: ((cos-> 11) 6) ok Expression: (4 -1 1 11 6) Translation: (cos-not ((cos-< 11) 6)) ok Expression: (4 -1 2 12 2) Translation: (cos-not ((cos-= 12) 2)) ok Expression: (3 12 2) Translation: ((cos-> 12) 2) ok Expression: (4 -1 1 12 2) Translation: (cos-not ((cos-< 12) 2)) ok Expression: (4 -1 2 10 7) Translation: (cos-not ((cos-= 10) 7)) ok Expression: (3 10 7) Translation: ((cos-> 10) 7) ok Expression: (4 -1 1 10 7) Translation: (cos-not ((cos-< 10) 7)) ok Expression: (4 -1 2 4 0) Translation: (cos-not ((cos-= 4) 0)) ok Expression: (3 4 0) Translation: ((cos-> 4) 0) ok Expression: (4 -1 1 4 0) Translation: (cos-not ((cos-< 4) 0)) ok Expression: (4 -1 2 16 9) Translation: (cos-not ((cos-= 16) 9)) ok Expression: (3 16 9) Translation: ((cos-> 16) 9) ok Expression: (4 -1 1 16 9) Translation: (cos-not ((cos-< 16) 9)) ok ; MATH introduce addition Expression: (0 10) Translation: (cos-intro 10) ok Expression: (2 2 -1 10 0 2) Translation: ((cos-= 2) ((cos-+ 0) 2)) ok Expression: (2 5 -1 10 4 1) Translation: ((cos-= 5) ((cos-+ 4) 1)) ok Expression: (2 2 -1 10 2 0) Translation: ((cos-= 2) ((cos-+ 2) 0)) ok Expression: (2 4 -1 10 0 4) Translation: ((cos-= 4) ((cos-+ 0) 4)) ok Expression: (2 4 -1 10 3 1) Translation: ((cos-= 4) ((cos-+ 3) 1)) ok Expression: (2 3 -1 10 1 2) Translation: ((cos-= 3) ((cos-+ 1) 2)) ok Expression: (2 0 -1 10 0 0) Translation: ((cos-= 0) ((cos-+ 0) 0)) ok Expression: (2 4 -1 10 4 0) Translation: ((cos-= 4) ((cos-+ 4) 0)) ok Expression: (2 3 -1 10 2 1) Translation: ((cos-= 3) ((cos-+ 2) 1)) ok Expression: (2 4 -1 10 4 0) Translation: ((cos-= 4) ((cos-+ 4) 0)) ok ; MATH introduce subtraction Expression: (0 11) Translation: (cos-intro 11) ok Expression: (2 0 -1 11 2 2) Translation: ((cos-= 0) ((cos-- 2) 2)) ok Expression: (2 4 -1 11 5 1) Translation: ((cos-= 4) ((cos-- 5) 1)) ok Expression: (2 2 -1 11 2 0) Translation: ((cos-= 2) ((cos-- 2) 0)) ok Expression: (2 0 -1 11 4 4) Translation: ((cos-= 0) ((cos-- 4) 4)) ok Expression: (2 3 -1 11 4 1) Translation: ((cos-= 3) ((cos-- 4) 1)) ok Expression: (2 1 -1 11 3 2) Translation: ((cos-= 1) ((cos-- 3) 2)) ok Expression: (2 0 -1 11 0 0) Translation: ((cos-= 0) ((cos-- 0) 0)) ok Expression: (2 4 -1 11 4 0) Translation: ((cos-= 4) ((cos-- 4) 0)) ok Expression: (2 2 -1 11 3 1) Translation: ((cos-= 2) ((cos-- 3) 1)) ok Expression: (2 4 -1 11 4 0) Translation: ((cos-= 4) ((cos-- 4) 0)) ok ; MATH introduce multiplication Expression: (0 9) Translation: (cos-intro 9) ok Expression: (2 0 -1 9 0 0) Translation: ((cos-= 0) ((cos-* 0) 0)) ok Expression: (2 0 -1 9 0 1) Translation: ((cos-= 0) ((cos-* 0) 1)) ok Expression: (2 0 -1 9 0 2) Translation: ((cos-= 0) ((cos-* 0) 2)) ok Expression: (2 0 -1 9 0 3) Translation: ((cos-= 0) ((cos-* 0) 3)) ok Expression: (2 0 -1 9 1 0) Translation: ((cos-= 0) ((cos-* 1) 0)) ok Expression: (2 1 -1 9 1 1) Translation: ((cos-= 1) ((cos-* 1) 1)) ok Expression: (2 2 -1 9 1 2) Translation: ((cos-= 2) ((cos-* 1) 2)) ok Expression: (2 3 -1 9 1 3) Translation: ((cos-= 3) ((cos-* 1) 3)) ok Expression: (2 0 -1 9 2 0) Translation: ((cos-= 0) ((cos-* 2) 0)) ok Expression: (2 2 -1 9 2 1) Translation: ((cos-= 2) ((cos-* 2) 1)) ok Expression: (2 4 -1 9 2 2) Translation: ((cos-= 4) ((cos-* 2) 2)) ok Expression: (2 6 -1 9 2 3) Translation: ((cos-= 6) ((cos-* 2) 3)) ok Expression: (2 0 -1 9 3 0) Translation: ((cos-= 0) ((cos-* 3) 0)) ok Expression: (2 3 -1 9 3 1) Translation: ((cos-= 3) ((cos-* 3) 1)) ok Expression: (2 6 -1 9 3 2) Translation: ((cos-= 6) ((cos-* 3) 2)) ok Expression: (2 9 -1 9 3 3) Translation: ((cos-= 9) ((cos-* 3) 3)) ok Expression: (2 0 -1 9 0 1) Translation: ((cos-= 0) ((cos-* 0) 1)) ok Expression: (2 3 -1 9 3 1) Translation: ((cos-= 3) ((cos-* 3) 1)) ok Expression: (2 0 -1 9 2 0) Translation: ((cos-= 0) ((cos-* 2) 0)) ok Expression: (2 0 -1 9 0 3) Translation: ((cos-= 0) ((cos-* 0) 3)) ok Expression: (2 3 -1 9 3 1) Translation: ((cos-= 3) ((cos-* 3) 1)) ok Expression: (2 2 -1 9 1 2) Translation: ((cos-= 2) ((cos-* 1) 2)) ok Expression: (2 0 -1 9 0 0) Translation: ((cos-= 0) ((cos-* 0) 0)) ok Expression: (2 0 -1 9 3 0) Translation: ((cos-= 0) ((cos-* 3) 0)) ok Expression: (2 0 -1 9 2 0) Translation: ((cos-= 0) ((cos-* 2) 0)) ok Expression: (2 0 -1 9 3 0) Translation: ((cos-= 0) ((cos-* 3) 0)) ok ; MATH introduce a simple form of binary notation ; After this lesson, in the higher-level version of the message, ; will expand decimal to stand for the binary notation given. ; It wouldn't be hard to accompany this lesson with a more ; formal definition once functions are introduced (below) ; so maybe the transition to binary should be delayed? Expression: (2 1 1) Translation: ((cos-= 1) 1) ok Expression: (2 2 2) Translation: ((cos-= 2) 2) ok Expression: (2 4 4) Translation: ((cos-= 4) 4) ok Expression: (2 8 8) Translation: ((cos-= 8) 8) ok Expression: (2 16 16) Translation: ((cos-= 16) 16) ok Expression: (2 0 0) Translation: ((cos-= 0) 0) ok Expression: (2 1 1) Translation: ((cos-= 1) 1) ok Expression: (2 2 2) Translation: ((cos-= 2) 2) ok Expression: (2 3 3) Translation: ((cos-= 3) 3) ok Expression: (2 4 4) Translation: ((cos-= 4) 4) ok Expression: (2 5 5) Translation: ((cos-= 5) 5) ok Expression: (2 6 6) Translation: ((cos-= 6) 6) ok Expression: (2 7 7) Translation: ((cos-= 7) 7) ok Expression: (2 8 8) Translation: ((cos-= 8) 8) ok Expression: (2 9 9) Translation: ((cos-= 9) 9) ok Expression: (2 10 10) Translation: ((cos-= 10) 10) ok Expression: (2 11 11) Translation: ((cos-= 11) 11) ok Expression: (2 12 12) Translation: ((cos-= 12) 12) ok Expression: (2 13 13) Translation: ((cos-= 13) 13) ok Expression: (2 14 14) Translation: ((cos-= 14) 14) ok Expression: (2 15 15) Translation: ((cos-= 15) 15) ok Expression: (2 0 0) Translation: ((cos-= 0) 0) ok Expression: (2 7 7) Translation: ((cos-= 7) 7) ok Expression: (2 13 13) Translation: ((cos-= 13) 13) ok Expression: (2 5 5) Translation: ((cos-= 5) 5) ok Expression: (2 9 9) Translation: ((cos-= 9) 9) ok Expression: (2 0 0) Translation: ((cos-= 0) 0) ok Expression: (2 3 3) Translation: ((cos-= 3) 3) ok Expression: (2 15 15) Translation: ((cos-= 15) 15) ok Expression: (2 12 12) Translation: ((cos-= 12) 12) ok Expression: (2 5 5) Translation: ((cos-= 5) 5) ok Expression: (2 5 5) Translation: ((cos-= 5) 5) ok Expression: (2 9 9) Translation: ((cos-= 9) 9) ok Expression: (2 2 2) Translation: ((cos-= 2) 2) ok Expression: (2 1 1) Translation: ((cos-= 1) 1) ok Expression: (2 15 15) Translation: ((cos-= 15) 15) ok Expression: (2 2 2) Translation: ((cos-= 2) 2) ok Expression: (2 5 -1 10 4 1) Translation: ((cos-= 5) ((cos-+ 4) 1)) ok Expression: (2 5 -1 10 4 1) Translation: ((cos-= 5) ((cos-+ 4) 1)) ok Expression: (2 7 -1 10 6 1) Translation: ((cos-= 7) ((cos-+ 6) 1)) ok Expression: (2 7 -1 10 6 1) Translation: ((cos-= 7) ((cos-+ 6) 1)) ok Expression: (2 5 -1 10 4 1) Translation: ((cos-= 5) ((cos-+ 4) 1)) ok Expression: (2 5 -1 10 4 1) Translation: ((cos-= 5) ((cos-+ 4) 1)) ok Expression: (2 4 -1 10 0 4) Translation: ((cos-= 4) ((cos-+ 0) 4)) ok Expression: (2 4 -1 10 0 4) Translation: ((cos-= 4) ((cos-+ 0) 4)) ok Expression: (2 9 -1 10 7 2) Translation: ((cos-= 9) ((cos-+ 7) 2)) ok Expression: (2 9 -1 10 7 2) Translation: ((cos-= 9) ((cos-+ 7) 2)) ok Expression: (2 11 -1 10 7 4) Translation: ((cos-= 11) ((cos-+ 7) 4)) ok Expression: (2 11 -1 10 7 4) Translation: ((cos-= 11) ((cos-+ 7) 4)) ok Expression: (2 10 -1 10 3 7) Translation: ((cos-= 10) ((cos-+ 3) 7)) ok Expression: (2 10 -1 10 3 7) Translation: ((cos-= 10) ((cos-+ 3) 7)) ok Expression: (2 6 -1 10 5 1) Translation: ((cos-= 6) ((cos-+ 5) 1)) ok Expression: (2 6 -1 10 5 1) Translation: ((cos-= 6) ((cos-+ 5) 1)) ok Expression: (2 4 -1 9 4 1) Translation: ((cos-= 4) ((cos-* 4) 1)) ok Expression: (2 4 -1 9 4 1) Translation: ((cos-= 4) ((cos-* 4) 1)) ok Expression: (2 4 -1 9 1 4) Translation: ((cos-= 4) ((cos-* 1) 4)) ok Expression: (2 4 -1 9 1 4) Translation: ((cos-= 4) ((cos-* 1) 4)) ok Expression: (2 4 -1 9 1 4) Translation: ((cos-= 4) ((cos-* 1) 4)) ok Expression: (2 4 -1 9 1 4) Translation: ((cos-= 4) ((cos-* 1) 4)) ok Expression: (2 6 -1 9 2 3) Translation: ((cos-= 6) ((cos-* 2) 3)) ok Expression: (2 6 -1 9 2 3) Translation: ((cos-= 6) ((cos-* 2) 3)) ok Expression: (2 6 -1 9 2 3) Translation: ((cos-= 6) ((cos-* 2) 3)) ok Expression: (2 6 -1 9 2 3) Translation: ((cos-= 6) ((cos-* 2) 3)) ok Expression: (2 4 -1 9 2 2) Translation: ((cos-= 4) ((cos-* 2) 2)) ok Expression: (2 4 -1 9 2 2) Translation: ((cos-= 4) ((cos-* 2) 2)) ok Expression: (2 9 -1 9 3 3) Translation: ((cos-= 9) ((cos-* 3) 3)) ok Expression: (2 9 -1 9 3 3) Translation: ((cos-= 9) ((cos-* 3) 3)) ok Expression: (2 16 -1 9 4 4) Translation: ((cos-= 16) ((cos-* 4) 4)) ok Expression: (2 16 -1 9 4 4) Translation: ((cos-= 16) ((cos-* 4) 4)) ok ; MATH show local assignment Expression: (14 20 0 -1 2 (20) 0) Translation: ((lambda (cos-exists) ((cos-= cos-exists) 0)) 0) ok Expression: (14 20 1 -1 2 (20) 1) Translation: ((lambda (cos-exists) ((cos-= cos-exists) 1)) 1) ok Expression: (14 20 2 -1 2 (20) 2) Translation: ((lambda (cos-exists) ((cos-= cos-exists) 2)) 2) ok Expression: (14 21 0 -1 2 (21) 0) Translation: ((lambda (cos-cons) ((cos-= cos-cons) 0)) 0) ok Expression: (14 21 1 -1 2 (21) 1) Translation: ((lambda (cos-cons) ((cos-= cos-cons) 1)) 1) ok Expression: (14 21 2 -1 2 (21) 2) Translation: ((lambda (cos-cons) ((cos-= cos-cons) 2)) 2) ok Expression: (14 22 0 -1 2 (22) 0) Translation: ((lambda (cos-car) ((cos-= cos-car) 0)) 0) ok Expression: (14 22 1 -1 2 (22) 1) Translation: ((lambda (cos-car) ((cos-= cos-car) 1)) 1) ok Expression: (14 22 2 -1 2 (22) 2) Translation: ((lambda (cos-car) ((cos-= cos-car) 2)) 2) ok Expression: (2 0 (14 20 0 (20))) Translation: ((cos-= 0) ((lambda (cos-exists) cos-exists) 0)) ok Expression: (2 0 (14 20 0 -1 20)) Translation: ((cos-= 0) ((lambda (cos-exists) cos-exists) 0)) ok Expression: (2 0 -1 14 20 0 -1 20) Translation: ((cos-= 0) ((lambda (cos-exists) cos-exists) 0)) ok Expression: (2 20 -1 14 20 0 20) Translation: ((cos-= 20) ((lambda (cos-exists) 20) 0)) ok Expression: (2 5 -1 14 20 0 5) Translation: ((cos-= 5) ((lambda (cos-exists) 5) 0)) ok Expression: (2 5 -1 14 20 0 -1 14 23 5 -1 23) Translation: ((cos-= 5) ((lambda (cos-exists) ((lambda (cos-cdr) cos-cdr) 5)) 0)) ok Expression: (2 23 -1 14 20 0 -1 14 23 5 23) Translation: ((cos-= 23) ((lambda (cos-exists) ((lambda (cos-cdr) 23) 5)) 0)) ok Expression: (2 1 (14 20 1 (20))) Translation: ((cos-= 1) ((lambda (cos-exists) cos-exists) 1)) ok Expression: (2 1 (14 20 1 -1 20)) Translation: ((cos-= 1) ((lambda (cos-exists) cos-exists) 1)) ok Expression: (2 1 -1 14 20 1 -1 20) Translation: ((cos-= 1) ((lambda (cos-exists) cos-exists) 1)) ok Expression: (2 20 -1 14 20 1 20) Translation: ((cos-= 20) ((lambda (cos-exists) 20) 1)) ok Expression: (2 5 -1 14 20 1 5) Translation: ((cos-= 5) ((lambda (cos-exists) 5) 1)) ok Expression: (2 5 -1 14 20 1 -1 14 23 5 -1 23) Translation: ((cos-= 5) ((lambda (cos-exists) ((lambda (cos-cdr) cos-cdr) 5)) 1)) ok Expression: (2 23 -1 14 20 1 -1 14 23 5 23) Translation: ((cos-= 23) ((lambda (cos-exists) ((lambda (cos-cdr) 23) 5)) 1)) ok Expression: (2 2 (14 20 2 (20))) Translation: ((cos-= 2) ((lambda (cos-exists) cos-exists) 2)) ok Expression: (2 2 (14 20 2 -1 20)) Translation: ((cos-= 2) ((lambda (cos-exists) cos-exists) 2)) ok Expression: (2 2 -1 14 20 2 -1 20) Translation: ((cos-= 2) ((lambda (cos-exists) cos-exists) 2)) ok Expression: (2 20 -1 14 20 2 20) Translation: ((cos-= 20) ((lambda (cos-exists) 20) 2)) ok Expression: (2 5 -1 14 20 2 5) Translation: ((cos-= 5) ((lambda (cos-exists) 5) 2)) ok Expression: (2 5 -1 14 20 2 -1 14 23 5 -1 23) Translation: ((cos-= 5) ((lambda (cos-exists) ((lambda (cos-cdr) cos-cdr) 5)) 2)) ok Expression: (2 23 -1 14 20 2 -1 14 23 5 23) Translation: ((cos-= 23) ((lambda (cos-exists) ((lambda (cos-cdr) 23) 5)) 2)) ok Expression: (2 0 (14 21 0 (21))) Translation: ((cos-= 0) ((lambda (cos-cons) cos-cons) 0)) ok Expression: (2 0 (14 21 0 -1 21)) Translation: ((cos-= 0) ((lambda (cos-cons) cos-cons) 0)) ok Expression: (2 0 -1 14 21 0 -1 21) Translation: ((cos-= 0) ((lambda (cos-cons) cos-cons) 0)) ok Expression: (2 21 -1 14 21 0 21) Translation: ((cos-= 21) ((lambda (cos-cons) 21) 0)) ok Expression: (2 5 -1 14 21 0 5) Translation: ((cos-= 5) ((lambda (cos-cons) 5) 0)) ok Expression: (2 5 -1 14 21 0 -1 14 23 5 -1 23) Translation: ((cos-= 5) ((lambda (cos-cons) ((lambda (cos-cdr) cos-cdr) 5)) 0)) ok Expression: (2 23 -1 14 21 0 -1 14 23 5 23) Translation: ((cos-= 23) ((lambda (cos-cons) ((lambda (cos-cdr) 23) 5)) 0)) ok Expression: (2 1 (14 21 1 (21))) Translation: ((cos-= 1) ((lambda (cos-cons) cos-cons) 1)) ok Expression: (2 1 (14 21 1 -1 21)) Translation: ((cos-= 1) ((lambda (cos-cons) cos-cons) 1)) ok Expression: (2 1 -1 14 21 1 -1 21) Translation: ((cos-= 1) ((lambda (cos-cons) cos-cons) 1)) ok Expression: (2 21 -1 14 21 1 21) Translation: ((cos-= 21) ((lambda (cos-cons) 21) 1)) ok Expression: (2 5 -1 14 21 1 5) Translation: ((cos-= 5) ((lambda (cos-cons) 5) 1)) ok Expression: (2 5 -1 14 21 1 -1 14 23 5 -1 23) Translation: ((cos-= 5) ((lambda (cos-cons) ((lambda (cos-cdr) cos-cdr) 5)) 1)) ok Expression: (2 23 -1 14 21 1 -1 14 23 5 23) Translation: ((cos-= 23) ((lambda (cos-cons) ((lambda (cos-cdr) 23) 5)) 1)) ok Expression: (2 2 (14 21 2 (21))) Translation: ((cos-= 2) ((lambda (cos-cons) cos-cons) 2)) ok Expression: (2 2 (14 21 2 -1 21)) Translation: ((cos-= 2) ((lambda (cos-cons) cos-cons) 2)) ok Expression: (2 2 -1 14 21 2 -1 21) Translation: ((cos-= 2) ((lambda (cos-cons) cos-cons) 2)) ok Expression: (2 21 -1 14 21 2 21) Translation: ((cos-= 21) ((lambda (cos-cons) 21) 2)) ok Expression: (2 5 -1 14 21 2 5) Translation: ((cos-= 5) ((lambda (cos-cons) 5) 2)) ok Expression: (2 5 -1 14 21 2 -1 14 23 5 -1 23) Translation: ((cos-= 5) ((lambda (cos-cons) ((lambda (cos-cdr) cos-cdr) 5)) 2)) ok Expression: (2 23 -1 14 21 2 -1 14 23 5 23) Translation: ((cos-= 23) ((lambda (cos-cons) ((lambda (cos-cdr) 23) 5)) 2)) ok Expression: (2 0 (14 22 0 (22))) Translation: ((cos-= 0) ((lambda (cos-car) cos-car) 0)) ok Expression: (2 0 (14 22 0 -1 22)) Translation: ((cos-= 0) ((lambda (cos-car) cos-car) 0)) ok Expression: (2 0 -1 14 22 0 -1 22) Translation: ((cos-= 0) ((lambda (cos-car) cos-car) 0)) ok Expression: (2 22 -1 14 22 0 22) Translation: ((cos-= 22) ((lambda (cos-car) 22) 0)) ok Expression: (2 5 -1 14 22 0 5) Translation: ((cos-= 5) ((lambda (cos-car) 5) 0)) ok Expression: (2 5 -1 14 22 0 -1 14 23 5 -1 23) Translation: ((cos-= 5) ((lambda (cos-car) ((lambda (cos-cdr) cos-cdr) 5)) 0)) ok Expression: (2 23 -1 14 22 0 -1 14 23 5 23) Translation: ((cos-= 23) ((lambda (cos-car) ((lambda (cos-cdr) 23) 5)) 0)) ok Expression: (2 1 (14 22 1 (22))) Translation: ((cos-= 1) ((lambda (cos-car) cos-car) 1)) ok Expression: (2 1 (14 22 1 -1 22)) Translation: ((cos-= 1) ((lambda (cos-car) cos-car) 1)) ok Expression: (2 1 -1 14 22 1 -1 22) Translation: ((cos-= 1) ((lambda (cos-car) cos-car) 1)) ok Expression: (2 22 -1 14 22 1 22) Translation: ((cos-= 22) ((lambda (cos-car) 22) 1)) ok Expression: (2 5 -1 14 22 1 5) Translation: ((cos-= 5) ((lambda (cos-car) 5) 1)) ok Expression: (2 5 -1 14 22 1 -1 14 23 5 -1 23) Translation: ((cos-= 5) ((lambda (cos-car) ((lambda (cos-cdr) cos-cdr) 5)) 1)) ok Expression: (2 23 -1 14 22 1 -1 14 23 5 23) Translation: ((cos-= 23) ((lambda (cos-car) ((lambda (cos-cdr) 23) 5)) 1)) ok Expression: (2 2 (14 22 2 (22))) Translation: ((cos-= 2) ((lambda (cos-car) cos-car) 2)) ok Expression: (2 2 (14 22 2 -1 22)) Translation: ((cos-= 2) ((lambda (cos-car) cos-car) 2)) ok Expression: (2 2 -1 14 22 2 -1 22) Translation: ((cos-= 2) ((lambda (cos-car) cos-car) 2)) ok Expression: (2 22 -1 14 22 2 22) Translation: ((cos-= 22) ((lambda (cos-car) 22) 2)) ok Expression: (2 5 -1 14 22 2 5) Translation: ((cos-= 5) ((lambda (cos-car) 5) 2)) ok Expression: (2 5 -1 14 22 2 -1 14 23 5 -1 23) Translation: ((cos-= 5) ((lambda (cos-car) ((lambda (cos-cdr) cos-cdr) 5)) 2)) ok Expression: (2 23 -1 14 22 2 -1 14 23 5 23) Translation: ((cos-= 23) ((lambda (cos-car) ((lambda (cos-cdr) 23) 5)) 2)) ok ; Now for functions. Expression: (14 20 (12 28 5) -1 2 5 (20 2)) Translation: ((lambda (cos-exists) ((cos-= 5) (cos-exists 2))) (lambda (cos-set!) 5)) ok Expression: (14 32 (12 24 5) -1 2 5 (32 3)) Translation: ((lambda (cos-undefined) ((cos-= 5) (cos-undefined 3))) (lambda (cos-number?) 5)) ok Expression: (14 28 (12 29 6) -1 2 6 (28 2)) Translation: ((lambda (cos-set!) ((cos-= 6) (cos-set! 2))) (lambda (cos-get!) 6)) ok Expression: (14 30 (12 32 6) -1 2 6 (30 3)) Translation: ((lambda (cos-all) ((cos-= 6) (cos-all 3))) (lambda (cos-undefined) 6)) ok Expression: (14 25 (12 38 (38)) -1 2 2 (25 2)) Translation: ((lambda (cos-translate) ((cos-= 2) (cos-translate 2))) (lambda (cos-38) cos-38)) ok Expression: (14 23 (12 30 (30)) -1 2 3 (23 3)) Translation: ((lambda (cos-cdr) ((cos-= 3) (cos-cdr 3))) (lambda (cos-all) cos-all)) ok Expression: (14 25 (12 33 (33)) -1 2 2 (25 2)) Translation: ((lambda (cos-translate) ((cos-= 2) (cos-translate 2))) (lambda (cos-!) cos-!)) ok Expression: (14 29 (12 21 (21)) -1 2 3 (29 3)) Translation: ((lambda (cos-get!) ((cos-= 3) (cos-get! 3))) (lambda (cos-cons) cos-cons)) ok Expression: (14 25 (12 32 -1 10 (32) 1) -1 2 3 (25 2)) Translation: ((lambda (cos-translate) ((cos-= 3) (cos-translate 2))) (lambda (cos-undefined) ((cos-+ cos-undefined) 1))) ok Expression: (14 31 (12 38 -1 10 (38) 1) -1 2 4 (31 3)) Translation: ((lambda (cos-natural-set) ((cos-= 4) (cos-natural-set 3))) (lambda (cos-38) ((cos-+ cos-38) 1))) ok Expression: (14 35 (12 33 -1 10 (33) 1) -1 2 3 (35 2)) Translation: ((lambda (cos-primer) ((cos-= 3) (cos-primer 2))) (lambda (cos-!) ((cos-+ cos-!) 1))) ok Expression: (14 32 (12 26 -1 10 (26) 1) -1 2 4 (32 3)) Translation: ((lambda (cos-undefined) ((cos-= 4) (cos-undefined 3))) (lambda (cos-lambda) ((cos-+ cos-lambda) 1))) ok Expression: (14 36 (12 37 -1 10 (37) 6) -1 2 (36 6) 12) Translation: ((lambda (cos-36) ((cos-= (cos-36 6)) 12)) (lambda (cos-37) ((cos-+ cos-37) 6))) ok Expression: (2 ((12 37 -1 10 (37) 6) 6) 12) Translation: ((cos-= ((lambda (cos-37) ((cos-+ cos-37) 6)) 6)) 12) ok Expression: (14 36 (12 37 -1 10 (37) 4) -1 2 (36 0) 4) Translation: ((lambda (cos-36) ((cos-= (cos-36 0)) 4)) (lambda (cos-37) ((cos-+ cos-37) 4))) ok Expression: (2 ((12 37 -1 10 (37) 4) 0) 4) Translation: ((cos-= ((lambda (cos-37) ((cos-+ cos-37) 4)) 0)) 4) ok Expression: (14 36 (12 37 -1 10 (37) 12) -1 2 (36 0) 12) Translation: ((lambda (cos-36) ((cos-= (cos-36 0)) 12)) (lambda (cos-37) ((cos-+ cos-37) 12))) ok Expression: (2 ((12 37 -1 10 (37) 12) 0) 12) Translation: ((cos-= ((lambda (cos-37) ((cos-+ cos-37) 12)) 0)) 12) ok Expression: (14 36 (12 37 -1 10 (37) 15) -1 2 (36 2) 17) Translation: ((lambda (cos-36) ((cos-= (cos-36 2)) 17)) (lambda (cos-37) ((cos-+ cos-37) 15))) ok Expression: (2 ((12 37 -1 10 (37) 15) 2) 17) Translation: ((cos-= ((lambda (cos-37) ((cos-+ cos-37) 15)) 2)) 17) ok Expression: (14 38 (12 37 -1 12 36 -1 10 1 -1 9 (37) (36)) -1 2 (38 13 4) 53) Translation: ((lambda (cos-38) ((cos-= ((cos-38 13) 4)) 53)) (lambda (cos-37) (lambda (cos-36) ((cos-+ 1) ((cos-* cos-37) cos-36))))) ok Expression: (14 38 (12 37 -1 12 36 -1 10 1 -1 9 (37) (36)) -1 2 ((38 13) 4) 53) Translation: ((lambda (cos-38) ((cos-= ((cos-38 13) 4)) 53)) (lambda (cos-37) (lambda (cos-36) ((cos-+ 1) ((cos-* cos-37) cos-36))))) ok Expression: (2 ((12 37 -1 12 36 -1 10 1 -1 9 (37) (36)) 13 4) 53) Translation: ((cos-= (((lambda (cos-37) (lambda (cos-36) ((cos-+ 1) ((cos-* cos-37) cos-36)))) 13) 4)) 53) ok Expression: (2 (((12 37 -1 12 36 -1 10 1 -1 9 (37) (36)) 13) 4) 53) Translation: ((cos-= (((lambda (cos-37) (lambda (cos-36) ((cos-+ 1) ((cos-* cos-37) cos-36)))) 13) 4)) 53) ok Expression: (14 38 (12 37 -1 12 36 -1 10 1 -1 9 (37) (36)) -1 2 (38 5 6) 31) Translation: ((lambda (cos-38) ((cos-= ((cos-38 5) 6)) 31)) (lambda (cos-37) (lambda (cos-36) ((cos-+ 1) ((cos-* cos-37) cos-36))))) ok Expression: (14 38 (12 37 -1 12 36 -1 10 1 -1 9 (37) (36)) -1 2 ((38 5) 6) 31) Translation: ((lambda (cos-38) ((cos-= ((cos-38 5) 6)) 31)) (lambda (cos-37) (lambda (cos-36) ((cos-+ 1) ((cos-* cos-37) cos-36))))) ok Expression: (2 ((12 37 -1 12 36 -1 10 1 -1 9 (37) (36)) 5 6) 31) Translation: ((cos-= (((lambda (cos-37) (lambda (cos-36) ((cos-+ 1) ((cos-* cos-37) cos-36)))) 5) 6)) 31) ok Expression: (2 (((12 37 -1 12 36 -1 10 1 -1 9 (37) (36)) 5) 6) 31) Translation: ((cos-= (((lambda (cos-37) (lambda (cos-36) ((cos-+ 1) ((cos-* cos-37) cos-36)))) 5) 6)) 31) ok Expression: (14 38 (12 37 -1 12 36 -1 10 1 -1 9 (37) (36)) -1 2 (38 7 8) 57) Translation: ((lambda (cos-38) ((cos-= ((cos-38 7) 8)) 57)) (lambda (cos-37) (lambda (cos-36) ((cos-+ 1) ((cos-* cos-37) cos-36))))) ok Expression: (14 38 (12 37 -1 12 36 -1 10 1 -1 9 (37) (36)) -1 2 ((38 7) 8) 57) Translation: ((lambda (cos-38) ((cos-= ((cos-38 7) 8)) 57)) (lambda (cos-37) (lambda (cos-36) ((cos-+ 1) ((cos-* cos-37) cos-36))))) ok Expression: (2 ((12 37 -1 12 36 -1 10 1 -1 9 (37) (36)) 7 8) 57) Translation: ((cos-= (((lambda (cos-37) (lambda (cos-36) ((cos-+ 1) ((cos-* cos-37) cos-36)))) 7) 8)) 57) ok Expression: (2 (((12 37 -1 12 36 -1 10 1 -1 9 (37) (36)) 7) 8) 57) Translation: ((cos-= (((lambda (cos-37) (lambda (cos-36) ((cos-+ 1) ((cos-* cos-37) cos-36)))) 7) 8)) 57) ok Expression: (14 38 (12 37 -1 12 36 -1 10 1 -1 9 (37) (36)) -1 2 (38 8 2) 17) Translation: ((lambda (cos-38) ((cos-= ((cos-38 8) 2)) 17)) (lambda (cos-37) (lambda (cos-36) ((cos-+ 1) ((cos-* cos-37) cos-36))))) ok Expression: (14 38 (12 37 -1 12 36 -1 10 1 -1 9 (37) (36)) -1 2 ((38 8) 2) 17) Translation: ((lambda (cos-38) ((cos-= ((cos-38 8) 2)) 17)) (lambda (cos-37) (lambda (cos-36) ((cos-+ 1) ((cos-* cos-37) cos-36))))) ok Expression: (2 ((12 37 -1 12 36 -1 10 1 -1 9 (37) (36)) 8 2) 17) Translation: ((cos-= (((lambda (cos-37) (lambda (cos-36) ((cos-+ 1) ((cos-* cos-37) cos-36)))) 8) 2)) 17) ok Expression: (2 (((12 37 -1 12 36 -1 10 1 -1 9 (37) (36)) 8) 2) 17) Translation: ((cos-= (((lambda (cos-37) (lambda (cos-36) ((cos-+ 1) ((cos-* cos-37) cos-36)))) 8) 2)) 17) ok Expression: (14 39 (12 37 -1 12 36 -1 12 38 -1 2 (38) -1 10 (37) (36)) -1 39 15 14 29) Translation: ((lambda (cos-39) (((cos-39 15) 14) 29)) (lambda (cos-37) (lambda (cos-36) (lambda (cos-38) ((cos-= cos-38) ((cos-+ cos-37) cos-36)))))) ok Expression: (14 39 (12 37 -1 12 36 -1 12 38 -1 2 (38) -1 10 (37) (36)) -1 39 5 8 13) Translation: ((lambda (cos-39) (((cos-39 5) 8) 13)) (lambda (cos-37) (lambda (cos-36) (lambda (cos-38) ((cos-= cos-38) ((cos-+ cos-37) cos-36)))))) ok Expression: (14 39 (12 37 -1 12 36 -1 12 38 -1 2 (38) -1 10 (37) (36)) -1 39 12 15 27) Translation: ((lambda (cos-39) (((cos-39 12) 15) 27)) (lambda (cos-37) (lambda (cos-36) (lambda (cos-38) ((cos-= cos-38) ((cos-+ cos-37) cos-36)))))) ok Expression: (14 39 (12 37 -1 12 36 -1 12 38 -1 2 (38) -1 10 (37) (36)) -1 39 14 14 28) Translation: ((lambda (cos-39) (((cos-39 14) 14) 28)) (lambda (cos-37) (lambda (cos-36) (lambda (cos-38) ((cos-= cos-38) ((cos-+ cos-37) cos-36)))))) ok Expression: (14 39 (12 37 -1 12 36 -1 12 38 -1 2 (38) -1 10 (37) (36)) -1 39 8 0 8) Translation: ((lambda (cos-39) (((cos-39 8) 0) 8)) (lambda (cos-37) (lambda (cos-36) (lambda (cos-38) ((cos-= cos-38) ((cos-+ cos-37) cos-36)))))) ok Expression: (14 39 (12 37 -1 12 36 -1 12 38 -1 2 (38) -1 10 (37) (36)) -1 39 15 9 24) Translation: ((lambda (cos-39) (((cos-39 15) 9) 24)) (lambda (cos-37) (lambda (cos-36) (lambda (cos-38) ((cos-= cos-38) ((cos-+ cos-37) cos-36)))))) ok Expression: (14 39 (12 37 -1 12 36 -1 12 38 -1 2 (38) -1 10 (37) (36)) -1 39 11 15 26) Translation: ((lambda (cos-39) (((cos-39 11) 15) 26)) (lambda (cos-37) (lambda (cos-36) (lambda (cos-38) ((cos-= cos-38) ((cos-+ cos-37) cos-36)))))) ok Expression: (14 39 (12 37 -1 12 36 -1 12 38 -1 2 (38) -1 10 (37) (36)) -1 39 5 7 12) Translation: ((lambda (cos-39) (((cos-39 5) 7) 12)) (lambda (cos-37) (lambda (cos-36) (lambda (cos-38) ((cos-= cos-38) ((cos-+ cos-37) cos-36)))))) ok ; MATH demonstrate existence of memory Expression: (13 40 42) Translation: (begin (define cos-40 42) 1) ok Expression: (2 42 (40)) Translation: ((cos-= 42) cos-40) ok ; now introduce a function Expression: (14 41 (12 37 -1 9 (37) (37)) -1 2 0 (41 0)) Translation: ((lambda (cos-41) ((cos-= 0) (cos-41 0))) (lambda (cos-37) ((cos-* cos-37) cos-37))) ok Expression: (14 41 (12 37 -1 9 (37) (37)) -1 2 16 (41 4)) Translation: ((lambda (cos-41) ((cos-= 16) (cos-41 4))) (lambda (cos-37) ((cos-* cos-37) cos-37))) ok Expression: (14 41 (12 37 -1 9 (37) (37)) -1 2 64 (41 8)) Translation: ((lambda (cos-41) ((cos-= 64) (cos-41 8))) (lambda (cos-37) ((cos-* cos-37) cos-37))) ok Expression: (14 41 (12 37 -1 9 (37) (37)) -1 2 9 (41 3)) Translation: ((lambda (cos-41) ((cos-= 9) (cos-41 3))) (lambda (cos-37) ((cos-* cos-37) cos-37))) ok ; show that functions can be remembered across statements Expression: (13 41 -1 12 37 -1 9 (37) (37)) Translation: (begin (define cos-41 (lambda (cos-37) ((cos-* cos-37) cos-37))) 1) ok Expression: (2 (41 5) 25) Translation: ((cos-= (cos-41 5)) 25) ok Expression: (2 (41 0) 0) Translation: ((cos-= (cos-41 0)) 0) ok Expression: (2 (41 1) 1) Translation: ((cos-= (cos-41 1)) 1) ok Expression: (2 (41 9) 81) Translation: ((cos-= (cos-41 9)) 81) ok Expression: (13 42 -1 12 37 -1 10 (37) 1) Translation: (begin (define cos-42 (lambda (cos-37) ((cos-+ cos-37) 1))) 1) ok Expression: (2 (42 7) 8) Translation: ((cos-= (cos-42 7)) 8) ok Expression: (2 (42 3) 4) Translation: ((cos-= (cos-42 3)) 4) ok Expression: (2 (42 3) 4) Translation: ((cos-= (cos-42 3)) 4) ok Expression: (2 (42 5) 6) Translation: ((cos-= (cos-42 5)) 6) ok ; This could all be simplified or removed ; once the handling of true / false stabilizes ; MATH use equality for truth values Expression: (2 (2 2 2) (3 4 2)) Translation: ((cos-= ((cos-= 2) 2)) ((cos-> 4) 2)) ok Expression: (2 (2 1 1) (3 6 4)) Translation: ((cos-= ((cos-= 1) 1)) ((cos-> 6) 4)) ok Expression: (2 (1 3 4) (2 5 5)) Translation: ((cos-= ((cos-< 3) 4)) ((cos-= 5) 5)) ok Expression: (2 (2 3 3) (2 4 4)) Translation: ((cos-= ((cos-= 3) 3)) ((cos-= 4) 4)) ok Expression: (2 (2 3 3) (2 0 0)) Translation: ((cos-= ((cos-= 3) 3)) ((cos-= 0) 0)) ok Expression: (2 (1 6 2) (1 4 2)) Translation: ((cos-= ((cos-< 6) 2)) ((cos-< 4) 2)) ok Expression: (2 (1 4 1) (3 0 0)) Translation: ((cos-= ((cos-< 4) 1)) ((cos-> 0) 0)) ok Expression: (2 (3 0 5) (2 3 2)) Translation: ((cos-= ((cos-> 0) 5)) ((cos-= 3) 2)) ok Expression: (2 (3 2 3) (3 4 5)) Translation: ((cos-= ((cos-> 2) 3)) ((cos-> 4) 5)) ok Expression: (2 (3 2 6) (3 1 6)) Translation: ((cos-= ((cos-> 2) 6)) ((cos-> 1) 6)) ok Expression: (4 -1 2 (3 2 3) (1 1 4)) Translation: (cos-not ((cos-= ((cos-> 2) 3)) ((cos-< 1) 4))) ok Expression: (4 -1 2 (2 4 3) (1 1 2)) Translation: (cos-not ((cos-= ((cos-= 4) 3)) ((cos-< 1) 2))) ok Expression: (4 -1 2 (2 5 4) (1 2 4)) Translation: (cos-not ((cos-= ((cos-= 5) 4)) ((cos-< 2) 4))) ok Expression: (4 -1 2 (3 4 6) (2 3 3)) Translation: (cos-not ((cos-= ((cos-> 4) 6)) ((cos-= 3) 3))) ok Expression: (4 -1 2 (2 3 1) (3 4 1)) Translation: (cos-not ((cos-= ((cos-= 3) 1)) ((cos-> 4) 1))) ok Expression: (4 -1 2 (1 3 6) (1 6 2)) Translation: (cos-not ((cos-= ((cos-< 3) 6)) ((cos-< 6) 2))) ok Expression: (4 -1 2 (2 2 2) (3 2 5)) Translation: (cos-not ((cos-= ((cos-= 2) 2)) ((cos-> 2) 5))) ok Expression: (4 -1 2 (2 5 5) (1 6 2)) Translation: (cos-not ((cos-= ((cos-= 5) 5)) ((cos-< 6) 2))) ok Expression: (4 -1 2 (2 3 3) (1 4 3)) Translation: (cos-not ((cos-= ((cos-= 3) 3)) ((cos-< 4) 3))) ok Expression: (4 -1 2 (3 5 2) (1 5 4)) Translation: (cos-not ((cos-= ((cos-> 5) 2)) ((cos-< 5) 4))) ok Expression: (13 43 1) Translation: (begin (define cos-43 1) 1) ok Expression: (13 44 0) Translation: (begin (define cos-44 0) 1) ok Expression: (2 (43) (2 1 1)) Translation: ((cos-= cos-43) ((cos-= 1) 1)) ok Expression: (2 (43) (2 0 0)) Translation: ((cos-= cos-43) ((cos-= 0) 0)) ok Expression: (2 (43) (3 7 5)) Translation: ((cos-= cos-43) ((cos-> 7) 5)) ok Expression: (2 (43) (2 5 5)) Translation: ((cos-= cos-43) ((cos-= 5) 5)) ok Expression: (2 (43) (2 4 4)) Translation: ((cos-= cos-43) ((cos-= 4) 4)) ok Expression: (2 (1 5 6) (43)) Translation: ((cos-= ((cos-< 5) 6)) cos-43) ok Expression: (2 (2 5 5) (43)) Translation: ((cos-= ((cos-= 5) 5)) cos-43) ok Expression: (2 (3 7 5) (43)) Translation: ((cos-= ((cos-> 7) 5)) cos-43) ok Expression: (2 (2 2 2) (43)) Translation: ((cos-= ((cos-= 2) 2)) cos-43) ok Expression: (2 (1 3 6) (43)) Translation: ((cos-= ((cos-< 3) 6)) cos-43) ok Expression: (2 (44) (1 5 0)) Translation: ((cos-= cos-44) ((cos-< 5) 0)) ok Expression: (2 (44) (2 2 3)) Translation: ((cos-= cos-44) ((cos-= 2) 3)) ok Expression: (2 (44) (1 6 2)) Translation: ((cos-= cos-44) ((cos-< 6) 2)) ok Expression: (2 (44) (3 1 2)) Translation: ((cos-= cos-44) ((cos-> 1) 2)) ok Expression: (2 (44) (3 2 5)) Translation: ((cos-= cos-44) ((cos-> 2) 5)) ok Expression: (2 (2 4 3) (44)) Translation: ((cos-= ((cos-= 4) 3)) cos-44) ok Expression: (2 (2 0 1) (44)) Translation: ((cos-= ((cos-= 0) 1)) cos-44) ok Expression: (2 (1 6 3) (44)) Translation: ((cos-= ((cos-< 6) 3)) cos-44) ok Expression: (2 (2 3 0) (44)) Translation: ((cos-= ((cos-= 3) 0)) cos-44) ok Expression: (2 (2 4 3) (44)) Translation: ((cos-= ((cos-= 4) 3)) cos-44) ok Expression: (2 (43) (43)) Translation: ((cos-= cos-43) cos-43) ok Expression: (2 (44) (44)) Translation: ((cos-= cos-44) cos-44) ok Expression: (4 -1 2 (43) (44)) Translation: (cos-not ((cos-= cos-43) cos-44)) ok Expression: (4 -1 2 (44) (43)) Translation: (cos-not ((cos-= cos-44) cos-43)) ok ; MATH show mechanisms for branching Expression: (0 15) Translation: (cos-intro 15) ok Expression: (2 28 -1 15 (1 3 0) 24 28) Translation: ((cos-= 28) (if (tish ((cos-< 3) 0)) 24 28)) ok Expression: (2 27 -1 15 (3 2 4) 29 27) Translation: ((cos-= 27) (if (tish ((cos-> 2) 4)) 29 27)) ok Expression: (2 29 -1 15 (2 3 1) 20 29) Translation: ((cos-= 29) (if (tish ((cos-= 3) 1)) 20 29)) ok Expression: (2 21 -1 15 (2 0 0) 21 26) Translation: ((cos-= 21) (if (tish ((cos-= 0) 0)) 21 26)) ok Expression: (2 29 -1 15 (3 5 3) 29 23) Translation: ((cos-= 29) (if (tish ((cos-> 5) 3)) 29 23)) ok Expression: (2 26 -1 15 (3 1 0) 26 22) Translation: ((cos-= 26) (if (tish ((cos-> 1) 0)) 26 22)) ok Expression: (2 21 -1 15 (2 3 3) 21 27) Translation: ((cos-= 21) (if (tish ((cos-= 3) 3)) 21 27)) ok Expression: (2 23 -1 15 (3 4 4) 25 23) Translation: ((cos-= 23) (if (tish ((cos-> 4) 4)) 25 23)) ok Expression: (13 45 -1 12 37 -1 12 36 -1 15 (3 (37) (36)) (37) (36)) Translation: (begin (define cos-45 (lambda (cos-37) (lambda (cos-36) (if (tish ((cos-> cos-37) cos-36)) cos-37 cos-36)))) 1) ok Expression: (13 46 -1 12 37 -1 12 36 -1 15 (1 (37) (36)) (37) (36)) Translation: (begin (define cos-46 (lambda (cos-37) (lambda (cos-36) (if (tish ((cos-< cos-37) cos-36)) cos-37 cos-36)))) 1) ok Expression: (2 0 -1 45 0 0) Translation: ((cos-= 0) ((cos-45 0) 0)) ok Expression: (2 0 -1 46 0 0) Translation: ((cos-= 0) ((cos-46 0) 0)) ok Expression: (2 1 -1 45 0 1) Translation: ((cos-= 1) ((cos-45 0) 1)) ok Expression: (2 0 -1 46 0 1) Translation: ((cos-= 0) ((cos-46 0) 1)) ok Expression: (2 2 -1 45 0 2) Translation: ((cos-= 2) ((cos-45 0) 2)) ok Expression: (2 0 -1 46 0 2) Translation: ((cos-= 0) ((cos-46 0) 2)) ok Expression: (2 1 -1 45 1 0) Translation: ((cos-= 1) ((cos-45 1) 0)) ok Expression: (2 0 -1 46 1 0) Translation: ((cos-= 0) ((cos-46 1) 0)) ok Expression: (2 1 -1 45 1 1) Translation: ((cos-= 1) ((cos-45 1) 1)) ok Expression: (2 1 -1 46 1 1) Translation: ((cos-= 1) ((cos-46 1) 1)) ok Expression: (2 2 -1 45 1 2) Translation: ((cos-= 2) ((cos-45 1) 2)) ok Expression: (2 1 -1 46 1 2) Translation: ((cos-= 1) ((cos-46 1) 2)) ok Expression: (2 2 -1 45 2 0) Translation: ((cos-= 2) ((cos-45 2) 0)) ok Expression: (2 0 -1 46 2 0) Translation: ((cos-= 0) ((cos-46 2) 0)) ok Expression: (2 2 -1 45 2 1) Translation: ((cos-= 2) ((cos-45 2) 1)) ok Expression: (2 1 -1 46 2 1) Translation: ((cos-= 1) ((cos-46 2) 1)) ok Expression: (2 2 -1 45 2 2) Translation: ((cos-= 2) ((cos-45 2) 2)) ok Expression: (2 2 -1 46 2 2) Translation: ((cos-= 2) ((cos-46 2) 2)) ok ; need to be careful about whether 'if' is eager or lazy ; here we suggest that it is lazy Expression: (13 47 -1 12 48 -1 15 (1 (48) 1) 1 -1 9 (48) -1 47 -1 11 (48) 1) Translation: (begin (define cos-47 (lambda (cos-48) (if (tish ((cos-< cos-48) 1)) 1 ((cos-* cos-48) (cos-47 ((cos-- cos-48) 1)))))) 1) ok Expression: (2 1 -1 47 1) Translation: ((cos-= 1) (cos-47 1)) ok Expression: (2 2 -1 47 2) Translation: ((cos-= 2) (cos-47 2)) ok Expression: (2 6 -1 47 3) Translation: ((cos-= 6) (cos-47 3)) ok Expression: (2 24 -1 47 4) Translation: ((cos-= 24) (cos-47 4)) ok Expression: (2 120 -1 47 5) Translation: ((cos-= 120) (cos-47 5)) ok ; MATH introduce the AND logical operator Expression: (0 5) Translation: (cos-intro 5) ok Expression: (13 5 (12 37 -1 12 36 -1 15 (37) (15 (36) (43) (44)) (44))) Translation: (begin (define cos-and (lambda (cos-37) (lambda (cos-36) (if (tish cos-37) (if (tish cos-36) cos-43 cos-44) cos-44)))) 1) ok Expression: (5 (2 2 2) (3 4 2)) Translation: ((cos-and ((cos-= 2) 2)) ((cos-> 4) 2)) ok Expression: (5 (2 1 1) (3 6 4)) Translation: ((cos-and ((cos-= 1) 1)) ((cos-> 6) 4)) ok Expression: (5 (1 3 4) (2 5 5)) Translation: ((cos-and ((cos-< 3) 4)) ((cos-= 5) 5)) ok Expression: (5 (2 3 3) (2 4 4)) Translation: ((cos-and ((cos-= 3) 3)) ((cos-= 4) 4)) ok Expression: (5 (2 3 3) (2 0 0)) Translation: ((cos-and ((cos-= 3) 3)) ((cos-= 0) 0)) ok Expression: (5 (1 5 7) (3 5 3)) Translation: ((cos-and ((cos-< 5) 7)) ((cos-> 5) 3)) ok Expression: (5 (3 5 4) (3 1 0)) Translation: ((cos-and ((cos-> 5) 4)) ((cos-> 1) 0)) ok Expression: (5 (3 3 0) (2 3 3)) Translation: ((cos-and ((cos-> 3) 0)) ((cos-= 3) 3)) ok Expression: (5 (1 3 4) (1 3 6)) Translation: ((cos-and ((cos-< 3) 4)) ((cos-< 3) 6)) ok Expression: (5 (3 5 4) (3 5 4)) Translation: ((cos-and ((cos-> 5) 4)) ((cos-> 5) 4)) ok Expression: (4 -1 5 (3 6 4) (1 3 1)) Translation: (cos-not ((cos-and ((cos-> 6) 4)) ((cos-< 3) 1))) ok Expression: (4 -1 5 (3 3 1) (3 3 3)) Translation: (cos-not ((cos-and ((cos-> 3) 1)) ((cos-> 3) 3))) ok Expression: (4 -1 5 (2 0 0) (2 5 4)) Translation: (cos-not ((cos-and ((cos-= 0) 0)) ((cos-= 5) 4))) ok Expression: (4 -1 5 (1 2 4) (3 4 6)) Translation: (cos-not ((cos-and ((cos-< 2) 4)) ((cos-> 4) 6))) ok Expression: (4 -1 5 (2 3 3) (2 3 1)) Translation: (cos-not ((cos-and ((cos-= 3) 3)) ((cos-= 3) 1))) ok Expression: (4 -1 5 (3 1 5) (1 3 6)) Translation: (cos-not ((cos-and ((cos-> 1) 5)) ((cos-< 3) 6))) ok Expression: (4 -1 5 (1 6 2) (2 2 2)) Translation: (cos-not ((cos-and ((cos-< 6) 2)) ((cos-= 2) 2))) ok Expression: (4 -1 5 (3 2 5) (2 5 5)) Translation: (cos-not ((cos-and ((cos-> 2) 5)) ((cos-= 5) 5))) ok Expression: (4 -1 5 (1 6 2) (2 3 3)) Translation: (cos-not ((cos-and ((cos-< 6) 2)) ((cos-= 3) 3))) ok Expression: (4 -1 5 (1 4 3) (3 5 2)) Translation: (cos-not ((cos-and ((cos-< 4) 3)) ((cos-> 5) 2))) ok Expression: (4 -1 5 (1 5 4) (2 1 2)) Translation: (cos-not ((cos-and ((cos-< 5) 4)) ((cos-= 1) 2))) ok Expression: (4 -1 5 (1 6 4) (2 5 1)) Translation: (cos-not ((cos-and ((cos-< 6) 4)) ((cos-= 5) 1))) ok Expression: (4 -1 5 (3 2 6) (2 1 5)) Translation: (cos-not ((cos-and ((cos-> 2) 6)) ((cos-= 1) 5))) ok Expression: (4 -1 5 (1 6 3) (2 2 3)) Translation: (cos-not ((cos-and ((cos-< 6) 3)) ((cos-= 2) 3))) ok Expression: (4 -1 5 (1 6 4) (3 0 1)) Translation: (cos-not ((cos-and ((cos-< 6) 4)) ((cos-> 0) 1))) ok Expression: (4 -1 5 (2 3 5) (1 4 1)) Translation: (cos-not ((cos-and ((cos-= 3) 5)) ((cos-< 4) 1))) ok Expression: (4 -1 5 (2 4 1) (1 4 2)) Translation: (cos-not ((cos-and ((cos-= 4) 1)) ((cos-< 4) 2))) ok Expression: (4 -1 5 (1 6 3) (2 3 0)) Translation: (cos-not ((cos-and ((cos-< 6) 3)) ((cos-= 3) 0))) ok Expression: (4 -1 5 (1 4 2) (1 4 6)) Translation: (cos-not ((cos-and ((cos-< 4) 2)) ((cos-< 4) 6))) ok Expression: (4 -1 5 (3 4 1) (1 5 2)) Translation: (cos-not ((cos-and ((cos-> 4) 1)) ((cos-< 5) 2))) ok Expression: (4 -1 5 (3 0 1) (3 7 5)) Translation: (cos-not ((cos-and ((cos-> 0) 1)) ((cos-> 7) 5))) ok Expression: (4 -1 5 (1 3 4) (3 3 6)) Translation: (cos-not ((cos-and ((cos-< 3) 4)) ((cos-> 3) 6))) ok Expression: (4 -1 5 (3 1 2) (3 6 4)) Translation: (cos-not ((cos-and ((cos-> 1) 2)) ((cos-> 6) 4))) ok Expression: (4 -1 5 (1 0 1) (2 4 5)) Translation: (cos-not ((cos-and ((cos-< 0) 1)) ((cos-= 4) 5))) ok Expression: (5 (1 4 6) (1 5 7)) Translation: ((cos-and ((cos-< 4) 6)) ((cos-< 5) 7)) ok ; MATH introduce the OR logical operator Expression: (13 6 (12 37 -1 12 36 -1 15 (37) (43) (15 (36) (43) (44)))) Translation: (begin (define cos-or (lambda (cos-37) (lambda (cos-36) (if (tish cos-37) cos-43 (if (tish cos-36) cos-43 cos-44))))) 1) ok Expression: (0 6) Translation: (cos-intro 6) ok Expression: (6 (2 2 2) (3 4 2)) Translation: ((cos-or ((cos-= 2) 2)) ((cos-> 4) 2)) ok Expression: (6 (2 1 1) (3 6 4)) Translation: ((cos-or ((cos-= 1) 1)) ((cos-> 6) 4)) ok Expression: (6 (1 3 4) (2 5 5)) Translation: ((cos-or ((cos-< 3) 4)) ((cos-= 5) 5)) ok Expression: (6 (2 3 3) (2 4 4)) Translation: ((cos-or ((cos-= 3) 3)) ((cos-= 4) 4)) ok Expression: (6 (2 3 3) (2 0 0)) Translation: ((cos-or ((cos-= 3) 3)) ((cos-= 0) 0)) ok Expression: (6 (1 5 7) (3 5 3)) Translation: ((cos-or ((cos-< 5) 7)) ((cos-> 5) 3)) ok Expression: (6 (3 5 4) (3 1 0)) Translation: ((cos-or ((cos-> 5) 4)) ((cos-> 1) 0)) ok Expression: (6 (3 3 0) (2 3 3)) Translation: ((cos-or ((cos-> 3) 0)) ((cos-= 3) 3)) ok Expression: (6 (1 3 4) (1 3 6)) Translation: ((cos-or ((cos-< 3) 4)) ((cos-< 3) 6)) ok Expression: (6 (3 5 4) (3 5 4)) Translation: ((cos-or ((cos-> 5) 4)) ((cos-> 5) 4)) ok Expression: (6 (3 6 4) (1 3 1)) Translation: ((cos-or ((cos-> 6) 4)) ((cos-< 3) 1)) ok Expression: (6 (3 3 1) (3 3 3)) Translation: ((cos-or ((cos-> 3) 1)) ((cos-> 3) 3)) ok Expression: (6 (2 0 0) (2 5 4)) Translation: ((cos-or ((cos-= 0) 0)) ((cos-= 5) 4)) ok Expression: (6 (1 2 4) (3 4 6)) Translation: ((cos-or ((cos-< 2) 4)) ((cos-> 4) 6)) ok Expression: (6 (2 3 3) (2 3 1)) Translation: ((cos-or ((cos-= 3) 3)) ((cos-= 3) 1)) ok Expression: (6 (3 1 5) (1 3 6)) Translation: ((cos-or ((cos-> 1) 5)) ((cos-< 3) 6)) ok Expression: (6 (1 6 2) (2 2 2)) Translation: ((cos-or ((cos-< 6) 2)) ((cos-= 2) 2)) ok Expression: (6 (3 2 5) (2 5 5)) Translation: ((cos-or ((cos-> 2) 5)) ((cos-= 5) 5)) ok Expression: (6 (1 6 2) (2 3 3)) Translation: ((cos-or ((cos-< 6) 2)) ((cos-= 3) 3)) ok Expression: (6 (1 4 3) (3 5 2)) Translation: ((cos-or ((cos-< 4) 3)) ((cos-> 5) 2)) ok Expression: (4 -1 6 (1 5 4) (2 1 2)) Translation: (cos-not ((cos-or ((cos-< 5) 4)) ((cos-= 1) 2))) ok Expression: (4 -1 6 (1 6 4) (2 5 1)) Translation: (cos-not ((cos-or ((cos-< 6) 4)) ((cos-= 5) 1))) ok Expression: (4 -1 6 (3 2 6) (2 1 5)) Translation: (cos-not ((cos-or ((cos-> 2) 6)) ((cos-= 1) 5))) ok Expression: (4 -1 6 (1 6 3) (2 2 3)) Translation: (cos-not ((cos-or ((cos-< 6) 3)) ((cos-= 2) 3))) ok Expression: (4 -1 6 (1 6 4) (3 0 1)) Translation: (cos-not ((cos-or ((cos-< 6) 4)) ((cos-> 0) 1))) ok Expression: (4 -1 6 (2 3 5) (1 4 1)) Translation: (cos-not ((cos-or ((cos-= 3) 5)) ((cos-< 4) 1))) ok Expression: (4 -1 6 (2 4 1) (1 4 2)) Translation: (cos-not ((cos-or ((cos-= 4) 1)) ((cos-< 4) 2))) ok Expression: (4 -1 6 (1 6 3) (2 3 0)) Translation: (cos-not ((cos-or ((cos-< 6) 3)) ((cos-= 3) 0))) ok Expression: (6 (1 4 2) (1 4 6)) Translation: ((cos-or ((cos-< 4) 2)) ((cos-< 4) 6)) ok Expression: (6 (3 4 1) (1 5 2)) Translation: ((cos-or ((cos-> 4) 1)) ((cos-< 5) 2)) ok Expression: (6 (3 0 1) (3 7 5)) Translation: ((cos-or ((cos-> 0) 1)) ((cos-> 7) 5)) ok Expression: (6 (1 3 4) (3 3 6)) Translation: ((cos-or ((cos-< 3) 4)) ((cos-> 3) 6)) ok Expression: (6 (3 1 2) (3 6 4)) Translation: ((cos-or ((cos-> 1) 2)) ((cos-> 6) 4)) ok Expression: (6 (1 0 1) (2 4 5)) Translation: ((cos-or ((cos-< 0) 1)) ((cos-= 4) 5)) ok Expression: (6 (1 4 6) (1 5 7)) Translation: ((cos-or ((cos-< 4) 6)) ((cos-< 5) 7)) ok Expression: (13 49 (12 37 -1 12 36 -1 6 (3 (37) (36)) (2 (37) (36)))) Translation: (begin (define cos-49 (lambda (cos-37) (lambda (cos-36) ((cos-or ((cos-> cos-37) cos-36)) ((cos-= cos-37) cos-36))))) 1) ok Expression: (13 50 (12 37 -1 12 36 -1 6 (1 (37) (36)) (2 (37) (36)))) Translation: (begin (define cos-50 (lambda (cos-37) (lambda (cos-36) ((cos-or ((cos-< cos-37) cos-36)) ((cos-= cos-37) cos-36))))) 1) ok Expression: (49 0 0) Translation: ((cos-49 0) 0) ok Expression: (50 0 0) Translation: ((cos-50 0) 0) ok Expression: (4 -1 49 0 1) Translation: (cos-not ((cos-49 0) 1)) ok Expression: (50 0 1) Translation: ((cos-50 0) 1) ok Expression: (4 -1 49 0 2) Translation: (cos-not ((cos-49 0) 2)) ok Expression: (50 0 2) Translation: ((cos-50 0) 2) ok Expression: (49 1 0) Translation: ((cos-49 1) 0) ok Expression: (4 -1 50 1 0) Translation: (cos-not ((cos-50 1) 0)) ok Expression: (49 1 1) Translation: ((cos-49 1) 1) ok Expression: (50 1 1) Translation: ((cos-50 1) 1) ok Expression: (4 -1 49 1 2) Translation: (cos-not ((cos-49 1) 2)) ok Expression: (50 1 2) Translation: ((cos-50 1) 2) ok Expression: (49 2 0) Translation: ((cos-49 2) 0) ok Expression: (4 -1 50 2 0) Translation: (cos-not ((cos-50 2) 0)) ok Expression: (49 2 1) Translation: ((cos-49 2) 1) ok Expression: (4 -1 50 2 1) Translation: (cos-not ((cos-50 2) 1)) ok Expression: (49 2 2) Translation: ((cos-49 2) 2) ok Expression: (50 2 2) Translation: ((cos-50 2) 2) ok ; MATH illustrate pairs Expression: (13 21 (12 37 -1 12 36 -1 12 51 -1 51 (37) (36))) Translation: (begin (define cos-cons (lambda (cos-37) (lambda (cos-36) (lambda (cos-51) ((cos-51 cos-37) cos-36))))) 1) ok Expression: (13 22 (12 52 -1 52 (12 37 -1 12 36 -1 37))) Translation: (begin (define cos-car (lambda (cos-52) (cos-52 (lambda (cos-37) (lambda (cos-36) cos-37))))) 1) ok Expression: (13 23 (12 52 -1 52 (12 37 -1 12 36 -1 36))) Translation: (begin (define cos-cdr (lambda (cos-52) (cos-52 (lambda (cos-37) (lambda (cos-36) cos-36))))) 1) ok Expression: (14 37 (21 0 4) -1 2 (22 -1 37) 0) Translation: ((lambda (cos-37) ((cos-= (cos-car cos-37)) 0)) ((cos-cons 0) 4)) ok Expression: (14 37 (21 0 4) -1 2 (23 -1 37) 4) Translation: ((lambda (cos-37) ((cos-= (cos-cdr cos-37)) 4)) ((cos-cons 0) 4)) ok Expression: (14 37 (21 6 2) -1 2 (22 -1 37) 6) Translation: ((lambda (cos-37) ((cos-= (cos-car cos-37)) 6)) ((cos-cons 6) 2)) ok Expression: (14 37 (21 6 2) -1 2 (23 -1 37) 2) Translation: ((lambda (cos-37) ((cos-= (cos-cdr cos-37)) 2)) ((cos-cons 6) 2)) ok Expression: (14 37 (21 3 9) -1 2 (22 -1 37) 3) Translation: ((lambda (cos-37) ((cos-= (cos-car cos-37)) 3)) ((cos-cons 3) 9)) ok Expression: (14 37 (21 3 9) -1 2 (23 -1 37) 9) Translation: ((lambda (cos-37) ((cos-= (cos-cdr cos-37)) 9)) ((cos-cons 3) 9)) ok Expression: (14 37 (21 7 -1 21 10 2) -1 2 (22 -1 37) 7) Translation: ((lambda (cos-37) ((cos-= (cos-car cos-37)) 7)) ((cos-cons 7) ((cos-cons 10) 2))) ok Expression: (14 37 (21 7 -1 21 10 2) -1 2 (22 -1 23 -1 37) 10) Translation: ((lambda (cos-37) ((cos-= (cos-car (cos-cdr cos-37))) 10)) ((cos-cons 7) ((cos-cons 10) 2))) ok Expression: (14 37 (21 7 -1 21 10 2) -1 2 (23 -1 23 -1 37) 2) Translation: ((lambda (cos-37) ((cos-= (cos-cdr (cos-cdr cos-37))) 2)) ((cos-cons 7) ((cos-cons 10) 2))) ok Expression: (14 37 (21 1 -1 21 15 17) -1 2 (22 -1 37) 1) Translation: ((lambda (cos-37) ((cos-= (cos-car cos-37)) 1)) ((cos-cons 1) ((cos-cons 15) 17))) ok Expression: (14 37 (21 1 -1 21 15 17) -1 2 (22 -1 23 -1 37) 15) Translation: ((lambda (cos-37) ((cos-= (cos-car (cos-cdr cos-37))) 15)) ((cos-cons 1) ((cos-cons 15) 17))) ok Expression: (14 37 (21 1 -1 21 15 17) -1 2 (23 -1 23 -1 37) 17) Translation: ((lambda (cos-37) ((cos-= (cos-cdr (cos-cdr cos-37))) 17)) ((cos-cons 1) ((cos-cons 15) 17))) ok Expression: (14 37 (21 8 -1 21 14 9) -1 2 (22 -1 37) 8) Translation: ((lambda (cos-37) ((cos-= (cos-car cos-37)) 8)) ((cos-cons 8) ((cos-cons 14) 9))) ok Expression: (14 37 (21 8 -1 21 14 9) -1 2 (22 -1 23 -1 37) 14) Translation: ((lambda (cos-37) ((cos-= (cos-car (cos-cdr cos-37))) 14)) ((cos-cons 8) ((cos-cons 14) 9))) ok Expression: (14 37 (21 8 -1 21 14 9) -1 2 (23 -1 23 -1 37) 9) Translation: ((lambda (cos-37) ((cos-= (cos-cdr (cos-cdr cos-37))) 9)) ((cos-cons 8) ((cos-cons 14) 9))) ok Expression: (14 37 (21 3 -1 21 0 -1 21 2 -1 21 4 1) -1 5 (2 3 -1 22 -1 37) -1 5 (2 0 -1 22 -1 23 -1 37) -1 5 (2 2 -1 22 -1 23 -1 23 -1 37) -1 5 (2 4 -1 22 -1 23 -1 23 -1 23 -1 37) (2 1 -1 23 -1 23 -1 23 -1 23 -1 37)) Translation: ((lambda (cos-37) ((cos-and ((cos-= 3) (cos-car cos-37))) ((cos-and ((cos-= 0) (cos-car (cos-cdr cos-37)))) ((cos-and ((cos-= 2) (cos-car (cos-cdr (cos-cdr cos-37))))) ((cos-and ((cos-= 4) (cos-car (cos-cdr (cos-cdr (cos-cdr cos-37)))))) ((cos-= 1) (cos-cdr (cos-cdr (cos-cdr (cos-cdr cos-37)))))))))) ((cos-cons 3) ((cos-cons 0) ((cos-cons 2) ((cos-cons 4) 1))))) ok ; MATH introduce mutable objects, and side-effects Expression: (0 27) Translation: (cos-intro 27) ok Expression: (0 28) Translation: (cos-intro 28) ok Expression: (0 29) Translation: (cos-intro 29) ok Expression: (13 53 -1 27 0) Translation: (begin (define cos-53 (cos-make-cell 0)) 1) ok Expression: (28 (53) 15) Translation: ((cos-set! cos-53) 15) ok Expression: (2 (29 -1 53) 15) Translation: ((cos-= (cos-get! cos-53)) 15) ok Expression: (28 (53) 5) Translation: ((cos-set! cos-53) 5) ok Expression: (28 (53) 7) Translation: ((cos-set! cos-53) 7) ok Expression: (2 (29 -1 53) 7) Translation: ((cos-= (cos-get! cos-53)) 7) ok Expression: (13 54 -1 27 11) Translation: (begin (define cos-54 (cos-make-cell 11)) 1) ok Expression: (2 (29 -1 54) 11) Translation: ((cos-= (cos-get! cos-54)) 11) ok Expression: (28 (54) 22) Translation: ((cos-set! cos-54) 22) ok Expression: (2 (29 -1 54) 22) Translation: ((cos-= (cos-get! cos-54)) 22) ok Expression: (2 (29 -1 53) 7) Translation: ((cos-= (cos-get! cos-53)) 7) ok Expression: (2 (10 (29 -1 53) (29 -1 54)) 29) Translation: ((cos-= ((cos-+ (cos-get! cos-53)) (cos-get! cos-54))) 29) ok Expression: (15 (2 (29 -1 53) 7) (28 (53) 88) (28 (53) 99)) Translation: (if (tish ((cos-= (cos-get! cos-53)) 7)) ((cos-set! cos-53) 88) ((cos-set! cos-53) 99)) ok Expression: (2 (29 -1 53) 88) Translation: ((cos-= (cos-get! cos-53)) 88) ok Expression: (15 (2 (29 -1 53) 7) (28 (53) 88) (28 (53) 99)) Translation: (if (tish ((cos-= (cos-get! cos-53)) 7)) ((cos-set! cos-53) 88) ((cos-set! cos-53) 99)) ok Expression: (2 (29 -1 53) 99) Translation: ((cos-= (cos-get! cos-53)) 99) ok ; MATH illustrate lists and some list operators ; to make list describable as a function, need to preceed lists ; ... with an argument count ; Lists keep an explicit record of their length ; this is to avoid the need for using a special 'nil' symbol ; ... which cannot itself be placed in the list. ; pending: should introduce number? check function Expression: (13 55 -1 12 48 -1 12 56 -1 15 (3 (48) 1) (12 37 -1 55 (11 (48) 1) (12 36 -1 12 38 -1 56 (10 1 (36)) (21 (37) (38)))) (12 37 -1 56 1 (37))) Translation: (begin (define cos-55 (lambda (cos-48) (lambda (cos-56) (if (tish ((cos-> cos-48) 1)) (lambda (cos-37) ((cos-55 ((cos-- cos-48) 1)) (lambda (cos-36) (lambda (cos-38) ((cos-56 ((cos-+ 1) cos-36)) ((cos-cons cos-37) cos-38)))))) (lambda (cos-37) ((cos-56 1) cos-37)))))) 1) ok Expression: (13 57 -1 12 48 -1 15 (2 (48) 0) (21 0 0) (55 (48) (12 36 -1 12 38 -1 21 (36) (38)))) Translation: (begin (define cos-57 (lambda (cos-48) (if (tish ((cos-= cos-48) 0)) ((cos-cons 0) 0) ((cos-55 cos-48) (lambda (cos-36) (lambda (cos-38) ((cos-cons cos-36) cos-38))))))) 1) ok Expression: (13 58 -1 12 59 -1 15 (2 (22 -1 59) 0) (32) (15 (2 (22 -1 59) 1) (23 -1 59) (22 -1 23 -1 59))) Translation: (begin (define cos-58 (lambda (cos-59) (if (tish ((cos-= (cos-car cos-59)) 0)) cos-undefined (if (tish ((cos-= (cos-car cos-59)) 1)) (cos-cdr cos-59) (cos-car (cos-cdr cos-59)))))) 1) ok Expression: (13 60 -1 12 59 -1 15 (2 (22 -1 59) 0) (32) (15 (2 (22 -1 59) 1) (21 0 0) (21 (11 (22 -1 59) 1) (23 -1 23 -1 59)))) Translation: (begin (define cos-60 (lambda (cos-59) (if (tish ((cos-= (cos-car cos-59)) 0)) cos-undefined (if (tish ((cos-= (cos-car cos-59)) 1)) ((cos-cons 0) 0) ((cos-cons ((cos-- (cos-car cos-59)) 1)) (cos-cdr (cos-cdr cos-59))))))) 1) ok Expression: (13 61 -1 12 59 -1 22 -1 59) Translation: (begin (define cos-61 (lambda (cos-59) (cos-car cos-59))) 1) ok Expression: (13 62 -1 12 59 -1 12 48 -1 15 (2 (62 -1 59) 0) (32) (15 (2 (48) 0) (58 -1 59) (62 (60 -1 59) (11 (48) 1)))) Translation: (begin (define cos-62 (lambda (cos-59) (lambda (cos-48) (if (tish ((cos-= (cos-62 cos-59)) 0)) cos-undefined (if (tish ((cos-= cos-48) 0)) (cos-58 cos-59) ((cos-62 (cos-60 cos-59)) ((cos-- cos-48) 1))))))) 1) ok Expression: (13 63 -1 12 37 -1 12 59 -1 15 (2 (61 -1 59) 0) (21 1 (37)) (21 (10 (61 -1 59) 1) (21 (37) (23 -1 59)))) Translation: (begin (define cos-63 (lambda (cos-37) (lambda (cos-59) (if (tish ((cos-= (cos-61 cos-59)) 0)) ((cos-cons 1) cos-37) ((cos-cons ((cos-+ (cos-61 cos-59)) 1)) ((cos-cons cos-37) (cos-cdr cos-59))))))) 1) ok Expression: (13 8 -1 12 37 -1 12 36 -1 15 (2 (24 (37)) (24 (36))) (15 (24 (37)) (2 (37) (36)) (64 (37) (36))) (44)) Translation: (begin (define cos-equal (lambda (cos-37) (lambda (cos-36) (if (tish ((cos-= (cos-number? cos-37)) (cos-number? cos-36))) (if (tish (cos-number? cos-37)) ((cos-= cos-37) cos-36) ((cos-64 cos-37) cos-36)) cos-44)))) 1) ok Expression: (13 64 -1 12 37 -1 12 36 -1 15 (2 (61 -1 37) (61 -1 36)) (15 (3 (61 -1 37) 0) (5 (8 (58 -1 37) (58 -1 36)) (64 (60 -1 37) (60 -1 36))) (43)) (44)) Translation: (begin (define cos-64 (lambda (cos-37) (lambda (cos-36) (if (tish ((cos-= (cos-61 cos-37)) (cos-61 cos-36))) (if (tish ((cos-> (cos-61 cos-37)) 0)) ((cos-and ((cos-equal (cos-58 cos-37)) (cos-58 cos-36))) ((cos-64 (cos-60 cos-37)) (cos-60 cos-36))) cos-43) cos-44)))) 1) ok Expression: (2 (61 -1 (57 0)) 0) Translation: ((cos-= (cos-61 (cos-57 0))) 0) ok Expression: (2 (61 -1 (57 4) 6 1 0 4) 4) Translation: ((cos-= (cos-61 (((((cos-57 4) 6) 1) 0) 4))) 4) ok Expression: (2 (61 -1 (57 6) 6 2 7 0 9 4) 6) Translation: ((cos-= (cos-61 (((((((cos-57 6) 6) 2) 7) 0) 9) 4))) 6) ok Expression: (2 (61 -1 (57 2) 4 9) 2) Translation: ((cos-= (cos-61 (((cos-57 2) 4) 9))) 2) ok Expression: (2 (61 -1 (57 3) 6 1 7) 3) Translation: ((cos-= (cos-61 ((((cos-57 3) 6) 1) 7))) 3) ok Expression: (2 (58 -1 (57 6) 12 11 10 4 1 5) 12) Translation: ((cos-= (cos-58 (((((((cos-57 6) 12) 11) 10) 4) 1) 5))) 12) ok Expression: (64 (60 -1 (57 6) 12 11 10 4 1 5) ((57 5) 11 10 4 1 5)) Translation: ((cos-64 (cos-60 (((((((cos-57 6) 12) 11) 10) 4) 1) 5))) ((((((cos-57 5) 11) 10) 4) 1) 5)) ok Expression: (2 (58 -1 (57 8) 15 13 12 7 10 11 13 18) 15) Translation: ((cos-= (cos-58 (((((((((cos-57 8) 15) 13) 12) 7) 10) 11) 13) 18))) 15) ok Expression: (64 (60 -1 (57 8) 15 13 12 7 10 11 13 18) ((57 7) 13 12 7 10 11 13 18)) Translation: ((cos-64 (cos-60 (((((((((cos-57 8) 15) 13) 12) 7) 10) 11) 13) 18))) ((((((((cos-57 7) 13) 12) 7) 10) 11) 13) 18)) ok Expression: (2 (58 -1 (57 2) 11 1) 11) Translation: ((cos-= (cos-58 (((cos-57 2) 11) 1))) 11) ok Expression: (64 (60 -1 (57 2) 11 1) ((57 1) 1)) Translation: ((cos-64 (cos-60 (((cos-57 2) 11) 1))) ((cos-57 1) 1)) ok Expression: (2 (58 -1 (57 6) 5 19 4 16 6 11) 5) Translation: ((cos-= (cos-58 (((((((cos-57 6) 5) 19) 4) 16) 6) 11))) 5) ok Expression: (64 (60 -1 (57 6) 5 19 4 16 6 11) ((57 5) 19 4 16 6 11)) Translation: ((cos-64 (cos-60 (((((((cos-57 6) 5) 19) 4) 16) 6) 11))) ((((((cos-57 5) 19) 4) 16) 6) 11)) ok Expression: (2 (58 -1 (57 10) 12 18 7 4 9 18 6 16 6 18) 12) Translation: ((cos-= (cos-58 (((((((((((cos-57 10) 12) 18) 7) 4) 9) 18) 6) 16) 6) 18))) 12) ok Expression: (64 (60 -1 (57 10) 12 18 7 4 9 18 6 16 6 18) ((57 9) 18 7 4 9 18 6 16 6 18)) Translation: ((cos-64 (cos-60 (((((((((((cos-57 10) 12) 18) 7) 4) 9) 18) 6) 16) 6) 18))) ((((((((((cos-57 9) 18) 7) 4) 9) 18) 6) 16) 6) 18)) ok Expression: (2 (58 -1 (57 6) 19 7 3 10 19 13) 19) Translation: ((cos-= (cos-58 (((((((cos-57 6) 19) 7) 3) 10) 19) 13))) 19) ok Expression: (64 (60 -1 (57 6) 19 7 3 10 19 13) ((57 5) 7 3 10 19 13)) Translation: ((cos-64 (cos-60 (((((((cos-57 6) 19) 7) 3) 10) 19) 13))) ((((((cos-57 5) 7) 3) 10) 19) 13)) ok Expression: (2 (58 -1 (57 6) 19 7 19 12 16 13) 19) Translation: ((cos-= (cos-58 (((((((cos-57 6) 19) 7) 19) 12) 16) 13))) 19) ok Expression: (64 (60 -1 (57 6) 19 7 19 12 16 13) ((57 5) 7 19 12 16 13)) Translation: ((cos-64 (cos-60 (((((((cos-57 6) 19) 7) 19) 12) 16) 13))) ((((((cos-57 5) 7) 19) 12) 16) 13)) ok Expression: (2 (58 -1 (57 1) 3) 3) Translation: ((cos-= (cos-58 ((cos-57 1) 3))) 3) ok Expression: (64 (60 -1 (57 1) 3) ((57 0))) Translation: ((cos-64 (cos-60 ((cos-57 1) 3))) (cos-57 0)) ok Expression: (2 (58 -1 (57 3) 2 19 17) 2) Translation: ((cos-= (cos-58 ((((cos-57 3) 2) 19) 17))) 2) ok Expression: (64 (60 -1 (57 3) 2 19 17) ((57 2) 19 17)) Translation: ((cos-64 (cos-60 ((((cos-57 3) 2) 19) 17))) (((cos-57 2) 19) 17)) ok Expression: (2 (58 -1 (57 7) 1 16 5 14 6 19 2) 1) Translation: ((cos-= (cos-58 ((((((((cos-57 7) 1) 16) 5) 14) 6) 19) 2))) 1) ok Expression: (64 (60 -1 (57 7) 1 16 5 14 6 19 2) ((57 6) 16 5 14 6 19 2)) Translation: ((cos-64 (cos-60 ((((((((cos-57 7) 1) 16) 5) 14) 6) 19) 2))) (((((((cos-57 6) 16) 5) 14) 6) 19) 2)) ok Expression: (2 (62 ((57 3) 18 14 17) 1) 14) Translation: ((cos-= ((cos-62 ((((cos-57 3) 18) 14) 17)) 1)) 14) ok Expression: (2 (62 ((57 3) 8 11 10) 2) 10) Translation: ((cos-= ((cos-62 ((((cos-57 3) 8) 11) 10)) 2)) 10) ok Expression: (2 (62 ((57 8) 15 0 4 9 9 2 10 17) 3) 9) Translation: ((cos-= ((cos-62 (((((((((cos-57 8) 15) 0) 4) 9) 9) 2) 10) 17)) 3)) 9) ok Expression: (2 (62 ((57 7) 4 8 8 5 14 5 13) 4) 14) Translation: ((cos-= ((cos-62 ((((((((cos-57 7) 4) 8) 8) 5) 14) 5) 13)) 4)) 14) ok Expression: (2 (62 ((57 4) 1 4 7 18) 2) 7) Translation: ((cos-= ((cos-62 (((((cos-57 4) 1) 4) 7) 18)) 2)) 7) ok Expression: (2 (62 ((57 3) 12 2 3) 1) 2) Translation: ((cos-= ((cos-62 ((((cos-57 3) 12) 2) 3)) 1)) 2) ok Expression: (2 (62 ((57 6) 12 5 7 15 7 16) 2) 7) Translation: ((cos-= ((cos-62 (((((((cos-57 6) 12) 5) 7) 15) 7) 16)) 2)) 7) ok Expression: (2 (62 ((57 8) 5 15 7 14 7 1 11 19) 0) 5) Translation: ((cos-= ((cos-62 (((((((((cos-57 8) 5) 15) 7) 14) 7) 1) 11) 19)) 0)) 5) ok Expression: (2 (62 ((57 3) 19 17 8) 2) 8) Translation: ((cos-= ((cos-62 ((((cos-57 3) 19) 17) 8)) 2)) 8) ok Expression: (2 (62 ((57 4) 10 10 4 11) 1) 10) Translation: ((cos-= ((cos-62 (((((cos-57 4) 10) 10) 4) 11)) 1)) 10) ok Expression: (64 ((57 0)) ((57 0))) Translation: ((cos-64 (cos-57 0)) (cos-57 0)) ok Expression: (64 ((57 1) 4) ((57 1) 4)) Translation: ((cos-64 ((cos-57 1) 4)) ((cos-57 1) 4)) ok Expression: (64 ((57 2) 7 5) ((57 2) 7 5)) Translation: ((cos-64 (((cos-57 2) 7) 5)) (((cos-57 2) 7) 5)) ok Expression: (64 ((57 3) 15 13 11) ((57 3) 15 13 11)) Translation: ((cos-64 ((((cos-57 3) 15) 13) 11)) ((((cos-57 3) 15) 13) 11)) ok Expression: (64 ((57 4) 2 8 0 6) ((57 4) 2 8 0 6)) Translation: ((cos-64 (((((cos-57 4) 2) 8) 0) 6)) (((((cos-57 4) 2) 8) 0) 6)) ok ; this next batch of examples are a bit misleading, should streamline Expression: (4 -1 64 ((57 0)) ((57 1) 9)) Translation: (cos-not ((cos-64 (cos-57 0)) ((cos-57 1) 9))) ok Expression: (4 -1 64 ((57 0)) ((57 1) 5)) Translation: (cos-not ((cos-64 (cos-57 0)) ((cos-57 1) 5))) ok Expression: (4 -1 64 ((57 1) 18) ((57 2) 8 18)) Translation: (cos-not ((cos-64 ((cos-57 1) 18)) (((cos-57 2) 8) 18))) ok Expression: (4 -1 64 ((57 1) 18) ((57 2) 18 5)) Translation: (cos-not ((cos-64 ((cos-57 1) 18)) (((cos-57 2) 18) 5))) ok Expression: (4 -1 64 ((57 2) 11 18) ((57 3) 7 11 18)) Translation: (cos-not ((cos-64 (((cos-57 2) 11) 18)) ((((cos-57 3) 7) 11) 18))) ok Expression: (4 -1 64 ((57 2) 11 18) ((57 3) 11 18 6)) Translation: (cos-not ((cos-64 (((cos-57 2) 11) 18)) ((((cos-57 3) 11) 18) 6))) ok Expression: (4 -1 64 ((57 3) 7 19 17) ((57 4) 6 7 19 17)) Translation: (cos-not ((cos-64 ((((cos-57 3) 7) 19) 17)) (((((cos-57 4) 6) 7) 19) 17))) ok Expression: (4 -1 64 ((57 3) 7 19 17) ((57 4) 7 19 17 0)) Translation: (cos-not ((cos-64 ((((cos-57 3) 7) 19) 17)) (((((cos-57 4) 7) 19) 17) 0))) ok Expression: (4 -1 64 ((57 4) 10 0 11 1) ((57 5) 0 10 0 11 1)) Translation: (cos-not ((cos-64 (((((cos-57 4) 10) 0) 11) 1)) ((((((cos-57 5) 0) 10) 0) 11) 1))) ok Expression: (4 -1 64 ((57 4) 10 0 11 1) ((57 5) 10 0 11 1 8)) Translation: (cos-not ((cos-64 (((((cos-57 4) 10) 0) 11) 1)) ((((((cos-57 5) 10) 0) 11) 1) 8))) ok ; some helpful functions Expression: (64 (63 8 ((57 0))) ((57 1) 8)) Translation: ((cos-64 ((cos-63 8) (cos-57 0))) ((cos-57 1) 8)) ok Expression: (64 (63 11 ((57 1) 8)) ((57 2) 11 8)) Translation: ((cos-64 ((cos-63 11) ((cos-57 1) 8))) (((cos-57 2) 11) 8)) ok Expression: (64 (63 13 ((57 2) 1 12)) ((57 3) 13 1 12)) Translation: ((cos-64 ((cos-63 13) (((cos-57 2) 1) 12))) ((((cos-57 3) 13) 1) 12)) ok Expression: (64 (63 0 ((57 3) 7 7 5)) ((57 4) 0 7 7 5)) Translation: ((cos-64 ((cos-63 0) ((((cos-57 3) 7) 7) 5))) (((((cos-57 4) 0) 7) 7) 5)) ok Expression: (64 (63 16 ((57 4) 16 0 19 3)) ((57 5) 16 16 0 19 3)) Translation: ((cos-64 ((cos-63 16) (((((cos-57 4) 16) 0) 19) 3))) ((((((cos-57 5) 16) 16) 0) 19) 3)) ok Expression: (64 (63 10 ((57 5) 5 6 7 9 10)) ((57 6) 10 5 6 7 9 10)) Translation: ((cos-64 ((cos-63 10) ((((((cos-57 5) 5) 6) 7) 9) 10))) (((((((cos-57 6) 10) 5) 6) 7) 9) 10)) ok Expression: (64 (63 19 ((57 6) 3 19 18 6 10 16)) ((57 7) 19 3 19 18 6 10 16)) Translation: ((cos-64 ((cos-63 19) (((((((cos-57 6) 3) 19) 18) 6) 10) 16))) ((((((((cos-57 7) 19) 3) 19) 18) 6) 10) 16)) ok Expression: (64 (63 19 ((57 7) 17 17 10 1 18 12 14)) ((57 8) 19 17 17 10 1 18 12 14)) Translation: ((cos-64 ((cos-63 19) ((((((((cos-57 7) 17) 17) 10) 1) 18) 12) 14))) (((((((((cos-57 8) 19) 17) 17) 10) 1) 18) 12) 14)) ok Expression: (13 52 -1 12 37 -1 12 36 -1 (57 2) (37) (36)) Translation: (begin (define cos-52 (lambda (cos-37) (lambda (cos-36) (((cos-57 2) cos-37) cos-36)))) 1) ok Expression: (13 65 -1 12 59 -1 58 -1 59) Translation: (begin (define cos-65 (lambda (cos-59) (cos-58 cos-59))) 1) ok Expression: (13 66 -1 12 59 -1 58 -1 60 -1 59) Translation: (begin (define cos-66 (lambda (cos-59) (cos-58 (cos-60 cos-59)))) 1) ok Expression: (64 (52 3 6) ((57 2) 3 6)) Translation: ((cos-64 ((cos-52 3) 6)) (((cos-57 2) 3) 6)) ok Expression: (2 (65 -1 52 3 6) 3) Translation: ((cos-= (cos-65 ((cos-52 3) 6))) 3) ok Expression: (2 (66 -1 52 3 6) 6) Translation: ((cos-= (cos-66 ((cos-52 3) 6))) 6) ok Expression: (64 (52 4 9) ((57 2) 4 9)) Translation: ((cos-64 ((cos-52 4) 9)) (((cos-57 2) 4) 9)) ok Expression: (2 (65 -1 52 4 9) 4) Translation: ((cos-= (cos-65 ((cos-52 4) 9))) 4) ok Expression: (2 (66 -1 52 4 9) 9) Translation: ((cos-= (cos-66 ((cos-52 4) 9))) 9) ok Expression: (64 (52 8 3) ((57 2) 8 3)) Translation: ((cos-64 ((cos-52 8) 3)) (((cos-57 2) 8) 3)) ok Expression: (2 (65 -1 52 8 3) 8) Translation: ((cos-= (cos-65 ((cos-52 8) 3))) 8) ok Expression: (2 (66 -1 52 8 3) 3) Translation: ((cos-= (cos-66 ((cos-52 8) 3))) 3) ok Expression: (13 67 -1 12 59 -1 12 68 -1 12 69 -1 12 70 -1 15 (2 (61 -1 59) 0) (69 0) (15 (8 (58 -1 59) (68)) (70) (67 (60 -1 59) (68) (69) (10 (70) 1)))) Translation: (begin (define cos-67 (lambda (cos-59) (lambda (cos-68) (lambda (cos-69) (lambda (cos-70) (if (tish ((cos-= (cos-61 cos-59)) 0)) (cos-69 0) (if (tish ((cos-equal (cos-58 cos-59)) cos-68)) cos-70 ((((cos-67 (cos-60 cos-59)) cos-68) cos-69) ((cos-+ cos-70) 1))))))))) 1) ok Expression: (13 71 -1 12 59 -1 12 68 -1 12 69 -1 67 (59) (68) (69) 0) Translation: (begin (define cos-71 (lambda (cos-59) (lambda (cos-68) (lambda (cos-69) ((((cos-67 cos-59) cos-68) cos-69) 0))))) 1) ok Expression: (13 72 -1 12 37 100) Translation: (begin (define cos-72 (lambda (cos-37) 100)) 1) ok Expression: (2 (71 ((57 1) 13) 13 (72)) 0) Translation: ((cos-= (((cos-71 ((cos-57 1) 13)) 13) cos-72)) 0) ok Expression: (2 (71 ((57 10) 0 9 8 16 15 14 17 5 9 2) 15 (72)) 4) Translation: ((cos-= (((cos-71 (((((((((((cos-57 10) 0) 9) 8) 16) 15) 14) 17) 5) 9) 2)) 15) cos-72)) 4) ok Expression: (2 (71 ((57 3) 7 4 10) 7 (72)) 0) Translation: ((cos-= (((cos-71 ((((cos-57 3) 7) 4) 10)) 7) cos-72)) 0) ok Expression: (2 (71 ((57 6) 0 17 10 13 11 5) 17 (72)) 1) Translation: ((cos-= (((cos-71 (((((((cos-57 6) 0) 17) 10) 13) 11) 5)) 17) cos-72)) 1) ok Expression: (2 (71 ((57 3) 12 9 6) 12 (72)) 0) Translation: ((cos-= (((cos-71 ((((cos-57 3) 12) 9) 6)) 12) cos-72)) 0) ok Expression: (2 (71 ((57 7) 17 1 4 17 14 13 13) 14 (72)) 4) Translation: ((cos-= (((cos-71 ((((((((cos-57 7) 17) 1) 4) 17) 14) 13) 13)) 14) cos-72)) 4) ok Expression: (2 (71 ((57 3) 2 15 2) 15 (72)) 1) Translation: ((cos-= (((cos-71 ((((cos-57 3) 2) 15) 2)) 15) cos-72)) 1) ok Expression: (2 (71 ((57 9) 6 13 10 8 10 9 6 15 18) 13 (72)) 1) Translation: ((cos-= (((cos-71 ((((((((((cos-57 9) 6) 13) 10) 8) 10) 9) 6) 15) 18)) 13) cos-72)) 1) ok Expression: (2 (71 ((57 3) 12 16 0) 12 (72)) 0) Translation: ((cos-= (((cos-71 ((((cos-57 3) 12) 16) 0)) 12) cos-72)) 0) ok Expression: (2 (71 ((57 1) 15) 15 (72)) 0) Translation: ((cos-= (((cos-71 ((cos-57 1) 15)) 15) cos-72)) 0) ok Expression: (2 (71 ((57 4) 2 17 11 5) 14 (72)) 100) Translation: ((cos-= (((cos-71 (((((cos-57 4) 2) 17) 11) 5)) 14) cos-72)) 100) ok Expression: (2 (71 ((57 6) 12 1 19 6 17 9) 2 (72)) 100) Translation: ((cos-= (((cos-71 (((((((cos-57 6) 12) 1) 19) 6) 17) 9)) 2) cos-72)) 100) ok Expression: (2 (71 ((57 8) 11 6 17 8 13 10 9 16) 19 (72)) 100) Translation: ((cos-= (((cos-71 (((((((((cos-57 8) 11) 6) 17) 8) 13) 10) 9) 16)) 19) cos-72)) 100) ok ; HACK describe changes to the implicit interpreter to allow new special forms Expression: (13 73 -1 25) Translation: (begin (define cos-73 cos-translate) 1) ok Expression: (13 25 -1 12 37 -1 15 (2 (37) 32) 64 (73 -1 37)) Translation: (begin (define cos-translate (lambda (cos-37) (if (tish ((cos-= cos-37) 32)) 64 (cos-73 cos-37)))) 1) ok Expression: (2 32 64) Translation: ((cos-= 64) 64) ok Expression: (2 (10 32 64) 128) Translation: ((cos-= ((cos-+ 64) 64)) 128) ok Expression: (13 25 -1 73) Translation: (begin (define cos-translate cos-73) 1) ok Expression: (4 -1 2 32 64) Translation: (cos-not ((cos-= 32) 64)) ok Expression: (2 (10 32 64) 96) Translation: ((cos-= ((cos-+ 32) 64)) 96) ok ; now can create a special form for lists Expression: (13 25 -1 12 37 -1 15 (24 -1 37) (73 -1 37) (15 (2 (58 -1 37) 16) (25 -1 63 ((57 2) 57 (61 -1 60 -1 37)) (60 -1 37)) (73 -1 37))) Translation: (begin (define cos-translate (lambda (cos-37) (if (tish (cos-number? cos-37)) (cos-73 cos-37) (if (tish ((cos-= (cos-58 cos-37)) 16)) (cos-translate ((cos-63 (((cos-57 2) 57) (cos-61 (cos-60 cos-37)))) (cos-60 cos-37))) (cos-73 cos-37))))) 1) ok Expression: (64 (16 1 2 3) ((57 3) 1 2 3)) Translation: ((cos-64 ((((cos-57 3) 1) 2) 3)) ((((cos-57 3) 1) 2) 3)) ok ; now to desugar let expressions Expression: (13 74 -1 25) Translation: (begin (define cos-74 cos-translate) 1) ok Expression: (13 75 -1 12 37 -1 12 76 -1 15 (2 (61 -1 37) 0) (25 -1 76) (75 (60 -1 37) (16 (16 12 (58 -1 58 -1 37) (76)) (58 -1 60 -1 58 -1 37)))) Translation: (begin (define cos-75 (lambda (cos-37) (lambda (cos-76) (if (tish ((cos-= (cos-61 cos-37)) 0)) (cos-translate cos-76) ((cos-75 (cos-60 cos-37)) (((cos-57 2) ((((cos-57 3) 12) (cos-58 (cos-58 cos-37))) cos-76)) (cos-58 (cos-60 (cos-58 cos-37))))))))) 1) ok Expression: (13 25 -1 12 37 -1 15 (24 -1 37) (74 -1 37) (15 (2 (58 -1 37) 77) (75 (58 -1 60 -1 37) (58 -1 60 -1 60 -1 37)) (74 -1 37))) Translation: (begin (define cos-translate (lambda (cos-37) (if (tish (cos-number? cos-37)) (cos-74 cos-37) (if (tish ((cos-= (cos-58 cos-37)) 77)) ((cos-75 (cos-58 (cos-60 cos-37))) (cos-58 (cos-60 (cos-60 cos-37)))) (cos-74 cos-37))))) 1) ok Expression: (77 ((37 20)) (2 (37) 20)) Translation: ((lambda (cos-37) ((cos-= cos-37) 20)) 20) ok Expression: (77 ((37 50) (36 20)) (2 (11 (37) (36)) 30)) Translation: ((lambda (cos-36) ((lambda (cos-37) ((cos-= ((cos-- cos-37) cos-36)) 30)) 50)) 20) ok ; the is-list function is now on dubious ground ; this stuff will be replaced with typing ASAP Expression: (13 78 -1 12 37 -1 4 -1 24 -1 37) Translation: (begin (define cos-78 (lambda (cos-37) (cos-not (cos-number? cos-37)))) 1) ok Expression: (78 -1 (57 2) 1 3) Translation: (cos-78 (((cos-57 2) 1) 3)) ok Expression: (78 -1 (57 0)) Translation: (cos-78 (cos-57 0)) ok Expression: (4 -1 78 23) Translation: (cos-not (cos-78 23)) ok Expression: (78 -1 (57 3) ((57 2) 2 3) 1 (12 37 -1 10 (37) 10)) Translation: (cos-78 ((((cos-57 3) (((cos-57 2) 2) 3)) 1) (lambda (cos-37) ((cos-+ cos-37) 10)))) ok ; MATH introduce sugar for let ; if would be good to introduce desugarings more rigorously, but for now... ; ... just a very vague sketch Expression: (0 77) Translation: (cos-intro 77) ok Expression: (2 (77 ((37 10)) (10 (37) 5)) ((12 37 -1 10 (37) 5) 10)) Translation: ((cos-= ((lambda (cos-37) ((cos-+ cos-37) 5)) 10)) ((lambda (cos-37) ((cos-+ cos-37) 5)) 10)) ok Expression: (2 (77 ((37 10) (36 5)) (10 (37) (36))) (((12 37 -1 12 36 -1 10 (37) (36)) 10) 5)) Translation: ((cos-= ((lambda (cos-36) ((lambda (cos-37) ((cos-+ cos-37) cos-36)) 10)) 5)) (((lambda (cos-37) (lambda (cos-36) ((cos-+ cos-37) cos-36))) 10) 5)) ok ; MATH build up functions of several variables Expression: (2 ((12 37 -1 12 36 -1 11 (37) (36)) 4 0) 4) Translation: ((cos-= (((lambda (cos-37) (lambda (cos-36) ((cos-- cos-37) cos-36))) 4) 0)) 4) ok Expression: (2 ((12 37 -1 12 36 -1 11 (37) (36)) 11 8) 3) Translation: ((cos-= (((lambda (cos-37) (lambda (cos-36) ((cos-- cos-37) cos-36))) 11) 8)) 3) ok Expression: (2 ((12 37 -1 12 36 -1 11 (37) (36)) 5 5) 0) Translation: ((cos-= (((lambda (cos-37) (lambda (cos-36) ((cos-- cos-37) cos-36))) 5) 5)) 0) ok Expression: (2 ((12 37 -1 12 36 -1 11 (37) (36)) 10 1) 9) Translation: ((cos-= (((lambda (cos-37) (lambda (cos-36) ((cos-- cos-37) cos-36))) 10) 1)) 9) ok Expression: (2 ((12 37 -1 12 36 -1 11 (37) (36)) 10 7) 3) Translation: ((cos-= (((lambda (cos-37) (lambda (cos-36) ((cos-- cos-37) cos-36))) 10) 7)) 3) ok Expression: (13 79 -1 12 37 -1 62 (37) (11 (61 -1 37) 1)) Translation: (begin (define cos-79 (lambda (cos-37) ((cos-62 cos-37) ((cos-- (cos-61 cos-37)) 1)))) 1) ok Expression: (13 80 -1 12 37 -1 15 (3 (61 -1 37) 1) (63 (58 -1 37) (80 -1 60 -1 37)) (16)) Translation: (begin (define cos-80 (lambda (cos-37) (if (tish ((cos-> (cos-61 cos-37)) 1)) ((cos-63 (cos-58 cos-37)) (cos-80 (cos-60 cos-37))) (cos-57 0)))) 1) ok ; test last and except-last Expression: (2 15 (79 -1 16 4 5 15)) Translation: ((cos-= 15) (cos-79 ((((cos-57 3) 4) 5) 15))) ok Expression: (64 (16 4 5) (80 -1 16 4 5 15)) Translation: ((cos-64 (((cos-57 2) 4) 5)) (cos-80 ((((cos-57 3) 4) 5) 15))) ok Expression: (0 26) Translation: (cos-intro 26) ok Expression: (13 81 -1 25) Translation: (begin (define cos-81 cos-translate) 1) ok Expression: (13 25 -1 77 ((82 (81))) (12 37 -1 15 (24 -1 37) (82 -1 37) (15 (2 (58 -1 37) 26) (77 ((83 (58 -1 60 -1 37)) (76 (58 -1 60 -1 60 -1 37))) (15 (3 (61 -1 83) 0) (25 (16 26 (80 -1 83) (16 12 (79 -1 83) (76)))) (25 (76)))) (82 -1 37)))) Translation: (begin (define cos-translate ((lambda (cos-82) (lambda (cos-37) (if (tish (cos-number? cos-37)) (cos-82 cos-37) (if (tish ((cos-= (cos-58 cos-37)) 26)) ((lambda (cos-76) ((lambda (cos-83) (if (tish ((cos-> (cos-61 cos-83)) 0)) (cos-translate ((((cos-57 3) 26) (cos-80 cos-83)) ((((cos-57 3) 12) (cos-79 cos-83)) cos-76))) (cos-translate cos-76))) (cos-58 (cos-60 cos-37)))) (cos-58 (cos-60 (cos-60 cos-37)))) (cos-82 cos-37))))) cos-81)) 1) ok ; test lambda Expression: (2 ((26 (37 36) (11 (37) (36))) 8 3) 5) Translation: ((cos-= (((lambda (cos-37) (lambda (cos-36) ((cos-- cos-37) cos-36))) 8) 3)) 5) ok Expression: (2 ((26 (37 36) (11 (37) (36))) 1 1) 0) Translation: ((cos-= (((lambda (cos-37) (lambda (cos-36) ((cos-- cos-37) cos-36))) 1) 1)) 0) ok Expression: (2 ((26 (37 36) (11 (37) (36))) 10 9) 1) Translation: ((cos-= (((lambda (cos-37) (lambda (cos-36) ((cos-- cos-37) cos-36))) 10) 9)) 1) ok Expression: (2 ((26 (37 36) (11 (37) (36))) 7 5) 2) Translation: ((cos-= (((lambda (cos-37) (lambda (cos-36) ((cos-- cos-37) cos-36))) 7) 5)) 2) ok Expression: (2 ((26 (37 36) (11 (37) (36))) 9 8) 1) Translation: ((cos-= (((lambda (cos-37) (lambda (cos-36) ((cos-- cos-37) cos-36))) 9) 8)) 1) ok Expression: (13 84 -1 26 (37 36) (15 (64 (36) (16)) (37) (84 ((37) (58 -1 36)) (60 -1 36)))) Translation: (begin (define cos-84 (lambda (cos-37) (lambda (cos-36) (if (tish ((cos-64 cos-36) (cos-57 0))) cos-37 ((cos-84 (cos-37 (cos-58 cos-36))) (cos-60 cos-36)))))) 1) ok Expression: (2 (84 (26 (37 36) (11 (37) (36))) (16 8 6)) 2) Translation: ((cos-= ((cos-84 (lambda (cos-37) (lambda (cos-36) ((cos-- cos-37) cos-36)))) (((cos-57 2) 8) 6))) 2) ok Expression: (2 (84 (26 (37 36) (11 (37) (36))) (16 5 0)) 5) Translation: ((cos-= ((cos-84 (lambda (cos-37) (lambda (cos-36) ((cos-- cos-37) cos-36)))) (((cos-57 2) 5) 0))) 5) ok Expression: (2 (84 (26 (37 36) (11 (37) (36))) (16 12 9)) 3) Translation: ((cos-= ((cos-84 (lambda (cos-37) (lambda (cos-36) ((cos-- cos-37) cos-36)))) (((cos-57 2) 12) 9))) 3) ok Expression: (2 (84 (26 (37 36) (11 (37) (36))) (16 13 8)) 5) Translation: ((cos-= ((cos-84 (lambda (cos-37) (lambda (cos-36) ((cos-- cos-37) cos-36)))) (((cos-57 2) 13) 8))) 5) ok Expression: (2 (84 (26 (37 36) (11 (37) (36))) (16 11 3)) 8) Translation: ((cos-= ((cos-84 (lambda (cos-37) (lambda (cos-36) ((cos-- cos-37) cos-36)))) (((cos-57 2) 11) 3))) 8) ok ; MATH show map function for applying a function across the elements of a list Expression: (13 85 -1 26 (86 59) (15 (3 (61 -1 59) 0) (63 (86 (58 -1 59)) (85 (86) (60 -1 59))) (16))) Translation: (begin (define cos-85 (lambda (cos-86) (lambda (cos-59) (if (tish ((cos-> (cos-61 cos-59)) 0)) ((cos-63 (cos-86 (cos-58 cos-59))) ((cos-85 cos-86) (cos-60 cos-59))) (cos-57 0))))) 1) ok Expression: (64 (85 (12 37 -1 9 (37) 2) (16 0 8 15)) (16 0 16 30)) Translation: ((cos-64 ((cos-85 (lambda (cos-37) ((cos-* cos-37) 2))) ((((cos-57 3) 0) 8) 15))) ((((cos-57 3) 0) 16) 30)) ok Expression: (64 (85 (12 37 -1 9 (37) 2) (16 12 4 0 9)) (16 24 8 0 18)) Translation: ((cos-64 ((cos-85 (lambda (cos-37) ((cos-* cos-37) 2))) (((((cos-57 4) 12) 4) 0) 9))) (((((cos-57 4) 24) 8) 0) 18)) ok Expression: (64 (85 (12 37 -1 9 (37) 2) (16 8 9 5 7 10)) (16 16 18 10 14 20)) Translation: ((cos-64 ((cos-85 (lambda (cos-37) ((cos-* cos-37) 2))) ((((((cos-57 5) 8) 9) 5) 7) 10))) ((((((cos-57 5) 16) 18) 10) 14) 20)) ok Expression: (64 (85 (12 37 -1 9 (37) 2) (16 10 12 19 8 3 1)) (16 20 24 38 16 6 2)) Translation: ((cos-64 ((cos-85 (lambda (cos-37) ((cos-* cos-37) 2))) (((((((cos-57 6) 10) 12) 19) 8) 3) 1))) (((((((cos-57 6) 20) 24) 38) 16) 6) 2)) ok Expression: (64 (85 (12 37 42) (16 5 18 4)) (16 42 42 42)) Translation: ((cos-64 ((cos-85 (lambda (cos-37) 42)) ((((cos-57 3) 5) 18) 4))) ((((cos-57 3) 42) 42) 42)) ok Expression: (64 (85 (12 37 42) (16 3 10 17 11)) (16 42 42 42 42)) Translation: ((cos-64 ((cos-85 (lambda (cos-37) 42)) (((((cos-57 4) 3) 10) 17) 11))) (((((cos-57 4) 42) 42) 42) 42)) ok Expression: (64 (85 (12 37 42) (16 5 13 6 16 2)) (16 42 42 42 42 42)) Translation: ((cos-64 ((cos-85 (lambda (cos-37) 42)) ((((((cos-57 5) 5) 13) 6) 16) 2))) ((((((cos-57 5) 42) 42) 42) 42) 42)) ok Expression: (64 (85 (12 37 42) (16 9 1 19 14 6 10)) (16 42 42 42 42 42 42)) Translation: ((cos-64 ((cos-85 (lambda (cos-37) 42)) (((((((cos-57 6) 9) 1) 19) 14) 6) 10))) (((((((cos-57 6) 42) 42) 42) 42) 42) 42)) ok Expression: (13 87 -1 26 (86 59) (15 (49 (61 -1 59) 2) (86 (58 -1 59) (87 (86) (60 -1 59))) (15 (2 (61 -1 59) 1) (58 -1 59) (32)))) Translation: (begin (define cos-87 (lambda (cos-86) (lambda (cos-59) (if (tish ((cos-49 (cos-61 cos-59)) 2)) ((cos-86 (cos-58 cos-59)) ((cos-87 cos-86) (cos-60 cos-59))) (if (tish ((cos-= (cos-61 cos-59)) 1)) (cos-58 cos-59) cos-undefined))))) 1) ok Expression: (2 (87 (10) (16 5 12 2)) 19) Translation: ((cos-= ((cos-87 cos-+) ((((cos-57 3) 5) 12) 2))) 19) ok Expression: (2 (87 (10) (16 11 18 1 4)) 34) Translation: ((cos-= ((cos-87 cos-+) (((((cos-57 4) 11) 18) 1) 4))) 34) ok Expression: (2 (87 (10) (16 15 13 10 12 2)) 52) Translation: ((cos-= ((cos-87 cos-+) ((((((cos-57 5) 15) 13) 10) 12) 2))) 52) ok Expression: (2 (87 (10) (16 12 6 17 15 4 10)) 64) Translation: ((cos-= ((cos-87 cos-+) (((((((cos-57 6) 12) 6) 17) 15) 4) 10))) 64) ok ; NOTE end of part 1, start of part 2 ; The following parts of the message are experimental, and not ; carefully integrated with the main body Expression: (0 88) Translation: (cos-intro 88) ok ; MATH show an example of recursive evaluation ; skipping over a lot of definitions and desugarings Expression: (13 89 -1 12 51 -1 12 37 -1 15 (3 (37) 0) (9 (37) -1 51 (51) (11 (37) 1)) 1) Translation: (begin (define cos-89 (lambda (cos-51) (lambda (cos-37) (if (tish ((cos-> cos-37) 0)) ((cos-* cos-37) ((cos-51 cos-51) ((cos-- cos-37) 1))) 1)))) 1) ok Expression: (13 47 -1 12 37 -1 15 (3 (37) 0) (9 (37) -1 47 -1 11 (37) 1) 1) Translation: (begin (define cos-47 (lambda (cos-37) (if (tish ((cos-> cos-37) 0)) ((cos-* cos-37) (cos-47 ((cos-- cos-37) 1))) 1))) 1) ok Expression: (2 (89 (89) 0) 1) Translation: ((cos-= ((cos-89 cos-89) 0)) 1) ok Expression: (2 (89 (89) 1) 1) Translation: ((cos-= ((cos-89 cos-89) 1)) 1) ok Expression: (2 (89 (89) 2) 2) Translation: ((cos-= ((cos-89 cos-89) 2)) 2) ok Expression: (2 (89 (89) 3) 6) Translation: ((cos-= ((cos-89 cos-89) 3)) 6) ok Expression: (2 (89 (89) 4) 24) Translation: ((cos-= ((cos-89 cos-89) 4)) 24) ok Expression: (2 (89 (89) 5) 120) Translation: ((cos-= ((cos-89 cos-89) 5)) 120) ok Expression: (2 (47 0) 1) Translation: ((cos-= (cos-47 0)) 1) ok Expression: (2 (47 1) 1) Translation: ((cos-= (cos-47 1)) 1) ok Expression: (2 (47 2) 2) Translation: ((cos-= (cos-47 2)) 2) ok Expression: (2 (47 3) 6) Translation: ((cos-= (cos-47 3)) 6) ok Expression: (2 (47 4) 24) Translation: ((cos-= (cos-47 4)) 24) ok Expression: (2 (47 5) 120) Translation: ((cos-= (cos-47 5)) 120) ok ; MATH some pure lambda calculus definitions - optional ; these definitions are not quite what we want ; since thinking of everything as a function requires headscratching ; it would be better to use these as a parallel means of evaluation ; ... for expressions Expression: (13 90 -1 12 37 -1 12 36 -1 12 38 -1 37 (36) (38)) Translation: (begin (define cos-90 (lambda (cos-37) (lambda (cos-36) (lambda (cos-38) ((cos-37 cos-36) cos-38))))) 1) ok Expression: (13 91 -1 12 36 -1 12 38 -1 36) Translation: (begin (define cos-91 (lambda (cos-36) (lambda (cos-38) cos-36))) 1) ok Expression: (13 92 -1 12 36 -1 12 38 -1 38) Translation: (begin (define cos-92 (lambda (cos-36) (lambda (cos-38) cos-38))) 1) ok Expression: (13 93 -1 12 37 -1 12 36 -1 12 38 -1 90 (38) (37) (36)) Translation: (begin (define cos-93 (lambda (cos-37) (lambda (cos-36) (lambda (cos-38) (((cos-90 cos-38) cos-37) cos-36))))) 1) ok Expression: (13 94 -1 12 37 -1 37 (91)) Translation: (begin (define cos-94 (lambda (cos-37) (cos-37 cos-91))) 1) ok Expression: (13 95 -1 12 37 -1 37 (92)) Translation: (begin (define cos-95 (lambda (cos-37) (cos-37 cos-92))) 1) ok Expression: (13 96 -1 12 51 -1 12 37 -1 37) Translation: (begin (define cos-96 (lambda (cos-51) (lambda (cos-37) cos-37))) 1) ok Expression: (13 97 -1 12 51 -1 12 37 -1 51 (37)) Translation: (begin (define cos-97 (lambda (cos-51) (lambda (cos-37) (cos-51 cos-37)))) 1) ok Expression: (13 98 -1 12 51 -1 12 37 -1 51 (51 (37))) Translation: (begin (define cos-98 (lambda (cos-51) (lambda (cos-37) (cos-51 (cos-51 cos-37))))) 1) ok Expression: (13 99 -1 12 48 -1 12 51 -1 12 37 -1 51 ((48 (51)) (37))) Translation: (begin (define cos-99 (lambda (cos-48) (lambda (cos-51) (lambda (cos-37) (cos-51 ((cos-48 cos-51) cos-37)))))) 1) ok Expression: (13 100 -1 12 101 -1 12 102 -1 (101 (99)) (102)) Translation: (begin (define cos-100 (lambda (cos-101) (lambda (cos-102) ((cos-101 cos-99) cos-102)))) 1) ok Expression: (13 103 -1 12 101 -1 12 102 -1 (101 (100 -1 102)) (96)) Translation: (begin (define cos-103 (lambda (cos-101) (lambda (cos-102) ((cos-101 (cos-100 cos-102)) cos-96)))) 1) ok Expression: (13 104 -1 12 48 -1 95 -1 (48 (12 86 -1 93 (99 -1 94 -1 86) (94 -1 86))) (93 (96) (96))) Translation: (begin (define cos-104 (lambda (cos-48) (cos-95 ((cos-48 (lambda (cos-86) ((cos-93 (cos-99 (cos-94 cos-86))) (cos-94 cos-86)))) ((cos-93 cos-96) cos-96))))) 1) ok Expression: (13 105 -1 12 48 -1 (48 (12 106 -1 92) (91))) Translation: (begin (define cos-105 (lambda (cos-48) ((cos-48 (lambda (cos-106) cos-92)) cos-91))) 1) ok Expression: (13 107 -1 12 51 -1 (12 37 -1 51 (37 (37))) (12 37 -1 51 (37 (37)))) Translation: (begin (define cos-107 (lambda (cos-51) ((lambda (cos-37) (cos-51 (cos-37 cos-37))) (lambda (cos-37) (cos-51 (cos-37 cos-37)))))) 1) ok ; .. but for rest of message will assume that define does fixed-point for us ; now build a link between numbers and church number functions Expression: (13 108 -1 12 109 -1 109 (12 37 -1 10 (37) 1) 0) Translation: (begin (define cos-108 (lambda (cos-109) ((cos-109 (lambda (cos-37) ((cos-+ cos-37) 1))) 0))) 1) ok Expression: (2 0 (108 -1 96)) Translation: ((cos-= 0) (cos-108 cos-96)) ok Expression: (2 1 (108 -1 97)) Translation: ((cos-= 1) (cos-108 cos-97)) ok Expression: (2 2 (108 -1 98)) Translation: ((cos-= 2) (cos-108 cos-98)) ok Expression: (13 110 -1 12 37 -1 15 (2 0 (37)) (96) (99 -1 110 -1 11 (37) 1)) Translation: (begin (define cos-110 (lambda (cos-37) (if (tish ((cos-= 0) cos-37)) cos-96 (cos-99 (cos-110 ((cos-- cos-37) 1)))))) 1) ok ; MATH introduce universal quantifier ; really need to link with sets for true correctness ; and the examples here are REALLY sparse, need much more Expression: (0 19) Translation: (cos-intro 19) ok Expression: (1 5 (10 5 1)) Translation: ((cos-< 5) ((cos-+ 5) 1)) ok Expression: (1 4 (10 4 1)) Translation: ((cos-< 4) ((cos-+ 4) 1)) ok Expression: (1 3 (10 3 1)) Translation: ((cos-< 3) ((cos-+ 3) 1)) ok Expression: (1 2 (10 2 1)) Translation: ((cos-< 2) ((cos-+ 2) 1)) ok Expression: (1 1 (10 1 1)) Translation: ((cos-< 1) ((cos-+ 1) 1)) ok Expression: (1 0 (10 0 1)) Translation: ((cos-< 0) ((cos-+ 0) 1)) ok Expression: (19 (12 37 -1 1 (37) (10 (37) 1))) Translation: (cos-forall (lambda (cos-37) ((cos-< cos-37) ((cos-+ cos-37) 1)))) ok Expression: (1 5 (9 5 2)) Translation: ((cos-< 5) ((cos-* 5) 2)) ok Expression: (1 4 (9 4 2)) Translation: ((cos-< 4) ((cos-* 4) 2)) ok Expression: (1 3 (9 3 2)) Translation: ((cos-< 3) ((cos-* 3) 2)) ok Expression: (1 2 (9 2 2)) Translation: ((cos-< 2) ((cos-* 2) 2)) ok Expression: (1 1 (9 1 2)) Translation: ((cos-< 1) ((cos-* 1) 2)) ok Expression: (4 -1 1 0 (9 0 2)) Translation: (cos-not ((cos-< 0) ((cos-* 0) 2))) ok Expression: (4 -1 19 (12 37 -1 1 (37) (9 (37) 2))) Translation: (cos-not (cos-forall (lambda (cos-37) ((cos-< cos-37) ((cos-* cos-37) 2))))) ok ; MATH introduce existential quantifier ; really need to link with sets for true correctness ; and the examples here are REALLY sparse, need much more Expression: (4 -1 2 5 (9 2 2)) Translation: (cos-not ((cos-= 5) ((cos-* 2) 2))) ok Expression: (2 4 (9 2 2)) Translation: ((cos-= 4) ((cos-* 2) 2)) ok Expression: (4 -1 2 3 (9 2 2)) Translation: (cos-not ((cos-= 3) ((cos-* 2) 2))) ok Expression: (4 -1 2 2 (9 2 2)) Translation: (cos-not ((cos-= 2) ((cos-* 2) 2))) ok Expression: (4 -1 2 1 (9 2 2)) Translation: (cos-not ((cos-= 1) ((cos-* 2) 2))) ok Expression: (4 -1 2 0 (9 2 2)) Translation: (cos-not ((cos-= 0) ((cos-* 2) 2))) ok Expression: (0 20) Translation: (cos-intro 20) ok Expression: (20 (12 37 -1 2 (37) (9 2 2))) Translation: (cos-exists (lambda (cos-37) ((cos-= cos-37) ((cos-* 2) 2)))) ok Expression: (4 -1 2 5 (10 5 2)) Translation: (cos-not ((cos-= 5) ((cos-+ 5) 2))) ok Expression: (4 -1 2 4 (10 4 2)) Translation: (cos-not ((cos-= 4) ((cos-+ 4) 2))) ok Expression: (4 -1 2 3 (10 3 2)) Translation: (cos-not ((cos-= 3) ((cos-+ 3) 2))) ok Expression: (4 -1 2 2 (10 2 2)) Translation: (cos-not ((cos-= 2) ((cos-+ 2) 2))) ok Expression: (4 -1 2 1 (10 1 2)) Translation: (cos-not ((cos-= 1) ((cos-+ 1) 2))) ok Expression: (4 -1 2 0 (10 0 2)) Translation: (cos-not ((cos-= 0) ((cos-+ 0) 2))) ok Expression: (4 (20 (12 37 -1 2 (37) (10 (37) 2)))) Translation: (cos-not (cos-exists (lambda (cos-37) ((cos-= cos-37) ((cos-+ cos-37) 2))))) ok ; MATH introduce logical implication Expression: (0 111) Translation: (cos-intro 111) ok Expression: (13 111 -1 12 37 -1 12 36 -1 4 -1 5 (37) (4 -1 36)) Translation: (begin (define cos-111 (lambda (cos-37) (lambda (cos-36) (cos-not ((cos-and cos-37) (cos-not cos-36)))))) 1) ok Expression: (111 (43) (43)) Translation: ((cos-111 cos-43) cos-43) ok Expression: (4 -1 111 (43) (44)) Translation: (cos-not ((cos-111 cos-43) cos-44)) ok Expression: (111 (44) (43)) Translation: ((cos-111 cos-44) cos-43) ok Expression: (111 (44) (44)) Translation: ((cos-111 cos-44) cos-44) ok Expression: (19 (12 37 -1 19 (12 36 -1 111 (111 (37) (36)) (111 (4 -1 36) (4 -1 37))))) Translation: (cos-forall (lambda (cos-37) (cos-forall (lambda (cos-36) ((cos-111 ((cos-111 cos-37) cos-36)) ((cos-111 (cos-not cos-36)) (cos-not cos-37))))))) ok ; MATH introduce sets and set membership Expression: (0 112) Translation: (cos-intro 112) ok Expression: (13 112 -1 12 37 -1 12 59 -1 4 -1 2 (67 (59) (37) (12 36 0) 1) 0) Translation: (begin (define cos-112 (lambda (cos-37) (lambda (cos-59) (cos-not ((cos-= ((((cos-67 cos-59) cos-37) (lambda (cos-36) 0)) 1)) 0))))) 1) ok Expression: (112 8 (16 8 4 3 0 5)) Translation: ((cos-112 8) ((((((cos-57 5) 8) 4) 3) 0) 5)) ok Expression: (112 5 (16 8 4 3 0 5)) Translation: ((cos-112 5) ((((((cos-57 5) 8) 4) 3) 0) 5)) ok Expression: (112 0 (16 8 4 3 0 5)) Translation: ((cos-112 0) ((((((cos-57 5) 8) 4) 3) 0) 5)) ok Expression: (112 1 (16 1 0 3 9 5)) Translation: ((cos-112 1) ((((((cos-57 5) 1) 0) 3) 9) 5)) ok Expression: (112 3 (16 1 0 3 9 5)) Translation: ((cos-112 3) ((((((cos-57 5) 1) 0) 3) 9) 5)) ok Expression: (112 0 (16 1 0 3 9 5)) Translation: ((cos-112 0) ((((((cos-57 5) 1) 0) 3) 9) 5)) ok Expression: (112 5 (16 6 8 1 0 2 5)) Translation: ((cos-112 5) (((((((cos-57 6) 6) 8) 1) 0) 2) 5)) ok Expression: (112 1 (16 6 8 1 0 2 5)) Translation: ((cos-112 1) (((((((cos-57 6) 6) 8) 1) 0) 2) 5)) ok Expression: (112 5 (16 6 8 1 0 2 5)) Translation: ((cos-112 5) (((((((cos-57 6) 6) 8) 1) 0) 2) 5)) ok Expression: (112 6 (16 6 8 3 9 2 5)) Translation: ((cos-112 6) (((((((cos-57 6) 6) 8) 3) 9) 2) 5)) ok Expression: (112 6 (16 6 8 3 9 2 5)) Translation: ((cos-112 6) (((((((cos-57 6) 6) 8) 3) 9) 2) 5)) ok Expression: (112 5 (16 6 8 3 9 2 5)) Translation: ((cos-112 5) (((((((cos-57 6) 6) 8) 3) 9) 2) 5)) ok Expression: (112 4 (16 6 4 1 7 2 5)) Translation: ((cos-112 4) (((((((cos-57 6) 6) 4) 1) 7) 2) 5)) ok Expression: (112 1 (16 6 4 1 7 2 5)) Translation: ((cos-112 1) (((((((cos-57 6) 6) 4) 1) 7) 2) 5)) ok Expression: (112 7 (16 6 4 1 7 2 5)) Translation: ((cos-112 7) (((((((cos-57 6) 6) 4) 1) 7) 2) 5)) ok Expression: (4 -1 112 6 (16 8 3 7 9)) Translation: (cos-not ((cos-112 6) (((((cos-57 4) 8) 3) 7) 9))) ok Expression: (4 -1 112 6 (16 8 4 1 3 5)) Translation: (cos-not ((cos-112 6) ((((((cos-57 5) 8) 4) 1) 3) 5))) ok Expression: (4 -1 112 6 (16 9 2 5)) Translation: (cos-not ((cos-112 6) ((((cos-57 3) 9) 2) 5))) ok Expression: (4 -1 112 0 (16 7 2 5)) Translation: (cos-not ((cos-112 0) ((((cos-57 3) 7) 2) 5))) ok Expression: (4 -1 112 6 (16 3 5)) Translation: (cos-not ((cos-112 6) (((cos-57 2) 3) 5))) ok ; rules for set equality Expression: (13 113 -1 12 37 -1 12 36 -1 15 (3 (61 -1 37) 0) (5 (112 (58 -1 37) (36)) (113 (60 -1 37) (36))) (43)) Translation: (begin (define cos-113 (lambda (cos-37) (lambda (cos-36) (if (tish ((cos-> (cos-61 cos-37)) 0)) ((cos-and ((cos-112 (cos-58 cos-37)) cos-36)) ((cos-113 (cos-60 cos-37)) cos-36)) cos-43)))) 1) ok Expression: (13 114 -1 12 37 -1 12 36 -1 5 (113 (37) (36)) (113 (36) (37))) Translation: (begin (define cos-114 (lambda (cos-37) (lambda (cos-36) ((cos-and ((cos-113 cos-37) cos-36)) ((cos-113 cos-36) cos-37))))) 1) ok Expression: (114 (16 1 5 9) (16 5 1 9)) Translation: ((cos-114 ((((cos-57 3) 1) 5) 9)) ((((cos-57 3) 5) 1) 9)) ok Expression: (114 (16 1 5 9) (16 9 1 5)) Translation: ((cos-114 ((((cos-57 3) 1) 5) 9)) ((((cos-57 3) 9) 1) 5)) ok Expression: (4 -1 114 (16 1 5 9) (16 1 5)) Translation: (cos-not ((cos-114 ((((cos-57 3) 1) 5) 9)) (((cos-57 2) 1) 5))) ok ; let's go leave ourselves wide open to Russell's paradox ; ... by using characteristic functions ; ... since it doesn't really matter for communication purposes ; ... and so far this is just used / tested with sets of integers really Expression: (112 5 (30 (12 37 -1 2 (10 (37) 10) 15))) Translation: ((cos-112 5) (cos-all (lambda (cos-37) ((cos-= ((cos-+ cos-37) 10)) 15)))) ok Expression: (112 3 (30 (12 37 -1 2 (9 (37) 3) (10 (37) 6)))) Translation: ((cos-112 3) (cos-all (lambda (cos-37) ((cos-= ((cos-* cos-37) 3)) ((cos-+ cos-37) 6))))) ok Expression: (13 115 -1 16) Translation: (begin (define cos-115 (cos-57 0)) 1) ok Expression: (112 0 (31)) Translation: ((cos-112 0) cos-natural-set) ok Expression: (19 (12 37 -1 111 (112 (37) (31)) (112 (10 (37) 1) (31)))) Translation: (cos-forall (lambda (cos-37) ((cos-111 ((cos-112 cos-37) cos-natural-set)) ((cos-112 ((cos-+ cos-37) 1)) cos-natural-set)))) ok Expression: (112 1 (31)) Translation: ((cos-112 1) cos-natural-set) ok Expression: (112 2 (31)) Translation: ((cos-112 2) cos-natural-set) ok Expression: (112 3 (31)) Translation: ((cos-112 3) cos-natural-set) ok Expression: (112 4 (31)) Translation: ((cos-112 4) cos-natural-set) ok Expression: (112 5 (31)) Translation: ((cos-112 5) cos-natural-set) ok Expression: (112 6 (31)) Translation: ((cos-112 6) cos-natural-set) ok Expression: (112 7 (31)) Translation: ((cos-112 7) cos-natural-set) ok Expression: (112 8 (31)) Translation: ((cos-112 8) cos-natural-set) ok Expression: (112 9 (31)) Translation: ((cos-112 9) cos-natural-set) ok Expression: (13 116 -1 16 (43) (44)) Translation: (begin (define cos-116 (((cos-57 2) cos-43) cos-44)) 1) ok Expression: (112 (43) (116)) Translation: ((cos-112 cos-43) cos-116) ok Expression: (112 (44) (116)) Translation: ((cos-112 cos-44) cos-116) ok ; actually, to simplify semantics elsewhere, true and false ; are now just 0 and 1 so they are not distinct from ints Expression: (13 117 -1 30 -1 12 37 -1 20 -1 12 36 -1 5 (112 (36) (31)) (2 (9 2 (36)) (37))) Translation: (begin (define cos-117 (cos-all (lambda (cos-37) (cos-exists (lambda (cos-36) ((cos-and ((cos-112 cos-36) cos-natural-set)) ((cos-= ((cos-* 2) cos-36)) cos-37))))))) 1) ok Expression: (112 0 (31)) Translation: ((cos-112 0) cos-natural-set) ok Expression: (112 0 (117)) Translation: ((cos-112 0) cos-117) ok Expression: (112 1 (31)) Translation: ((cos-112 1) cos-natural-set) ok Expression: (4 -1 112 1 (117)) Translation: (cos-not ((cos-112 1) cos-117)) ok Expression: (112 2 (31)) Translation: ((cos-112 2) cos-natural-set) ok Expression: (112 2 (117)) Translation: ((cos-112 2) cos-117) ok Expression: (112 3 (31)) Translation: ((cos-112 3) cos-natural-set) ok Expression: (4 -1 112 3 (117)) Translation: (cos-not ((cos-112 3) cos-117)) ok Expression: (112 4 (31)) Translation: ((cos-112 4) cos-natural-set) ok Expression: (112 4 (117)) Translation: ((cos-112 4) cos-117) ok Expression: (112 5 (31)) Translation: ((cos-112 5) cos-natural-set) ok Expression: (4 -1 112 5 (117)) Translation: (cos-not ((cos-112 5) cos-117)) ok Expression: (112 6 (31)) Translation: ((cos-112 6) cos-natural-set) ok Expression: (112 6 (117)) Translation: ((cos-112 6) cos-117) ok ; MATH introduce graph structures Expression: (13 118 -1 26 (119 120) (52 (119) (120))) Translation: (begin (define cos-118 (lambda (cos-119) (lambda (cos-120) ((cos-52 cos-119) cos-120)))) 1) ok Expression: (13 121 -1 118 (16 1 2 3 4) (16 (16 1 2) (16 2 3) (16 1 4))) Translation: (begin (define cos-121 ((cos-118 (((((cos-57 4) 1) 2) 3) 4)) ((((cos-57 3) (((cos-57 2) 1) 2)) (((cos-57 2) 2) 3)) (((cos-57 2) 1) 4)))) 1) ok Expression: (13 122 -1 26 (123 124 125) (20 -1 12 70 -1 15 (5 (49 (70) 0) (1 (70) (61 -1 62 (123) 1))) (64 (62 (62 (123) 1) (70)) (16 (124) (125))) (44))) Translation: (begin (define cos-122 (lambda (cos-123) (lambda (cos-124) (lambda (cos-125) (cos-exists (lambda (cos-70) (if (tish ((cos-and ((cos-49 cos-70) 0)) ((cos-< cos-70) (cos-61 ((cos-62 cos-123) 1))))) ((cos-64 ((cos-62 ((cos-62 cos-123) 1)) cos-70)) (((cos-57 2) cos-124) cos-125)) cos-44))))))) 1) ok Expression: (2 (122 (121) 1 2) (43)) Translation: ((cos-= (((cos-122 cos-121) 1) 2)) cos-43) ok Expression: (2 (122 (121) 1 3) (44)) Translation: ((cos-= (((cos-122 cos-121) 1) 3)) cos-44) ok Expression: (2 (122 (121) 2 4) (44)) Translation: ((cos-= (((cos-122 cos-121) 2) 4)) cos-44) ok ; 'if' is used a lot in the next definition in place of and / or ; this is because I haven't established lazy evaluation forms for and / or ; so this very inefficient algorithm completely bogs down when combined ; ... during testing with a dumb implementation for 'exists'. Expression: (13 126 -1 26 (123 124 125) (15 (2 (124) (125)) (43) (15 (122 (123) (124) (125)) (43) (20 (12 127 -1 15 (122 (123) (124) (127)) (126 (123) (127) (125)) (44)))))) Translation: (begin (define cos-126 (lambda (cos-123) (lambda (cos-124) (lambda (cos-125) (if (tish ((cos-= cos-124) cos-125)) cos-43 (if (tish (((cos-122 cos-123) cos-124) cos-125)) cos-43 (cos-exists (lambda (cos-127) (if (tish (((cos-122 cos-123) cos-124) cos-127)) (((cos-126 cos-123) cos-127) cos-125) cos-44))))))))) 1) ok Expression: (2 (126 (121) 1 2) (43)) Translation: ((cos-= (((cos-126 cos-121) 1) 2)) cos-43) ok Expression: (2 (126 (121) 1 3) (43)) Translation: ((cos-= (((cos-126 cos-121) 1) 3)) cos-43) ok Expression: (2 (126 (121) 2 4) (44)) Translation: ((cos-= (((cos-126 cos-121) 2) 4)) cos-44) ok ; MATH show how to execute a sequence of instructions Expression: (0 128) Translation: (cos-intro 128) ok Expression: (13 81 -1 25) Translation: (begin (define cos-81 cos-translate) 1) ok Expression: (13 129 -1 12 37 -1 15 (49 (61 -1 37) 1) (63 (79 -1 37) (129 -1 80 -1 37)) (37)) Translation: (begin (define cos-129 (lambda (cos-37) (if (tish ((cos-49 (cos-61 cos-37)) 1)) ((cos-63 (cos-79 cos-37)) (cos-129 (cos-80 cos-37))) cos-37))) 1) ok ; test reverse Expression: (64 (16 1 2 3) (129 -1 16 3 2 1)) Translation: ((cos-64 ((((cos-57 3) 1) 2) 3)) (cos-129 ((((cos-57 3) 3) 2) 1))) ok Expression: (13 25 -1 77 ((82 (81))) (12 37 -1 15 (24 -1 37) (82 -1 37) (15 (2 (58 -1 37) 128) (25 (16 (16 12 37 (16 58 (16 37))) (63 16 (129 -1 60 -1 37)))) (82 -1 37)))) Translation: (begin (define cos-translate ((lambda (cos-82) (lambda (cos-37) (if (tish (cos-number? cos-37)) (cos-82 cos-37) (if (tish ((cos-= (cos-58 cos-37)) 128)) (cos-translate (((cos-57 2) ((((cos-57 3) 12) 37) (((cos-57 2) 58) ((cos-57 1) 37)))) ((cos-63 16) (cos-129 (cos-60 cos-37))))) (cos-82 cos-37))))) cos-81)) 1) ok Expression: (2 (128 1 7 2 4) 4) Translation: ((cos-= ((lambda (cos-37) (cos-58 cos-37)) (((((cos-57 4) 4) 2) 7) 1))) 4) ok Expression: (2 (128 (28 (53) 88) (28 (53) 6) (29 -1 53)) 6) Translation: ((cos-= ((lambda (cos-37) (cos-58 cos-37)) ((((cos-57 3) (cos-get! cos-53)) ((cos-set! cos-53) 6)) ((cos-set! cos-53) 88)))) 6) ok Expression: (2 (128 (28 (54) 88) (28 (53) 6) (29 -1 54)) 88) Translation: ((cos-= ((lambda (cos-37) (cos-58 cos-37)) ((((cos-57 3) (cos-get! cos-54)) ((cos-set! cos-53) 6)) ((cos-set! cos-54) 88)))) 88) ok Expression: (2 (128 (28 (53) 88) (28 (53) 6) (29 -1 53) 4) 4) Translation: ((cos-= ((lambda (cos-37) (cos-58 cos-37)) (((((cos-57 4) 4) (cos-get! cos-53)) ((cos-set! cos-53) 6)) ((cos-set! cos-53) 88)))) 4) ok ; MATH introduce environment / hashmap structure ; this section needs a LOT more examples :-) ; note that at the time of writing (h 1 2) is same as ((h) 1 2) Expression: (13 130 -1 26 (131 37 36 38) (15 (8 (38) (37)) (36) (131 (38)))) Translation: (begin (define cos-130 (lambda (cos-131) (lambda (cos-37) (lambda (cos-36) (lambda (cos-38) (if (tish ((cos-equal cos-38) cos-37)) cos-36 (cos-131 cos-38))))))) 1) ok Expression: (13 132 -1 26 (131 37) (131 (37))) Translation: (begin (define cos-132 (lambda (cos-131) (lambda (cos-37) (cos-131 cos-37)))) 1) ok Expression: (13 133 -1 12 37 -1 32) Translation: (begin (define cos-133 (lambda (cos-37) cos-undefined)) 1) ok Expression: (13 134 -1 12 135 -1 12 37 -1 135) Translation: (begin (define cos-134 (lambda (cos-135) (lambda (cos-37) cos-135))) 1) ok Expression: (13 136 -1 130 (130 (133) 3 2) 4 9) Translation: (begin (define cos-136 (((cos-130 (((cos-130 cos-133) 3) 2)) 4) 9)) 1) ok Expression: (2 (132 (136) 4) 9) Translation: ((cos-= ((cos-132 cos-136) 4)) 9) ok Expression: (2 (132 (136) 3) 2) Translation: ((cos-= ((cos-132 cos-136) 3)) 2) ok Expression: (2 (132 (136) 8) (32)) Translation: ((cos-= ((cos-132 cos-136) 8)) cos-undefined) ok Expression: (2 (132 (136) 15) (32)) Translation: ((cos-= ((cos-132 cos-136) 15)) cos-undefined) ok Expression: (2 (132 (130 (136) 15 33) 15) 33) Translation: ((cos-= ((cos-132 (((cos-130 cos-136) 15) 33)) 15)) 33) ok Expression: (2 (132 (136) 15) (32)) Translation: ((cos-= ((cos-132 cos-136) 15)) cos-undefined) ok Expression: (13 137 -1 12 37 -1 15 (64 (37) (16)) (133) (130 (137 (60 -1 37)) (65 -1 58 -1 37) (66 -1 58 -1 37))) Translation: (begin (define cos-137 (lambda (cos-37) (if (tish ((cos-64 cos-37) (cos-57 0))) cos-133 (((cos-130 (cos-137 (cos-60 cos-37))) (cos-65 (cos-58 cos-37))) (cos-66 (cos-58 cos-37)))))) 1) ok Expression: (2 (132 (137 -1 16 (52 3 10) (52 2 20) (52 1 30)) 3) 10) Translation: ((cos-= ((cos-132 (cos-137 ((((cos-57 3) ((cos-52 3) 10)) ((cos-52 2) 20)) ((cos-52 1) 30)))) 3)) 10) ok Expression: (2 (132 (137 -1 16 (52 3 10) (52 2 20) (52 1 30)) 1) 30) Translation: ((cos-= ((cos-132 (cos-137 ((((cos-57 3) ((cos-52 3) 10)) ((cos-52 2) 20)) ((cos-52 1) 30)))) 1)) 30) ok ; OBJECT introduce simple mutable structures Expression: (13 138 -1 12 59 -1 77 ((139 (85 (12 37 -1 27 0) (59)))) (12 68 -1 62 (139) (71 (59) (68) (12 37 0)))) Translation: (begin (define cos-138 (lambda (cos-59) ((lambda (cos-139) (lambda (cos-68) ((cos-62 cos-139) (((cos-71 cos-59) cos-68) (lambda (cos-37) 0))))) ((cos-85 (lambda (cos-37) (cos-make-cell 0))) cos-59)))) 1) ok Expression: (13 140 -1 138 -1 16 141 142 143) Translation: (begin (define cos-140 (cos-138 ((((cos-57 3) 141) 142) 143))) 1) ok Expression: (28 (140 141) 15) Translation: ((cos-set! (cos-140 141)) 15) ok Expression: (2 (29 -1 140 141) 15) Translation: ((cos-= (cos-get! (cos-140 141))) 15) ok ; OBJECT introduce method handler wrappers Expression: (13 144 -1 26 (145 146 147) (130 (145) (146) (12 106 -1 147 -1 145))) Translation: (begin (define cos-144 (lambda (cos-145) (lambda (cos-146) (lambda (cos-147) (((cos-130 cos-145) cos-146) (lambda (cos-106) (cos-147 cos-145))))))) 1) ok Expression: (13 148 -1 12 37 -1 37 0) Translation: (begin (define cos-148 (lambda (cos-37) (cos-37 0))) 1) ok Expression: (13 149 -1 138 -1 16 37 36) Translation: (begin (define cos-149 (cos-138 (((cos-57 2) 37) 36))) 1) ok Expression: (28 (149 37) 10) Translation: ((cos-set! (cos-149 37)) 10) ok Expression: (28 (149 36) 20) Translation: ((cos-set! (cos-149 36)) 20) ok Expression: (2 (29 -1 149 37) 10) Translation: ((cos-= (cos-get! (cos-149 37))) 10) ok Expression: (2 (29 -1 149 36) 20) Translation: ((cos-= (cos-get! (cos-149 36))) 20) ok Expression: (13 150 -1 144 (149) 151 (12 152 -1 10 (29 -1 152 37) (29 -1 152 36))) Translation: (begin (define cos-150 (((cos-144 cos-149) 151) (lambda (cos-152) ((cos-+ (cos-get! (cos-152 37))) (cos-get! (cos-152 36)))))) 1) ok Expression: (2 (29 -1 150 37) 10) Translation: ((cos-= (cos-get! (cos-150 37))) 10) ok Expression: (2 (29 -1 150 36) 20) Translation: ((cos-= (cos-get! (cos-150 36))) 20) ok Expression: (2 (148 -1 150 151) 30) Translation: ((cos-= (cos-148 (cos-150 151))) 30) ok Expression: (28 (150 36) 10) Translation: ((cos-set! (cos-150 36)) 10) ok Expression: (2 (148 -1 150 151) 20) Translation: ((cos-= (cos-148 (cos-150 151))) 20) ok Expression: (28 (149 36) 5) Translation: ((cos-set! (cos-149 36)) 5) ok Expression: (2 (148 -1 150 151) 15) Translation: ((cos-= (cos-148 (cos-150 151))) 15) ok ; TURING introduce turing machine model ; just for fun! Expression: (13 153 -1 12 37 -1 15 (3 (61 -1 37) 0) (15 (3 (61 -1 37) 1) (60 -1 37) (16 -1 16)) (16 -1 16)) Translation: (begin (define cos-153 (lambda (cos-37) (if (tish ((cos-> (cos-61 cos-37)) 0)) (if (tish ((cos-> (cos-61 cos-37)) 1)) (cos-60 cos-37) ((cos-57 1) (cos-57 0))) ((cos-57 1) (cos-57 0))))) 1) ok Expression: (13 154 -1 12 37 -1 15 (3 (61 -1 37) 0) (58 -1 37) (16)) Translation: (begin (define cos-154 (lambda (cos-37) (if (tish ((cos-> (cos-61 cos-37)) 0)) (cos-58 cos-37) (cos-57 0)))) 1) ok Expression: (13 155 -1 12 156 -1 77 ((37 (66 -1 156))) (15 (3 (61 -1 37) 0) (58 -1 37) (16))) Translation: (begin (define cos-155 (lambda (cos-156) ((lambda (cos-37) (if (tish ((cos-> (cos-61 cos-37)) 0)) (cos-58 cos-37) (cos-57 0))) (cos-66 cos-156)))) 1) ok Expression: (13 157 -1 26 (156 158 159) (15 (2 (158) 1) (52 (63 (159) (65 -1 156)) (153 -1 66 -1 156)) (15 (2 (158) 0) (52 (153 -1 65 -1 156) (63 (154 -1 65 -1 156) (63 (159) (153 -1 66 -1 156)))) (52 (65 -1 156) (63 (159) (153 -1 66 -1 156)))))) Translation: (begin (define cos-157 (lambda (cos-156) (lambda (cos-158) (lambda (cos-159) (if (tish ((cos-= cos-158) 1)) ((cos-52 ((cos-63 cos-159) (cos-65 cos-156))) (cos-153 (cos-66 cos-156))) (if (tish ((cos-= cos-158) 0)) ((cos-52 (cos-153 (cos-65 cos-156))) ((cos-63 (cos-154 (cos-65 cos-156))) ((cos-63 cos-159) (cos-153 (cos-66 cos-156))))) ((cos-52 (cos-65 cos-156)) ((cos-63 cos-159) (cos-153 (cos-66 cos-156)))))))))) 1) ok Expression: (13 160 -1 26 (161 162 79 156) (15 (2 (162) (79)) (156) (77 ((163 (161 (162) (155 -1 156)))) (160 (161) (62 (163) 0) (79) (157 (156) (62 (163) 1) (62 (163) 2)))))) Translation: (begin (define cos-160 (lambda (cos-161) (lambda (cos-162) (lambda (cos-79) (lambda (cos-156) (if (tish ((cos-= cos-162) cos-79)) cos-156 ((lambda (cos-163) ((((cos-160 cos-161) ((cos-62 cos-163) 0)) cos-79) (((cos-157 cos-156) ((cos-62 cos-163) 1)) ((cos-62 cos-163) 2)))) ((cos-161 cos-162) (cos-155 cos-156))))))))) 1) ok Expression: (13 164 -1 12 37 -1 52 (16) (37)) Translation: (begin (define cos-164 (lambda (cos-37) ((cos-52 (cos-57 0)) cos-37))) 1) ok Expression: (13 165 -1 12 37 -1 12 59 -1 15 (3 (61 -1 59) 0) (15 (8 (79 -1 59) (37)) (165 (37) (80 -1 59)) (59)) (59)) Translation: (begin (define cos-165 (lambda (cos-37) (lambda (cos-59) (if (tish ((cos-> (cos-61 cos-59)) 0)) (if (tish ((cos-equal (cos-79 cos-59)) cos-37)) ((cos-165 cos-37) (cos-80 cos-59)) cos-59) cos-59)))) 1) ok Expression: (13 166 -1 12 37 -1 165 (16) (66 -1 37)) Translation: (begin (define cos-166 (lambda (cos-37) ((cos-165 (cos-57 0)) (cos-66 cos-37)))) 1) ok Expression: (13 167 -1 137 -1 16 (52 168 (137 -1 16 (52 0 (16 168 1 0)) (52 1 (16 168 1 1)) (52 (16) (16 169 0 (16))))) (52 169 (137 -1 16 (52 0 (16 170 0 1)) (52 1 (16 169 0 0)) (52 (16) (16 171 2 1)))) (52 170 (137 -1 16 (52 0 (16 170 0 0)) (52 1 (16 170 0 1)) (52 (16) (16 171 1 (16))))) (52 171 (137 -1 16))) Translation: (begin (define cos-167 (cos-137 (((((cos-57 4) ((cos-52 168) (cos-137 ((((cos-57 3) ((cos-52 0) ((((cos-57 3) 168) 1) 0))) ((cos-52 1) ((((cos-57 3) 168) 1) 1))) ((cos-52 (cos-57 0)) ((((cos-57 3) 169) 0) (cos-57 0))))))) ((cos-52 169) (cos-137 ((((cos-57 3) ((cos-52 0) ((((cos-57 3) 170) 0) 1))) ((cos-52 1) ((((cos-57 3) 169) 0) 0))) ((cos-52 (cos-57 0)) ((((cos-57 3) 171) 2) 1)))))) ((cos-52 170) (cos-137 ((((cos-57 3) ((cos-52 0) ((((cos-57 3) 170) 0) 0))) ((cos-52 1) ((((cos-57 3) 170) 0) 1))) ((cos-52 (cos-57 0)) ((((cos-57 3) 171) 1) (cos-57 0))))))) ((cos-52 171) (cos-137 (cos-57 0)))))) 1) ok Expression: (64 (166 -1 160 (167) 168 171 (164 -1 16 1 0 0 1)) (16 1 0 1 0)) Translation: ((cos-64 (cos-166 ((((cos-160 cos-167) 168) 171) (cos-164 (((((cos-57 4) 1) 0) 0) 1))))) (((((cos-57 4) 1) 0) 1) 0)) ok Expression: (64 (166 -1 160 (167) 168 171 (164 -1 16 1 1 1)) (16 1 0 0 0)) Translation: ((cos-64 (cos-166 ((((cos-160 cos-167) 168) 171) (cos-164 ((((cos-57 3) 1) 1) 1))))) (((((cos-57 4) 1) 0) 0) 0)) ok Expression: (64 (166 -1 160 (167) 168 171 (164 -1 16 1 1 1 0 0 0 1 1 1)) (16 1 1 1 0 0 1 0 0 0)) Translation: ((cos-64 (cos-166 ((((cos-160 cos-167) 168) 171) (cos-164 ((((((((((cos-57 9) 1) 1) 1) 0) 0) 0) 1) 1) 1))))) ((((((((((cos-57 9) 1) 1) 1) 0) 0) 1) 0) 0) 0)) ok ; OBJECT introduce simple form of typing, for ease of documentation. ; An object is simply a function that takes an argument. ; The argument is the method to call on the object. ; Types are here taken to be just the existence of a particular method, ; with that method returning an object of the appropriate type. Expression: (13 172 (26 (173) (26 (37) (15 (2 (37) 174) (173) 0)))) Translation: (begin (define cos-172 (lambda (cos-173) (lambda (cos-37) (if (tish ((cos-= cos-37) 174)) cos-173 0)))) 1) ok Expression: (13 175 (12 37 (15 (24 (37)) (172 (37)) (37)))) Translation: (begin (define cos-175 (lambda (cos-37) (if (tish (cos-number? cos-37)) (cos-172 cos-37) cos-37))) 1) ok Expression: (13 176 (26 (177 178) (15 (24 (178)) (2 (177) 174) (4 (24 ((175 (178)) (177))))))) Translation: (begin (define cos-176 (lambda (cos-177) (lambda (cos-178) (if (tish (cos-number? cos-178)) ((cos-= cos-177) 174) (cos-not (cos-number? ((cos-175 cos-178) cos-177))))))) 1) ok ; add version of lambda that allows types to be declared Expression: (13 81 (25)) Translation: (begin (define cos-81 cos-translate) 1) ok Expression: (13 25 (77 ((82 (81))) (12 37 (15 (24 (37)) (82 (37)) (15 (2 (58 (37)) 26) (77 ((83 (58 (60 (37)))) (76 (58 (60 (60 (37)))))) (15 (3 (61 (83)) 0) (15 (24 (79 (83))) (25 (16 26 (80 (83)) (16 12 (79 (83)) (76)))) (77 ((179 (65 (79 (83)))) (180 (66 (79 (83))))) (25 (16 26 (80 (83)) (16 12 (179) (16 77 (16 (16 (179) (16 (16 175 (16 (179))) (180)))) (76))))))) (25 (76)))) (82 (37))))))) Translation: (begin (define cos-translate ((lambda (cos-82) (lambda (cos-37) (if (tish (cos-number? cos-37)) (cos-82 cos-37) (if (tish ((cos-= (cos-58 cos-37)) 26)) ((lambda (cos-76) ((lambda (cos-83) (if (tish ((cos-> (cos-61 cos-83)) 0)) (if (tish (cos-number? (cos-79 cos-83))) (cos-translate ((((cos-57 3) 26) (cos-80 cos-83)) ((((cos-57 3) 12) (cos-79 cos-83)) cos-76))) ((lambda (cos-180) ((lambda (cos-179) (cos-translate ((((cos-57 3) 26) (cos-80 cos-83)) ((((cos-57 3) 12) cos-179) ((((cos-57 3) 77) ((cos-57 1) (((cos-57 2) cos-179) (((cos-57 2) (((cos-57 2) 175) ((cos-57 1) cos-179))) cos-180)))) cos-76))))) (cos-65 (cos-79 cos-83)))) (cos-66 (cos-79 cos-83)))) (cos-translate cos-76))) (cos-58 (cos-60 cos-37)))) (cos-58 (cos-60 (cos-60 cos-37)))) (cos-82 cos-37))))) cos-81)) 1) ok ; add conditional form Expression: (13 81 (25)) Translation: (begin (define cos-81 cos-translate) 1) ok Expression: (13 25 (77 ((82 (81))) (12 37 (15 (24 (37)) (82 (37)) (15 (2 (58 (37)) 181) (77 ((182 (58 (60 (37)))) (183 (60 (60 (37))))) (15 (3 (61 (183)) 0) (25 (16 15 (65 (182)) (66 (182)) (63 181 (183)))) (25 (182)))) (82 (37))))))) Translation: (begin (define cos-translate ((lambda (cos-82) (lambda (cos-37) (if (tish (cos-number? cos-37)) (cos-82 cos-37) (if (tish ((cos-= (cos-58 cos-37)) 181)) ((lambda (cos-183) ((lambda (cos-182) (if (tish ((cos-> (cos-61 cos-183)) 0)) (cos-translate (((((cos-57 4) 15) (cos-65 cos-182)) (cos-66 cos-182)) ((cos-63 181) cos-183))) (cos-translate cos-182))) (cos-58 (cos-60 cos-37)))) (cos-60 (cos-60 cos-37))) (cos-82 cos-37))))) cos-81)) 1) ok Expression: (2 99 (181 99)) Translation: ((cos-= 99) 99) ok Expression: (2 8 (181 ((43) 8) 11)) Translation: ((cos-= 8) (if (tish cos-43) 8 11)) ok Expression: (2 11 (181 ((44) 8) 11)) Translation: ((cos-= 11) (if (tish cos-44) 8 11)) ok Expression: (2 7 (181 ((44) 3) ((43) 7) 11)) Translation: ((cos-= 7) (if (tish cos-44) 3 (if (tish cos-43) 7 11))) ok Expression: (2 3 (181 ((43) 3) ((43) 7) 11)) Translation: ((cos-= 3) (if (tish cos-43) 3 (if (tish cos-43) 7 11))) ok Expression: (2 11 (181 ((44) 3) ((44) 7) 11)) Translation: ((cos-= 11) (if (tish cos-44) 3 (if (tish cos-44) 7 11))) ok Expression: (13 184 (26 (185 59) (15 (3 (61 (59)) 0) (15 (185 (58 (59))) (184 (185) (60 (59))) (63 (58 (59)) (184 (185) (60 (59))))) (59)))) Translation: (begin (define cos-184 (lambda (cos-185) (lambda (cos-59) (if (tish ((cos-> (cos-61 cos-59)) 0)) (if (tish (cos-185 (cos-58 cos-59))) ((cos-184 cos-185) (cos-60 cos-59)) ((cos-63 (cos-58 cos-59)) ((cos-184 cos-185) (cos-60 cos-59)))) cos-59)))) 1) ok Expression: (13 186 (26 (37) (184 (26 (36) (2 (36) (37)))))) Translation: (begin (define cos-186 (lambda (cos-37) (cos-184 (lambda (cos-36) ((cos-= cos-36) cos-37))))) 1) ok Expression: (64 (16 1 2 3 5) (186 4 (16 1 2 3 4 5))) Translation: ((cos-64 (((((cos-57 4) 1) 2) 3) 5)) ((cos-186 4) ((((((cos-57 5) 1) 2) 3) 4) 5))) ok Expression: (64 (16 1 2 3 5) (186 4 (16 1 4 2 4 3 4 5))) Translation: ((cos-64 (((((cos-57 4) 1) 2) 3) 5)) ((cos-186 4) ((((((((cos-57 7) 1) 4) 2) 4) 3) 4) 5))) ok Expression: (13 187 (26 (177 178) (77 ((188 (175 (178)))) (188 (177))))) Translation: (begin (define cos-187 (lambda (cos-177) (lambda (cos-178) ((lambda (cos-188) (cos-188 cos-177)) (cos-175 cos-178))))) 1) ok Expression: (13 189 (26 ((37 174) (36 174)) (187 174 (10 (37) (36))))) Translation: (begin (define cos-189 (lambda (cos-37) ((lambda (cos-37) (lambda (cos-36) ((lambda (cos-36) ((cos-187 174) ((cos-+ cos-37) cos-36))) ((cos-175 cos-36) 174)))) ((cos-175 cos-37) 174)))) 1) ok Expression: (2 42 (189 (172 10) (172 32))) Translation: ((cos-= 42) ((cos-189 (cos-172 10)) (cos-172 32))) ok Expression: (2 42 (189 10 32)) Translation: ((cos-= 42) ((cos-189 10) 32)) ok Expression: (13 190 (26 (51) ((26 (37) (51 (26 (36) ((37 (37)) (36))))) (26 (37) (51 (26 (36) ((37 (37)) (36)))))))) Translation: (begin (define cos-190 (lambda (cos-51) ((lambda (cos-37) (cos-51 (lambda (cos-36) ((cos-37 cos-37) cos-36)))) (lambda (cos-37) (cos-51 (lambda (cos-36) ((cos-37 cos-37) cos-36))))))) 1) ok ; OBJECT an example object -- a 2D point Expression: (13 191 (26 (37 36) (190 (26 (152 192) (181 ((2 (192) 37) (37)) ((2 (192) 36) (36)) ((2 (192) 191) (152)) ((2 (192) 10) (26 ((86 191)) (191 (10 (37) (86 37)) (10 (36) (86 36))))) ((2 (192) 2) (26 ((86 191)) (5 (2 (37) (86 37)) (2 (36) (86 36))))) 0))))) Translation: (begin (define cos-191 (lambda (cos-37) (lambda (cos-36) (cos-190 (lambda (cos-152) (lambda (cos-192) (if (tish ((cos-= cos-192) 37)) cos-37 (if (tish ((cos-= cos-192) 36)) cos-36 (if (tish ((cos-= cos-192) 191)) cos-152 (if (tish ((cos-= cos-192) 10)) (lambda (cos-86) ((lambda (cos-86) ((cos-191 ((cos-+ cos-37) (cos-86 37))) ((cos-+ cos-36) (cos-86 36)))) ((cos-175 cos-86) 191))) (if (tish ((cos-= cos-192) 2)) (lambda (cos-86) ((lambda (cos-86) ((cos-and ((cos-= cos-37) (cos-86 37))) ((cos-= cos-36) (cos-86 36)))) ((cos-175 cos-86) 191))) 0))))))))))) 1) ok Expression: (13 193 (191 1 11)) Translation: (begin (define cos-193 ((cos-191 1) 11)) 1) ok Expression: (13 194 (191 2 22)) Translation: (begin (define cos-194 ((cos-191 2) 22)) 1) ok Expression: (2 1 (193 37)) Translation: ((cos-= 1) (cos-193 37)) ok Expression: (2 22 (194 36)) Translation: ((cos-= 22) (cos-194 36)) ok Expression: (2 11 ((191 11 12) 37)) Translation: ((cos-= 11) (((cos-191 11) 12) 37)) ok Expression: (2 11 (((191 11 12) 191) 37)) Translation: ((cos-= 11) ((((cos-191 11) 12) 191) 37)) ok Expression: (2 16 (((191 16 17) 191) 37)) Translation: ((cos-= 16) ((((cos-191 16) 17) 191) 37)) ok Expression: (2 33 (193 10 (194) 36)) Translation: ((cos-= 33) (((cos-193 10) cos-194) 36)) ok Expression: (193 10 (194) 2 (191 3 33)) Translation: ((((cos-193 10) cos-194) 2) ((cos-191 3) 33)) ok Expression: (194 10 (193) 2 (191 3 33)) Translation: ((((cos-194 10) cos-193) 2) ((cos-191 3) 33)) ok Expression: ((191 100 200) 10 (191 200 100) 2 (191 300 300)) Translation: ((((((cos-191 100) 200) 10) ((cos-191 200) 100)) 2) ((cos-191 300) 300)) ok Expression: (176 191 (193)) Translation: ((cos-176 191) cos-193) ok Expression: (4 (176 174 (193))) Translation: (cos-not ((cos-176 174) cos-193)) ok Expression: (176 174 5) Translation: ((cos-176 174) 5) ok Expression: (4 (176 191 5)) Translation: (cos-not ((cos-176 191) 5)) ok ; OBJECT an example object -- a container Expression: (13 195 (26 (37) (77 ((196 (27 (16)))) (190 (26 (152 192) (181 ((2 (192) 195) (152)) ((2 (192) 197) (29 (196))) ((2 (192) 100) (26 (37) (15 (4 (112 (37) (29 (196)))) (28 (196) (63 (37) (29 (196)))) (44)))) ((2 (192) 198) (26 (37) (28 (196) (186 (37) (29 (196)))))) ((2 (192) 2) (26 ((109 195)) (114 (152 197) (109 197)))) 0)))))) Translation: (begin (define cos-195 (lambda (cos-37) ((lambda (cos-196) (cos-190 (lambda (cos-152) (lambda (cos-192) (if (tish ((cos-= cos-192) 195)) cos-152 (if (tish ((cos-= cos-192) 197)) (cos-get! cos-196) (if (tish ((cos-= cos-192) 100)) (lambda (cos-37) (if (tish (cos-not ((cos-112 cos-37) (cos-get! cos-196)))) ((cos-set! cos-196) ((cos-63 cos-37) (cos-get! cos-196))) cos-44)) (if (tish ((cos-= cos-192) 198)) (lambda (cos-37) ((cos-set! cos-196) ((cos-186 cos-37) (cos-get! cos-196)))) (if (tish ((cos-= cos-192) 2)) (lambda (cos-109) ((lambda (cos-109) ((cos-114 (cos-152 197)) (cos-109 197))) ((cos-175 cos-109) 195))) 0))))))))) (cos-make-cell (cos-57 0))))) 1) ok ; Can pass anything to container function to create an object ; Should eventually use a consistent protocol for all objects, ; but all this stuff is still in flux Expression: (13 199 (195 200)) Translation: (begin (define cos-199 (cos-195 200)) 1) ok Expression: (199 100 77) Translation: ((cos-199 100) 77) ok Expression: (199 100 88) Translation: ((cos-199 100) 88) ok Expression: (199 100 99) Translation: ((cos-199 100) 99) ok Expression: (114 (199 197) (16 77 88 99)) Translation: ((cos-114 (cos-199 197)) ((((cos-57 3) 77) 88) 99)) ok Expression: (199 198 88) Translation: ((cos-199 198) 88) ok Expression: (114 (199 197) (16 77 99)) Translation: ((cos-114 (cos-199 197)) (((cos-57 2) 77) 99)) ok Expression: (13 201 (195 200)) Translation: (begin (define cos-201 (cos-195 200)) 1) ok Expression: (201 100 77) Translation: ((cos-201 100) 77) ok Expression: (201 100 99) Translation: ((cos-201 100) 99) ok Expression: (201 2 (199)) Translation: ((cos-201 2) cos-199) ok ; OBJECT expressing inheritance ; counter-container adds one method to container: count Expression: (13 202 (26 (37) (77 ((203 (195 200))) (190 (26 (152 192) (181 ((2 (192) 202) (152)) ((2 (192) 204) (61 (203 197))) (203 (192)))))))) Translation: (begin (define cos-202 (lambda (cos-37) ((lambda (cos-203) (cos-190 (lambda (cos-152) (lambda (cos-192) (if (tish ((cos-= cos-192) 202)) cos-152 (if (tish ((cos-= cos-192) 204)) (cos-61 (cos-203 197)) (cos-203 cos-192))))))) (cos-195 200)))) 1) ok Expression: (13 205 (202 200)) Translation: (begin (define cos-205 (cos-202 200)) 1) ok Expression: (2 0 (205 204)) Translation: ((cos-= 0) (cos-205 204)) ok Expression: (205 100 4) Translation: ((cos-205 100) 4) ok Expression: (2 1 (205 204)) Translation: ((cos-= 1) (cos-205 204)) ok Expression: (205 100 5) Translation: ((cos-205 100) 5) ok Expression: (2 2 (205 204)) Translation: ((cos-= 2) (cos-205 204)) ok ; OBJECT adding a special form for classes ; need a bunch of extra machinery first, will push this ; back into previous sections eventually, and simplify Expression: (13 206 (26 (207 208) (15 (3 (61 (207)) 0) (206 (80 (207)) (63 (79 (207)) (208))) (208)))) Translation: (begin (define cos-206 (lambda (cos-207) (lambda (cos-208) (if (tish ((cos-> (cos-61 cos-207)) 0)) ((cos-206 (cos-80 cos-207)) ((cos-63 (cos-79 cos-207)) cos-208)) cos-208)))) 1) ok Expression: (64 (206 (16 1 2 3) (16 4 5 6)) (16 1 2 3 4 5 6)) Translation: ((cos-64 ((cos-206 ((((cos-57 3) 1) 2) 3)) ((((cos-57 3) 4) 5) 6))) (((((((cos-57 6) 1) 2) 3) 4) 5) 6)) ok Expression: (13 209 (12 37 (12 59 (15 (3 (61 (59)) 0) (63 (58 (59)) (209 (37) (60 (59)))) (16 (37)))))) Translation: (begin (define cos-209 (lambda (cos-37) (lambda (cos-59) (if (tish ((cos-> (cos-61 cos-59)) 0)) ((cos-63 (cos-58 cos-59)) ((cos-209 cos-37) (cos-60 cos-59))) ((cos-57 1) cos-37))))) 1) ok Expression: (64 (209 5 (16 1 2)) (16 1 2 5)) Translation: ((cos-64 ((cos-209 5) (((cos-57 2) 1) 2))) ((((cos-57 3) 1) 2) 5)) ok Expression: (13 210 (26 (185 59) (15 (3 (61 (59)) 0) (15 (185 (58 (59))) (63 (58 (59)) (210 (185) (60 (59)))) (210 (185) (60 (59)))) (59)))) Translation: (begin (define cos-210 (lambda (cos-185) (lambda (cos-59) (if (tish ((cos-> (cos-61 cos-59)) 0)) (if (tish (cos-185 (cos-58 cos-59))) ((cos-63 (cos-58 cos-59)) ((cos-210 cos-185) (cos-60 cos-59))) ((cos-210 cos-185) (cos-60 cos-59))) cos-59)))) 1) ok Expression: (13 211 (77 ((212 (27 0))) (26 (37) (77 ((213 (29 (212)))) (128 (28 (212) (10 (213) 1)) (213)))))) Translation: (begin (define cos-211 ((lambda (cos-212) (lambda (cos-37) ((lambda (cos-213) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-213) ((cos-set! cos-212) ((cos-+ cos-213) 1))))) (cos-get! cos-212)))) (cos-make-cell 0))) 1) ok Expression: (2 (211 200) 0) Translation: ((cos-= (cos-211 200)) 0) ok Expression: (2 (211 200) 1) Translation: ((cos-= (cos-211 200)) 1) ok Expression: (2 (211 200) 2) Translation: ((cos-= (cos-211 200)) 2) ok Expression: (4 (2 (211 200) (211 200))) Translation: (cos-not ((cos-= (cos-211 200)) (cos-211 200))) ok Expression: (13 214 (26 (215 152) (15 (24 -1 215) (152) (215)))) Translation: (begin (define cos-214 (lambda (cos-215) (lambda (cos-152) (if (tish (cos-number? cos-215)) cos-152 cos-215)))) 1) ok ; okay, here it comes. don't panic! ; I need to split this up into helpers, and simplify. ; It basically just writes code for classes like we saw in ; a previous section. Expression: (13 81 (25)) Translation: (begin (define cos-81 cos-translate) 1) ok Expression: (13 25 (77 ((82 (81))) (12 37 (15 (24 (37)) (82 (37)) (15 (2 (58 (37)) 216) (77 ((146 (62 (37) 1)) (217 (62 (37) 2)) (218 (60 (60 (60 (37)))))) (25 (16 13 (146) (16 26 (63 219 (217)) (16 77 (209 (16 220 (16 211 200)) (85 (60) (210 (12 37 (2 (65 (37)) 221)) (218)))) (16 77 (16 (16 152 (16 190 (16 26 (16 152) (16 77 (16 (16 215 (16 214 (16 219) (16 152)))) (16 77 (16 (16 222 1)) (16 26 (16 147) (16 (206 (63 181 (206 (85 (12 37 (16 (16 2 (16 147) (65 (37))) (66 (37)))) (85 (60) (210 (12 37 (2 (65 (37)) 147)) (218)))) (85 (12 37 (16 (16 2 (16 147) (37)) (16 (37)))) (85 (66) (210 (12 37 (2 (65 (37)) 221)) (218)))))) (16 (16 (16 2 (16 147) 152) (16 152)) (16 (16 2 (16 147) (146)) (16 152 152)) (16 (16 2 (16 147) 223) (146)) (16 (16 2 (16 147) 224) (16 26 (16 37) 0)) (16 (16 2 (16 147) 200) 0) (16 (16 2 (16 147) 220) (16 220)) (16 (16 2 (16 147) 225) (16 26 (16 37) (16 2 (16 220) (16 37 220)))) (16 152 224 (16 147)))))))))))) (16 128 (16 152 200) (16 152)))))))) (82 (37))))))) Translation: (begin (define cos-translate ((lambda (cos-82) (lambda (cos-37) (if (tish (cos-number? cos-37)) (cos-82 cos-37) (if (tish ((cos-= (cos-58 cos-37)) 216)) ((lambda (cos-218) ((lambda (cos-217) ((lambda (cos-146) (cos-translate ((((cos-57 3) 13) cos-146) ((((cos-57 3) 26) ((cos-63 219) cos-217)) ((((cos-57 3) 77) ((cos-209 (((cos-57 2) 220) (((cos-57 2) 211) 200))) ((cos-85 cos-60) ((cos-210 (lambda (cos-37) ((cos-= (cos-65 cos-37)) 221))) cos-218)))) ((((cos-57 3) 77) ((cos-57 1) (((cos-57 2) 152) (((cos-57 2) 190) ((((cos-57 3) 26) ((cos-57 1) 152)) ((((cos-57 3) 77) ((cos-57 1) (((cos-57 2) 215) ((((cos-57 3) 214) ((cos-57 1) 219)) ((cos-57 1) 152))))) ((((cos-57 3) 77) ((cos-57 1) (((cos-57 2) 222) 1))) ((((cos-57 3) 26) ((cos-57 1) 147)) ((cos-57 1) ((cos-206 ((cos-63 181) ((cos-206 ((cos-85 (lambda (cos-37) (((cos-57 2) ((((cos-57 3) 2) ((cos-57 1) 147)) (cos-65 cos-37))) (cos-66 cos-37)))) ((cos-85 cos-60) ((cos-210 (lambda (cos-37) ((cos-= (cos-65 cos-37)) 147))) cos-218)))) ((cos-85 (lambda (cos-37) (((cos-57 2) ((((cos-57 3) 2) ((cos-57 1) 147)) cos-37)) ((cos-57 1) cos-37)))) ((cos-85 cos-66) ((cos-210 (lambda (cos-37) ((cos-= (cos-65 cos-37)) 221))) cos-218)))))) (((((((((cos-57 8) (((cos-57 2) ((((cos-57 3) 2) ((cos-57 1) 147)) 152)) ((cos-57 1) 152))) (((cos-57 2) ((((cos-57 3) 2) ((cos-57 1) 147)) cos-146)) (((cos-57 2) 152) 152))) (((cos-57 2) ((((cos-57 3) 2) ((cos-57 1) 147)) 223)) cos-146)) (((cos-57 2) ((((cos-57 3) 2) ((cos-57 1) 147)) 224)) ((((cos-57 3) 26) ((cos-57 1) 37)) 0))) (((cos-57 2) ((((cos-57 3) 2) ((cos-57 1) 147)) 200)) 0)) (((cos-57 2) ((((cos-57 3) 2) ((cos-57 1) 147)) 220)) ((cos-57 1) 220))) (((cos-57 2) ((((cos-57 3) 2) ((cos-57 1) 147)) 225)) ((((cos-57 3) 26) ((cos-57 1) 37)) ((((cos-57 3) 2) ((cos-57 1) 220)) (((cos-57 2) 37) 220))))) ((((cos-57 3) 152) 224) ((cos-57 1) 147))))))))))))) ((((cos-57 3) 128) (((cos-57 2) 152) 200)) ((cos-57 1) 152)))))))) ((cos-62 cos-37) 1))) ((cos-62 cos-37) 2))) (cos-60 (cos-60 (cos-60 cos-37)))) (cos-82 cos-37))))) cos-81)) 1) ok ; revisit the point class example Expression: (216 191 (37 36) (147 37 (37)) (147 36 (36)) (147 10 (26 ((86 191)) (191 200 (10 (37) (86 37)) (10 (36) (86 36))))) (147 2 (26 ((86 191)) (5 (2 (37) (86 37)) (2 (36) (86 36)))))) Translation: (begin (define cos-191 (lambda (cos-219) (lambda (cos-37) (lambda (cos-36) ((lambda (cos-220) ((lambda (cos-152) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-152) (cos-152 200)))) (cos-190 (lambda (cos-152) ((lambda (cos-215) ((lambda (cos-222) (lambda (cos-147) (if (tish ((cos-= cos-147) 37)) cos-37 (if (tish ((cos-= cos-147) 36)) cos-36 (if (tish ((cos-= cos-147) 10)) (lambda (cos-86) ((lambda (cos-86) (((cos-191 200) ((cos-+ cos-37) (cos-86 37))) ((cos-+ cos-36) (cos-86 36)))) ((cos-175 cos-86) 191))) (if (tish ((cos-= cos-147) 2)) (lambda (cos-86) ((lambda (cos-86) ((cos-and ((cos-= cos-37) (cos-86 37))) ((cos-= cos-36) (cos-86 36)))) ((cos-175 cos-86) 191))) (if (tish ((cos-= cos-147) 152)) cos-152 (if (tish ((cos-= cos-147) 191)) (cos-152 152) (if (tish ((cos-= cos-147) 223)) 191 (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) 0) (if (tish ((cos-= cos-147) 200)) 0 (if (tish ((cos-= cos-147) 220)) cos-220 (if (tish ((cos-= cos-147) 225)) (lambda (cos-37) ((cos-= cos-220) (cos-37 220))) ((cos-152 224) cos-147)))))))))))))) 1)) ((cos-214 cos-219) cos-152)))))) (cos-211 200)))))) 1) ok ; note the appearance of new in the next line -- ; this is the only difference to previous version Expression: (13 193 (191 200 1 11)) Translation: (begin (define cos-193 (((cos-191 200) 1) 11)) 1) ok Expression: (13 194 (191 200 2 22)) Translation: (begin (define cos-194 (((cos-191 200) 2) 22)) 1) ok Expression: (2 1 (193 37)) Translation: ((cos-= 1) (cos-193 37)) ok Expression: (2 22 (194 36)) Translation: ((cos-= 22) (cos-194 36)) ok Expression: (2 11 ((191 200 11 12) 37)) Translation: ((cos-= 11) ((((cos-191 200) 11) 12) 37)) ok Expression: (2 11 (((191 200 11 12) 191) 37)) Translation: ((cos-= 11) (((((cos-191 200) 11) 12) 191) 37)) ok Expression: (2 16 (((191 200 16 17) 191) 37)) Translation: ((cos-= 16) (((((cos-191 200) 16) 17) 191) 37)) ok Expression: (2 33 (193 10 (194) 36)) Translation: ((cos-= 33) (((cos-193 10) cos-194) 36)) ok Expression: (193 10 (194) 2 (191 200 3 33)) Translation: ((((cos-193 10) cos-194) 2) (((cos-191 200) 3) 33)) ok Expression: (194 10 (193) 2 (191 200 3 33)) Translation: ((((cos-194 10) cos-193) 2) (((cos-191 200) 3) 33)) ok Expression: ((191 200 100 200) 10 (191 200 200 100) 2 (191 200 300 300)) Translation: (((((((cos-191 200) 100) 200) 10) (((cos-191 200) 200) 100)) 2) (((cos-191 200) 300) 300)) ok Expression: (176 191 (193)) Translation: ((cos-176 191) cos-193) ok Expression: (4 (176 174 (193))) Translation: (cos-not ((cos-176 174) cos-193)) ok ; Check that virtual calls can be made to work. ; They are a little awkward right now. ; Should they be the default? Expression: (216 226 () (147 227 100) (147 228 (215 227))) Translation: (begin (define cos-226 (lambda (cos-219) ((lambda (cos-220) ((lambda (cos-152) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-152) (cos-152 200)))) (cos-190 (lambda (cos-152) ((lambda (cos-215) ((lambda (cos-222) (lambda (cos-147) (if (tish ((cos-= cos-147) 227)) 100 (if (tish ((cos-= cos-147) 228)) (cos-215 227) (if (tish ((cos-= cos-147) 152)) cos-152 (if (tish ((cos-= cos-147) 226)) (cos-152 152) (if (tish ((cos-= cos-147) 223)) 226 (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) 0) (if (tish ((cos-= cos-147) 200)) 0 (if (tish ((cos-= cos-147) 220)) cos-220 (if (tish ((cos-= cos-147) 225)) (lambda (cos-37) ((cos-= cos-220) (cos-37 220))) ((cos-152 224) cos-147)))))))))))) 1)) ((cos-214 cos-219) cos-152)))))) (cos-211 200)))) 1) ok Expression: (216 229 () (221 230 (27 0)) (147 200 (28 (230) (226 -1 215))) (147 203 (12 37 ((29 -1 230) (37)))) (147 224 (12 37 (152 203 -1 37))) (147 227 200)) Translation: (begin (define cos-229 (lambda (cos-219) ((lambda (cos-220) ((lambda (cos-230) ((lambda (cos-152) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-152) (cos-152 200)))) (cos-190 (lambda (cos-152) ((lambda (cos-215) ((lambda (cos-222) (lambda (cos-147) (if (tish ((cos-= cos-147) 200)) ((cos-set! cos-230) (cos-226 cos-215)) (if (tish ((cos-= cos-147) 203)) (lambda (cos-37) ((cos-get! cos-230) cos-37)) (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) ((cos-152 203) cos-37)) (if (tish ((cos-= cos-147) 227)) 200 (if (tish ((cos-= cos-147) 230)) cos-230 (if (tish ((cos-= cos-147) 152)) cos-152 (if (tish ((cos-= cos-147) 229)) (cos-152 152) (if (tish ((cos-= cos-147) 223)) 229 (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) 0) (if (tish ((cos-= cos-147) 200)) 0 (if (tish ((cos-= cos-147) 220)) cos-220 (if (tish ((cos-= cos-147) 225)) (lambda (cos-37) ((cos-= cos-220) (cos-37 220))) ((cos-152 224) cos-147))))))))))))))) 1)) ((cos-214 cos-219) cos-152)))))) (cos-make-cell 0))) (cos-211 200)))) 1) ok Expression: (2 100 -1 226 200 228) Translation: ((cos-= 100) ((cos-226 200) 228)) ok Expression: (2 200 -1 229 200 228) Translation: ((cos-= 200) ((cos-229 200) 228)) ok ; OBJECT wrapper class for cells Expression: (216 231 (232) (221 233 (27 (232))) (147 234 (29 (233))) (147 235 (26 (236) (28 (233) (236)))) (147 237 (152 235 (232))) (147 224 (26 (37) ((175 (152 234)) (37))))) Translation: (begin (define cos-231 (lambda (cos-219) (lambda (cos-232) ((lambda (cos-220) ((lambda (cos-233) ((lambda (cos-152) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-152) (cos-152 200)))) (cos-190 (lambda (cos-152) ((lambda (cos-215) ((lambda (cos-222) (lambda (cos-147) (if (tish ((cos-= cos-147) 234)) (cos-get! cos-233) (if (tish ((cos-= cos-147) 235)) (lambda (cos-236) ((cos-set! cos-233) cos-236)) (if (tish ((cos-= cos-147) 237)) ((cos-152 235) cos-232) (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) ((cos-175 (cos-152 234)) cos-37)) (if (tish ((cos-= cos-147) 233)) cos-233 (if (tish ((cos-= cos-147) 152)) cos-152 (if (tish ((cos-= cos-147) 231)) (cos-152 152) (if (tish ((cos-= cos-147) 223)) 231 (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) 0) (if (tish ((cos-= cos-147) 200)) 0 (if (tish ((cos-= cos-147) 220)) cos-220 (if (tish ((cos-= cos-147) 225)) (lambda (cos-37) ((cos-= cos-220) (cos-37 220))) ((cos-152 224) cos-147))))))))))))))) 1)) ((cos-214 cos-219) cos-152)))))) (cos-make-cell cos-232))) (cos-211 200))))) 1) ok Expression: (13 238 (231 200 15)) Translation: (begin (define cos-238 ((cos-231 200) 15)) 1) ok Expression: (2 15 (238 234)) Translation: ((cos-= 15) (cos-238 234)) ok Expression: (238 235 82) Translation: ((cos-238 235) 82) ok Expression: (2 82 (238 234)) Translation: ((cos-= 82) (cos-238 234)) ok Expression: (13 239 (231 200 (191 200 120 150))) Translation: (begin (define cos-239 ((cos-231 200) (((cos-191 200) 120) 150))) 1) ok Expression: (13 240 (231 200 (191 200 300 300))) Translation: (begin (define cos-240 ((cos-231 200) (((cos-191 200) 300) 300))) 1) ok Expression: (239 10 (240) 2 (191 200 420 450)) Translation: ((((cos-239 10) cos-240) 2) (((cos-191 200) 420) 450)) ok Expression: (4 (239 2 (240))) Translation: (cos-not ((cos-239 2) cos-240)) ok Expression: (240 235 (239)) Translation: ((cos-240 235) cos-239) ok Expression: (239 2 (240)) Translation: ((cos-239 2) cos-240) ok ; MUD playing around with doors and rooms Expression: (216 241 ((242 243) (244 243)) (147 200 (128 (242 100 (152)) (244 100 (152)))) (147 245 (26 ((162 243)) (181 ((162 225 (242)) (244)) ((162 225 (244)) (242)) 0))) (147 246 (26 ((162 243)) (181 ((162 225 (242)) (43)) ((162 225 (244)) (43)) (44))))) Translation: (begin (define cos-241 (lambda (cos-219) (lambda (cos-242) ((lambda (cos-242) (lambda (cos-244) ((lambda (cos-244) ((lambda (cos-220) ((lambda (cos-152) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-152) (cos-152 200)))) (cos-190 (lambda (cos-152) ((lambda (cos-215) ((lambda (cos-222) (lambda (cos-147) (if (tish ((cos-= cos-147) 200)) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) ((cos-244 100) cos-152)) ((cos-242 100) cos-152))) (if (tish ((cos-= cos-147) 245)) (lambda (cos-162) ((lambda (cos-162) (if (tish ((cos-162 225) cos-242)) cos-244 (if (tish ((cos-162 225) cos-244)) cos-242 0))) ((cos-175 cos-162) 243))) (if (tish ((cos-= cos-147) 246)) (lambda (cos-162) ((lambda (cos-162) (if (tish ((cos-162 225) cos-242)) cos-43 (if (tish ((cos-162 225) cos-244)) cos-43 cos-44))) ((cos-175 cos-162) 243))) (if (tish ((cos-= cos-147) 152)) cos-152 (if (tish ((cos-= cos-147) 241)) (cos-152 152) (if (tish ((cos-= cos-147) 223)) 241 (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) 0) (if (tish ((cos-= cos-147) 200)) 0 (if (tish ((cos-= cos-147) 220)) cos-220 (if (tish ((cos-= cos-147) 225)) (lambda (cos-37) ((cos-= cos-220) (cos-37 220))) ((cos-152 224) cos-147))))))))))))) 1)) ((cos-214 cos-219) cos-152)))))) (cos-211 200))) ((cos-175 cos-244) 243)))) ((cos-175 cos-242) 243))))) 1) ok Expression: (216 243 (146) (221 233 (195 200)) (147 146 (146)) (147 224 (26 (37) (233 (37))))) Translation: (begin (define cos-243 (lambda (cos-219) (lambda (cos-146) ((lambda (cos-220) ((lambda (cos-233) ((lambda (cos-152) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-152) (cos-152 200)))) (cos-190 (lambda (cos-152) ((lambda (cos-215) ((lambda (cos-222) (lambda (cos-147) (if (tish ((cos-= cos-147) 146)) cos-146 (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) (cos-233 cos-37)) (if (tish ((cos-= cos-147) 233)) cos-233 (if (tish ((cos-= cos-147) 152)) cos-152 (if (tish ((cos-= cos-147) 243)) (cos-152 152) (if (tish ((cos-= cos-147) 223)) 243 (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) 0) (if (tish ((cos-= cos-147) 200)) 0 (if (tish ((cos-= cos-147) 220)) cos-220 (if (tish ((cos-= cos-147) 225)) (lambda (cos-37) ((cos-= cos-220) (cos-37 220))) ((cos-152 224) cos-147))))))))))))) 1)) ((cos-214 cos-219) cos-152)))))) (cos-195 200))) (cos-211 200))))) 1) ok ; need to fix up containers to use object equality Expression: (13 247 (26 (48 59) (3 (61 (210 (26 (37) (37 225 (48))) (59))) 0))) Translation: (begin (define cos-247 (lambda (cos-48) (lambda (cos-59) ((cos-> (cos-61 ((cos-210 (lambda (cos-37) ((cos-37 225) cos-48))) cos-59))) 0)))) 1) ok Expression: (216 195 () (221 196 (231 200 (16))) (147 197 (196 234)) (147 100 (26 (37) (15 (4 (247 (37) (196 234))) (196 235 (63 (37) (196 234))) (44))))) Translation: (begin (define cos-195 (lambda (cos-219) ((lambda (cos-220) ((lambda (cos-196) ((lambda (cos-152) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-152) (cos-152 200)))) (cos-190 (lambda (cos-152) ((lambda (cos-215) ((lambda (cos-222) (lambda (cos-147) (if (tish ((cos-= cos-147) 197)) (cos-196 234) (if (tish ((cos-= cos-147) 100)) (lambda (cos-37) (if (tish (cos-not ((cos-247 cos-37) (cos-196 234)))) ((cos-196 235) ((cos-63 cos-37) (cos-196 234))) cos-44)) (if (tish ((cos-= cos-147) 196)) cos-196 (if (tish ((cos-= cos-147) 152)) cos-152 (if (tish ((cos-= cos-147) 195)) (cos-152 152) (if (tish ((cos-= cos-147) 223)) 195 (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) 0) (if (tish ((cos-= cos-147) 200)) 0 (if (tish ((cos-= cos-147) 220)) cos-220 (if (tish ((cos-= cos-147) 225)) (lambda (cos-37) ((cos-= cos-220) (cos-37 220))) ((cos-152 224) cos-147))))))))))))) 1)) ((cos-214 cos-219) cos-152)))))) ((cos-231 200) (cos-57 0)))) (cos-211 200)))) 1) ok Expression: (13 248 (243 200 0)) Translation: (begin (define cos-248 ((cos-243 200) 0)) 1) ok Expression: (13 249 (243 200 1)) Translation: (begin (define cos-249 ((cos-243 200) 1)) 1) ok Expression: (13 250 (241 200 (248) (249))) Translation: (begin (define cos-250 (((cos-241 200) cos-248) cos-249)) 1) ok Expression: ((65 (248 197)) 225 (250)) Translation: (((cos-65 (cos-248 197)) 225) cos-250) ok Expression: ((65 (249 197)) 225 (250)) Translation: (((cos-65 (cos-249 197)) 225) cos-250) ok Expression: (250 245 (248) 225 (249)) Translation: ((((cos-250 245) cos-248) 225) cos-249) ok Expression: (4 (250 245 (248) 225 (248))) Translation: (cos-not ((((cos-250 245) cos-248) 225) cos-248)) ok Expression: (250 245 (249) 225 (248)) Translation: ((((cos-250 245) cos-249) 225) cos-248) ok Expression: (13 251 (243 200 2)) Translation: (begin (define cos-251 ((cos-243 200) 2)) 1) ok Expression: (13 252 (243 200 3)) Translation: (begin (define cos-252 ((cos-243 200) 3)) 1) ok Expression: (13 253 (243 200 4)) Translation: (begin (define cos-253 ((cos-243 200) 4)) 1) ok Expression: (13 254 (243 200 0)) Translation: (begin (define cos-254 ((cos-243 200) 0)) 1) ok Expression: (13 255 (241 200 (248) (252))) Translation: (begin (define cos-255 (((cos-241 200) cos-248) cos-252)) 1) ok Expression: (13 256 (241 200 (248) (251))) Translation: (begin (define cos-256 (((cos-241 200) cos-248) cos-251)) 1) ok Expression: (13 257 (241 200 (251) (253))) Translation: (begin (define cos-257 (((cos-241 200) cos-251) cos-253)) 1) ok Expression: (216 258 () (221 259 (231 200 0)) (221 146 (231 200 0)) (147 260 (26 ((261 243)) (128 (15 (4 (24 -1 259 234)) (259 234 198 (152)) 0) (261 100 (152)) (259 235 (261))))) (147 262 (259 234)) (147 263 (26 (48) (146 235 -1 48))) (147 264 (146 234)) (147 265 0)) Translation: (begin (define cos-258 (lambda (cos-219) ((lambda (cos-220) ((lambda (cos-146) ((lambda (cos-259) ((lambda (cos-152) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-152) (cos-152 200)))) (cos-190 (lambda (cos-152) ((lambda (cos-215) ((lambda (cos-222) (lambda (cos-147) (if (tish ((cos-= cos-147) 260)) (lambda (cos-261) ((lambda (cos-261) ((lambda (cos-37) (cos-58 cos-37)) ((((cos-57 3) ((cos-259 235) cos-261)) ((cos-261 100) cos-152)) (if (tish (cos-not (cos-number? (cos-259 234)))) (((cos-259 234) 198) cos-152) 0)))) ((cos-175 cos-261) 243))) (if (tish ((cos-= cos-147) 262)) (cos-259 234) (if (tish ((cos-= cos-147) 263)) (lambda (cos-48) ((cos-146 235) cos-48)) (if (tish ((cos-= cos-147) 264)) (cos-146 234) (if (tish ((cos-= cos-147) 265)) 0 (if (tish ((cos-= cos-147) 259)) cos-259 (if (tish ((cos-= cos-147) 146)) cos-146 (if (tish ((cos-= cos-147) 152)) cos-152 (if (tish ((cos-= cos-147) 258)) (cos-152 152) (if (tish ((cos-= cos-147) 223)) 258 (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) 0) (if (tish ((cos-= cos-147) 200)) 0 (if (tish ((cos-= cos-147) 220)) cos-220 (if (tish ((cos-= cos-147) 225)) (lambda (cos-37) ((cos-= cos-220) (cos-37 220))) ((cos-152 224) cos-147))))))))))))))))) 1)) ((cos-214 cos-219) cos-152)))))) ((cos-231 200) 0))) ((cos-231 200) 0))) (cos-211 200)))) 1) ok Expression: (13 266 (26 (185 45 70 48 59) (15 (3 (61 (59)) 0) (15 (3 (185 (58 (59))) (45)) (266 (185) (185 (58 (59))) (48) (10 (48) 1) (60 (59))) (266 (185) (45) (70) (10 (48) 1) (60 (59)))) (70)))) Translation: (begin (define cos-266 (lambda (cos-185) (lambda (cos-45) (lambda (cos-70) (lambda (cos-48) (lambda (cos-59) (if (tish ((cos-> (cos-61 cos-59)) 0)) (if (tish ((cos-> (cos-185 (cos-58 cos-59))) cos-45)) (((((cos-266 cos-185) (cos-185 (cos-58 cos-59))) cos-48) ((cos-+ cos-48) 1)) (cos-60 cos-59)) (((((cos-266 cos-185) cos-45) cos-70) ((cos-+ cos-48) 1)) (cos-60 cos-59))) cos-70))))))) 1) ok Expression: (13 267 (26 (185 59) (266 (185) (185 (58 (59))) 0 0 (59)))) Translation: (begin (define cos-267 (lambda (cos-185) (lambda (cos-59) (((((cos-266 cos-185) (cos-185 (cos-58 cos-59))) 0) 0) cos-59)))) 1) ok Expression: (13 268 (26 (185 45 70 48 59) (15 (3 (61 (59)) 0) (15 (1 (185 (58 (59))) (45)) (268 (185) (185 (58 (59))) (48) (10 (48) 1) (60 (59))) (268 (185) (45) (70) (10 (48) 1) (60 (59)))) (70)))) Translation: (begin (define cos-268 (lambda (cos-185) (lambda (cos-45) (lambda (cos-70) (lambda (cos-48) (lambda (cos-59) (if (tish ((cos-> (cos-61 cos-59)) 0)) (if (tish ((cos-< (cos-185 (cos-58 cos-59))) cos-45)) (((((cos-268 cos-185) (cos-185 (cos-58 cos-59))) cos-48) ((cos-+ cos-48) 1)) (cos-60 cos-59)) (((((cos-268 cos-185) cos-45) cos-70) ((cos-+ cos-48) 1)) (cos-60 cos-59))) cos-70))))))) 1) ok Expression: (13 269 (26 (185 59) (268 (185) (185 (58 (59))) 0 0 (59)))) Translation: (begin (define cos-269 (lambda (cos-185) (lambda (cos-59) (((((cos-268 cos-185) (cos-185 (cos-58 cos-59))) 0) 0) cos-59)))) 1) ok Expression: (2 2 (267 (26 (37) (37)) (16 3 4 5 0))) Translation: ((cos-= 2) ((cos-267 (lambda (cos-37) cos-37)) (((((cos-57 4) 3) 4) 5) 0))) ok Expression: (2 1 (267 (26 (37) (37)) (16 3 5 4 0))) Translation: ((cos-= 1) ((cos-267 (lambda (cos-37) cos-37)) (((((cos-57 4) 3) 5) 4) 0))) ok Expression: (2 0 (267 (26 (37) (37)) (16 5 3 4 0))) Translation: ((cos-= 0) ((cos-267 (lambda (cos-37) cos-37)) (((((cos-57 4) 5) 3) 4) 0))) ok ; the robo class makes a character that patrols from room to room Expression: (216 270 () (221 203 (258 200)) (221 271 (231 200 1)) (221 272 (231 200 (26 (37) 0))) (147 224 (26 (37) (203 (37)))) (147 265 (77 ((273 (210 (26 (37) (176 241 (37))) (152 259 197)))) (77 ((274 (85 (26 (37) (272 234 (37))) (273)))) (77 ((275 (62 (273) (269 (26 (37) (37)) (274)))) (276 (272 234)) (277 (271 234))) (128 (152 259 235 (275 245 (152 259 234))) (272 235 (26 ((278 241)) (15 (278 225 (275)) (277) (276 (278))))) (271 235 (10 (271 234) 1)))))))) Translation: (begin (define cos-270 (lambda (cos-219) ((lambda (cos-220) ((lambda (cos-272) ((lambda (cos-271) ((lambda (cos-203) ((lambda (cos-152) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-152) (cos-152 200)))) (cos-190 (lambda (cos-152) ((lambda (cos-215) ((lambda (cos-222) (lambda (cos-147) (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) (cos-203 cos-37)) (if (tish ((cos-= cos-147) 265)) ((lambda (cos-273) ((lambda (cos-274) ((lambda (cos-277) ((lambda (cos-276) ((lambda (cos-275) ((lambda (cos-37) (cos-58 cos-37)) ((((cos-57 3) ((cos-271 235) ((cos-+ (cos-271 234)) 1))) ((cos-272 235) (lambda (cos-278) ((lambda (cos-278) (if (tish ((cos-278 225) cos-275)) cos-277 (cos-276 cos-278))) ((cos-175 cos-278) 241))))) (((cos-152 259) 235) ((cos-275 245) ((cos-152 259) 234)))))) ((cos-62 cos-273) ((cos-269 (lambda (cos-37) cos-37)) cos-274)))) (cos-272 234))) (cos-271 234))) ((cos-85 (lambda (cos-37) ((cos-272 234) cos-37))) cos-273))) ((cos-210 (lambda (cos-37) ((cos-176 241) cos-37))) ((cos-152 259) 197))) (if (tish ((cos-= cos-147) 203)) cos-203 (if (tish ((cos-= cos-147) 271)) cos-271 (if (tish ((cos-= cos-147) 272)) cos-272 (if (tish ((cos-= cos-147) 152)) cos-152 (if (tish ((cos-= cos-147) 270)) (cos-152 152) (if (tish ((cos-= cos-147) 223)) 270 (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) 0) (if (tish ((cos-= cos-147) 200)) 0 (if (tish ((cos-= cos-147) 220)) cos-220 (if (tish ((cos-= cos-147) 225)) (lambda (cos-37) ((cos-= cos-220) (cos-37 220))) ((cos-152 224) cos-147))))))))))))))) 1)) ((cos-214 cos-219) cos-152)))))) (cos-258 200))) ((cos-231 200) 1))) ((cos-231 200) (lambda (cos-37) 0)))) (cos-211 200)))) 1) ok Expression: (13 279 (270 200)) Translation: (begin (define cos-279 (cos-270 200)) 1) ok Expression: (279 260 (251)) Translation: ((cos-279 260) cos-251) ok Expression: (13 280 (26 ((281 270)) (267 (26 ((261 243)) (15 (261 225 (281 262)) 1 0)) (16 (248) (249) (251) (252) (253))))) Translation: (begin (define cos-280 (lambda (cos-281) ((lambda (cos-281) ((cos-267 (lambda (cos-261) ((lambda (cos-261) (if (tish ((cos-261 225) (cos-281 262))) 1 0)) ((cos-175 cos-261) 243)))) ((((((cos-57 5) cos-248) cos-249) cos-251) cos-252) cos-253))) ((cos-175 cos-281) 270)))) 1) ok Expression: (13 282 (26 (48 162 59) (15 (1 (162) (48)) (128 (279 265) (282 (48) (10 (162) 1) (209 (280 (279)) (59)))) (59)))) Translation: (begin (define cos-282 (lambda (cos-48) (lambda (cos-162) (lambda (cos-59) (if (tish ((cos-< cos-162) cos-48)) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) (((cos-282 cos-48) ((cos-+ cos-162) 1)) ((cos-209 (cos-280 cos-279)) cos-59))) (cos-279 265))) cos-59))))) 1) ok ; here is a list of the first 30 rooms the robot character visits ; 0=hall, 1=kitchen, 2=stairs, 3=lawn, 4=bedroom Expression: (64 (282 30 0 (16)) (16 4 2 0 3 0 1 0 2 4 2 0 3 0 1 0 2 4 2 0 3 0 1 0 2 4 2 0 3 0 1)) Translation: ((cos-64 (((cos-282 30) 0) (cos-57 0))) (((((((((((((((((((((((((((((((cos-57 30) 4) 2) 0) 3) 0) 1) 0) 2) 4) 2) 0) 3) 0) 1) 0) 2) 4) 2) 0) 3) 0) 1) 0) 2) 4) 2) 0) 3) 0) 1)) ok ; Now should start to introduce a language to talk about what is ; going on in the simulated world, and start to move away from ; detailed mechanism ; NOTE end of part 2, start of part 3 ; The following parts of the message are the beginnings ; of embedding an alternate visual primer Expression: (0 283) Translation: (cos-intro 283) ok ; GATE simulating unless gates ; for embedded image-and-logic-based primer ; practice with pure logic gate ; X unless Y = (X if Y=0, otherwise 0) Expression: (13 284 -1 12 37 -1 12 36 -1 5 (37) (4 (36))) Translation: (begin (define cos-284 (lambda (cos-37) (lambda (cos-36) ((cos-and cos-37) (cos-not cos-36))))) 1) ok ; if second input is true, output is blocked (false) ; if second input is false, output copies first input Expression: (2 (44) (284 (44) (44))) Translation: ((cos-= cos-44) ((cos-284 cos-44) cos-44)) ok Expression: (2 (43) (284 (43) (44))) Translation: ((cos-= cos-43) ((cos-284 cos-43) cos-44)) ok Expression: (2 (44) (284 (44) (43))) Translation: ((cos-= cos-44) ((cos-284 cos-44) cos-43)) ok Expression: (2 (44) (284 (43) (43))) Translation: ((cos-= cos-44) ((cos-284 cos-43) cos-43)) ok ; To do: add a simple simulator for non-grid-based ; logic -- much simpler to understand than ; grid-based ; On to a grid-based logic simulation ; first, need unbounded, mutable matrices Expression: (13 285 -1 12 135 -1 (27 (134 (135)))) Translation: (begin (define cos-285 (lambda (cos-135) (cos-make-cell (cos-134 cos-135)))) 1) ok Expression: (13 286 -1 12 287 -1 12 37 -1 12 288 -1 28 (287) -1 130 (29 (287)) (288) (37)) Translation: (begin (define cos-286 (lambda (cos-287) (lambda (cos-37) (lambda (cos-288) ((cos-set! cos-287) (((cos-130 (cos-get! cos-287)) cos-288) cos-37)))))) 1) ok Expression: (13 289 -1 12 287 -1 12 288 -1 132 (29 (287)) (288)) Translation: (begin (define cos-289 (lambda (cos-287) (lambda (cos-288) ((cos-132 (cos-get! cos-287)) cos-288)))) 1) ok Expression: (13 290 (285 0)) Translation: (begin (define cos-290 (cos-285 0)) 1) ok Expression: (2 0 -1 289 (290) -1 16 1 2 3) Translation: ((cos-= 0) ((cos-289 cos-290) ((((cos-57 3) 1) 2) 3))) ok Expression: (286 (290) 10 -1 16 1 2 3) Translation: (((cos-286 cos-290) 10) ((((cos-57 3) 1) 2) 3)) ok Expression: (2 10 -1 289 (290) -1 16 1 2 3) Translation: ((cos-= 10) ((cos-289 cos-290) ((((cos-57 3) 1) 2) 3))) ok ; go through a circuit of unless gates and analyze data flow Expression: (13 291 -1 12 292 -1 14 293 (285 (44)) (128 (85 (12 294 -1 14 295 (62 (294) 0) -1 14 296 (62 (294) 1) -1 14 297 (62 (294) 2) -1 14 298 (62 (294) 3) -1 14 173 (62 (294) 4) -1 (15 (2 (295) (297)) (128 (286 (293) (173) -1 16 (297) (298) 299) (286 (293) (43) -1 16 (297) (298) 300) (286 (293) (43) -1 16 (295) (296) 301) (294)) (128 (286 (293) (173) -1 16 (297) (298) 302) (286 (293) (43) -1 16 (297) (298) 303) (286 (293) (43) -1 16 (295) (296) 304) (294)))) (292)) (293))) Translation: (begin (define cos-291 (lambda (cos-292) ((lambda (cos-293) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-293) ((cos-85 (lambda (cos-294) ((lambda (cos-295) ((lambda (cos-296) ((lambda (cos-297) ((lambda (cos-298) ((lambda (cos-173) (if (tish ((cos-= cos-295) cos-297)) ((lambda (cos-37) (cos-58 cos-37)) (((((cos-57 4) cos-294) (((cos-286 cos-293) cos-43) ((((cos-57 3) cos-295) cos-296) 301))) (((cos-286 cos-293) cos-43) ((((cos-57 3) cos-297) cos-298) 300))) (((cos-286 cos-293) cos-173) ((((cos-57 3) cos-297) cos-298) 299)))) ((lambda (cos-37) (cos-58 cos-37)) (((((cos-57 4) cos-294) (((cos-286 cos-293) cos-43) ((((cos-57 3) cos-295) cos-296) 304))) (((cos-286 cos-293) cos-43) ((((cos-57 3) cos-297) cos-298) 303))) (((cos-286 cos-293) cos-173) ((((cos-57 3) cos-297) cos-298) 302)))))) ((cos-62 cos-294) 4))) ((cos-62 cos-294) 3))) ((cos-62 cos-294) 2))) ((cos-62 cos-294) 1))) ((cos-62 cos-294) 0)))) cos-292)))) (cos-285 cos-44)))) 1) ok ; move forward one simulation step Expression: (13 305 -1 12 292 -1 12 293 (85 (12 294 -1 14 295 (62 (294) 0) -1 14 296 (62 (294) 1) -1 14 297 (62 (294) 2) -1 14 298 (62 (294) 3) -1 14 173 (62 (294) 4) -1 14 306 (15 (2 (295) (297)) (15 (289 (293) -1 16 (295) (296) 300) (5 (289 (293) -1 16 (295) (296) 299) (4 (5 (289 (293) -1 16 (295) (296) 302) (4 (289 (293) -1 16 (295) (296) 304))))) (15 (289 (293) -1 16 (295) (296) 303) (289 (293) -1 16 (295) (296) 302) (43))) (15 (289 (293) -1 16 (295) (296) 303) (5 (289 (293) -1 16 (295) (296) 302) (4 (5 (289 (293) -1 16 (295) (296) 299) (4 (289 (293) -1 16 (295) (296) 301))))) (15 (289 (293) -1 16 (295) (296) 300) (289 (293) -1 16 (295) (296) 299) (43)))) -1 16 (295) (296) (297) (298) (306)) (292))) Translation: (begin (define cos-305 (lambda (cos-292) (lambda (cos-293) ((cos-85 (lambda (cos-294) ((lambda (cos-295) ((lambda (cos-296) ((lambda (cos-297) ((lambda (cos-298) ((lambda (cos-173) ((lambda (cos-306) ((((((cos-57 5) cos-295) cos-296) cos-297) cos-298) cos-306)) (if (tish ((cos-= cos-295) cos-297)) (if (tish ((cos-289 cos-293) ((((cos-57 3) cos-295) cos-296) 300))) ((cos-and ((cos-289 cos-293) ((((cos-57 3) cos-295) cos-296) 299))) (cos-not ((cos-and ((cos-289 cos-293) ((((cos-57 3) cos-295) cos-296) 302))) (cos-not ((cos-289 cos-293) ((((cos-57 3) cos-295) cos-296) 304)))))) (if (tish ((cos-289 cos-293) ((((cos-57 3) cos-295) cos-296) 303))) ((cos-289 cos-293) ((((cos-57 3) cos-295) cos-296) 302)) cos-43)) (if (tish ((cos-289 cos-293) ((((cos-57 3) cos-295) cos-296) 303))) ((cos-and ((cos-289 cos-293) ((((cos-57 3) cos-295) cos-296) 302))) (cos-not ((cos-and ((cos-289 cos-293) ((((cos-57 3) cos-295) cos-296) 299))) (cos-not ((cos-289 cos-293) ((((cos-57 3) cos-295) cos-296) 301)))))) (if (tish ((cos-289 cos-293) ((((cos-57 3) cos-295) cos-296) 300))) ((cos-289 cos-293) ((((cos-57 3) cos-295) cos-296) 299)) cos-43))))) ((cos-62 cos-294) 4))) ((cos-62 cos-294) 3))) ((cos-62 cos-294) 2))) ((cos-62 cos-294) 1))) ((cos-62 cos-294) 0)))) cos-292)))) 1) ok ; wrap up both phases of simulation Expression: (13 307 -1 12 292 -1 14 293 (291 (292)) -1 305 (292) (293)) Translation: (begin (define cos-307 (lambda (cos-292) ((lambda (cos-293) ((cos-305 cos-292) cos-293)) (cos-291 cos-292)))) 1) ok ; A circuit is a list of gates ; Each gate is a list (x1 y1 x2 y2 v) ; where the coordinates (x1,y1) and (x2,y2) represent ; start and end points of a wire on a plane, carrying a ; logic value v. ; Wires copy values from their start point. ; | ; | (A) ; V ; -->--> ; (B)(C) ; ; Wire C here copies from wire B. ; If wire A is on, it blocks (sets to 0) C. Expression: (14 308 (16 (16 2 2 4 2 (43)) (16 4 2 6 2 (43)) (16 6 2 8 2 (43)) (16 6 4 6 2 (43))) -1 14 309 (16 (16 2 2 4 2 (43)) (16 4 2 6 2 (43)) (16 6 2 8 2 (44)) (16 6 4 6 2 (43))) -1 8 (307 (308)) (309)) Translation: ((lambda (cos-308) ((lambda (cos-309) ((cos-equal (cos-307 cos-308)) cos-309)) (((((cos-57 4) ((((((cos-57 5) 2) 2) 4) 2) cos-43)) ((((((cos-57 5) 4) 2) 6) 2) cos-43)) ((((((cos-57 5) 6) 2) 8) 2) cos-44)) ((((((cos-57 5) 6) 4) 6) 2) cos-43)))) (((((cos-57 4) ((((((cos-57 5) 2) 2) 4) 2) cos-43)) ((((((cos-57 5) 4) 2) 6) 2) cos-43)) ((((((cos-57 5) 6) 2) 8) 2) cos-43)) ((((((cos-57 5) 6) 4) 6) 2) cos-43))) ok ; okay, now let us make a simple image class ; we are going to encode each row as a single binary number, ; rather than a vector, so that images will be pretty ; obvious in the raw, uninterpreted message Expression: (13 310 -1 26 (48 311) -1 14 312 (34 (48) 2) (15 (2 0 -1 311) (4 -1 2 (48) -1 9 2 -1 312) (310 (312) -1 11 (311) 1))) Translation: (begin (define cos-310 (lambda (cos-48) (lambda (cos-311) ((lambda (cos-312) (if (tish ((cos-= 0) cos-311)) (cos-not ((cos-= cos-48) ((cos-* 2) cos-312))) ((cos-310 cos-312) ((cos-- cos-311) 1)))) ((cos-div cos-48) 2))))) 1) ok Expression: (2 0 -1 310 6 0) Translation: ((cos-= 0) ((cos-310 6) 0)) ok Expression: (2 1 -1 310 6 1) Translation: ((cos-= 1) ((cos-310 6) 1)) ok Expression: (2 1 -1 310 6 2) Translation: ((cos-= 1) ((cos-310 6) 2)) ok Expression: (2 0 -1 310 6 3) Translation: ((cos-= 0) ((cos-310 6) 3)) ok Expression: (2 0 -1 310 6 4) Translation: ((cos-= 0) ((cos-310 6) 4)) ok Expression: (2 0 -1 310 8 0) Translation: ((cos-= 0) ((cos-310 8) 0)) ok Expression: (2 0 -1 310 8 1) Translation: ((cos-= 0) ((cos-310 8) 1)) ok Expression: (2 0 -1 310 8 2) Translation: ((cos-= 0) ((cos-310 8) 2)) ok Expression: (2 1 -1 310 8 3) Translation: ((cos-= 1) ((cos-310 8) 3)) ok Expression: (13 313 -1 26 (131 39 59) -1 16 (131) (39) (59)) Translation: (begin (define cos-313 (lambda (cos-131) (lambda (cos-39) (lambda (cos-59) ((((cos-57 3) cos-131) cos-39) cos-59))))) 1) ok Expression: (13 314 -1 26 (315 316 317) -1 14 131 (62 (315) 0) -1 14 39 (62 (315) 1) -1 14 59 (62 (315) 2) -1 14 318 (62 (59) (316)) -1 310 (318) (11 (11 (39) (317)) 1)) Translation: (begin (define cos-314 (lambda (cos-315) (lambda (cos-316) (lambda (cos-317) ((lambda (cos-131) ((lambda (cos-39) ((lambda (cos-59) ((lambda (cos-318) ((cos-310 cos-318) ((cos-- ((cos-- cos-39) cos-317)) 1))) ((cos-62 cos-59) cos-316))) ((cos-62 cos-315) 2))) ((cos-62 cos-315) 1))) ((cos-62 cos-315) 0)))))) 1) ok Expression: (13 319 -1 12 315 -1 62 (315) 0) Translation: (begin (define cos-319 (lambda (cos-315) ((cos-62 cos-315) 0))) 1) ok Expression: (13 320 -1 12 315 -1 62 (315) 1) Translation: (begin (define cos-320 (lambda (cos-315) ((cos-62 cos-315) 1))) 1) ok Expression: (13 321 -1 313 3 5 -1 16 16 17 16) Translation: (begin (define cos-321 (((cos-313 3) 5) ((((cos-57 3) 16) 17) 16))) 1) ok Expression: (2 3 (319 -1 321)) Translation: ((cos-= 3) (cos-319 cos-321)) ok Expression: (2 5 (320 -1 321)) Translation: ((cos-= 5) (cos-320 cos-321)) ok Expression: (2 (43) (314 (321) 0 0)) Translation: ((cos-= cos-43) (((cos-314 cos-321) 0) 0)) ok Expression: (2 (44) (314 (321) 0 1)) Translation: ((cos-= cos-44) (((cos-314 cos-321) 0) 1)) ok Expression: (2 (44) (314 (321) 0 4)) Translation: ((cos-= cos-44) (((cos-314 cos-321) 0) 4)) ok Expression: (2 (43) (314 (321) 1 0)) Translation: ((cos-= cos-43) (((cos-314 cos-321) 1) 0)) ok Expression: (2 (43) (314 (321) 2 0)) Translation: ((cos-= cos-43) (((cos-314 cos-321) 2) 0)) ok Expression: (2 (43) (314 (321) 1 4)) Translation: ((cos-= cos-43) (((cos-314 cos-321) 1) 4)) ok ; need a way to join two lists Expression: (13 322 -1 12 207 -1 12 208 -1 (15 (3 (61 -1 207) 0) (63 (58 -1 207) (322 (60 -1 207) (208))) (208))) Translation: (begin (define cos-322 (lambda (cos-207) (lambda (cos-208) (if (tish ((cos-> (cos-61 cos-207)) 0)) ((cos-63 (cos-58 cos-207)) ((cos-322 (cos-60 cos-207)) cos-208)) cos-208)))) 1) ok Expression: (13 323 -1 12 59 -1 (15 (3 (61 -1 59) 2) (322 (58 -1 59) (323 -1 60 -1 59)) (15 (2 (61 -1 59) 2) (322 (58 -1 59) -1 (58 -1 60 -1 59)) (15 (2 (61 -1 59) 1) (58 -1 59) (16))))) Translation: (begin (define cos-323 (lambda (cos-59) (if (tish ((cos-> (cos-61 cos-59)) 2)) ((cos-322 (cos-58 cos-59)) (cos-323 (cos-60 cos-59))) (if (tish ((cos-= (cos-61 cos-59)) 2)) ((cos-322 (cos-58 cos-59)) (cos-58 (cos-60 cos-59))) (if (tish ((cos-= (cos-61 cos-59)) 1)) (cos-58 cos-59) (cos-57 0)))))) 1) ok Expression: (8 (16 1 2 3 4) (322 (16 1 2) (16 3 4))) Translation: ((cos-equal (((((cos-57 4) 1) 2) 3) 4)) ((cos-322 (((cos-57 2) 1) 2)) (((cos-57 2) 3) 4))) ok Expression: (8 (16 1 2 3 4) (323 (16 (16 1 2) (16 3) (16 4)))) Translation: ((cos-equal (((((cos-57 4) 1) 2) 3) 4)) (cos-323 ((((cos-57 3) (((cos-57 2) 1) 2)) ((cos-57 1) 3)) ((cos-57 1) 4)))) ok ; helper for pairing Expression: (13 324 -1 12 37 -1 12 59 -1 85 (12 36 (16 (37) (36))) (59)) Translation: (begin (define cos-324 (lambda (cos-37) (lambda (cos-59) ((cos-85 (lambda (cos-36) (((cos-57 2) cos-37) cos-36))) cos-59)))) 1) ok Expression: (8 (16 (16 1 10) (16 1 11)) (324 1 (16 10 11))) Translation: ((cos-equal (((cos-57 2) (((cos-57 2) 1) 10)) (((cos-57 2) 1) 11))) ((cos-324 1) (((cos-57 2) 10) 11))) ok ; need a way to take product of domains Expression: (13 325 -1 12 207 -1 12 208 (15 (3 (61 -1 207) 0) (322 (324 (58 -1 207) (208)) (325 (60 -1 207) (208))) (16))) Translation: (begin (define cos-325 (lambda (cos-207) (lambda (cos-208) (if (tish ((cos-> (cos-61 cos-207)) 0)) ((cos-322 ((cos-324 (cos-58 cos-207)) cos-208)) ((cos-325 (cos-60 cos-207)) cos-208)) (cos-57 0))))) 1) ok Expression: (8 (16 (16 1 10) (16 1 11) (16 2 10) (16 2 11)) (325 (16 1 2) (16 10 11))) Translation: ((cos-equal (((((cos-57 4) (((cos-57 2) 1) 10)) (((cos-57 2) 1) 11)) (((cos-57 2) 2) 10)) (((cos-57 2) 2) 11))) ((cos-325 (((cos-57 2) 1) 2)) (((cos-57 2) 10) 11))) ok ; need a way to make counting sets Expression: (13 204 -1 12 326 -1 12 327 (15 (50 (326) (327)) (63 (326) (204 (10 (326) 1) (327))) (16))) Translation: (begin (define cos-204 (lambda (cos-326) (lambda (cos-327) (if (tish ((cos-50 cos-326) cos-327)) ((cos-63 cos-326) ((cos-204 ((cos-+ cos-326) 1)) cos-327)) (cos-57 0))))) 1) ok Expression: (8 (16 0 1 2 3 4) (204 0 4)) Translation: ((cos-equal ((((((cos-57 5) 0) 1) 2) 3) 4)) ((cos-204 0) 4)) ok ; given an image of a circuit, extract a model. ; wire elements are centered on multiples of 8 ; individual element... Expression: (13 328 -1 12 315 -1 12 329 -1 12 330 -1 12 331 -1 12 332 (15 (314 (315) (332) (331)) (14 333 (314 (315) (10 (332) 4) (331)) -1 14 334 (15 (333) 0 1) -1 14 335 (15 (333) 1 0) -1 14 336 (314 (315) (10 (332) -1 10 (9 4 -1 335) (9 2 -1 334)) (10 (331) -1 11 (9 4 -1 334) (9 2 -1 335))) -1 14 337 (15 (336) 1 (11 0 1)) -1 14 334 (9 (337) (334)) -1 14 335 (9 (337) (335)) -1 14 338 (314 (315) (10 (332) (334)) (11 (331) (335))) -1 (16 (16 (11 (329) (334)) (11 (330) (335)) (10 (329) (334)) (10 (330) (335)) (338)))) (16))) Translation: (begin (define cos-328 (lambda (cos-315) (lambda (cos-329) (lambda (cos-330) (lambda (cos-331) (lambda (cos-332) (if (tish (((cos-314 cos-315) cos-332) cos-331)) ((lambda (cos-333) ((lambda (cos-334) ((lambda (cos-335) ((lambda (cos-336) ((lambda (cos-337) ((lambda (cos-334) ((lambda (cos-335) ((lambda (cos-338) ((cos-57 1) ((((((cos-57 5) ((cos-- cos-329) cos-334)) ((cos-- cos-330) cos-335)) ((cos-+ cos-329) cos-334)) ((cos-+ cos-330) cos-335)) cos-338))) (((cos-314 cos-315) ((cos-+ cos-332) cos-334)) ((cos-- cos-331) cos-335)))) ((cos-* cos-337) cos-335))) ((cos-* cos-337) cos-334))) (if (tish cos-336) 1 ((cos-- 0) 1)))) (((cos-314 cos-315) ((cos-+ cos-332) ((cos-+ ((cos-* 4) cos-335)) ((cos-* 2) cos-334)))) ((cos-+ cos-331) ((cos-- ((cos-* 4) cos-334)) ((cos-* 2) cos-335)))))) (if (tish cos-333) 1 0))) (if (tish cos-333) 0 1))) (((cos-314 cos-315) ((cos-+ cos-332) 4)) cos-331)) (cos-57 0)))))))) 1) ok ; full circuit... Expression: (13 339 -1 12 315 -1 14 131 (34 (319 -1 315) 8) -1 14 39 (34 (320 -1 315) 8) (323 (85 (12 173 -1 14 329 (62 (173) 0) -1 14 330 (62 (173) 1) -1 14 331 (9 8 -1 329) -1 14 332 (9 8 -1 330) -1 328 (315) (329) (330) (331) (332)) (325 (204 1 (11 (39) 1)) (204 1 (11 (131) 1)))))) Translation: (begin (define cos-339 (lambda (cos-315) ((lambda (cos-131) ((lambda (cos-39) (cos-323 ((cos-85 (lambda (cos-173) ((lambda (cos-329) ((lambda (cos-330) ((lambda (cos-331) ((lambda (cos-332) (((((cos-328 cos-315) cos-329) cos-330) cos-331) cos-332)) ((cos-* 8) cos-330))) ((cos-* 8) cos-329))) ((cos-62 cos-173) 1))) ((cos-62 cos-173) 0)))) ((cos-325 ((cos-204 1) ((cos-- cos-39) 1))) ((cos-204 1) ((cos-- cos-131) 1)))))) ((cos-div (cos-320 cos-315)) 8))) ((cos-div (cos-319 cos-315)) 8)))) 1) ok ; GATE testing alternate primer based on gates: COS_NOT circuit ; This section contains one or more representations of a circuit ; constructed using UNLESS gates. Needs elaboration... ; graphic representation : IMAGE_SRC=COS_NOT.gif ; Expression: (13 340 -1 16 (16 0 6 2 6 (43)) (16 2 6 4 6 (43)) (16 4 6 6 6 (43)) (16 6 6 8 6 (43)) (16 8 4 8 6 (43)) (16 8 6 8 8 (44)) (16 8 8 10 8 (44)) (16 10 8 12 8 (44)) (16 12 8 12 6 (44)) (16 12 6 14 6 (44)) (16 14 6 16 6 (44)) (16 16 6 18 6 (44)) (16 18 6 20 6 (44))) Translation: (begin (define cos-340 ((((((((((((((cos-57 13) ((((((cos-57 5) 0) 6) 2) 6) cos-43)) ((((((cos-57 5) 2) 6) 4) 6) cos-43)) ((((((cos-57 5) 4) 6) 6) 6) cos-43)) ((((((cos-57 5) 6) 6) 8) 6) cos-43)) ((((((cos-57 5) 8) 4) 8) 6) cos-43)) ((((((cos-57 5) 8) 6) 8) 8) cos-44)) ((((((cos-57 5) 8) 8) 10) 8) cos-44)) ((((((cos-57 5) 10) 8) 12) 8) cos-44)) ((((((cos-57 5) 12) 8) 12) 6) cos-44)) ((((((cos-57 5) 12) 6) 14) 6) cos-44)) ((((((cos-57 5) 14) 6) 16) 6) cos-44)) ((((((cos-57 5) 16) 6) 18) 6) cos-44)) ((((((cos-57 5) 18) 6) 20) 6) cos-44))) 1) ok Expression: (13 341 -1 313 109 169 -1 16 748288838313422294120286634350736906063837462003711 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147131131750788149299515734110502913 374144419156711147131131750788149299515734110502913 374144419156711147131131750788149299515734110502913 374144419156711147131131750788149299515734110502913 374144419156711147131131750788149299515734110502913 374144419156711147131131750788149299515734110502913 374144419156711147131131750788149299515734110502913 374144419156711147131131750788149299515734110502913 374144419156711147131131750788149299515734110502913 374144419156711147217331991603668898817509928468481 374144419156711147131131750788149299515734110502913 374235764402862171393428515739441623820334639616001 467636278592284531418497818165595772308392826116097 467659114903822287496748515406879451156706670672897 467636278592284531418497818165595772308392826116097 374235764402862171373146106140512319879257033543681 374144419156711147080425726795548406145909740535809 374144419156711147080425726815618463698105732694017 374144419156711147080425726783742489938735627501569 374144419156711147080425726783742489938735627501569 374144419156711147080425726783742489938735627501569 374144419156711147080425726783742489938735627501569 374144419156711147080425726783742489938735627501569 374144419156711147080425726783742489938735627501569 374144419156711147080425726783742489938735627501569 374144419156711147217331991608391265300379573682177 374144419156711147131131750792871665998603755716609 374144419156711147080430678614735128702879902203905 374144419156711147060150744928940960902439610875905 374144419156711147065212758988605074662419245039617 374144419156711147060150744928940960902439610875905 374144419156711147060148269011083458278932650917889 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 748288838313422294120286634350736906063837462003711) Translation: (begin (define cos-341 (((cos-313 109) 169) ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((cos-57 109) 748288838313422294120286634350736906063837462003711) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147131131750788149299515734110502913) 374144419156711147131131750788149299515734110502913) 374144419156711147131131750788149299515734110502913) 374144419156711147131131750788149299515734110502913) 374144419156711147131131750788149299515734110502913) 374144419156711147131131750788149299515734110502913) 374144419156711147131131750788149299515734110502913) 374144419156711147131131750788149299515734110502913) 374144419156711147131131750788149299515734110502913) 374144419156711147217331991603668898817509928468481) 374144419156711147131131750788149299515734110502913) 374235764402862171393428515739441623820334639616001) 467636278592284531418497818165595772308392826116097) 467659114903822287496748515406879451156706670672897) 467636278592284531418497818165595772308392826116097) 374235764402862171373146106140512319879257033543681) 374144419156711147080425726795548406145909740535809) 374144419156711147080425726815618463698105732694017) 374144419156711147080425726783742489938735627501569) 374144419156711147080425726783742489938735627501569) 374144419156711147080425726783742489938735627501569) 374144419156711147080425726783742489938735627501569) 374144419156711147080425726783742489938735627501569) 374144419156711147080425726783742489938735627501569) 374144419156711147080425726783742489938735627501569) 374144419156711147217331991608391265300379573682177) 374144419156711147131131750792871665998603755716609) 374144419156711147080430678614735128702879902203905) 374144419156711147060150744928940960902439610875905) 374144419156711147065212758988605074662419245039617) 374144419156711147060150744928940960902439610875905) 374144419156711147060148269011083458278932650917889) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 748288838313422294120286634350736906063837462003711))) 1) ok Expression: (8 (340) (339 (341))) Translation: ((cos-equal cos-340) (cos-339 cos-341)) ok ; GATE testing alternate primer based on gates: COS_AND circuit ; This section contains one or more representations of a circuit ; constructed using UNLESS gates. Needs elaboration... ; graphic representation : IMAGE_SRC=COS_AND.gif ; Expression: (13 342 -1 16 (16 0 2 2 2 (43)) (16 0 8 2 8 (43)) (16 2 2 4 2 (43)) (16 2 4 4 4 (43)) (16 2 6 4 6 (43)) (16 2 8 4 8 (43)) (16 4 2 4 4 (43)) (16 4 8 4 6 (43)) (16 4 4 6 4 (44)) (16 4 6 6 6 (44)) (16 6 4 8 4 (44)) (16 6 6 8 6 (44)) (16 8 4 10 4 (44)) (16 8 6 10 6 (44)) (16 10 2 10 4 (43)) (16 10 4 10 6 (43)) (16 10 6 10 8 (43)) (16 10 8 12 8 (43)) (16 12 8 14 8 (43)) (16 14 8 16 8 (43)) (16 16 8 18 8 (43))) Translation: (begin (define cos-342 ((((((((((((((((((((((cos-57 21) ((((((cos-57 5) 0) 2) 2) 2) cos-43)) ((((((cos-57 5) 0) 8) 2) 8) cos-43)) ((((((cos-57 5) 2) 2) 4) 2) cos-43)) ((((((cos-57 5) 2) 4) 4) 4) cos-43)) ((((((cos-57 5) 2) 6) 4) 6) cos-43)) ((((((cos-57 5) 2) 8) 4) 8) cos-43)) ((((((cos-57 5) 4) 2) 4) 4) cos-43)) ((((((cos-57 5) 4) 8) 4) 6) cos-43)) ((((((cos-57 5) 4) 4) 6) 4) cos-44)) ((((((cos-57 5) 4) 6) 6) 6) cos-44)) ((((((cos-57 5) 6) 4) 8) 4) cos-44)) ((((((cos-57 5) 6) 6) 8) 6) cos-44)) ((((((cos-57 5) 8) 4) 10) 4) cos-44)) ((((((cos-57 5) 8) 6) 10) 6) cos-44)) ((((((cos-57 5) 10) 2) 10) 4) cos-43)) ((((((cos-57 5) 10) 4) 10) 6) cos-43)) ((((((cos-57 5) 10) 6) 10) 8) cos-43)) ((((((cos-57 5) 10) 8) 12) 8) cos-43)) ((((((cos-57 5) 12) 8) 14) 8) cos-43)) ((((((cos-57 5) 14) 8) 16) 8) cos-43)) ((((((cos-57 5) 16) 8) 18) 8) cos-43))) 1) ok Expression: (13 343 -1 313 88 153 -1 16 11417981541647679048466287755595961091061972991 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5710384588666395620738143826650934032610623489 7135563332680004297100591528795874571539447809 7135911787140643321226841516009112943309357057 7135563332680004297100591528795874571539447809 5710384588666395620738143826650934032610623489 5708990775476137509480365961243995300270440449 5708990775476137509480365961243995300270440449 5708990775476137509480365961243995300270440449 5708990775476137509480365961243995300270440449 5708990775476137509480365961243995300270440449 5708990775476137509480365961243995300270440449 5708990775476137509480365961243995300270440449 5708990775476137509480365961243995300270440449 5708990775476137509480365961243995300270440449 5708990781125356491566278491142727502454063105 5708990775476137509480365961243995300270440449 5708990793421039976082212581261213609882550273 5709012538261985283273719763140444951364501505 5709012543910641419904769640323514414154121217 5709012538261985283273719763140444951364501505 5708990792091811980297291985990923679956992001 5708990770823839524233160406080670589289234433 5708990770823839524233160406080670589289234433 5708990770823839524233160406080670589289234433 5708990770823839524233160406080670589289234433 5708990770823839524233160406080670589289234433 5708990770823839524233160406080670589289234433 5708990770823839524233160406080670589289234433 5708990770823839524233160406080670589289234433 5708990770823839524233160406080670589289234433 5708990770823839524233180476138222785281392641 5708990770823839524233160406080670589289234433 5708990792091811980297296708357406549602205697 5709012538261985283273719763140444951364501505 5709012543910641419904769640323514414154121217 5709012538261985283273719763140444951364501505 5708990793421039976082207858894730740237336577 5708990775476137509480365961243995300270440449 5708990781125356491566258421085175306461904897 5708990775476137509480365961243995300270440449 5708990775476137509480365961243995300270440449 5708990775476137509480365961243995300270440449 5708990775476137509480365961243995300270440449 5708990775476137509480365961243995300270440449 5708990775476137509480365961243995300270440449 5708990775476137509480365961243995300270440449 5708990775476137509480386031301547496262598657 5708990775476137509480365961243995300270440449 5710384588666395620738148550170355999317168129 7135563332680004297100592708829040413811668993 7135911787140643321226842696330513559846910977 7135563332680004297100592708829040413811668993 5710384588666395620738143827803873129671954433 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 5708990770823839524233143877797980545530986497 11417981541647679048466287755595961091061972991) Translation: (begin (define cos-343 (((cos-313 88) 153) (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((cos-57 88) 11417981541647679048466287755595961091061972991) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5710384588666395620738143826650934032610623489) 7135563332680004297100591528795874571539447809) 7135911787140643321226841516009112943309357057) 7135563332680004297100591528795874571539447809) 5710384588666395620738143826650934032610623489) 5708990775476137509480365961243995300270440449) 5708990775476137509480365961243995300270440449) 5708990775476137509480365961243995300270440449) 5708990775476137509480365961243995300270440449) 5708990775476137509480365961243995300270440449) 5708990775476137509480365961243995300270440449) 5708990775476137509480365961243995300270440449) 5708990775476137509480365961243995300270440449) 5708990775476137509480365961243995300270440449) 5708990781125356491566278491142727502454063105) 5708990775476137509480365961243995300270440449) 5708990793421039976082212581261213609882550273) 5709012538261985283273719763140444951364501505) 5709012543910641419904769640323514414154121217) 5709012538261985283273719763140444951364501505) 5708990792091811980297291985990923679956992001) 5708990770823839524233160406080670589289234433) 5708990770823839524233160406080670589289234433) 5708990770823839524233160406080670589289234433) 5708990770823839524233160406080670589289234433) 5708990770823839524233160406080670589289234433) 5708990770823839524233160406080670589289234433) 5708990770823839524233160406080670589289234433) 5708990770823839524233160406080670589289234433) 5708990770823839524233160406080670589289234433) 5708990770823839524233180476138222785281392641) 5708990770823839524233160406080670589289234433) 5708990792091811980297296708357406549602205697) 5709012538261985283273719763140444951364501505) 5709012543910641419904769640323514414154121217) 5709012538261985283273719763140444951364501505) 5708990793421039976082207858894730740237336577) 5708990775476137509480365961243995300270440449) 5708990781125356491566258421085175306461904897) 5708990775476137509480365961243995300270440449) 5708990775476137509480365961243995300270440449) 5708990775476137509480365961243995300270440449) 5708990775476137509480365961243995300270440449) 5708990775476137509480365961243995300270440449) 5708990775476137509480365961243995300270440449) 5708990775476137509480365961243995300270440449) 5708990775476137509480386031301547496262598657) 5708990775476137509480365961243995300270440449) 5710384588666395620738148550170355999317168129) 7135563332680004297100592708829040413811668993) 7135911787140643321226842696330513559846910977) 7135563332680004297100592708829040413811668993) 5710384588666395620738143827803873129671954433) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 5708990770823839524233143877797980545530986497) 11417981541647679048466287755595961091061972991))) 1) ok Expression: (8 (342) (339 (343))) Translation: ((cos-equal cos-342) (cos-339 cos-343)) ok ; GATE testing alternate primer based on gates: COS_OR circuit ; This section contains one or more representations of a circuit ; constructed using UNLESS gates. Needs elaboration... ; graphic representation : IMAGE_SRC=COS_OR.gif ; Expression: (13 344 -1 16 (16 2 4 4 4 (43)) (16 2 6 4 6 (43)) (16 4 4 6 4 (43)) (16 4 6 6 6 (43)) (16 6 4 8 4 (43)) (16 6 6 8 6 (43)) (16 8 4 10 4 (43)) (16 8 6 10 6 (43)) (16 8 8 10 8 (43)) (16 10 2 10 4 (43)) (16 10 4 10 6 (44)) (16 10 6 10 8 (44)) (16 10 8 12 8 (43)) (16 12 8 14 8 (43)) (16 14 8 16 8 (43)) (16 16 8 18 8 (43))) Translation: (begin (define cos-344 (((((((((((((((((cos-57 16) ((((((cos-57 5) 2) 4) 4) 4) cos-43)) ((((((cos-57 5) 2) 6) 4) 6) cos-43)) ((((((cos-57 5) 4) 4) 6) 4) cos-43)) ((((((cos-57 5) 4) 6) 6) 6) cos-43)) ((((((cos-57 5) 6) 4) 8) 4) cos-43)) ((((((cos-57 5) 6) 6) 8) 6) cos-43)) ((((((cos-57 5) 8) 4) 10) 4) cos-43)) ((((((cos-57 5) 8) 6) 10) 6) cos-43)) ((((((cos-57 5) 8) 8) 10) 8) cos-43)) ((((((cos-57 5) 10) 2) 10) 4) cos-43)) ((((((cos-57 5) 10) 4) 10) 6) cos-44)) ((((((cos-57 5) 10) 6) 10) 8) cos-44)) ((((((cos-57 5) 10) 8) 12) 8) cos-43)) ((((((cos-57 5) 12) 8) 14) 8) cos-43)) ((((((cos-57 5) 14) 8) 16) 8) cos-43)) ((((((cos-57 5) 16) 8) 18) 8) cos-43))) 1) ok Expression: (13 345 -1 313 93 169 -1 16 748288838313422294120286634350736906063837462003711 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060144400372902827739659267735553 374144419156711147060144400372902827739659267735553 374144419156711147060144400372902827739659267735553 374144419156711147060144400372902827739659267735553 374144419156711147060144400372902827739659267735553 374144419156711147060144400372902827739659267735553 374144419156711147060144400372902827739659267735553 374144419156711147060144400372902827739659267735553 374144419156711147060144400372902827739659267735553 374144419156711147060145715684194568456201348055041 374144419156711147060144400372902827739659267735553 374144420550528989940763637078910995634730152493057 374145845729273335374723980543608660331568813834241 374145846077727796094878983148241840646004488011777 374145845729273335374723980543608660331568813834241 374144420550528989940763327593901174289661427712001 374144419156711147060143626660378274376987455782913 374144419156711147060143626660378274376987455782913 374144419156711147060143626660378274376987455782913 374144419156711147060143626660378274376987455782913 374144419156711147060143626660378274376987455782913 374144419156711147060143626660378274376987455782913 374144419156711147060143626660378274376987455782913 374144419156711147060143626660378274376987455782913 374144419156711147060143626660378274376987455782913 374144419156711147060145715684194568456201348055041 374144419156711147060144400372902827739659267735553 374144420550528989940763637078910995634730152493057 374145845729273335374723980543608660331568813834241 374145846077727796094878983148241840646004488011777 374145845729273335374723980543608660331568813834241 374144420550528989940763327593901174289661427712001 374144419156711147060143626660378274376987455782913 374144419156711147060143626660378274376987455782913 374144419156711147060143626660378274376987455782913 374144419156711147060143626660378274376987455782913 374144419156711147060143626660378274376987455782913 374144419156711147060143626660378274376987455782913 374144419156711147060143626660378274376987455782913 374144419156711147060143626660378274376987455782913 374144419156711147060143626660378274376987455782913 374144419156711147060145715684194568456201348055041 374144419156711147060144400372902827739659267735553 374144419156711147060148578496094432563098437025793 374144419156711147065211521030856356516508033089537 374144419156711147065212758989785396063035778400257 374144419156711147065211521030856356516508033089537 374144419156711147060148269011084611218029712244737 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 748288838313422294120286634350736906063837462003711) Translation: (begin (define cos-345 (((cos-313 93) 169) ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((cos-57 93) 748288838313422294120286634350736906063837462003711) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060144400372902827739659267735553) 374144419156711147060144400372902827739659267735553) 374144419156711147060144400372902827739659267735553) 374144419156711147060144400372902827739659267735553) 374144419156711147060144400372902827739659267735553) 374144419156711147060144400372902827739659267735553) 374144419156711147060144400372902827739659267735553) 374144419156711147060144400372902827739659267735553) 374144419156711147060144400372902827739659267735553) 374144419156711147060145715684194568456201348055041) 374144419156711147060144400372902827739659267735553) 374144420550528989940763637078910995634730152493057) 374145845729273335374723980543608660331568813834241) 374145846077727796094878983148241840646004488011777) 374145845729273335374723980543608660331568813834241) 374144420550528989940763327593901174289661427712001) 374144419156711147060143626660378274376987455782913) 374144419156711147060143626660378274376987455782913) 374144419156711147060143626660378274376987455782913) 374144419156711147060143626660378274376987455782913) 374144419156711147060143626660378274376987455782913) 374144419156711147060143626660378274376987455782913) 374144419156711147060143626660378274376987455782913) 374144419156711147060143626660378274376987455782913) 374144419156711147060143626660378274376987455782913) 374144419156711147060145715684194568456201348055041) 374144419156711147060144400372902827739659267735553) 374144420550528989940763637078910995634730152493057) 374145845729273335374723980543608660331568813834241) 374145846077727796094878983148241840646004488011777) 374145845729273335374723980543608660331568813834241) 374144420550528989940763327593901174289661427712001) 374144419156711147060143626660378274376987455782913) 374144419156711147060143626660378274376987455782913) 374144419156711147060143626660378274376987455782913) 374144419156711147060143626660378274376987455782913) 374144419156711147060143626660378274376987455782913) 374144419156711147060143626660378274376987455782913) 374144419156711147060143626660378274376987455782913) 374144419156711147060143626660378274376987455782913) 374144419156711147060143626660378274376987455782913) 374144419156711147060145715684194568456201348055041) 374144419156711147060144400372902827739659267735553) 374144419156711147060148578496094432563098437025793) 374144419156711147065211521030856356516508033089537) 374144419156711147065212758989785396063035778400257) 374144419156711147065211521030856356516508033089537) 374144419156711147060148269011084611218029712244737) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 748288838313422294120286634350736906063837462003711))) 1) ok Expression: (8 (344) (339 (345))) Translation: ((cos-equal cos-344) (cos-339 cos-345)) ok ; GATE testing alternate primer based on gates: COS_NOR circuit ; This section contains one or more representations of a circuit ; constructed using UNLESS gates. Needs elaboration... ; graphic representation : IMAGE_SRC=COS_NOR.gif ; Expression: (13 346 -1 16 (16 0 6 2 6 (43)) (16 0 8 2 8 (43)) (16 2 6 4 6 (43)) (16 2 8 4 8 (43)) (16 4 6 6 6 (43)) (16 4 8 6 8 (43)) (16 6 6 8 6 (43)) (16 6 8 8 8 (43)) (16 8 4 8 6 (43)) (16 8 6 8 8 (44)) (16 8 8 8 10 (44)) (16 8 10 10 10 (44)) (16 10 10 12 10 (44)) (16 12 10 14 10 (44)) (16 14 10 16 10 (44)) (16 16 10 18 10 (44)) (16 18 10 20 10 (44))) Translation: (begin (define cos-346 ((((((((((((((((((cos-57 17) ((((((cos-57 5) 0) 6) 2) 6) cos-43)) ((((((cos-57 5) 0) 8) 2) 8) cos-43)) ((((((cos-57 5) 2) 6) 4) 6) cos-43)) ((((((cos-57 5) 2) 8) 4) 8) cos-43)) ((((((cos-57 5) 4) 6) 6) 6) cos-43)) ((((((cos-57 5) 4) 8) 6) 8) cos-43)) ((((((cos-57 5) 6) 6) 8) 6) cos-43)) ((((((cos-57 5) 6) 8) 8) 8) cos-43)) ((((((cos-57 5) 8) 4) 8) 6) cos-43)) ((((((cos-57 5) 8) 6) 8) 8) cos-44)) ((((((cos-57 5) 8) 8) 8) 10) cos-44)) ((((((cos-57 5) 8) 10) 10) 10) cos-44)) ((((((cos-57 5) 10) 10) 12) 10) cos-44)) ((((((cos-57 5) 12) 10) 14) 10) cos-44)) ((((((cos-57 5) 14) 10) 16) 10) cos-44)) ((((((cos-57 5) 16) 10) 18) 10) cos-44)) ((((((cos-57 5) 18) 10) 20) 10) cos-44))) 1) ok Expression: (13 347 -1 313 125 169 -1 16 748288838313422294120286634350736906063837462003711 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147131131750788149299515734110502913 374144419156711147131131750788149299515734110502913 374144419156711147131131750788149299515734110502913 374144419156711147131131750788149299515734110502913 374144419156711147131131750788149299515734110502913 374144419156711147131131750788149299515734110502913 374144419156711147131131750788149299515734110502913 374144419156711147131131750788149299515734110502913 374144419156711147131131750788149299515734110502913 374144419156711147217331991603668898817509928468481 374144419156711147131131750788149299515734110502913 374235764402862171393428515739440470881237578285057 467636278592284531418497818165594042899747234119681 467659114903822287496748515405699129756090133118977 467636278592284531418497818165594042899747234119681 374235764402862171373146106135788800457290326999041 374144419156711147080425726779020123455865982287873 374144419156711147080425726779020123455865982287873 374144419156711147080425726779020123455865982287873 374144419156711147080425726779020123455865982287873 374144419156711147080425726779020123455865982287873 374144419156711147080425726779020123455865982287873 374144419156711147080425726779020123455865982287873 374144419156711147080425726779020123455865982287873 374144419156711147080425726779020123455865982287873 374144419156711147217331991603668898817509928468481 374144419156711147131131750788149299515734110502913 374235764402862171393428515739440470881237578285057 467636278592284531418497818165594042899747234119681 467659114903822287496748515405699129756090133118977 467636278592284531418497818165594042899747234119681 374235764402862171373146106135788800457290326999041 374144419156711147080425726779020123455865982287873 374144419156711147080425726779020123455865982287873 374144419156711147080425726779020123455865982287873 374144419156711147080425726779020123455865982287873 374144419156711147080425726779020123455865982287873 374144419156711147080425726779020123455865982287873 374144419156711147080425726779020123455865982287873 374144419156711147080425726779020123455865982287873 374144419156711147080425726779020123455865982287873 374144419156711147217331991603668898817509928468481 374144419156711147131131750788149299515734110502913 374144419156711147080430678614736281641976963534849 374144419156711147060150744928942690311085202872321 374144419156711147065212758989785396063035782593537 374144419156711147060150744928942690311085202872321 374144419156711147060148269011084611218029712248833 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 748288838313422294120286634350736906063837462003711) Translation: (begin (define cos-347 (((cos-313 125) 169) ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((cos-57 125) 748288838313422294120286634350736906063837462003711) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147131131750788149299515734110502913) 374144419156711147131131750788149299515734110502913) 374144419156711147131131750788149299515734110502913) 374144419156711147131131750788149299515734110502913) 374144419156711147131131750788149299515734110502913) 374144419156711147131131750788149299515734110502913) 374144419156711147131131750788149299515734110502913) 374144419156711147131131750788149299515734110502913) 374144419156711147131131750788149299515734110502913) 374144419156711147217331991603668898817509928468481) 374144419156711147131131750788149299515734110502913) 374235764402862171393428515739440470881237578285057) 467636278592284531418497818165594042899747234119681) 467659114903822287496748515405699129756090133118977) 467636278592284531418497818165594042899747234119681) 374235764402862171373146106135788800457290326999041) 374144419156711147080425726779020123455865982287873) 374144419156711147080425726779020123455865982287873) 374144419156711147080425726779020123455865982287873) 374144419156711147080425726779020123455865982287873) 374144419156711147080425726779020123455865982287873) 374144419156711147080425726779020123455865982287873) 374144419156711147080425726779020123455865982287873) 374144419156711147080425726779020123455865982287873) 374144419156711147080425726779020123455865982287873) 374144419156711147217331991603668898817509928468481) 374144419156711147131131750788149299515734110502913) 374235764402862171393428515739440470881237578285057) 467636278592284531418497818165594042899747234119681) 467659114903822287496748515405699129756090133118977) 467636278592284531418497818165594042899747234119681) 374235764402862171373146106135788800457290326999041) 374144419156711147080425726779020123455865982287873) 374144419156711147080425726779020123455865982287873) 374144419156711147080425726779020123455865982287873) 374144419156711147080425726779020123455865982287873) 374144419156711147080425726779020123455865982287873) 374144419156711147080425726779020123455865982287873) 374144419156711147080425726779020123455865982287873) 374144419156711147080425726779020123455865982287873) 374144419156711147080425726779020123455865982287873) 374144419156711147217331991603668898817509928468481) 374144419156711147131131750788149299515734110502913) 374144419156711147080430678614736281641976963534849) 374144419156711147060150744928942690311085202872321) 374144419156711147065212758989785396063035782593537) 374144419156711147060150744928942690311085202872321) 374144419156711147060148269011084611218029712248833) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 748288838313422294120286634350736906063837462003711))) 1) ok Expression: (8 (346) (339 (347))) Translation: ((cos-equal cos-346) (cos-339 cos-347)) ok ; GATE testing alternate primer based on gates: COS_OSC circuit ; This section contains one or more representations of a circuit ; constructed using UNLESS gates. Needs elaboration... ; graphic representation : IMAGE_SRC=COS_OSC.gif ; Expression: (13 348 -1 16 (16 4 8 6 8 (43)) (16 6 8 8 8 (43)) (16 8 6 8 8 (43)) (16 10 6 8 6 (43)) (16 8 8 10 8 (44)) (16 12 6 10 6 (44)) (16 10 8 12 8 (44)) (16 12 8 12 6 (44)) (16 12 8 14 8 (44)) (16 14 8 16 8 (44))) Translation: (begin (define cos-348 (((((((((((cos-57 10) ((((((cos-57 5) 4) 8) 6) 8) cos-43)) ((((((cos-57 5) 6) 8) 8) 8) cos-43)) ((((((cos-57 5) 8) 6) 8) 8) cos-43)) ((((((cos-57 5) 10) 6) 8) 6) cos-43)) ((((((cos-57 5) 8) 8) 10) 8) cos-44)) ((((((cos-57 5) 12) 6) 10) 6) cos-44)) ((((((cos-57 5) 10) 8) 12) 8) cos-44)) ((((((cos-57 5) 12) 8) 12) 6) cos-44)) ((((((cos-57 5) 12) 8) 14) 8) cos-44)) ((((((cos-57 5) 14) 8) 16) 8) cos-44))) 1) ok Expression: (13 349 -1 313 120 169 -1 16 748288838313422294120286634350736906063837462003711 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147061410987118409796267482229506049 374144419156711147065211501724642141379556131471361 374144419156711147070282200801841696292919759077377 374144419156711147065211501724642141379556131471361 374144419156711147061410987123132162750351874719745 374144419156711147131131750804677582205777868750849 374144419156711147131131750824747639757973860909057 374144419156711147131131750792871665998603755716609 374144419156711147131131750792871665998603755716609 374144419156711147131131750792871665998603755716609 374144419156711147131131750792871665998603755716609 374144419156711147131131750792871665998603755716609 374144419156711147131131750792871665998603755716609 374144419156711147131131750792871665998603755716609 374144419156711147217331991608391265300379573682177 374144419156711147131131750792871665998603755716609 374144419156732415052881790927129469338097201184769 374144419178478916863864196663370297290422782787585 374144419178484233862038988802311299966129076699137 374144419178478916863864196663370297290422782787585 374144419156732415032599381323477798914149949898753 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 748288838313422294120286634350736906063837462003711) Translation: (begin (define cos-349 (((cos-313 120) 169) (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((cos-57 120) 748288838313422294120286634350736906063837462003711) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147061410987118409796267482229506049) 374144419156711147065211501724642141379556131471361) 374144419156711147070282200801841696292919759077377) 374144419156711147065211501724642141379556131471361) 374144419156711147061410987123132162750351874719745) 374144419156711147131131750804677582205777868750849) 374144419156711147131131750824747639757973860909057) 374144419156711147131131750792871665998603755716609) 374144419156711147131131750792871665998603755716609) 374144419156711147131131750792871665998603755716609) 374144419156711147131131750792871665998603755716609) 374144419156711147131131750792871665998603755716609) 374144419156711147131131750792871665998603755716609) 374144419156711147131131750792871665998603755716609) 374144419156711147217331991608391265300379573682177) 374144419156711147131131750792871665998603755716609) 374144419156732415052881790927129469338097201184769) 374144419178478916863864196663370297290422782787585) 374144419178484233862038988802311299966129076699137) 374144419178478916863864196663370297290422782787585) 374144419156732415032599381323477798914149949898753) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 748288838313422294120286634350736906063837462003711))) 1) ok Expression: (8 (348) (339 (349))) Translation: ((cos-equal cos-348) (cos-339 cos-349)) ok ; GATE testing alternate primer based on gates: COS_SR circuit ; This section contains one or more representations of a circuit ; constructed using UNLESS gates. Needs elaboration... ; graphic representation : IMAGE_SRC=COS_SR.gif ; Expression: (13 350 -1 16 (16 0 2 2 2 (43)) (16 0 8 2 8 (43)) (16 2 2 4 2 (43)) (16 2 8 4 8 (43)) (16 4 2 6 2 (43)) (16 4 6 6 6 (43)) (16 4 8 6 8 (43)) (16 6 8 6 6 (43)) (16 6 2 8 2 (43)) (16 6 6 8 6 (44)) (16 8 4 8 6 (44)) (16 8 2 10 2 (43)) (16 10 4 8 4 (44)) (16 8 6 10 6 (44)) (16 10 6 10 8 (44)) (16 10 2 12 2 (43)) (16 12 4 10 4 (44)) (16 10 6 12 6 (44)) (16 10 8 12 8 (44)) (16 12 6 12 4 (44)) (16 12 2 14 2 (43)) (16 14 4 12 4 (44)) (16 12 8 14 8 (44)) (16 14 2 14 4 (43)) (16 16 4 14 4 (43)) (16 14 8 16 8 (44)) (16 16 8 18 8 (44)) (16 18 8 20 8 (44))) Translation: (begin (define cos-350 (((((((((((((((((((((((((((((cos-57 28) ((((((cos-57 5) 0) 2) 2) 2) cos-43)) ((((((cos-57 5) 0) 8) 2) 8) cos-43)) ((((((cos-57 5) 2) 2) 4) 2) cos-43)) ((((((cos-57 5) 2) 8) 4) 8) cos-43)) ((((((cos-57 5) 4) 2) 6) 2) cos-43)) ((((((cos-57 5) 4) 6) 6) 6) cos-43)) ((((((cos-57 5) 4) 8) 6) 8) cos-43)) ((((((cos-57 5) 6) 8) 6) 6) cos-43)) ((((((cos-57 5) 6) 2) 8) 2) cos-43)) ((((((cos-57 5) 6) 6) 8) 6) cos-44)) ((((((cos-57 5) 8) 4) 8) 6) cos-44)) ((((((cos-57 5) 8) 2) 10) 2) cos-43)) ((((((cos-57 5) 10) 4) 8) 4) cos-44)) ((((((cos-57 5) 8) 6) 10) 6) cos-44)) ((((((cos-57 5) 10) 6) 10) 8) cos-44)) ((((((cos-57 5) 10) 2) 12) 2) cos-43)) ((((((cos-57 5) 12) 4) 10) 4) cos-44)) ((((((cos-57 5) 10) 6) 12) 6) cos-44)) ((((((cos-57 5) 10) 8) 12) 8) cos-44)) ((((((cos-57 5) 12) 6) 12) 4) cos-44)) ((((((cos-57 5) 12) 2) 14) 2) cos-43)) ((((((cos-57 5) 14) 4) 12) 4) cos-44)) ((((((cos-57 5) 12) 8) 14) 8) cos-44)) ((((((cos-57 5) 14) 2) 14) 4) cos-43)) ((((((cos-57 5) 16) 4) 14) 4) cos-43)) ((((((cos-57 5) 14) 8) 16) 8) cos-44)) ((((((cos-57 5) 16) 8) 18) 8) cos-44)) ((((((cos-57 5) 18) 8) 20) 8) cos-44))) 1) ok Expression: (13 351 -1 313 88 169 -1 16 748288838313422294120286634350736906063837462003711 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374235764402862171373151057971504958625808853762049 467636278592284531423566022021081928378459376058369 467659114903822287501817957220116054776931906748417 467636278592284531423566022021081928378459376058369 374235764402862171373151057971504958625808853762049 374144419156711147060143317175368705233497863749633 374144419156711147060143317175368705233497863749633 374144419156711147060143317175368705233497863749633 374144419156711147060143317175368705233497863749633 374144419156711147060143317175368705233497863749633 374144419156711147060143317175368705233497863749633 374144419156711147060143317175368705233497863749633 374144419156711147060143317175368705233497863749633 374144419156711147060143317175368705233497863749633 374144419156711147060143317175369011478272524943361 374144419156711147060143317175368705233497863749633 374144419156711147061410987118705020733855247630337 374144419156711147063946327005377944459749701451777 374144419156711147070282200804202339093603204202497 374144419156711147063946327005377944459749701451777 374144419156711147061410987123427315159130854916097 374144419156711147080425726795548406145909740535809 374144419156711147080425726815618463698105732694017 374144419156711147080425726783742489938735627501569 374144419156711147080425726783742489938735627501569 374144419156711147080425726783742489938735627501569 374144419156711147080425726783742489938735627501569 374144419156711147080425726783742489938735627501569 374144419156711147080425726783742489938735627501569 374144419156711147080425726783742489938735627501569 374144419156711147217331991608391265300379573682177 374144419156711147131131750792871665998603755716609 374144419156732415052881790927128316399000408293377 374144419178478585205902357751253795496324564516865 374144419178484233862038988801130978565787354136577 374144419178478585205902357751253795496324564516865 374144419156733744260595166239349549782113437351937 374144419156715799358128873865933437701698436988929 374144419156721448577110959758393278881704628453377 374144419156715799358128873865933437701698436988929 374144419156715799358128873865933437701698436988929 374144419156715799358128873865933437701698436988929 374144419156715799358128873865933437701698436988929 374144419156715799358128873865933437701698436988929 374144419156715799358128873865933437701698436988929 374144419156715799358128873865933437701698436988929 374144419156715799358130962889749731780912329261057 374144419156715799358129647578457991064370248941569 374235764402862171048627862037930911684214415953921 467636278592284199273758148879177705337077251446785 467659114903821955270879284944880896305519206071297 467636278592284199273758148879177705337077251446785 374235764402862171048627552552921090339145691172865 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 748288838313422294120286634350736906063837462003711) Translation: (begin (define cos-351 (((cos-313 88) 169) (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((cos-57 88) 748288838313422294120286634350736906063837462003711) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374235764402862171373151057971504958625808853762049) 467636278592284531423566022021081928378459376058369) 467659114903822287501817957220116054776931906748417) 467636278592284531423566022021081928378459376058369) 374235764402862171373151057971504958625808853762049) 374144419156711147060143317175368705233497863749633) 374144419156711147060143317175368705233497863749633) 374144419156711147060143317175368705233497863749633) 374144419156711147060143317175368705233497863749633) 374144419156711147060143317175368705233497863749633) 374144419156711147060143317175368705233497863749633) 374144419156711147060143317175368705233497863749633) 374144419156711147060143317175368705233497863749633) 374144419156711147060143317175368705233497863749633) 374144419156711147060143317175369011478272524943361) 374144419156711147060143317175368705233497863749633) 374144419156711147061410987118705020733855247630337) 374144419156711147063946327005377944459749701451777) 374144419156711147070282200804202339093603204202497) 374144419156711147063946327005377944459749701451777) 374144419156711147061410987123427315159130854916097) 374144419156711147080425726795548406145909740535809) 374144419156711147080425726815618463698105732694017) 374144419156711147080425726783742489938735627501569) 374144419156711147080425726783742489938735627501569) 374144419156711147080425726783742489938735627501569) 374144419156711147080425726783742489938735627501569) 374144419156711147080425726783742489938735627501569) 374144419156711147080425726783742489938735627501569) 374144419156711147080425726783742489938735627501569) 374144419156711147217331991608391265300379573682177) 374144419156711147131131750792871665998603755716609) 374144419156732415052881790927128316399000408293377) 374144419178478585205902357751253795496324564516865) 374144419178484233862038988801130978565787354136577) 374144419178478585205902357751253795496324564516865) 374144419156733744260595166239349549782113437351937) 374144419156715799358128873865933437701698436988929) 374144419156721448577110959758393278881704628453377) 374144419156715799358128873865933437701698436988929) 374144419156715799358128873865933437701698436988929) 374144419156715799358128873865933437701698436988929) 374144419156715799358128873865933437701698436988929) 374144419156715799358128873865933437701698436988929) 374144419156715799358128873865933437701698436988929) 374144419156715799358128873865933437701698436988929) 374144419156715799358130962889749731780912329261057) 374144419156715799358129647578457991064370248941569) 374235764402862171048627862037930911684214415953921) 467636278592284199273758148879177705337077251446785) 467659114903821955270879284944880896305519206071297) 467636278592284199273758148879177705337077251446785) 374235764402862171048627552552921090339145691172865) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 748288838313422294120286634350736906063837462003711))) 1) ok Expression: (8 (350) (339 (351))) Translation: ((cos-equal cos-350) (cos-339 cos-351)) ok ; GATE testing alternate primer based on gates: COS_D circuit ; This section contains one or more representations of a circuit ; constructed using UNLESS gates. Needs elaboration... ; graphic representation : IMAGE_SRC=COS_D.gif ; Expression: (13 352 -1 16 (16 0 2 2 2 (43)) (16 0 6 2 6 (43)) (16 2 2 4 2 (43)) (16 2 6 4 6 (43)) (16 4 2 6 2 (43)) (16 4 6 6 6 (43)) (16 6 2 8 2 (43)) (16 6 6 8 6 (43)) (16 8 2 10 2 (43)) (16 8 6 10 6 (43)) (16 10 6 10 4 (43)) (16 10 10 10 8 (43)) (16 10 2 12 2 (43)) (16 10 4 12 4 (43)) (16 10 6 12 6 (43)) (16 10 8 12 8 (43)) (16 12 10 10 10 (43)) (16 12 0 12 2 (43)) (16 12 2 12 4 (44)) (16 12 6 12 8 (43)) (16 12 10 12 12 (43)) (16 12 4 14 4 (43)) (16 12 8 14 8 (44)) (16 14 10 12 10 (43)) (16 12 12 14 12 (43)) (16 14 0 14 2 (43)) (16 14 2 14 4 (43)) (16 14 4 14 6 (44)) (16 14 6 14 8 (44)) (16 14 8 14 10 (44)) (16 16 10 14 10 (43)) (16 14 12 16 12 (43)) (16 16 12 18 12 (43)) (16 18 12 20 12 (43))) Translation: (begin (define cos-352 (((((((((((((((((((((((((((((((((((cos-57 34) ((((((cos-57 5) 0) 2) 2) 2) cos-43)) ((((((cos-57 5) 0) 6) 2) 6) cos-43)) ((((((cos-57 5) 2) 2) 4) 2) cos-43)) ((((((cos-57 5) 2) 6) 4) 6) cos-43)) ((((((cos-57 5) 4) 2) 6) 2) cos-43)) ((((((cos-57 5) 4) 6) 6) 6) cos-43)) ((((((cos-57 5) 6) 2) 8) 2) cos-43)) ((((((cos-57 5) 6) 6) 8) 6) cos-43)) ((((((cos-57 5) 8) 2) 10) 2) cos-43)) ((((((cos-57 5) 8) 6) 10) 6) cos-43)) ((((((cos-57 5) 10) 6) 10) 4) cos-43)) ((((((cos-57 5) 10) 10) 10) 8) cos-43)) ((((((cos-57 5) 10) 2) 12) 2) cos-43)) ((((((cos-57 5) 10) 4) 12) 4) cos-43)) ((((((cos-57 5) 10) 6) 12) 6) cos-43)) ((((((cos-57 5) 10) 8) 12) 8) cos-43)) ((((((cos-57 5) 12) 10) 10) 10) cos-43)) ((((((cos-57 5) 12) 0) 12) 2) cos-43)) ((((((cos-57 5) 12) 2) 12) 4) cos-44)) ((((((cos-57 5) 12) 6) 12) 8) cos-43)) ((((((cos-57 5) 12) 10) 12) 12) cos-43)) ((((((cos-57 5) 12) 4) 14) 4) cos-43)) ((((((cos-57 5) 12) 8) 14) 8) cos-44)) ((((((cos-57 5) 14) 10) 12) 10) cos-43)) ((((((cos-57 5) 12) 12) 14) 12) cos-43)) ((((((cos-57 5) 14) 0) 14) 2) cos-43)) ((((((cos-57 5) 14) 2) 14) 4) cos-43)) ((((((cos-57 5) 14) 4) 14) 6) cos-44)) ((((((cos-57 5) 14) 6) 14) 8) cos-44)) ((((((cos-57 5) 14) 8) 14) 10) cos-44)) ((((((cos-57 5) 16) 10) 14) 10) cos-43)) ((((((cos-57 5) 14) 12) 16) 12) cos-43)) ((((((cos-57 5) 16) 12) 18) 12) cos-43)) ((((((cos-57 5) 18) 12) 20) 12) cos-43))) 1) ok Expression: (13 353 -1 313 109 169 -1 16 748288838313422294120286634350736906063837462003711 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317191896987923541621997569 374144419156711147060143317191896987923541621997569 374144419156711147060143317191896987923541621997569 374144419156711147060143317191896987923541621997569 374144419156711147060143317191896987923541621997569 374144419156711147060143317191896987923541621997569 374144419156711147060143317191896987923541621997569 374144419156711147060143317191896987923541621997569 374144419156711147060143317191896987923541621997569 374144419156711147060143317211967351720512275349505 374144419156711147060143317191896987923541621997569 374235764402862171373151057976226244244767930056705 467636278592284531423566022019901913218494268178433 467659114903822287501817957218935751386590647156737 467636278592284531423566022019901913218494268178433 374235764402862171373151057971503805704304246915073 374144419156711147060143317180091071716367508963329 374144419156711147060143317180091071716367508963329 374144419156711147060143317180091071716367508963329 374144419156711147060143317180091071716367508963329 374144419156711147060143317180091071716367508963329 374144419156711147060143317180091071716367508963329 374144419156711147060143317180091071716367508963329 374144419156711147060143317180091071716367508963329 374144419156711147060143317180091071716367508963329 374144419156711147060143317211967351720512275349505 374144419156711147060143317191896987923541621997569 374144419156711147060143317255649908219801344409601 374144419156711147060143394510021991665193858367489 374144419156711147060143394528911745827048590934017 374144419156711147060143394510021991665193858367489 374144419156711147060143626735937291024406386049025 374144419156711147060144400372902899797253305663489 374144419156711147060145715684194640513795385982977 374144419156711147060144400372902899797253305663489 374144419156711147060144400372902899797253305663489 374144419156711147060144400372902899797253305663489 374144419156711147060144400372902899797253305663489 374144419156711147060144400372902899797253305663489 374144419156711147060144400372902899797253305663489 374144419156711147060144400372902899797253305663489 374144419156711147060144400372903386186013061677057 374144419156711147060144400372903079941238400483329 374235764402862171373151057971503877761898284843009 467636278592284531423566022019901913218494268178433 467659114903822287501817957218935751386590647156737 467636278592284531423566022019901913218494268178433 374235764402862171373151057971503805704304246915073 374144419156711147060143317191896807779556527177729 374144419156711147060143317191896807779556527177729 374144419156711147060143317191896807779556527177729 374144419156711147060143317191896807779556527177729 374144419156711147060143317191896807779556527177729 374144419156711147060143317191896807779556527177729 374144419156711147060143317191896807779556527177729 374144419156711147060143317191896807779556527177729 374144419156711147060143317191896807779556527177729 374144419156711147060143317211967351720512275349505 374144419156711147060143317191896987923541621997569 374144419156711147060143317255649908219801344409601 374144419156711147060143394508843705887485660758017 374144419156711147060143394528911745827048590934017 374144419156711147060143394508843705887485660758017 374144419156711147060143626735937291024406386049025 374144419156711147060144400372902899797253305663489 374144419156711147060145715684194640513795385982977 374144419156711147060144400372902899797253305663489 374144419156711147060144400372902899797253305663489 374144419156711147060144400372902899797253305663489 374144419156711147060144400372902899797253305663489 374144419156711147060144400372902899797253305663489 374144419156711147060144400372902899797253305663489 374144419156711147060144400372902899797253305663489 374144419156711147060144400372903386186013061677057 374144419156711147060144400372903079941238400483329 374144419156711147060143336518476791332358544424961 374144419156711147060143394510022009670796274827265 374144419156711147060143471882455074642179376807937 374144419156711147060143394510022009670796274827265 374144419156711147060143336518476719274764506497025 374144419156711147060143317191896735721962489249793 374144419156711147060143317191896735721962489249793 374144419156711147060143317191896735721962489249793 374144419156711147060143317191896735721962489249793 374144419156711147060143317191896735721962489249793 374144419156711147060143317191896735721962489249793 374144419156711147060143317191896735721962489249793 374144419156711147060143317191896735721962489249793 374144419156711147060143317191896735721962489249793 374144419156711147060143317211966793274158481408001 374144419156711147060143317191896735721962489249793 374144419156711147060143317180091972453885437546497 374144419156711147060143317176548486197761003223041 374144419156711147060143317176548774432535268555777 374144419156711147060143317176548486197761003223041 374144419156711147060143317175369605971015792332801 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 374144419156711147060143317175368453031918731001857 748288838313422294120286634350736906063837462003711) Translation: (begin (define cos-353 (((cos-313 109) 169) ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((cos-57 109) 748288838313422294120286634350736906063837462003711) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317191896987923541621997569) 374144419156711147060143317191896987923541621997569) 374144419156711147060143317191896987923541621997569) 374144419156711147060143317191896987923541621997569) 374144419156711147060143317191896987923541621997569) 374144419156711147060143317191896987923541621997569) 374144419156711147060143317191896987923541621997569) 374144419156711147060143317191896987923541621997569) 374144419156711147060143317191896987923541621997569) 374144419156711147060143317211967351720512275349505) 374144419156711147060143317191896987923541621997569) 374235764402862171373151057976226244244767930056705) 467636278592284531423566022019901913218494268178433) 467659114903822287501817957218935751386590647156737) 467636278592284531423566022019901913218494268178433) 374235764402862171373151057971503805704304246915073) 374144419156711147060143317180091071716367508963329) 374144419156711147060143317180091071716367508963329) 374144419156711147060143317180091071716367508963329) 374144419156711147060143317180091071716367508963329) 374144419156711147060143317180091071716367508963329) 374144419156711147060143317180091071716367508963329) 374144419156711147060143317180091071716367508963329) 374144419156711147060143317180091071716367508963329) 374144419156711147060143317180091071716367508963329) 374144419156711147060143317211967351720512275349505) 374144419156711147060143317191896987923541621997569) 374144419156711147060143317255649908219801344409601) 374144419156711147060143394510021991665193858367489) 374144419156711147060143394528911745827048590934017) 374144419156711147060143394510021991665193858367489) 374144419156711147060143626735937291024406386049025) 374144419156711147060144400372902899797253305663489) 374144419156711147060145715684194640513795385982977) 374144419156711147060144400372902899797253305663489) 374144419156711147060144400372902899797253305663489) 374144419156711147060144400372902899797253305663489) 374144419156711147060144400372902899797253305663489) 374144419156711147060144400372902899797253305663489) 374144419156711147060144400372902899797253305663489) 374144419156711147060144400372902899797253305663489) 374144419156711147060144400372903386186013061677057) 374144419156711147060144400372903079941238400483329) 374235764402862171373151057971503877761898284843009) 467636278592284531423566022019901913218494268178433) 467659114903822287501817957218935751386590647156737) 467636278592284531423566022019901913218494268178433) 374235764402862171373151057971503805704304246915073) 374144419156711147060143317191896807779556527177729) 374144419156711147060143317191896807779556527177729) 374144419156711147060143317191896807779556527177729) 374144419156711147060143317191896807779556527177729) 374144419156711147060143317191896807779556527177729) 374144419156711147060143317191896807779556527177729) 374144419156711147060143317191896807779556527177729) 374144419156711147060143317191896807779556527177729) 374144419156711147060143317191896807779556527177729) 374144419156711147060143317211967351720512275349505) 374144419156711147060143317191896987923541621997569) 374144419156711147060143317255649908219801344409601) 374144419156711147060143394508843705887485660758017) 374144419156711147060143394528911745827048590934017) 374144419156711147060143394508843705887485660758017) 374144419156711147060143626735937291024406386049025) 374144419156711147060144400372902899797253305663489) 374144419156711147060145715684194640513795385982977) 374144419156711147060144400372902899797253305663489) 374144419156711147060144400372902899797253305663489) 374144419156711147060144400372902899797253305663489) 374144419156711147060144400372902899797253305663489) 374144419156711147060144400372902899797253305663489) 374144419156711147060144400372902899797253305663489) 374144419156711147060144400372902899797253305663489) 374144419156711147060144400372903386186013061677057) 374144419156711147060144400372903079941238400483329) 374144419156711147060143336518476791332358544424961) 374144419156711147060143394510022009670796274827265) 374144419156711147060143471882455074642179376807937) 374144419156711147060143394510022009670796274827265) 374144419156711147060143336518476719274764506497025) 374144419156711147060143317191896735721962489249793) 374144419156711147060143317191896735721962489249793) 374144419156711147060143317191896735721962489249793) 374144419156711147060143317191896735721962489249793) 374144419156711147060143317191896735721962489249793) 374144419156711147060143317191896735721962489249793) 374144419156711147060143317191896735721962489249793) 374144419156711147060143317191896735721962489249793) 374144419156711147060143317191896735721962489249793) 374144419156711147060143317211966793274158481408001) 374144419156711147060143317191896735721962489249793) 374144419156711147060143317180091972453885437546497) 374144419156711147060143317176548486197761003223041) 374144419156711147060143317176548774432535268555777) 374144419156711147060143317176548486197761003223041) 374144419156711147060143317175369605971015792332801) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 374144419156711147060143317175368453031918731001857) 748288838313422294120286634350736906063837462003711))) 1) ok Expression: (8 (352) (339 (353))) Translation: ((cos-equal cos-352) (cos-339 cos-353)) ok ; GATE probing networks of unless gates Expression: (13 354 -1 12 292 -1 12 355 -1 12 159 -1 14 356 (62 (292) (355)) (85 (12 39 (15 (8 (39) (356)) (16 (62 (39) 0) (62 (39) 1) (62 (39) 2) (62 (39) 3) (159)) (39))) (292))) Translation: (begin (define cos-354 (lambda (cos-292) (lambda (cos-355) (lambda (cos-159) ((lambda (cos-356) ((cos-85 (lambda (cos-39) (if (tish ((cos-equal cos-39) cos-356)) ((((((cos-57 5) ((cos-62 cos-39) 0)) ((cos-62 cos-39) 1)) ((cos-62 cos-39) 2)) ((cos-62 cos-39) 3)) cos-159) cos-39))) cos-292)) ((cos-62 cos-292) cos-355)))))) 1) ok Expression: (13 357 -1 12 292 -1 12 355 -1 14 358 (61 -1 292) -1 14 356 (62 (292) -1 11 (11 (358) 1) (355)) -1 62 (356) 4) Translation: (begin (define cos-357 (lambda (cos-292) (lambda (cos-355) ((lambda (cos-358) ((lambda (cos-356) ((cos-62 cos-356) 4)) ((cos-62 cos-292) ((cos-- ((cos-- cos-358) 1)) cos-355)))) (cos-61 cos-292))))) 1) ok Expression: (13 359 -1 12 292 -1 12 360 -1 12 361 (15 (3 (360) 0) (359 (307 (361 -1 292)) (11 (360) 1) (361)) (292))) Translation: (begin (define cos-359 (lambda (cos-292) (lambda (cos-360) (lambda (cos-361) (if (tish ((cos-> cos-360) 0)) (((cos-359 (cos-307 (cos-361 cos-292))) ((cos-- cos-360) 1)) cos-361) cos-292))))) 1) ok Expression: (13 362 -1 12 292 -1 12 361 -1 359 (292) (61 -1 292) (361)) Translation: (begin (define cos-362 (lambda (cos-292) (lambda (cos-361) (((cos-359 cos-292) (cos-61 cos-292)) cos-361)))) 1) ok ; test cos_not gate Expression: (13 363 -1 12 37 -1 14 109 (340) -1 14 109 (362 (109) (12 109 (354 (109) 0 (37)))) -1 357 (109) 0) Translation: (begin (define cos-363 (lambda (cos-37) ((lambda (cos-109) ((lambda (cos-109) ((cos-357 cos-109) 0)) ((cos-362 cos-109) (lambda (cos-109) (((cos-354 cos-109) 0) cos-37))))) cos-340))) 1) ok Expression: (2 (44) -1 363 -1 43) Translation: ((cos-= cos-44) (cos-363 cos-43)) ok Expression: (2 (43) -1 363 -1 44) Translation: ((cos-= cos-43) (cos-363 cos-44)) ok ; test cos_and gate Expression: (13 364 -1 12 37 -1 12 36 -1 14 109 (342) -1 14 109 (362 (109) (12 109 (354 (354 (109) 0 (37)) 1 (36)))) -1 357 (109) 0) Translation: (begin (define cos-364 (lambda (cos-37) (lambda (cos-36) ((lambda (cos-109) ((lambda (cos-109) ((cos-357 cos-109) 0)) ((cos-362 cos-109) (lambda (cos-109) (((cos-354 (((cos-354 cos-109) 0) cos-37)) 1) cos-36))))) cos-342)))) 1) ok Expression: (2 (44) -1 364 (44) (44)) Translation: ((cos-= cos-44) ((cos-364 cos-44) cos-44)) ok Expression: (2 (44) -1 364 (44) (43)) Translation: ((cos-= cos-44) ((cos-364 cos-44) cos-43)) ok Expression: (2 (44) -1 364 (43) (44)) Translation: ((cos-= cos-44) ((cos-364 cos-43) cos-44)) ok Expression: (2 (43) -1 364 (43) (43)) Translation: ((cos-= cos-43) ((cos-364 cos-43) cos-43)) ok ; this code is more awkward than it needs to be - ; should make circuits mutable ; NOTE end of part 3, start of part 4 ; The following parts of the message start ; to introduce some self-reference into the message Expression: (0 365) Translation: (cos-intro 365) ok ; SELF a mechanism for referring to parts of the message ; Many choices for how to do this. ; Could do it without special machinery by using the ; standard A-B trick for giving e.g. a Turing machine ; access to its own description. ; Instead, will simply introduce a ''primer'' function ; that gives access to every statement made so far ; (question: should future statements be included? ; tentatively assume YES: will simplify ; discussion of creating modified copies of the ; complete message). ; For now, assume primer is a list of statements, ; with each statement being a list in the same ; form as ''translate'' functions expect. ; This means that there is, for now, no ; distinction between unary or binary, ; and the ''/'' structure is expanded. Expression: (0 35) Translation: (cos-intro 35) ok ; this line is referred to later - change/move carefully Expression: (8 (62 (35) 0) (16 0 1)) Translation: ((cos-equal ((cos-62 cos-primer) 0)) (((cos-57 2) 0) 1)) ok Expression: (8 (62 (35) 1) (16 0 2)) Translation: ((cos-equal ((cos-62 cos-primer) 1)) (((cos-57 2) 0) 2)) ok Expression: (8 (62 (35) 2) (16 0 3)) Translation: ((cos-equal ((cos-62 cos-primer) 2)) (((cos-57 2) 0) 3)) ok Expression: (14 70 (71 (35) (16 0 35) (12 37 0)) (8 (62 (35) (10 (70) 1)) (16 8 (16 62 (16 35) 0) (16 16 0 1)))) Translation: ((lambda (cos-70) ((cos-equal ((cos-62 cos-primer) ((cos-+ cos-70) 1))) ((((cos-57 3) 8) ((((cos-57 3) 62) ((cos-57 1) 35)) 0)) ((((cos-57 3) 16) 0) 1)))) (((cos-71 cos-primer) (((cos-57 2) 0) 35)) (lambda (cos-37) 0))) ok ; Now, we could return to the MUD, simulate an agent A ; transferring a copy of the primer to another agent B, ; and then show B making a modified copy of that primer ; and passing it back to A. ; We could also show agents experimenting with the ; primer in various ways. ; Message is pretty solid up to this point. ; For testing purposes, useful to save state here to disk, ; command: DISK-SAVE base ; JAVA some preparatory work for integrating with Java code Expression: (216 366 () (147 367 (26 (37) (10 (37) 1))) (147 224 (26 (37) (37))) (147 368 (152)) (147 369 (152)) (147 223 366) (147 370 (215 225)) (147 371 (152 370)) (147 372 (43)) (147 373 (43))) Translation: (begin (define cos-366 (lambda (cos-219) ((lambda (cos-220) ((lambda (cos-152) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-152) (cos-152 200)))) (cos-190 (lambda (cos-152) ((lambda (cos-215) ((lambda (cos-222) (lambda (cos-147) (if (tish ((cos-= cos-147) 367)) (lambda (cos-37) ((cos-+ cos-37) 1)) (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) cos-37) (if (tish ((cos-= cos-147) 368)) cos-152 (if (tish ((cos-= cos-147) 369)) cos-152 (if (tish ((cos-= cos-147) 223)) 366 (if (tish ((cos-= cos-147) 370)) (cos-215 225) (if (tish ((cos-= cos-147) 371)) (cos-152 370) (if (tish ((cos-= cos-147) 372)) cos-43 (if (tish ((cos-= cos-147) 373)) cos-43 (if (tish ((cos-= cos-147) 152)) cos-152 (if (tish ((cos-= cos-147) 366)) (cos-152 152) (if (tish ((cos-= cos-147) 223)) 366 (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) 0) (if (tish ((cos-= cos-147) 200)) 0 (if (tish ((cos-= cos-147) 220)) cos-220 (if (tish ((cos-= cos-147) 225)) (lambda (cos-37) ((cos-= cos-220) (cos-37 220))) ((cos-152 224) cos-147))))))))))))))))))) 1)) ((cos-214 cos-219) cos-152)))))) (cos-211 200)))) 1) ok Expression: (13 374 -1 366) Translation: (begin (define cos-374 cos-366) 1) ok Expression: (13 372 -1 12 37 -1 43) Translation: (begin (define cos-372 (lambda (cos-37) cos-43)) 1) ok ;(class java-string () ; (field super (java-object new)) ; (method classname String) ; (method unknown (lambda (x) (super (x))))); ; inconsistency of various kinds of equality throughout message ; needs to be cleaned up Expression: (216 375 () (221 203 (374 200)) (221 159 (231 200 0)) (147 369 (152)) (147 368 (152)) (147 376 (26 (173) (128 (159 235 (173)) (152)))) (147 377 (159 234)) (147 378 (152 377)) (147 370 (26 (379) (15 (2 (379 223) 375) (2 (159 234) (379 159 234)) (44)))) (147 371 (152 370)) (147 234 (159 234)) (147 235 (26 (37) (159 235 (15 (24 -1 37) (37) (37 378))))) (147 223 375) (147 224 (26 (37) (203 (37))))) Translation: (begin (define cos-375 (lambda (cos-219) ((lambda (cos-220) ((lambda (cos-159) ((lambda (cos-203) ((lambda (cos-152) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-152) (cos-152 200)))) (cos-190 (lambda (cos-152) ((lambda (cos-215) ((lambda (cos-222) (lambda (cos-147) (if (tish ((cos-= cos-147) 369)) cos-152 (if (tish ((cos-= cos-147) 368)) cos-152 (if (tish ((cos-= cos-147) 376)) (lambda (cos-173) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-152) ((cos-159 235) cos-173)))) (if (tish ((cos-= cos-147) 377)) (cos-159 234) (if (tish ((cos-= cos-147) 378)) (cos-152 377) (if (tish ((cos-= cos-147) 370)) (lambda (cos-379) (if (tish ((cos-= (cos-379 223)) 375)) ((cos-= (cos-159 234)) ((cos-379 159) 234)) cos-44)) (if (tish ((cos-= cos-147) 371)) (cos-152 370) (if (tish ((cos-= cos-147) 234)) (cos-159 234) (if (tish ((cos-= cos-147) 235)) (lambda (cos-37) ((cos-159 235) (if (tish (cos-number? cos-37)) cos-37 (cos-37 378)))) (if (tish ((cos-= cos-147) 223)) 375 (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) (cos-203 cos-37)) (if (tish ((cos-= cos-147) 203)) cos-203 (if (tish ((cos-= cos-147) 159)) cos-159 (if (tish ((cos-= cos-147) 152)) cos-152 (if (tish ((cos-= cos-147) 375)) (cos-152 152) (if (tish ((cos-= cos-147) 223)) 375 (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) 0) (if (tish ((cos-= cos-147) 200)) 0 (if (tish ((cos-= cos-147) 220)) cos-220 (if (tish ((cos-= cos-147) 225)) (lambda (cos-37) ((cos-= cos-220) (cos-37 220))) ((cos-152 224) cos-147))))))))))))))))))))))) 1)) ((cos-214 cos-219) cos-152)))))) (cos-374 200))) ((cos-231 200) 0))) (cos-211 200)))) 1) ok ; string is basically the same as an integer Expression: (216 380 () (221 203 (374 200)) (221 159 (231 200 0)) (147 369 (152)) (147 368 (152)) (147 381 (26 (173) (128 (159 235 (173 159 234)) (152)))) (147 382 (26 (37) (128 (159 235 (37)) (152)))) (147 377 (159 234)) (147 378 (152 377)) (147 234 (159 234)) (147 235 (26 (37) (159 235 (15 (24 -1 37) (37) (37 378))))) (147 370 (26 (379) (15 (2 (379 223) 380) (2 (159 234) (379 159 234)) (44)))) (147 371 (152 370)) (147 223 380) (147 224 (26 (37) (203 (37))))) Translation: (begin (define cos-380 (lambda (cos-219) ((lambda (cos-220) ((lambda (cos-159) ((lambda (cos-203) ((lambda (cos-152) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-152) (cos-152 200)))) (cos-190 (lambda (cos-152) ((lambda (cos-215) ((lambda (cos-222) (lambda (cos-147) (if (tish ((cos-= cos-147) 369)) cos-152 (if (tish ((cos-= cos-147) 368)) cos-152 (if (tish ((cos-= cos-147) 381)) (lambda (cos-173) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-152) ((cos-159 235) ((cos-173 159) 234))))) (if (tish ((cos-= cos-147) 382)) (lambda (cos-37) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-152) ((cos-159 235) cos-37)))) (if (tish ((cos-= cos-147) 377)) (cos-159 234) (if (tish ((cos-= cos-147) 378)) (cos-152 377) (if (tish ((cos-= cos-147) 234)) (cos-159 234) (if (tish ((cos-= cos-147) 235)) (lambda (cos-37) ((cos-159 235) (if (tish (cos-number? cos-37)) cos-37 (cos-37 378)))) (if (tish ((cos-= cos-147) 370)) (lambda (cos-379) (if (tish ((cos-= (cos-379 223)) 380)) ((cos-= (cos-159 234)) ((cos-379 159) 234)) cos-44)) (if (tish ((cos-= cos-147) 371)) (cos-152 370) (if (tish ((cos-= cos-147) 223)) 380 (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) (cos-203 cos-37)) (if (tish ((cos-= cos-147) 203)) cos-203 (if (tish ((cos-= cos-147) 159)) cos-159 (if (tish ((cos-= cos-147) 152)) cos-152 (if (tish ((cos-= cos-147) 380)) (cos-152 152) (if (tish ((cos-= cos-147) 223)) 380 (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) 0) (if (tish ((cos-= cos-147) 200)) 0 (if (tish ((cos-= cos-147) 220)) cos-220 (if (tish ((cos-= cos-147) 225)) (lambda (cos-37) ((cos-= cos-220) (cos-37 220))) ((cos-152 224) cos-147)))))))))))))))))))))))) 1)) ((cos-214 cos-219) cos-152)))))) (cos-374 200))) ((cos-231 200) 0))) (cos-211 200)))) 1) ok ; will need to install class hierarchy, just hardcode a few things for now Expression: (13 383 (12 37 -1 12 36 -1 (181 ((2 (36) 380) (380)) ((2 (36) 366) (374)) ((2 (36) 375) (375)) (374)))) Translation: (begin (define cos-383 (lambda (cos-37) (lambda (cos-36) (if (tish ((cos-= cos-36) 380)) cos-380 (if (tish ((cos-= cos-36) 366)) cos-374 (if (tish ((cos-= cos-36) 375)) cos-375 cos-374)))))) 1) ok Expression: ((383 384 380) 200 373) Translation: ((((cos-383 384) 380) 200) 373) ok Expression: (2 ((383 384 380) 200 367 15) 16) Translation: ((cos-= (((((cos-383 384) 380) 200) 367) 15)) 16) ok Expression: (216 385 () (221 203 (374 200)) (147 224 (26 (37) (203 (37)))) (221 386 (231 200 0)) (147 234 (386 234)) (147 387 (26 (173) (128 (152 235 (173)) (152)))) (147 235 (26 (173) (386 235 (173))))) Translation: (begin (define cos-385 (lambda (cos-219) ((lambda (cos-220) ((lambda (cos-386) ((lambda (cos-203) ((lambda (cos-152) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-152) (cos-152 200)))) (cos-190 (lambda (cos-152) ((lambda (cos-215) ((lambda (cos-222) (lambda (cos-147) (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) (cos-203 cos-37)) (if (tish ((cos-= cos-147) 234)) (cos-386 234) (if (tish ((cos-= cos-147) 387)) (lambda (cos-173) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-152) ((cos-152 235) cos-173)))) (if (tish ((cos-= cos-147) 235)) (lambda (cos-173) ((cos-386 235) cos-173)) (if (tish ((cos-= cos-147) 203)) cos-203 (if (tish ((cos-= cos-147) 386)) cos-386 (if (tish ((cos-= cos-147) 152)) cos-152 (if (tish ((cos-= cos-147) 385)) (cos-152 152) (if (tish ((cos-= cos-147) 223)) 385 (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) 0) (if (tish ((cos-= cos-147) 200)) 0 (if (tish ((cos-= cos-147) 220)) cos-220 (if (tish ((cos-= cos-147) 225)) (lambda (cos-37) ((cos-= cos-220) (cos-37 220))) ((cos-152 224) cos-147)))))))))))))))) 1)) ((cos-214 cos-219) cos-152)))))) (cos-374 200))) ((cos-231 200) 0))) (cos-211 200)))) 1) ok Expression: (13 388 (385)) Translation: (begin (define cos-388 cos-385) 1) ok Expression: (13 389 (385)) Translation: (begin (define cos-389 cos-385) 1) ok Expression: (13 390 (385)) Translation: (begin (define cos-390 cos-385) 1) ok Expression: (13 391 (385)) Translation: (begin (define cos-391 cos-385) 1) ok Expression: (13 174 (385)) Translation: (begin (define cos-174 cos-385) 1) ok Expression: (13 392 (385)) Translation: (begin (define cos-392 cos-385) 1) ok Expression: (13 393 (385)) Translation: (begin (define cos-393 cos-385) 1) ok Expression: (13 394 (385)) Translation: (begin (define cos-394 cos-385) 1) ok Expression: (13 395 (385)) Translation: (begin (define cos-395 cos-385) 1) ok Expression: (13 396 (174 200)) Translation: (begin (define cos-396 (cos-174 200)) 1) ok Expression: (396 235 15) Translation: ((cos-396 235) 15) ok Expression: (2 15 (396 234)) Translation: ((cos-= 15) (cos-396 234)) ok Expression: (13 397 (174 200 387 17)) Translation: (begin (define cos-397 (((cos-174 200) 387) 17)) 1) ok Expression: (2 17 (397 234)) Translation: ((cos-= 17) (cos-397 234)) ok Expression: (13 398 (12 37 (181 ((2 (37) 1) 20) ((2 (37) 2) 40) ((2 (37) 3) 60) 0))) Translation: (begin (define cos-398 (lambda (cos-37) (if (tish ((cos-= cos-37) 1)) 20 (if (tish ((cos-= cos-37) 2)) 40 (if (tish ((cos-= cos-37) 3)) 60 0))))) 1) ok Expression: (2 (398 3) 60) Translation: ((cos-= (cos-398 3)) 60) ok ; really ought to go back and be clear about eager/laziness issues Expression: (13 399 (12 37 (181 ((2 (37) 1) (396 235 20)) ((2 (37) 2) (396 235 40)) ((2 (37) 3) (396 235 60)) 0))) Translation: (begin (define cos-399 (lambda (cos-37) (if (tish ((cos-= cos-37) 1)) ((cos-396 235) 20) (if (tish ((cos-= cos-37) 2)) ((cos-396 235) 40) (if (tish ((cos-= cos-37) 3)) ((cos-396 235) 60) 0))))) 1) ok Expression: (399 2) Translation: (cos-399 2) ok Expression: (2 (396 234) 40) Translation: ((cos-= (cos-396 234)) 40) ok Expression: (13 400 (26 (401 402) (15 (24 -1 401) (24 -1 402) (2 (401 220) (402 220))))) Translation: (begin (define cos-400 (lambda (cos-401) (lambda (cos-402) (if (tish (cos-number? cos-401)) (cos-number? cos-402) ((cos-= (cos-401 220)) (cos-402 220)))))) 1) ok Expression: (13 403 (26 (404 405 406 56) (12 407 (128 (406 235 (10 (406 234) 1)) -1 181 ((2 (407) 200) (26 (408) (409 (405) ((408) 200)))) ((2 (407) 410) (409 (405) (411 (405)))) ((2 (407) 412) (26 (178) 1)) ((6 (2 (407) 413) (2 (407) 414)) (26 (355) (404 235 (130 (404 234) (355) (415 (405)))))) ((6 (2 (407) 416) (2 (407) 417)) (26 (355) (409 (405) (132 (404 234) (355))))) ((6 (2 (407) 418) (2 (407) 419)) (26 (420) (409 (405) (420)))) ((2 (407) 421) (409 (405) 0)) ((2 (407) 176) (26 (178) (409 (405) (4 -1 24 -1 (415 -1 405) (178 200 223))))) ((2 (407) 422) (26 (68 423) (409 (405) ((415 (405)) (68) 234)))) ((2 (407) 424) (26 (68 423) (77 ((420 (415 (405)))) ((415 (405)) (68) 235 (420))))) ((2 (407) 425) (77 ((426 (415 (405)))) (77 ((427 (415 (405)))) (409 (405) (9 (427) (426)))))) ((2 (407) 428) (77 ((426 (415 (405)))) (77 ((427 (415 (405)))) (409 (405) (10 (427) (426)))))) ((2 (407) 429) (77 ((426 (415 (405)))) (77 ((427 (415 (405)))) (409 (405) (11 (427) (426)))))) ((2 (407) 430) (26 (37) (406 235 (37)))) ((2 (407) 431) (26 (37) (15 (1 (415 (405)) 0) (406 235 (37)) 0))) ((2 (407) 432) (26 (37) (15 (1 (415 (405)) 1) (406 235 (37)) 0))) ((2 (407) 433) (26 (37) (15 (3 (415 (405)) 0) (406 235 (37)) 0))) ((2 (407) 434) (26 (37) (15 (49 (415 (405)) 0) (406 235 (37)) 0))) ((2 (407) 435) (26 (37) (15 (4 (2 (415 (405)) 0)) (406 235 (37)) 0))) ((2 (407) 436) (26 (37) (15 (2 (415 (405)) 0) (406 235 (37)) 0))) ((2 (407) 437) (77 ((426 (415 (405)))) (77 ((427 (415 (405)))) (26 (37) (15 (4 (2 (427) (426))) (406 235 (37)) 0))))) ((2 (407) 438) (77 ((426 (415 (405)))) (77 ((427 (415 (405)))) (26 (37) (15 (2 (427) (426)) (406 235 (37)) 0))))) ((2 (407) 439) (77 ((426 (415 (405)))) (77 ((427 (415 (405)))) (26 (37) (15 (4 (400 (427) (426))) (406 235 (37)) 0))))) ((2 (407) 440) (77 ((426 (415 (405)))) (77 ((427 (415 (405)))) (26 (37) (15 (400 (427) (426)) (406 235 (37)) 0))))) ((2 (407) 441) (77 ((426 (415 (405)))) (77 ((427 (415 (405)))) (26 (37) (15 (49 (427) (426)) (406 235 (37)) 0))))) ((2 (407) 442) (77 ((426 (415 (405)))) (77 ((427 (415 (405)))) (26 (37) (15 (3 (427) (426)) (406 235 (37)) 0))))) ((2 (407) 443) (77 ((426 (415 (405)))) (77 ((427 (415 (405)))) (26 (37) (15 (50 (427) (426)) (406 235 (37)) 0))))) ((2 (407) 444) (77 ((426 (415 (405)))) (77 ((427 (415 (405)))) (26 (37) (15 (1 (427) (426)) (406 235 (37)) 0))))) ((2 (407) 445) (26 (37) (15 (24 -1 415 (405)) (406 235 (37)) 0))) ((2 (407) 446) (26 (37) (15 (4 (24 -1 415 (405))) (406 235 (37)) 0))) ((2 (407) 187) (128 (56 235 (132 (404 234) 0)) (406 235 447))) ((2 (407) 448) (128 (56 235 (415 (405))) (406 235 447))) ((2 (407) 449) (128 (56 235 (415 (405))) (406 235 447))) ((2 (407) 430) (26 (450) (406 235 (450)))) ((2 (407) 451) (26 (450 287 48) (77 ((452 (453 (405) (450) (287)))) (15 (2 (48) 1) (409 (405) (452)) 0)))) ((2 (407) 454) (26 (450 287 48 423) (77 ((452 (453 (405) (450) (287)))) (15 (2 (48) 1) (409 (405) (452)) 0)))) ((2 (407) 455) (26 (450 287 48) (77 ((452 (456 (405) (132 (404 234) 0) (450) (287)))) (15 (2 (48) 1) (409 (405) (452)) 0)))) 0)))) Translation: (begin (define cos-403 (lambda (cos-404) (lambda (cos-405) (lambda (cos-406) (lambda (cos-56) (lambda (cos-407) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) (if (tish ((cos-= cos-407) 200)) (lambda (cos-408) ((cos-409 cos-405) (cos-408 200))) (if (tish ((cos-= cos-407) 410)) ((cos-409 cos-405) (cos-411 cos-405)) (if (tish ((cos-= cos-407) 412)) (lambda (cos-178) 1) (if (tish ((cos-or ((cos-= cos-407) 413)) ((cos-= cos-407) 414))) (lambda (cos-355) ((cos-404 235) (((cos-130 (cos-404 234)) cos-355) (cos-415 cos-405)))) (if (tish ((cos-or ((cos-= cos-407) 416)) ((cos-= cos-407) 417))) (lambda (cos-355) ((cos-409 cos-405) ((cos-132 (cos-404 234)) cos-355))) (if (tish ((cos-or ((cos-= cos-407) 418)) ((cos-= cos-407) 419))) (lambda (cos-420) ((cos-409 cos-405) cos-420)) (if (tish ((cos-= cos-407) 421)) ((cos-409 cos-405) 0) (if (tish ((cos-= cos-407) 176)) (lambda (cos-178) ((cos-409 cos-405) (cos-not (cos-number? ((cos-415 cos-405) ((cos-178 200) 223)))))) (if (tish ((cos-= cos-407) 422)) (lambda (cos-68) (lambda (cos-423) ((cos-409 cos-405) (((cos-415 cos-405) cos-68) 234)))) (if (tish ((cos-= cos-407) 424)) (lambda (cos-68) (lambda (cos-423) ((lambda (cos-420) ((((cos-415 cos-405) cos-68) 235) cos-420)) (cos-415 cos-405)))) (if (tish ((cos-= cos-407) 425)) ((lambda (cos-426) ((lambda (cos-427) ((cos-409 cos-405) ((cos-* cos-427) cos-426))) (cos-415 cos-405))) (cos-415 cos-405)) (if (tish ((cos-= cos-407) 428)) ((lambda (cos-426) ((lambda (cos-427) ((cos-409 cos-405) ((cos-+ cos-427) cos-426))) (cos-415 cos-405))) (cos-415 cos-405)) (if (tish ((cos-= cos-407) 429)) ((lambda (cos-426) ((lambda (cos-427) ((cos-409 cos-405) ((cos-- cos-427) cos-426))) (cos-415 cos-405))) (cos-415 cos-405)) (if (tish ((cos-= cos-407) 430)) (lambda (cos-37) ((cos-406 235) cos-37)) (if (tish ((cos-= cos-407) 431)) (lambda (cos-37) (if (tish ((cos-< (cos-415 cos-405)) 0)) ((cos-406 235) cos-37) 0)) (if (tish ((cos-= cos-407) 432)) (lambda (cos-37) (if (tish ((cos-< (cos-415 cos-405)) 1)) ((cos-406 235) cos-37) 0)) (if (tish ((cos-= cos-407) 433)) (lambda (cos-37) (if (tish ((cos-> (cos-415 cos-405)) 0)) ((cos-406 235) cos-37) 0)) (if (tish ((cos-= cos-407) 434)) (lambda (cos-37) (if (tish ((cos-49 (cos-415 cos-405)) 0)) ((cos-406 235) cos-37) 0)) (if (tish ((cos-= cos-407) 435)) (lambda (cos-37) (if (tish (cos-not ((cos-= (cos-415 cos-405)) 0))) ((cos-406 235) cos-37) 0)) (if (tish ((cos-= cos-407) 436)) (lambda (cos-37) (if (tish ((cos-= (cos-415 cos-405)) 0)) ((cos-406 235) cos-37) 0)) (if (tish ((cos-= cos-407) 437)) ((lambda (cos-426) ((lambda (cos-427) (lambda (cos-37) (if (tish (cos-not ((cos-= cos-427) cos-426))) ((cos-406 235) cos-37) 0))) (cos-415 cos-405))) (cos-415 cos-405)) (if (tish ((cos-= cos-407) 438)) ((lambda (cos-426) ((lambda (cos-427) (lambda (cos-37) (if (tish ((cos-= cos-427) cos-426)) ((cos-406 235) cos-37) 0))) (cos-415 cos-405))) (cos-415 cos-405)) (if (tish ((cos-= cos-407) 439)) ((lambda (cos-426) ((lambda (cos-427) (lambda (cos-37) (if (tish (cos-not ((cos-400 cos-427) cos-426))) ((cos-406 235) cos-37) 0))) (cos-415 cos-405))) (cos-415 cos-405)) (if (tish ((cos-= cos-407) 440)) ((lambda (cos-426) ((lambda (cos-427) (lambda (cos-37) (if (tish ((cos-400 cos-427) cos-426)) ((cos-406 235) cos-37) 0))) (cos-415 cos-405))) (cos-415 cos-405)) (if (tish ((cos-= cos-407) 441)) ((lambda (cos-426) ((lambda (cos-427) (lambda (cos-37) (if (tish ((cos-49 cos-427) cos-426)) ((cos-406 235) cos-37) 0))) (cos-415 cos-405))) (cos-415 cos-405)) (if (tish ((cos-= cos-407) 442)) ((lambda (cos-426) ((lambda (cos-427) (lambda (cos-37) (if (tish ((cos-> cos-427) cos-426)) ((cos-406 235) cos-37) 0))) (cos-415 cos-405))) (cos-415 cos-405)) (if (tish ((cos-= cos-407) 443)) ((lambda (cos-426) ((lambda (cos-427) (lambda (cos-37) (if (tish ((cos-50 cos-427) cos-426)) ((cos-406 235) cos-37) 0))) (cos-415 cos-405))) (cos-415 cos-405)) (if (tish ((cos-= cos-407) 444)) ((lambda (cos-426) ((lambda (cos-427) (lambda (cos-37) (if (tish ((cos-< cos-427) cos-426)) ((cos-406 235) cos-37) 0))) (cos-415 cos-405))) (cos-415 cos-405)) (if (tish ((cos-= cos-407) 445)) (lambda (cos-37) (if (tish (cos-number? (cos-415 cos-405))) ((cos-406 235) cos-37) 0)) (if (tish ((cos-= cos-407) 446)) (lambda (cos-37) (if (tish (cos-not (cos-number? (cos-415 cos-405)))) ((cos-406 235) cos-37) 0)) (if (tish ((cos-= cos-407) 187)) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) ((cos-406 235) 447)) ((cos-56 235) ((cos-132 (cos-404 234)) 0)))) (if (tish ((cos-= cos-407) 448)) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) ((cos-406 235) 447)) ((cos-56 235) (cos-415 cos-405)))) (if (tish ((cos-= cos-407) 449)) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) ((cos-406 235) 447)) ((cos-56 235) (cos-415 cos-405)))) (if (tish ((cos-= cos-407) 430)) (lambda (cos-450) ((cos-406 235) cos-450)) (if (tish ((cos-= cos-407) 451)) (lambda (cos-450) (lambda (cos-287) (lambda (cos-48) ((lambda (cos-452) (if (tish ((cos-= cos-48) 1)) ((cos-409 cos-405) cos-452) 0)) (((cos-453 cos-405) cos-450) cos-287))))) (if (tish ((cos-= cos-407) 454)) (lambda (cos-450) (lambda (cos-287) (lambda (cos-48) (lambda (cos-423) ((lambda (cos-452) (if (tish ((cos-= cos-48) 1)) ((cos-409 cos-405) cos-452) 0)) (((cos-453 cos-405) cos-450) cos-287)))))) (if (tish ((cos-= cos-407) 455)) (lambda (cos-450) (lambda (cos-287) (lambda (cos-48) ((lambda (cos-452) (if (tish ((cos-= cos-48) 1)) ((cos-409 cos-405) cos-452) 0)) ((((cos-456 cos-405) ((cos-132 (cos-404 234)) 0)) cos-450) cos-287))))) 0)))))))))))))))))))))))))))))))))))))) ((cos-406 235) ((cos-+ (cos-406 234)) 1)))))))))) 1) ok Expression: (13 453 (26 (405 450 457) (15 (2 (457) 0) ((415 (405)) (450)) (77 ((458 (415 (405)))) ((453 (405) (450) (11 (457) 1)) (458)))))) Translation: (begin (define cos-453 (lambda (cos-405) (lambda (cos-450) (lambda (cos-457) (if (tish ((cos-= cos-457) 0)) ((cos-415 cos-405) cos-450) ((lambda (cos-458) ((((cos-453 cos-405) cos-450) ((cos-- cos-457) 1)) cos-458)) (cos-415 cos-405))))))) 1) ok Expression: (13 456 (26 (405 152 450 457) (15 (2 (457) 0) (77 ((372 (415 -1 405))) (15 (372 225 (152)) (372 203 (450)) (372 (450)))) (77 ((458 (415 (405)))) ((456 (405) (152) (450) (11 (457) 1)) (458)))))) Translation: (begin (define cos-456 (lambda (cos-405) (lambda (cos-152) (lambda (cos-450) (lambda (cos-457) (if (tish ((cos-= cos-457) 0)) ((lambda (cos-372) (if (tish ((cos-372 225) cos-152)) ((cos-372 203) cos-450) (cos-372 cos-450))) (cos-415 cos-405)) ((lambda (cos-458) (((((cos-456 cos-405) cos-152) cos-450) ((cos-- cos-457) 1)) cos-458)) (cos-415 cos-405)))))))) 1) ok Expression: (13 409 (26 (405 37) (405 235 (63 (37) (405 234))))) Translation: (begin (define cos-409 (lambda (cos-405) (lambda (cos-37) ((cos-405 235) ((cos-63 cos-37) (cos-405 234)))))) 1) ok Expression: (13 415 (26 (405) (77 ((173 (58 (405 234)))) (128 (405 235 (60 (405 234))) (173))))) Translation: (begin (define cos-415 (lambda (cos-405) ((lambda (cos-173) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-173) ((cos-405 235) (cos-60 (cos-405 234)))))) (cos-58 (cos-405 234))))) 1) ok Expression: (13 411 (26 (405) (58 (405 234)))) Translation: (begin (define cos-411 (lambda (cos-405) (cos-58 (cos-405 234)))) 1) ok Expression: (13 459 (231 200 (16 5 3 1))) Translation: (begin (define cos-459 ((cos-231 200) ((((cos-57 3) 5) 3) 1))) 1) ok Expression: (2 (415 (459)) 5) Translation: ((cos-= (cos-415 cos-459)) 5) ok Expression: (2 (411 (459)) 3) Translation: ((cos-= (cos-411 cos-459)) 3) ok Expression: (2 (415 (459)) 3) Translation: ((cos-= (cos-415 cos-459)) 3) ok Expression: (409 (459) 7) Translation: ((cos-409 cos-459) 7) ok Expression: (2 (415 (459)) 7) Translation: ((cos-= (cos-415 cos-459)) 7) ok Expression: (13 460 (231 200 (133))) Translation: (begin (define cos-460 ((cos-231 200) cos-133)) 1) ok Expression: (13 461 (231 200 0)) Translation: (begin (define cos-461 ((cos-231 200) 0)) 1) ok Expression: (13 462 (231 200 0)) Translation: (begin (define cos-462 ((cos-231 200) 0)) 1) ok Expression: (13 463 (403 (460) (459) (461) (462))) Translation: (begin (define cos-463 ((((cos-403 cos-460) cos-459) cos-461) cos-462)) 1) ok Expression: (409 (459) 4) Translation: ((cos-409 cos-459) 4) ok Expression: (463 410) Translation: (cos-463 410) ok Expression: (2 (415 (459)) 4) Translation: ((cos-= (cos-415 cos-459)) 4) ok Expression: (2 (415 (459)) 4) Translation: ((cos-= (cos-415 cos-459)) 4) ok Expression: (409 (459) 66) Translation: ((cos-409 cos-459) 66) ok Expression: (409 (459) 77) Translation: ((cos-409 cos-459) 77) ok Expression: (463 413 3) Translation: ((cos-463 413) 3) ok Expression: (2 (415 (459)) 66) Translation: ((cos-= (cos-415 cos-459)) 66) ok Expression: (463 416 3) Translation: ((cos-463 416) 3) ok Expression: (2 (415 (459)) 77) Translation: ((cos-= (cos-415 cos-459)) 77) ok Expression: (216 464 () (221 37 ((174) 200)) (221 36 ((174) 200))) Translation: (begin (define cos-464 (lambda (cos-219) ((lambda (cos-220) ((lambda (cos-36) ((lambda (cos-37) ((lambda (cos-152) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-152) (cos-152 200)))) (cos-190 (lambda (cos-152) ((lambda (cos-215) ((lambda (cos-222) (lambda (cos-147) (if (tish ((cos-= cos-147) 37)) cos-37 (if (tish ((cos-= cos-147) 36)) cos-36 (if (tish ((cos-= cos-147) 152)) cos-152 (if (tish ((cos-= cos-147) 464)) (cos-152 152) (if (tish ((cos-= cos-147) 223)) 464 (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) 0) (if (tish ((cos-= cos-147) 200)) 0 (if (tish ((cos-= cos-147) 220)) cos-220 (if (tish ((cos-= cos-147) 225)) (lambda (cos-37) ((cos-= cos-220) (cos-37 220))) ((cos-152 224) cos-147)))))))))))) 1)) ((cos-214 cos-219) cos-152)))))) (cos-174 200))) (cos-174 200))) (cos-211 200)))) 1) ok Expression: (13 465 (464 200)) Translation: (begin (define cos-465 (cos-464 200)) 1) ok Expression: (465 37 235 5) Translation: (((cos-465 37) 235) 5) ok Expression: (2 (465 37 234) 5) Translation: ((cos-= ((cos-465 37) 234)) 5) ok Expression: (409 (459) (465)) Translation: ((cos-409 cos-459) cos-465) ok Expression: (2 ((415 (459)) 37 234) 5) Translation: ((cos-= (((cos-415 cos-459) 37) 234)) 5) ok Expression: (409 (459) (465)) Translation: ((cos-409 cos-459) cos-465) ok Expression: (463 413 0) Translation: ((cos-463 413) 0) ok Expression: (463 416 0) Translation: ((cos-463 416) 0) ok Expression: (463 422 37 (174)) Translation: (((cos-463 422) 37) cos-174) ok Expression: (2 (415 (459)) 5) Translation: ((cos-= (cos-415 cos-459)) 5) ok Expression: (463 416 0) Translation: ((cos-463 416) 0) ok Expression: (463 418 15) Translation: ((cos-463 418) 15) ok Expression: (463 424 36 (174)) Translation: (((cos-463 424) 36) cos-174) ok Expression: (2 (465 36 234) 15) Translation: ((cos-= ((cos-465 36) 234)) 15) ok Expression: (409 (459) 7) Translation: ((cos-409 cos-459) 7) ok Expression: (409 (459) 10) Translation: ((cos-409 cos-459) 10) ok Expression: (463 425) Translation: (cos-463 425) ok Expression: (463 448) Translation: (cos-463 448) ok Expression: (2 (462 234) 70) Translation: ((cos-= (cos-462 234)) 70) ok Expression: (13 466 -1 12 467 -1 26 (404 405 161) -1 77 ((406 (231 200 (467))) (56 (231 200 (43)))) -1 77 ((468 (403 (404) (405) (406) (56)))) -1 (128 (161 (468) (406 234)) (15 (2 (406 234) 447) (56 234) (466 (406 234) (404) (405) (161))))) Translation: (begin (define cos-466 (lambda (cos-467) (lambda (cos-404) (lambda (cos-405) (lambda (cos-161) ((lambda (cos-56) ((lambda (cos-406) ((lambda (cos-468) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) (if (tish ((cos-= (cos-406 234)) 447)) (cos-56 234) ((((cos-466 (cos-406 234)) cos-404) cos-405) cos-161))) ((cos-161 cos-468) (cos-406 234))))) ((((cos-403 cos-404) cos-405) cos-406) cos-56))) ((cos-231 200) cos-467))) ((cos-231 200) cos-43))))))) 1) ok Expression: (13 469 (466 0)) Translation: (begin (define cos-469 (cos-466 0)) 1) ok Expression: (409 (459) 10) Translation: ((cos-409 cos-459) 10) ok Expression: (409 (459) 33) Translation: ((cos-409 cos-459) 33) ok Expression: (2 (469 (460) (459) -1 12 468 -1 12 37 -1 (181 ((2 (37) 0) (468 414 4)) ((2 (37) 1) (468 417 4)) (468 448))) 33) Translation: ((cos-= (((cos-469 cos-460) cos-459) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 414) 4) (if (tish ((cos-= cos-37) 1)) ((cos-468 417) 4) (cos-468 448))))))) 33) ok Expression: (409 (459) 10) Translation: ((cos-409 cos-459) 10) ok Expression: (13 470 (26 (471 472) -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 0) (52 1 (471)) (52 2 (472))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 417 1)) ((2 (37) 1) (468 417 2)) ((2 (37) 2) (468 425)) ((2 (37) 3) (468 448)) (468 187))) Translation: (begin (define cos-470 (lambda (cos-471) (lambda (cos-472) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 417) 1) (if (tish ((cos-= cos-37) 1)) ((cos-468 417) 2) (if (tish ((cos-= cos-37) 2)) (cos-468 425) (if (tish ((cos-= cos-37) 3)) (cos-468 448) (cos-468 187))))))))) ((cos-231 200) (cos-137 ((((cos-57 3) ((cos-52 0) 0)) ((cos-52 1) cos-471)) ((cos-52 2) cos-472)))))) ((cos-231 200) (cos-57 0)))))) 1) ok Expression: (2 (470 5 9) 45) Translation: ((cos-= ((cos-470 5) 9)) 45) ok ; JAVA class translation 'COS_JavaTest' ; Thu Jun 30 17:00:06 EDT 2005 ; Produced by Fritzifier, based on JasminVisitor ; Using BCEL library to read Java bytecode ; Here is the original code: ; public class COS_JavaTest { ; private int q = 0; ; public int add(int x, int y) { ; return x+y; ; } ; public int sub(int x, int y) { ; return x-y; ; } ; public int mult(int x, int y) { ; return x*y; ; } ; public int addmult(int x, int y, int z) { ; return add(x,mult(y,z)); ; } ; public void set(int x) { ; q = x; ; } ; public int get() { ; return q; ; } ; public int fact(int x) { ; return (x>0)?(x*fact(sub(x,1))):1; ; } ; } ; Expression: (216 473 () (221 230 (27 0)) (147 200 (28 (230) ((383 474 366) -1 215))) (147 203 (12 37 -1 (29 -1 230) -1 37)) (147 224 (12 37 -1 152 203 -1 37)) (221 475 ((174) 200)) (147 368 (26 () -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 416 0)) ((2 (37) 1) (468 455 368 0 0)) ((2 (37) 2) (468 416 0)) ((2 (37) 3) (468 418 0)) ((2 (37) 4) (468 424 475 (174))) ((2 (37) 5) (468 187)) (468 187))) (147 369 (152 368)) (147 476 (26 (471 472) -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152)) (52 1 (471)) (52 2 (472))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 417 1)) ((2 (37) 1) (468 417 2)) ((2 (37) 2) (468 428)) ((2 (37) 3) (468 448)) (468 187))) (147 100 (152 476)) (147 477 (26 (471 472) -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152)) (52 1 (471)) (52 2 (472))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 417 1)) ((2 (37) 1) (468 417 2)) ((2 (37) 2) (468 429)) ((2 (37) 3) (468 448)) (468 187))) (147 478 (152 477)) (147 479 (26 (471 472) -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152)) (52 1 (471)) (52 2 (472))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 417 1)) ((2 (37) 1) (468 417 2)) ((2 (37) 2) (468 425)) ((2 (37) 3) (468 448)) (468 187))) (147 103 (152 479)) (147 480 (26 (471 472 481) -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152)) (52 1 (471)) (52 2 (472)) (52 3 (481))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 416 0)) ((2 (37) 1) (468 417 1)) ((2 (37) 2) (468 416 0)) ((2 (37) 3) (468 417 2)) ((2 (37) 4) (468 417 3)) ((2 (37) 5) (468 451 479 2 1)) ((2 (37) 6) (468 451 476 2 1)) ((2 (37) 7) (468 448)) (468 187))) (147 482 (152 480)) (147 483 (26 (471) -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152)) (52 1 (471))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 416 0)) ((2 (37) 1) (468 417 1)) ((2 (37) 2) (468 424 475 (174))) ((2 (37) 3) (468 187)) (468 187))) (147 235 (152 483)) (147 484 (26 () -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 416 0)) ((2 (37) 1) (468 422 475 (174))) ((2 (37) 2) (468 448)) (468 187))) (147 234 (152 484)) (147 485 (26 (471) -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152)) (52 1 (471))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 417 1)) ((2 (37) 1) (468 432 11)) ((2 (37) 2) (468 417 1)) ((2 (37) 3) (468 416 0)) ((2 (37) 4) (468 416 0)) ((2 (37) 5) (468 417 1)) ((2 (37) 6) (468 418 1)) ((2 (37) 7) (468 451 477 2 1)) ((2 (37) 8) (468 451 485 1 1)) ((2 (37) 9) (468 425)) ((2 (37) 10) (468 430 12)) ((2 (37) 11) (468 418 1)) ((2 (37) 12) (468 448)) (468 187))) (147 486 (152 485))) Translation: (begin (define cos-473 (lambda (cos-219) ((lambda (cos-220) ((lambda (cos-475) ((lambda (cos-230) ((lambda (cos-152) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-152) (cos-152 200)))) (cos-190 (lambda (cos-152) ((lambda (cos-215) ((lambda (cos-222) (lambda (cos-147) (if (tish ((cos-= cos-147) 200)) ((cos-set! cos-230) (((cos-383 474) 366) cos-215)) (if (tish ((cos-= cos-147) 203)) (lambda (cos-37) ((cos-get! cos-230) cos-37)) (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) ((cos-152 203) cos-37)) (if (tish ((cos-= cos-147) 368)) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 1)) ((((cos-468 455) 368) 0) 0) (if (tish ((cos-= cos-37) 2)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 3)) ((cos-468 418) 0) (if (tish ((cos-= cos-37) 4)) (((cos-468 424) 475) cos-174) (if (tish ((cos-= cos-37) 5)) (cos-468 187) (cos-468 187))))))))))) ((cos-231 200) (cos-137 ((cos-57 1) ((cos-52 0) cos-152)))))) ((cos-231 200) (cos-57 0))) (if (tish ((cos-= cos-147) 369)) (cos-152 368) (if (tish ((cos-= cos-147) 476)) (lambda (cos-471) (lambda (cos-472) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 417) 1) (if (tish ((cos-= cos-37) 1)) ((cos-468 417) 2) (if (tish ((cos-= cos-37) 2)) (cos-468 428) (if (tish ((cos-= cos-37) 3)) (cos-468 448) (cos-468 187))))))))) ((cos-231 200) (cos-137 ((((cos-57 3) ((cos-52 0) cos-152)) ((cos-52 1) cos-471)) ((cos-52 2) cos-472)))))) ((cos-231 200) (cos-57 0))))) (if (tish ((cos-= cos-147) 100)) (cos-152 476) (if (tish ((cos-= cos-147) 477)) (lambda (cos-471) (lambda (cos-472) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 417) 1) (if (tish ((cos-= cos-37) 1)) ((cos-468 417) 2) (if (tish ((cos-= cos-37) 2)) (cos-468 429) (if (tish ((cos-= cos-37) 3)) (cos-468 448) (cos-468 187))))))))) ((cos-231 200) (cos-137 ((((cos-57 3) ((cos-52 0) cos-152)) ((cos-52 1) cos-471)) ((cos-52 2) cos-472)))))) ((cos-231 200) (cos-57 0))))) (if (tish ((cos-= cos-147) 478)) (cos-152 477) (if (tish ((cos-= cos-147) 479)) (lambda (cos-471) (lambda (cos-472) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 417) 1) (if (tish ((cos-= cos-37) 1)) ((cos-468 417) 2) (if (tish ((cos-= cos-37) 2)) (cos-468 425) (if (tish ((cos-= cos-37) 3)) (cos-468 448) (cos-468 187))))))))) ((cos-231 200) (cos-137 ((((cos-57 3) ((cos-52 0) cos-152)) ((cos-52 1) cos-471)) ((cos-52 2) cos-472)))))) ((cos-231 200) (cos-57 0))))) (if (tish ((cos-= cos-147) 103)) (cos-152 479) (if (tish ((cos-= cos-147) 480)) (lambda (cos-471) (lambda (cos-472) (lambda (cos-481) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 1)) ((cos-468 417) 1) (if (tish ((cos-= cos-37) 2)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 3)) ((cos-468 417) 2) (if (tish ((cos-= cos-37) 4)) ((cos-468 417) 3) (if (tish ((cos-= cos-37) 5)) ((((cos-468 451) 479) 2) 1) (if (tish ((cos-= cos-37) 6)) ((((cos-468 451) 476) 2) 1) (if (tish ((cos-= cos-37) 7)) (cos-468 448) (cos-468 187))))))))))))) ((cos-231 200) (cos-137 (((((cos-57 4) ((cos-52 0) cos-152)) ((cos-52 1) cos-471)) ((cos-52 2) cos-472)) ((cos-52 3) cos-481)))))) ((cos-231 200) (cos-57 0)))))) (if (tish ((cos-= cos-147) 482)) (cos-152 480) (if (tish ((cos-= cos-147) 483)) (lambda (cos-471) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 1)) ((cos-468 417) 1) (if (tish ((cos-= cos-37) 2)) (((cos-468 424) 475) cos-174) (if (tish ((cos-= cos-37) 3)) (cos-468 187) (cos-468 187))))))))) ((cos-231 200) (cos-137 (((cos-57 2) ((cos-52 0) cos-152)) ((cos-52 1) cos-471)))))) ((cos-231 200) (cos-57 0)))) (if (tish ((cos-= cos-147) 235)) (cos-152 483) (if (tish ((cos-= cos-147) 484)) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 1)) (((cos-468 422) 475) cos-174) (if (tish ((cos-= cos-37) 2)) (cos-468 448) (cos-468 187)))))))) ((cos-231 200) (cos-137 ((cos-57 1) ((cos-52 0) cos-152)))))) ((cos-231 200) (cos-57 0))) (if (tish ((cos-= cos-147) 234)) (cos-152 484) (if (tish ((cos-= cos-147) 485)) (lambda (cos-471) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 417) 1) (if (tish ((cos-= cos-37) 1)) ((cos-468 432) 11) (if (tish ((cos-= cos-37) 2)) ((cos-468 417) 1) (if (tish ((cos-= cos-37) 3)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 4)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 5)) ((cos-468 417) 1) (if (tish ((cos-= cos-37) 6)) ((cos-468 418) 1) (if (tish ((cos-= cos-37) 7)) ((((cos-468 451) 477) 2) 1) (if (tish ((cos-= cos-37) 8)) ((((cos-468 451) 485) 1) 1) (if (tish ((cos-= cos-37) 9)) (cos-468 425) (if (tish ((cos-= cos-37) 10)) ((cos-468 430) 12) (if (tish ((cos-= cos-37) 11)) ((cos-468 418) 1) (if (tish ((cos-= cos-37) 12)) (cos-468 448) (cos-468 187)))))))))))))))))) ((cos-231 200) (cos-137 (((cos-57 2) ((cos-52 0) cos-152)) ((cos-52 1) cos-471)))))) ((cos-231 200) (cos-57 0)))) (if (tish ((cos-= cos-147) 486)) (cos-152 485) (if (tish ((cos-= cos-147) 230)) cos-230 (if (tish ((cos-= cos-147) 475)) cos-475 (if (tish ((cos-= cos-147) 152)) cos-152 (if (tish ((cos-= cos-147) 473)) (cos-152 152) (if (tish ((cos-= cos-147) 223)) 473 (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) 0) (if (tish ((cos-= cos-147) 200)) 0 (if (tish ((cos-= cos-147) 220)) cos-220 (if (tish ((cos-= cos-147) 225)) (lambda (cos-37) ((cos-= cos-220) (cos-37 220))) ((cos-152 224) cos-147))))))))))))))))))))))))))))))) 1)) ((cos-214 cos-219) cos-152)))))) (cos-make-cell 0))) (cos-174 200))) (cos-211 200)))) 1) ok ; JAVA check that automatic conversion is workable Expression: (13 487 (473 200)) Translation: (begin (define cos-487 (cos-473 200)) 1) ok ; Note that the names of methods include type information. ; This could easily be removed, but is retained so that overloading ; is possible in the Java code. ; I is integer, V is void. The last type in the name is the return type. Expression: (2 (487 479 15 10) 150) Translation: ((cos-= (((cos-487 479) 15) 10)) 150) ok ; The type information can be safely omitted if there is no ambiguity Expression: (2 (487 103 15 10) 150) Translation: ((cos-= (((cos-487 103) 15) 10)) 150) ok Expression: (2 (487 480 4 15 10) 154) Translation: ((cos-= ((((cos-487 480) 4) 15) 10)) 154) ok Expression: (128 (487 483 87) (2 (487 484) 87)) Translation: ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) ((cos-= (cos-487 484)) 87)) ((cos-487 483) 87))) ok Expression: (2 (487 485 0) 1) Translation: ((cos-= ((cos-487 485) 0)) 1) ok Expression: (2 (487 485 1) 1) Translation: ((cos-= ((cos-487 485) 1)) 1) ok Expression: (2 (487 485 5) 120) Translation: ((cos-= ((cos-487 485) 5)) 120) ok ; Yay! testing says this works. ; So structure for bytecode interpretation is in place. ; Very few opcodes actually implemented yet though. ; MUD another simple little text-adventure space ; let us try to make a slightly more interesting world Expression: (13 488 (26 (59) (87 (12 37 -1 12 131 -1 14 146 (22 -1 37) -1 14 188 (23 -1 37) -1 130 (131) (146) (188)) (209 (133) (59))))) Translation: (begin (define cos-488 (lambda (cos-59) ((cos-87 (lambda (cos-37) (lambda (cos-131) ((lambda (cos-146) ((lambda (cos-188) (((cos-130 cos-131) cos-146) cos-188)) (cos-cdr cos-37))) (cos-car cos-37))))) ((cos-209 cos-133) cos-59)))) 1) ok ; note, the quoted strings below are just represented as a big number, ; nothing special Expression: (13 489 (488 (85 (12 146 (21 (146) (243 200 (146)))) (16 108230817902446 110455325223278 482671225203 444083367777)))) Translation: (begin (define cos-489 (cos-488 ((cos-85 (lambda (cos-146) ((cos-cons cos-146) ((cos-243 200) cos-146)))) (((((cos-57 4) 108230817902446) 110455325223278) 482671225203) 444083367777)))) 1) ok Expression: (13 490 (85 (12 491 (14 242 (22 -1 491) -1 14 244 (23 -1 491) -1 241 200 (489 -1 242) (489 -1 244))) (16 (21 108230817902446 110455325223278) (21 110455325223278 482671225203) (21 108230817902446 482671225203) (21 482671225203 444083367777)))) Translation: (begin (define cos-490 ((cos-85 (lambda (cos-491) ((lambda (cos-242) ((lambda (cos-244) (((cos-241 200) (cos-489 cos-242)) (cos-489 cos-244))) (cos-cdr cos-491))) (cos-car cos-491)))) (((((cos-57 4) ((cos-cons 108230817902446) 110455325223278)) ((cos-cons 110455325223278) 482671225203)) ((cos-cons 108230817902446) 482671225203)) ((cos-cons 482671225203) 444083367777)))) 1) ok Expression: (13 279 (270 200)) Translation: (begin (define cos-279 (cos-270 200)) 1) ok Expression: (279 260 (489 110455325223278)) Translation: ((cos-279 260) (cos-489 110455325223278)) ok Expression: (7 -1 279 262 146) Translation: (cos-demo ((cos-279 262) 146)) DEMO PATCH: change line 4227 from (7 -1 279 262 146) to (8 (279 262 146) 110455325223278) Expression: (279 265) Translation: (cos-279 265) ok Expression: (7 -1 279 262 146) Translation: (cos-demo ((cos-279 262) 146)) DEMO PATCH: change line 4229 from (7 -1 279 262 146) to (8 (279 262 146) 108230817902446) Expression: (279 265) Translation: (cos-279 265) ok Expression: (7 -1 279 262 146) Translation: (cos-demo ((cos-279 262) 146)) DEMO PATCH: change line 4231 from (7 -1 279 262 146) to (8 (279 262 146) 482671225203) Expression: (279 265) Translation: (cos-279 265) ok Expression: (7 -1 279 262 146) Translation: (cos-demo ((cos-279 262) 146)) DEMO PATCH: change line 4233 from (7 -1 279 262 146) to (8 (279 262 146) 110455325223278) Expression: (279 265) Translation: (cos-279 265) ok Expression: (7 -1 279 262 146) Translation: (cos-demo ((cos-279 262) 146)) DEMO PATCH: change line 4235 from (7 -1 279 262 146) to (8 (279 262 146) 108230817902446) Expression: (279 265) Translation: (cos-279 265) ok Expression: (7 -1 279 262 146) Translation: (cos-demo ((cos-279 262) 146)) DEMO PATCH: change line 4237 from (7 -1 279 262 146) to (8 (279 262 146) 482671225203) Expression: (279 265) Translation: (cos-279 265) ok Expression: (7 -1 279 262 146) Translation: (cos-demo ((cos-279 262) 146)) DEMO PATCH: change line 4239 from (7 -1 279 262 146) to (8 (279 262 146) 444083367777) ; all characters should update together Expression: (216 492 (493 494) (221 495 (195 200)) (221 496 (231 200 (133))) (221 497 (231 200 0)) (221 120 (231 200 0)) (147 200 (128 (497 235 (488 (85 (12 146 (21 (146) (243 200 (146)))) (493)))) (120 235 (85 (12 491 (14 242 (22 -1 491) -1 14 244 (23 -1 491) -1 241 200 (497 234 -1 242) (497 234 -1 244))) (494))))) (147 100 (26 (498 146 420) (128 (420 260 (497 234 -1 498)) (420 263 -1 146) (496 235 (130 (496 234) (146) (420))) (495 100 (420))))) (147 499 (26 (48) (496 234 (48) 262 146))) (147 500 (26 (498) (77 ((273 (210 (26 (37) (176 241 (37))) (497 234 (498) 197)))) (85 (12 241 (241 245 (497 234 -1 498) 146)) (273))))) (147 265 (128 (85 (12 37 (37 265)) (495 197)) (43)))) Translation: (begin (define cos-492 (lambda (cos-219) (lambda (cos-493) (lambda (cos-494) ((lambda (cos-220) ((lambda (cos-120) ((lambda (cos-497) ((lambda (cos-496) ((lambda (cos-495) ((lambda (cos-152) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-152) (cos-152 200)))) (cos-190 (lambda (cos-152) ((lambda (cos-215) ((lambda (cos-222) (lambda (cos-147) (if (tish ((cos-= cos-147) 200)) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) ((cos-120 235) ((cos-85 (lambda (cos-491) ((lambda (cos-242) ((lambda (cos-244) (((cos-241 200) ((cos-497 234) cos-242)) ((cos-497 234) cos-244))) (cos-cdr cos-491))) (cos-car cos-491)))) cos-494))) ((cos-497 235) (cos-488 ((cos-85 (lambda (cos-146) ((cos-cons cos-146) ((cos-243 200) cos-146)))) cos-493))))) (if (tish ((cos-= cos-147) 100)) (lambda (cos-498) (lambda (cos-146) (lambda (cos-420) ((lambda (cos-37) (cos-58 cos-37)) (((((cos-57 4) ((cos-495 100) cos-420)) ((cos-496 235) (((cos-130 (cos-496 234)) cos-146) cos-420))) ((cos-420 263) cos-146)) ((cos-420 260) ((cos-497 234) cos-498))))))) (if (tish ((cos-= cos-147) 499)) (lambda (cos-48) ((((cos-496 234) cos-48) 262) 146)) (if (tish ((cos-= cos-147) 500)) (lambda (cos-498) ((lambda (cos-273) ((cos-85 (lambda (cos-241) (((cos-241 245) ((cos-497 234) cos-498)) 146))) cos-273)) ((cos-210 (lambda (cos-37) ((cos-176 241) cos-37))) (((cos-497 234) cos-498) 197)))) (if (tish ((cos-= cos-147) 265)) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-43) ((cos-85 (lambda (cos-37) (cos-37 265))) (cos-495 197)))) (if (tish ((cos-= cos-147) 495)) cos-495 (if (tish ((cos-= cos-147) 496)) cos-496 (if (tish ((cos-= cos-147) 497)) cos-497 (if (tish ((cos-= cos-147) 120)) cos-120 (if (tish ((cos-= cos-147) 152)) cos-152 (if (tish ((cos-= cos-147) 492)) (cos-152 152) (if (tish ((cos-= cos-147) 223)) 492 (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) 0) (if (tish ((cos-= cos-147) 200)) 0 (if (tish ((cos-= cos-147) 220)) cos-220 (if (tish ((cos-= cos-147) 225)) (lambda (cos-37) ((cos-= cos-220) (cos-37 220))) ((cos-152 224) cos-147))))))))))))))))))) 1)) ((cos-214 cos-219) cos-152)))))) (cos-195 200))) ((cos-231 200) cos-133))) ((cos-231 200) 0))) ((cos-231 200) 0))) (cos-211 200)))))) 1) ok Expression: (13 501 (492 200 (16 108230817902446 110455325223278 482671225203 444083367777) (16 (21 108230817902446 110455325223278) (21 110455325223278 482671225203) (21 108230817902446 482671225203) (21 482671225203 444083367777)))) Translation: (begin (define cos-501 (((cos-492 200) (((((cos-57 4) 108230817902446) 110455325223278) 482671225203) 444083367777)) (((((cos-57 4) ((cos-cons 108230817902446) 110455325223278)) ((cos-cons 110455325223278) 482671225203)) ((cos-cons 108230817902446) 482671225203)) ((cos-cons 482671225203) 444083367777)))) 1) ok Expression: (501 100 110455325223278 491494993713 (270 200)) Translation: ((((cos-501 100) 110455325223278) 491494993713) (cos-270 200)) ok Expression: (501 100 444083367777 491494993714 (270 200)) Translation: ((((cos-501 100) 444083367777) 491494993714) (cos-270 200)) ok Expression: (7 -1 501 499 491494993713) Translation: (cos-demo ((cos-501 499) 491494993713)) DEMO PATCH: change line 4293 from (7 -1 501 499 491494993713) to (8 (501 499 491494993713) 110455325223278) Expression: (7 -1 501 499 491494993714) Translation: (cos-demo ((cos-501 499) 491494993714)) DEMO PATCH: change line 4294 from (7 -1 501 499 491494993714) to (8 (501 499 491494993714) 444083367777) Expression: (501 265) Translation: (cos-501 265) ok Expression: (7 -1 501 499 491494993713) Translation: (cos-demo ((cos-501 499) 491494993713)) DEMO PATCH: change line 4296 from (7 -1 501 499 491494993713) to (8 (501 499 491494993713) 108230817902446) Expression: (7 -1 501 499 491494993714) Translation: (cos-demo ((cos-501 499) 491494993714)) DEMO PATCH: change line 4297 from (7 -1 501 499 491494993714) to (8 (501 499 491494993714) 482671225203) Expression: (7 -1 501 500 108230817902446) Translation: (cos-demo ((cos-501 500) 108230817902446)) DEMO PATCH: change line 4298 from (7 -1 501 500 108230817902446) to (8 (501 500 108230817902446) -1 16 110455325223278 482671225203) Expression: (7 -1 501 500 444083367777) Translation: (cos-demo ((cos-501 500) 444083367777)) DEMO PATCH: change line 4299 from (7 -1 501 500 444083367777) to (8 (501 500 444083367777) -1 16 482671225203) ; JAVA native implementation of a Java list, hash classes Expression: (13 502 (26 (37 36) (15 (24 -1 37) (15 (24 -1 36) (2 (37) (36)) (44)) (15 (24 -1 36) (44) (37 371 (36)))))) Translation: (begin (define cos-502 (lambda (cos-37) (lambda (cos-36) (if (tish (cos-number? cos-37)) (if (tish (cos-number? cos-36)) ((cos-= cos-37) cos-36) cos-44) (if (tish (cos-number? cos-36)) cos-44 ((cos-37 371) cos-36)))))) 1) ok Expression: (13 503 (26 (37) (184 (26 (36) (502 (37) (36)))))) Translation: (begin (define cos-503 (lambda (cos-37) (cos-184 (lambda (cos-36) ((cos-502 cos-37) cos-36))))) 1) ok Expression: (13 504 (26 (37 59) (15 (3 (61 -1 59) 0) (15 (502 (58 -1 59) (37)) (43) (504 (37) (60 -1 59))) (44)))) Translation: (begin (define cos-504 (lambda (cos-37) (lambda (cos-59) (if (tish ((cos-> (cos-61 cos-59)) 0)) (if (tish ((cos-502 (cos-58 cos-59)) cos-37)) cos-43 ((cos-504 cos-37) (cos-60 cos-59))) cos-44)))) 1) ok Expression: (216 505 () (221 203 ((383 474 366) 200)) (147 224 (26 (37) (203 (37)))) (221 196 (231 200 (16))) (147 368 (152)) (147 369 (152 368)) (147 506 (26 (37) (196 235 (63 (37) (196 234))))) (147 100 (152 506)) (147 507 (26 (37) (196 235 (503 (37) (196 234))))) (147 198 (152 507)) (147 508 (26 (37) (504 (37) (196 234)))) (147 509 (152 508)) (147 510 (26 (37) (62 (196 234) (37)))) (147 234 (152 510)) (147 511 (512 200 (152))) (147 513 (152 511)) (147 514 (61 (196 234))) (147 515 (152 514))) Translation: (begin (define cos-505 (lambda (cos-219) ((lambda (cos-220) ((lambda (cos-196) ((lambda (cos-203) ((lambda (cos-152) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-152) (cos-152 200)))) (cos-190 (lambda (cos-152) ((lambda (cos-215) ((lambda (cos-222) (lambda (cos-147) (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) (cos-203 cos-37)) (if (tish ((cos-= cos-147) 368)) cos-152 (if (tish ((cos-= cos-147) 369)) (cos-152 368) (if (tish ((cos-= cos-147) 506)) (lambda (cos-37) ((cos-196 235) ((cos-63 cos-37) (cos-196 234)))) (if (tish ((cos-= cos-147) 100)) (cos-152 506) (if (tish ((cos-= cos-147) 507)) (lambda (cos-37) ((cos-196 235) ((cos-503 cos-37) (cos-196 234)))) (if (tish ((cos-= cos-147) 198)) (cos-152 507) (if (tish ((cos-= cos-147) 508)) (lambda (cos-37) ((cos-504 cos-37) (cos-196 234))) (if (tish ((cos-= cos-147) 509)) (cos-152 508) (if (tish ((cos-= cos-147) 510)) (lambda (cos-37) ((cos-62 (cos-196 234)) cos-37)) (if (tish ((cos-= cos-147) 234)) (cos-152 510) (if (tish ((cos-= cos-147) 511)) ((cos-512 200) cos-152) (if (tish ((cos-= cos-147) 513)) (cos-152 511) (if (tish ((cos-= cos-147) 514)) (cos-61 (cos-196 234)) (if (tish ((cos-= cos-147) 515)) (cos-152 514) (if (tish ((cos-= cos-147) 203)) cos-203 (if (tish ((cos-= cos-147) 196)) cos-196 (if (tish ((cos-= cos-147) 152)) cos-152 (if (tish ((cos-= cos-147) 505)) (cos-152 152) (if (tish ((cos-= cos-147) 223)) 505 (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) 0) (if (tish ((cos-= cos-147) 200)) 0 (if (tish ((cos-= cos-147) 220)) cos-220 (if (tish ((cos-= cos-147) 225)) (lambda (cos-37) ((cos-= cos-220) (cos-37 220))) ((cos-152 224) cos-147))))))))))))))))))))))))))) 1)) ((cos-214 cos-219) cos-152)))))) (((cos-383 474) 366) 200))) ((cos-231 200) (cos-57 0)))) (cos-211 200)))) 1) ok Expression: (13 487 (505 200)) Translation: (begin (define cos-487 (cos-505 200)) 1) ok Expression: (128 (487 506 (487)) (2 1 -1 487 514)) Translation: ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) ((cos-= 1) (cos-487 514))) ((cos-487 506) cos-487))) ok Expression: (487 225 (487 510 0)) Translation: ((cos-487 225) ((cos-487 510) 0)) ok Expression: (216 516 () (221 203 ((383 474 366) 200)) (147 224 (26 (37) (203 (37)))) (221 196 (231 200 (12 37 0))) (147 368 (152)) (147 369 (152 368)) (147 517 (26 (37 36) (77 ((82 -1 196 234)) (196 235 (12 38 (15 (502 (38) (37)) (36) (82 (38)))))))) (147 518 (152 517)) (147 519 (26 (37) (196 234 (37)))) (147 234 (152 519))) Translation: (begin (define cos-516 (lambda (cos-219) ((lambda (cos-220) ((lambda (cos-196) ((lambda (cos-203) ((lambda (cos-152) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-152) (cos-152 200)))) (cos-190 (lambda (cos-152) ((lambda (cos-215) ((lambda (cos-222) (lambda (cos-147) (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) (cos-203 cos-37)) (if (tish ((cos-= cos-147) 368)) cos-152 (if (tish ((cos-= cos-147) 369)) (cos-152 368) (if (tish ((cos-= cos-147) 517)) (lambda (cos-37) (lambda (cos-36) ((lambda (cos-82) ((cos-196 235) (lambda (cos-38) (if (tish ((cos-502 cos-38) cos-37)) cos-36 (cos-82 cos-38))))) (cos-196 234)))) (if (tish ((cos-= cos-147) 518)) (cos-152 517) (if (tish ((cos-= cos-147) 519)) (lambda (cos-37) ((cos-196 234) cos-37)) (if (tish ((cos-= cos-147) 234)) (cos-152 519) (if (tish ((cos-= cos-147) 203)) cos-203 (if (tish ((cos-= cos-147) 196)) cos-196 (if (tish ((cos-= cos-147) 152)) cos-152 (if (tish ((cos-= cos-147) 516)) (cos-152 152) (if (tish ((cos-= cos-147) 223)) 516 (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) 0) (if (tish ((cos-= cos-147) 200)) 0 (if (tish ((cos-= cos-147) 220)) cos-220 (if (tish ((cos-= cos-147) 225)) (lambda (cos-37) ((cos-= cos-220) (cos-37 220))) ((cos-152 224) cos-147))))))))))))))))))) 1)) ((cos-214 cos-219) cos-152)))))) (((cos-383 474) 366) 200))) ((cos-231 200) (lambda (cos-37) 0)))) (cos-211 200)))) 1) ok Expression: (13 520 (516 200)) Translation: (begin (define cos-520 (cos-516 200)) 1) ok Expression: (128 (520 517 5 10) (2 10 -1 520 234 5)) Translation: ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) ((cos-= 10) ((cos-520 234) 5))) (((cos-520 517) 5) 10))) ok ; There is Java code for COS_JList available ; There is Java code for COS_JHashMap available ; JAVA testing the JList class Expression: (13 487 (505 200)) Translation: (begin (define cos-487 (cos-505 200)) 1) ok Expression: (128 (487 506 (487)) (2 1 (487 514))) Translation: ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) ((cos-= 1) (cos-487 514))) ((cos-487 506) cos-487))) ok Expression: ((487 510 0) 225 (487)) Translation: ((((cos-487 510) 0) 225) cos-487) ok ; JAVA basic iterator implementation Expression: (216 512 (521) (221 522 (231 200 (521 196 234))) (147 368 (152)) (147 369 (152 368)) (147 523 (3 (61 -1 522 234) 0)) (147 524 (152 523)) (147 163 (152 525)) (147 525 (77 ((452 (58 -1 522 234))) (128 (522 235 -1 60 -1 522 234) (452))))) Translation: (begin (define cos-512 (lambda (cos-219) (lambda (cos-521) ((lambda (cos-220) ((lambda (cos-522) ((lambda (cos-152) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-152) (cos-152 200)))) (cos-190 (lambda (cos-152) ((lambda (cos-215) ((lambda (cos-222) (lambda (cos-147) (if (tish ((cos-= cos-147) 368)) cos-152 (if (tish ((cos-= cos-147) 369)) (cos-152 368) (if (tish ((cos-= cos-147) 523)) ((cos-> (cos-61 (cos-522 234))) 0) (if (tish ((cos-= cos-147) 524)) (cos-152 523) (if (tish ((cos-= cos-147) 163)) (cos-152 525) (if (tish ((cos-= cos-147) 525)) ((lambda (cos-452) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-452) ((cos-522 235) (cos-60 (cos-522 234)))))) (cos-58 (cos-522 234))) (if (tish ((cos-= cos-147) 522)) cos-522 (if (tish ((cos-= cos-147) 152)) cos-152 (if (tish ((cos-= cos-147) 512)) (cos-152 152) (if (tish ((cos-= cos-147) 223)) 512 (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) 0) (if (tish ((cos-= cos-147) 200)) 0 (if (tish ((cos-= cos-147) 220)) cos-220 (if (tish ((cos-= cos-147) 225)) (lambda (cos-37) ((cos-= cos-220) (cos-37 220))) ((cos-152 224) cos-147))))))))))))))))) 1)) ((cos-214 cos-219) cos-152)))))) ((cos-231 200) ((cos-521 196) 234)))) (cos-211 200))))) 1) ok Expression: (13 487 (505 200)) Translation: (begin (define cos-487 (cos-505 200)) 1) ok Expression: (128 (487 100 15) (487 100 72) (487 100 99) (43)) Translation: ((lambda (cos-37) (cos-58 cos-37)) (((((cos-57 4) cos-43) ((cos-487 100) 99)) ((cos-487 100) 72)) ((cos-487 100) 15))) ok Expression: (13 526 (487 513)) Translation: (begin (define cos-526 (cos-487 513)) 1) ok Expression: (526 524) Translation: (cos-526 524) ok Expression: (7 -1 526 163) Translation: (cos-demo (cos-526 163)) DEMO PATCH: change line 4397 from (7 -1 526 163) to (8 (526 163) 99) Expression: (526 524) Translation: (cos-526 524) ok Expression: (7 -1 526 163) Translation: (cos-demo (cos-526 163)) DEMO PATCH: change line 4399 from (7 -1 526 163) to (8 (526 163) 72) Expression: (526 524) Translation: (cos-526 524) ok Expression: (7 -1 526 163) Translation: (cos-demo (cos-526 163)) DEMO PATCH: change line 4401 from (7 -1 526 163) to (8 (526 163) 15) Expression: (4 -1 526 524) Translation: (cos-not (cos-526 524)) ok ; There is Java code for COS_JListIterator available ; JAVA class translation 'COS_JDoor' ; Thu Jun 30 17:00:10 EDT 2005 ; Produced by Fritzifier, based on JasminVisitor ; Using BCEL library to read Java bytecode ; Here is the original code: ; ; public class COS_JDoor { ; private COS_JRoom src, dest; ; private String src_cmd, dest_cmd; ; ; public COS_JDoor(COS_JRoom src, String src_cmd, ; COS_JRoom dest, String dest_cmd) { ; this.src = src; ; this.dest = dest; ; this.src_cmd = src_cmd; ; this.dest_cmd = dest_cmd; ; src.addDoor(this); ; dest.addDoor(this); ; } ; ; public COS_JRoom apply(COS_JRoom src, String cmd) { ; if (src == this.src) { ; if (src_cmd.equals(cmd)) { ; return this.dest; ; } ; } ; if (src == this.dest) { ; if (dest_cmd.equals(cmd)) { ; return this.src; ; } ; } ; return null; ; } ; ; public COS_JRoom apply(COS_JRoom src) { ; if (src==this.src) { ; return this.dest; ; } ; if (src==this.dest) { ; return this.src; ; } ; return null; ; } ; } Expression: (216 527 () (221 230 (27 0)) (147 200 (28 (230) ((383 474 366) -1 215))) (147 203 (12 37 -1 (29 -1 230) -1 37)) (147 224 (12 37 -1 152 203 -1 37)) (221 242 (231 200 0)) (221 244 (231 200 0)) (221 528 (231 200 0)) (221 529 (231 200 0)) (147 530 (26 (471 472 481 531) -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152)) (52 1 (471)) (52 2 (472)) (52 3 (481)) (52 4 (531))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 416 0)) ((2 (37) 1) (468 455 368 0 0)) ((2 (37) 2) (468 416 0)) ((2 (37) 3) (468 416 1)) ((2 (37) 4) (468 424 242 (532))) ((2 (37) 5) (468 416 0)) ((2 (37) 6) (468 416 3)) ((2 (37) 7) (468 424 244 (532))) ((2 (37) 8) (468 416 0)) ((2 (37) 9) (468 416 2)) ((2 (37) 10) (468 424 528 (383 474 380))) ((2 (37) 11) (468 416 0)) ((2 (37) 12) (468 416 4)) ((2 (37) 13) (468 424 529 (383 474 380))) ((2 (37) 14) (468 416 1)) ((2 (37) 15) (468 416 0)) ((2 (37) 16) (468 451 533 1 0)) ((2 (37) 17) (468 416 3)) ((2 (37) 18) (468 416 0)) ((2 (37) 19) (468 451 533 1 0)) ((2 (37) 20) (468 187)) (468 187))) (147 369 (152 530)) (147 534 (26 (471 472) -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152)) (52 1 (471)) (52 2 (472))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 416 1)) ((2 (37) 1) (468 416 0)) ((2 (37) 2) (468 422 242 (532))) ((2 (37) 3) (468 439 12)) ((2 (37) 4) (468 416 0)) ((2 (37) 5) (468 422 528 (383 474 380))) ((2 (37) 6) (468 416 2)) ((2 (37) 7) (468 451 370 1 1)) ((2 (37) 8) (468 436 12)) ((2 (37) 9) (468 416 0)) ((2 (37) 10) (468 422 244 (532))) ((2 (37) 11) (468 449)) ((2 (37) 12) (468 416 1)) ((2 (37) 13) (468 416 0)) ((2 (37) 14) (468 422 244 (532))) ((2 (37) 15) (468 439 24)) ((2 (37) 16) (468 416 0)) ((2 (37) 17) (468 422 529 (383 474 380))) ((2 (37) 18) (468 416 2)) ((2 (37) 19) (468 451 370 1 1)) ((2 (37) 20) (468 436 24)) ((2 (37) 21) (468 416 0)) ((2 (37) 22) (468 422 242 (532))) ((2 (37) 23) (468 449)) ((2 (37) 24) (468 421)) ((2 (37) 25) (468 449)) (468 187))) (147 84 (152 534)) (147 535 (26 (471) -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152)) (52 1 (471))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 416 1)) ((2 (37) 1) (468 416 0)) ((2 (37) 2) (468 422 242 (532))) ((2 (37) 3) (468 439 7)) ((2 (37) 4) (468 416 0)) ((2 (37) 5) (468 422 244 (532))) ((2 (37) 6) (468 449)) ((2 (37) 7) (468 416 1)) ((2 (37) 8) (468 416 0)) ((2 (37) 9) (468 422 244 (532))) ((2 (37) 10) (468 439 14)) ((2 (37) 11) (468 416 0)) ((2 (37) 12) (468 422 242 (532))) ((2 (37) 13) (468 449)) ((2 (37) 14) (468 421)) ((2 (37) 15) (468 449)) (468 187)))) Translation: (begin (define cos-527 (lambda (cos-219) ((lambda (cos-220) ((lambda (cos-529) ((lambda (cos-528) ((lambda (cos-244) ((lambda (cos-242) ((lambda (cos-230) ((lambda (cos-152) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-152) (cos-152 200)))) (cos-190 (lambda (cos-152) ((lambda (cos-215) ((lambda (cos-222) (lambda (cos-147) (if (tish ((cos-= cos-147) 200)) ((cos-set! cos-230) (((cos-383 474) 366) cos-215)) (if (tish ((cos-= cos-147) 203)) (lambda (cos-37) ((cos-get! cos-230) cos-37)) (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) ((cos-152 203) cos-37)) (if (tish ((cos-= cos-147) 530)) (lambda (cos-471) (lambda (cos-472) (lambda (cos-481) (lambda (cos-531) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 1)) ((((cos-468 455) 368) 0) 0) (if (tish ((cos-= cos-37) 2)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 3)) ((cos-468 416) 1) (if (tish ((cos-= cos-37) 4)) (((cos-468 424) 242) cos-532) (if (tish ((cos-= cos-37) 5)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 6)) ((cos-468 416) 3) (if (tish ((cos-= cos-37) 7)) (((cos-468 424) 244) cos-532) (if (tish ((cos-= cos-37) 8)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 9)) ((cos-468 416) 2) (if (tish ((cos-= cos-37) 10)) (((cos-468 424) 528) ((cos-383 474) 380)) (if (tish ((cos-= cos-37) 11)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 12)) ((cos-468 416) 4) (if (tish ((cos-= cos-37) 13)) (((cos-468 424) 529) ((cos-383 474) 380)) (if (tish ((cos-= cos-37) 14)) ((cos-468 416) 1) (if (tish ((cos-= cos-37) 15)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 16)) ((((cos-468 451) 533) 1) 0) (if (tish ((cos-= cos-37) 17)) ((cos-468 416) 3) (if (tish ((cos-= cos-37) 18)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 19)) ((((cos-468 451) 533) 1) 0) (if (tish ((cos-= cos-37) 20)) (cos-468 187) (cos-468 187)))))))))))))))))))))))))) ((cos-231 200) (cos-137 ((((((cos-57 5) ((cos-52 0) cos-152)) ((cos-52 1) cos-471)) ((cos-52 2) cos-472)) ((cos-52 3) cos-481)) ((cos-52 4) cos-531)))))) ((cos-231 200) (cos-57 0))))))) (if (tish ((cos-= cos-147) 369)) (cos-152 530) (if (tish ((cos-= cos-147) 534)) (lambda (cos-471) (lambda (cos-472) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 416) 1) (if (tish ((cos-= cos-37) 1)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 2)) (((cos-468 422) 242) cos-532) (if (tish ((cos-= cos-37) 3)) ((cos-468 439) 12) (if (tish ((cos-= cos-37) 4)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 5)) (((cos-468 422) 528) ((cos-383 474) 380)) (if (tish ((cos-= cos-37) 6)) ((cos-468 416) 2) (if (tish ((cos-= cos-37) 7)) ((((cos-468 451) 370) 1) 1) (if (tish ((cos-= cos-37) 8)) ((cos-468 436) 12) (if (tish ((cos-= cos-37) 9)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 10)) (((cos-468 422) 244) cos-532) (if (tish ((cos-= cos-37) 11)) (cos-468 449) (if (tish ((cos-= cos-37) 12)) ((cos-468 416) 1) (if (tish ((cos-= cos-37) 13)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 14)) (((cos-468 422) 244) cos-532) (if (tish ((cos-= cos-37) 15)) ((cos-468 439) 24) (if (tish ((cos-= cos-37) 16)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 17)) (((cos-468 422) 529) ((cos-383 474) 380)) (if (tish ((cos-= cos-37) 18)) ((cos-468 416) 2) (if (tish ((cos-= cos-37) 19)) ((((cos-468 451) 370) 1) 1) (if (tish ((cos-= cos-37) 20)) ((cos-468 436) 24) (if (tish ((cos-= cos-37) 21)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 22)) (((cos-468 422) 242) cos-532) (if (tish ((cos-= cos-37) 23)) (cos-468 449) (if (tish ((cos-= cos-37) 24)) (cos-468 421) (if (tish ((cos-= cos-37) 25)) (cos-468 449) (cos-468 187))))))))))))))))))))))))))))))) ((cos-231 200) (cos-137 ((((cos-57 3) ((cos-52 0) cos-152)) ((cos-52 1) cos-471)) ((cos-52 2) cos-472)))))) ((cos-231 200) (cos-57 0))))) (if (tish ((cos-= cos-147) 84)) (cos-152 534) (if (tish ((cos-= cos-147) 535)) (lambda (cos-471) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 416) 1) (if (tish ((cos-= cos-37) 1)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 2)) (((cos-468 422) 242) cos-532) (if (tish ((cos-= cos-37) 3)) ((cos-468 439) 7) (if (tish ((cos-= cos-37) 4)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 5)) (((cos-468 422) 244) cos-532) (if (tish ((cos-= cos-37) 6)) (cos-468 449) (if (tish ((cos-= cos-37) 7)) ((cos-468 416) 1) (if (tish ((cos-= cos-37) 8)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 9)) (((cos-468 422) 244) cos-532) (if (tish ((cos-= cos-37) 10)) ((cos-468 439) 14) (if (tish ((cos-= cos-37) 11)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 12)) (((cos-468 422) 242) cos-532) (if (tish ((cos-= cos-37) 13)) (cos-468 449) (if (tish ((cos-= cos-37) 14)) (cos-468 421) (if (tish ((cos-= cos-37) 15)) (cos-468 449) (cos-468 187))))))))))))))))))))) ((cos-231 200) (cos-137 (((cos-57 2) ((cos-52 0) cos-152)) ((cos-52 1) cos-471)))))) ((cos-231 200) (cos-57 0)))) (if (tish ((cos-= cos-147) 230)) cos-230 (if (tish ((cos-= cos-147) 242)) cos-242 (if (tish ((cos-= cos-147) 244)) cos-244 (if (tish ((cos-= cos-147) 528)) cos-528 (if (tish ((cos-= cos-147) 529)) cos-529 (if (tish ((cos-= cos-147) 152)) cos-152 (if (tish ((cos-= cos-147) 527)) (cos-152 152) (if (tish ((cos-= cos-147) 223)) 527 (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) 0) (if (tish ((cos-= cos-147) 200)) 0 (if (tish ((cos-= cos-147) 220)) cos-220 (if (tish ((cos-= cos-147) 225)) (lambda (cos-37) ((cos-= cos-220) (cos-37 220))) ((cos-152 224) cos-147))))))))))))))))))))))) 1)) ((cos-214 cos-219) cos-152)))))) (cos-make-cell 0))) ((cos-231 200) 0))) ((cos-231 200) 0))) ((cos-231 200) 0))) ((cos-231 200) 0))) (cos-211 200)))) 1) ok ; JAVA class translation 'COS_JThing' ; Thu Jun 30 17:00:13 EDT 2005 ; Produced by Fritzifier, based on JasminVisitor ; Using BCEL library to read Java bytecode ; Here is the original code: ; ; public class COS_JThing extends COS_JNamed { ; private COS_JRoom location; ; private COS_JRoom nextLocation; ; ; public void setRoom(COS_JRoom location) { ; if (this.location!=null) { ; this.location.removeThing(this); ; } ; this.location = location; ; location.addThing(this); ; this.nextLocation = location; ; } ; ; public COS_JRoom getRoom() { ; return location; ; } ; ; public void setNextRoom(COS_JRoom location) { ; nextLocation = location; ; } ; ; public void postUpdate() { ; if (nextLocation!=location) { ; setRoom(nextLocation); ; } ; } ; } ; Expression: (216 536 () (221 230 (27 0)) (147 200 (28 (230) ((537) -1 215))) (147 203 (12 37 -1 (29 -1 230) -1 37)) (147 224 (12 37 -1 152 203 -1 37)) (221 259 (231 200 0)) (221 538 (231 200 0)) (147 368 (26 () -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 416 0)) ((2 (37) 1) (468 455 368 0 0)) ((2 (37) 2) (468 187)) (468 187))) (147 369 (152 368)) (147 539 (26 (471) -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152)) (52 1 (471))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 416 0)) ((2 (37) 1) (468 422 259 (532))) ((2 (37) 2) (468 445 7)) ((2 (37) 3) (468 416 0)) ((2 (37) 4) (468 422 259 (532))) ((2 (37) 5) (468 416 0)) ((2 (37) 6) (468 451 540 1 0)) ((2 (37) 7) (468 416 0)) ((2 (37) 8) (468 416 1)) ((2 (37) 9) (468 424 259 (532))) ((2 (37) 10) (468 416 1)) ((2 (37) 11) (468 416 0)) ((2 (37) 12) (468 451 541 1 0)) ((2 (37) 13) (468 416 0)) ((2 (37) 14) (468 416 1)) ((2 (37) 15) (468 424 538 (532))) ((2 (37) 16) (468 187)) (468 187))) (147 542 (152 539)) (147 543 (26 () -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 416 0)) ((2 (37) 1) (468 422 259 (532))) ((2 (37) 2) (468 449)) (468 187))) (147 544 (152 543)) (147 545 (26 (471) -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152)) (52 1 (471))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 416 0)) ((2 (37) 1) (468 416 1)) ((2 (37) 2) (468 424 538 (532))) ((2 (37) 3) (468 187)) (468 187))) (147 546 (152 545)) (147 547 (26 () -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 416 0)) ((2 (37) 1) (468 422 538 (532))) ((2 (37) 2) (468 416 0)) ((2 (37) 3) (468 422 259 (532))) ((2 (37) 4) (468 440 9)) ((2 (37) 5) (468 416 0)) ((2 (37) 6) (468 416 0)) ((2 (37) 7) (468 422 538 (532))) ((2 (37) 8) (468 451 539 1 0)) ((2 (37) 9) (468 187)) (468 187))) (147 548 (152 547))) Translation: (begin (define cos-536 (lambda (cos-219) ((lambda (cos-220) ((lambda (cos-538) ((lambda (cos-259) ((lambda (cos-230) ((lambda (cos-152) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-152) (cos-152 200)))) (cos-190 (lambda (cos-152) ((lambda (cos-215) ((lambda (cos-222) (lambda (cos-147) (if (tish ((cos-= cos-147) 200)) ((cos-set! cos-230) (cos-537 cos-215)) (if (tish ((cos-= cos-147) 203)) (lambda (cos-37) ((cos-get! cos-230) cos-37)) (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) ((cos-152 203) cos-37)) (if (tish ((cos-= cos-147) 368)) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 1)) ((((cos-468 455) 368) 0) 0) (if (tish ((cos-= cos-37) 2)) (cos-468 187) (cos-468 187)))))))) ((cos-231 200) (cos-137 ((cos-57 1) ((cos-52 0) cos-152)))))) ((cos-231 200) (cos-57 0))) (if (tish ((cos-= cos-147) 369)) (cos-152 368) (if (tish ((cos-= cos-147) 539)) (lambda (cos-471) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 1)) (((cos-468 422) 259) cos-532) (if (tish ((cos-= cos-37) 2)) ((cos-468 445) 7) (if (tish ((cos-= cos-37) 3)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 4)) (((cos-468 422) 259) cos-532) (if (tish ((cos-= cos-37) 5)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 6)) ((((cos-468 451) 540) 1) 0) (if (tish ((cos-= cos-37) 7)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 8)) ((cos-468 416) 1) (if (tish ((cos-= cos-37) 9)) (((cos-468 424) 259) cos-532) (if (tish ((cos-= cos-37) 10)) ((cos-468 416) 1) (if (tish ((cos-= cos-37) 11)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 12)) ((((cos-468 451) 541) 1) 0) (if (tish ((cos-= cos-37) 13)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 14)) ((cos-468 416) 1) (if (tish ((cos-= cos-37) 15)) (((cos-468 424) 538) cos-532) (if (tish ((cos-= cos-37) 16)) (cos-468 187) (cos-468 187)))))))))))))))))))))) ((cos-231 200) (cos-137 (((cos-57 2) ((cos-52 0) cos-152)) ((cos-52 1) cos-471)))))) ((cos-231 200) (cos-57 0)))) (if (tish ((cos-= cos-147) 542)) (cos-152 539) (if (tish ((cos-= cos-147) 543)) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 1)) (((cos-468 422) 259) cos-532) (if (tish ((cos-= cos-37) 2)) (cos-468 449) (cos-468 187)))))))) ((cos-231 200) (cos-137 ((cos-57 1) ((cos-52 0) cos-152)))))) ((cos-231 200) (cos-57 0))) (if (tish ((cos-= cos-147) 544)) (cos-152 543) (if (tish ((cos-= cos-147) 545)) (lambda (cos-471) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 1)) ((cos-468 416) 1) (if (tish ((cos-= cos-37) 2)) (((cos-468 424) 538) cos-532) (if (tish ((cos-= cos-37) 3)) (cos-468 187) (cos-468 187))))))))) ((cos-231 200) (cos-137 (((cos-57 2) ((cos-52 0) cos-152)) ((cos-52 1) cos-471)))))) ((cos-231 200) (cos-57 0)))) (if (tish ((cos-= cos-147) 546)) (cos-152 545) (if (tish ((cos-= cos-147) 547)) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 1)) (((cos-468 422) 538) cos-532) (if (tish ((cos-= cos-37) 2)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 3)) (((cos-468 422) 259) cos-532) (if (tish ((cos-= cos-37) 4)) ((cos-468 440) 9) (if (tish ((cos-= cos-37) 5)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 6)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 7)) (((cos-468 422) 538) cos-532) (if (tish ((cos-= cos-37) 8)) ((((cos-468 451) 539) 1) 0) (if (tish ((cos-= cos-37) 9)) (cos-468 187) (cos-468 187))))))))))))))) ((cos-231 200) (cos-137 ((cos-57 1) ((cos-52 0) cos-152)))))) ((cos-231 200) (cos-57 0))) (if (tish ((cos-= cos-147) 548)) (cos-152 547) (if (tish ((cos-= cos-147) 230)) cos-230 (if (tish ((cos-= cos-147) 259)) cos-259 (if (tish ((cos-= cos-147) 538)) cos-538 (if (tish ((cos-= cos-147) 152)) cos-152 (if (tish ((cos-= cos-147) 536)) (cos-152 152) (if (tish ((cos-= cos-147) 223)) 536 (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) 0) (if (tish ((cos-= cos-147) 200)) 0 (if (tish ((cos-= cos-147) 220)) cos-220 (if (tish ((cos-= cos-147) 225)) (lambda (cos-37) ((cos-= cos-220) (cos-37 220))) ((cos-152 224) cos-147)))))))))))))))))))))))))) 1)) ((cos-214 cos-219) cos-152)))))) (cos-make-cell 0))) ((cos-231 200) 0))) ((cos-231 200) 0))) (cos-211 200)))) 1) ok ; JAVA class translation 'COS_JRoom' ; Thu Jun 30 17:00:16 EDT 2005 ; Produced by Fritzifier, based on JasminVisitor ; Using BCEL library to read Java bytecode ; Here is the original code: ; ; import java.util.Iterator; ; ; public class COS_JRoom extends COS_JNamed { ; private COS_JList content = new COS_JList(); ; private COS_JList doors = new COS_JList(); ; ; public COS_JList get() { ; return content; ; } ; ; public Iterator getDoors() { ; return doors.iterator(); ; } ; ; public void addDoor(COS_JDoor door) { ; //System.out.println(''add door -> '' + getName()); ; doors.add(door); ; } ; ; public void addThing(COS_JThing thing) { ; content.add(thing); ; } ; ; public void removeThing(COS_JThing thing) { ; content.remove(thing); ; } ; } Expression: (216 532 () (221 230 (27 0)) (147 200 (28 (230) ((537) -1 215))) (147 203 (12 37 -1 (29 -1 230) -1 37)) (147 224 (12 37 -1 152 203 -1 37)) (221 233 (231 200 0)) (221 549 (231 200 0)) (147 368 (26 () -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 416 0)) ((2 (37) 1) (468 455 368 0 0)) ((2 (37) 2) (468 416 0)) ((2 (37) 3) (468 200 (505))) ((2 (37) 4) (468 410)) ((2 (37) 5) (468 455 368 0 0)) ((2 (37) 6) (468 424 233 (505))) ((2 (37) 7) (468 416 0)) ((2 (37) 8) (468 200 (505))) ((2 (37) 9) (468 410)) ((2 (37) 10) (468 455 368 0 0)) ((2 (37) 11) (468 424 549 (505))) ((2 (37) 12) (468 187)) (468 187))) (147 369 (152 368)) (147 550 (26 () -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 416 0)) ((2 (37) 1) (468 422 233 (505))) ((2 (37) 2) (468 449)) (468 187))) (147 234 (152 550)) (147 551 (26 () -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 416 0)) ((2 (37) 1) (468 422 549 (505))) ((2 (37) 2) (468 451 511 0 1)) ((2 (37) 3) (468 449)) (468 187))) (147 552 (152 551)) (147 533 (26 (471) -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152)) (52 1 (471))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 416 0)) ((2 (37) 1) (468 422 549 (505))) ((2 (37) 2) (468 416 1)) ((2 (37) 3) (468 451 506 1 0)) ((2 (37) 4) (468 187)) (468 187))) (147 553 (152 533)) (147 541 (26 (471) -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152)) (52 1 (471))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 416 0)) ((2 (37) 1) (468 422 233 (505))) ((2 (37) 2) (468 416 1)) ((2 (37) 3) (468 451 506 1 0)) ((2 (37) 4) (468 187)) (468 187))) (147 554 (152 541)) (147 540 (26 (471) -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152)) (52 1 (471))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 416 0)) ((2 (37) 1) (468 422 233 (505))) ((2 (37) 2) (468 416 1)) ((2 (37) 3) (468 451 507 1 1)) ((2 (37) 4) (468 555)) ((2 (37) 5) (468 187)) (468 187))) (147 556 (152 540))) Translation: (begin (define cos-532 (lambda (cos-219) ((lambda (cos-220) ((lambda (cos-549) ((lambda (cos-233) ((lambda (cos-230) ((lambda (cos-152) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-152) (cos-152 200)))) (cos-190 (lambda (cos-152) ((lambda (cos-215) ((lambda (cos-222) (lambda (cos-147) (if (tish ((cos-= cos-147) 200)) ((cos-set! cos-230) (cos-537 cos-215)) (if (tish ((cos-= cos-147) 203)) (lambda (cos-37) ((cos-get! cos-230) cos-37)) (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) ((cos-152 203) cos-37)) (if (tish ((cos-= cos-147) 368)) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 1)) ((((cos-468 455) 368) 0) 0) (if (tish ((cos-= cos-37) 2)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 3)) ((cos-468 200) cos-505) (if (tish ((cos-= cos-37) 4)) (cos-468 410) (if (tish ((cos-= cos-37) 5)) ((((cos-468 455) 368) 0) 0) (if (tish ((cos-= cos-37) 6)) (((cos-468 424) 233) cos-505) (if (tish ((cos-= cos-37) 7)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 8)) ((cos-468 200) cos-505) (if (tish ((cos-= cos-37) 9)) (cos-468 410) (if (tish ((cos-= cos-37) 10)) ((((cos-468 455) 368) 0) 0) (if (tish ((cos-= cos-37) 11)) (((cos-468 424) 549) cos-505) (if (tish ((cos-= cos-37) 12)) (cos-468 187) (cos-468 187)))))))))))))))))) ((cos-231 200) (cos-137 ((cos-57 1) ((cos-52 0) cos-152)))))) ((cos-231 200) (cos-57 0))) (if (tish ((cos-= cos-147) 369)) (cos-152 368) (if (tish ((cos-= cos-147) 550)) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 1)) (((cos-468 422) 233) cos-505) (if (tish ((cos-= cos-37) 2)) (cos-468 449) (cos-468 187)))))))) ((cos-231 200) (cos-137 ((cos-57 1) ((cos-52 0) cos-152)))))) ((cos-231 200) (cos-57 0))) (if (tish ((cos-= cos-147) 234)) (cos-152 550) (if (tish ((cos-= cos-147) 551)) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 1)) (((cos-468 422) 549) cos-505) (if (tish ((cos-= cos-37) 2)) ((((cos-468 451) 511) 0) 1) (if (tish ((cos-= cos-37) 3)) (cos-468 449) (cos-468 187))))))))) ((cos-231 200) (cos-137 ((cos-57 1) ((cos-52 0) cos-152)))))) ((cos-231 200) (cos-57 0))) (if (tish ((cos-= cos-147) 552)) (cos-152 551) (if (tish ((cos-= cos-147) 533)) (lambda (cos-471) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 1)) (((cos-468 422) 549) cos-505) (if (tish ((cos-= cos-37) 2)) ((cos-468 416) 1) (if (tish ((cos-= cos-37) 3)) ((((cos-468 451) 506) 1) 0) (if (tish ((cos-= cos-37) 4)) (cos-468 187) (cos-468 187)))))))))) ((cos-231 200) (cos-137 (((cos-57 2) ((cos-52 0) cos-152)) ((cos-52 1) cos-471)))))) ((cos-231 200) (cos-57 0)))) (if (tish ((cos-= cos-147) 553)) (cos-152 533) (if (tish ((cos-= cos-147) 541)) (lambda (cos-471) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 1)) (((cos-468 422) 233) cos-505) (if (tish ((cos-= cos-37) 2)) ((cos-468 416) 1) (if (tish ((cos-= cos-37) 3)) ((((cos-468 451) 506) 1) 0) (if (tish ((cos-= cos-37) 4)) (cos-468 187) (cos-468 187)))))))))) ((cos-231 200) (cos-137 (((cos-57 2) ((cos-52 0) cos-152)) ((cos-52 1) cos-471)))))) ((cos-231 200) (cos-57 0)))) (if (tish ((cos-= cos-147) 554)) (cos-152 541) (if (tish ((cos-= cos-147) 540)) (lambda (cos-471) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 1)) (((cos-468 422) 233) cos-505) (if (tish ((cos-= cos-37) 2)) ((cos-468 416) 1) (if (tish ((cos-= cos-37) 3)) ((((cos-468 451) 507) 1) 1) (if (tish ((cos-= cos-37) 4)) (cos-468 555) (if (tish ((cos-= cos-37) 5)) (cos-468 187) (cos-468 187))))))))))) ((cos-231 200) (cos-137 (((cos-57 2) ((cos-52 0) cos-152)) ((cos-52 1) cos-471)))))) ((cos-231 200) (cos-57 0)))) (if (tish ((cos-= cos-147) 556)) (cos-152 540) (if (tish ((cos-= cos-147) 230)) cos-230 (if (tish ((cos-= cos-147) 233)) cos-233 (if (tish ((cos-= cos-147) 549)) cos-549 (if (tish ((cos-= cos-147) 152)) cos-152 (if (tish ((cos-= cos-147) 532)) (cos-152 152) (if (tish ((cos-= cos-147) 223)) 532 (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) 0) (if (tish ((cos-= cos-147) 200)) 0 (if (tish ((cos-= cos-147) 220)) cos-220 (if (tish ((cos-= cos-147) 225)) (lambda (cos-37) ((cos-= cos-220) (cos-37 220))) ((cos-152 224) cos-147)))))))))))))))))))))))))))) 1)) ((cos-214 cos-219) cos-152)))))) (cos-make-cell 0))) ((cos-231 200) 0))) ((cos-231 200) 0))) (cos-211 200)))) 1) ok ; JAVA class translation 'COS_JNamed' ; Thu Jun 30 17:00:19 EDT 2005 ; Produced by Fritzifier, based on JasminVisitor ; Using BCEL library to read Java bytecode ; Here is the original code: ; ; public class COS_JNamed { ; private String name = ''-''; ; private COS_JWorld world = null; ; ; void setName(String name) { ; this.name = name; ; } ; ; String getName() { ; return name; ; } ; ; void setWorld(COS_JWorld world) { ; this.world = world; ; } ; ; COS_JWorld getWorld() { ; return world; ; } ; ; void update() { ; } ; ; void postUpdate() { ; } ; } Expression: (216 537 () (221 230 (27 0)) (147 200 (28 (230) ((383 474 366) -1 215))) (147 203 (12 37 -1 (29 -1 230) -1 37)) (147 224 (12 37 -1 152 203 -1 37)) (221 146 (231 200 0)) (221 492 (231 200 0)) (147 368 (26 () -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 416 0)) ((2 (37) 1) (468 455 368 0 0)) ((2 (37) 2) (468 416 0)) ((2 (37) 3) (468 419 (380 200 382 45))) ((2 (37) 4) (468 424 146 (383 474 380))) ((2 (37) 5) (468 416 0)) ((2 (37) 6) (468 421)) ((2 (37) 7) (468 424 492 (557))) ((2 (37) 8) (468 187)) (468 187))) (147 369 (152 368)) (147 558 (26 (471) -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152)) (52 1 (471))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 416 0)) ((2 (37) 1) (468 416 1)) ((2 (37) 2) (468 424 146 (383 474 380))) ((2 (37) 3) (468 187)) (468 187))) (147 559 (152 558)) (147 560 (26 () -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 416 0)) ((2 (37) 1) (468 422 146 (383 474 380))) ((2 (37) 2) (468 449)) (468 187))) (147 561 (152 560)) (147 562 (26 (471) -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152)) (52 1 (471))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 416 0)) ((2 (37) 1) (468 416 1)) ((2 (37) 2) (468 424 492 (557))) ((2 (37) 3) (468 187)) (468 187))) (147 563 (152 562)) (147 564 (26 () -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 416 0)) ((2 (37) 1) (468 422 492 (557))) ((2 (37) 2) (468 449)) (468 187))) (147 565 (152 564)) (147 566 (26 () -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 187)) (468 187))) (147 265 (152 566)) (147 547 (26 () -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 187)) (468 187))) (147 548 (152 547))) Translation: (begin (define cos-537 (lambda (cos-219) ((lambda (cos-220) ((lambda (cos-492) ((lambda (cos-146) ((lambda (cos-230) ((lambda (cos-152) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-152) (cos-152 200)))) (cos-190 (lambda (cos-152) ((lambda (cos-215) ((lambda (cos-222) (lambda (cos-147) (if (tish ((cos-= cos-147) 200)) ((cos-set! cos-230) (((cos-383 474) 366) cos-215)) (if (tish ((cos-= cos-147) 203)) (lambda (cos-37) ((cos-get! cos-230) cos-37)) (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) ((cos-152 203) cos-37)) (if (tish ((cos-= cos-147) 368)) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 1)) ((((cos-468 455) 368) 0) 0) (if (tish ((cos-= cos-37) 2)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 3)) ((cos-468 419) (((cos-380 200) 382) 45)) (if (tish ((cos-= cos-37) 4)) (((cos-468 424) 146) ((cos-383 474) 380)) (if (tish ((cos-= cos-37) 5)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 6)) (cos-468 421) (if (tish ((cos-= cos-37) 7)) (((cos-468 424) 492) cos-557) (if (tish ((cos-= cos-37) 8)) (cos-468 187) (cos-468 187)))))))))))))) ((cos-231 200) (cos-137 ((cos-57 1) ((cos-52 0) cos-152)))))) ((cos-231 200) (cos-57 0))) (if (tish ((cos-= cos-147) 369)) (cos-152 368) (if (tish ((cos-= cos-147) 558)) (lambda (cos-471) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 1)) ((cos-468 416) 1) (if (tish ((cos-= cos-37) 2)) (((cos-468 424) 146) ((cos-383 474) 380)) (if (tish ((cos-= cos-37) 3)) (cos-468 187) (cos-468 187))))))))) ((cos-231 200) (cos-137 (((cos-57 2) ((cos-52 0) cos-152)) ((cos-52 1) cos-471)))))) ((cos-231 200) (cos-57 0)))) (if (tish ((cos-= cos-147) 559)) (cos-152 558) (if (tish ((cos-= cos-147) 560)) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 1)) (((cos-468 422) 146) ((cos-383 474) 380)) (if (tish ((cos-= cos-37) 2)) (cos-468 449) (cos-468 187)))))))) ((cos-231 200) (cos-137 ((cos-57 1) ((cos-52 0) cos-152)))))) ((cos-231 200) (cos-57 0))) (if (tish ((cos-= cos-147) 561)) (cos-152 560) (if (tish ((cos-= cos-147) 562)) (lambda (cos-471) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 1)) ((cos-468 416) 1) (if (tish ((cos-= cos-37) 2)) (((cos-468 424) 492) cos-557) (if (tish ((cos-= cos-37) 3)) (cos-468 187) (cos-468 187))))))))) ((cos-231 200) (cos-137 (((cos-57 2) ((cos-52 0) cos-152)) ((cos-52 1) cos-471)))))) ((cos-231 200) (cos-57 0)))) (if (tish ((cos-= cos-147) 563)) (cos-152 562) (if (tish ((cos-= cos-147) 564)) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 1)) (((cos-468 422) 492) cos-557) (if (tish ((cos-= cos-37) 2)) (cos-468 449) (cos-468 187)))))))) ((cos-231 200) (cos-137 ((cos-57 1) ((cos-52 0) cos-152)))))) ((cos-231 200) (cos-57 0))) (if (tish ((cos-= cos-147) 565)) (cos-152 564) (if (tish ((cos-= cos-147) 566)) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) (cos-468 187) (cos-468 187)))))) ((cos-231 200) (cos-137 ((cos-57 1) ((cos-52 0) cos-152)))))) ((cos-231 200) (cos-57 0))) (if (tish ((cos-= cos-147) 265)) (cos-152 566) (if (tish ((cos-= cos-147) 547)) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) (cos-468 187) (cos-468 187)))))) ((cos-231 200) (cos-137 ((cos-57 1) ((cos-52 0) cos-152)))))) ((cos-231 200) (cos-57 0))) (if (tish ((cos-= cos-147) 548)) (cos-152 547) (if (tish ((cos-= cos-147) 230)) cos-230 (if (tish ((cos-= cos-147) 146)) cos-146 (if (tish ((cos-= cos-147) 492)) cos-492 (if (tish ((cos-= cos-147) 152)) cos-152 (if (tish ((cos-= cos-147) 537)) (cos-152 152) (if (tish ((cos-= cos-147) 223)) 537 (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) 0) (if (tish ((cos-= cos-147) 200)) 0 (if (tish ((cos-= cos-147) 220)) cos-220 (if (tish ((cos-= cos-147) 225)) (lambda (cos-37) ((cos-= cos-220) (cos-37 220))) ((cos-152 224) cos-147)))))))))))))))))))))))))))))) 1)) ((cos-214 cos-219) cos-152)))))) (cos-make-cell 0))) ((cos-231 200) 0))) ((cos-231 200) 0))) (cos-211 200)))) 1) ok ; JAVA class translation 'COS_JWorld' ; Thu Jun 30 17:00:22 EDT 2005 ; Produced by Fritzifier, based on JasminVisitor ; Using BCEL library to read Java bytecode ; Here is the original code: ; ; import java.util.Iterator; ; ; public class COS_JWorld { ; private COS_JHashMap content = new COS_JHashMap(); ; private COS_JList inventory = new COS_JList(); ; ; public void add(COS_JNamed named, String name) { ; named.setName(name); ; content.put(named.getName(),named); ; inventory.add(named); ; } ; ; public COS_JNamed get(String name) { ; return (COS_JNamed)content.get(new String(name)); ; } ; ; public void update() { ; for (Iterator i = inventory.iterator(); i.hasNext(); ) { ; COS_JNamed o = (COS_JNamed) i.next(); ; o.update(); ; } ; for (Iterator i = inventory.iterator(); i.hasNext(); ) { ; COS_JNamed o = (COS_JNamed) i.next(); ; o.postUpdate(); ; } ; } ; } Expression: (216 557 () (221 230 (27 0)) (147 200 (28 (230) ((383 474 366) -1 215))) (147 203 (12 37 -1 (29 -1 230) -1 37)) (147 224 (12 37 -1 152 203 -1 37)) (221 233 (231 200 0)) (221 197 (231 200 0)) (147 368 (26 () -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 416 0)) ((2 (37) 1) (468 455 368 0 0)) ((2 (37) 2) (468 416 0)) ((2 (37) 3) (468 200 (516))) ((2 (37) 4) (468 410)) ((2 (37) 5) (468 455 368 0 0)) ((2 (37) 6) (468 424 233 (516))) ((2 (37) 7) (468 416 0)) ((2 (37) 8) (468 200 (505))) ((2 (37) 9) (468 410)) ((2 (37) 10) (468 455 368 0 0)) ((2 (37) 11) (468 424 197 (505))) ((2 (37) 12) (468 187)) (468 187))) (147 369 (152 368)) (147 567 (26 (471 472) -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152)) (52 1 (471)) (52 2 (472))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 416 1)) ((2 (37) 1) (468 416 2)) ((2 (37) 2) (468 451 558 1 0)) ((2 (37) 3) (468 416 0)) ((2 (37) 4) (468 422 233 (516))) ((2 (37) 5) (468 416 1)) ((2 (37) 6) (468 451 560 0 1)) ((2 (37) 7) (468 416 1)) ((2 (37) 8) (468 451 517 2 0)) ((2 (37) 9) (468 416 0)) ((2 (37) 10) (468 422 197 (505))) ((2 (37) 11) (468 416 1)) ((2 (37) 12) (468 451 506 1 0)) ((2 (37) 13) (468 187)) (468 187))) (147 100 (152 567)) (147 568 (26 (471) -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152)) (52 1 (471))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 416 0)) ((2 (37) 1) (468 422 233 (516))) ((2 (37) 2) (468 200 (383 474 380))) ((2 (37) 3) (468 410)) ((2 (37) 4) (468 416 1)) ((2 (37) 5) (468 455 381 1 0)) ((2 (37) 6) (468 451 519 1 1)) ((2 (37) 7) (468 412 (537))) ((2 (37) 8) (468 449)) (468 187))) (147 234 (152 568)) (147 566 (26 () -1 77 ((404 -1 231 200 -1 137 -1 16 (52 0 (152))) (405 -1 231 200 -1 16)) -1 469 (404) (405) -1 12 468 -1 12 37 -1 181 ((2 (37) 0) (468 416 0)) ((2 (37) 1) (468 422 197 (505))) ((2 (37) 2) (468 451 511 0 1)) ((2 (37) 3) (468 413 1)) ((2 (37) 4) (468 416 1)) ((2 (37) 5) (468 454 523 0 1 1)) ((2 (37) 6) (468 436 14)) ((2 (37) 7) (468 416 1)) ((2 (37) 8) (468 454 525 0 1 1)) ((2 (37) 9) (468 412 (537))) ((2 (37) 10) (468 413 2)) ((2 (37) 11) (468 416 2)) ((2 (37) 12) (468 451 566 0 0)) ((2 (37) 13) (468 430 4)) ((2 (37) 14) (468 416 0)) ((2 (37) 15) (468 422 197 (505))) ((2 (37) 16) (468 451 511 0 1)) ((2 (37) 17) (468 413 1)) ((2 (37) 18) (468 416 1)) ((2 (37) 19) (468 454 523 0 1 1)) ((2 (37) 20) (468 436 28)) ((2 (37) 21) (468 416 1)) ((2 (37) 22) (468 454 525 0 1 1)) ((2 (37) 23) (468 412 (537))) ((2 (37) 24) (468 413 2)) ((2 (37) 25) (468 416 2)) ((2 (37) 26) (468 451 547 0 0)) ((2 (37) 27) (468 430 18)) ((2 (37) 28) (468 187)) (468 187))) (147 265 (152 566))) Translation: (begin (define cos-557 (lambda (cos-219) ((lambda (cos-220) ((lambda (cos-197) ((lambda (cos-233) ((lambda (cos-230) ((lambda (cos-152) ((lambda (cos-37) (cos-58 cos-37)) (((cos-57 2) cos-152) (cos-152 200)))) (cos-190 (lambda (cos-152) ((lambda (cos-215) ((lambda (cos-222) (lambda (cos-147) (if (tish ((cos-= cos-147) 200)) ((cos-set! cos-230) (((cos-383 474) 366) cos-215)) (if (tish ((cos-= cos-147) 203)) (lambda (cos-37) ((cos-get! cos-230) cos-37)) (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) ((cos-152 203) cos-37)) (if (tish ((cos-= cos-147) 368)) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 1)) ((((cos-468 455) 368) 0) 0) (if (tish ((cos-= cos-37) 2)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 3)) ((cos-468 200) cos-516) (if (tish ((cos-= cos-37) 4)) (cos-468 410) (if (tish ((cos-= cos-37) 5)) ((((cos-468 455) 368) 0) 0) (if (tish ((cos-= cos-37) 6)) (((cos-468 424) 233) cos-516) (if (tish ((cos-= cos-37) 7)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 8)) ((cos-468 200) cos-505) (if (tish ((cos-= cos-37) 9)) (cos-468 410) (if (tish ((cos-= cos-37) 10)) ((((cos-468 455) 368) 0) 0) (if (tish ((cos-= cos-37) 11)) (((cos-468 424) 197) cos-505) (if (tish ((cos-= cos-37) 12)) (cos-468 187) (cos-468 187)))))))))))))))))) ((cos-231 200) (cos-137 ((cos-57 1) ((cos-52 0) cos-152)))))) ((cos-231 200) (cos-57 0))) (if (tish ((cos-= cos-147) 369)) (cos-152 368) (if (tish ((cos-= cos-147) 567)) (lambda (cos-471) (lambda (cos-472) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 416) 1) (if (tish ((cos-= cos-37) 1)) ((cos-468 416) 2) (if (tish ((cos-= cos-37) 2)) ((((cos-468 451) 558) 1) 0) (if (tish ((cos-= cos-37) 3)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 4)) (((cos-468 422) 233) cos-516) (if (tish ((cos-= cos-37) 5)) ((cos-468 416) 1) (if (tish ((cos-= cos-37) 6)) ((((cos-468 451) 560) 0) 1) (if (tish ((cos-= cos-37) 7)) ((cos-468 416) 1) (if (tish ((cos-= cos-37) 8)) ((((cos-468 451) 517) 2) 0) (if (tish ((cos-= cos-37) 9)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 10)) (((cos-468 422) 197) cos-505) (if (tish ((cos-= cos-37) 11)) ((cos-468 416) 1) (if (tish ((cos-= cos-37) 12)) ((((cos-468 451) 506) 1) 0) (if (tish ((cos-= cos-37) 13)) (cos-468 187) (cos-468 187))))))))))))))))))) ((cos-231 200) (cos-137 ((((cos-57 3) ((cos-52 0) cos-152)) ((cos-52 1) cos-471)) ((cos-52 2) cos-472)))))) ((cos-231 200) (cos-57 0))))) (if (tish ((cos-= cos-147) 100)) (cos-152 567) (if (tish ((cos-= cos-147) 568)) (lambda (cos-471) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 1)) (((cos-468 422) 233) cos-516) (if (tish ((cos-= cos-37) 2)) ((cos-468 200) ((cos-383 474) 380)) (if (tish ((cos-= cos-37) 3)) (cos-468 410) (if (tish ((cos-= cos-37) 4)) ((cos-468 416) 1) (if (tish ((cos-= cos-37) 5)) ((((cos-468 455) 381) 1) 0) (if (tish ((cos-= cos-37) 6)) ((((cos-468 451) 519) 1) 1) (if (tish ((cos-= cos-37) 7)) ((cos-468 412) cos-537) (if (tish ((cos-= cos-37) 8)) (cos-468 449) (cos-468 187)))))))))))))) ((cos-231 200) (cos-137 (((cos-57 2) ((cos-52 0) cos-152)) ((cos-52 1) cos-471)))))) ((cos-231 200) (cos-57 0)))) (if (tish ((cos-= cos-147) 234)) (cos-152 568) (if (tish ((cos-= cos-147) 566)) ((lambda (cos-405) ((lambda (cos-404) (((cos-469 cos-404) cos-405) (lambda (cos-468) (lambda (cos-37) (if (tish ((cos-= cos-37) 0)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 1)) (((cos-468 422) 197) cos-505) (if (tish ((cos-= cos-37) 2)) ((((cos-468 451) 511) 0) 1) (if (tish ((cos-= cos-37) 3)) ((cos-468 413) 1) (if (tish ((cos-= cos-37) 4)) ((cos-468 416) 1) (if (tish ((cos-= cos-37) 5)) (((((cos-468 454) 523) 0) 1) 1) (if (tish ((cos-= cos-37) 6)) ((cos-468 436) 14) (if (tish ((cos-= cos-37) 7)) ((cos-468 416) 1) (if (tish ((cos-= cos-37) 8)) (((((cos-468 454) 525) 0) 1) 1) (if (tish ((cos-= cos-37) 9)) ((cos-468 412) cos-537) (if (tish ((cos-= cos-37) 10)) ((cos-468 413) 2) (if (tish ((cos-= cos-37) 11)) ((cos-468 416) 2) (if (tish ((cos-= cos-37) 12)) ((((cos-468 451) 566) 0) 0) (if (tish ((cos-= cos-37) 13)) ((cos-468 430) 4) (if (tish ((cos-= cos-37) 14)) ((cos-468 416) 0) (if (tish ((cos-= cos-37) 15)) (((cos-468 422) 197) cos-505) (if (tish ((cos-= cos-37) 16)) ((((cos-468 451) 511) 0) 1) (if (tish ((cos-= cos-37) 17)) ((cos-468 413) 1) (if (tish ((cos-= cos-37) 18)) ((cos-468 416) 1) (if (tish ((cos-= cos-37) 19)) (((((cos-468 454) 523) 0) 1) 1) (if (tish ((cos-= cos-37) 20)) ((cos-468 436) 28) (if (tish ((cos-= cos-37) 21)) ((cos-468 416) 1) (if (tish ((cos-= cos-37) 22)) (((((cos-468 454) 525) 0) 1) 1) (if (tish ((cos-= cos-37) 23)) ((cos-468 412) cos-537) (if (tish ((cos-= cos-37) 24)) ((cos-468 413) 2) (if (tish ((cos-= cos-37) 25)) ((cos-468 416) 2) (if (tish ((cos-= cos-37) 26)) ((((cos-468 451) 547) 0) 0) (if (tish ((cos-= cos-37) 27)) ((cos-468 430) 18) (if (tish ((cos-= cos-37) 28)) (cos-468 187) (cos-468 187)))))))))))))))))))))))))))))))))) ((cos-231 200) (cos-137 ((cos-57 1) ((cos-52 0) cos-152)))))) ((cos-231 200) (cos-57 0))) (if (tish ((cos-= cos-147) 265)) (cos-152 566) (if (tish ((cos-= cos-147) 230)) cos-230 (if (tish ((cos-= cos-147) 233)) cos-233 (if (tish ((cos-= cos-147) 197)) cos-197 (if (tish ((cos-= cos-147) 152)) cos-152 (if (tish ((cos-= cos-147) 557)) (cos-152 152) (if (tish ((cos-= cos-147) 223)) 557 (if (tish ((cos-= cos-147) 224)) (lambda (cos-37) 0) (if (tish ((cos-= cos-147) 200)) 0 (if (tish ((cos-= cos-147) 220)) cos-220 (if (tish ((cos-= cos-147) 225)) (lambda (cos-37) ((cos-= cos-220) (cos-37 220))) ((cos-152 224) cos-147)))))))))))))))))))))))) 1)) ((cos-214 cos-219) cos-152)))))) (cos-make-cell 0))) ((cos-231 200) 0))) ((cos-231 200) 0))) (cos-211 200)))) 1) ok ; JAVA class translation 'COS_JRobo' ; Thu Jun 30 17:00:24 EDT 2005 ; Produced by Fritzifier, based on JasminVisitor ; Using BCEL library to read Java bytecode ; Here is the original code: ; ; import java.util.Iterator; ; ; public class COS_JRobo extends COS_JThing { ; private COS_JHashMap times = new COS_JHashMap(); ; private int now = 1; ; public void update() { ; COS_JRoom location = getRoom(); ; //System.out.println(''Updating robo...''); ; if (location!=null) { ; int oldestTime = now; ; COS_JDoor oldestDoor = null; ; for (Iterator i = location.getDoors(); i.hasNext(); ) { ; COS_JDoor door = (COS_JDoor) i.next(); ; //System.out.println('' scanning door ''); ; Integer t = (Integer)times.get(door); ; int v = 0; ; if (t!=null) { ; v = t.intValue(); ; } ; if (v End of input stream reached Happy Happy Joy Joy.