Haxe Roundup 733

written by skial Edited on

Welcome to the latest edition of the Haxe Roundup. Haxe is a high level, strictly typed programming language and cross-compiler.

Community Updates

News and Articles

Forum Posts

  • Fiberus GC update ~ “maybe playing in the league of Rust frameworks now?” Plus some Q&A and lil update from the author.
  • Is Haxe alive or dead discussion continues.
  • Its possible to do the Eff monad in Haxe thread.
  • TilBuci, is now available as a WordPress plugin announcement.
In case you missed it

Articles

  • ⛏️ Cave/Glade Generator 2.1.6: optimisation and small improvements article.
  • ⛏️ Cave/Glade Generator 2.1.7 article.
  • ☠️ Perilous Shores 1.8.0: blueprint editor article.
In case you missed it
  • Using AI to write a transpiler article by Juraj Kirchheim.
  • ☠️ Perilous Shores 1.7.4: suburbs article.
  • ☠️ Perilous Shores 1.7.5: improved biomes article.

Releases

  • Intellij Haxe plugin 1.8.0 has been released.
  • Simplified constructor management and discovery library announcement.
  • Dts2hx update: Typescript 6.0, Haxe 4.3 and much improved type conversion announcement.
In case you missed it

Discussions

Devlogs

  • None this week.

Releases

  • None this week.

Videos & Music

  • Haxe Exporter - Detailed information and creator interview video.
  • 📌 Reminder that Squidly does a Haxe dev stream every weekday on Twitch. 6pm EST -> 12am EST Monday/Tuesday/Wednesday. 12pm EST -> 6pm EST Thursday/Friday.

Jobs, Bounties

Available for work

  • No one atm.

Bounties

Previews & Demos

Open Source

  • [openfl] New NPM workflow pull request.
  • [ammer] Add LuaJIT FFI support and test infrastructure pull request.
  • [ammer-core] Add LuaJIT FFI platform backend pull request.
  • “Its possible to do open ended Typles in Haxe by using Church encoding” by ohmrun.
  • Ohmrun has “turned a subset of Haxe’s type descriptions into expressions at macro time, encoded as json and rehydrated at runtime”.
Git Repos
  • haxe-wordpress git - Externs and macros to make WordPress plugins in Haxe.
  • hxfinger git - Basic Haxe library for resolving WebFinger addresses.
  • micrograd git - Port of Karpathy/micrograd, A tiny scalar-valued autograd engine and a neural net library on top of it with PyTorch-like API.
  • reflaxe.BrightScript git
  • mui git - Multi-UI abstraction layer for Haxe: write once, deploy to macOS/iOS (SwiftUI), Windows (WinUI), and terminal (TUI).
  • sui git - A Haxe/SwiftUI solution, making it possible to create macOS/ipadOS/iOS/visionOS apps (probably).
  • aui git - Build native Android apps in Haxe using Jetpack Compose.
  • cui git - Declarative Terminal User Interface framework for Haxe, inspired by sui.
  • wui git - Write native WinUI 3 Windows apps in Haxe.
  • hlredis git - Haxe HashLink/C redis bindings.
  • BrainfuHx git - A Brainfuck and Deadfish interpreter written in Haxe.
  • idk git - An interpreted scripting language written in Haxe.
  • tem.hx git - tem-plating engine.
  • hx-MiroExporter git - MiroExporter is a command line tool for working with Miro .rtb backup files.
  • hlopenmpt git - Native tracker module decoding for HashLink, with Heaps integration. Uses OpenMPT Library.
  • hlmidisf2 git - MIDI + SF2 support for HashLink, with Heaps integration.
  • ceramic-sfxr git - Sound-effects generator for Ceramic/Haxe.
  • ALN-VG git - Algebraic liquid network for video games.
  • openfl-munit-sample git - A sample OpenFL and Haxe project that runs automated tests using MUnit.
  • mako-lang git
  • haxe-event-sourcing git - Haxe Event Sourcing Library.
  • plasma git - An easy-to-use composable ANSI styling API.
  • nvsl git - A small, safe game scripting language written in Haxe.
  • petal-cli git - CLI for the Petal Framework.
  • Octa-tcss git - Octacube Typed Cascading Style Sheets (TCSS).
  • Returns.hx git - A Haxe implementation of functional Result types inspired by Python’s returns library.
  • Check out the latest open source Haxe projects over on GitHub.

Closed Source

  • Nothing this issue.

Some Library Releases

People & Projects to support

  • Axol Studio is a small independent game development studio, making games with and contributing to HaxeFlixel.
  • Funkin’ Crew is making Friday Night Funkin’, a cartoon rhythm gaming excellence.
  • Patrick is creating Raspberry Pi 4 support for Haxe/Lime/OpenFL/HaxeFlixel.
  • Josh Tynjala is working on Feathers UI — open source, cross-platform UI components built with OpenFL.
  • Pavel Alexandrov is primarily contributing to the Heaps engine and is the creator of format-tiled library.
  • Ian Harrigan is working on primarily HaxeUI, as well as hxArduino & hxWebSockets.
  • Alexander Gordeyko is developing Pony, a Haxe open-cross-library.
  • Andy Li is working around the Haxe ecosystem: CI, packaging, docs and learning materials.
  • OpenFL is creating free open source software.
  • HaxeUI is creating an open source user interface libraries.
  • HaxeFlixel is creating an open source, cross platform 2D game engine.

