Вопросы по теме 'lifting'
Scala странная неявная ошибка преобразования бокса
Может кто-нибудь сказать мне, почему следующее не работает?
object TestObject {
def map(f: (Double, Double) => Double, x2: Array[Double]) = {
val y = x2.zip( x2 )
val z = y.map(f)
z
}
}
Выдает эту ошибку:...
1239 просмотров
schedule
23.07.2023
Снятая «если» -функция ведет себя неожиданно
в своей программе я использую функцию if' , определенную в одном из модулей, вместо встроенной конструкции if-then-else . Он определяется тривиально и отлично работает.
Однако есть одно место в коде, где мне нужно применить его к значениям монад...
48 просмотров
schedule
29.07.2023
Как я могу передавать функции приподнятому R.divide?
Учитывая следующее:
var average = R.lift(R.divide)(R.sum, R.length)
Почему это работает как бесточечная реализация average ? Я не понимаю, почему я могу передать R.sum и R.length , когда они являются функциями, и поэтому я не могу...
244 просмотров
schedule
12.03.2023
Следует ли лифтинг в функциональном программировании строгим правилам?
Я изучил «подъемные» вопросы и ответы, примеры, которые мне показались, функция подъема такая же, как и любая функция преобразования, которая меняет форму (например, преобразование монады).
Я пропустил какую-либо точку или функция подъема...
321 просмотров
schedule
02.01.2024
Поднятие значения в монаде State в Haskell
Я пишу генератор/решатель судоку на Haskell в качестве учебного упражнения.
Моя функция solve принимает UArray , но возвращает State Int (UArray ...) , так что она также может вернуть максимальный уровень сложности, найденный при решении....
490 просмотров
schedule
25.09.2022
Сопоставление шаблонов на поднятом типе (Slick Lifted Embedding)
Если бы я хотел сопоставить шаблон с базовым типом опции в Scala, я бы запустил что-то вроде
val opt = Option(5)
val lessThanTen = opt match {
case Some(e) => if (e < 10) true else false
case None => None
}
Но предположим,...
174 просмотров
schedule
15.05.2022