Anonymous
Кстати, не делго думая я скачал игру Battle for Wesnoth, что-бы посмотреть как надо делать игры...
Игра мне понравилась, но вот их код не очень.
Anonymous
Там самый главных разработчик, один их тех, кто мог бы писаль лучше, но от чегото не пишет.
A64m
Anonymous
How to Design Programs.
Есть у кого-нибудь .pdf, или все читали только первое издание?
Сильно не удобно на сайте читать, даже если и сграбить его.
Cheese
bazel может просто собрать всё, чтобы не приходилось набирать длинные локаторы целей? cc @qnikst
Alexander
hz
Alexander
я его не юзал ни разу
Cheese
и на несуществующую цель он не ругается
Cheese
в гугле делают один шлак
Alexander
хз у тех, кто с ним что-то делает оно работает
Alexander
но я честно даже близко не трогал
Denis
https://twitter.com/rufuse/status/972490746715627520
Denis
опрос ^
Andrey
опрос ^
если не валидирует что теги закрываются — можно ли считать это парсером XML? (проголосовал что надо валидировать)
Aleksei (astynax)
SAX не обязан валидировать. Максимум - сообщать отдельным эвентом, что "ожидался закрывающий тег", но по идее даже это должен делать вызывающий код
Aleksei (astynax)
> можно ли считать это парсером XML
парсер /= валидатор
Andrey
ну как сказать — по моему как раз парсер — это валидатор что строка принадлежит языку. Если теги не закрыты — явно что XML не well formed
Andrey
зависит от use case наверное — если не надо валидировать то и не надо 🙂
Alexander
поверх сакс парсера можно всегда валидатор сделать
Aleksei (astynax)
SAX тем и хорош, что ничего не предоставляет из коробки. Например, не хранит стек вложенности, чтобы понять, что что-то не закрылось. Т.о. тем, кому не нужна проверка, не приходится платить за трату памяти на оную.
Aleksei (astynax)
Это просто другой полюс разбора формата - противоположный парсерам с валидацией и авто-маппингом в структуры
Aleksei (astynax)
Насколько правомочно сичтать такой парсинг парсингом - вопрос открытый
Cheese
Andrey
наверное, мне просто кажется не стоит это XML парсером тогда называть...
Aleksei (astynax)
Ты прав, SAX, это скорее lexer.
Andrey
угу, токенайзер/лексер
Aleksei (astynax)
Исторически сложилось :)
Cheese
фундамент — другой полюс здания
Cheese
крупа — другой полюс каши
Aleksei (astynax)
> it does, however, keep some things, for example a list of all elements that have not been closed yet, in order to catch later errors such as end-tags in the wrong order
Andrey
и все таки — в других языках SAX не делает проверок на well formed?
Aleksei (astynax)
хаскельный sax использует внешнюю либу же. Так что не "в других языках"
Aleksei (astynax)
И вики говорит, что таки парность тегов проверяется...
Andrey
угу, об этом я и говорил
Andrey
иначе не было бы смыслом называть это парсером
Aleksei (astynax)
/me почему-то думал, что нет...
Aleksei (astynax)
Значит "парсер" таки :)
Aleksei (astynax)
> Thus, the minimum memory required for a SAX parser is proportional to the maximum depth of the XML file
:(
Aleksei (astynax)
Ну хотя бы на постройке DOM можно сэкономить
Denis
Denis
SAX это лексер в чистом виде
Denis
сам по себе
Denis
а консьюмер SAX - уже парсер
Denis
для скорости часть токеном можно скипать по идее, отсюда и опрос
Andrey
Ну весь вопрос в том — надо ли процессить не well formed документы. Если всегда нужны well formed то придётся такую валидацию всегда делать. В этом случае хотелось бы именно sax парсер, иначе с sax лексером пришлось бы всегда в консюмере такую валидацию делать.
Aragaer
много лет назад я на перле на регекспах сделал простой способ превратить не-well formed html в корректный xhtml
Евгений
Anton
Denis
Denis
Т.е. sax дает ивенты об открытии тега и о закрытии открытия тега, например. Это интересно только если атрибуты парсить, т.е. для парсеров, которым атрибуты не интересны, можно срезать угол. Аналогично - проверка закрытия тегов.
Евгений
Denis
Alexander
я на тагсупе не велформед хтмл разбирал с восстановлением структуры на основе контента
Alexander
вроде оно даже работало
Kirill
вроде не так давно кто-то жаловался про http-api-data в персистенте - https://github.com/yesodweb/persistent/issues/800
Alexander
@drcha0s ^
Nikita
https://www.goodreads.com/book/show/2047855.Category_Theory?from_search=true
Nikita
xорошая книга как intro,
Nikita
?
кана
куда?
кана
если в хаскель, то не очень
кана
если в теоркат, то спроси тут @ru_catheory
Зигохистоморфный
Авуди как классика, после Маклейна
Зигохистоморфный
Брагилевский вроде делал курс по ТК основываясь на книге Авуди
Зигохистоморфный
@bravit111 ?
Vitaly
Да, я основывался на Авуди
Vitaly
Но сказать, что она очень хорошая, не могу, доказательства там не очень чёткие, много рукомахания
Зигохистоморфный
Ну аккуратных доказательств мало где есть
Зигохистоморфный
Есть ещё книга Спивака вроде
Nikita
я просто нашел вот такой вот комент на HN
Nikita
и xотел попробовать пройтись по нему, я уже прочел SICP правда
Vitaly
Ерунда какая-то
Nikita
и из языков только Go и Python знаю
Nikita
из этого треда https://news.ycombinator.com/item?id=16562173
A64m
это шуточный пост
Nikita
почему?
Nikita
нельзя self learn math?
A64m
по этому списку?
Nikita
там несколько списков/книг