nevalang/neva

Alternative syntax for outports (network nesting)

emil14 opened this issue · 4 comments

Before

:data -> if
if:then -> ('true' -> println)
if:else -> ('false' -> println)
println -> :sig

After

:data -> if -> {
	:then -> ('true' -> println)
	:else -> ('false' -> println)
}
println -> :sig

TODO think about this a lot more, about downsides

Probably only for cases where you use (send?) node (if in this case) only once

Obv downside is that we have 2 different ways to do the same thing (again)

However, it could be handled by formatter

Corner Case (Shadowing)

Beware of cases where you overwrite existing ports with childern's

:start -> foo -> { :start -> ... }

related to #627