-1
Я пытаюсь добавить неупорядоченный список, такой как [2,1,5,4,3]
, в сумку, которую можно рассматривать как пустой список.Добавление списка в пустую сумку
Вот мой код:
module Bags where
import Data.List
import Prelude
-- | Bag datatype
type Bag a = [a]
-- | Empty bag
emptyBag :: Bag a
emptyBag = []
-- | Put all elements from a list into a bag.
listToBag :: Bag a -> [a] -> Bag a
listToBag xs = foldr (\x bag -> bagInsert bag x) emptyBag xs
Функция, которая вставляет элемент в список приведен ниже
-- | Add an element to a bag.
bagInsert :: Bag a -> a -> Bag a
bagInsert b = (insert (+) emptyBag)
Однако функция insert
для упорядоченных элементов. Я могу добавить эти элементы, не переставляя их соответствующие позиции в списке?