// guess the programming language of the day

$ whois haxe

Haxe

first released in 2005 · by Nicolas Cannasse

$ guessprog --inspect haxe

year
2005
paradigm
multi paradigm
family
c like
memory
automatic gc
binding
static
safety
strong

HAXE(7)

AUTHORS
Nicolas Cannasse
HISTORY
Nicolas Cannasse created Haxe in 2005 at Motion-Twin, a French game studio, after writing MTASC, an open source ActionScript compiler. Haxe is a statically typed language with an ECMAScript-like syntax whose compiler can target many platforms: JavaScript, C++, C#, Java, Python, Lua, PHP, Flash and its own HashLink virtual machine. The goal was to write code once and deploy it to the browser, the server and native apps. It was originally spelled "haXe".
USAGE
Haxe is a niche language used mostly in game development, through frameworks such as OpenFL and Heaps; Dead Cells is one well-known game built with it. It is maintained by the Haxe Foundation.
SEE ALSO
Haxe on Wikipedia ↗
$ cat Main.hx
enum Shape {
    Circle(r:Float);
    Rect(w:Float, h:Float);
}

class Main {
    static function area(s:Shape):Float {
        return switch s {
            case Circle(r): Math.PI * r * r;
            case Rect(w, h): w * h;
        }
    }
    static function main() {
        for (s in [Circle(1), Rect(2, 3)])
            trace('$s has area ${area(s)}');
    }
}