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
так Int боксед же
о! спасибо!
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 ?
Anonymous
ребят, кто что может сказать об APL vs Haskell ?
А ты видел APL то хотя бы в Википедии? То, что для него клавиатура нужна специальная, знаешь?
IC
Возможно вы имели в виду: ATS
Taras 🦀
видел, обсуждаем с другом и когда-то видел еще человека который активно знакомился с APL
Taras 🦀
лаконичность APL сочетается с задачами ИИ ?
кана
ну хаскель с апл же ничего не связывает кроме функциональности
Taras 🦀
мозгодробильность же еще?)
Taras 🦀
хотя лично мне синтаксис эрланга и хаскеля сильно приятен, в отличии от сишного
Taras 🦀
расскажите еще что-то о APL , пожалуйста я ведь знаю что тут много умных всезнающих людей)
Alexander
На Haskell же можно писать как на APL, не?
Taras 🦀
я не знаю, интересуюсь на будущее пока много и активно на эрланге пилю
IC
мозгодробильность же еще?)
Хаскель простой же
Alexander
расскажите еще что-то о APL , пожалуйста я ведь знаю что тут много умных всезнающих людей)
Я пишу на apl. Конечно не на оригинальном, у него несколько ascii вариантов. Один из них очень популярен в финансах и у квантов - kdb. И наборает обороты. Тот же bitmex на нём вроде.
Alexander
J :)
На j тоже писал, но это чисто для себя. J довольно сильно отличается от kdb.
Dmitry
всегда. трансформерс, это просто часть мтл вынесенная в отдельный пакет
FYI По хакаджу - mtl появилась в 2006, зависимость от transformers с версии 2.0 (октябрь 2010); transformers появился в январе 2009.
parket
На j тоже писал, но это чисто для себя. J довольно сильно отличается от kdb.
Та вроде ж тоже диалект apl. Я никогда apl не видел, но одно время писал на j. :)
Alexander
Та вроде ж тоже диалект apl. Я никогда apl не видел, но одно время писал на j. :)
Ну всё же j это так сказать игрушечный немного. А лицензия kx стоит очень дорого.
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 и Хаскель можно в прод
IC
вообще: ......... -> if then else часто выглядит нормально
Я бы даже сказал как в питоне: (С новой строки) if условие then Что-то else Что-то (Продолжение блока снова на оригинальном уровне)
Alexander
хм.. мне так не нравится, но это не так и важно
IC
if с else на одном уровне, выражения внутри на одном
Alexander
может и имеет смысл
Alex
Alex
И еще такой вопрос
Alex
Поскольку rootDir тут это IO FilePath то просто так </> использовать нельзя, верно?
Alexander
все не так :)
Alexander
getCurrentDirectory :: IO FilePath