Noticias que mencionan Haskell

Cómo dibujar regiones finitas de los mosaicos de Penrose en Haskell

Este artículo describe, paso a paso, cómo generar regiones finitas de los mosaicos no periódicos de Roger Penrose formados por cometas (kites) y dardos (darts) utilizando el paquete Diagrams de Haskell. El trabajo surge de una colaboración con Stephen Huggett sobre propiedades matemáticas de estos t

Validar no es parsear: tipos de marca en TypeScript al estilo Haskell

Este artículo recupera el principio "parse, don't validate" de Alexis King y lo aplica a TypeScript, un lenguaje cuyo sistema de tipos estructural no obliga a distinguir entre datos sin revisar y datos ya verificados. La idea central es que un validador devuelve true o false y olvida lo que comprobó

Koan en Haskell: cadenas no vacías validadas en tiempo de compilación

Bellroy comparte una técnica avanzada en Haskell para representar estados inválidos como imposibles en el sistema de tipos. La pieza central es NonEmptyText, un tipo que garantiza en compilación que una cadena tenga al menos un carácter, construido a partir de RequiredTypeArguments, introducido en G

Prism: un lenguaje funcional impuro con efectos tipados

Prism es un compilador funcional de prueba de concepto desarrollado por Stephen Diehl durante los últimos tres años. Su propuesta central consiste en modelar los efectos computacionales —mutación, excepciones, generadores, entrada/salida— dentro del sistema de tipos, de modo que el programador decla

H2JVM: biblioteca en Haskell para generar bytecode de la JVM

H2JVM es una biblioteca en Haskell, aún en fases muy iniciales, que permite generar bytecode de la máquina virtual de Java (JVM) desde código funcional con un enfoque de alto nivel. Su objetivo es que los desarrolladores de compiladores hacia la JVM no tengan que lidiar con los detalles de bajo nive

Director ejecutivo de Haskell Foundation deja su cargo en junio

La Haskell Foundation anuncia cambios significativos para 2026. Su director ejecutivo, José, deja su cargo en junio tras años de servicio durante momentos difíciles. La Junta Directiva aprovecha esta transición para reestructurar la organización, con el objetivo de dedicar la mayor parte de los recu

Implementan equipamiento profunctor en Haskell como verificación práctica

El artículo presenta una implementación práctica en Haskell del concepto matemático de 'equipamiento profunctor' (profunctor equipment), una estructura proveniente de la teoría de categorías Higher Order Topos Theory. El autor, Bartosz Milewski, decide usar Haskell como 'juguete' para verificar comp

Librería Haskell optimiza cálculos de arrays de alto rendimiento

El proyecto Data.Array.Accelerate, desarrollado por el equipo AccelerateHS, es una librería Haskell que define un lenguaje embebido especializado para cálculos de arrays de alto rendimiento. Esta herramienta permite expresar computaciones sobre arrays multidimensionales regulares mediante operacione

Desarrollador Haskell implementa pruebas visuales golden para librería CAD

Un desarrollador Haskell ha implementado técnicas de 'Golden Testing' o pruebas de regresión visual para su librería Waterfall-CAD, una herramienta de CAD programable lanzada en 2023. El autor, Joe Warren, enfrentaba dificultades para probar su librería debido a que los outputs son modelos 3D comple

Go: la alternativa simple para el desarrollo backend

Un artículo en blainsmith.com aboga por el uso del lenguaje de programación Go para simplificar el desarrollo backend. El autor critica la complejidad creciente de los proyectos backend modernos, a menudo construidos con múltiples herramientas y frameworks, argumentando que Go ofrece una alternativa

Rocq Prover: 40 años de verificación formal, un nuevo nombre

Después de más de 40 años de investigación, el sistema de verificación formal conocido anteriormente como Coq Proof Assistant ha sido renombrado como Rocq Prover. Desarrollado inicialmente en 1984 por Thierry Coquand y Gérard Huet en INRIA-Rocquencourt, y posteriormente ampliado por Christine Paulin

Desarrolladores buscan fin a la fragmentación en la nube

Una creciente frustración entre desarrolladores por la fragmentación de la infraestructura y la falta de interoperabilidad entre proveedores de servicios en la nube ha surgido recientemente en la comunidad tecnológica. El problema radica en que cada proveedor impone sus propias herramientas y format

Scheme: repositorio desacoplado para datos

Este artículo presenta un enfoque innovador para la capa de datos en proyectos Scheme, buscando resolver un problema común: el acoplamiento estrecho entre la capa de control y la implementación específica de la base de datos (en este caso, SQLite). El autor, proveniente de un background en lenguajes

Lean: el lenguaje que verifica su propio código

Este artículo explora el concepto de un "lenguaje de programación perfectible", ejemplificado por Lean. La idea central es que un lenguaje perfectible no solo permite escribir código, sino también expresar propiedades sobre ese código dentro del propio lenguaje. Esto abre la puerta a la verificación

Surelock: Nueva Biblioteca Rust Evita Bloqueos de Código

Desarrolladores de Rust han presentado 'Surelock', una nueva biblioteca diseñada para eliminar los bloqueos (deadlocks) en el código. Los bloqueos, difíciles de detectar y que pueden causar fallos inesperados en sistemas, son un problema común en la programación concurrente. Surelock aborda este pro

Kanjideck: Fallo por falta de espacio en disco

