juan_gandhi: (Default)
Juan-Carlos Gandhi ([personal profile] juan_gandhi) wrote2010-02-10 04:28 pm

protocol to use

Тут уговорил коллег плюнуть на всю эту пропраетари хренопень и просто пользоваться джейсоном. Главное что удобно - какой бы у тебя ни был язык (хоть пролог) - пошел на json.org, скопировал зип с библиотекой (с сырцами), поставил - и работает. И на хрена все эти xml, yaml, rss, и прочая белиберда? Что ещё любопытно, это, собственно, означает победу языка джаваскрипт над всей этой хренопенью вообще.

Вот когда всякая апликация сможет интерпретировать джаваскрипт (т.е. будет внутри себя содержать интерпретатор лиспа), и когда народ осознает, что в джаваскрипте trampolining, folds, monads, shift/reset пишутся одной левой с закрытыми глазами, то возникнет вопрос: а на хрена нам весь этот тяжелый бред, наследие прошлого, который мы так упорно учили все эти годы? Все эти плапласы, джавы, шарпы, руби, пытоны, скалы - если достаточно Хаскеля для системных задач (написание ядра апликации) - и народу столько не надо будет, сколько сейчас роится, мучаясь с шарпами и плюсами, а сверху скриптовый язык джаваскрипт (может, его переименовать уже как-нибудь, бросив это дурацкое маркетинговое слово семнадцатилетней давности? назвать его веблисп, скажем? или просто лисп-2?)

Хмм... следует ли это всё изложить на десяти страницах крупным шрифтом с примерами?

Да не дай бог

[identity profile] http://users.livejournal.com/_san/ 2010-02-12 02:55 pm (UTC)(link)
view-source:http://labs.mudynamics.com/wp-content/uploads/2009/05/csv.html

// Quated csv value
$P().do_().token($P().char('"')).do_().many($P().noneOf('\"')).join('', trim).char('"')
.reduce(function(r) { return (r.length < 3)? undefined : r[1]; })
.register("csv_quote");


Чтобы понять что тут написано, необходимо знать Парсек, а усвоить его проще на Хаскеле. Там и типы проверяются, а тут можно нагородить такого.. Не, не надо монад на JS.

Так много нам открытий чудных готовит просвещенья дух.

Re: Да не дай бог

[identity profile] migmit.vox.com (from livejournal.com) 2010-02-12 07:53 pm (UTC)(link)
Кхм, да. Синтаксис не дай бог.

Вообще-то, вполне можно было сделать что-нибудь вроде
function csv_quote(r) {return [
   P.char('"'),
   P.assign(r, P.many(P.noneOf('\"'))),
   P.char('"'),
   P.yield(trim(join(r)))
]}

Тоже не сахар, но как-то симпатичнее. Надо будет на досуге что-нибудь в таком духе соорудить.