Używanie Haskell do pokaźnych systemów czasu rzeczywistego: jak (jeśli?)?

Byłem ciekawy, czy można zastosować moc Haskella do osadzonego świata czasu rzeczywistego, a w googlingu znalazłemAtom pakiet. Zakładam, że w skomplikowanym przypadku kod może zawierać wszystkie klasyczne błędy C - awarie, uszkodzenia pamięci, itp., Które będą musiały być prześledzone do oryginalnego kodu Haskella, który je spowodował. Jest to więc pierwsza część pytania: „Jeśli miałeś doświadczenie z Atomem, jak poradziłeś sobie z zadaniem debugowania błędów niskiego poziomu w skompilowanym kodzie C i naprawiania ich w oryginalnym kodzie Haskella?”

Szukałem więcej przykładów dla Atoma,ten wpis na blogu wspomina wynikowy kod C 22KLOC (i oczywiście nie ma kodu :), thedołączony przykład jest zabawką.To ito Odwołania mają trochę bardziej praktyczny kod, ale to się kończy. A powód, dla którego umieściłem „spory” w temacie, jest dla mnie najbardziej interesujący, jeśli możesz podzielić się swoimi doświadczeniami z pracy z wygenerowanym kodem C w zakresie 300KLOC +.

Ponieważ jestem nowicjuszem w Haskell, oczywiście mogą istnieć inne sposoby, których nie znalazłem ze względu na moje nieznane nieznane, więc wszelkie inne wskazówki dotyczące samokształcenia w tej dziedzinie byłyby bardzo mile widziane - i to jest druga część pytania - „jakie byłyby inne praktyczne metody (jeśli) rozwoju w czasie rzeczywistym w Haskell?”. Jeśli wielordzeniowy jest także na zdjęciu, to dodatkowy plus :-)

(O używaniu samego Haskella w tym celu: z tego, co czytałemten wpis na blogu, zbieranie śmieci i lenistwo w Haskell sprawia, że ​​jest to raczej niedeterministyczne planowanie, ale może za dwa lata coś się zmieniło.Prawdziwe programowanie w Haskell pytanie o SO było najbliżej tego, co mogłem znaleźć w tym temacie)

Uwaga: „czas rzeczywisty” powyżej jest bliższy „twardemu czasowi rzeczywistemu” - jestem ciekawy, czy możliwe jest zapewnienie, że czas wstrzymania, gdy główne zadanie nie jest wykonywane, wynosi poniżej 0,5 ms.

questionAnswers(5)

yourAnswerToTheQuestion