You are on page 1of 4

Tecnologías y Paradigmas de la Programación

Introducción al entorno de progamación Racket


El entorno de programación para Scheme que utilizaremos en prácticas es DrRacket. Este entorno está
desarrollado por la Universidad Rice de Texas bajo licencia GNU y puede ser descargado de su página
Web (http://racket-lang.org/). Este entorno se desarrolló con un objetivo educacional, lo que se refleja en
el uso de distintos niveles de lenguaje Scheme. En nuestro caso particular trabajaremos habitualmente con
el correspondiente al estándar de Scheme Revised5 Report on the Algorithmic Language Scheme (Legacy
Lenguages/R5RS) o a su versión con muchas más funciones (Legacy Lenguages/MuyGrande).
En los siguientes apartados se describe la interfaz del entorno así como las tareas típicas de edición,
depuración y evaluación.

Descripción de la Interfaz
Una vez cargado el entorno (DrRacket.exe) se nos presenta la interfaz de programación, similar a la
que muestra la Figura 1. Para cambiar el idioma a Español activamos la opción: Help|Interactúa con
DrRacket en Español. A continuación habrá que aceptar y volver a abrir la aplicación.

Menú
s
Botonera

Ventana de
definiciones
(editor)

Ventana
interactiva
(consola)

Línea de estado

Figura 1: Interfaz gráfica de Racket.

1/4
Tecnologías y Paradigmas de la Programación

Ésta se divide en varias secciones:

 Menús:

Archivo:
Nuevo/Nueva Pestaña: Abre una nueva ventana/pestaña del entorno.

Abrir: abre un archivo .scm y lo edita en el editor.

Salvar definiciones, Salvar definiciones como: almacena las definiciones en un archivo.

Edición: Opciones clásicas de portapapeles y de búsqueda y sustitución.

Tabs:
Nos permite movernos entre las pestañas de edición abiertas.

Show:
Nos permite mostrar y ocultar las ventanas del editor y la consola.

Lenguaje:
Seleccionar Lenguaje: Nos permite fijar el nivel de lenguaje a utilizar entre varios posibles.

Racket:
Ejecutar: Evalúa las definiciones.

Ask the program to quit: Interrumpe la evaluación actual.

Force the program to quit: Interrumpe inmediatamente la evaluación actual.

Resangrar: tabula la selección actual.

Resangrar-Todo: tabula todo el texto.

Comentar con punto y coma: comenta la selección actual (; comentario...)

Des-comentar: elimina los comentarios de la selección actual.

Ayuda:
Módulo de ayuda: Ayuda en línea del entorno.
Interaccionar con DrRacket en X: cambia el idioma del entorno a X.

 Botonera: Por medio de estos botones accedemos a un conjunto de acciones sobre el Editor, de
izquierda a derecha tenemos...

Nombre de Archivo: muestra el nombre del archivo actualmente en edición, al pulsarlo nos da el path
completo y nos permite cargar desde cualquiera de las carpetas de la ruta.

(define ...): Nos permite localizar la definición de una función en el archivo en edición, y ordenarlas
por posición en el archivo o alfabéticamente.

Salvar: Nos permite guardar en disco los cambios realizados en el editor.

Revisa la sintáxis: Analiza sintácticamente las definiciones introducidas. Nos indica los errores
detectados, y si todo es correcto resalta palabras clave y funciones definidas. Al mover el ratón sobre
nombres de funciones y argumentos nos relaciona por medio de flechas las definiciones y sus usos.

2/4
Tecnologías y Paradigmas de la Programación

Step: En los niveles de lenguaje más simples (Estudiante Principiante e Intermedio) nos permite
seguir una traza de las llamadas a funciones realizadas en el editor. En los lenguajes más avanzados
aparece en su lugar una opción de Debug, para depurar el código paso a paso.

Ejecutar: Evalúa el programa del editor, haciendo disponibles sus definiciones en la consola.

Interrumpir: interrumpe la evaluación actual introducida en la consola, o emite un pitido sino está
evaluando. Una sola pulsación solicita la cancelación la evaluación, mientras que una doble
pulsación fuerza la inmediata cancelación.

 Ventana de definiciones (editor):


Racket nos ofrece este editor donde introducir nuestras definiciones. Su contenido puede ser tecleado
directamente en la ventana o bien cargado desde disco. Este editor es un control estándar de edición
de Windows, pero además incluye algunas características propias de Scheme que le convierten en un
editor sensible al contexto: Paréntesis eléctricos, auto-tabulado y resalte de bloques.
Por bloque entendemos una secuencia de elementos entre paréntesis, corchetes o llaves.

Si iniciamos un bloque de un tipo, por ejemplo paréntesis, y lo cerramos con otro delimitador, por
ejemplo corchete, el editor automáticamente lo corrige para que se ajuste al carácter de inicio.

Racket incorpora paréntesis eléctricos, que actúan cuando cerramos un bloque o una cadena entre
comillas dobles, indicándonos cual es el carácter que abría dicho bloque moviendo el cursor a su
posición y retornando de nuevo a la posición actual.

Además al situarnos a la izquierda o al final de un bloque nos resalta en color gris todo el bloque, lo
que nos facilita la comprobación de que bloque estamos cerrando.

Al pulsar <Intro> en el editor, automáticamente nos tabula la línea de acuerdo con la expresión
dentro de la que nos encontremos actualmente.

También nos resalta (en color rosa) errores derivados de caracteres de cierre de bloque que no tengan
un carácter de inicio de bloque asociado.

 Ventana interactiva (consola):


Esta ventana es la consola de comandos de Scheme, desde ella podemos llamar a cualquier función
ya definida, cargar un archivo de definiciones (load "<nombre_archivo>.scm") o incluso
definir nuevas funciones por medio de (define ...).

Para recuperar las entradas previas podemos utilizar <Esc>-P para ir a la entrada previa o <Esc>-N
para ir a la siguiente. También podemos marcar una entrada anterior y pulsando <Intro> se copia a la
entrada actual.

 Línea de estado:
En ella se nos informa, de izquierda a derecha:
 El nivel del lenguaje que tenemos seleccionado.
 la posición dentro del archivo editado en el editor en formato FILA:COLUMNA.
 El siguiente recuadro muestra el símbolo de reciclaje mientras Racket esté reciclando sus
recursos (por ejemplo al liberar la memoria).
 El icono de un personaje que aparece estático o corriendo en función de que estemos
editando o ejecutando un programa.

3/4
Tecnologías y Paradigmas de la Programación

Edición, depuración y ejecución de programas


Una sesión de trabajo se basa en introducir las definiciones funcionales en el editor y probar su
ejecución desde la consola, guardando en un archivo las definiciones para su posterior utilización.

Carga y salvado
Racket utiliza archivos con extensión .rkt (.scm, .ss, .sch o .s son otras extensiones válidas), para
nuestro uso serán simples archivos de texto.
La carga de un programa en el editor se realiza por medio de la opción Archivo|Abrir. Para salvar a
disco las definiciones podemos pulsar directamente en el botón Salvar o bien utilizar las opciones
Archivo|Salvar Definiciones o Archivo|Salvar Definiciones Como.
Podemos también cargar una serie de definiciones sin necesidad de pasar por el editor por medio de la
función (load "archivo").

Compilación
Para hacer disponibles las definiciones introducidas debemos pulsar sobre el botón Ejecutar. A partir
de ese momento podemos utilizar las nuevas funciones de igual forma que las predefinidas.
Racket nos avisa con un mensaje de advertencia si tratamos de evaluar expresiones desde la consola sin
haber evaluado las últimas modificaciones del editor.

Depuración
Racket nos permite seguir la traza paso a paso de la evaluación de una expresión. Esta opción sólo
está disponible en los niveles más simples del lenguaje (Estudiante Principiante e Intermedio). Para ello
debemos introducir al final del editor la llamada, o llamadas, a evaluar y a continuación pulsar en Step
(imagen de un pie). Se nos abrirá la ventana Stepper en ella se nos muestra la definición que se está
evaluando y bajo ésta la expresión actual y a su derecha la expresión tras reducir (evaluar) un siguiente
paso. Podemos avanzar y retroceder un paso en la evaluación por medio de los botones Next y Previous,
o volver a la expresión inicial con el botón Home.

Errores
Si se localiza un error, éste se nos mostrará en la consola y nos resaltará la expresión asociada en el
editor. Algunos errores muestran las palabras clave como hipervínculos que nos permiten acceder a la
ayuda en línea en busca de más información.

Evaluación
La evaluación se realiza desde la consola de comandos que es la consola. Desde ella podemos llamar a
las funciones predefinidas así como las ya compiladas, además de poder definir directamente en ella
nuevas funciones por medio de (define ...).

4/4

You might also like