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

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

rustc_codegen_jvm: backend de rustc para compilar Rust a bytecode de la JVM

rustc_codegen_jvm es un backend alternativo para el compilador de Rust (rustc) que traduce código fuente escrito en Rust a bytecode de la Java Virtual Machine (JVM) y produce archivos .jar ejecutables compatibles con JVM 8 o superior. El proyecto, alojado en GitHub bajo la cuenta IntegralPilot, conf

Endive: nuevo runtime de wasm para java sin dependencias nativas

El proyecto Endive, desarrollado por Bytecode Alliance, es un nuevo tiempo de ejecución nativo de Java para WebAssembly (Wasm). Lanzado como un fork de Chicory, permite ejecutar módulos Wasm directamente en la Máquina Virtual de Java (JVM) sin dependencias nativas ni llamadas JNI. La relevancia de e

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

Java: Visualiza tu aprendizaje con este gráfico interactivo

El "100DaysOfJava Knowledge Graph" es una herramienta interactiva que visualiza el contenido de una serie de publicaciones de blog centradas en el aprendizaje y la exploración de Java. Imagina que has seguido un curso intensivo de Java, con cientos de conceptos interconectados. Intentar recordar y c

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

OpenJDK 11: nuevas herramientas para terminar JVM

Una nueva versión de OpenJDK 11 introduce opciones de terminación de la Máquina Virtual Java (JVM) para mejorar la depuración y el manejo de errores en entornos de producción. Estas opciones, disponibles a través de flags de runtime, permiten abortar la JVM en situaciones específicas como fallos de

Panamá: Puente Java-Nativo Facilita la Interoperabilidad

El proyecto Panamá, impulsado por el Hotspot Group dentro de OpenJDK, busca mejorar la interoperabilidad entre la Máquina Virtual de Java (JVM) y código nativo, especialmente APIs comúnmente utilizadas por programadores de C. El objetivo es permitir una comunicación más fluida y eficiente entre el c

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

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 (

Common Lisp y Scheme: Interoperabilidad sin precedentes

Un nuevo proyecto, denominado 'cl-kawa', permite una profunda interoperabilidad entre Common Lisp y Scheme, dos lenguajes de programación, a través de una implementación innovadora. El proyecto, creado por Anthony Green y disponible en GitHub, utiliza OpenLDK, un JVM escrito en Common Lisp que trans