AK
Size: a a a
AK
AK
VY
AG
data Lan : (j : Type -> Type) -> (g : Type -> Type) -> (x : Type) -> Type where
MkLan : {a : Type} -> (j a -> x) -> g a -> Lan j g x
CrossProduct f g a b ~ Tuple (f a) (g b)
Lan Tuple (CrossProduct f g) a
~ exists x y. (Tuple x y -> a, CrossProduct f g x y)
~ exists x y. (x -> y -> a, f x, g y)
~ Day f g a
AK
VY
???.call ∷ String → Parser (Tuple String (Array String))
call name = do
fn ← string name
params ← parens args
pure $ Tuple fn []
args ∷ Parser (NonEmptyList String)
args = ??? `sepBy1` string ","
к
VY
alphaNum подходит, но это Parser Char
как бы его в Parser String превратить =/ЗП
many alphaNumк
ЗП
VY
import Data.Foldable (foldMap)
import Data.String.CodeUnits (singleton)
args ∷ Parser (List String)
args = do
xs ← many alphaNum `sepBy` string ","
pure (foldMap singleton <$> xs)
VY
VY
args ∷ Parser (List String)
args = quoted arg `sepBy` (char ',' <* skipSpaces)
VY
ExceptT MyError Effect a это плохо https://www.fpcomplete.com/blog/2016/11/exceptions-best-practices-haskell, вот мне щас похоже нужна именно такая ф-ция (типа Array Cell → ExceptT Error Effect (Array Cell)), но я совсем забыл как это правильно делается. ща по истории чатика гляну, по-моему уже обсуждалосьAK
ExceptT и пока что рад :)AK
type MyUi a = ExceptT MyError Effect a