Безопасное выполнение ненадежного кода Haskell

Я ищу способ безопасно запустить произвольный код Haskell (или отказаться от запуска небезопасного кода).

Требуется:

  • белый список модулей / функций
  • тайм-аут при выполнении
  • ограничение использования памяти

Возможности, которые я бы хотел , чтобы увидеть:

  • возможность убить поток
  • компиляция модулей в собственный код
  • кеширование скомпилированного кода
  • одновременное выполнение нескольких интерпретаторов
  • сложного типа данных для ошибок компилятора (вставленного из простого сообщения в String)

С такой функциональностью можно было бы реализовать плагин для браузера, способный запускать произвольный код Haskell, какова идея. иметь в виду.

РЕДАКТИРОВАТЬ: У меня есть два ответа, оба отличные. Спасибо! Печально то, что готовой библиотеки вроде нет, просто аналогичная программа. Однако это полезный ресурс. В любом случае, я думаю, что дождусь выхода 7.2.1 и попробую использовать SafeHaskell в своей собственной программе.

27
задан Tener 13 May 2011 в 22:56
поделиться