Me:
Вы уверены, что кто-то захочет использовать вашу библиотеку на 2.11?
А вот то, что на 3-ю скалу вы библиотеку не планируете переписывать – всерьез расстроило обитателей скала-чатиков в Telegram.
Они уважают вас и ваш труд.
Может быть, кто-то из них и возьмётся её проапгрейдить, я буду напоминать. Мне это сейчас точно не по зубам, к сожалению.
Winitzky:
Я сейчас концентрируюсь на завершении книги. Иметь curryhoward 2.12 для этого вполне достаточно. С вашей помощью я вчера потратил необходимые 3 часа и получил PR c работающими тестами на Scala 2.13.6 без потери совместимости с 2.11, 2.12.
Переписывать curryhoward на Scala 3.x это планы на неопределенное будущее. Я пока еще не изучил толком макросы в Scala 3 и не знаю даже какой API будет у curryhoward, что из макросов они убрали, что добавили. Можно ли будет написать, как сейчас,
def func[A, B]: A => B => A = implement
// детектировать полностью всю type signature слева от знака равенства и сгенерировать код
def func[A, B]: A => B => A = { x => _ => x }
class X[A, B](a: A) {
def f: (A => B) = ???
val x = ofType[B]
// детектировать все уже имеющиеся выше val и методы данного класса и их типы и сгенерировать код "val x = f(a)"
}
или макросы Scala 3 не позволят этого? У меня сейчас нет времени заняться этим. Возможно, через год.
Сергей