us-vs-them: procedencia línea a línea del texto frente a la edición agéntica

us-vs-them es una herramienta, disponible como biblioteca o CLI, que reconstruye la autoría línea a línea de un archivo de texto a partir del historial de versiones de Git. Su propósito es resolver una cuestión creciente con la edición agéntica: distinguir qué partes de un documento fueron escritas

Jolt incorpora imágenes de programa y backends de Scheme portables

Jolt, un lenguaje de la familia Lisp que se ejecuta sobre Scheme, ha incorporado dos funcionalidades derivadas de desacoplar su runtime del host. La primera es la posibilidad de serializar imágenes de programa —al estilo de Common Lisp y Smalltalk—, una especie de caja negra que captura el estado co

Cómo no morir por mil cortes: repensar la calidad del software

La calidad del software no se reduce al buen funcionamiento de una aplicación, sino que atraviesa toda la organización. El texto parte de una premisa filosófica —la calidad como experiencia de un proceso vivo, comparable al cuidado de la salud— y la traslada al producto digital para preguntarse de q

La forma de los datos: cómo las notaciones condicionan la programación

El artículo reflexiona sobre la representación de los datos en los lenguajes de programación y sostiene que la elección de una notación determina en gran medida la productividad del programador. Partiendo de un ejemplo en Rust, donde el código que crea una estructura, su modelo mental en memoria y l

ZIL: un lenguaje relacional en Lean 4 para mapear elementos de un proyecto

ZIL es un lenguaje relacional compacto, implementado dentro de Lean 4, que permite describir objetos con nombre, las relaciones entre ellos y reglas que derivan relaciones adicionales a partir de hechos existentes. Su modelo se inspira en el enfoque de tuplas empleado por el sistema Zanzibar de Goog

Pre-ordenación de datos aleatorios: cómo acelerar inserciones en SQLite

Las bases de datos basadas en árboles B+, como SQLite, están diseñadas para almacenar datos de forma ordenada. Cuando se insertan identificadores o claves aleatorias, esa organización se rompe: las páginas se reescriben, se producen divisiones de página y el árbol se reequilibra constantemente, lo q

Hybrid ClojureScript: un lenguaje que combina código textual y visual

Los lenguajes de programación dominantes obligan a los desarrolladores a expresar ideas geométricas de dominio específico únicamente mediante texto lineal. Un artículo reciente propone una solución: lenguajes híbridos que permitan crear construcciones sintácticas visuales combinables con el código t

Glojure: un intérprete de Clojure sobre Go con interoperabilidad extensible

Glojure es un intérprete de Clojure desarrollado sobre Go que facilita el acceso a las bibliotecas del lenguaje anfitrión, del mismo modo que Clojure permite aprovechar el ecosistema Java sobre la JVM. Se trata de un proyecto en fase inicial (versión 0.3.0), sin garantías de retrocompatibilidad hast

transit.c: lector y escritor Transit en C11 con aceleración SIMD

transit.c es una biblioteca en C11 que implementa un lector y escritor para el formato Transit, un sistema de intercambio de datos entre aplicaciones escritas en distintos lenguajes y creado originalmente por Cognitect dentro del ecosistema Clojure. Transit se apoya en JSON y MessagePack, por lo que

Biff.core: la nueva librería que articula el framework Biff en Clojure

Biff.core es la primera de las doce librerías en las que se está dividiendo el framework Biff, un proyecto en Clojure para componer aplicaciones web. Su función principal es servir de pegamento entre el resto de módulos: ofrece las interfaces comunes y el sistema de composición que cualquier proyect

thi.ng: una colección abierta de bibliotecas para diseño computacional

thi.ng es un proyecto de código abierto dedicado al diseño computacional, creado y mantenido por Karsten Schmidt desde 2006. No se trata de un framework único ni de una herramienta ligada a un caso de uso o lenguaje concreto, sino de un conjunto maduro y en constante crecimiento de aproximadamente 3

Mis impresiones tras un mes programando en Clojure

Tras un mes utilizando Clojure para reconstruir su sitio web personal, el autor comparte sus impresiones sobre el lenguaje y por qué piensa seguir con él. El autor se acercó a Clojure esperando la sintaxis engorrosa que suele asociarse a los dialectos de Lisp, pero en la práctica lo encontró más er

Guía completa compara cuatro dialectos principales de Lisp

Esta referencia lateral de hyperpolyglot.org ofrece una comparación exhaustiva entre cuatro dialectos principales del ecosistema Lisp: Common Lisp, Racket, Clojure y Emacs Lisp. Cada dialecto comparte la sintaxis característica de Lisp —notación prefijada con paréntesis—, pero difiere considerableme

