nevalang / neva

🌊 Dataflow programming language with static types and implicit parallelism. Compiles to native code and Go
https://nevalang.org
MIT License
85 stars 7 forks source link

[Analyzer]: Node DI has no anaysis #435

Open emil14 opened 6 months ago

emil14 commented 6 months ago
  1. It's possible to pass DI deps to the node that doesn't expect those deps with such names
  2. It's possible to not pass DI deps to node that does expect deps
  3. It's possible to pass deps with incompatible interface
emil14 commented 4 months ago

It's possible to pass deps with incompatible interface

This one is incredibly important note

We must implement interface sub-typing in a structural way the same way Go does (and the same way Nevalang implements data-types subtyping)

What I mean is that if interface IFoo has 1 outport (bar any) and your Foo has (bar any, baz Whatever) then your Foo implements IFoo

This is very important to make bridges, streamers and other adapters/decorators work throughout the language