XOD 0.20.0 Released. Features Generic Nodes.

Victor Nakoryakov
XODlang
Published in
2 min readApr 27, 2018

Since the last release XOD team focused on a feature that we’ve called generics. If you’re familiar with traditional programming, you know what they are. Generic nodes let you work with data values type of which is unknown in advance.

For example, the if-else node which outputs either of inputs depending on a boolean condition: does it really matter what types are on the inputs of choice? No. The only thing which matters is that both input options and the output types should be the same. The actual type does not matter much. Now that can be expressed in XOD:

The generic types are deduced automatically based on values bound and links connected

Learn more about generics with two new articles in XOD docs:

Why

It might sound the feature is not a big deal. Well, it is, for now. However, the generic types is a big part of ongoing effort to implement things known as polymorphism and custom data types in XOD. When we complete them, they will bring language capabilities to a new level to allow easy interfacing with complicated things, like the Internet. Hold on.

Standard library changes

Nodes in the standard library take advantage of generics and now instead of having, e.g., a set of defer-boolean, defer-number, defer-string, defer-pulse, a single defer node serves all cases. Besides the defer the following nodes were generalized:

  • gate
  • if-else
  • debounce
  • nth-input
  • equal
  • select

Deprecations and utilities

Another feature available since 0.20.0 is deprecated and utility markers. They declare a patch obsolete or internal-use-only accordingly. Both marker nodes hide patches having them from user’s inspector by default, discouraging their use. If one wants, he still can access and use such nodes by clicking the new funnel icon in the Project Browser.

A bunch of nodes in the standard library were deprecated or demoted to utilities, so the full list of available nodes now looks more clear.

There are many other small improvements. Read the full list on GitHub.

Get the new version of XOD from the downloads page or try it directly in your browser. If you have XOD installed already, just accept the upgrade offer when IDE starts.

Cheers!

--

--