Size: a a a

2020 February 11

ES

Evgeniy Shishkin in ErlangRus
На свой вопрос ответа не получил. Оценочные суждения за ответ не считаются.
источник

V

Vasilii Demidenok in ErlangRus
Можно передать код функции и скомпилировать его на удалённой машине.
источник

AK

Aleksey Kluchnikov in ErlangRus
по моему все отвечено
источник

СИ

Сергей Иванов in ErlangRus
Aleksey Kluchnikov
по моему все отвечено
он не про это спрашивал. он спрашивал можно ли передать код функции без модуля
источник

AK

Aleksey Kluchnikov in ErlangRus
анонимной можно
источник

AK

Aleksey Kluchnikov in ErlangRus
речь же шла про fun
источник

V

Vasilii Demidenok in ErlangRus
Если вы хотите передать функцию A из модуля M, на другую машину, надо чтобы там был этот модуль с такой функцией, иначе просто передача fun M:A/Arity не сработает
источник

СИ

Сергей Иванов in ErlangRus
неанонимную даже локально нельзя передать (если она не экспортирована)
источник

V

Vasilii Demidenok in ErlangRus
передавать можно в виде кода и компилить на удалённую, или просто гарантировать что на удалённой тачке будет модуль с этойфункцией нужной версии
источник

ES

Evgeniy Shishkin in ErlangRus
Василий, да, ваше предложение насчет передачи исходного текста и последующей компиляцией можно считать за решение, но я ожидал, что динамизм Эрланга позволит мне передать уже скомпилированный BEAM-байткод и выполнить его.
источник

A

Alexander in ErlangRus
Vasilii Demidenok
передавать можно в виде кода и компилить на удалённую, или просто гарантировать что на удалённой тачке будет модуль с этойфункцией нужной версии
у меня только так и получилось
источник

СИ

Сергей Иванов in ErlangRus
Vasilii Demidenok
передавать можно в виде кода и компилить на удалённую, или просто гарантировать что на удалённой тачке будет модуль с этойфункцией нужной версии
он хочет чистую функциональщину - т.е. вот фунция, вот ее код. код передал  и все. без всякой привязки к модулям.  такой фичи нет, только для inline функций.
источник

V

Vasilii Demidenok in ErlangRus
придётся передавать явно, магиии не будет к сожалению
источник

СИ

Сергей Иванов in ErlangRus
Evgeniy Shishkin
Василий, да, ваше предложение насчет передачи исходного текста и последующей компиляцией можно считать за решение, но я ожидал, что динамизм Эрланга позволит мне передать уже скомпилированный BEAM-байткод и выполнить его.
а разрешения как передавать без модуля?
источник

V

Vasilii Demidenok in ErlangRus
разрешения?
источник

YZ

Yuri Zhloba in ErlangRus
Evgeniy Shishkin
На свой вопрос ответа не получил. Оценочные суждения за ответ не считаются.
Ок, сделать можно так: прочитать модули с диска в память. Передать их на другую ноду. Там их интерпретировать как модули. Ну и вызывать в них функции. Я подозреваю, что вы будете первопроходцем на этом пути. Потому что остальных устраивает вариант задеплоить одинаковые модули на все машины, и загрузить их на старте ноды.
источник

СИ

Сергей Иванов in ErlangRus
Yuri Zhloba
Ок, сделать можно так: прочитать модули с диска в память. Передать их на другую ноду. Там их интерпретировать как модули. Ну и вызывать в них функции. Я подозреваю, что вы будете первопроходцем на этом пути. Потому что остальных устраивает вариант задеплоить одинаковые модули на все машины, и загрузить их на старте ноды.
просто вы не понимаете что он спрашивает
источник

AK

Aleksey Kluchnikov in ErlangRus
если читать вопрос, то там речь идет о fun()
источник

AV

Andrey Velikiy in ErlangRus
Evgeniy Shishkin
Василий, да, ваше предложение насчет передачи исходного текста и последующей компиляцией можно считать за решение, но я ожидал, что динамизм Эрланга позволит мне передать уже скомпилированный BEAM-байткод и выполнить его.
скомпилированный код передавать можно. в шелле для кластера nl(module). например. за пределами шелла - надо смотреть модули типа code
источник

AK

Aleksey Kluchnikov in ErlangRus
что такое fun()?
источник