На текущий момент пользоваться типом Sequence не очень удобно. В этом issue мы постараемся собрать все пожелания и хотелки, которые бы сделали работу с этим типом более удобной.
Непонятные ошибки парсера
Парсер attoparsec быст, но имеет очень скудные ошибки. Мы когда-то на него перехали с megaparscec. Возможно, мы допустили ошибку и стоит пожертвовать скоростью ради понятности ошибок.
Добавить моноид для всего семейства Sequence
Сейчас нельзя создать пустой BasecalledSequenceWithRawData одним мановением руки. А иногда это нужно и хочется.
Возможность работать с Sequence как со списком
Во многих алгоритмах (например, из cobot-tools) нужно работать с последовательностями как со списками (filter, partition, group, pattern matching и т.д.). Нужно подумать, хотим ли мы поддержать всю эту работу в Sequence или сделаем удобную конвертацию в/из списка и обратно.
Убрать MonadFail при чтении файлов
Сейчас используется MonadFail, отловить ошибки которого очень сложно (или я заблуждаюсь?). Хочется иметь простую возможность прочитать файл и обработать ошибку, если она возникла. Как самый простой вариант: MonadIO m => m (Either Text a).
Сделать работу с IO однотипно
Сейчас для каждого типа чтение и записать в файлы (если есть) написаны для каждого формата по-разному. Хочется вынести это во что-то стандартное
На текущий момент пользоваться типом
Sequence
не очень удобно. В этом issue мы постараемся собрать все пожелания и хотелки, которые бы сделали работу с этим типом более удобной.Непонятные ошибки парсера
Парсер attoparsec быст, но имеет очень скудные ошибки. Мы когда-то на него перехали с megaparscec. Возможно, мы допустили ошибку и стоит пожертвовать скоростью ради понятности ошибок.
Добавить моноид для всего семейства
Sequence
Сейчас нельзя создать пустой
BasecalledSequenceWithRawData
одним мановением руки. А иногда это нужно и хочется.Возможность работать с Sequence как со списком
Во многих алгоритмах (например, из
cobot-tools
) нужно работать с последовательностями как со списками (filter, partition, group, pattern matching и т.д.). Нужно подумать, хотим ли мы поддержать всю эту работу вSequence
или сделаем удобную конвертацию в/из списка и обратно.Убрать
MonadFail
при чтении файловСейчас используется MonadFail, отловить ошибки которого очень сложно (или я заблуждаюсь?). Хочется иметь простую возможность прочитать файл и обработать ошибку, если она возникла. Как самый простой вариант:
MonadIO m => m (Either Text a)
.Сделать работу с IO однотипно
Сейчас для каждого типа чтение и записать в файлы (если есть) написаны для каждого формата по-разному. Хочется вынести это во что-то стандартное