Size: a a a

2020 July 18

MK

Maxim Koltsov in Haskell
Если тебе нужен только один квотер, остальные можно оставить ошибкой
источник

JS

Jerzy Syrowiecki in Haskell
Danil Berestov
Но примеров что-то совсем нисколько
какие примеры вам нужны? возьмите пример с выражением или декларацией, для типов же то же самое
источник

DB

Danil Berestov in Haskell
Jerzy Syrowiecki
какие примеры вам нужны? возьмите пример с выражением или декларацией, для типов же то же самое
uri :: QuasiQuoter
uri = QuasiQuoter
 { quoteExp  = \str ->
     case mkURI (T.pack str) of
       Nothing -> fail "The input does not contain a valid URI"
       Just x  -> dataToExpQ (fmap liftText . cast) x
 , quotePat  = error "Usage as a parttern is not supported"
 , quoteType = error "Usage as a type is not supported"
 , quoteDec  = error "Usage as a declaration is not supported" }
источник

DB

Danil Berestov in Haskell
dataToExpQ. для типов такой функции найти не получается
источник

JS

Jerzy Syrowiecki in Haskell
Danil Berestov
dataToExpQ. для типов такой функции найти не получается
так вам и не нужны данные в типах
источник

JS

Jerzy Syrowiecki in Haskell
для матриц достаточно литеральные целые набрать руками
источник

DB

Danil Berestov in Haskell
Да, я так и хочу
источник

DB

Danil Berestov in Haskell
но я не знаю, как)
источник

DB

Danil Berestov in Haskell
Я хотел их в зависимости от длины списка типизировать
источник

DB

Danil Berestov in Haskell
Ну, типа map words . lines, посчитал и типизировал
источник

DB

Danil Berestov in Haskell
Jerzy Syrowiecki
для матриц достаточно литеральные целые набрать руками
Или руками это прям захардкодить, ты имеешь в виду?
источник

JS

Jerzy Syrowiecki in Haskell
Danil Berestov
но я не знаю, как)
напишите runQ [t| Matrix 3 4 |] в репле для начала
источник

JS

Jerzy Syrowiecki in Haskell
Danil Berestov
Ну, типа map words . lines, посчитал и типизировал
здесь quoteType как поможет?
источник

DB

Danil Berestov in Haskell
Jerzy Syrowiecki
напишите runQ [t| Matrix 3 4 |] в репле для начала
λ > runQ [t| Matrix 3 4 |]
AppT (AppT (ConT Ghci1.Matrix) (LitT (NumTyLit 3))) (LitT (NumTyLit 4))
источник

DB

Danil Berestov in Haskell
Блин, это то, что нужно, что ли..
источник

DB

Danil Berestov in Haskell
Jerzy Syrowiecki
здесь quoteType как поможет?
Ну надо просто внутри неё посчитать размернность матрицы
источник

JS

Jerzy Syrowiecki in Haskell
Danil Berestov
Ну надо просто внутри неё посчитать размернность матрицы
quoteType выдаёт только тип, а с данные придётся отбросить
источник

DB

Danil Berestov in Haskell
Jerzy Syrowiecki
quoteType выдаёт только тип, а с данные придётся отбросить
Нет, подожди, если я имплементирую квотер
источник

DB

Danil Berestov in Haskell
то это 4 функции String -> BlahQ
источник

MK

Maxim Koltsov in Haskell
Ты не обязан имплементировать все
источник