Описание тега non-exhaustive-patterns

1 ответ

Не исчерпывающая рекурсия на Haskell

sumAllDigits :: [ Int ] -> Int sumAllDigits (x:xs) |(x:xs) == [] = 0 |x >= 10 = sumDigits x + sumAllDigits xs |x< 10 = x + sumAllDigits xs ОТЧЕТ: * Recursion> sumAllDigits [22,33] *** Исключение: Recursion.hs:(76,1)-(79,34): неисчерпывающие…
30 дек '14 в 00:46
1 ответ

Неисчерпывающие закономерности

Учитывая, что у меня есть следующий код: data Note = C | Db | D | Eb | E | F | Gb | G | Ab | A | Bb | B deriving (Show, Eq, Ord, Enum) next :: Note -> Note next B = C next n = succ n previous :: Note -> Note previous C = B previous n = pred n …
05 авг '15 в 19:51
1 ответ

Неисчерпывающий паттерн в функции в Haskell

У меня есть класс Evol и я хочу, чтобы экземпляр distanceMatrix был применен к списку моего типа MolSeq. Функция molseqDistMat работает как нужно, но я не могу понять ошибку, которую я получаю при попытке запустить distanceMatrix [Molseq]. Я понимаю…
15 сен '17 в 10:09
2 ответа

Haskell - Ошибка "Неисчерпывающие шаблоны" с функцией, использующей список

