I’ve been quite hyped by @asterite 's
crystal i presentation ! :)
Currently I don’t have any Crystal code in production yet, however I was concerned by the development iterations slowed down by compile times and also by the lack of convenient debugging facilities that I’m currently used to with dynamic languages (Python in my case).
This Crystal interpreter seems to be an excellent solution in order to tackle those concerns, especially if it runs more or less at the same speed than ruby or python, but I have the feeling it could serve more purposes so I’d like to get the core’s team opinion if such a thing would be possible.
In some projects, embedding a dynamic script language to the application can be a requirement, even for a Crystal application (eg: you need to allow hot reload of some business logic while keeping the low level compiled service running, or being able to gradually iterate on some moving parts running interpreted code until it’s stable enough to be merged in the compiled main engine, or being able to separate concerns in an application between two teams, one being low level the other high level, could be useful when you will develop your first game in Crystal once the windows support is added :).
If Crystal provides some facilities to seamlessly interact with interpreted Crystal code running in the same process (or another thread) and the other way around: getting the interpreted code being able to use objects/functions exposed by the main compiled app (handling boxing/unboxing, sharing memory for data structures ??) then this would be a great asset for Crystal. Is this something that will be possible with the upcoming Crystal interpreter ?
Also I’m wondering if the webassembly target for Crystal compilation is something that is considered for the future ? Porting the Crystal interpreter to webassembly could be an alternative but it would require the Crystal bytecode to be standardized, and will retain the slowness of still being interpreted vs llvm->wasm.
PS: thanks to all speakers at the Crystal conf, all topics were very interesting.