Использование Haskell для значительных систем реального времени: как (если?)?

Мне было любопытно понять, возможно ли применить силу Haskell к встроенному миру реального времени, и в поиске Google нашлиАтом пакет. Я'Предположим, что в сложном случае в коде могут быть все классические ошибки C - сбои, повреждения памяти и т. д., которые затем необходимо будет отследить до исходного кода на Haskell, который их вызвал. Итак, это первая часть вопроса: «Если у вас был опыт работы с Atom, как вы справились с задачей отладки низкоуровневых ошибок в скомпилированном коде C и исправления их в оригинальном коде Haskell? "

Я искал еще несколько примеров для Atom,этот блог упоминает результирующий код C 22KLOC (и, очевидно, без кода :),включенный пример это игрушкаэто а такжеэтот ссылки имеют немного более практичный код, но на этом все и заканчивается. И причину я изложилзначительная» в теме яМеня больше всего интересует, можете ли вы поделиться своим опытом работы с сгенерированным кодом C в диапазоне 300KLOC +.

Поскольку я новичок в Haskell, очевидно, что могут быть и другие способы, которые я не нашел из-за своих неизвестных неизвестных, поэтому любые другие указания для самообразования в этой области будут с благодарностью - и это вторая часть вопроса - "каковы будут другие практические методы (если) разработки в реальном времени в Haskell? ", Если многоядерный также на картинке, то 'дополнительный плюс :-)

(Об использовании самого Haskell для этой цели: из того, что я прочитал вэтот блогсбор мусора и лень в Haskell делают его довольно недетерминированным в плане планирования, но, возможно, через два года что-то изменилось.Реальное программирование на Haskell Вопрос по СО был ближе всего, что я мог найти к этой теме)

Замечания: "в режиме реального времени» выше будет ближе ктяжело в реальном времени - яИнтересно, можно ли гарантировать, что время паузы, когда основная задача не выполняется, составляет менее 0,5 мс?

Ответы на вопрос(5)

Ваш ответ на вопрос