-
Notifications
You must be signed in to change notification settings - Fork 49
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
refactor[next]: Change foast lowering from iterator of tuple to tuple of iterator #1449
refactor[next]: Change foast lowering from iterator of tuple to tuple of iterator #1449
Conversation
@@ -130,7 +130,7 @@ def compilation_hash(otf_closure: stages.ProgramCall) -> int: | |||
) | |||
|
|||
GTFN_DEFAULT_COMPILE_STEP: step_types.CompilationStep = compiler.Compiler( | |||
cache_strategy=cache.Strategy.SESSION, builder_factory=compiledb.CompiledbFactory() | |||
cache_strategy=cache.Strategy.PERSISTENT, builder_factory=cmake.CMakeFactory() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will be removed before merge. Breaks code-quality so won't be forgotten.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you carefully check where tests are missing? Difficult to follow the transformations without examples.
Let's quickly talk about testing tomorrow. |
#1449 introduced a hashing function for expressions that relied on Python's builtin `hash`. As `hash` is not stable across interpreter runs this broke caching in some cases. This PR fixes that.
Changes lowering from FOAST to ITIR to use tuples of iterators instead of iterators of tuples.
↑(λ(it) → it[0])(↑(λ() → {1, 2})
is now({↑(λ() → 1)(), ↑(λ() → 2)()})[0]