# ShoF

> El lenguaje de programación de FractAIll donde escribís palabras humanas y sale una app. Si una persona normal lo puede leer, está bien escrito.

**División:** SoF Systems · **Tipo:** lenguaje UI (legacy) · **Estado:** ⚪ retirado en SoF v6 — el nombre **SHoF** ahora designa el *motor de optimización* interno (alinea las capas extremas para que emerja el centro), no un lenguaje de UI. Esta página queda como referencia histórica.

## Qué es

ShoF es el lenguaje con el que FractAIll convierte la doctrina SoF en código ejecutable. No se escribe con llaves ni símbolos crípticos — se escribe con **palabras y bloques por indentación**, una línea = una cosa. Tiene dos sabores:

- **ShoF** (`.sof`) — compila a **web**: un HTML/CSS/JS en un solo archivo standalone, listo para compartir.
- **SuperShoF** (`.supersof`) — compila a **app nativa de escritorio**: ventana, archivos, procesos, permisos reales.

Cuidado con el nombre: **ShoF** (el lenguaje) ≠ **SoF** (la doctrina de 6 capas) ≠ **`.sof`** (el formato de archivo). Tres cosas distintas que comparten raíz.

## Qué hace

- Define pantallas con keywords legibles: `pantalla`, `caja`, `titulo`, `boton`, `estado`.
- Maneja estado reactivo y ciclo de vida (`al-iniciar`, `al-cerrar`).
- En su versión nativa, construye apps de escritorio reales con permisos del sistema.
- Se compila con un runtime propio y se edita visualmente en **_creator**.

## Por qué cambia el juego

Programar sigue siendo un idioma para iniciados: sintaxis ajena, símbolos, jerga. ShoF apuesta a lo contrario — que **el código se pueda leer como se piensa**, en palabras humanas ordenadas por capas. Eso colapsa la distancia entre "tengo una idea" y "tengo una app funcionando", sin pasar por años de aprender HTML o Swift crudo. Es lo que permite que una intención clara —de una persona o de pAyA— se vuelva pantalla, directo.

## Dónde vive

- Es el brazo ejecutor de la división SoF Systems: SoF ordena, SHoF optimiza, y ShoF/SuperShoF escriben la app resultante.
- Se edita en **_creator** y se analiza con **Diavlo**.

## Mapa SoF · capas y componentes

- **1 · Objetivo** — que una intención escrita en palabras humanas se vuelva una app, sin pasar por años de sintaxis críptica (componentes: keywords legibles, una línea = una cosa, "si lo lee una persona normal, está bien escrito").
- **2 · Visión** — código que se lee como se piensa, ordenado por capas, para colapsar la distancia entre "tengo una idea" y "tengo una app funcionando" (componentes: indentación en vez de llaves, dos sabores web y nativo).
- **3 · Estructura** — un lenguaje con dos dialectos: **ShoF** (`.sof`) que compila a web standalone y **SuperShoF** (`.supersof`) que compila a app nativa de escritorio (componentes: `.sof`, `.supersof`, keywords `pantalla`/`caja`/`titulo`/`boton`/`estado`).
- **4 · Funcionamiento** — define pantallas con keywords legibles, maneja estado reactivo y ciclo de vida (`al-iniciar`, `al-cerrar`) y, en su versión nativa, construye apps con permisos reales del sistema (componentes: estado reactivo, ciclo de vida, permisos nativos).
- **5 · Fondo** — un runtime propio que compila el lenguaje; en términos generales, el brazo ejecutor de la cadena **SoF** ordena → **SHoF** optimiza → ShoF escribe la app (componentes: runtime de compilación, cadena SoF/SHoF).
- **6 · Distribución** — se edita visualmente en **_creator** y se analiza con **Diavlo**; el `.sof` web se comparte como un solo archivo, el nativo como app de escritorio (componentes: edición en _creator, análisis en Diavlo, salida standalone).

**Lectura fractal:** tomá el dialecto **SuperShoF** (`.supersof`). Su objetivo es app nativa real, no solo web; su visión, las mismas palabras humanas pero con poder de escritorio; su estructura, ventana + archivos + procesos + permisos; su funcionamiento, declarar la UI y pedir permisos del sistema reales; su fondo, el runtime nativo que traduce keywords a una app de escritorio; y su distribución, salir como aplicación instalable que el usuario abre como cualquier otra.
