LINUX.ORG.RU

dhall-lang v9.0.0

 


0

1

Dhall – это программируемый язык конфигурации, который можно описать как: JSON + функции + типы + импорт.

Изменения:

  • Больше не поддерживается старый литеральный синтаксис Optional.
  • Запрет на суррогатные пары и не-символы.
  • Добавлено ключевое слово toMap для создания однородных ассоциативных списков из записей.
  • Бета-нормализация: улучшена сортировка полей записей.

Что нового:

  • Реализован импорт путей как местоположения – Location.
  • Разрешены все RFC3986-совместимые URL.
  • Появилась возможность добавления обобщенных комментариев к пустым спискам.
  • Добавлен тип Map и служебные функции в Prelude.
  • Возможность использования мультихеша для кэширования имен файлов.
  • Добавлена поддержка скрытых escape-последовательностей.
  • В Prelude добавлено стандартное представление для слабо типизированных значений JSON.
  • Добавлена возможность использования Prelude/Map для импорта заголовков.
  • Добавлен пакет Prelude/XML.

>>> Подробности

anonymous

Проверено: jollheef ()
Последнее исправление: shell-script (всего исправлений: 3)

Ответ на: комментарий от buddhist

То, что для языка X нет удобной библиотеки для Y

Вообще-то, если вам для редактирования Z нужен текстовый редактор, значит Z — текстовый формат. А если нужна библиотека Y для языка X — значит бинарный.

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

приятный yaml

Ещё один фанбой ямла… И чем же он приятен, расскажи а?

Deleted
()

JSON + функции + типы + импорт.

Они изобрели JavaScript?

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

В своей собственной памяти что ли?

То был ответ на вопрос про «написать достаточно большой JSON или XML». Раз большой, значит повторяющийся и/или на основе готовых данных. Вручную такое писать зачем?

Но если хочешь собирать структуры в своей голове и писать руками — твое право

Deleted
()

Ужас какой-то. Положу его на полочку эзотерических

LINUX-ORG-RU ★★★★★
()

JSON + функции = жабаскрипт. А еще можно луа встроить, как вам такая свежая идея, хипстерки?

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

Всяко легче, чем xml.

Нравится ковыряться с тоннами скобок, кавычек и запятых в конфигах? Мсье знает толк.

bread
()

небось опять javascript программистам не понятно что-то и они изобрели модный розовый велосипед с бородой

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

оправдывает существование сабжа

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

Только в тегах, а данные остаются чистыми. В json жуткое месиво, эта нотация не для человеков, в лучшем случае для кодеркоа на жабаскрипте.

bread
()

Была уже как-то новость про хаскелеподобный язык конфигурации, это не он? По тэгу ничего нет.

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

Только в тегах, а данные остаются чистыми.

Дооо... особенно чисто выглядят «<», «>» и «&». А если XML пишется «неудачным» софтом, то и кое-что другое уйдёт в escape.

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

JSON + функции = жабаскрипт. А еще можно луа встроить, как вам такая свежая идея, хипстерки?

Тут киллер-фичи в типах, не-Тьюринг-полноте и гарантированной терминации, а ты тут со своей луа, дурачок.

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

ПРИШЛО ВРЕМЯ ПЕРЕПРОХОДИТЬ PLANEШКАФ
PLANEШКАФ САМ НЕ ПЕРЕПРОЙДЕТСЯ
ПЕРЕПРОЙДИ ЕГО, ПЕРЕПРОЙДИ ЕГО ЕЩЕ РАЗ

theNamelessOne ★★★★★
()
Ответ на: комментарий от anonymous
<books>
   <book title="xml rules" description="Its about why json sux" />
</books>
{
  books: [
    { "title":"so many special symbols", description: "omg, i forgot quotes for description key. that sux" }
  ]
}

за примером далеко ходить не надо. json занимает больше места в общем случае - хотя это вообще не имеет никакого значения на самом деле... но как это убого выглядит - согласитесь.. и сколько лишнего нужно писать - просто жесть...

приведите пример, там где ключ может содержать пробелы. есть такие языки программирования, которые позволяют это делать? есть ли такие приёмы? ну и зачем тогда ковычки для ключей?

none
()
Последнее исправление: none (всего исправлений: 3)
Ответ на: комментарий от none

приведите пример, там где ключ может содержать пробелы

Почему только пробелы? Есть другие пробельные символы. Еще есть

!@#$%^&*()-+=[]{}:<>?/|\`~

Это только в расово верной американской asci. Твои мозги промыты инородным нацизмом «Ein Volk, Ein Reich, Ein Führer». Пропаганда работает. Еще есть юникод, и я хочу писать на своем великом и могучем.

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