Я пытаюсь сделать функцию в haskell, чтобы знать, все ли элементы в списке списка имеют одинаковую длину. (Я ищу ответы в предыдущих постах, но ни один из них не работает). sameLength :: [[t]] -> String sameLength [] = "Empty list" sameLength [[i…
28 мар '15 в 13:02
1 ответ

Получайте ошибку соответствия в haskell при тестировании функции

это функция toRevDigits :: Integer -> [Integer] toRevDigits 0 = [] toRevDigits x | x<0 = [] | otherwise = lastDigit x:(toRevDigits (dropLastDigit x)) это тест testRevDigits :: (Integer, [Integer]) -> Bool testRevDigits (n, [d]) = toRevDigit…
20 апр '16 в 03:51
1 ответ

GHC жалуется на неисчерпывающие шаблоны, которые применяются средством проверки типов

У меня есть следующий код {-# LANGUAGE DataKinds, GADTs, TypeOperators #-} data Vect v a where Nil :: Vect '[] a Vec :: a -> Vect v a -> Vect (() ': v) a instance Eq a => Eq (Vect v a) where (==) Nil Nil = True (Vec e0 v0) == (Vec e1 v1) = …
15 окт '13 в 05:31
1 ответ

Подберите неисчерпывающую функцию im tree tree

Здравствуйте, я новичок в ML и пишу функцию treemap для следующего типа данных: datatype tree = NIL | CONS of (tree * tree) | LEAF of int; Это моя древовидная функция: fun treemap f = fn LEAF x => LEAF (f x) | CONS(y,z) => CONS (treemap f y, t…
07 май '17 в 19:01
2 ответа

Ошибка совпадения с образцом, когда `function [] _ ​​= ...; Синтаксис функции _ [] = ...`опущен

Хоть disjoint исчерпывает все возможные паттерны в своих условиях охраны, Хаскелл дает мне PatternMatchFail ошибка при запуске. disjoint :: (Ord a) => [a] -> [a] -> Bool disjoint l@(x:xs) r@(y:ys) | null l || null r = True | x == y = False …
3 ответа

Неустранимая ошибка: исключение Match_failure("main.ml", 8, 15)

Вот мой код: type 'a tree = Empty | N of 'a * 'a tree * 'a tree let absolute x = if x > 0 then x else -x let rec node = function | N(_, Empty, Empty) -> 1 | N(_, g, d) -> 1 + node g + node d let rec balanced = function | N(_, Empty, Empty) …
3 ответа

Неисчерпывающий паттерн в функции Хаскелла

Я написал функцию, которая вставляет элемент в двоичное дерево, но каждый раз, когда я пытаюсь запустить его, я получаю неисчерпывающий шаблон в функции. type Eintrag = (Person, Anschrift, SozNr) data Tree = Nil | Node Eintrag Tree Tree deriving (Eq…
1 ответ

haskell: функция нормальной формы отрицания получает исключение "Неисчерпывающий шаблон"

-- | data type definition of WFF: well formed formula data Wff = Var String | Not Wff | And Wff Wff | Or Wff Wff | Imply Wff Wff -- | Negation norm form nnf function -- precondition: φ is implication free -- postcondition: NNF (φ) computes a NNF for…
14 фев '16 в 23:22
1 ответ

Haskell, Неисчерпывающие паттерны в функции - способ проверки этого условия

Есть ли способ проверить, содержит ли мой код: Non-exhaustive patterns in function? Может быть, какой-нибудь флаг для компилятора?
1 ответ

Неполный шаблон в объявлении функции

У меня возникают трудности при реализации следующей функции: type Tabuleiro = [String] type Comandos = String type Comando = String type Coordenadas = String novaCoord :: Tabuleiro -> Comandos -> Coordenadas -> Coordenadas novaCoord l (cmd:…
3 ответа

Реализация программы, в которой символы строки повторяются определенное время в haskell

Это вопрос из моей домашней работы, поэтому советы будут весьма полезны. Я изучаю Haskell в этом семестре, и мое первое назначение требует от меня написать функцию, которая вводит 2 строки (string1 а также string2) и возвращает строку, состоящую из …
2 ответа

Haskell: неисчерпывающие паттерны в функции (простые функции)

Меня смущает, почему 1-я и 3-я версии этой функции выдают эту ошибку, тогда как второе определение работает нормально. -- head and tail third :: [a] -> a third [a] = head (tail (tail[a])) -- Pattern matching third2 :: [a] -> a third2 (_:_:x:_)…
15 фев '13 в 15:07
1 ответ

Почему я получаю "Неисчерпывающие шаблоны в функции...", когда я вызываю функцию подстроки в Haskell?

Я работаю над книгой "Дорога на Хаскелле к логике, математике и программированию". (Я только в середине главы 1, но я наслаждаюсь этим до сих пор и намерен продолжить.) Я прочитал раздел 1.5 "Игра в игру на Хаскеле", который "состоит из ряда дополни…
26 сен '10 в 19:08
2 ответа

Неисчерпывающие паттерны в функции haskell

Я думаю, что мне не хватает случая, когда есть список из одного элемента, но я не могу найти способ написать его, может кто-нибудь мне помочь? getBoard :: [String] -> [String] getBoard (h:t) | isLOL h = h: getBoard (t) | otherwise = [] isLOL :: S…
18 ноя '14 в 16:16
0 ответов

Ошибка неисчерпывающих паттернов при определении варианта фолдера

Меня попросили сделать функцию, которая работает как foldr но с непустыми списками, это работает так: foldr1 f [x1,x2...xn] = f x1 (f x2...(f xn-1 xn)...), Итак, я определил это так: foldr1 f [x] = x foldr1 f (x:xs) = f x (foldr1 f xs) foldr1 f _ = …
15 янв '19 в 16:50
2 ответа

Понимание списка Haskell Неисчерпывающий шаблон при вызове более одного параметра

Для начала я создал Type StudentMark, который является кортежем, во-первых, с использованием String, а затем с Int. type StudentMark = (String, Int) Это моя функция capMarks: capMarks :: [StudentMark] -> [StudentMark] capMarks [cMarks] = [(st, mk…
1 ответ

Неисчерпывающие паттерны в функции Exception в haskell

У меня есть этот код: import Data.Char foo :: String -> String foo (x:xs) = if (digitToInt(x)) == 0 then foo xs else if (digitToInt(x)) /= 0 then replicate (digitToInt(x)) (head $ take 1 xs) ++ foo (tail xs ) else "" вход: foo "4a5b" выход: "aaaa…