Size: a a a

2020 February 13

SP

Stanislav Popov in rust_offtopic
ну я хотел бы посмотреть
источник

SP

Stanislav Popov in rust_offtopic
там есть какой то рантайм шелл?
источник

λ

λоλторт in rust_offtopic
Рантайм шелл? Как для жса консоль в браузере?
источник

λ

λоλторт in rust_offtopic
Не, такого нету конечно
источник

SP

Stanislav Popov in rust_offtopic
λоλторт
Рантайм шелл? Как для жса консоль в браузере?
да
источник

SP

Stanislav Popov in rust_offtopic
ну без такого я не понимаю как некоторые вещи делать
источник

SP

Stanislav Popov in rust_offtopic
вернее понимаю частично. миша говорил что делается тест и на тексте сразу кнопка, но чето хз
источник

EG

Emmanuel Goldstein in rust_offtopic
Alex Zhukovsky
правда что за операторы :*: :~: я не знаю
Также Алекс: операторы в Хаскелле понятные и логичные.
источник

λ

λоλторт in rust_offtopic
Alex Zhukovsky
кто шарит в typelevel equality? как такую елку победить?

mulComm :: Natural m -> Natural n -> m :*: n :~: n :*: m
mulComm NumZ NumZ = T.Refl
mulComm (NumS pm) NumZ = case mulComm pm NumZ of T.Refl -> T.Refl
mulComm NumZ (NumS pn) = case mulComm NumZ pn of T.Refl -> T.Refl
mulComm (NumS m) (NumS n) =
 case mulComm m (NumS n) of
   T.Refl -> case mulComm n (NumS m) of
     T.Refl -> case addAssoc n m (mulP n m) of
       T.Refl -> case addAssoc m n (mulP m n) of
         T.Refl -> case addComm m n of
           T.Refl -> case mulComm m n of T.Refl -> T.Refl
Тут кейс выполняет функцию рерайта из идриса (на самом деле рерайт в идрисе это сахар для кейса)
источник

λ

λоλторт in rust_offtopic
Alex Zhukovsky
правда что за операторы :*: :~: я не знаю
Это тайплевел умножение и тайплевел эквалити
источник

λ

λоλторт in rust_offtopic
Про тайплевел умножение это просто предположение, но скорее всего так и есть
источник

EG

Emmanuel Goldstein in rust_offtopic
λоλторт
Это тайплевел умножение и тайплевел эквалити
В чем-то логично, могу согласиться
источник

EG

Emmanuel Goldstein in rust_offtopic
Типа :: и *
источник

EG

Emmanuel Goldstein in rust_offtopic
Но угадать это нереально
источник

λ

λоλторт in rust_offtopic
Emmanuel Goldstein
Типа :: и *
Тут другая логика, инфиксные конструкторы типов в хаскеле должны начинаться на двоеточие
источник

SP

Stanislav Popov in rust_offtopic
я тут поигрался кстати с монадками. такое дело - никак не узнать что код не требует ио. т.е. такой тупой я предполагаю что ио это такой СЕРВИС. в тс если у меня сервис не юзается - я вижу, и могу сказать мол окей, сервис мне тут больше не нужен. в хаскеле же я имею функцию IO () которая просто делает return 1 и я как бы вынужден использовать ио. или я должен просто увидеть типа ой мне тут не нужен ретурн или просто убрать ио и попытаться все сделать без него, но тоже чето не вяжется
источник

EG

Emmanuel Goldstein in rust_offtopic
λоλторт
Тут другая логика, инфиксные конструкторы типов в хаскеле должны начинаться на двоеточие
Ну, второе двоеточие там быть не обязано
источник

EG

Emmanuel Goldstein in rust_offtopic
Stanislav Popov
я тут поигрался кстати с монадками. такое дело - никак не узнать что код не требует ио. т.е. такой тупой я предполагаю что ио это такой СЕРВИС. в тс если у меня сервис не юзается - я вижу, и могу сказать мол окей, сервис мне тут больше не нужен. в хаскеле же я имею функцию IO () которая просто делает return 1 и я как бы вынужден использовать ио. или я должен просто увидеть типа ой мне тут не нужен ретурн или просто убрать ио и попытаться все сделать без него, но тоже чето не вяжется
Ась?
источник

λ

λоλторт in rust_offtopic
Вот и оборачивают обычно вэльюлевел операторы в два двоеточия
источник

λ

λоλторт in rust_offtopic
Emmanuel Goldstein
Ну, второе двоеточие там быть не обязано
Для симметрии обычно делают 2
источник