Size: a a a

2021 May 14

DB

Danil Berestov in Haskell
всё же 2 разных смысла forall немного путают. exists в случае с forall a. a -> a -> a был бы наверное понятнее
источник

к

кана in Haskell
так это не exists
источник

к

кана in Haskell
это именно forall
источник

к

кана in Haskell
если у тебя есть язык где есть экзист и форал, то в этом случае это все еще будет forall
источник

к

кана in Haskell
exists это пара, а тут функция все еще
источник

DB

Danil Berestov in Haskell
это не понял
источник

к

кана in Haskell
exists a. f a это пара из типа "a" и значения f a
источник

к

кана in Haskell
exists a. a -> a
это пара из типа и функции a -> a
имея такую пару, нельзя подставить произвольный "a", у тебя уже есть конкретный

это как
data X = forall a. X (a -> a)

f :: X -> b -> b
f (X g) x = g x -- так нельзя, мы не знаем, тот ли там тип в X, что наш b
источник

к

кана in Haskell
data X = forall a. X (a -> a)
~
data X = X (exists a. a -> a)

тут важно, что forall и exists в разных местах, это не использование слова forall для exists
источник

NI

Nick Ivanych in Haskell
Надо их ненавидеть за это.
источник

¯

¯\_(ツ)_/¯ in Haskell
получается, чтобы считывать с файла и считывать со строки мне придётся иметь две реализации? (я занимаюсь разбором MS CFB (FAT в файле), в котором нужно делать fseek, чтобы перемещаться по секторам)
источник

JS

Jerzy Syrowiecki in Haskell
что такое "считывать со строки"?
источник

JS

Jerzy Syrowiecki in Haskell
перемещайтесь по секторам (hSeek) и читайте файл (hGet). нет никаких проблем
источник

¯

¯\_(ツ)_/¯ in Haskell
строка в данном случае ByteString. На входе целая строка, а не файл
источник

¯

¯\_(ツ)_/¯ in Haskell
да, с файлами никаких проблем
источник

JS

Jerzy Syrowiecki in Haskell
зачем ещё какая-то вторая реализация?
источник

JS

Jerzy Syrowiecki in Haskell
а на выходе что?
источник

¯

¯\_(ツ)_/¯ in Haskell
на выходе возможность обратиться к какому-нибудь сектору (или цепочке секторов, но не суть. одно и то же)
источник

JS

Jerzy Syrowiecki in Haskell
что такое обратиться? прочитать строку? из строки строку не надо читать, она уже строка
источник

¯

¯\_(ツ)_/¯ in Haskell
например, данные будут получены по сети, их придётся по-особенному обрабатывать
источник