metaclass: (дзедline)
[personal profile] metaclass
Столкнулся с тем, что наиболее внятно задача, которую я решаю, укладывается в Clojure и не укладывается (без частичного выкидывания статической типизации) в скалы-хаскели-C#-F#.
Вернее даже не выкидывание, а просто получается имитация типичного для Clojure типа данных Map[Symbol,Any] и использование его во все поля.

Можно, конечно, было бы убрать вообще всю логику, вплоть до SQL-запросов, из БД и писать запросы для ORM типа slick, но это в данном случае натягивание совы на глобус, более чем бессмысленное, т.к. статически типизированный результат запроса в ORM нужно будет превратить обратно в нихрена не типизированнный датасет типа Seq[Map[Symbol,Any]] и сериализовать его в json для клиента.
Или прикрутить shapeless (https://github.com/milessabin/shapeless) и навернуть extensible records поверх HList на предмет того, чтобы типовыводилка генерила еще и метаданные, но в итоге получится что-то совсем печальное и малопонятное.

Date: 2013-03-12 01:10 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Мне бы хватило, но результат, боюсь, никого не обрадует :)
Цель же не статические типы ради них самих, а упрощение себе жизни.

Date: 2013-03-14 06:00 am (UTC)
From: [identity profile] nivanych.livejournal.com
(Я уже забыл и плохо представляю задачу)
А макросы не подходят? Они очень сложные и в них запросто быстро запутаться?

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 9th, 2025 06:03 pm
Powered by Dreamwidth Studios