My company is now supporting the Crystal project with a monthly donation (DocSpring on BountySource).
My number one priority is incremental compilation. I want to eventually port my entire Rails application to Crystal + Lucky, but I would only want to do that if my develop => test feedback loops can be extremely fast. (In the meantime, I’m going to start by rewriting a few of my background jobs and running them with sidekiq.cr.)
I noticed that incremental compilation is on the roadmap. (I also thought this Rust article was really interesting.) Has anyone started working on this, or are there any notes / docs I could read that talk about the challenges?
In addition to my company’s monthly donation, I would like to sponsor a developer to work full-time on incremental compilation, until it’s ready for real-world usage. (My company is still very small so I don’t have a ton of resources, but I would be able to sponsor the development of this one feature.)
I’m not too worried about the initial compilation times, but I would like to see a “hello world” program compile nearly instantly on the second run. And for a large web app using the Lucky framework, I would like to see sub-second type-checking and compilation times during development. (Especially if no files have changed.)
I know this will take a lot of work, but I think this would be a really fun challenge. I personally have very little experience with compilers, but I would also like to see if I can contribute some ideas and follow along with the development. (It would be great to learn more about how the Crystal compiler works.)
Are any compiler developers interested in working on this? How long do you think it would take, and how much would it cost to pay for development during that time?
Also, are there any other companies in here who might be willing to co-sponsor the development?