Skip to content

Conversation

marvinborner
Copy link
Member

@marvinborner marvinborner commented Mar 18, 2025

This is a continuation of #851. We aim to fix the previously ignored tests that currently fail when being run without optimization.

  • permute.effekt: segfault in resume->uniqueStack->copyStack since resume is called with an erased resumption stack
    • apparently from growing the stack via checkLimit
      • fixed e.g. by initial size = shl 1, 8 instead of 7
  • multiple declarations (in JS)
    • ascii_isalphanumeric.effekt, ascii_iswhitespace.effekt, parser.effekt, probabilistic.effekt
    • fixed by "Do not contify under reset" (found out via bisect)
      • is still a problem though
  • missing block info
    • generator.effekt: by noting parameters for regions
    • regions.effekt
    • selfregion.effekt
  • typeparametric.effekt: by returning garbage value (undef)
  • issue842.effekt: by Do not contify under reset #872
  • issue861.effekt: by Do not contify under reset #872
  • top-level object definititions
    • if_control_effect.effekt, toplevel_objects.effekt, type_omission_op.effekt, higherorderobject.effekt, res_obj_boxed.effekt, effectfulobject.effekt

@marvinborner marvinborner requested review from phischu and removed request for phischu March 28, 2025 09:43
Copy link
Contributor

@jiribenes jiribenes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't properly go through this in detail, but it seems OK.

@jiribenes jiribenes requested a review from b-studios March 28, 2025 16:08
@marvinborner
Copy link
Member Author

marvinborner commented Mar 28, 2025

Top-level object definitions are still not supported, we should continue this somewhere else -- maybe #605?

Edit: Nope, doing it here!

@jiribenes jiribenes self-requested a review March 28, 2025 16:09
@marvinborner marvinborner requested review from b-studios and removed request for b-studios March 28, 2025 17:29
def transform(value: machine.Variable)(using FunctionContext): Operand =
substitute(value) match {
// TODO rethink existence of global
case machine.Variable("global", machine.Type.Prompt()) => ConstantGlobal("global")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:D

Copy link
Collaborator

@b-studios b-studios left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great job!

@b-studios b-studios merged commit e40eee0 into master Mar 28, 2025
3 checks passed
@b-studios b-studios deleted the fix/failing-tests-without-optimization branch March 28, 2025 19:11
lenakaeufel pushed a commit to lenakaeufel/effekt that referenced this pull request May 1, 2025
This is a *continuation* of effekt-lang#851. We aim to fix the previously ignored
tests that currently fail when being run without optimization.

- [x] permute.effekt: segfault in resume->uniqueStack->copyStack since
resume is called with an erased resumption stack
  - apparently from growing the stack via checkLimit
    - fixed e.g. by initial size = `shl 1, 8` instead of 7
- [x] multiple declarations (in JS)
- `ascii_isalphanumeric.effekt`, `ascii_iswhitespace.effekt`,
`parser.effekt`, `probabilistic.effekt`
  - fixed by "Do not contify under reset" (found out via bisect) 
    - is still a problem though
- [x] missing block info
  - [x] generator.effekt: by noting parameters for regions
  - [x] regions.effekt
  - [x] selfregion.effekt
- [x] typeparametric.effekt: by returning garbage value (`undef`)
- [x] issue842.effekt: by effekt-lang#872
- [x] issue861.effekt: by effekt-lang#872
- [x] top-level object definititions
- if_control_effect.effekt, toplevel_objects.effekt,
type_omission_op.effekt, higherorderobject.effekt, res_obj_boxed.effekt,
effectfulobject.effekt

---------

Co-authored-by: Philipp Schuster <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants