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
Effmonad in Haxe thread. - TilBuci, is now available as a WordPress plugin announcement.
In case you missed it
- WASMIX - WASM in Haxe announcement.
- Franco Ponticelli’s reply to “Is Haxe alive or dead?”.
- TilBuci, a free tool for creating interactive content, reaches version 19!
- Loreline, a modern and open-source scripting language for writing interactive fiction announcement.
- Fiberus, a new Haxe target with a native, fiber-based runtime for multiprocessing announcement.
Articles
- ⛏️ Cave/Glade Generator
2.1.6: optimisation and small improvements article. - ⛏️ Cave/Glade Generator
2.1.7article. - ☠️ 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.0has been released. - Simplified constructor management and discovery library announcement.
- Dts2hx update: Typescript
6.0, Haxe4.3and much improved type conversion announcement.
In case you missed it
- Intellij Haxe plugin
1.7.10has been released. - OpenFL
9.5.1and Lime8.3.1have been released.
Discussions
- Loreline gets posted to Hacker News.
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
Add an available job involving Haxe.
Available for work
- No one atm.
Bounties
- Armory3D bounties are available.
- Keep an eye on the Funkin Bounties repo for future items.
- Squidly has opened up a bounties page for HaxeFlixel features.
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 ofKarpathy/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.rtbbackup 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
- extension-video-export
0.3.4 - extension-file-save
0.3.4 - loreline
0.8.1 - hxenv
1.0.1 - flight
0.1.0 - nanovg-openfl
0.3.0 - colyseus
0.17.11 - openfl-glsl
0.2.1 - peote-view
1.0.8 - SScript
22.2.22 - sl-windows-api
1.4.0 - Haxe3DS
1.9.1 - prefab
1.5.0 - bindable
1.0.0 - mxhx-manifest
1.0.0 - mxhx-xml-parser
1.0.0 - cook
0.1.0 - ale-ui
1.0.6 - deep-equal
0.4.0 - StageWebView
0.6.1 - fractional-indexing
1.0.0 - nxscript
0.5.8 - hxvlc
2.2.6 - uuidv7
2.0.1 - openfl-atlasutil
1.0.0 - haxe-ide
1.1.1 - hx-event-sourcing
0.1.3 - hxFileManager
1.4.0 - plasma
1.0.0 - returns.hx
0.0.1 - massive-starling
1.0.0-alpha.3 - Check out the most recent library releases on HaxeLib.
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
- Develop constructor logic / better constructors proposal
- Enhance
sys.net: Add IP address types, support IPv6 and more proposal. - Add Defer keyword proposal.
- Cast Specification changes for Haxe 5 discussion.
- Add Auto Closing proposal.
- Add additional mathematical constants and functions discussion.
- Additional syntax for safe navigation discussion.
- Add support for Typed metadata proposal.
- Add support for Extension of Abstracts proposal.
- Add package alias proposal.
- Add Integer data types proposal.
- Add Trailing Block Expressions proposal.
- Add Caller Tracking proposal.
- Add Constructor
this.argsyntax proposal. - Add new syntax for getters & setters inspired by the
C#property syntax proposal. - Add a type for meaningless values (similar to unit type) proposal.
- Add better Overload Support proposal.
- Add Static Extension Meta Functions proposal.
- Add
enum abstractoverenumproposal, plus clarification. - Add Enum abstract instances proposal.
[RFC]Xml Dsl’s discussion.- Add Default values for enum parameters.
Do you have an idea to improve Haxe? Consider creating a proposal.
Core Changes
49~ updates have been made to Haxe since the last issue.
--cwdvs-libpull request.- Unify numeric types API across all targets pull request. With a summary of changes and planned changes.
- Remove
haxe.math.bigintfromstdmerged. - Add
haxe.ds.WeakRefand expand WeakMap target coverage pull request. - Every
1/12compiler runsUnbound variableissue comes up fixed. - Long hexadecimal/binary numbers cannot include underscores issue.
- Pull uncontroversial changes from haxe-numeric branch merged.
- Unify compiler output merged.
[hxcpp]- Mark override functions for c++11 pull request.
- Typed semaphores merged.
[hashlink][ci]Add abi compatibility check for libhl pull request.- HL2 JIT -
WIPbranch with a new JIT using Intermediate Representation (IR) and optimised register allocation, pull request.
[lua]- Implement
Sys.time,Sys.getEnvandTimer.stampforlua-vanillamode pull request. - Support Lua
5.5and simdjson4.2.4pull request. - Add LuaJIT specific code generation optimisations pull request.
- Default to vanilla JSON parser pull request.
- Implement
[hxcoro]- Debugging experience discussion.
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.scopeand@:coroutine.restrictedSuspensionpull request. - Yield / Generators issue.
- Add
hxcoro.concurrent.CoroLatchandhxcoro.concurrent.CoroBarriermerged. - 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.hparse faster pull request. - Encoding implementation use simdutf pull request.
- Fully qualify base types in macros merged.
[lua]- Fix
@:nativeon extern enums to preserve dots merged. - Skip luv runtime when
-D lua-vanillais set merged. - Use native bit operators for
Int32wrapping on Lua5.3+ pull request. - Clean up
_hx_bitinclusion logic pull request. - Fix
pairsMapcallback signature pull request. - Fix multiReturn handling in static
__init__functions pull request. - Port
_hx_bit_clampto Haxe code pull request. - Use native bit operators in
_hx_biton Lua5.3+pull request. - Fall back to built-in utf8 module on Lua
5.3+draft pull request. - Remove unnecessary
do...endwrappers around tail returns pull request. - Capture module-level varargs into
_G.argforSys.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.
- Fix
[null-safety]if vs?.issue.[null-safety]Cannot usethisuntil 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.mlcleanup merged.@:forward(names)vs. completion issue.- Add
AsyncIterator<T>andAsyncIterable<T>issue. - Remove xml-based
--displaypull request. [hl]ttypeinfinity pull request.- Replace
Thread.onJobStartwithThread.addCallbacks. Fix Python generator bugs merged. [hashlink]Thread-local GC page cache for lock-free fixed-size allocationdraftpull request.- Generate pattern matcher output directly from descision tree as do-while state machine
draftpull request. - Add
@:callSupermetadata 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]EnabledFloat32Arrayprecision 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.