LINUX.ORG.RU

Lisp Asp .Net MVC

 , , , ,


2

7

C# официально устарел и отправляется в помойку, т.к. теперь веб-фреймворк Asp .Net Core MVC доступен из Common Lisp.

Можно так писать:

;; Asp.Net MVC controller
(define-dotnet-callable-class (example-controller
                               (:base-type . ControllerBase))
    ()
  ;; Echo the 'Hello' message to client
  (:method index :string ((name :string))
    (format nil "Hello~:[~;, ~:*~a~]!" name)))

https://github.com/Lovesan/bike/blob/master/examples/aspnet-mvc.lisp

На линуксе работает на SBCL и на CCL, проверял.

Конечно, нужно немного дополнительных телодвижений, т.к. .NET прокси-классы генерируются в рантайме, и поэтому их надо руками указывать в качестве контроллеров, но это в принципе все при желании автоматизируется макросами и другими средствами метапрограммирования.

Также, пока bike не поддерживает аттрибуты, но это наверное добавлю позже.

Ну и с extension-методами пока не придумал что делать, пока их классы надо руками писать.

★★★

bike

Название хорошее, вот еще логотип для проекта нашел: https://cs6.pikabu.ru/post_img/big/2015/07/28/8/1438090013_1072571484.jpg

А если серьезно, то зачем все это?

PS
Я еще и гимн для проекта нашел: https://www.youtube.com/watch?v=xt0V0_1MS0Q
И мне кажется его содержимое отвечает на вопрос «зачем все это».

arax ★★
()
Последнее исправление: arax (всего исправлений: 2)
Ответ на: комментарий от arax

А если серьезно, то зачем все это?

Затем чтобы использовать экосистему .NET из Common Lisp, очевидно, и не быть ограниченным говноязыками типа C#, или вообще, необходимостью писать «под» эту платформу.

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

Кстати не обязательно использовать прямо полный MVC, можно скажем взять только Kestrel(довольно затюненный веб-сервер, если что), и написать адаптеры для лисповых веб-фреймворков для него. Вобщем, возможностей открывается довольно много.

Понятия не имею, насколько надо быть зашоренным, чтобы комментировать тут в стиле «буханка-троллейбус» итд.

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

можно скажем взять только Kestrel(довольно затюненный веб-сервер, если что), и написать адаптеры для лисповых веб-фреймворков для него.

А можно просто взять C#, а лишп вместе с адаптерами вернуть обратно на помойку.

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

Зачем брать C#, в котором нет ни макросов, ни нормального ООП, ни расширяемости, ни интерактивной разработки, ничего из того что есть в лиспе?

Чтобы убиться об стенку от безысходности?

lovesan ★★★
() автор топика
Ответ на: комментарий от token_polyak

Для тех, которые ничего кроме того убожества, что в C++ и Java итп не видели, да, нормального ООП не существует.

Но ты не расстраивайся, это обычный Blub Paradox у тебя. Развивайся, читай книги, расширяй кругозор.

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

видел я убожество от алана кея. сорта одной и той же субстанции.

и шизофункциональщина туда же.

token_polyak ★★★★★
()
Последнее исправление: token_polyak (всего исправлений: 2)
Ответ на: комментарий от lovesan

макросов

Нужны только для write-only говнокода.

нормального ООП

Там нормальный ООП.

ни расширяемости, ни интерактивной разработки, ничего из того что есть в лиспе?

Ненужная хрень.

Чтобы убиться об стенку от безысходности?

Так кончают лишперы. Думаешь почему их так мало?

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

Нужны только для write-only говнокода.

Нет конечно. Или функции/методы тоже нужны только для write-only говнокода? А макросы это просто функции выполняющиеся при компиляции. Хотя, если ты пишешь write-only говнокод, то для тебя - да.

Там нормальный ООП.

Нет, конечно.

Ненужная хрень.

Еще один пациент с Blub Paradox. Развивайся, читай книги, расширяй кругозор.

Так кончают лишперы. Думаешь почему их так мало?

По статистике, чаще всего - жопоскриптеры, и прочие недоучки.

Вобщем, учи лисп, а то тебя нейросети скоро заменят.

lovesan ★★★
() автор топика
Ответ на: комментарий от token_polyak

Алан Кей и функциональщина тут вообще не при чем. Говорю, развивайся, читай книги, расширяй кругозор, а то так недоучкой и помрешь.

lovesan ★★★
() автор топика