ssm-lang / Scoria

This is an embedding of the Sparse Synchronous Model, in Haskell!
BSD 3-Clause "New" or "Revised" License
4 stars 0 forks source link

Restructuring the module hierarchy #29

Closed Rewbert closed 3 years ago

Rewbert commented 3 years ago

Opening this PR so that we can track the progress of this. It shouldn't be too much work. We should have something like this:

SSM/
  SSM.hs          -- compiler interface
  Frontend/       -- how to construct programs, essentially the EDSL
  Core/           -- abstract syntax, both versions
  Backend/        -- modules for turning SSM () into code
    C/            -- C backend
    Javascript/   -- example of a future backend
  Interpret/      -- interpreter to run from the CLI
Rewbert commented 3 years ago

I moved around a lot of stuff but there's still some stuff to do. I need to polish up the quickcheck machinery to keep a nice structure. I need to perhaps split the Interpreter up into more well-defined modules. The C-Code stuff is not very well structured, but we already knew that ;)

j-hui commented 3 years ago

The C-Code stuff is not very well structured, but we already knew that ;)

I have another PR open for this! Though there will be some conflicts with this PR.

j-hui commented 3 years ago

Adding note that this fixes #14

j-hui commented 3 years ago

I mean the documentation at the top of the module

On Wed, Jun 30, 2021, 12:24 PM Robert Krook @.***> wrote:

@Rewbert commented on this pull request.

In ssm/SSM/Backend/C/Identifiers.hs https://github.com/Rewbert/ssm-edsl/pull/29#discussion_r661632294:

  • -- * Constructing Identifiers from types
  • , typeId
  • , svt_
  • , initialize_
  • , assign_
  • , later_
  • , update_
  • ) where
  • +import SSM.Core.Syntax

  • +import Language.C.Quote.GCC ( cty ) +import qualified Language.C.Syntax as C

  • +{-------- C identifiers --------}

How do you mean 'with the top'?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Rewbert/ssm-edsl/pull/29#discussion_r661632294, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC2A5DEM4GUPXAFURU2OCYDTVNAKXANCNFSM47EH5TGA .