- 1
- 2
instance Show (a -> b)
main = print (*)
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−95
instance Show (a -> b)
main = print (*)
http://liveworkspace.org/code/17QAgf$23
stderr:
Stack space overflow: current size 8388608 bytes.
Use `+RTS -Ksize -RTS' to increase it.
Возможно это из-за того, что нет реализации show и я написать вменяемую не смогу. Как заставить Haskell сгенерировать для меня show?
Хочется типа такого:
{-# LANGUAGE OverlappingInstances, FlexibleInstances, UndecidableInstances, StandaloneDeriving, DeriveFunctor #-}
deriving instance Show (a -> b)
main = print (*)
LispGovno 13.03.2013 12:08 # +1
Какого хрена?
(*) имеет тип a -> a -> a
А я объявлял для a -> b.
PS: Все верно. Туплюc. a -> (a -> a), что есть a -> b
roman-kashitsyn 13.03.2013 12:17 # +8
У show 3 метода объявлены, которые выражаются друг через друга. Не объявишь хотя бы один из них - получаешь бесконечную рекурсию.
КоКоКочешь текстового представления для функций - тебе в JS.
LispGovno 13.03.2013 12:39 # +1
roman-kashitsyn 13.03.2013 13:05 # +4
Yuuri 13.03.2013 14:39 # +2
LispGovno 13.03.2013 14:51 # 0
Yuuri 13.03.2013 15:03 # +6
А для получения типа есть Typeable, см. ниже.
LispGovno 13.03.2013 15:17 # +1
Остановился на:
http://liveworkspace.org/code/3Sjlvq$0
roman-kashitsyn 13.03.2013 13:46 # +4
defecate-plusplus 13.03.2013 14:00 # +3
Yuuri 13.03.2013 14:12 # +5
roman-kashitsyn 13.03.2013 14:13 # +3
Yuuri 13.03.2013 14:30 # +3
3.14159265 14.03.2013 16:38 # +3
Хаскель на свете, ты с Гумном день ото дня.
Пиши, не бойся, GHC есть там где ты,
И говно по интернету собираешь как цветы.