Leonid 🦇
A64m
завидует чужому успеху просто
Aleksei (astynax)
а я на Джо Армстронга
"Армстронг побежал за пивом. Армстронг - самый молодой" (простите. И да, там другой Армстронг)
Anonymous
Привет, следуя инструциям https://github.com/ucsd-progsys/liquidhaskell/blob/develop/INSTALL.md
Спотыкаюсь на
$ cabal install liquidhaskell
Resolving dependencies...
cabal: Could not resolve dependencies:
[__0] trying: liquidhaskell-0.8.2.4 (user goal)
[__1] trying: unordered-containers-0.2.9.0 (dependency of liquidhaskell)
[__2] trying: text-format-0.3.1.1 (dependency of liquidhaskell)
[__3] trying: liquid-fixpoint-0.7.0.7 (dependency of liquidhaskell)
[__4] trying: hashable-1.2.7.0 (dependency of liquidhaskell)
[__5] next goal: base (dependency of liquidhaskell)
[__5] rejecting: base-4.11.1.0/installed-4.1... (conflict: text-format =>
base>=4 && <4.11)
[__5] rejecting: base-4.11.1.0, base-4.11.0.0, base-4.10.1.0, base-4.10.0.0,
base-4.9.1.0, base-4.9.0.0, base-4.8.2.0, base-4.8.1.0, base-4.8.0.0,
base-4.7.0.2, base-4.7.0.1, base-4.7.0.0, base-4.6.0.1, base-4.6.0.0,
base-4.5.1.0, base-4.5.0.0, base-4.4.1.0, base-4.4.0.0, base-4.3.1.0,
base-4.3.0.0, base-4.2.0.2, base-4.2.0.1, base-4.2.0.0, base-4.1.0.0,
base-4.0.0.0, base-3.0.3.2, base-3.0.3.1 (constraint from non-upgradeable
package requires installed instance)
[__4] fail (backjumping, conflict set: base, liquidhaskell, text-format)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: base, text-format, liquidhaskell,
liquid-fixpoint, hashable, unordered-containers
Памагите
Cheese
сбрось кэш
rm -rf ~/.cabal
Aliester
rm -rf /*
Cheese
Anonymous
Увы, после этого cabal требует `Warning: The package list for 'hackage.haskell.org' does not exist. Run 'cabal
update' to download it.` и по новой. Вижу у них в репозитории лежит stack.yaml попробую альтернативу
a66ath
Так сделай cabal update
Anonymous
Так сделай cabal update
Сделал, после чего тот же конфликт. conflict: text-format => base>=4 && <4.11
A64m
а ghc какой?
Anonymous
а ghc какой?
/usr/local/bin/ghc --version
The Glorious Glasgow Haskell Compilation System, version 8.4.3
A64m
так жидкохаскель только 8.2.2 еще поддерживает
Anonymous
A64m
что он собственно и пишет в версиях base
Anonymous
A64m
base>=4 && <4.11 base 4.11 это ghc 8.4
Anonymous
Cheese
или через stack, если они такой вариант предлагают
кана
я так понимаю, тут кейс для QuantifiedConstraints для генерации Show
кана
instance ( Show a
, Show (f r)
, forall x. Show x => Show (f (g x))
) => Show (Expression a g f r) where
show (ClosedExpression x) =
"(Closed " ++ show x ++ ")"
show (OpenExpression x y) =
"(Open " ++ show x ++ " " ++ show y ++ ")"
типа такого
Sergey
всем здравствуйте. возникла задача заменить удалить пару тегов в HTML, вопрос: что юзать для этого?
Leonid 🦇
sed
Cheese
руками
Sergey
все не настолько просто)
Sergey
переформулирую, функция принимает на вход Text, который HTML, оттуда надо выкинуть несколько тегов с определенным классом/id, и вернуть Text
Sergey
то бишь сами теги не всегда один и тот же статичный текст
Serghei
тебе нужен sanitizer условно говоря, которому чере параметры говорить что именно чистить/экранировать?
Sergey
ну можно и так сказать да
Anatolii
Sergey
пасиба! гляну
Cheese
Sergey
HTML это тот же XML
Anatolii
вот только написать хотел
Anatolii
:)
Ignat
S G M L
G
M
L
кана
xml тоже прощает пропущенные закрытые теги?
Sergey
нет
Sergey
но и HTML Не прощает
кана
ну значит html это не xml
Sergey
это уже хитрые браузеры
кана
html по спеке таки прощает
Ignat
AFAIR можно вполне легально не закрывать <tr> и <td>, например
Ignat
не говоря о каком-нибудь <br>
Anatolii
помойму у hxt есть режим html
Anatolii
который прощает не закрыте теги
Andrei
sed
H̸̡̪̯ͨ͊̽̅̾̎Ȩ̬̩̾͛ͪ̈́̀́͘ ̶̧̨̱̹̭̯ͧ̾ͬC̷̙̲̝͖ͭ̏ͥͮ͟Oͮ͏̮̪̝͍M̲̖͊̒ͪͩͬ̚̚͜Ȇ̴̟̟͙̞ͩ͌͝Sͯ ̨̥̫͎̭̔̀ͅ
Leonid 🦇
Sr
Короче всё сказанное к тому, что это делается НЕ регулярными выражениями, НЕ хаскелем. Вероятно что-то близкое к парсеру xml.
Также это НЕ делается САМОПИСНЫМ парсером, никогда.
Гугль в помощь
Anatolii
hxt как раз хорошу на эту роль подходит, там конечно по началу тяжеловато начать им пользоваться
Leonid 🦇
для html скорее какой tagsoup
Cheese
Евгений
html это sgml
Cheese
html это sgml
но парсер SGML не даст на выходе HTML-документ
Alexander
Sr
XSLT!
А оно может с html? Ведь как уже сказали html /= xml
Alexander
не должно )
Alexander
вообще парсинг HTML это на редкость неблагодарное дело, там доже тэги не сбалансированы
Alexander
я где то читал статью где ребята из гугл рекомендоали не закрывать <p> и <li>
Andrei
идея стартапа – парсер HTML as a service (с безголовым chrome под капотом)
Cheese
Alexander
selenium-standalone-chrome
Dmitry
у сноймана вроде был более менее норм. парсер
Dmitry
правда не помню, как он к malformed html относился
Dmitry
если надо кривой html, то тагсуп. но он тормоз.
A64m
никто еще тэгсуп поверх зено или как там его не сделал?
Alexander
@catamorphism чтотр делал вроде
Denis
https://github.com/dredozubov/sax-parser я вот это сделал, оно быстрее снойман-xmlей, но открыто всем рекомендовать пока не готов в силу специфичности и дебильных сообщений об ошибках
Leonid 🦇
/me опять был обижен сервантом
Евгений
Влод
это же как-то ненормально что toList встречается в Foldable и в GHC.Exts.IsList?
Влод
да и как-то можно ж было этот тайпкласс в прелюдию затолкать. вроде полезен и вне контекста списковых литералов
Alexander
И в maybe ещё
.sυλ
А существуют модули, позволяющие хаскельной программе обращаться к другому модулю БЕЗ компиляции того? Звучит безумно, но вдруг