¿Qué es Acadia y por qué lo creó Evan Czaplicki?
Evan Czaplicki, creador de Elm, lanzó en agosto de 2026 Acadia, un compilador que traduce código funcional directamente a consultas SQL con verificación de tipos completa. Después de cuatro años de desarrollo silencioso —comenzado en 2020 junto a Tereza Sokol—, la herramienta llega como alpha pública con soporte inicial para Elm y Haskell, y corre sobre SQLite como motor subyacente.
La premisa es directa pero ambiciosa: escribir operaciones de base de datos usando map, filter y bind (:=) como en cualquier programa funcional, y que el compilador genere SQL optimizado en tiempo de compilación. Una consulta que en Acadia se escribe como una pipeline de transformaciones puras se compila a algo como SELECT f.name FROM "Foods.foods" AS f WHERE f.id = $1.
Czaplicki identificó un problema que muchos desarrolladores conocen en carne propia: la desconexión entre los tipos precisos en el código de aplicación y las tablas de la base de datos. En su experiencia con Elm desde 2017, sabía que los datos existían en la base de datos, pero no había forma de garantizarlo estáticamente. Cada capa intermedia requería conversiones manuales propensas a errores.
👥 ¿Quieres ir más allá de la noticia?
En nuestra comunidad discutimos las tendencias, compartimos oportunidades y nos ayudamos entre emprendedores. Sin humo, solo acción.
👥 Unirme a la comunidadLos cuatro pilares de Acadia son claros: tipos más precisos (sin convertir enums o custom types a JSON ni columnas nullable), migraciones verificadas (el compilador valida los cambios antes de ejecutarlos), mensajes de error amigables (herencia directa de la filosofía de Elm) y tipos end-to-end (si cambias una columna, ves el error en el cliente Elm).
¿En qué contexto aparece Acadia en 2026?
La llegada de Acadia se produce en un momento donde el ecosistema de herramientas de base de datos para TypeScript está experimentando una reconfiguración importante. Según análisis del sector, Drizzle ORM superó a Prisma en descargas semanales de npm en 2026, marcando un punto de inflexión en la preferencia de los desarrolladores hacia alternativas más ligeras y transparentes.
GitDealFlow identifica en 2026 a los ORMs type-safe como una categoría consolidada dentro de Developer Tools, donde Drizzle y Prisma dividieron el mercado pero ninguno domina el 50%. La tendencia apunta hacia herramientas que priorizan la seguridad de tipos sin sacrificar control sobre el SQL generado. Kysely también ocupa un nicho relevante con su enfoque de query builder-first.
Lo interesante es que Acadia no compite directamente con estos ORMs. Mientras Drizzle y Prisma son capas de abstracción que generan queries desde una API programática, Acadia es un lenguaje de programación completo que se compila a SQL. No hay objetos intermedios, no hay runtime ORM —solo código funcional que el compilador transforma. Como señala Czaplicki, evita los problemas clásicos de las ORMs precisamente porque "no hay objetos".
Además, el contexto de despliegue moderno refuerza la propuesta de valor: serverless, edge computing y entornos con cold starts frecuentes demandan herramientas con overhead mínimo. Acadia, al compilar todo en tiempo de build, elimina completamente el costo de runtime que tienen los ORMs tradicionales.
¿Cómo funciona Acadia en la práctica?
La definición de esquemas en Acadia se integra nativamente con Elm. Un tipo como Food se define con sus campos tipados, incluyendo tipos personalizados como FoodID = FoodID UInt64. La tabla se declara especificando clave primaria, políticas de seguridad a nivel de fila, índices y constraints:
type alias Food =
{ id : FoodID
, name : String }
foods : Table Security.Unrestricted Food
foods :=
Table.table
{ primary = .id
, security = Security.unrestricted
, indexes = []
, constraints = [] }
Las consultas siguen el patrón funcional que los usuarios de Elm ya conocen: access, filter, map y select encadenados en pipelines. Las transacciones complejas usan el operador := (let-binding) para extraer resultados intermedios, equivalente conceptual a async/await pero con garantía de atomicidad: la transacción solo se confirma si todos los pasos tuvieron éxito.
Un caso real del propio Czaplicki ilustra el poder de este enfoque: la función passwordResetInit genera un UUID, obtiene la hora actual, inserta ambos valores en la tabla resetSessions, y devuelve el secreto generado —todo en una sola transacción atómica, sin necesidad de cláusulas RETURNING de SQL.
El compilador imprime el SQL que genera, permitiendo auditoría manual. Las optimizaciones automáticas incluyen detección y prevención de queries N+1, aunque Czaplicki admite que características avanzadas como window functions o agregados personalizados aún no están disponibles en esta alpha.
¿Qué significa esto para tu startup?
Si estás construyendo una aplicación con requisitos de integridad de datos alta, Acadia plantea un modelo diferente al que ofrece el stack típico de ORMs. Aquí hay tres implicaciones concretas:
Migraciones menos peligrosas. Uno de los momentos más estresantes en el ciclo de vida de cualquier producto es aplicar cambios a la estructura de la base de datos en producción. Acadia traslada esa verificación al momento de compilación: si tu esquema no es compatible con los tipos existentes, el build falla. Esto reduce significativamente el riesgo de errores en staging vs producción.
Tipos compartidos entre frontend y backend. Si tu equipo usa Elm (o Haskell), Acadia elimina la duplicación de definiciones de tipos. Cambiar una columna en la base de datos genera errores de compilación en el código del cliente inmediatamente, no en producción cuando un usuario encuentra datos inconsistentes.
Zero-overhead en serverless. Para startups que deployan en Vercel, Cloudflare Workers o Lambda, el hecho de que Acadia no tenga runtime ORM significa que tus funciones no pagan costo de inicialización por conexión poolers ni engines. El SQL ya está generado y listo.
Acciones concretas que puedes tomar:
- Si tu stack incluye Elm y sientes fricción constante con la capa de datos, prueba Acadia durante su alpha. El compilador está disponible para descarga en acadia.engineering/download y hay un Discord activo para soporte.
- Si usas TypeScript con Drizzle o Prisma, sigue de cerca el roadmap de Acadia. La arquitectura de compilar a SQL puro podría inspirar mejoras en las herramientas que ya usas.
- Evalúa si tu equipo tiene capacidad para adoptar un compilador nuevo en production. Czaplicki mismo advierte que es alpha y que faltan features avanzadas. Es excelente para experimentar, pero probablemente no para migrar un sistema crítico mañana.
Fuentes
- Rethinking Database Programming | Acadia
- Prisma vs Drizzle ORM 2026: Drizzle Just Overtook Prisma in Downloads
- Type-safe ORMs (2026 reboot) — niche opportunity inside Developer Tools
👥 ¿Quieres ir más allá de la noticia?
En nuestra comunidad discutimos las tendencias, compartimos oportunidades y nos ayudamos entre emprendedores. Sin humo, solo acción.
👥 Unirme a la comunidad













