Size: a a a

PureScript — русскоговорящее сообщество

2021 October 30

ЗП

Зигохистоморфный Пре... in PureScript — русскоговорящее сообщество
data SchemaKind :: forall k. k -> Type
data SchemaKind a

foreign import data Prim :: forall a. a -> SchemaKind a
foreign import data Obj :: forall a. SchemaKind a
foreign import data Arr :: forall a. SchemaKind a
foreign import data Null :: forall a. SchemaKind a

newtype Leibniz :: forall k. k -> k -> Type
newtype Leibniz a b = Leibniz (forall f. f a -> f b)

infix 4 type Leibniz as ~

data Primitive a
 = SInt (a ~ Int)
 | SString (a ~ String)
 | SBool (a ~ Boolean)
 | SNumber (a ~ Number)

data Lens a b = Lens (a -> b) (b -> a -> a)

data Schema t  r t2
 = SPrimitive (Primitive t) (Lens r t) (t ~ Prim t)

пока не могу понять как скастить правильно каинды
источник

ЗП

Зигохистоморфный Пре... in PureScript — русскоговорящее сообщество
вот тут t ~ Prim t
источник

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
А если просто

data Schema t  r t2
 = SPrimitive (Primitive t) (Lens r t) t


То это уже не то да?
источник

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
а это уже не gadt я понял
источник

ЗП

Зигохистоморфный Пре... in PureScript — русскоговорящее сообщество
foreign import data Exists2 :: (Type -> Type -> Type) -> Type

mkExists2 :: forall f a b. f a b -> Exists2 f
mkExists2 = unsafeCoerce

runExists2 :: forall f r. (forall a b. f a b -> r) -> Exists2 f -> r
runExists2 = unsafeCoerce

foreign import data Prim :: forall a. a -> Type
foreign import data Obj :: Type
foreign import data Arr :: Type
foreign import data Null :: Type

newtype Leibniz :: forall k. k -> k -> Type
newtype Leibniz a b = Leibniz (forall f. f a -> f b)

infix 4 type Leibniz as ~

data Primitive a
 = SInt (a ~ Int)
 | SString (a ~ String)
 | SBool (a ~ Boolean)
 | SNumber (a ~ Number)

data Lens a b = Lens (a -> b) (b -> a -> a)


data SchemaListItemF t s k = SchemaListItemF (Schema s t k)

newtype SchemaListItem t = SchemaListItem (Exists2 (SchemaListItemF t))

data K

data Schema t r t2
 = SPrimitive (Primitive t) (Lens r t) (t ~ Prim t)
 | SObject (Array (SchemaListItem t)) (Lens r t) (t ~ Obj)
 | SArray (Schema K r t) (Lens r (Array t)) (Tuple (t ~ Arr) (t2 ~ Array t))
 | SNull (Schema K r t) (Lens r (Maybe t)) (Tuple (t ~ Null) (t2 ~ Maybe t))
источник

ЗП

Зигохистоморфный Пре... in PureScript — русскоговорящее сообщество
я хз на сколько это ок
источник

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
foreign import data Exists2 :: (Type -> Type -> Type) -> Type

А это способ убрать ньютайп конструткор из рантайма?
источник

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
типа анбоксд
источник

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
источник

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
хм ну не
источник

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
нужно уметь прям пользователь чтобы мог прям отдельный свой рендер только под обджект или под примитив написать
источник

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
эрэй мейби итд
источник

ЗП

Зигохистоморфный Пре... in PureScript — русскоговорящее сообщество
Что не так?
источник

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
Я хотел с той целью чтобы можно было только отдельно Object kind хендлить
источник

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
или Prim или Array
источник

ЗП

Зигохистоморфный Пре... in PureScript — русскоговорящее сообщество
Я попытался портировать, что дальше хз
источник

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
Да спасибо большое!
источник
2021 November 03

I

Igor in PureScript — русскоговорящее сообщество
Ребят, а можно у пурсы (node.js) настроить, что бы при креше - какие-то осмысленные стек-трейсы были?
источник
2021 November 04

p

parket in PureScript — русскоговорящее сообщество
Не должно быть крешей же.
источник

I

Igor in PureScript — русскоговорящее сообщество
Короче при сборке (добавляем -x для генерации source-map)
spago bundle-app -x


при запуске
node --enable-source-maps index.js
источник