6 repositorios
Direct integration with Java libraries and classes within the same virtual machine.
Distinct from Java Virtual Machine Bridges: Existing candidates focus on bridges between different languages or JVM runtimes, not the inherent compatibility of a JVM-native language.
Explore 6 awesome GitHub repositories matching programming languages & runtimes · Java Interoperability. Refine with filters or upvote what's useful.
Groovy es un lenguaje de programación para la JVM y un framework de metaprogramación que proporciona un entorno compatible con Java para construir aplicaciones. Funciona como un lenguaje de scripting dinámico y una herramienta para crear lenguajes específicos de dominio (DSL), permitiendo la ejecución de scripts personalizados y la creación de mini-lenguajes especializados con una sintaxis concisa. El proyecto se distingue por su capacidad para modificar el comportamiento del programa y las definiciones de clases mediante metaprogramación tanto en tiempo de compilación como en tiempo de ejecución. Utiliza un modelo de tipado híbrido que combina la resolución dinámica de métodos con un chequeo de tipos estático opcional para equilibrar la flexibilidad y el rendimiento de ejecución. El lenguaje cubre una amplia gama de capacidades, incluyendo patrones de programación funcional, transformaciones de árboles de sintaxis abstracta (AST) y la integración directa de bibliotecas de Java. También incluye utilidades de seguridad para prevenir inyecciones SQL, asegurar el parsing de XML y garantizar un parsing seguro de datos estructurados. El sistema traduce la sintaxis de alto nivel a bytecode de la JVM para su ejecución en cualquier Java Virtual Machine compatible.
Enables direct integration and interoperability with Java libraries and classes within the same virtual machine.
Joda-Time es una librería y framework de fecha y hora para Java utilizada para analizar, representar y calcular datos temporales. Proporciona una API temporal segura para subprocesos que utiliza objetos inmutables para garantizar la seguridad de la concurrencia y se adhiere al estándar ISO8601. El proyecto se distingue por su sistema de calendario conectable, que admite diversas cronologías, incluyendo calendarios gregoriano, budista, copto, etíope e islámico. También funciona como una herramienta de gestión de zonas horarias, utilizando una base de datos de zonas interna basada en IANA para traducir instantes y actualizar las reglas de horario de verano independientemente del tiempo de ejecución del host. La librería cubre una amplia gama de capacidades, incluyendo aritmética temporal para cálculos de duración y período, administración de zonas horarias y formato de fecha y hora para lenguaje natural o patrones personalizados. También incluye herramientas para pruebas de tiempo deterministas mediante la simulación del reloj del sistema. El proyecto proporciona utilidades de interoperabilidad para convertir tipos de librería en clases estándar de fecha y calendario de Java.
Provides utilities to convert library date-time types into standard Java date and calendar classes for external compatibility.
Apache Dubbo Go es una implementación en lenguaje Go del framework Apache Dubbo, diseñada para construir microservicios de alto rendimiento. Sirve como un framework RPC multiplataforma y una capa de comunicación de microservicios que permite llamadas a procedimientos remotos entre servicios escritos en diferentes lenguajes de programación. El framework funciona como un conjunto de herramientas de gobernanza de servicios y un proxy de service mesh distribuido, permitiendo que los planos de datos se conecten con planos de control externos en modos con o sin proxy. Proporciona específicamente una capa de compatibilidad para facilitar la comunicación entre servicios basados en Go y Java a través de definiciones agnósticas al lenguaje y codificación de datos estandarizada. El sistema cubre una amplia gama de capacidades distribuidas, incluyendo descubrimiento dinámico de servicios, balanceo de carga basado en estrategias y gestión de tráfico mediante disyuntores (circuit breakers) y limitación de tasa (rate limiting). Incorpora observabilidad a través de rastreo de solicitudes distribuidas y métricas de rendimiento, al tiempo que garantiza la seguridad con cifrado de capa de transporte y control de acceso basado en identidad. La productividad del desarrollador se apoya mediante una interfaz de línea de comandos para el arranque de aplicaciones y la generación automatizada de stubs RPC a partir de definiciones de interfaz.
Handles Java-specific data types and exceptions to enable seamless communication between Go and Java-based services.
JRuby is a Ruby language implementation that runs on the Java Virtual Machine. It serves as a cross-language runtime and execution environment, allowing Ruby code to run on the JVM and share memory with Java applications. The project functions as a bridge between Ruby and Java, enabling Ruby scripts to call Java classes and libraries directly. It also provides a mechanism to embed a Ruby interpreter into Java applications to allow for dynamic scripting. The runtime leverages the JVM for system scalability and ensures a consistent execution environment across different operating systems.
Provides direct integration with Java libraries and classes within the same virtual machine.
This project is a Scala programming course and educational resource. It provides a set of lessons covering the core fundamentals of the language, ranging from basic syntax to advanced type systems. The material includes a functional programming tutorial focused on higher-order functions and pattern matching, as well as guides on managing asynchronous execution and concurrency. It also serves as a resource for understanding the Java Virtual Machine and language interoperability. The course covers the application of polymorphism and variance for type-safe data structures and the use of specifi
Explains how to share data structures and call functions between Scala and Java within the JVM.
Frege is a purely functional programming language that compiles to JVM bytecode, providing Haskell-like semantics for the Java platform. It is built around a Haskell-inspired compiler that implements non-strict evaluation and a static type inference system to ensure data immutability and prevent side effects. The project distinguishes itself through a sophisticated type system featuring rank polymorphism, type-class based dispatch, and static purity enforcement. It includes a JVM language bridge and a foreign function interface that map Java classes and interfaces into functional types, allow
Produces standard JVM class files to make functional logic accessible to any JVM language.