Instalacion Rapida
Instala Clot en minutos y ejecuta tu primer archivo.
Linux / macOS
- Ejecuta el instalador.
- Reabre la terminal y prueba
clot programa.clot.
curl -fsSL https://raw.githubusercontent.com/jclot/ClotLang/master/scripts/install.sh | bash
Windows
- Abre PowerShell como usuario.
- Ejecuta el instalador y reinicia la terminal.
iwr -useb https://raw.githubusercontent.com/jclot/ClotLang/master/scripts/install.ps1 | iex
Verificacion
- Corre
clot programa.clot. - Si quieres, valida el checksum del release.
Documentation Sections
Mapa completo de secciones de la documentacion oficial.
Start Here (If You Know Nothing About Clot)
Ruta recomendada de lectura para aprender en orden y sin perderte.
Learning Path
- Quickstart: compilar y correr tu primer programa.
- Control Flow + Functions: base del lenguaje.
- Error Handling:
throwycatchtipado. - OOP from Zero: primer contacto guiado con clases e interfaces.
- OOP MVP (Guia Completa): tabla completa de todo lo implementado.
- 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
getyset - 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));
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 |
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 programascripts/diff_interpret_compile.sh ./build/wsl-release/clot programa.clotbenchmarks/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