Closed emil14 closed 8 months ago
About 7
Probably not builtin but instead simply "current scope"
Also what's with the type parameters when they are there? It's simple with Printer
to have Printer<any>
but how about entities with 2+ parameters? Would we insert any
everywhere? What about parameters with real constraints tho?
A lot of questions
Probably less radical approach could work.
nodes
and net
as separate sectionsprinter Printer<any>
node is created: we can change it's name, we have handle type argumentsimport {
foo
bar/baz
}
component Main(start) (stop) {
nodes { Printer }
net {
:start -> ('hello world' -> printer)
printer -> :stop
}
}
any
thenstd/
module prefix (can be implemented at the parser lvl)any
by defaultnode
is preferred tonode:
even though it's consistent with:start :stop
syntax. It feels natural to "send message to printer", not to "printer node with unknown port".:
Must stay for IO-node ports short syntax tho.nodes
andnet
sections in normal components in case it's obvious what entities are actually used. E.g.printer
transforms toPrinter
that isstd/builtin
imported. Only for builtin components. Also not for interface nodes, they should be explicit.This is how Nevalang could look