~hirrolot

https://hirrolot.github.io/

~hirrolot/metalang99

Last active 2 years ago

~hirrolot/leet

Last active 2 years ago
View more

Recent activity

A bunch of new releases! 2 years ago

From Hirrolot to ~hirrolot/metalang99

I'm happy to announce Metalang99 v1.12.0, Datatype99 v1.5.2, and
Interface99 v0.8.0!

Metalang99 has undergone the process of refactoring and concepts
unification, e.g., now choice types are represented as tuples.

Datatype99 has one bug fix: `derive` has been made into a proper
functional macro instead of a plain identifier.

Interface99 ships with the improved syntax: `iMethod`/`defaultIMethod`
have been renamed to `vfunc`/`vfuncDefault`, added `VCALL_*` macros
for convenient virtual table calls, and a mechanism for convenient
`self` downcasting through `VSelf` & `VSELF(T)`.

Metalang99 v1.11.0, Interface99 v0.6.0 2 years ago

From Hirrolot to ~hirrolot/metalang99

Two significant releases have just been pushed!

Metalang99 ships with a new collection, sequences, and the macros
`ML99_boolMatch` & `ML99_boolMatchWithArgs` to match a boolean value.

The new version of Interface99 features default method implementations
and reduced syntax boilerplate:

    #define State_IFACE                     \
        method( int, get, void *self)       \
        method(void, set, void *self, int x)

    interface(State);

Metalang99 v1.8.0 2 years ago

From Hirrolot to ~hirrolot/metalang99

Metalang99 v1.8.0 has been just released.

It ships with a new function called `ML99_charLit`; it converts a
Metalang99 character to a C character literal:

    // 'q'
    ML99_charLit(v(q))

The plain version is available under the name `ML99_CHAR_LIT`.

Metalang99 v1.4.1 2 years ago

From Hirrolot to ~hirrolot/metalang99

Metalang99 v1.4.1 has been just released [1]!

This release comes with a few small bug fixes for neat compiler
diagnostic messages, implemented in the previous release.

[1] https://github.com/Hirrolot/metalang99/releases/tag/v1.4.1

Blog post: What’s the Point of the C Preprocessor, Actually? 2 years ago

From Hirrolot to ~hirrolot/metalang99

Just published a blog post [1] explaining why I've chosen preprocessor
macros instead of external codegen. Check it out!

[1] https://hirrolot.github.io/posts/whats-the-point-of-the-c-preprocessor-actually.html

Metalang99 v1.4.0 2 years ago

From Hirrolot to ~hirrolot/metalang99

Metalang99 v1.4.0 has been just released [1]!

This release ships with neat diagnostic messages via `_Static_assert`,
even for compilers other than GCC (such as MSVC, Clang).

[1] https://github.com/Hirrolot/metalang99/releases/tag/v1.4.0