Official Documentation

Clot Programming Language

Documentacion oficial para aprender Clot desde cero: ruta guiada para principiantes, referencia tecnica, ejemplos ejecutables y detalle de OOP MVP, tipado opcional, control de flujo moderno (for, switch, do-while, defer), manejo de excepciones, strings con escapes/interpolacion, encadenamiento general de llamadas, return multilinea, listas con append y compile/bridge con LLVM.

Last update: 2026-03-20

Instalacion Rapida

Instala Clot en minutos y ejecuta tu primer archivo.

Linux / macOS
  1. Ejecuta el instalador.
  2. Reabre la terminal y prueba clot programa.clot.
curl -fsSL https://raw.githubusercontent.com/jclot/ClotLang/master/scripts/install.sh | bash
Windows
  1. Abre PowerShell como usuario.
  2. Ejecuta el instalador y reinicia la terminal.
iwr -useb https://raw.githubusercontent.com/jclot/ClotLang/master/scripts/install.ps1 | iex
Verificacion
  1. Corre clot programa.clot.
  2. Si quieres, valida el checksum del release.
Guia completa en Instalacion Rapida.

Documentation Sections

Mapa completo de secciones de la documentacion oficial.

What is New
Cambios recientes del lenguaje, runtime, parser, analyzer cross-file, AOT y herramientas CLI.
Tutorial
Inicio rapido, flujo de desarrollo, ejemplos progresivos y practicas recomendadas.
OOP MVP Guide
Guia completa de clases, interfaces, herencia, constructor, get/set, modificadores (incluye protected/abstract) y validaciones runtime.
Language Reference
Sintaxis formal del lenguaje: tipos, operadores, funciones, OOP MVP, colecciones, enum y tabla de validaciones.
Library Reference
Referencia de builtins con method summary, parametros, retornos, errores y ejemplos.
Packages & Standard Library
Estructura de paquetes con root clot/, subcarpetas por dominio y aliases legacy compatibles.
Third-Party Modules
Contrato tecnico para extensiones externas, calidad minima y compatibilidad.
Global Module Index
Indice global de modulos, rutas fisicas, estado y simbolos exportados.
General Index
Indice alfabetico de terminos, funciones, tipos y conceptos tecnicos del lenguaje.
Glossary
Definiciones precisas de los terminos de arquitectura, runtime, parser y compilacion.
Complete Table of Contents
TOC integral de todas las secciones, subsecciones y puntos de referencia.
Reporting Issues
Proceso formal para reportar bugs, reproducibilidad, severidad e impacto.
Contributing
Reglas de contribucion, validacion de cambios, pruebas y flujo recomendado de PR.
History and License
Linea historica del proyecto y terminos de licencia del repositorio.
Deprecations
Politica y estado de caracteristicas obsoletas y transiciones de compatibilidad.
FAQs
Preguntas frecuentes sobre semantica, tipos, errores comunes y rendimiento.
Manual
Manual editorial del lenguaje con convenciones, estilo y decisiones de diseno.

Start Here (If You Know Nothing About Clot)

Ruta recomendada de lectura para aprender en orden y sin perderte.

Learning Path
  1. Quickstart: compilar y correr tu primer programa.
  2. Control Flow + Functions: base del lenguaje.
  3. Error Handling: throw y catch tipado.
  4. OOP from Zero: primer contacto guiado con clases e interfaces.
  5. OOP MVP (Guia Completa): tabla completa de todo lo implementado.
  6. Validations and Limits: reglas y errores comunes.
OOP MVP At a Glance
  • Contrato con interface ... endinterface
  • Clase con class ... endclass
  • Herencia simple con extends
  • Multiples interfaces con implements
  • Inicializacion con constructor ... endconstructor
  • Propiedades con get y set
  • Encapsulacion con public/private
  • Miembros de clase con static
  • Campos de solo lectura con readonly
  • Sobrescritura segura con override + super

Quick Code Examples

Ejemplos directos de colecciones, OOP y tipado en firmas/locales.

Strings + Interpolacion
user = "Ada";
price = 300.0;
println("Hola {user}\\nprecio=" + price);
Listas + append
rows = [{meta: {name: "Ana"}}];
rows.append({meta: {name: "Beto"}});
println(rows[1].meta.name);

holes = [null] * 3;
for i in range(3):
    println("slot {i}={holes[i]}");
endfor
abstract + protected
abstract class Report:
    protected string source;
    constructor(source: string):
        this.source = source;
    endconstructor

    public abstract func string render():
    endfunc
endclass

class SalesReport extends Report:
    constructor(source: string):
        super(source);
    endconstructor

    public override func string render():
        return "source=" + this.source;
    endfunc
endclass

println(SalesReport("Q1").render());
for (clasico y rango)
for (int i = 0; i < 3; i++):
    println("classic {i}");
endfor

for i in range(3):
    println("range {i}");
endfor
Firmas + tipado local
class User:
    public string name = "anon";
endclass

func string label(user: User):
    return "User=" + user.name;
endfunc

User owner = User();
println(label(owner));
Mas ejemplos ejecutables: Strings y Listas y OOP MVP Guide.

OOP MVP Quick Table

Resumen de para que sirve cada construccion principal de OOP en Clot.

Construccion Para que sirve Donde aprenderlo
interface ... endinterface Definir el contrato de metodos que una clase debe cumplir. OOP from Zero
class ... endclass Crear un tipo de objeto con estado y metodos. OOP MVP Guide
extends + super(...) Reutilizar comportamiento de una clase base e inicializar herencia. FAQ OOP super
implements Hacer que una clase cumpla uno o varios contratos de interface. OOP MVP Guide
get/set Controlar lectura y escritura de propiedades. OOP MVP Guide
public/private/static/readonly/override Definir visibilidad, pertenencia de clase, inmutabilidad y sobrescritura segura. OOP MVP Guide
Ejemplo completo con todo lo disponible en esta fase: Ejemplo OOP completo (todo lo disponible en esta fase).
CLI Quick Commands
  • ./build/wsl-release/clot programa.clot
  • ./build/wsl-release/clot programa.clot --mode analyze
  • ./build/wsl-release/clot programa.clot --mode compile --emit exe -o programa
  • scripts/diff_interpret_compile.sh ./build/wsl-release/clot programa.clot
  • benchmarks/baseline.sh ./build/wsl-release/clot
First-Day Checklist
  • Compila el binario con CMake.
  • Ejecuta Quickstart y confirma salida esperada.
  • Prueba un ejemplo de funciones con type hints.
  • Prueba el tutorial OOP y luego la guia OOP completa.
  • Revisa validaciones para entender errores comunes.
Search Scope
  • Section headings and subsections
  • Tables, function signatures and examples
  • Code snippets and validation notes
  • Glossary and indices entries