# Devkron (DKL) > El lenguaje Devkron, o simplemente DKL (DevKron Language), de Induxsoft: lenguaje interpretado y de tipado estático con un contexto declarativo (genera XML/HTML) y uno imperativo, para programas de consola, sitios y servicios web sobre FastCGI, conectores HTTP (Devkron Edge) y acceso a bases de datos (MySQL, SQL Server, PostgreSQL y Firebird). Versión vigente: Devkron 2.0 LTS (2.0.2), con motor en .NET 10 para Linux y Windows. Para generar código correcto, cargue primero `llms-full.txt`: reúne la sintaxis, las reglas que más se equivocan, el catálogo exacto de funciones y recetas probadas. Reglas que un modelo suele equivocar: sin `;` y una sentencia por línea; `if`/`while`/`for` sin paréntesis; `for i = 0; i < n` (el incremento se escribe `i + 2`, nunca `i = i + 2`); funciones declaradas antes de usarse y llamadas sueltas con `do f(x)`; una función solo ve sus parámetros y las globales `@`; objetos en variables `ref` y campos de objeto con `*`; sin cortocircuito en `&&`/`||`; sin conversión implícita entre números y cadenas; `switch` sin cascada; no existe `continue`; los bloques `$$ … $$` exigen comas. ## Empezar - [Devkron 2.0](https://docs.induxsoft.net/es/devkron/2.0/): portada de la documentación de 2.0 LTS - [Qué es Devkron y DKL](https://docs.induxsoft.net/es/devkron/2.0/introduccion/que-es-devkron.md): conceptos y usos - [Arquitectura](https://docs.induxsoft.net/es/devkron/2.0/introduccion/arquitectura.md): motor, FastCGI, servidor web y bibliotecas - [Novedades de 2.0 LTS](https://docs.induxsoft.net/es/devkron/2.0/introduccion/novedades.md): qué cambia respecto de 1.x - [Primer programa de consola](https://docs.induxsoft.net/es/devkron/2.0/introduccion/primer-programa.md): el esqueleto mínimo - [Primer sitio web](https://docs.induxsoft.net/es/devkron/2.0/introduccion/primer-sitio.md): una página servida por FastCGI - [Ediciones y licenciamiento](https://docs.induxsoft.net/es/devkron/2.0/introduccion/ediciones.md): ediciones disponibles ## Referencia del lenguaje - [Referencia del lenguaje](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/): índice - [Lenguaje declarativo](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/declarativo/): elementos, atributos, marcas `#`, directivas, contextos - [Contexto declarativo e imperativo](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/declarativo/contextos.md): `#!`, `#$` y `##` - [Directivas](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/declarativo/directivas.md): `#include`, `#def`, `#pattern`, `#set` - [Lenguaje imperativo](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/imperativo/): índice - [Variables](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/imperativo/variables.md): tipos, ámbitos, atributos y plantillas - [Expresiones y operadores](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/imperativo/expresiones-y-operadores.md): operadores y precedencia - [Sentencias](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/imperativo/sentencias.md): control de flujo y ciclos - [Funciones](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/imperativo/funciones.md): declaración, parámetros, espacios de nombres - [Registros](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/imperativo/registros.md): `new`, `using`, `member`, rutas y `@@` - [Listas y tablas](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/imperativo/listas-y-tablas.md): `list.*` y tablas en memoria - [Organización del programa](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/imperativo/organizacion.md): módulos e inclusión - [Excepciones](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/imperativo/excepciones.md): `exception`, `rise_error`, `last_error` - [Temas avanzados](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/imperativo/temas-avanzados.md): `eval`, `runscript`, `fxml` - [Errores frecuentes](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/errores-frecuentes.md): las equivocaciones más comunes al escribir DKL - [Guía de aprendizaje](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/guia-de-aprendizaje.md): orden sugerido para aprender - [Funciones abiertas y bloques go](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/imperativo/funciones-abiertas.md): `expose`, `that`, `go` y su semántica real - [Funciones anidadas y referencias a funciones](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/imperativo/funciones-anidadas-y-referencias.md): tabla global, visibilidad, `point … to` - [Recetas de colecciones](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/imperativo/recetas-de-colecciones.md): filter, map, reduce, find, group_by con `foreach` - [Números de línea en los errores](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/numeros-de-linea.md): por qué `[Ln= n]` no coincide con la línea real - [Comportamientos no obvios](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/rarezas.md): rarezas confirmadas en 2.0.2 ## Novedades del lenguaje en 2.0 - [Novedades de 2.0](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/novedades-2.0/): índice - [Bloques de datos $$](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/novedades-2.0/bloques-de-datos.md): listas y registros con notación JSON y expresiones - [Flechas de listas](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/novedades-2.0/flechas-de-listas.md): `a, b -> l`, `l -> a, b`, `x <- l` - [Identificadores con $](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/novedades-2.0/identificadores-dolar.md): `$total` - [Funciones list.*](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/novedades-2.0/funciones-list.md): índices negativos, altas tipadas, slice, join - [Defectos de 1.x corregidos](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/novedades-2.0/correcciones.md): cambios visibles desde DKL - [Formas cortas de 2.0](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/novedades-2.0/formas-cortas.md): punto en expresiones, `o <- l`, `using` ## Funciones - [Funciones incorporadas](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/funciones-incorporadas/): índice alfabético - [Sistema](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/funciones-incorporadas/sistema.md): `eval`, `ftext`, `isnull`, `isset`, `runscript` - [Matemáticas](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/funciones-incorporadas/matematicas.md): `round` (bancario), `div`, `mod`, `exp` - [Fecha y hora](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/funciones-incorporadas/fecha-y-hora.md): `ndatetime.*` - [Manejo de errores](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/funciones-incorporadas/manejo-de-errores.md): `last_error`, `rise_error`, `clear_exceptions` - [Interoperabilidad .NET](https://docs.induxsoft.net/es/devkron/2.0/lenguaje/funciones-incorporadas/interoperabilidad.md): `_import_library`, `_map_function`, `_new` ## Bibliotecas - [Bibliotecas](https://docs.induxsoft.net/es/devkron/2.0/bibliotecas/): motor, estándar, terceros y DDM - [functions.dkh](https://docs.induxsoft.net/es/devkron/2.0/bibliotecas/motor/functions/): registros, listas, tablas, cadenas, fechas, archivos - [Cadenas y textos](https://docs.induxsoft.net/es/devkron/2.0/bibliotecas/motor/functions/cadenas.md): funciones de cadena de `functions.dkh` - [serialize.dkh](https://docs.induxsoft.net/es/devkron/2.0/bibliotecas/motor/serialize/): JSON y XML - [dbr.dkh](https://docs.induxsoft.net/es/devkron/2.0/bibliotecas/motor/dbr/): acceso a datos - [webcl.dkh](https://docs.induxsoft.net/es/devkron/2.0/bibliotecas/motor/webcl/): cliente HTTP y SMTP de 1.x - [Bibliotecas estándar](https://docs.induxsoft.net/es/devkron/2.0/bibliotecas/estandar/): encabezados nuevos de 2.0 - [threads.dkh](https://docs.induxsoft.net/es/devkron/2.0/bibliotecas/estandar/threads.md): hilos aislados, candados y caché del proceso - [http.dkh](https://docs.induxsoft.net/es/devkron/2.0/bibliotecas/estandar/http.md): cliente HTTP, `httpreq.*` y `httpres.*` - [url.dkh](https://docs.induxsoft.net/es/devkron/2.0/bibliotecas/estandar/url.md): partes de URL y parámetros - [zip.dkh](https://docs.induxsoft.net/es/devkron/2.0/bibliotecas/estandar/zip.md): comprimir y extraer - [time.dkh](https://docs.induxsoft.net/es/devkron/2.0/bibliotecas/estandar/time.md): fechas numéricas y zonas horarias - [text.dkh](https://docs.induxsoft.net/es/devkron/2.0/bibliotecas/estandar/text.md): regex, texto, redondeo comercial, HTML - [hash.dkh](https://docs.induxsoft.net/es/devkron/2.0/bibliotecas/estandar/hash.md): hashes, HMAC y JWT - [oauth.dkh](https://docs.induxsoft.net/es/devkron/2.0/bibliotecas/estandar/oauth.md): OAuth 2.0 con PKCE - [fs.dkh](https://docs.induxsoft.net/es/devkron/2.0/bibliotecas/estandar/fs.md): carpetas y archivos - [log.dkh](https://docs.induxsoft.net/es/devkron/2.0/bibliotecas/estandar/log.md): bitácoras diarias - [listx.dkh](https://docs.induxsoft.net/es/devkron/2.0/bibliotecas/estandar/listx.md): ordenar e invertir listas - [jsonx.dkh](https://docs.induxsoft.net/es/devkron/2.0/bibliotecas/estandar/jsonx.md): JSON con sangría - [env.dkh](https://docs.induxsoft.net/es/devkron/2.0/bibliotecas/estandar/env.md): configuración del sitio y variables de entorno - [Bibliotecas de terceros](https://docs.induxsoft.net/es/devkron/2.0/bibliotecas/terceros/): csv, office, image, html, markdown - [Devkron Data Model (DDM)](https://docs.induxsoft.net/es/devkron/2.0/bibliotecas/ddm/): modelos `.ddm`, `install-model` y `dbgen` ## Marcos de trabajo y guías - [Marcos de trabajo](https://docs.induxsoft.net/es/devkron/2.0/marcos/): servidor web, sitios, autenticación, CRUD-L, FSO, uie - [Servidor web](https://docs.induxsoft.net/es/devkron/2.0/marcos/servidor-web/): controlador FastCGI y `@http_context` - [Sitios con plantillas](https://docs.induxsoft.net/es/devkron/2.0/marcos/sitios/): plantillas `dkl-web` - [Autenticación y autorización](https://docs.induxsoft.net/es/devkron/2.0/marcos/autenticacion/): `webauth` - [CRUD-L](https://docs.induxsoft.net/es/devkron/2.0/marcos/crudl/): modelo, controlador, vistas, REST - [API FSO](https://docs.induxsoft.net/es/devkron/2.0/marcos/fso/): archivos del sitio - [Componentes de interfaz](https://docs.induxsoft.net/es/devkron/2.0/marcos/uie/): `uie.*` - [Guías](https://docs.induxsoft.net/es/devkron/2.0/guias/): tareas completas paso a paso - [Servicio REST JSON](https://docs.induxsoft.net/es/devkron/2.0/guias/servicio-rest-json.md): modelo, controlador y vista - [CRUD con CRUD-L sobre MySQL](https://docs.induxsoft.net/es/devkron/2.0/guias/crud-mysql.md): de la tabla a la interfaz - [Consultar una API externa](https://docs.induxsoft.net/es/devkron/2.0/guias/api-externa.md): cliente HTTP - [Transacciones bien hechas](https://docs.induxsoft.net/es/devkron/2.0/guias/transacciones.md): `begin`, `commit`, `rollback` y relanzar - [Tarea programada con systemd](https://docs.induxsoft.net/es/devkron/2.0/guias/tarea-programada.md): procesos de consola - [Probar servicios web en la consola](https://docs.induxsoft.net/es/devkron/2.0/guias/probar-servicios-en-consola.md): simular `@http_context` ## Instalación, despliegue y depuración - [Instalación y configuración](https://docs.induxsoft.net/es/devkron/2.0/instalacion/): índice - [Descargas](https://docs.induxsoft.net/es/devkron/2.0/instalacion/descargas.md): zips de la distribución LTS - [Linux](https://docs.induxsoft.net/es/devkron/2.0/instalacion/linux.md) y [Windows](https://docs.induxsoft.net/es/devkron/2.0/instalacion/windows.md): instalación - [Programas de consola](https://docs.induxsoft.net/es/devkron/2.0/instalacion/consola.md): opciones de `dkl` - [Compilación de programas DKL](https://docs.induxsoft.net/es/devkron/2.0/instalacion/compilacion.md): compilación nativa - [Servidor FastCGI](https://docs.induxsoft.net/es/devkron/2.0/instalacion/fastcgi.md): `fastcgi.json` - [Servicio en Linux](https://docs.induxsoft.net/es/devkron/2.0/instalacion/servicio-linux.md): systemd - [Servicio en Windows](https://docs.induxsoft.net/es/devkron/2.0/instalacion/servicio-windows.md): arranque en Windows - [nginx](https://docs.induxsoft.net/es/devkron/2.0/instalacion/nginx.md): proxy FastCGI - [dklwebsvr](https://docs.induxsoft.net/es/devkron/2.0/instalacion/dklwebsvr.md): servidor web HTTP/HTTPS propio - [IIS 10 con iis2dkl](https://docs.induxsoft.net/es/devkron/2.0/instalacion/iis.md): puente para IIS - [Licencia](https://docs.induxsoft.net/es/devkron/2.0/instalacion/licencia.md): modo demostración e instalación de la licencia - [Conexiones a bases de datos](https://docs.induxsoft.net/es/devkron/2.0/instalacion/conexiones.md): `connections.xml` y adaptadores - [Repositorios de conexiones](https://docs.induxsoft.net/es/devkron/2.0/instalacion/repositorio-conexiones.md): conexiones en base de datos - [Variables de entorno](https://docs.induxsoft.net/es/devkron/2.0/instalacion/variables-de-entorno.md): `DEVKRON_*` - [Extensiones .NET](https://docs.induxsoft.net/es/devkron/2.0/instalacion/extensiones-net.md): cargar DLL propias - [Depuración](https://docs.induxsoft.net/es/devkron/2.0/instalacion/depuracion.md): `dkl-debug`, extensión de VS Code y Cursor, `-stepbystep` ## Migrar de 1.x - [Migrar de 1.x a 2.0](https://docs.induxsoft.net/es/devkron/2.0/migracion/): índice - [Diferencias con 1.x](https://docs.induxsoft.net/es/devkron/2.0/migracion/diferencias.md): cambios intencionales - [Cultura](https://docs.induxsoft.net/es/devkron/2.0/migracion/cultura.md): leer invariante, mostrar con la cultura del servidor - [Errores HTTP 500 y códigos de estado](https://docs.induxsoft.net/es/devkron/2.0/migracion/errores-http.md): los errores ya llegan con 500 - [Rendimiento y compilación nativa](https://docs.induxsoft.net/es/devkron/2.0/migracion/rendimiento.md): qué encender y cuándo ## Devkron Edge - [Devkron Edge (dkle)](https://docs.induxsoft.net/es/devkron/2.0/dkle/): runtime ligero para conectores HTTP - [Programas y sitios](https://docs.induxsoft.net/es/devkron/2.0/dkle/programas.md): estructura de un conector - [Biblioteca Edge](https://docs.induxsoft.net/es/devkron/2.0/dkle/biblioteca.md): funciones disponibles - [Línea de comandos](https://docs.induxsoft.net/es/devkron/2.0/dkle/linea-de-comandos.md): `serve`, `run`, `check` - [Configuración](https://docs.induxsoft.net/es/devkron/2.0/dkle/configuracion.md): `dkle.json` y `_config/.dkle.json` - [Devkron Edge y Devkron 2.0](https://docs.induxsoft.net/es/devkron/2.0/dkle/devkron2.md): programas portables con `edge.dkh` ## English - [llms-full.txt](https://devkron.org/llms-full.txt): complete self-contained Devkron 2.0 reference for LLMs (Spanish, with an English summary at the top) - [Devkron 2.0 documentation](https://docs.induxsoft.net/es/devkron/2.0/): official docs (Spanish). Devkron is a statically typed, interpreted language with a declarative XML/HTML context and a C-like imperative context; no semicolons, no parentheses around conditions, `do f(x)` for statement calls, functions declared before use, no closures, no short-circuit `&&`/`||`, no implicit number/string conversion - [Devkron 2 releases](https://github.com/Induxsoft/Devkron-2-Releases): self-contained Linux and Windows packages of Devkron 2.0 LTS and Devkron Edge ## Optional - [llms-full.txt](https://devkron.org/llms-full.txt): referencia autocontenida para cargar completa (unas 31 mil palabras)