SCHEME
Sintaxis y simbolos
- Tipos de datos:
- Átomo: Elemento básico (Identificador, letras y dígitos).
- Boolean: #t (verdadero), #f (falso)
- Números: 42, 2+3i, 3.16, 4/6
- Listas: (Conjunto de elementos entre paréntesis): formado por átomos o listas
- Carácter: #\a
- String: "hola"
- Operadores:
- +: Suma cada uno de los argumentos.
- *: Multiplica cada uno de los argumentos.
- -: Primer argumento menos los restantes o negación del número.
- /: Primer argumento entre cada uno de los restantes.
- abs: Valor absoluto
- expt: Dados dos argumentos: x e y, calcula x^y.
- max: Máximo de sus argumentos.
- min: Mínimo de sus argumentos.
- sqrt: Raíz cuadrada.
- Listas:
- car: Devuelve el primer elemento de la lista.
- cdr: Devuelve la lista eliminando su primer elemento.
- cons: Lista formada con el primer argumento más los elementos del segundo.
- list: Lista con los parámetros pasados en orden.
- Comparación:
- eq?: TRUE si ambos argumentos son átomos e iguales. FALSE en caso contrario.
- null?: TRUE si su único argumento es una lista vacía. FALSE en caso contrario.
- list?: TRUE si su único argumento es una lista. FALSE en caso contrario.
- equal?: TRUE si ambos argumentos son iguales. FALSE en caso contrario.
- Boolean: las mayúsculas y minúsculas son importantes.
- and: Devuelve #f tan pronto uno de sus argumentos es falso
- Sintaxis: (and arg1 arg2 ... argN)
- or: Devuelve #t tan pronto uno de sus argumentos es verdadero.
- Sintaxis: (or arg1 arg2 ... argN)
- not: Negación de un valor booleano.
- impresión: imprimir por pantalla el texto que queramos.
- Sintaxis: >(print "hola")
- hola
- Comentarios: un texto que no es mostrado o utilizado para el algoritmo del programa, sino que es una guía o
comentario para el programador que esté modificando o realizando el programa.
- Sintaxis: Los comentarios se inician con ";" y todo lo que vaya después en la misma línea
- ; Comment
Esqueleto
El esqueleto de Scheme se basa únicamente en las instrucciones que se describen por el programador, por lo que no hay alguna forma
obligatoria para empezar, sin embargo, es sugerente empezar definiendo las variables como en el siguiente programa:
- (define (T)
- (display "*"))