+programación de bajo nivel (*system programming*) como de alto nivel,
+siendo incluso compatible binariamente con C (se puede enlazar código
+objeto C con código objeto D). Y este es tal vez el punto más fuerte
+de D_, brindar lo mejor de los 2 mundos. Si bien tiene herramientas
+de muy bajo nivel, que por lo tanto son muy propensas a errores, da
+una infinidad de mecanismos para evitar el uso de estas herramientas
+a menos que sea realmente necesario. Además pone mucho énfasis en
+la programación confiable, para lo cual provee muchos mecanismos para
+detectar errores en los programas de forma temprana.
+
+Si puede pensarse en C++ como un "C mejor", podría decirse que D_ es
+un "C++ mejor", ya que el objetivo del lenguaje es muy similar a C++,
+pero implementa muchas características que jamás pudieron entrar en
+el estándar de C++ y lo hace de una forma mucho más limpia, ya que
+no debe lidiar con problemas de compatibilidad hacia atrás, y cuenta
+se con la experiencia del camino recorrido por C++, pudiendo extraer de
+él los mejores conceptos pero evitando sus mayores problemas también.
+
+Una de las características que nunca pudo entrar en el estándar de C++
+es la recolección de basura. D_ no comete el mismo error.
+
+.. INTRODUCCION ..............................................................
+
+Objetivo
+--------
+.. Objetivo de la tesis
+ ESTADO: TERMINADO, EN REVISION
+
+La recolección de basura en D_ es un problema prácticamente nuevo. Si bien
+pueden considerarse válidos todos los modelos propuestos para recolección
+de basura en C, estos son muy restrictivos y poco eficientes, por lo
+promiscuo que este lenguaje.
+
+Por otro lado, la recolección de basura en C y C++ está prácticamente
+restringida a implementaciones a nivel de bibliotecas, ya que la inclusión
+de un recolector de basura en el estándar de C/C++ es algo que no va a
+pasar por largo tiempo. Entonces quedan dos caminos posibles:
+
+1. Quedarse con las limitaciones de un recolector de basura a nivel de
+ bibliotecas, lo que es muy restrictivo.
+2. Construir una solución a nivel de compilador que no cumpla con el
+ estándar y que no pasará de ser una curiosidad académica.
+
+La primera opción está ya bastante desarrollada y es casi un sinónimo de un
+recolector de basura conservativo. La segunda, no es un objetivo viable para
+una Tesis de Ingeniería, donde se pretende llegar a un resultado lo más
+práctico posible (hacer un aporte más ingenieril que científico).
+
+Por lo tanto el objetivo es abordar la segunda opción sobre un lenguaje que
+es propenso a absorver nuevas ideas y cambios. Un lenguaje que es además,
+mucho más rico sintáctica y semánticamente, sin perder utilidad práctica ni
+eficiencia para cumplir las tareas para las cuales C y C++ fueron
+diseñados.
+
+Se propone entonces en este trabajo, desarrollar un recolector de basura
+para un lenguaje de programación imperativo compilado, con tipado estático
+y enlazable con C (siendo esto último probablemente uno de los desafíos más
+importantes), agregando soporte al lenguaje o al compilador (de ser
+necesario) y utlizando las características avanzadas que el lenguaje
+provee.
+
+.. INTRODUCCION ..............................................................
+
+Alcance
+-------
+.. Alcance de la tesis, qué se pretende hacer
+ ESTADO: TERMINADO, EN REVISION
+
+En esta tesis se plantea desarrollar un recolector de basura para el
+lenguaje de programación D, utilizando como plataforma el compilador GDC_.
+El objetivo es conseguir un recolector de basura eficiente, en tiempo y
+espacio, aunque priorizando lo primero. Como objetivo secundario se propone
+obtener una recolector configurable, para poder elegir los parámetros que
+mejor se ajusten al problema particular.
+
+.. _GDC: http://dgcc.sourceforge.net/
+
+.. INTRODUCCION ..............................................................
+
+Limitaciones
+------------
+.. Cosas que no se pretenden hacer en esta tesis
+ ESTADO: TERMINADO, EN REVISION
+
+Dado que el lenguaje de programación D_ puede ser enlazado con código
+objeto C, y por lo tanto interactuar directamente con éste, habrán
+limitaciones en el recolector resultante con respecto a esto. En este
+trabajo se busca lograr un recolector que sea eficiente para casos en donde
+el código que interactúa con C esté bien aislado, por lo que estas
+porciones de código pueden quedar por fuera del recolector de basura.
+
+De otra forma probablemente se llegaría a un recolector conservativo y
+simple como el que está disponible en la actualidad.
+
+.. ===========================================================================
+
+
+Recolección de Basura
+=====================
+.. Introducción a la importancia de la recolección de basura y sus
+ principales técnicas, con sus ventajas y desventajas. También se da
+ un breve recorrido sobre el estado del arte.
+ ESTADO: SIN EMPEZAR
+
+
+.. ===========================================================================
+
+
+El Lenguaje de Programación D
+=============================
+.. Introducción y breve reseña del lenguaje de programación D. También
+ se presentan las necesidades particulares de D con respecto al
+ recolector de basura y su estado actual.
+ ESTADO: SIN EMPEZAR, REVISAR LO HECHO