Привет из 80х годов прошлого века
Sep. 3rd, 2012 09:31 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Вспомнил один срач на тему однопроходных компиляторов, где Steve Yegge критиковал Clojure за то, что в ней объявления видны не во всем модуле, а только ниже объявления. (Ну, за исключением declare которые что-то вроде forward-объявлений).
Сижу приделываю новую фичу к кодогенератору на F# - и таки внезапно оказывается, что это не только в Clojure, но так же и F#, и, что самое печальное, - в долбаном SQL, который я генерирую.
Сижу вот, сортирую объекты из которых генерируется SQL по зависимостям.
А как с этим дела обстоят в Scala?
Я тут подумываю, что надо бы провести сравнение F# и Scala на моих задачах, все равно уже полная работа JVM и жаб, так может, выводилка типов в Scala для меня окажется более приемлемой, чем дикий ад в F# (теперь я понимаю, почему его
thesz критикует). Ну и макросы в скале
xeno_by прикрутил вроде уже.
Хотя единственное, что мне приходит в голову на тему приличного использования макросов - это при их выполнении долбится в БД или модель этой БД и генерировать код.
Сижу приделываю новую фичу к кодогенератору на F# - и таки внезапно оказывается, что это не только в Clojure, но так же и F#, и, что самое печальное, - в долбаном SQL, который я генерирую.
Сижу вот, сортирую объекты из которых генерируется SQL по зависимостям.
А как с этим дела обстоят в Scala?
Я тут подумываю, что надо бы провести сравнение F# и Scala на моих задачах, все равно уже полная работа JVM и жаб, так может, выводилка типов в Scala для меня окажется более приемлемой, чем дикий ад в F# (теперь я понимаю, почему его
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Хотя единственное, что мне приходит в голову на тему приличного использования макросов - это при их выполнении долбится в БД или модель этой БД и генерировать код.
no subject
Date: 2012-09-03 06:39 pm (UTC)И главное ж, ничего не сделаешь - SQL в общем случае не идемпотентен и не является декларативным описанием, в отличие от какого-нибудь кода на C#.
no subject
Date: 2012-09-03 07:20 pm (UTC)no subject
Date: 2012-09-03 07:21 pm (UTC)знакомься, http://slick.typesafe.com/
no subject
Date: 2012-09-03 07:48 pm (UTC)no subject
Date: 2012-09-03 07:49 pm (UTC)no subject
Date: 2012-09-03 08:38 pm (UTC)no subject
Date: 2012-09-04 01:40 pm (UTC)no subject
Date: 2012-09-03 08:36 pm (UTC)Если надо генерировать классы или методы из макросов, да еще так, чтобы их было видно снаружи, надо ждать января 2013 года. Пока что это не поддерживается по техническим причинам, но в январе у нас дедлайн по тайп макросам, поэтому технические причины к тому времени будут пофикшены. Тогда же скорее всего в транк приземлятся и макро аннотации.
no subject
Date: 2012-09-03 08:41 pm (UTC)no subject
Date: 2012-09-03 08:55 pm (UTC)no subject
Date: 2012-09-03 09:07 pm (UTC)no subject
Date: 2012-09-04 03:06 pm (UTC)no subject
Date: 2012-09-03 09:24 pm (UTC)впрочем я с clojure глубоко не разбирался, поэтому мое мнение наверняка неполное. если вы ребе смотрели в сторону скалы, будет интересен ваш взгляд. вот мне в лиспах нравится репл в живую программу. это классно. еще со мной можно на ты, если так будет удобнее.
no subject
Date: 2012-09-03 10:06 pm (UTC)но если не прав, поправьте
no subject
Date: 2012-09-03 10:12 pm (UTC)no subject
Date: 2012-09-03 10:44 pm (UTC)no subject
Date: 2012-09-19 07:48 pm (UTC)новые поля в существующих объектах не будут проинизиализированы только, тк jrebel не перезапускает конструктор
no subject
Date: 2012-09-19 09:13 pm (UTC)хотел спросить когда можно будет перегружать суперклассы, а вы оказывается уже это поправили в новом jrebel'е
прямо вау-вау
no subject
Date: 2012-09-20 04:56 am (UTC)видимо у вас небольшое приложение, и сервер сам перезагрузил его так что вы не заметили.
no subject
Date: 2012-09-04 06:28 am (UTC)no subject
Date: 2012-09-04 07:00 am (UTC)no subject
Date: 2012-09-04 01:41 pm (UTC)Взаимоисключающие параграфы.
no subject
Date: 2012-09-05 05:30 am (UTC)no subject
Date: 2012-09-03 08:44 pm (UTC)no subject
Date: 2012-09-03 09:42 pm (UTC)no subject
Date: 2012-09-03 09:43 pm (UTC)no subject
Date: 2012-09-03 09:52 pm (UTC)http://stackoverflow.com/questions/12184997/scala-and-forward-references
no subject
Date: 2012-09-03 09:57 pm (UTC)no subject
Date: 2012-09-05 10:03 am (UTC)Привет из 50-х годов прошлого века —
http://nag.ru/articles/article/22460/telekomiks-pyatidesyatyie.html
no subject
Date: 2012-09-05 10:04 am (UTC)http://nag.ru/news/newsline/22463/lte-na-vashem-stole.html
no subject
Date: 2012-09-05 12:56 pm (UTC)Вернее, чтобы его покупка не была большим ударом по семейному бюджету :)
no subject
Date: 2012-09-05 01:04 pm (UTC)