Skip to content

0.3.5

Compare
Choose a tag to compare
@xTrayambak xTrayambak released this 01 Nov 06:53
· 178 commits to master since this release

This release brings many internal improvements, namely the support for Nim <-> JavaScript types (Nim objects can be converted to Mirage objects at runtime!).

We now stand at 2.5% of passing Test262 tests, a 0.5% increase from last release.

Fixes

  • Local indexing would previously erase unequal identifiers if their owner function hash was the same, resulting in incorrect codegen and crashes

New Features

  • Support for defining custom types

Breaking Changes

You should now define custom Nim types and pass it over to the runtime with registerType(name, typ) instead of doing name mangling hackfests like <typ>.<functionName> in defineFn as a new overloadable variant of it exists which accepts registered types. The same goes for constructors. If a type is registered and defineConstructor is not called on it, any attempts to construct an object with that type in JavaScript land will result in a TypeError saying that the object is not a constructor.

Most of these changes are made in order to start implementing DOM manipulation functions in Ferus.