Jank crea IR personalizada para optimizar código Clojure

El compilador de Clojure 'jank' ha implementado su propia representación intermedia (IR) personalizada, diseñada específicamente para optimizar el código a nivel de semántica del lenguaje Clojure. Anteriormente, jank delegaba toda la optimización a LLVM, pero debido a que LLVM IR opera a un nivel mu

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

Let-Go combina Clojure y Go para crear binarios ultrarrápidos de 10MB

Let-Go es un nuevo lenguaje de programación que combina características de Clojure y Go, desarrollado como un compilador de bytecode y máquina virtual. El proyecto destaca por generar binarios standalone de aproximadamente 10MB, logrando un tiempo de arranque en frío de tan solo 7 milisegundos, lo q

ClojureScript: Funciones asíncronas llegan con la v1.12.145

El equipo de ClojureScript ha anunciado el lanzamiento de la versión 1.12.145, que introduce soporte nativo para funciones asíncronas. Esta nueva funcionalidad, solicitada por la comunidad como una de las mejoras más deseadas para la interoperabilidad con JavaScript, permite a los desarrolladores in

Clojure: del código a la infraestructura de Nubank

El documental "Documental" explora la historia de Clojure, un lenguaje de programación funcional que ha evolucionado desde una idea inicial hasta convertirse en la base de la infraestructura de ingeniería de Nubank, uno de los mayores bancos digitales independientes del mundo. Clojure no es un lengu

ClojureFnl: Compilador une Clojure y Fennel

Un desarrollador ha creado 'ClojureFnl', un compilador que traduce código Clojure a Fennel, un lenguaje Lisp inspirado en Clojure y que se ejecuta en Lua. El proyecto surgió inicialmente como una biblioteca llamada 'fennel-cljlib' en 2019, cuyo objetivo era incorporar características de Clojure en F

Instant: Backend Open Source para IA Simplificada

Instant es una nueva plataforma de backend de código abierto diseñada para simplificar el desarrollo de aplicaciones impulsadas por inteligencia artificial. Permite a los desarrolladores crear un número ilimitado de aplicaciones sin congelaciones y con una infraestructura optimizada para la escalabi

Clojure: lenguaje funcional gana terreno en empresas

Una reciente implementación en Michelin ha impulsado la adopción de Clojure, un lenguaje de programación funcional basado en Lisp, para el desarrollo de aplicaciones empresariales. Inicialmente, el equipo se mostró escéptico al desviarse de la pila de desarrollo estándar (Java), pero rápidamente apr

Clojure impulsa a Nubank: documental revela su historia

Un nuevo documental, "Clojure: The Documentary", se estrenará el 16 de abril, revelando la historia del lenguaje de programación Clojure y su impacto significativo en la industria tecnológica. El tráiler, publicado por CultRepo, destaca cómo Clojure, nacido de una idea persistente, ha llegado a impu

Roughtime: Código abierto se acelera 13 veces

Un equipo de Sturdy Statistics ha logrado un aumento significativo en el rendimiento de su implementación de código abierto Roughtime, un protocolo para la sincronización segura del tiempo con pruebas criptográficas. Inicialmente, el servidor respondía a las solicitudes en 200 microsegundos. Tras un

Aprende Clojure: Plataforma práctica para desarrolladores

ClojureStream es una plataforma integral diseñada para el aprendizaje y la comunidad en torno a los lenguajes de programación Clojure, ClojureScript y Datalog. En un mundo donde la curva de aprendizaje de nuevas tecnologías puede ser empinada, ClojureStream se presenta como un recurso estructurado y

Clojure y Java: Solucionan Retraso de Inicio en OpenLDK

Este artículo aborda un problema de rendimiento significativo encontrado al integrar Clojure (un lenguaje funcional) con OpenLDK, una implementación de Common Lisp que se ejecuta sobre la Máquina Virtual de Java (JVM). Inicialmente, el tiempo de inicio de Clojure en OpenLDK era excesivamente largo (

ChronDB: ahora biblioteca para más lenguajes

ChronDB, una base de datos Clojure inicialmente diseñada como servidor, ha evolucionado para convertirse en una biblioteca políglota gracias a la integración con GraalVM. Originalmente concebida para almacenar datos con Git y exponer protocolos como PostgreSQL, Redis y REST, el equipo de desarrollo

Clojure: Cognitect replantea el código abierto

Cognitect, la empresa detrás del lenguaje de programación Clojure, ha publicado una declaración desafiando las expectativas comunes sobre el desarrollo de código abierto. Rich Hickey, fundador de Cognitect, argumenta que los creadores de proyectos de código abierto no están obligados a atender a las