haskell existential аналог printf
Хочется чего-то похожего наДля гетерогенных списков есть HList. Неудобства есть, но небольшие:
unwords ( map show ["Any type",0,True] )
понятное дело - список не годится, нужно объявлять forall type, как это сделать с наименьшими неудобствами в использовании?
import Data.HList
data ShowType = Show
instance (Show a) => Apply ShowType a String where
apply Show x = show x
testHList = "One" .*. 1 .*. True .*. hNil
test = hMapOut Show testHList
Там еще нужна прагма LANGUAGE с чем-то.
Идея отсюда: http://www.haskell.org/pipermail/haskell-cafe/2006-October/0...
http://hackage.haskell.org/package/xformat, хотя мне казалось, был и тру-принтф.
Насчет аналогов printf сейчас в хакадже вижу только
Text.Printf по умолчанию есть в GHC, но вроде по описанию проблемы это не совсем то, что надо.
Text.Printf по умолчанию есть в GHCО, а я не мог вспомнить, как он называется.
ну если быть более точным, мне нужно sprintf
Text.Printf его и делает, читай GHC Libraries.
Оставить комментарий
yroslavasako
Хочется чего-то похожего наunwords ( map show ["Any type",0,True] )
понятное дело - список не годится, нужно объявлять forall type, как это сделать с наименьшими неудобствами в использовании?