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

Full type inference, list datatype #443

Merged
merged 101 commits into from
Jun 4, 2024
Merged

Full type inference, list datatype #443

merged 101 commits into from
Jun 4, 2024

Commits on May 31, 2024

  1. Initial support for creating lists

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    df3a1d5 View commit details
    Browse the repository at this point in the history
  2. Add proper type checking for lists

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    9b7cd08 View commit details
    Browse the repository at this point in the history
  3. Preliminary support for generic lists

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    ec58404 View commit details
    Browse the repository at this point in the history
  4. Add some initial examples

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    5c26da4 View commit details
    Browse the repository at this point in the history
  5. Split typechecker into multiple modules

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    1e9736e View commit details
    Browse the repository at this point in the history
  6. Clean up includes

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    f2b6956 View commit details
    Browse the repository at this point in the history
  7. Reduce public interface of typechecker

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    6e80881 View commit details
    Browse the repository at this point in the history
  8. Move function

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    3b83d76 View commit details
    Browse the repository at this point in the history
  9. Move over code from type inference experiments

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    2880953 View commit details
    Browse the repository at this point in the history
  10. Basic error handling

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    596be93 View commit details
    Browse the repository at this point in the history
  11. Add environment, name generator, qualified types, type schemes

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    351c397 View commit details
    Browse the repository at this point in the history
  12. Remove Never, initial constraints

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    0b5f051 View commit details
    Browse the repository at this point in the history
  13. First set of constraints, disable failing tests

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    129011f View commit details
    Browse the repository at this point in the history
  14. Re-enable some tests

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    46b7bb2 View commit details
    Browse the repository at this point in the history
  15. Some changes w.r.t lists

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    b8f49eb View commit details
    Browse the repository at this point in the history
  16. Remove variadic functions

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    97e87f5 View commit details
    Browse the repository at this point in the history
  17. Initial work on function definitions

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    6c80430 View commit details
    Browse the repository at this point in the history
  18. Hacky new DType implementation

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    a45b74e View commit details
    Browse the repository at this point in the history
  19. Division

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    54ad951 View commit details
    Browse the repository at this point in the history
  20. Minor

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    34af9cc View commit details
    Browse the repository at this point in the history
  21. Move function signature

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    0d7c5d1 View commit details
    Browse the repository at this point in the history
  22. Move identifiers to Environment

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    26a916a View commit details
    Browse the repository at this point in the history
  23. Use log crate

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    e2ede37 View commit details
    Browse the repository at this point in the history
  24. Apply substitutions to the environment

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    16a07fb View commit details
    Browse the repository at this point in the history
  25. Refactoring

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    6cde028 View commit details
    Browse the repository at this point in the history
  26. Prepare TypeScheme

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    9fed14b View commit details
    Browse the repository at this point in the history
  27. Use TypeSchemes inside the typed AST

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    7ffde42 View commit details
    Browse the repository at this point in the history
  28. Proper generalization and instantiation for identifiers

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    5c2ac98 View commit details
    Browse the repository at this point in the history
  29. Initial work on generic functions

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    26bfc0c View commit details
    Browse the repository at this point in the history
  30. Initial work on exponentiation

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    c0d44ef View commit details
    Browse the repository at this point in the history
  31. Fix unit definitions

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    7ca7c61 View commit details
    Browse the repository at this point in the history
  32. Minor

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    2dd44d4 View commit details
    Browse the repository at this point in the history
  33. We have proper lists!

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    3aac568 View commit details
    Browse the repository at this point in the history
  34. Uncomment statistics functions

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    980c968 View commit details
    Browse the repository at this point in the history
  35. Generic diff function

    sharkdp authored and David Peter committed May 31, 2024
    Configuration menu
    Copy the full SHA
    5e47657 View commit details
    Browse the repository at this point in the history

