Charity: lenguaje de programación funcional basado en teoría de categorías

El Charity Development Group, investigador del Departamento de Ciencia Computacional de la Universidad de Calgary en Canadá, ha desarrollado Charity, un lenguaje de programación funcional basado en la teoría de tipos categóricos fuertes. Este lenguaje se divide en dos subclases: tipos de datos induc

Manual aplica teoría de categorías al tiny ML con Rust

Category Theory for Tiny ML in Rust es un libro técnico en formato de borrador de trabajo que establece un puente práctico entre las matemáticas composicionales, los tipos del lenguaje de programación Rust y los sistemas de aprendizaje automático de pequeño tamaño (tiny ML). La obra propone utilizar

Una línea de código en APL: mi viaje de 7 meses creando un juego de voxeles

Este contenido narra la historia de una línea de código en APL (A Programming Language) que cambió la perspectiva del autor sobre su desarrollo como programador. El projeto consiste en un juego de voxeles escrito en Dyalog APL durante aproximadamente 7 meses, donde el autor aprendió APL específicame

Nuevo roguelike permite crear hechizos programando expresiones en Lisp

xsofy es un proyecto de roguelike (juego de exploración de mazmorras procedural) desarrollado en un dialecto de Lisp llamado let-go, que es una implementación de Clojure ejecutándose sobre una máquina virtual de Go. La característica más distintiva del juego es su sistema de magia basado en s-expres

Cómo el cálculo lambda permite crear un lenguaje de programación desde cero

El cálculo lambda es un sistema formales mínima desarrollado por Alonzo Church en 1929 que constituye la base teórica de todos los lenguajes de programación funcionales modernos como Haskell, Scheme y ML, y también está presente en lenguajes imperativos como JavaScript, Python y Ruby. A pesar de su

mine: Nuevo IDE para Coalton y Common Lisp

Se ha lanzado 'mine', un entorno de desarrollo integrado (IDE) para los lenguajes de programación Coalton y Common Lisp, disponible para Windows, macOS y Linux. El IDE ofrece dos versiones: 'mine-app', una aplicación completa y autónoma para Windows y macOS, y 'mine-core', una versión más flexible p

Brunost: Lenguaje de Programación con Sabor Noruego

Un desarrollador ha creado un nuevo lenguaje de programación llamado Brunost, que se distingue por su enfoque en la cultura noruega y la utilización del dialecto Nynorsk. El lenguaje, cuyo nombre hace referencia a un queso de cabra tradicional noruego, obliga a los desarrolladores a escribir código

roll en J: desvelando la generación de números aleatorios

Este artículo del blog de Jsoftware.com desentraña el funcionamiento interno de la función `roll` en el lenguaje de programación J, una función crucial para la generación de números pseudoaleatorios. Aunque su uso es sencillo (por ejemplo, `7^5` produce `16807`), la explicación se adentra en los fun

Ruby más simple: experimento con sintaxis Lisp

Este proyecto, llamado 'rubysyn', es un experimento para simplificar y clarificar la sintaxis de Ruby, utilizando una alternativa basada en Lisp. El objetivo no es cambiar la semántica de Ruby, sino ofrecer una sintaxis más fácil de analizar y más 'limpia', eliminando 'azúcar sintáctico' innecesario

IA falla al operar: la solución, de los años 80

Los agentes de IA están fallando repetidamente en entornos de producción, a pesar de mostrar resultados prometedores en demostraciones y pruebas iniciales. Cyrus Radfar, experto en IA, señala que este problema no radica en los modelos de IA subyacentes (como GPT-5), sino en la arquitectura del códig

Teoría de Tipos: Una Nueva Base Matemática

Este texto explora la teoría de tipos como una alternativa a la teoría de conjuntos y la propia teoría de categorías, ofreciendo una base matemática poderosa. Tradicionalmente, la matemática introductoria se apoya en la teoría de conjuntos debido a su simplicidad. Sin embargo, esta simplicidad revel

Coalton 0.2: Funciones de Aridad Fija Mejoran el Lenguaje

El lenguaje de programación funcional Coalton está introduciendo cambios significativos en su próxima versión (0.2 Preview), enfocados en mejorar la eficiencia, la claridad y la flexibilidad. El cambio más notable es la adopción de funciones de aridad fija, reemplazando el sistema de funciones curri

Algoritmos de Reactividad: Cómo Sistemas Responden a Cambios

Este artículo explora los algoritmos de reactividad, un concepto fundamental en la programación que permite a los sistemas responder a cambios en los datos de manera eficiente y consistente. Imagina una hoja de cálculo: cuando cambias un valor, las celdas dependientes se actualizan automáticamente.

Programación con caramelos: nace MNM Lang

Este proyecto, llamado MNM Lang, es una demostración ingeniosa de cómo se puede crear un lenguaje de programación utilizando M&M's (o GEMS, una versión india). La idea surgió de un accidente: el autor derramó un paquete de caramelos que se organizaron en un patrón que le recordó un código. El objeti

Rust: visión a futuro para más seguridad y expresividad

El artículo de Yoshua Wuyts describe su visión a largo plazo para Rust, centrándose en tres áreas clave de desarrollo que buscan mejorar significativamente la seguridad y la expresividad del lenguaje. Rust ya es conocido por su sistema de borrow checker, que garantiza la seguridad de la memoria en t

Funciones: abstracciones para simplificar la programación

Este artículo explora la naturaleza de las funciones en programación y cómo los lenguajes modernos manejan la ejecución del código, particularmente en lo que respecta al despacho dinámico y el manejo de errores. Comienza desafiando la noción de que las funciones son entidades reales, argumentando qu

Guía facilita creación de ejecutables para Gleam

Un desarrollador ha publicado una guía sobre cómo crear ejecutables para el lenguaje de programación funcional Gleam, el cual compila a Erlang y JavaScript. Gleam, aunque prometedor, carece de soporte nativo para la creación de ejecutables, lo que dificulta su distribución. La guía explora tres méto

λProlog: El lenguaje olvidado de los 80 vuelve a la moda

λProlog, un lenguaje de programación lógico desarrollado a finales de la década de 1980, está experimentando un inesperado resurgimiento en la comunidad tecnológica. Basado en la lógica intuicionista de orden superior, λProlog se destaca por su sólida base lógica, que permite características avanzad

Jane Street Optimiza Simulaciones con OCaml 5

Jane Street, una firma de trading cuantitativo, ha migrado una biblioteca clave para simulaciones de hardware (Hardcaml_step_testbench) de monads a efectos algebraicos, una nueva característica de OCaml 5. Esta transición busca mejorar la legibilidad del código y permitir el uso de características a