Ваш отступ неверен. Попробуйте:
fiblista 0 n = [0]
fiblista 1 n = [1]
fiblista a n
| a < n = (tail, ((fiblista!!d)+(fiblista!!c))) fiblista a+1 n
where d = a - 1
c = a - 2
Но этот код все равно не скомпилируется. fiblista
- это функция с двумя параметрами, но вы также пытаетесь использовать ее как список. Вы также пытаетесь использовать кортеж как функцию.
Если вы все еще застряли в написании своей функции, было бы полезно, если бы вы могли описать, каковы параметры для fiblista
и что она должна возвращать. Включите подпись типа.
Это домашнее задание?
Зв
fiblista a n
представляет собой список чисел Фибоначчи, начиная с a th числа Фибоначчи и заканчивая ( n -1) th число Фибоначчи.
Это вопрос списка.
Представьте, что у вас есть список всех чисел Фибоначчи . (Это будет то же самое, что и fiblista 0 ∞
, если бы ∞
было допустимым значением Haskell.) Затем вы сможете использовать стандартные функции списка take
и drop
для расчета fiblista a n
.