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

Initial version of Haskell backend. #6

Closed
wants to merge 2 commits into from
Closed

Conversation

iphydf
Copy link
Member

@iphydf iphydf commented Nov 1, 2016

Generates:

  • data definitions for enums (including error enums).
  • data definitions for structs.
  • Commented out foreign function imports.
  • Commented out typedefs.

Also, added a bunch more tests and cleaned up error messages a bit (more to do later, but don't want to clutter this PR too much).


This change is Reviewable

@iphydf
Copy link
Member Author

iphydf commented Nov 1, 2016

@nbraud don't worry about the fact that this PR is a 16k line change. Most of it can be completely ignored. I added dumps of all test files as haskell, AST, and apidsl (basically cat $file) to test the codegen code and the deriving show code. The actual code change is a few hundred lines of ocaml.

@nbraud
Copy link
Member

nbraud commented Nov 2, 2016

@iphydf Well, having the generated code in a separate commit would be cleaner, in my opinion.
(But the same PR is fine)

@iphydf
Copy link
Member Author

iphydf commented Dec 4, 2016

This is now ready for review. Let me know if you prefer I extract further changes out of it to reduce the size. There is at least one more change that I could extract: supporting arrays of things other than lnames.

Generates:
- `data` definitions for enums (including error enums).
- `data` definitions for structs.
- Commented out foreign function imports.
- Commented out typedefs.
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.

3 participants