Jak to zrobić bezpiecznie? userDefinedFunction
ma być niezaufanym kodem firm trzecich. Powinien być zbudowany na szybkim, zoptymalizowanym kodzie, ale nie powinien mieć bezpośredniego dostępu do systemu.Jak mogę bezpiecznie skompilować i uruchomić fragment kodu strony trzeciej w Haskell?
Przypuszczam, że powinien on łączyć Safe Haskell i System.Eval.Haskell. Czy są jakieś projekty lub samouczki na ten temat?
'mueval' został opracowany z myślą o niektórych z tych właściwości. Niestety, prawdopodobnie nie spełnia wymagań. Byłoby wspaniale mieć wiązanie llvm-nacl. –
Bez wymagania wydajności można użyć czegoś takiego jak Lua. Potrzebuję kodu intensywnego matematycznie wspomaganego przez użytkownika. –
@Vi., Safe Haskell pomoże (być może dużo), ale nadal musisz uważać na użycie pamięci (będziesz chciał użyć opcji GHC do ograniczenia całkowitej sterty i stosu, i/lub użyć systemu operacyjnego, aby je ograniczyć), Czas procesora (twój system operacyjny może ci pomóc) i oczywiście błędy w GHC. – dfeuer