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

Issues / Tasks for new contributors #3

Open
xldenis opened this issue Jun 7, 2018 · 6 comments
Open

Issues / Tasks for new contributors #3

xldenis opened this issue Jun 7, 2018 · 6 comments

Comments

@xldenis
Copy link

xldenis commented Jun 7, 2018

Hey!

I'm wondering if there are any issues / tasks suitable for new contributors? I've been watching this project for a while and would be interested in contributing but where do I start?

side note: are there any docs on how to use grin as a language backend?

@csabahruska
Copy link
Member

csabahruska commented Jun 8, 2018

Hi!
I can answer the latter question for now.
https://github.com/grin-tech/grin#example-front-end

@csabahruska
Copy link
Member

csabahruska commented Jun 11, 2018

I think reading chapter 2 and 3 about GRIN would give a good foundation to get started with coding.

@xldenis
Copy link
Author

xldenis commented Jun 11, 2018

thanks!

@csabahruska
Copy link
Member

UPDATE: We started to work on a Contributor's Guide document. It will take 1-2 weeks to make it ready.

@xldenis
Copy link
Author

xldenis commented Jun 14, 2018

Awesome :)

@csabahruska
Copy link
Member

csabahruska commented Jul 17, 2018

I had a break from coding. I've studied ASAP memory management what I'd like to reimplement for GRIN.
I still don't have an issue list for new contributors but I can give hints about the requirements to cope with the upcoming challenges. Crafting GRIN requires lots of design decisions and to make the right choice, one must understand the field in depth. This means a lot of reading material:

While reading Boquist's PhD thesis on GRIN it's worth to check the implementation in parallel (i.e. the AST definition and the transformations).

Our GRIN imlementation have some differences and advancements over the original one.

  • it is typed
  • it targets LLVM instead of a native RISC CPU architecture
    LLVM IR is a RISC Instruction Set Architecture so the Part III of PhD: RISC - the low level code is still relevant
    The GC desribed in the PhD can be implemented via LLVM StackMaps

If you have questions or just would like to discuss some ideas, join to the GRIN Compiler's gitter channel.

Happy reading!

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

No branches or pull requests

2 participants