Commits on Jun 1, 2024

  1. Fix callable calls

    sharkdp authored and David Peter committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    9bb6140 View commit details
    Browse the repository at this point in the history
  2. Add new dtype helper

    sharkdp authored and David Peter committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    9d007c1 View commit details
    Browse the repository at this point in the history
  3. Fix assert/assert_eq

    sharkdp authored and David Peter committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    cbe0dbe View commit details
    Browse the repository at this point in the history
  4. Fix exponentiation tests

    sharkdp authored and David Peter committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    9049cbc View commit details
    Browse the repository at this point in the history
  5. Comment out failing tests

    sharkdp authored and David Peter committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    a68da41 View commit details
    Browse the repository at this point in the history
  6. user error tests

    sharkdp authored and David Peter committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    4fdf6a2 View commit details
    Browse the repository at this point in the history
  7. Add call-generic-function-from-generic-function test

    sharkdp authored and David Peter committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    8b55d01 View commit details
    Browse the repository at this point in the history
  8. Bring back most example programs

    sharkdp authored and David Peter committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    c3ca02f View commit details
    Browse the repository at this point in the history
  9. Remove leftover

    sharkdp authored and David Peter committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    6344fa3 View commit details
    Browse the repository at this point in the history
  10. Turn exponents into integers

    sharkdp authored and David Peter committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    273014a View commit details
    Browse the repository at this point in the history
  11. assert_eq for all types, add more list functions

    sharkdp authored and David Peter committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    dcd117b View commit details
    Browse the repository at this point in the history
  12. Even more list stuff

    sharkdp authored and David Peter committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    3fd131a View commit details
    Browse the repository at this point in the history
  13. Better pretty-printing for types

    sharkdp authored and David Peter committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    c463d2f View commit details
    Browse the repository at this point in the history
  14. Fix warnings

    sharkdp authored and David Peter committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    62388a6 View commit details
    Browse the repository at this point in the history
  15. Show quantifiers in type schemes

    sharkdp authored and David Peter committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    14f62a5 View commit details
    Browse the repository at this point in the history
  16. Fix printing type of []

    sharkdp authored and David Peter committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    e2c74e7 View commit details
    Browse the repository at this point in the history
  17. Make NaN and inf polymorphic, too

    sharkdp authored and David Peter committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    f333b56 View commit details
    Browse the repository at this point in the history
  18. Remove logging

    sharkdp authored and David Peter committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    c17140b View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2024

  1. Change deploy script

    sharkdp authored and David Peter committed Jun 2, 2024
    Configuration menu
    Copy the full SHA
    4654c03 View commit details
    Browse the repository at this point in the history
  2. Wasm version

    sharkdp authored and David Peter committed Jun 2, 2024
    Configuration menu
    Copy the full SHA
    db07307 View commit details
    Browse the repository at this point in the history
  3. Use polymorphic zero in algebra.nbt

    sharkdp authored and David Peter committed Jun 2, 2024
    Configuration menu
    Copy the full SHA
    361dcec View commit details
    Browse the repository at this point in the history
  4. Improve error reporting for simple expressions

    sharkdp authored and David Peter committed Jun 2, 2024
    Configuration menu
    Copy the full SHA
    ff42c3b View commit details
    Browse the repository at this point in the history
  5. Restore datetime tests

    sharkdp authored and David Peter committed Jun 2, 2024
    Configuration menu
    Copy the full SHA
    d5560a9 View commit details
    Browse the repository at this point in the history
  6. Re-enable datetime/human

    sharkdp authored and David Peter committed Jun 2, 2024
    Configuration menu
    Copy the full SHA
    6e5a3f8 View commit details
    Browse the repository at this point in the history
  7. Re-enable struct tests

    sharkdp authored and David Peter committed Jun 2, 2024
    Configuration menu
    Copy the full SHA
    2f537f9 View commit details
    Browse the repository at this point in the history
  8. Minor

    sharkdp authored and David Peter committed Jun 2, 2024
    Configuration menu
    Copy the full SHA
    f4d0d0e View commit details
    Browse the repository at this point in the history
  9. Proper return-type error reporting, enable more tests

    sharkdp authored and David Peter committed Jun 2, 2024
    Configuration menu
    Copy the full SHA
    38150b2 View commit details
    Browse the repository at this point in the history
  10. Enable even more tests

    sharkdp authored and David Peter committed Jun 2, 2024
    Configuration menu
    Copy the full SHA
    ec0cf1a View commit details
    Browse the repository at this point in the history

Commits on Jun 3, 2024

  1. Fix equality, improve errors for lists

    sharkdp authored and David Peter committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    8e395fc View commit details
    Browse the repository at this point in the history
  2. Fix soundness bug for lists

    sharkdp authored and David Peter committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    ef85523 View commit details
    Browse the repository at this point in the history
  3. Minor improvement in error messages

    sharkdp authored and David Peter committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    3ed7d69 View commit details
    Browse the repository at this point in the history
  4. Add parsing of type parameter bounds

    sharkdp authored and David Peter committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    4511ff4 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    753f2aa View commit details
    Browse the repository at this point in the history
  6. Add bounds for fn types

    sharkdp authored and David Peter committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    2b51fcd View commit details
    Browse the repository at this point in the history
  7. Remove irrelevant test

    sharkdp authored and David Peter committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    d7b3805 View commit details
    Browse the repository at this point in the history
  8. Enforce dtype constraint for binary operators

    sharkdp authored and David Peter committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    8eba6bb View commit details
    Browse the repository at this point in the history
  9. Enable one more test

    sharkdp authored and David Peter committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    9fc4033 View commit details
    Browse the repository at this point in the history
  10. Better arity errors for callables

    sharkdp authored and David Peter committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    be92799 View commit details
    Browse the repository at this point in the history
  11. Simplify code

    sharkdp authored and David Peter committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    ff519d1 View commit details
    Browse the repository at this point in the history

