Похожие чаты

Language: Haskell Source: Rpn [] f = f rpn [h:t] f = rpn t

(f h)

main = print $ rpn [2, 3] (+)

Errors:
source_file.hs:2:19:
Occurs check: cannot construct the infinite type: t ~ [t]
Expected type: [[t]]
Actual type: [t]
Relevant bindings include
f :: t -> t1
(bound at source_file.hs:2:11)
t :: [t]
(bound at source_file.hs:2:8)
h :: t (bound at source_file.hs:2:6)
rpn :: [[t]] -> (t -> t1) -> t -> t1
(bound at source_file.hs:1:1)
In the first argument of ‘rpn’, namely ‘t’
In the expression: rpn t (f h)

source_file.hs:2:22:
Occurs check: cannot construct the infinite type: t1 ~ t -> t1
Relevant bindings include
f :: t -> t1
(bound at source_file.hs:2:11)
t :: [t]
(bound at source_file.hs:2:8)
h :: t (bound at source_file.hs:2:6)
rpn :: [[t]] -> (t -> t1) -> t -> t1
(bound at source_file.hs:1:1)
In the second argument of ‘rpn’, namely ‘(f h)’
In the expression: rpn t (f h)

source_file.hs:4:8:
No instance for (Show (a0 -> a0 -> a0))
(maybe you haven't applied enough arguments to a function?)
arising from a use of ‘print’
In the expression: print
In the expression: print $ rpn [2, 3] (+)
In an equation for ‘main’: main = print $ rpn [2, 3] (+)

source_file.hs:4:21:
No instance for (Num [a0]) arising from the literal ‘2’
In the expression: 2
In the first argument of ‘rpn’, namely ‘[2, 3]’
In the second argument of ‘($)’, namely ‘rpn [2, 3] (+)’

source_file.hs:4:27:
No instance for (Num a0) arising from a use of ‘+’
The type variable ‘a0’ is ambiguous
Note: there are several potential instances:
instance Num Integer -- Defined in ‘GHC.Num’
instance Num Double -- Defined in ‘GHC.Float’
instance Num Float -- Defined in ‘GHC.Float’
...plus two others
In the second argument of ‘rpn’, namely ‘(+)’
In the second argument of ‘($)’, namely ‘rpn [2, 3] (+)’
In the expression: print $ rpn [2, 3] (+)

5 ответов

19 просмотров

It looks like you posted long piece of code, consider editing it out and putting it on hastebin.com and pasting link to it instead. Alternatively, send your code in a file.

Wojciech-Pawlik Автор вопроса

what have I done

I suppose [] is the argument list?

And t is the tails function?

Oh.. Your Base case is wrong.. If I can guess the haskell syntax, rpn [] f = [] rpn [h:t] f = (rpn t f) h f

Похожие вопросы

Обсуждают сегодня

Ready for some fun AND a chance to win TKO Tokens? Join us for exciting minigames in our Telegram group! 🕒 Don’t miss out—games start on today 25 October 2024, at 8 PM! Ge...
Milkyway | Tokocrypto
255
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
How are we going bro about the Raids ??
🅿️abby_FX
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
10
Keep saying it, it’s Trump or WW3. Iran will be emboldened if Harris wins by cheating. Israel will have to take the initiative against Iran. How has BTC faired everytime the...
Adz | Ferrum Network Product & Service Consultant @ Ferrum Network
1
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Карта сайта