-* Sintaxis tipo C/C++
-* Compilado
-* Sistema de tipos estático
-* Multi-paradigma
-
-Paradigmas
-~~~~~~~~~~
-* Programación de bajo nivel (*system-programming*) ← C/C++
-
- * ``asm``
- * ``union``
- * ``extern (C)``
- * ``malloc()``
-
- → Conservativo + Manipulación de *root set*
-
-* Programación de alto nivel ← Python/Ruby/Perl
-
- * *GC*
- * ``T[]``, ``T[K]``
-
- → Punteros interiores
-
-* Orientación a objetos ← Java
-
- * ``~this()``
-
- → Finalización
-
-
-
-Recolector de basura de D
-==============================================================================
-
-Implementación actual
---------------------------------------------------
-
-Organización del heap
-~~~~~~~~~~~~~~~~~~~~~
-*Heap* → *Pools* → Páginas → Bloques + Listas de libres
-
-.. image:: img/heap.pdf
- :height: 6.7cm
-
-Bloques
-~~~~~~~
-* Tamaño fijo (por página)
-
- * Potencias de 2
- * De 16 a 4096 bytes
- * Más de 4096 (una página)
-
- * Objeto **grande**
- * Múltiplo de páginas: 4096, 8192, ...
- * En páginas contiguas (y mismo *pool*)
-
-* Indicadores (*bit sets* en *pool*)
-
- * Marcado
-
- * *mark*
- * *scan*
- * *noscan*
-
- * Barrido
-
- * *free*
- * *finals*
-
-Algoritmo
-~~~~~~~~~