Skip to content

v0.17.0

Compare
Choose a tag to compare
@emil14 emil14 released this 10 Apr 16:54
· 445 commits to main since this release
696b911

What's Changed

  • Runtime functions: get rid of select-hell and add few fixes by @emil14 in #548
  • Port-less connections (new syntax sugar) by @emil14 in #549
  • FileReader and FileWriter API by @Catya3 in #547
  • Refactor examples by @emil14 in #551
  • Parser: fix chained + deferred connection use-case by @emil14 in #550
  • Refactor: remove unused code in desugarer by @emil14 in #552

Port-less connections syntax sugar

Now you can omit in/out port name if there's only one port per side. E.g. instead of

42 -> println:data
println:sig -> :stop

You can now write

42 -> println
println -> :stop

This can be combined with chaining:

42 -> println -> :stop

Could be infinitely chained:

p1 -> p2 -> p3 -> ... -> pN

Deferred connections backward compatibility broken

You can't have multiple deferred connections in a single () expression anymore. E.g. you can't write code like this

:start -> (
    $l -> push:lst,
    $f -> push:data
)

But you still can (and always will be able to) write it like this

:start -> [
    ($l -> push:lst),
    ($f -> push:data)
]

Full Changelog: v0.16.0...v0.17.0