-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Progress Tracker: Event System Improvements #300
Comments
Regarding payloads:
todo:
|
Hit a wall at |
The type inferrer can't infer sizes. However sizes will still be part of types. Reasoning: Type inferrer can't handle sizesConstraints are not compatible with state. Consider the following:
Solving via constraints would give constraints like the following:
Logically the last constraint means that Sizes as typesConsider an array of strings. In Mita right now you have different ways to specify a variable of this type:
Variant one does not specify a size at all. Variant two does not work for nested types that require inference, unless you come up with some special syntax or data type for sizes. Variant three is not flexible enough, since you can't for example first allocate the array and then populate it with strings. The only remaining solution therefore is to bind sizes to the variable declaration itself, i.e. label the variable, also known as "typing" it. We could introduce a new concept alongside types for sizes, for example
|
However sizes will still be encoded in the type specifier and type checked. See comment at #300.
This is the progress tracker for upcoming changes to the current event system. Feedback is welcome as comments to this!
To support queues, since payloads have arbitrary size, they need to be passed by referenceIt's probably better to not have the platform handle this but instead present a ringbuffer interface to platforms.The text was updated successfully, but these errors were encountered: