LINUX.ORG.RU
Ответ на: комментарий от anonymous

> Примеров "трех строчек на F#" мы, естественно, не дождемся. Вообще это мое любимое занятие макать питонистов и монокодеров в их вранье про уанлайнеры, которые они так и не могут продемонстрировать

http://eigenclass.org/hiki/typed-relational-algebra-in-OCaml

Для труъ(описание модели):

TABLE user users COLUMN id SERIAL AUTO PRIMARY KEY COLUMN name VARCHAR(64) UNIQUE COLUMN age INT NULLABLE INDEXED COLUMN password VARCHAR(64) END

Выборка:

let u_18_to_40 = SELECT [User_age < (Some 40) AND User_age > (Some 18)] users;;

Вложенная выборка:

let targets x = SELECT [User_name LIKE "%paul%"] (u_18_to_40 x);;

На Ocaml-e(F# на .net) можно делать прямые DSL даже без введения дополнительных слоев, как в Рельсах. Тоесть здесь по сути используется синтаксис SQL-я.

Ты зря в этот разговор влез, F# и C# разные вещи. И ява после окамля, это обнять и плакать.

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

Побилось форматирование, вот два примера задания модели:

   TABLE user users
     COLUMN id SERIAL AUTO PRIMARY KEY
     COLUMN name VARCHAR(64) UNIQUE
     COLUMN age INT NULLABLE INDEXED
     COLUMN password VARCHAR(64)
   END
   
   TABLE comment comments
     COLUMN id SERIAL AUTO PRIMARY KEY
     COLUMN title TEXT
     COLUMN text TEXT
     COLUMN created_at TIMESTAMPZ
     COLUMN author SERIAL FOREIGN(users, id)
   END

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

> А на каком фреймворке? Или что-то свое?

Дык именно фреймворк и пишем.

> сам бы никогда не писал бы на хаскелле веб

Почему, собственно?

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

>> вот два примера задания модели:

> А ведь это не твои примеры... или ты автор статьи по ссылке?

Тоесть если я не автор статьи, то примеры выше лажа? Ты какой-то странный...

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

> Вот только "упс!", клоун забыл, что для Solaris и zOS Mono не сделано и не будет сделано никогда.

4.2, то есть, враньё.

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

>> А ведь это не твои примеры... или ты автор статьи по ссылке?

> Тоесть если я не автор статьи, то примеры выше лажа?

Я ничего не сказал о качестве примера, хотя и нахожу его немного неуместным: "This is still work in progress, but it's usable (and I'm starting to use it for real)". Да и не заменяет это "сотню килобайт корявых XML-ных конфигов" - по объему текста это тот же SQL, но типизированный. Это, конечно, достижение (без всякой иронии), но ни о каком выигрыше на порядки речь не идет.

> Ты какой-то странный...

А ты так и не ответил на вопрос, являешься ли ты автором.

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

> Да и не заменяет это "сотню килобайт корявых XML-ных конфигов" - по объему текста это тот же SQL, но типизированный. Это, конечно, достижение (без всякой иронии), но ни о каком выигрыше на порядки речь не идет.

Дык а в любом случае где-то тебе приходится модельку описать. Можно сделать как в ActiveRecord(автор блога - заядлый рубист, так что он про такой подход знал) - тоесть забирать структуру на ходу из базы и задавать только название таблицы и главного индекса. Но сейчас многие уже стали поглядывать в сторону DataMapper-а, который как раз полностью описывает модель со всеми полями.

Выигрыш в таком подходе, то что ты напрямую используешь понятный многим язык SQL который является прямым DSL для этой задачи. Гибкость камля позволяет это сделать максимально близко к sql-ному синтаксису. А хибернейт заставляет учить xml-ную запись модели, что не есть гут, так как вводится новая сущность.

> А ты так и не ответил на вопрос, являешься ли ты автором.

Нет, я не автор этого блога :).

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.