Un servidor dedicado a la distribución de archivos digitales para clientes de Kanjideck sufrió una interrupción la noche del 31 de marzo debido a un rápido agotamiento del espacio en disco. El servidor, alojado en Hetzner con 4GB de RAM y 40GB de disco, se vio abrumado por una gran cantidad de usuar

SOM: Nuevo Lenguaje de Programación con Múltiples Versiones

Un nuevo lenguaje de programación llamado 'SOM' ha surgido, destacando por su enfoque en la claridad de implementación sobre el rendimiento absoluto. Desarrollado por SOM-st, SOM cuenta con nueve implementaciones distintas, que varían en tamaño (de 2.5k a 8k líneas de código) y técnicas de implement

Koru: Nuevo lenguaje desafía el rendimiento de C

Un nuevo lenguaje de programación llamado Koru está sorprendiendo al mundo de la informática al demostrar un rendimiento comparable, e incluso superior en algunos casos, a lenguajes de alto rendimiento como C, Rust y Zig. Según pruebas realizadas por los desarrolladores de Koru, sus 'kernels' (unida

Haskell: Usa `do` para registros más claros

Este artículo del blog de HaskellForAll aborda una recomendación de estilo para la construcción de registros (tipos de datos) en Haskell: priorizar la notación `do` sobre los operadores `Applicative` (como `<$>` y `<*>`). Aunque ambos métodos son válidos, la notación `do` ofrece ventajas significati

Herramienta automatiza pedidos de REWE con línea de comandos

Un desarrollador ha creado una herramienta de línea de comandos (CLI) llamada 'korb' que permite automatizar los pedidos de comestibles de REWE a través de sus APIs. Escrita en Haskell, la herramienta está diseñada para ser utilizada por agentes o asistentes para organizar las compras de REWE, gener

Haskell: Binarios más pequeños con nuevas técnicas

Desarrolladores de Haskell han descubierto técnicas para reducir significativamente el tamaño de los binarios de Haskell, que a menudo pueden superar los 100MB debido a las dependencias. El método principal implica el uso de opciones de enlace como `-split-sections` y `--gc-sections` para eliminar c

Estadística Bayesiana: Guía para científicos de datos

Este artículo explica de manera didáctica las estadísticas bayesianas, un tema que a menudo resulta confuso para los científicos de datos. La estadística bayesiana se presenta como una alternativa a la estadística frecuentista, una metodología dominante pero a veces carente de intuición. La principa

Monuses optimizan búsqueda en montículos

Este artículo explora una estructura algebraica llamada 'monus' y su aplicación en algoritmos de búsqueda y ordenamiento, particularmente en el contexto de montículos (heaps). Un montículo es una estructura de datos en forma de árbol donde el valor de cada nodo es menor o igual que el de sus hijos,

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

Error en compilador Rust al emular tipos avanzados

Este artículo técnico explora una peculiaridad en el sistema de tipos de Rust y cómo un intento de emular tipos de orden superior (HKTs) llevó a un error de desbordamiento en la evaluación de requisitos de traits, causando que el compilador fallara. El autor, en su intento de crear un lenguaje de sc

Emacs: Técnicas Internas para Manejar Tipos de Datos

Este artículo del blog de The Cloudlet explora técnicas de programación de sistemas utilizadas en GNU Emacs para representar valores Lisp de manera eficiente. El núcleo del problema radica en cómo manejar variables que deben contener valores de diferentes tipos en tiempo de ejecución, preservando la

Scala: Concurrencia optimizada con técnica inspirada en Haskell

Este artículo explora una técnica avanzada para mejorar la concurrencia en Scala, inspirada en el lenguaje Haskell y su biblioteca Haxl. El problema que aborda es cómo optimizar la ejecución de múltiples consultas de datos, evitando una serie de llamadas secuenciales a la base de datos. En Haskell,

Comunidades online: ¿Facebook o Google, cuál construir?

Construir una comunidad de desarrolladores exitosa no es tan sencillo como crear un foro o un canal de Slack. El artículo de mooreds.com explora una distinción crucial: ¿estás construyendo una comunidad para que la gente 'se relaje' (como Facebook) o para que obtengan respuestas rápidas (como Google

Mini-lenguajes: programación en código reducido

Este artículo de Taylor Troesh explora el fascinante mundo de los "Lil' Fun Langs", o lenguajes de programación muy pequeños. La idea central es que es posible crear lenguajes de programación funcionales y con tipado estático con una cantidad sorprendentemente baja de código. El artículo no solo pre

Diseño con Tipos: Analiza, No Valides

El artículo explora el concepto de diseño impulsado por tipos (type-driven design), una metodología que el autor ha tenido dificultades para explicar de manera concisa. La clave para comprender este enfoque reside en la idea de "parse, don't validate". El autor ilustra esto a través de ejemplos en H

Programación Funcional: El Peligro de la Confianza Excesiva

El artículo de Ian Duncan critica la tendencia en la programación funcional (FP) a enfocarse excesivamente en la corrección local del código, lo que lleva a una falsa confianza en las propiedades del sistema en su conjunto. Argumenta que, independientemente del paradigma de programación, los desarro

Free Monads: Listas en Haskell y Teoría de Categorías

El artículo explora el concepto de 'Free Monads' en Haskell, presentándolos como una forma de listas en la categoría de endofuntores. Se profundiza en la teoría de categorías, incluyendo conceptos como Endo, Natural Transformations, Product functors y HFunctors, para explicar la relación entre Free