Oct. 9th, 2013

juan_gandhi: (VP)
А скажите, f $ a b и f a b - одно и тоже? Ведь не одно и то же.

А почему тогда, к примеру, Maybe аппликативен?

instance Applicative Maybe where
   pure = Just
   (Just f) <*> (Just x) = Just (f x)
   _        <*> _        = Nothing


А потому, что ассоциативности хотя и нету, есть ассоциатор. Грубо говоря, a (b c) -> (a b) c, изоморфизм.

Так что зря я стремался.

А для моноидального функтора нужна будет ещё когерентность (coherence).

Вот. Извините.
juan_gandhi: (VP)
void get(java.lang.String s);
juan_gandhi: (VP)
Он тут есть?

(Сижу читаю блог-посты)
juan_gandhi: (VP)
Вот я пишу такой типа тыпычной код (и в продакшен):

  def extractPatientClaims(patient: Patient, index: Int):Result[File] = {
    debug(s"Retrieving claims for patient #$index ($patient)")
    val urls:Result[List[String]] = loadClaimsPage(index) andThen extractPdfUrls
    debug(s"Retrieve these urls: $urls")

    val files = urls flatMap (list => {
      val downloaded:List[Result[File]] = list map downloadPdf
      Result.traverse(downloaded)
    })
    debug(s"Have these files: $files")
  }


То возникает ощущение, что надо какой-то удобный способ задавать частичные функции в виде
- вот функция с таким-то именем
- вот её комиссарское тело
- вот формат объяснительной, почему она сегодня не справилась с заданием

И компонировать такие функции в хвост и в гриву, флатмапать результаты и травёрсать, если они в коллекции оказались (коммутируя коллекцию и частичность).

И усё.
juan_gandhi: (VP)
http://www.exler.ru/blog/item/14443/

И Экслер тоже туда же. В гуще негодующих народных масс.

Такие дела.

(А не пошли бы они все нахуй, все эти люди.)

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

August 2025

S M T W T F S
      12
3456789
10 11 12 13141516
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 20th, 2025 03:27 pm
Powered by Dreamwidth Studios