CoCreate es la Hewlett Packard 2D CAD - Diseño Asistido por Computadora - el paquete de software. Los ingenieros utilizan para diseñar nuevas piezas. El lenguaje de macros que viene con CoCreate se llama ME10 . A primera vista, ME10 se ve muy diferente de la lengua AI LISP . La plétora de paréntesis, que es tan característica de LISP es casi ausencia en ME10 . Tras un examen más , sin embargo , resulta que los principales operadores en ME10 son " definir ", "loop " y "dejar ", que también son los principales operadores en LISP . A excepción de las apariencias superficiales , LISP y ME10 son en realidad muy similar. Instrucciones
1
Convertir definiciones de funciones en LISP para funcionar definiciones en ME10 . Las definiciones de funciones en LISP aspecto: " . End_define " (define nombre ( parámetros) ABC) , y el código equivalente en ME10 se iniciará con una línea que ha " definir el nombre " y terminan con una línea que tiene la palabra clave Cada parámetro es que aparece en una línea distinta con la palabra clave " parámetro" y el nombre del parámetro. Las instrucciones de A , B y C estarán en el mismo orden en ME10 como lo fueron en LISP
2
Cambiar instrucciones de bucle en LISP que se ven así : . (Circular ABC). En ME10 , lazos comienzan con una línea que tiene la palabra clave "loop " y terminan con la palabra clave " end_loop " en una línea por sí mismo. Hay muchas maneras de salir de un bucle en LISP , pero sólo una forma en ME10 . Es bastante fácil de convertir los escapes de un bucle LISP en la salida de un bucle ME10 , que siempre se ve así: " . Condiciones exit_if "
3
Rewrite "dejar " las declaraciones en LISP . Funcionan exactamente igual que las declaraciones de " dejar " en ME10 excepto la sintaxis es un poco diferente . En LISP las declaraciones "let" se parecen a esto : (let a1 a2 b1 b2 c1 c2 ) . Esto hace que a2 obligarse a a1, b2 obligarse a b1 y c2 obligarse a c1 . En ME10 , habría tres líneas diferentes : "Que a1 a2 " , "dejar b2 b1 " y "dejar c1 c2 . "
4
Recuerde que en LISP una variable no tiene por qué ser declarada antes de que se utiliza . Esto no es cierto en la mayoría de idiomas - incluyendo ME10 . Si una variable no es declarada en un " let " o una declaración " parámetro" en LISP , que tendrá que ser declarado en ME10 . La forma más sencilla de hacerlo es declarar X con una línea que dice " X " locales antes de X aparece en cualquier otra declaración.