Commits on Jun 4, 2024

  1. Fix checking of return type

    sharkdp authored and David Peter committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    608beb4 View commit details
    Browse the repository at this point in the history
  2. Proper error for fn f(x,y) = x^y

    sharkdp authored and David Peter committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    ed3385e View commit details
    Browse the repository at this point in the history
  3. First batch of type-inference tests

    sharkdp authored and David Peter committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    422229b View commit details
    Browse the repository at this point in the history
  4. Add list-type inference tests

    sharkdp authored and David Peter committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    ef79695 View commit details
    Browse the repository at this point in the history
  5. Fix non-dtype lists

    sharkdp authored and David Peter committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    cda0197 View commit details
    Browse the repository at this point in the history
  6. Instantiation tests

    sharkdp authored and David Peter committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    42d567d View commit details
    Browse the repository at this point in the history
  7. Add tests for exponentiation

    sharkdp authored and David Peter committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    b848b3a View commit details
    Browse the repository at this point in the history
  8. Tests for more operators

    sharkdp authored and David Peter committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    2dc94b9 View commit details
    Browse the repository at this point in the history
  9. More inference tests

    sharkdp authored and David Peter committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    039aead View commit details
    Browse the repository at this point in the history
  10. Fix bug

    sharkdp authored and David Peter committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    b1186a0 View commit details
    Browse the repository at this point in the history
  11. Bring back remaining tests

    sharkdp authored and David Peter committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    6227907 View commit details
    Browse the repository at this point in the history
  12. Active non-dtype list tests

    sharkdp authored and David Peter committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    8d6d8be View commit details
    Browse the repository at this point in the history
  13. Change formulation of diff

    sharkdp authored and David Peter committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    c491d9d View commit details
    Browse the repository at this point in the history
  14. Re-introduce error function in strings.nbt

    sharkdp authored and David Peter committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    715d7d7 View commit details
    Browse the repository at this point in the history
  15. Re-implement mean,maximum,minimum using lists

    sharkdp authored and David Peter committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    73388ef View commit details
    Browse the repository at this point in the history
  16. Re-enable interpreter tests

    sharkdp authored and David Peter committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    2226c88 View commit details
    Browse the repository at this point in the history
  17. Disable superfluous tests

    sharkdp authored and David Peter committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    9c4c6bc View commit details
    Browse the repository at this point in the history
  18. Reset deploy script

    sharkdp authored and David Peter committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    5024eae View commit details
    Browse the repository at this point in the history
  19. Slightly better error messages for constraint solver / substitution e…

    …rrors
    sharkdp authored and David Peter committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    89c053d View commit details
    Browse the repository at this point in the history
  20. Remove logging, resolve some TODOs

    sharkdp authored and David Peter committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    f098e82 View commit details
    Browse the repository at this point in the history
  21. Resolve more TODOs

    sharkdp authored and David Peter committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    c0e68a5 View commit details
    Browse the repository at this point in the history
  22. Resolve more TODOs

    sharkdp authored and David Peter committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    6de26cd View commit details
    Browse the repository at this point in the history
  23. Bring back printing of function signature in 'info'

    sharkdp authored and David Peter committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    4c3530b View commit details
    Browse the repository at this point in the history
  24. Bring back readable-type functionality

    sharkdp authored and David Peter committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    46cf6bc View commit details
    Browse the repository at this point in the history
  25. Update examples

    sharkdp authored and David Peter committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    460f0a8 View commit details
    Browse the repository at this point in the history
  26. Better pretty printing for unit definitions

    sharkdp authored and David Peter committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    d82c137 View commit details
    Browse the repository at this point in the history
  27. Better pretty printing for variable definitions

    sharkdp authored and David Peter committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    7d5d04b View commit details
    Browse the repository at this point in the history