tobotras: (Default)
tobotras ([personal profile] tobotras) wrote2013-03-29 06:23 pm

(no subject)

Открыл для себя paredit. Кто не работает в Emacs с лиспообразиями, тому не надо. А кто да — тому да!

[identity profile] avnik.livejournal.com 2013-03-29 02:51 pm (UTC)(link)
Оно erlang умеет?
vitus_wagner: My photo 2005 (white)

[personal profile] vitus_wagner 2013-03-29 02:54 pm (UTC)(link)
Где в Эрланге скобки? Он же ML-образие, а не LISP-образие.

[identity profile] avnik.livejournal.com 2013-03-29 03:05 pm (UTC)(link)
Таплы с фигурными, списки с квадратными скобками.
Когда там какая-то структура собирается/разбирается, то
Как раз лиспообразен, без макросов (макросы там си-подобные), но с паттерн матчингом.

dispatch_rules() ->
    cowboy_router:compile(
    %% {Host, list({Path, Handler, Opts})}
    [{'_', [
        {["/content/[...]"], cowboy_static, [{directory, {priv_dir, ?APP, [<<"content">>]}},
        {mimetypes, {fun mimetypes:path_to_mimes/2, default}}]},
        {["/static/[...]"], cowboy_static, [{directory, {priv_dir, ?APP, [<<"static">>]}},
        {mimetypes, {fun mimetypes:path_to_mimes/2, default}}]},
        {["/plugins/[...]"], cowboy_static, [{directory, {priv_dir, ?APP, [<<"plugins">>]}},
        {mimetypes, {fun mimetypes:path_to_mimes/2, default}}]},
        {["/doc/[...]"], cowboy_static, [{directory, {priv_dir, ?APP, [<<"doc">>]}},
        {mimetypes, {fun mimetypes:path_to_mimes/2, default}}]},
        {["/get_jqgrid_data/[...]"], get_jqgrid_data, []},
        {["/websocket"], ws_handler, []},
        {'_', nitrogen_cowboy, []}
    ]}]).

Балансить скобочки при таком раскладе очень грустно.

[identity profile] dottedmag.livejournal.com 2013-03-29 04:42 pm (UTC)(link)
Лиспообразия здесь тоже нет. В лиспообразии весь синтаксис выражается S-exprs, а не кучей ключевых слов и грамматических конструкций.

[identity profile] avnik.livejournal.com 2013-03-29 04:52 pm (UTC)(link)
Тут нет ключевых слов, только синтаксические конструкции, и то две всего.
Это лямбда:
(defun dispatch_rules ()
     (cowboy_router:compile ....))


или если быть совсем пуристом
(defun dispatch_rules ()
   (apply  (from-module 'cowboy_router 'compile)
       (...)))


btw один из разработчиков ерланга написал на нем пролог и лисп, просто для лулзов.

[identity profile] dottedmag.livejournal.com 2013-03-29 04:53 pm (UTC)(link)
здесь - нет, а в эрланге - полно.

[identity profile] avnik.livejournal.com 2013-03-29 04:56 pm (UTC)(link)
Не отменяет того, что скобочки там есть, и много ;)
paredit там полезен.

[identity profile] dottedmag.livejournal.com 2013-03-29 04:40 pm (UTC)(link)
ML-образие? ML-образие - это, по крайней мере, статическая типизация по Мильнеру.

[identity profile] rmrfchik.livejournal.com 2013-03-29 04:15 pm (UTC)(link)
Открыв paredit в vim'е немедленно его закрыл. Брррр.

[identity profile] rmrfchik.livejournal.com 2013-03-29 05:45 pm (UTC)(link)
Оно не давало мне удалять и вставлять скобочки так, как я захочу.
parenth-nazi.

[identity profile] alexott.livejournal.com 2013-03-29 05:07 pm (UTC)(link)
опасайтесь подделок! покупайте настоящей версию, с голограммой столмана!

[identity profile] rmrfchik.livejournal.com 2013-03-29 05:47 pm (UTC)(link)
Последний раз, когда я смотрел емакс, там до сих пор не было редактора.
Как только, так сразу!