Recent submissions

Comment · 10 years ago
No I develop on Linux.
Comment · 10 years ago
It used to be one function per syscall: https://github.com/haskus/haskus-system/blob/ee3e0a69a263aaf...

I did this to remove the boilerplate code, to make it easier to select the method (foreign primops or safe FFI foreign calls) and to make the conversion from the kernel tables simpler.

However I may have to switch to a Template Haskell solution because the type-level approach with type classes and type families has increased the compilation time and forces me to use `-freduction-depth=0`.

Comment · 10 years ago
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.

Comment · 10 years ago
Thanks for the invitation. I've read a little bit about House a few years ago, but maybe I should give another look.

My project, however, is more high-level in that I don't plan to write a kernel (device drivers, etc.) as they have done for House.

Comment · 10 years ago
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.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton