Skip to content

[#316] Use `IsExpr` only on the front-facing Indigo functions

Pinto Pasquale requested to merge pasqu4le/#316-less-isExpr into master

Description

Problem: using IsExpr in data constructors and for backend functions arguments has no real advantage and has some problems. Mainly, it causes the manipulation of statements and expressions to be require many unwrapping.

Solution: use Expr everywhere except on the functions that the user ultimately interfaces with, making the toExpr conversion at the very beginning. Additionally, this removed the AreExpr, for lack of usage.

Related issue(s)

Resolves #316 (closed)

Checklist for your Merge Request

Related changes (conditional)

  • Tests (see short guidelines)

    • If I added new functionality, I added tests covering it.
    • If I fixed a bug, I added a regression test to prevent the bug from silently reappearing again.
  • Documentation

    • I checked whether I should update the docs and did so if necessary:
    • I updated changelog files of all affected packages released to Hackage if my changes are externally visible.

Stylistic guide (mandatory)

Merge request reports