10 ms·
Did you actually mean Rust done in Haskell or Haskell done in Rust for Rust stdlib?
by nickpsecurity 10y ago
Did you actually mean Rust done in Haskell or Haskell done in Rust for Rust stdlib?
- jes5199 10y agoImplement Haskell in Rust and then implement Rust on top of that
- nickpsecurity 10y agoI think that might be a waste since we have better tech than Rust for compilers. Better of doing it in COGENT and Haskell simultaneously. Use tools such as QuickCheck on Haskell part. Production code will be COGENT that's certified to machine code. Once that's finished, use the compiler to compile itself with RTS left in COGENT. https://ts.data61.csiro.au/projects/TS/cogent.pml https://ts.data61.csiro.au/projects/TS/cogent.pml
- kamatsu 10y agoHi, I'm the creator of Cogent. I don't think Cogent would be much good for writing a compiler, actually (it doesn't natively support recursive data structures like ASTs). It's designed for OS components like file systems.
- nickpsecurity 10y agoWow, what a small world. :) I evangelize high-assurance tech and R&D on forums like this. I wasn't aware of this limitation of COGENT. I maybe wrongly assumed one could write a simple, non-optimizing compiler if people had written two filesystems in it. The latter seemed more complex. I'll hold off on that recommendation then. I did want to learn some more about the strengths and limitations of your tool to generate ideas for other researchers. Send an email to the address in my profile. I'll reply in a few days with some questions that people here might have.
- Ericson2314 10y agoWell, the end goal is making the RTS just another library.
- nickpsecurity 10y agoYou might find Tolmach et al's work useful: http://programatica.cs.pdx.edu/House/ http://programatica.cs.pdx.edu/House/ They were also doing a new systems language, Habit, before reassigned to better project. Here's that project: http://hasp.cs.pdx.edu http://hasp.cs.pdx.edu
- Ericson2314 10y agoVery aware of House and HalVM. Not aware of the second, though, thanks for that even if it's just historical. HalVM and House still rely on some C for the runtime, so I think my goal would be great for them.