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-методами пока не придумал что делать, пока их классы надо руками писать.

★★★
Ответ на: комментарий от goingUp

Слово как слово, method chaining

вот так правильно. А вот «паттерн матчинг» с «кейсами» - это за забором. А ещё лучше выделяться чистым русским. Но это high level, Bro :3

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

не. Там где надо перемалывать - Haskell вне конкуренции.

Вывел типы - написал программу.

TS - компромисс для любителей указки, автодополнения и приятных глазу классов. Зачем фантазию закрывать в рамки?

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

Три раза прочитал твое сообщение, но так и не понял в чем вообще твой тезис. Как это вообще связано с сообщением, на которое ты отвечал? Или это ты просто поныть решил?

Aswed ★★★★★
()