а как мапить это в модель на котлине, к примеру???

вы будете создавать ключи на юникоде, а программисту придётся опиумом упарываться, потому что по-другому он не сможет с этим жить..

задам вопрос по-другому: какой язык программирования поддерживает юникод, пробелы и перечисленный список символов в названиях переменных, свойств и т.п.?

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

у меня есть такая мысль: json был создан группировкой бомжей, когда xml создавался людьми с высшим образованием, с толком и расстановкой..

:D

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

Что только люди не используют, но не yaml с более человечным подходом

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

задам вопрос по-другому: какой язык программирования поддерживает юникод, пробелы и перечисленный список символов в названиях переменных, свойств и т.п.?

Ты дурак или упоролся (java[vm], заодно как и все жабисты, xml и ничего другого не воспринимают)?

Причем тут конкретный язык программирования и язык описания данных. Если твой язык не имеет структур, для загрузки и работы с такими данными, то либо язык не пригоден, либо ты не знаешь этот язык.

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

Атрибуты это метаданные, но можно сдуру насовать и данные туда, но это моветон. Но в json вообще всё нужно квотировать, и скобочки всех видов балансировать, и запятые не забыть нигде. Слава роботам!

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

Ты наверно растофан, ходишь высматриваешь куда бы еще типы прикрутить, чтобы с ними потрахаться можно было за каждым углом.

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

Но в json ... нужно ... скобочки всех видов балансировать

Количество типов скобочек заранее известно.

А в xml можно «легко и не принужденно» закрывать теги, открытые 10ю страницами выше.

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

json был создан группировкой бомжей

Два чая этому господину!

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

xml создавался людьми с высшим образованием

И садистскими наклонностями.

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

А ты наверно ходишь и высматриваешь, где ещё вскукаректнуть про хипстеров в новостях о том, чего не понимаешь.

theNamelessOne ★★★★★
()

ознакомился таки с сабжем.. кину ещё один камень в огород, который и в меня кидали по поводу моего поделия - https://github.com/artem-korolev/multiuser-linux-configs/tree/solaris11 - ansible уже есть, так что расходимся.

кстати говоря, я этому камню нашёл место и сижу радуюсь. удалил свой ужасный самодельный скрипт на 50 строк и набросал плейбук на 100 строк - но зато там теперь и установка и компиляние, а не просто дистрибьюция настроек.. короче круто

а про json у меня есть одна история с работы... а общем тут основной формат - бинарный, но есть xml гейтвей - ну короче просто другой формат.. какая разница во что превращать джава модели, если потом их можно собрать обратно без потерь.

это ладно. я не фанат джавы. мне си роднее.. но суть не в этом. в один прекрасный день пришли ребята и сказали «ваш api слишком сложный и громозкий, а иксэмэль - это пизда нечеловеческая».

я сразу сказал - возьмусь за что угодно, если продолжите поднимать зарплату как обычно. сказано - сделано. короче я этот json изпедалил с json schema v3 до json schema v7. я вам скажу, что такого списка хронических заболеваний я даже по телевизору в фильмах катастрофах не видел.

сейчас там вообще такая ситуация, что константу можно двумя способами определить.. а вот описание для enum значений они так и не умудрились добавить. коммитет принял решение, что им насрать на мнение комьюнити, а вот объявлять константу двумя способами - это вещь.

короче в какой-то момент я просто ушёл в запой. на два года. проблема решилась сама собой - проект закрыли. говнокод удалили. зато у меня есть куча наработок как делать документационные сайты по json схемам. и бесценный опыт, который невозможно забыть.

хотелось бы конечно забыть, но не получается. и может это и к лучшему

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

А зачем я буду что-то редактировать нано? Я вроде не мазохист, у меня vi/vim найдется, а с ним все хорошо. Да и наной можно, какие проблемы? То что можешь на выходе битый получить? Дело не в бинарности, а прямоте рук.

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

Знаешь Миша, а можно еще хер себе дверью специально прищемить и потом всем рассказывать про неправильные двери.

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

«ваш api слишком сложный и громозкий, а иксэмэль - это пизда нечеловеческая».

И вместо решения проблемы со сложностью api...
... ты решил «сложное» запихать в «простое». Решил запихнуть невпихуемое.
Результат ожидаем.
А xml - это пожирание машиных и человеческих ресурсов в холостую без компенсации. И все эти xml-схемы - это как эвристики парсерам/генераторам xml, чтобы они не ушли в себя и не сожрали всю память.

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