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

Implement data-layout correct interpreter #4

Open
girving opened this issue Jul 18, 2009 · 1 comment
Open

Implement data-layout correct interpreter #4

girving opened this issue Jul 18, 2009 · 1 comment
Labels

Comments

@girving
Copy link
Owner

girving commented Jul 18, 2009

The current interpreter is built on top of Haskell, and all data values are stored in a Haskell union type with string tags. Even without any optimization or type inference, the interpreter should be operating on (type, value) pairs where type is some description of the type and value is stored in Duck-native format (which will be roughly the same as the Haskell/OCaml/etc. native formats except for closures).

It's essentially impossible to implement correct data layout on top of any language that isn't full TAL (technically speaking, it's likely ATS could do it, but I don't want to spend all my time proving theorems just yet). Therefore, it is probably best to do this along with the translation into LLVM.

@girving
Copy link
Owner Author

girving commented Apr 30, 2011

This is partially done as of a1de1ff. The interpreter now uses a raw memory layout. It's currently very simplistic, but it's enough for now and probably enough until we self-host.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant