Я пытаюсь использовать Схему в распределенной системе. Идея состоит в том, что один процесс будет оценивать некоторые выражения и передавать их другому процессу для завершения.Частичная оценка на схеме
Пример:
(do-stuff (f1 x) (f2 x))
будет оценивать к
(do-stuff res1 (f2 x))
в первом процессе. Этот процесс проходит выражение в виде строки в другой процесс (на другой узел), который будет оценивать его
(do-stuff res1 res2)
идей является сделать карту уменьшить распределение работы в стиле, но при пропускании схемы выражения вокруг. Это возможно? Любые указатели были бы полезны. (Я использую IronScheme btw).
Непонятно, что вы спрашиваете. Возможно ли реализовать схему/сокращение в Схеме? Да, конечно, учитывая правильную многозадачную библиотеку. –
Это может быть вопрос, связанный с реализацией. Racket имеет свои библиотеки 'futures' и' places', которые применяются. Вы можете найти введение в разделе 18.10 и 18.11: http://docs.racket-lang.org/guide/performance.html#(part._effective-futures) К сожалению, я недостаточно знаком с миром IronScheme но указать эквивалентные библиотеки. – dyoo
Вы можете использовать 'delay' и' force', но, как сказал @larsmans, понятия не имею, что вы имеете в виду здесь. 'do-stuff' делает несколько вещей здесь, что запутывает/неоднозначно. – leppie