Алексей
Она очень даже хороша если надо просто пихать данные в один файл
Alexander
The declared type of each column is determined by the expression affinity of the corresponding expression in the result set of the SELECT statement, as follows:
Anatolii
Кложуристам наверное нравится
Alexander
т.е. там что-то похожее на тип есть, но как это проявляется я не понимаю
Alexander
подло блин
Aleksei (astynax)
У SQLite у всех колонок тип "текст", да
Aleksei (astynax)
Всегда так было - особенности реализации
Leonid 🦇
Игрушечная дб
Aleksei (astynax)
Так она и не претендует. Это маленькая встраиваемая штука
Alexander
типы хачу!
Aleksei (astynax)
Для маленькой встраиваемой штуки - довольно крутая
Alexander
да, вообще state of the art
Anonymous
псст https://github.com/mozilla/mentat
Alexander
это ты нас предупреждаешь что mentat не надо пользоваться?
Anonymous
я не смогу понять как ты пришел к такому выводу
Alexander
псст
ПСС, ПСТ, СТ, ПССТ pss! psit! разг. Звукоподражательное междометие, употребляемое для выражения неудовольствия, неодобрения, предостережения и т. п. БАС-1. -
Anonymous
Michel
Alexander
Used mostly in quiet circumstances to obtain the attention of another person. Occasionally used in a loud, sarcastic tone in a situation that obviously doesn't require silence.
Alexander
впрочем не важно, я специально выбирал наиболее неподходящий вариант для того, чтобы сказать о том, что mentat тут не нужен
Anonymous
я заметил
Anonymous
но причину не пойму
Alexander
наверное потому, что я не говорил ограничения и что решаю?
Alexander
мне нужна встраиваемая реляционная база, которая не прячет свою структуру, и нужна именно из-за реляционных фич
Anonymous
ну ок
Alexander
вообще mentat выглядит интересно
Leonid 🦇
а в Takt тоже на хаскеле пишут?
Андрей
народ, как функции сравнивать в спеках? )
Андрей
типа есть функция, которая на выходе может выдать несколько других функций в зависимости от параметра, как в спеках это проверять
Андрей
спрашиваю, потому что нет Eq у функций
Leonid 🦇
проверять что делают функции которые возвращает функция?
Leonid 🦇
если функции а не замыкание, можно указатели сравнить
Андрей
ну еслиб дело было не в хаскеле, то сранивались бы указатели или вроде того
Leonid 🦇
ну reallyUnsafePointerEquality, но сработает ли в случае ГЦ я не скажу
Leonid 🦇
теоретически должно
Андрей
хм
Leonid 🦇
если функции топ левел
Андрей
Андрей
вот это мне нужно, если плохо обьяснил
Андрей
вместо == нужна любая функция
Кабачок
а LiquidHaskell умеет в экстенсиональное равенство?
Андрей
хмм
Андрей
а как вообще без этого жить то
Кабачок
ну как ты функции обычно тестируешь?
Кабачок
надо применять, т. е. спека проверяет что ф-ия возвращает ф-ию, которая подходит к другой спеке
Кабачок
гыгыгы
Андрей
irb(main):001:0> a = ->(*) { 1 + 1 }
=> #<Proc:0x007fbe27006b98@(irb):1 (lambda)>
irb(main):002:0> b = ->(*) { 1 + 2 }
=> #<Proc:0x007fbe288f6298@(irb):2 (lambda)>
irb(main):003:0> a == a
=> true
irb(main):004:0> a == b
=> false
в случае рубей сработает, в sbt не полезу, но скорее всего в скалке тоже
Андрей
Андрей
вернее понял, но не понял как это всё организовывать в коде
Андрей
дурдом же получится
Алексей
а) Не сравнивать функции
б) Выдавать не функции, а ADT, который можно сравнивать, а уже из него делать функцию
Андрей
хм, подстраиваться под тест
Андрей
Андрей
только если добавить в этот ADT доп параметр, что-то вроде имени, через который сравнивать
кана
кана
если хочешь сраванить одинаковость результата, есть quickcheck
Алексей
В общем равентва функций нет потому что чтобы сравнить две функции надо сравнить что они равны для все возвожных параметров. А это множество поненциально бесконечно
Андрей
если сранивать a == b => False, a == a => True
Алексей
И зачем надо сравнивать функции на равенство?
Зигохистоморфный
liftA2(==)
Зигохистоморфный
так можно, но тут они должны быть вычислены
Андрей
сравнивать результат вычислений можно и без лифта)
Андрей
пытаюсь проверять на разных данных корректно выбранную функцию
кана
зачем возвращать функцию, возвращай некую команду (конструктор суммы типов)
Андрей
ааа?
Андрей
Андрей
нихера не понял
Влод
зачем, что это дает вообще
функция принимающая две функции, затем два параметра и возвращающая булеан который отвечает одинаковый ли результат
Donat
а что сейчас для kv хранилища лучше использовать (либу)?
Влод
осталось ещё добить чтобы те два параметра дублировались
Зигохистоморфный
Alexander
Donat
Евгений