Skip to content
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

Type casting for values of unknown type #835

Closed
7 tasks done
lars-reimann opened this issue Jan 31, 2024 · 0 comments · Fixed by #838
Closed
7 tasks done

Type casting for values of unknown type #835

lars-reimann opened this issue Jan 31, 2024 · 0 comments · Fixed by #838
Assignees
Labels
enhancement 💡 New feature or request released Included in a release
Milestone

Comments

@lars-reimann
Copy link
Member

lars-reimann commented Jan 31, 2024

Is your feature request related to a problem?

If an expression has an unknown type (e.g. because the schema effects of a function where not accurately described), it should be possible to override the type.

Desired solution

  • Type casting expression x as t.
  • Grammar
  • Formatter
  • Partial evaluator
  • Type computer
  • Add check to ensure it can only be applied if the original type of x is unknown.
  • Update docs

Possible alternatives (optional)

No response

Screenshots (optional)

No response

Additional Context (optional)

No response

@lars-reimann lars-reimann added the enhancement 💡 New feature or request label Jan 31, 2024
@lars-reimann lars-reimann added this to the v0.7.0 milestone Jan 31, 2024
@lars-reimann lars-reimann self-assigned this Jan 31, 2024
@lars-reimann lars-reimann linked a pull request Feb 1, 2024 that will close this issue
lars-reimann added a commit that referenced this issue Feb 1, 2024
Closes #835

### Summary of Changes

In some cases, e.g. when no runner is installed to infer the initial
schema of a dataset, we may not be able to infer the type of an
expression. This PR adds type casts to specify the type manually in this
case.
lars-reimann pushed a commit that referenced this issue Feb 12, 2024
## [0.7.0](v0.6.0...v0.7.0) (2024-02-12)

### Features

* apply type parameter substitutions of receiver type for member accesses ([#859](#859)) ([5780ed7](5780ed7)), closes [#23](#23)
* check position of usages of variant type parameters ([#852](#852)) ([a2672d7](a2672d7)), closes [#743](#743)
* check whether lower and upper bounds of a type parameter are compatible ([#885](#885)) ([2fc7fe6](2fc7fe6)), closes [#875](#875)
* check whether type parameter bounds are acyclic ([#886](#886)) ([bcf1a4b](bcf1a4b)), closes [#874](#874)
* check whether type parameter bounds are named types ([#878](#878)) ([d8b4168](d8b4168)), closes [#876](#876)
* error if type parameter has multiple lower/upper bounds ([#870](#870)) ([6035b76](6035b76)), closes [#867](#867)
* error if type parameter of class is used in static context ([#830](#830)) ([d5cf420](d5cf420)), closes [#809](#809)
* error if type parameters of functions are variant ([#869](#869)) ([9bf5fec](9bf5fec))
* handle type parameter types in type checker ([#884](#884)) ([6b6f738](6b6f738)), closes [#877](#877)
* handle type parameters (part 1) ([#856](#856)) ([8a35558](8a35558)), closes [#23](#23)
* improve type simplification ([#871](#871)) ([0daafb9](0daafb9))
* Memoization ([#827](#827)) ([d0a6c71](d0a6c71))
* null-safe call & indexed access ([#872](#872)) ([f1420a2](f1420a2)), closes [#857](#857) [#858](#858)
* optional type parameters ([#829](#829)) ([0e9f67a](0e9f67a)), closes [#739](#739)
* optionally generate code without runner integration ([#836](#836)) ([0ed9d6e](0ed9d6e)), closes [#831](#831)
* pre-load all relevant workspace files before executing pipeline ([#822](#822)) ([67ab766](67ab766))
* simplify computed types ([#866](#866)) ([bde3274](bde3274))
* simplify substitutions passed to `computeType` ([#873](#873)) ([aa444d4](aa444d4))
* substitute type parameters when checking assignability of overriding members ([#865](#865)) ([a1f24e0](a1f24e0)), closes [#862](#862)
* substitute type parameters when computing type of inherited members ([#864](#864)) ([33de1e8](33de1e8)), closes [#863](#863)
* support placeholder queries that only request a subset of data ([#826](#826)) ([1e39300](1e39300))
* type casts ([#838](#838)) ([66c3666](66c3666)), closes [#835](#835)

### Bug Fixes

* allow usage of covariant type parameters in own constructor ([#854](#854)) ([4ebae94](4ebae94))
* check for duplicate bounds if type parameters occur as right operand ([#882](#882)) ([8776ce0](8776ce0)), closes [#881](#881)
* generation of static class functions ([#832](#832)) ([57eac45](57eac45))
@lars-reimann lars-reimann added the released Included in a release label Feb 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement 💡 New feature or request released Included in a release
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

1 participant