InfoQ Homepage Compilers Content on InfoQ
-
Next.js 15.5 Ships - Turbopack Production Builds, Node.js Middleware, and Tighter Typescript DX
Next.js 15.5 has landed, delivering faster builds and powerful server-side middleware. Key highlights include the Turbopack bundler, which boosts compilation speed by 2x to 5x, and Node.js middleware enhancements. TypeScript improvements enhance developer experience with stable typed routes and early error detection.
-
Meta Open-Sources Pyrefly, a High-Performance Python Type Checker in Rust
Currently in alpha, Pyrefly is a new open-source Python type checker developed by Meta in Rust for maximum performance. Inspired by tools like Pyre, Pyright, and MyPy, Pyrefly is intended to replace the OCaml-based Pyre type checker previously used for Instagram's codebase.
-
How Meta Ported Million Lines of Android Code from Java to Kotlin
In order to maximize the benefits brought by Kotlin in terms of productivity and safety, Meta engineers have been hard at work to translate their 10 million line Android codebase from Java into Kotlin. One year into this process, they have ported approximately half of their codebase and developed a specific tool, Kotlinator, to automate the process as much as possible.
-
How to Use Programming Rules and Guidelines
According to Arne Mertz, using programming rules and guidelines helps developers work together, as they result in more consistent and better code. However, using them the wrong way can have the opposite result - code that is cumbersome to read or solves problems in suboptimal or even wrong ways.
-
Compiler Explorer Provides Insights into Low-Level Android App Optimization
Android engineers at Google added support for the Java and Kotlin programming languages to Compiler Explorer, an open source tool aimed at exploring how compilers work by compiling code in real-time. Using Compiler Explorer, Android engineers can optimize the performance of their apps by observing how the compiler works under the hood instead of using a set of pre-defined best practices.
-
SourceBuddy Compiles Dynamically Created Java Source Code
SourceBuddy compiles dynamically created Java source code defined by a String or a file to a class file. SourceBuddy, requiring Java 17, is a simplified facade for the javac compiler, which delivers the same functionality.
-
MLGO Framework Brings Machine Learning in Compiler Optimizations
Google’s new Machine Learning Guided Optimization (MLGO) is an industrial-grade general framework for integrating machine-learning (ML) techniques systematically in a compiler and in particular in LLVM. Compiling faster and smaller code can significantly reduce the operational cost of large data-center applications.
-
Mold is a New Linux Linker Aiming to Outperform Lld
Mold, a modern drop-in replacement for current Unix linkers, has reached version 1.0. Written by the original creator of the LLVM lld linker, mold aims to be several times faster than its predecessor.
-
JetBrains Debuts New Kotlin Compiler K2, Kotlin for WebAssembly, and More
At its recent Kotlin 2021 Premier event, JetBrains made a number of major announcements, including K2, the new, faster Kotlin compiler, support for WebAssembly, the Kotlin Symbol Processor, a new code coverage plugin, and improved static analysis.
-
Streamlining the Handoff between Designers and Developers - Travis Arnold at React Finland 2021
Travis Arnold recently presented how JSX and compiler technologies can be used conjointly to make the handoff between designers and developers more efficient. While the ideas presented are not yet implemented in any publicly available tool or library, the ideas of Arnold, who describes himself as a designer/developer, may serve to illustrate possible avenues for improved collaboration.
-
V8 Gets a Non-Optimizing Compiler Stage to Improve Performance
The latest version of the JavaScript V8 engine, V8 9.1, introduces a new intermediate compiler stage, called Sparkplug, that improves performance on real-world benchmarks by 5-15%, says V8 engineer Leszek Swirski. It will be available in the upcoming Chrome 91.
-
REPLicant, a Super Simple Svelte REPL - Peter Allen at Svelte Summit 2020
Peter Allen recently gave a talk at Svelte Summit 2020 in which he explained the benefits of REPL (Read-Print-Eval-Loop) playgrounds. While the Svelte REPL is complex due to the handling of many edge cases, the principles underlying code playground implementations are simple. Allen progressively led the viewer into the implementation of the simplest possible version of the Svelte REPL.
-
MDsveX - Adding Interactivity with Svelte Components in Markdown
The mdsvex npm package was recently entirely rewritten to allow Svelte developers to have Markdown content inside a Svelte component and also use Svelte components inside Markdown. Like Gatsby with MDX/React, mdsvex allows developers to mix Markdown and Svelte components to generate interactive content.
-
WebAssembly Used by Java-to-Web Compiler CheerpJ 2.0 to Port Java Applications to Browsers
LeaningTech recently released the second major iteration of CheerpJ. CheerpJ 2.0 may convert Java applications into a mix of HTML, WebAssembly and JavaScript, so that developers can run Java applications (including applets) in browsers or integrate Java libraries into web applications. CheerpJ 2.0 uses WebAssembly to improve runtime speed.
-
Ionic's Stencil Component Compiler Design Considerations -- Adam Bradley at DotJS2019
Adam Bradley, creator of StencilJS and co-creator of Ionic Framework, reviewed at dotjs2019 the design and architecture that went into Stencil, a component compiler which generates framework agnostic components.