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

Unbundle drnim #207

Merged
merged 1 commit into from
Jan 28, 2022
Merged

Unbundle drnim #207

merged 1 commit into from
Jan 28, 2022

Conversation

haxscramper
Copy link
Collaborator

  • Removes main drnim directory along with all the hacks added into sem*
    implementation - special keywords for
    ensures/requires/assume/invariant, more logic built into sempass and so
    on. Sem reports that were added in the main compilation.
  • External tooling for code analysis should better be implemented via
    completely external modifications, instead of clobbering the main
    compiler codebase with logic for barely functioning tooling. With DOD
    refactor this task becomes much easier, since extra metadata can be
    attached to any symbol.
  • We definitely want to move in the direction of automatic code correctness
    and static analysis, but right now this is not a priority, and
    considering dubious implementation of the tool, it would be easier to
    remove it for now and come up with a proper implementation later on, or
    when can turn all hacks back into sem.
  • drnim itself Not tested as a part of CI so right now it can't even be built, due to
    file reorganization Sort compiler files into more manageable structure #177.
  • Adds reports for --staticBounds:on|off that were mistakenly assumed to
    be drnim-only during earlier refactor
    Structured reports #94 for structured reports.

Closes #130 as this pull removes
drnim as well, and the author of that PR is no longer responsive. Due to
multiple merge conflicts it is highly unlikely the old PR will be revived.

@haxscramper haxscramper force-pushed the unbundle-drnim branch 4 times, most recently from f647a5f to e79c703 Compare January 27, 2022 13:04
- Removes main drnim directory along with all the hacks added into `sem*`
  implementation - special keywords for
  `ensures/requires/assume/invariant`, more logic built into sempass and so
  on. Sem reports that were added in the main compilation.
- External tooling for code analysis should better be implemented via
  completely external modifications, instead of clobbering the main
  compiler codebase with logic for barely functioning tooling. With DOD
  refactor this task becomes much easier, since extra metadata can be
  attached to any symbol.
- We definitely want to move in the direction of automatic code correctness
  and static analysis, but right now this is not a priority, and
  considering dubious implementation of the tool, it would be easier to
  remove it for now and come up with a proper implementation later on, or
  when can turn all hacks back into sem.
- drnim itself not tested as a part of CI so right now it can't even be
  built, due to file reorganization
  nim-works#177.
- Adds reports for `--staticBounds:on|off` that were mistakenly assumed to
  be drnim-only during earlier refactor
  nim-works#94 for structured reports.

Closes nim-works#130 as this pull removes
`drnim` as well, and the author of that PR is no longer responsive. Due to
multiple merge conflicts it is highly unlikely the old PR will be revived.
Copy link
Collaborator

@saem saem left a comment

Choose a reason for hiding this comment

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

LGTM

bors r+

@bors
Copy link
Contributor

bors bot commented Jan 28, 2022

Build succeeded:

@bors bors bot merged commit afbd5fe into nim-works:devel Jan 28, 2022
@haxscramper haxscramper added this to the Sem phase refactoring milestone Nov 21, 2022
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.

2 participants