LINUX.ORG.RU

сериализуешь параметры в строки, передаешь через сокеты лиспу, принимаешь, десериализуешь, вызываешь функцию, результат опять сериализуешь и посылаешь через сокеты назад.

Reset ★★★★★
()
Ответ на: комментарий от pseudo-cat

а тебя кто-то за яйца тянул, чтоб лисп к C# привинчивать? на месте того, кому прийдется разбираться в этом месиве, я бы тебя материл последними словами

anonymous
()
Ответ на: комментарий от pseudo-cat

RDNZL что, дает двусторонний интерфейс?!

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

yaws
()
Ответ на: комментарий от yaws

RDNZL (pronounced «Redunzl») enables Common Lisp applications to interact with .NET libraries. It's more or less a foreign function interface for .NET languages like C# built atop the C foreign function interface.

Фух, мир-таки не перевернулся :)

yaws
()

жесть, я не хочу переписывать свой код на C#, это будет ужасно

pseudo-cat ★★★
() автор топика
Ответ на: комментарий от pseudo-cat

1. Попробуй L# (2.0, который) - даст возможность писать (и вроде компилить - я на версии 1.0 забил) прямо в дотнете

2.пробуй что-нить в виде ABCL

Двусторонний интерфейс, вспомнил был в ruby.net

yaws
()

На стороне дотнета должен существовать тип-делегат. Потом в лиспе создаешь его инстанс, и в конструктор передаешь лисповскую функцию.

Например:

class Adder
{
    public delegate int AdderDelegate(int x, int y);
    public static int InvokeAdder(AdderDelegate f, int x, int y)
    {
        return f(x, y);
    }
}

В лиспе:

(enable-rndzl-syntax)
(defvar *delegate* (new "Adder.AdderDelegate" (lambda (x y) (+ x y))))

[Adder.InvokeAdder *delegate* 1 2]
;; ==> 3

Love5an
()
Ответ на: комментарий от tailgunner

Ты zmq по работе пользуешься?

Нет. Но планы на него есть.

mv ★★★★★
()
Ответ на: комментарий от Love5an

ок, спасибо.

Может кто объяснить как связать проект на C# с исходником на лиспе?) Я просто не могу въехать в пример на оффсайте - там предлагают dll проекта запихнуть к исходникам на лиспе, вроде и запускать лисповые исходники. А мне нужно, чтобы можно было запустить проект, на C#(в той же студии), он выполнил код на лиспе(добавив кэлбэк через делегат) и спокойно мог юзать этот кэлбэк.

pseudo-cat ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.