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

Memoization documentation #19

Open
theduke opened this issue Sep 27, 2018 · 2 comments
Open

Memoization documentation #19

theduke opened this issue Sep 27, 2018 · 2 comments

Comments

@theduke
Copy link

theduke commented Sep 27, 2018

Posting as an issue since I don't know how to reach the authors otherwise.

Skip is a very interesting language.

I scanned the docs but could not find any information about the feature giving the language its name: memoization.

EG:

  • what are the cache semantics?
  • does it employ some kind of LRU cache?
  • what are the performance and memory implications to consider?

I'd be interested in how this works, is implemented, etc.

Also, since the language is a "now concluded research project", it would be very interesting to read about the conclusions of the project: how useful is the concept in practice, are there performance wins to be had in realistic workloads, etc.

@pikatchu
Copy link
Collaborator

Hey!

Thanks for the feedback.

I am planning to write something about our memory model soon. I agree with you that this part is missing in the docs.

The project has been "concluded" at Facebook, but it is well and alive outside of it. I plan to work on it and want to build a community in the open.

As for the performance, I would recommend you try using the skip_server. It's a good example of something that would be difficult to write in any other language. The skip_server loads a skip program and then listens to changes on disk to update the error messages in real time.

This way, you can work on a very large project (like the skip compiler itself) and still get your error messages in millisecs.

I plan to extend this to work on the entire compiler, but there is still work to do there ... But ultimately, the compiler should be entirely incremental, allowing you to iterate even on a large program very quickly.

@pikatchu pikatchu reopened this Sep 27, 2018
@naoyafurudono
Copy link

I am also interested in the cache semantics! Are there any plan to write the docs?

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

3 participants