You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Type safety in Flyde is something I have thought about for quite a while. I had the chance to discuss it some more in a comment on daily.dev and think it deserved to be here as well.
@danielro515: @gabrielgrinberg I am curious to know how all this is typed. Didn’t saw any references to types I’m the docs, ams I am a strong type lover. Ideally I want to get errors if I try to connect incompatible typed nodes.
Response:
@danielro515 not typed atm 🫢 but it is planned.
I'm a strong type lover myself, but I don't think regular typing concepts translate to Flyde in a simple manner.
Flyde's strength isn't going to be on simple methods, where types are easy to define, but more on higher-level services, third-party APIs, and so on, where types are dynamic and can change without previous notice.
I do plan to make it easy for Flyde to surface errors when they happen, and easy for Flyde to help where the shape of the data is known.
The way I plan to tackle this is a mix of classic type annotations for simple nodes accompanied by a "historic runtime type data" mechanism that will leverage real data from tests (even production!) to help avoid stupid mistakes, or just provide helpful autocomplete when drilling down a complex object.
Armed with this mix of structured type data and historical runtime data, Flyde's editor will surface potential errors, but in a non-blocking way - more of a linter than a compiler.
Looking forward to hearing your thoughts on this direction.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Type safety in Flyde is something I have thought about for quite a while. I had the chance to discuss it some more in a comment on daily.dev and think it deserved to be here as well.
@danielro515:
@gabrielgrinberg I am curious to know how all this is typed. Didn’t saw any references to types I’m the docs, ams I am a strong type lover. Ideally I want to get errors if I try to connect incompatible typed nodes.
Response:
@danielro515 not typed atm 🫢 but it is planned.
I'm a strong type lover myself, but I don't think regular typing concepts translate to Flyde in a simple manner.
Flyde's strength isn't going to be on simple methods, where types are easy to define, but more on higher-level services, third-party APIs, and so on, where types are dynamic and can change without previous notice.
I do plan to make it easy for Flyde to surface errors when they happen, and easy for Flyde to help where the shape of the data is known.
The way I plan to tackle this is a mix of classic type annotations for simple nodes accompanied by a "historic runtime type data" mechanism that will leverage real data from tests (even production!) to help avoid stupid mistakes, or just provide helpful autocomplete when drilling down a complex object.
Armed with this mix of structured type data and historical runtime data, Flyde's editor will surface potential errors, but in a non-blocking way - more of a linter than a compiler.
Looking forward to hearing your thoughts on this direction.
Beta Was this translation helpful? Give feedback.
All reactions