Size: a a a

2021 February 10

к

кана in Haskell
спейслики тем не менее легко задектить (правда тяжело задетектить где именно они находятся), так что не страшно
источник

MK

Maxim Koltsov in Haskell
кана
короче в хаскеле нужно чет оч много думать для каких-то базовых вещей
+
источник

[

[BRM]White Rabbit in Haskell
Так в хаскеле односвязные или двусвязные списки? Просто для односвязного вот это вот будет стоить O(n+m), а для двусвязного просто O(n), где n - аргумент функции, а m - колво элемов в листе.
источник

MK

Maxim Koltsov in Haskell
m чтобы дойти до конца, n чтобы взять начало и ещё n чтобы развернуть
источник

MK

Maxim Koltsov in Haskell
Но takeLast можно написать за m, где-то есть реализация
источник

MK

Maxim Koltsov in Haskell
Она обычно takeEnd / dropEnd зовётся
источник

[

[BRM]White Rabbit in Haskell
Красиво
источник

E

Elijah in Haskell
Могу предположить что односвязный, иначе например паттерн-матчился бы последний элемент списка как первый каким-то элегантным образом, но не могу до конца подтвердить свое предположение
источник

MK

Maxim Koltsov in Haskell
Чтобы понять что односвязный достаточно определение посмотреть
источник

MK

Maxim Koltsov in Haskell
Которое в каждом втором блоге на эту тему
источник

MK

Maxim Koltsov in Haskell
data [] a = [] | a : [a]
источник

MK

Maxim Koltsov in Haskell
Это не магический встроенный тип, это обычный adt
источник

[

[BRM]White Rabbit in Haskell
т.е. чисто теоретически можно написать свой двусвязный с такими же красивыми операциями в матчинге?
источник

E

Elijah in Haskell
How are lists implemented in Haskell (GHC)? - Stack Overflow
https://stackoverflow.com/questions/2688986/how-are-lists-implemented-in-haskell-ghc
источник

E

Elijah in Haskell
[BRM]White Rabbit
т.е. чисто теоретически можно написать свой двусвязный с такими же красивыми операциями в матчинге?
С прям настолько красивыми пожалуй трудно))
источник

к

кана in Haskell
вариант номер 1, но мне не нравится Maybe
источник

к

кана in Haskell
блин не, ужасное решение, fmap тут вроде бы сделает так, что будут одинаковые объекты в памяти
источник

к

кана in Haskell
решение 2, работать с этим очень сложно, нужно всегда не забывать ссылки назад  правильно обновлять

и конструкторы желательно не экспортировать
источник

ЗП

Зигохистоморфный Пре... in Haskell
кана
решение 2, работать с этим очень сложно, нужно всегда не забывать ссылки назад  правильно обновлять

и конструкторы желательно не экспортировать
какой-то Zipper
источник

к

кана in Haskell
ну, нет
источник