и т.д.).

ли программно защититься от чрезмерного использования памяти в программе на Haskell, скомпилированной с помощью GHC? То есть он должен уведомить программу, когда использование памяти достигнет указанного предела, предпочтительно указав нить нарушителя.

Например, предположим, что я хочу написать сервер, на котором размещен интерпретатор языка сценариев, к которому пользователи могут подключаться. Он завершен по Тьюрингу, поэтому теоретически программы могут использовать неограниченную память или время. Предположим, что каждый клиент обрабатывается отдельным потоком. Если клиент пишет бесконечный цикл, который очень быстро потребляет память, я хочу убедиться, что поток потребляет не более, скажем, 1 МБ памяти, прежде чем получать предупреждение с исключением. Я не хочу, чтобы другие пользователи пострадали, когда это произойдет.

Это возможно, используя отдельные процессы иulimit, но:

Я бы предпочел хранить его в одной программе, чтобы избежать сложности межпроцессного взаимодействия.

Мне нужно поддерживать как Linux, так и Windows, поэтому я бы предпочел, чтобы это не зависело от платформы, если это возможно.

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

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