En la teoría del lenguaje formal y la informática , Iota y Jot (del griego iota ι, hebreo yodh י, las letras más pequeñas en esos dos alfabetos) son lenguajes, sistemas formales extremadamente minimalistas , diseñados para ser incluso más simples que otras alternativas más populares, como el cálculo lambda y el cálculo del combinador de SKI . Por lo tanto, también pueden considerarse lenguajes de programación de computadora minimalistas , o tarpits de Turing , lenguajes de programación esotéricos diseñados para ser lo más pequeños posible pero aún así.Turing-completo . Ambos sistemas usan solo dos símbolos e involucran solo dos operaciones. Ambos fueron creados por el profesor de lingüística Chris Barker en 2001. Zot (2002) es un sucesor de Iota que apoya la entrada y la salida. [1]
Paradigmas | Lenguaje formal , tarpito de Turing , esotérico |
---|---|
Diseñada por | Chris Barker |
Desarrollador | Chris Barker |
Apareció por primera vez | 2001 |
Lanzamiento final | 2001/2001 |
Lenguaje de implementación | Esquema , JavaScript |
Plataforma | Intérprete de esquema, navegador web (JavaScript) |
Licencia | Dominio publico |
Sitio web | www |
Influenciado | |
Zot |
Iota universal
El combinador de iota universal de Chris Barker ι tiene la estructura λf.fSK muy simple definida aquí, usando semántica denotacional en términos del cálculo lambda ,
( 1 )
A partir de esto, se pueden recuperar las expresiones habituales de SKI , así:
( 2 )
Debido a su minimalismo, ha influido en la investigación sobre la constante de Chaitin . [2]
Iota
Iota es el lenguaje LL (1) que prefija los árboles de órdenes de las hojas del combinador universal iota ι antes mencionadas , compuesto por la aplicación de función ε ,
iota = "1" | "0" iota iota
para que por ejemplo 0011011 denota, mientras que 0101011 denota.
Jota
Jot es el lenguaje regular que consta de todas las secuencias de 0 y 1,
jot = "" | jot "0" | anotar "1"
La semántica viene dada por traducción a expresiones SKI. La cadena vacía denota, denota , dónde es la traducción de , y denota .
El punto de la caso es que la traducción satisfaga para términos arbitrarios de SKI y . Por ejemplo,
Jot está conectado con Iota por el hecho de que y utilizando las mismas identidades en términos de SKI para obtener los combinadores básicos y .
Zot
Los lenguajes Zot y Positive Zot controlan los cálculos de Iota , desde las entradas hasta las salidas mediante el estilo de paso de continuación , en una sintaxis que se asemeja a Jot ,
zot = olla | "" olla = iot | pot iot iot = "0" | "1"
dónde 1 produce la continuación, y 0 produce la continuación, y wi consume el dígito de entrada final i continuando a través de la continuación w .
Ver también
- Cálculo lambda
- Lógica combinatoria
- Lógica combinatoria binaria
- Cálculo del combinador de SKI
Referencias
- ^ Barker, Chris. "Zot" . Los lenguajes de programación esotéricos Webring . Archivado desde el original el 12 de marzo de 2016 . Consultado el 4 de octubre de 2016 .
- ^ Quédate, Michael (agosto de 2005). "Máquinas Chaitin muy sencillas para hormigón AIT" . Fundamenta Informaticae . IOS Press. 68 (3): 231–247 . Consultado el 20 de febrero de 2011 .
enlaces externos
- Página web oficial
- Barker, Chris. "Iota y Jot: ¿los lenguajes más simples?" . Los lenguajes de programación esotéricos Webring . Archivado desde el original el 7 de mayo de 2016 . Consultado el 13 de agosto de 2004 .
- https://esolangs.org/wiki/Iota
- https://esolangs.org/wiki/Jot
- https://esolangs.org/wiki/Zot