August 4
CoCreate è il CAD 2D Hewlett Packard - Computer Aided Design - pacchetto software. Gli ingegneri usano per progettare nuovi componenti. Il linguaggio macro che viene fornito con CoCreate si chiama ME10. A prima vista, ME10 sembra molto diverso dal linguaggio LISP AI. La pletora di parentesi che è così caratteristica del LISP è quasi assenza in ME10. A ben guardare, però, si scopre che i principali operatori ME10 sono "definiscono", "loop" e "lasciare", che sono anche gli operatori principali in LISP. Fatta eccezione per le apparenze superficiali, LISP e ME10 sono in realtà molto simili.
1 Convertire definizioni di funzioni in LISP a definizioni di funzioni in ME10. Le definizioni di funzione in look LISP in questo modo: ". END_DEFINE" (definire il nome (parametri) ABC), e il codice equivalente in ME10 inizierà con una linea che ha "definire il nome" e terminare con una linea che ha la parola chiave Ogni parametro è vengono riportati su una linea separata con la parola "parametro" e il nome del parametro. Le istruzioni A, B e C saranno nello stesso ordine in ME10 come erano in LISP.
2 Modificare le istruzioni di loop in LISP che simile a questa: (loop ABC). In ME10, passanti iniziano con una linea che ha la parola chiave "loop" e terminano con la parola chiave "end_loop" su una riga da solo. Ci sono molti modi di uscire da un loop in LISP, ma solo uno dei modi in ME10. E 'abbastanza facile da convertire le fughe da un ciclo LISP in uscita da un ciclo ME10, che sembra sempre così: ". Condizione exit_if"
3 Riscrivere "let" dichiarazioni in LISP. Essi funzionano esattamente come le dichiarazioni "let" in ME10 tranne la sintassi è un po 'diverso. In Lisp le dichiarazioni "lasciare" simile a questa: (lasciare A1 A2 B1 B2 C1 C2). Questo fa sì che a2 ad essere associato a a1, b2 di essere vincolato a B1 e C2 di essere vincolato a c1. In ME10, ci sarebbero tre diverse linee: "lasciate A1 A2", "lasciare B1 B2" e "lasciare C1 C2."
4 Ricordate che in LISP una variabile non deve essere dichiarata prima di essere utilizzato. Questo non è vero nella maggior parte delle lingue - tra cui ME10. Se una variabile non è dichiarata in una dichiarazione o di "parametro" "let" in LISP, esso dovrà essere dichiarata in ME10. Il modo più semplice per farlo è quello di dichiarare X con una riga che dice "X locale" prima di X appare in qualsiasi altra dichiarazione.