Hastache — реализация Mustache для Haskell

Март 28, 2011, 07:00

До­вел до ума и вы­ло­жил в open source свою ре­а­ли­за­ция шаб­ло­ни­за­то­ра Mus­tache, на ко­то­рой, в част­но­сти, кру­тит­ся сайт с ко­то­ро­го вы это сей­час чи­та­е­те.

Взять мож­но либо на GitHub, либо из Hack­ageDB:

(далее...)

Шаблоны Mustache

Март 25, 2011, 08:05

Mus­tache — биб­лио­те­ка ми­ни­ма­ли­стич­ных шаб­ло­нов из­на­чаль­но ре­а­ли­зо­ван­ная для Ruby Кри­сом Ван­стра­сом (меж­ду про­чим CEO и один из ос­но­ва­те­лей GitHub). Ми­ни­ма­лизм Mus­tache вы­ра­жа­ет­ся в том, что там нет управ­ля­ю­щих кон­струк­ций вро­де if и else. Цик­лов там тоже нет, есть толь­ко теги. Неко­то­рые теги за­ме­ня­ют­ся про­сты­ми зна­че­ни­я­ми, неко­то­рые за­ме­ня­ют­ся се­ри­я­ми зна­че­ний, по­каз со­дер­жи­мо­го дру­гих за­ви­сит от опре­де­лен­ных усло­вий. Несмот­ря на весь ас­ке­тизм сво­е­го син­так­си­са, Mus­tache яв­ля­ет­ся мощ­ным и пол­но­цен­ным движ­ком шаб­ло­нов.

Вдох­но­ви­те­ля­ми Mus­tache по­слу­жи­ли ctem­plate и et.

Сей­час су­ще­ству­ют ре­а­ли­за­ции Mus­tache для огром­но­го ко­ли­че­ства язы­ков. Необ­хо­ди­мо учи­ты­вать что на раз­ных язы­ках ню­ан­сы ра­бо­ты бу­дут немно­го от­ли­чат­ся. Я сде­лаю об­зор без при­вяз­ки к кон­крет­но­му язы­ку, од­на­ко дан­ные для при­ме­ров буду пи­сать на JSON, т. к. ду­маю он всем по­ня­тен, и кро­ме все­го про­че­го ис­поль­зу­ет­ся в до­ку­мен­та­ции к Mus­tache.

(далее...)

Обновления wsrch.ru

Март 09, 2011, 11:05

Об­нов­ле­ния на www.ws­rch.ru:

  • При от­кры­тии по­ис­ко­ви­ка по­ка­зы­ваю зна­чок за­груз­ки
  • Ис­пра­вил незна­чи­тель­ные ошиб­ки при отоб­ра­же­нии вы­па­да­ю­ще­го спис­ка под­ска­зок для по­ис­ка
  • До­ба­вил под­сказ­ки для кно­пок (вклю­ча­ют­ся в ре­жи­ме ре­дак­ти­ро­ва­ния)
  • До­ба­вил укра­ин­ские Google, Ян­декс и Wikipedia

Если кому ещё что-то надо — пи­ши­те

Бинарная сериализация в Haskell: использование библиотеки derive

Март 04, 2011, 19:50

В рам­ках борь­бы с ве­ло­си­пе­диз­мом, я про­сто обя­зан на­пи­сать про биб­лио­те­ку de­rive. Слу­жит она для ав­то­ма­ти­че­ской ге­не­ра­ции ин­стан­сов раз­ных клас­сов (смот­ри­те до­ку­мен­та­цию ка­ких имен­но, там мно­го). Меня эта биб­лио­те­ка за­ин­те­ре­со­ва­ла, пре­жде все­го, как ге­не­ра­тор для Data.Bi­na­ry, ко­то­рая очень удоб­на как быст­рый би­нар­ный се­ри­а­ли­за­тор над Data.ByteString.Lazy. У себя на сай­те я ис­поль­зую Data.Bi­na­ry для ке­ши­ро­ва­ния дан­ных. De­rive уме­ет ге­не­ри­ро­вать как обыч­ный код внут­ри .hs фай­лов, так и со­зда­вать ин­стан­сы во вре­мя ком­пи­ля­ции с по­мо­щью Tem­plate Haskell.

(далее...)

Сергей Лымарь © 2005-2014, Все права защищены.