u/kiwamuin r/haskell • Recommends
Rewrite NetBSD kernel driver using Ajhc Haskell compiler.
43 subscribers • 4 videos on Hallway
Advanced. Deep dive for people who know the field.
2.6K views12 years ago1 recommendation
Programming languagesSystems programmingHaskellOperating systemsCompilers and interpreters
A demonstration of a NetBSD audio driver interrupt handler rewritten in Haskell using the Ajhc compiler.
NetBSD kernel's HD Audio sound driver has interrupt handler. The interrupt handler of the demo is re-written by Haskell language using Ajhc Haskell Compiler ajhc.metasepi.org/. At the demo, run following operations. First, set breakpoint at the interrupt of finding headphone, and see Haskell function names on backtrace. Second, set breakpoint s_alloc() function, that allocate area in Haskell heap. Make sure of calling the function while anytime running kernel. Nevertheless, playing wav file does not break up. The source code is found at github.com/metasepi/netbsd-arafura-s1. The interrupt handler source code at github.com/metasepi/netbsd-arafura-s1/blob/fabd5d64f15058c19…. A picture of the architecture is also at flickr.com/photos/masterq/12616929055/. Discussion on mailing list: haskell.org/pipermail/haskell-cafe/2014-February/112802.html Music Copyright (c) 2011 Epopsan. It's licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License. jamendo.com/en/track/771128/signalu/kiwamuin r/haskell • Recommends