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
We used to do basic user function type inference in the Components. This tries to move most of that work to squiggle-lang. The downside is that this does add substantial complexity to squiggle-lang. The upside is that this seems like stuff we likely want there anyway, and after this, the functionality works a bit better (it's better thought through).
I think this general direction is good, but am sure this implementation can be improved a lot.
This is reusing frTypes for some things frTypes isn't fully meant for. If we go in this direction, I imagine we should add the type frUnknown, and likely frWithDomain. After we do this, we might be able to remove Domain from SqLambdaParameter - exporting the types instead. We'd also want some more helpers like getDomain(FrType<any>), if the domain is nested.
A different direction is to make a different type that's almost exactly like frTypes, but without the packing / unpacking. I think it would likely still need the other attributes.
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
This PR includes no changesets
When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
OAGr
changed the title
Toggle fixes
Move basic function inference to squiggle-lang
Dec 19, 2023
OAGr
changed the title
Move basic function inference to squiggle-lang
Move basic function type inference to squiggle-lang
Dec 19, 2023
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
We used to do basic user function type inference in the Components. This tries to move most of that work to squiggle-lang. The downside is that this does add substantial complexity to squiggle-lang. The upside is that this seems like stuff we likely want there anyway, and after this, the functionality works a bit better (it's better thought through).
I think this general direction is good, but am sure this implementation can be improved a lot.
Some thoughts:
frUnknown, and likelyfrWithDomain. After we do this, we might be able to remove Domain fromSqLambdaParameter- exporting the types instead. We'd also want some more helpers likegetDomain(FrType<any>), if the domain is nested.This closes #2761, among other things.