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

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

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

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

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

Note: & Quot; в реальном масштабе времени & Quot; выше было бы ближе к "жесткому в реальном времени" - Мне любопытно, можно ли гарантировать, что время паузы, когда основная задача не выполняется, составляет менее 0,5 мс.

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

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