Skip to content

v0.23.0

Compare
Choose a tag to compare
@emil14 emil14 released this 07 May 17:05
· 151 commits to main since this release
5c2f015

Removed net keyword

Before

component Main(start) (stop) {
    nodes { Println }
    net {
        :start -> println -> :stop
    }
}

After

component Main(start) (stop) {
    nodes { Println }
    :start -> println -> :stop
}

Motivation

While being less explicit and consistent with the rest of the language, it saves us one level of nesting which is about 2 lines per component. Also it looks more like a regular function with var block (it's nodes in our case) and "list of instructions in a body" (it's list of connections for us).

New image package in STDlib by @Catya3

New package with two public components: image.New and image.Encode. This package also have public types such as image.Image, image.Pixel and image.RGBA. This is stream-based API. Check out examples/image_png for a minimal example.

Also note that this is just the beginning. The goal is to make Neva language suitable for complex image processing. (It's still is and always will be general purpose language tho).

One-line multiple import

You are now allowed to import several packages in a single line by using ,, this is consistent with the nodes block syntax.

import { io, strconv }

However, old syntax (no ,, newline for each package) is supported and should be preferred when you have a lot of imports.

import {
    io
    lists
    strings
    strconv

    github.com/nevalang/x:foo
    github.com/nevalang/x:foo/bar
    github.com/nevalang/x:foo/bar/baz

    @:/utils
    @:/models/users
}

Rest

As usual little improvements and bug fixes in compiler here and there.

v0.22.0...v0.23.0