Updates from the Haxe core

Current Proposals & Discussions

Core Changes

49~ updates have been made to Haxe since the last issue.

  • --cwd vs -lib pull request.
  • Unify numeric types API across all targets pull request. With a summary of changes and planned changes.
  • Remove haxe.math.bigint from std merged.
  • Add haxe.ds.WeakRef and expand WeakMap target coverage pull request.
  • Every 1/12 compiler runs Unbound variable issue comes up fixed.
  • Long hexadecimal/binary numbers cannot include underscores issue.
  • Pull uncontroversial changes from haxe-numeric branch merged.
  • Unify compiler output merged.
  • [hxcpp]
  • [hashlink]
    • [ci] Add abi compatibility check for libhl pull request.
    • HL2 JIT - WIP branch with a new JIT using Intermediate Representation (IR) and optimised register allocation, pull request.
  • [lua]
    • Implement Sys.time, Sys.getEnv and Timer.stamp for lua-vanilla mode pull request.
    • Support Lua 5.5 and simdjson 4.2.4 pull request.
    • Add LuaJIT specific code generation optimisations pull request.
    • Default to vanilla JSON parser pull request.
  • [hxcoro]
In case you missed it
  • New C# target for Haxe 5 draft pull request. 🌟
  • [coro]
    • Implement blocking loops instead of busy ones pull request.
    • Add SyncGenerator and SyncValueGenerator pull request.
    • Add @:coroutine.scope and @:coroutine.restrictedSuspension pull request.
    • Yield / Generators issue.
    • Add hxcoro.concurrent.CoroLatch and hxcoro.concurrent.CoroBarrier merged.
    • Invoking a coroutine with a custom continuation issue.
    • Support general @:coroutine(config) and @:coroutine.scope(config) meta merged.
  • Possibility to run some expression level filters issue.
  • [hxcpp]
    • Optimise new encoding functions pull request.
    • [tools] Add missing linker features for linux toolchain merged.
    • An attempt at making hxcpp.h parse faster pull request.
    • Encoding implementation use simdutf pull request.
    • Fully qualify base types in macros merged.
  • [lua]
    • Fix @:native on extern enums to preserve dots merged.
    • Skip luv runtime when -D lua-vanilla is set merged.
    • Use native bit operators for Int32 wrapping on Lua 5.3+ pull request.
    • Clean up _hx_bit inclusion logic pull request.
    • Fix pairsMap callback signature pull request.
    • Fix multiReturn handling in static __init__ functions pull request.
    • Port _hx_bit_clamp to Haxe code pull request.
    • Use native bit operators in _hx_bit on Lua 5.3+ pull request.
    • Fall back to built-in utf8 module on Lua 5.3+ draft pull request.
    • Remove unnecessary do...end wrappers around tail returns pull request.
    • Capture module-level varargs into _G.arg for Sys.args() pull request.
    • Fix Assignment to string-named fields on anonymous structs merged.
    • Fix closure on string method causing runtime error pull request.
    • Add regression tests for fixed issues pull request.
    • Refactor to extract helpers and remove redundant logic merged.
    • Replace IIFE discard with local _ assignment pull request.
  • [null-safety] if vs ?. issue.
  • [null-safety] Cannot use this until all instance fields are initialised issue.
  • [null-safety] Field assignment chain doesn’t work merged.
  • Inherit user var names when aliasing merged.
  • Decouple EventLoop from Thread merged.
  • [hxb] Avoid removing display file from cache merged.
  • Defer EntryPoint inclusion until after DCE pull request.
  • Improve thread callback API pull request.
  • ?? message clarity and/or specification issue.
  • forLoop.ml cleanup merged.
  • @:forward(names) vs. completion issue.
  • Add AsyncIterator<T> and AsyncIterable<T> issue.
  • Remove xml-based --display pull request.
  • [hl] ttype infinity pull request.
  • Replace Thread.onJobStart with Thread.addCallbacks. Fix Python generator bugs merged.
  • [hashlink] Thread-local GC page cache for lock-free fixed-size allocation draft pull request.
  • Generate pattern matcher output directly from descision tree as do-while state machine draft pull request.
  • Add @:callSuper metadata to enforce super method calls in overrides merged.
  • Inconsistent overload resolution with lambda vs function syntax issue.
  • Optimize coroutine code generation to eliminate useless output merged.
  • Unresolved type TMono (Some(TLazy)) in a dump file for a typedef fixed.
  • Unify atomics, NativeStackTrace and ThreadImpl interfaces merged.
  • [tests] Enabled Float32Array precision check on all targets merged.

You can get started using the latest features by downloading a nightly build of Haxe and see the impact the latest changes have on each target by browsing the benchmarks site. Head over to OSS Insights for more Haxe statistics.

Take it easy everyone, stay safe and see you next time. ☮️ 🕊️