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

Handbook/documentation about coding on rock #975

Open
fredrikbryntesson opened this issue Feb 19, 2016 · 11 comments
Open

Handbook/documentation about coding on rock #975

fredrikbryntesson opened this issue Feb 19, 2016 · 11 comments

Comments

@fredrikbryntesson
Copy link

Hello, dear ooc community!

We have decided to push forward with our fork of ooc and rock and are about to create a bounty program which will be released very soon.

The issues we want to solve are important for us but I also think ooc-lang will gain from this. Every solution the bounty program generates will be open source and up for grabs by ooc-lang. In most cases I do not think it will need any further work even though our fork and upstream differ slightly.

We hope to spread this program both in the ooc community and also to as many other people we can find, who are interested in compilers and programming langauges.
But - to make the most out of this program and also for future work we have one request. One we want to assign especially to the core of rock developers:

We want some sort of handbook/documentation about coding on rock. Something that documents most or all parts of rock and their purpose and also how a programmer should approach the code base to solve issues in rock. For example: If I want to solve an issue about generics, which parts of rock should I look at, and which parts can I dismiss?

This handbook will, like rock itself, be open source and free for ooc-lang and everyone else to use.

We are interested in paying someone to write this documentation for us.

Ask any and all questions you may have here. If you are interested in doing this, please e-mail me at fredrik.bryntesson@vidhance.com to discuss details.

@fasterthanlime, @Shamanas, @fredreichbier, @showstopper, @vendethiel, @kirbyfan64, @zhaihj, @ibara, @ds84182, @joshthecoder, @duckinator, @mt2d2, @nilium, @eagle2com, @rofl0r, @tsion, @komiga

@alexnask
Copy link
Collaborator

I could write up something basic now that my exams period is over, however I don't think any single person except Amos is 100% familiar with the whole codebase.

I have a fair bit of knowledge on the middle end, particularly function scoring, type inference (common roots etc) and the way the whole resolving phase goes (looping, replacing etc.)

I also know how most of the codegen/runtime operates but there are a couple of more ... esoteric ... features I never quite looked into in depth (particularly interfaces).

Anyways, I can probably start with some of the basics this weekend but my schedule is by no means reliable (in case you hadn't noticed). I don't expect any type of compensation by any means and anyone else willing to sink some time into this can just fork the repo I will be creating.

@fredrikbryntesson
Copy link
Author

Well, anything is better then nothing :) And several people can add information to this, it does not have to be one person writing the whole thing. But to be sure that no one is feeling cheated, everyone that want to add to it (and cares about compensation) should send me a mail to straight out the compensation plan before starting on anything.

@alexnask
Copy link
Collaborator

Of course, I wouldn't expect to have any sort of exclusivity ;)
Besides, my writing is probably not the best, I would be happy to see anyone else take the initiative.

I think writing this stuff down now that it is all relatively fresh in my mind is a great thing, especially if it helps new devs get into rock's internals and will be really helpful to reflect on while building my toy compiler.

@vendethiel
Copy link

I don't know much about OOC, except for some wanderings in the source code here and there (and looking at PR code). I never built a real project with it (mostly due to windows incompatibilities), so I don't believe to be qualified enough :-).

@horasal
Copy link
Contributor

horasal commented Feb 20, 2016

I think I can write something on the Drivers in frontend, class/cover/ifelse and some other modules I have worked on in middleend. However, I have to finish my paper first so I can't really start writing before April 25.

@refi64
Copy link
Contributor

refi64 commented Feb 20, 2016

I don't know about ooc's internals that well...but I can definitely help with proofreading! I'm a grammar nerd. ;)

@alexnask
Copy link
Collaborator

I've started writing up some stuff, mainly some coding style things and an overview of rock's structure here.

@fredrikbryntesson
Copy link
Author

@zhaihj and @Shamanas: Awesome, this makes me very happy :) I read the stuff you wrote now and it looks very good :) Keep it coming and send me a mail if you want to talk about compensation.

@alexnask
Copy link
Collaborator

@fredrikbryntesson There are still many typos in there and I think some of it ought to be rewritten :)
I'll probably finish up Chapter 1 tomorrow and write a bit about the AST and the middle end in general Thursday.

@h3l1xc
Copy link

h3l1xc commented Feb 29, 2016

Nice! It's awesome to see that a project I love is alive! I also felt sometimes the need of a proper documentation.
@Shamanas great work! You can put a TODO list in your README, so we can start working on it.

@alexnask
Copy link
Collaborator

alexnask commented Mar 1, 2016

@h3l1xc Sure thing, it's now on my TODO list ;)
Seriously though, I will be updating some stuff later today.

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

6 participants