169 похожих чатов

@Rudogma привет! В supertagged почему в NewType и в NewType0

метод lift сделан по разному?

10 ответов

19 просмотров

В NewType0 нет type member Raw, чтобы не ограничивать в каком виде оно будет представлено, поэтому этот Raw указан как тайп параметр для метода lift. А NewType - конкретно вырожденная версия, в которой все известно и это просто сокращенная версия, чтобы не писать при вызове метода. В остальном одно и то же

Юрий-Бадальянц Автор вопроса
Mikhail S
В NewType0 нет type member Raw, чтобы не ограничив...

А как мне тогда применить lift в NewType0? Вот есть у меня инстанс Monad для типа, хочу его лифтануть в ньютайп.

Возможно стоило бы в NewType0 написать lift0, чтобы можно было в наследниках сокращенные версии привычным образом добавлять

Юрий Бадальянц
А как мне тогда применить lift в NewType0? Вот ест...

MyNewtype.lift[F, MyNewtype.Raw] - примерно так. Но я думаю, что действительно стоит переименовать в lift0 и обновить сегодня.

Юрий-Бадальянц Автор вопроса
Mikhail S
MyNewtype.lift[F, MyNewtype.Raw] - примерно так. Н...

А если у меня Raw вида Raw[F, A] и я хочу лифтануть lift[Monad, Raw[F, *]]? Так вообще можно, или только конкретизируя A?

Юрий Бадальянц
А если у меня Raw вида Raw[F, A] и я хочу лифтанут...

В теории можно, если Raw[F,*] является для тебя конкретным типом, но точно потеряется инфа об A в готовом ньютайпе. Надо пробовать, если не получится - напиши похожий скасти, подумаю

Юрий-Бадальянц Автор вопроса
Юрий Бадальянц
https://scastie.scala-lang.org/LMnet/thofyXs1RY6DY...

Тут собака в `type Kokoko[F[_]] = EitherT[WriterT[F, List[String], *], String, *] type Λ$ takes type parameters ` Что-то много дырок. Выглядит переусложнением, но я подумаю.

Юрий-Бадальянц Автор вопроса
Mikhail S
Тут собака в `type Kokoko[F[_]] = EitherT[WriterT...

Ну не совсем же, ведь type Raw[F[_], A] = EitherT[WriterT[F, List[String], *], String, A]

Юрий Бадальянц
Ну не совсем же, ведь type Raw[F[_], A] = EitherT[...

Это у тебя, но я про то, в чем реальный затык компилятора и кайнд-прожектора.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта