Alexander
но это может быть не выгодно для больших полей
A64m
c 7.8
Anton
я может не очень правильно вопрос сформулировал, но он на самом деле не про unpack, а про то, что там даже pack не должен происходить — мы же String матчим как обычный список, там же нет никакой упаковки (и у нас в оригинальном сниппете type Size = Int)
Alexander
и появилось -funbox-small-strict-fields
Alexander
которое анбоккснутым поля меньше либо равные указателб
Alexander
для них всегда оптимизация работает
A64m
так Int боксед же
Alexander
и оно по дефолту включено
Alexander
Int = Int I#
Anton
Alexander
I# это анбокснутое
Anton
а почему так устроено?
A64m
полиморфизм только для бокснутых типов работает
Alexander
Int# нужно на стеке класть и боттомов нету и обобщенного представления для полиморфизма
A64m
также есть нюансы с возвращением из функций
A64m
так что все ходовые типы бокснутые и анбоксятся оптимизатором там где можно
Anton
век живи - век учись! спасибо, ребят!
Dmitry
Тьфу, не заметил, что это все про mtl... У меня были transformers и, естественно, не было проблем с определением последовательности.
Только не могу понять, как же у меня currentTime цеплял инстанс ReaderT, если у меня он из transformers, а в monad-time из mtl?
Упс, mtl цепляет типы из transformers с каких-то пор! А я и не знал...
A64m
всегда. трансформерс, это просто часть мтл вынесенная в отдельный пакет
Dmitry
Мне казалось, что mtl раньше появилась. Соответственно зависимости от transformers не было. Покопаюсь в истории, картину мира поправлю.
Taras 🦀
ребят, кто что может сказать об APL vs Haskell ?
Cheese
на Хаскеле можно писать
Taras 🦀
это я уже понял))
а что можно с APL ?
IC
Возможно вы имели в виду: ATS
Taras 🦀
видел, обсуждаем с другом
и когда-то видел еще человека который активно знакомился с APL
Taras 🦀
лаконичность APL сочетается с задачами ИИ ?
кана
ну хаскель с апл же ничего не связывает кроме функциональности
Taras 🦀
мозгодробильность же еще?)
Taras 🦀
хотя лично мне синтаксис эрланга и хаскеля сильно приятен, в отличии от сишного
Taras 🦀
расскажите еще что-то о APL , пожалуйста
я ведь знаю что тут много умных всезнающих людей)
Alexander
На Haskell же можно писать как на APL, не?
Taras 🦀
я не знаю, интересуюсь на будущее
пока много и активно на эрланге пилю
IC
parket
Alexander
J :)
На j тоже писал, но это чисто для себя. J довольно сильно отличается от kdb.
Alex
Привет! Помогите пожалуйста, где-то натупил, не могу разобраться в чем дело
parket
Ну, как игрушечный и использовался. Так, для универской математики в основном.
Alex
Alex
Ошибка следующая
Alex
parse error (possibly incorrect indentation or mismatched brackets)
|
25 | then withArchive filepath $ unpackInto unzip_folder
| ^
Alexander
then без отступа (не на том же руровне что и if
IC
If правее чем then
Alex
Alex
Выровнял вот так
Alex
Теперь другая ошибка
Alexander
ну а второй if?
Alex
А как он должен быть?
Alexander
не быть правее чем относящийся к нему then
Alexander
вообще:
......... ->
if
then
else
часто выглядит нормально
Alex
Исправил
Alex
Но та же ошибка
Alexander
чтобы не уносить весь код вправо слишком
Alex
parse error (possibly incorrect indentation or mismatched brackets)
|
24 | then withArchive filepath $ unpackInto unzip_folder
Alexander
значит не исправил или ещё в чем то ошибка
Leonid 🦇
Alex
Вот финальная версия, но я не могу понять что не так
Alex
Alexander
else на месте второй и просто в скрин не попал?
Alex
Нет, его нету вообще
Alex
А он должен быть я полагаю?
Alexander
конечно
Alex
Ага
Alex
Спасибо:)
Alexander
это же expression, if-then-else ему надо что-то делать во второй ветке
Alexander
пожалуйста
Leonid 🦇
https://www.fpcomplete.com/blog/2018/05/haskell-library-talking-odbc-databases
После долгих лет нытья это наконец случилось. Теперь есть либа для SQL Server! Осталось IDE и Хаскель можно в прод
Alexander
хм.. мне так не нравится, но это не так и важно
IC
if с else на одном уровне, выражения внутри на одном
Alexander
может и имеет смысл
Alex
Alex
И еще такой вопрос
Alex
Поскольку rootDir тут это IO FilePath то просто так </> использовать нельзя, верно?
Alexander
все не так :)
Alexander
getCurrentDirectory :: IO FilePath