Hacker News new | past | comments | ask | show | jobs | submit login

tldr: A framework to implement the Linux userspace in Haskell. Different design goals than HalVM.

Not sure from the code on github: If you want to replace the userspace including libc, then what do the RTS parts that need libc do?




Hi, the RTS continues to use the libc as usual. Maybe in some far future we could use a stripped down libc but for now I want to use GHC and Linux unmodified so that the system stays easy to test.


I get hints on GitHub and the website but what is this project exactly? What are you trying to do with it and compared to what?


It's mostly an experiment into providing an integrated interface leveraging Haskell features (type-safety, STM, etc.) for the whole system: input, display, sound, network, etc. There is still a lot of work to do...

Then in a probably far future I would like to use it to try different (crazy) things. For instance configuring the whole system with type-checked Haskell code (similar to XMonad configuration but for the whole system); provide a better terminal-like interface/protocol replacing stdin/stdout/stderr/term ioctls; generalize Linux sandboxing to all applications (filter syscalls, use namespaces, disk quota, etc.) and manage per-application permissions; etc.

The closest approach is Android which also uses the Linux kernel but doesn't provide a Unix interface to applications.


Makes sense. Esp with the Android example.


Obviously I can't speak for the developers, but as it says a full Linux userspace, I will try spell it out - the userspace consists basically of almost anything you can install in Debian. So

* GNU tools (ls, tail, bash, gdb, etc.)

* OS infrastructure (Systemd, Xorg/Wayland, etc.; probably not Mesa/DRM though as he says he doesn't want to do drivers)

* Desktop environments (KDE, GNOME, etc.)

* ... random other packages like Nethack ...

Honestly the goal seems kind of insane, like Don Quixote trying to reach the unreachable star. But I guess it's good advertising for the consulting work, and of course research projects generate useful side benefits. And writing software in Haskell is fun, so they just might succeed :-)


Perhaps as a proof of concept they can do a native implementation of GNU grep in Haskell and publish some timing stats.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: