Jun. 18th, 2013

juan_gandhi: (VP)
Who is it?
juan_gandhi: (VP)
А прикольно, я годами ломал голову, какая фигня и что делать, если тебе нужен какой-нибудь там список или множество, а ты получаешь с возможной ошибкой, и как это превратить или в список ошибок или в хороший список результатов; ну дык, апликативный функтор, traverse, всек дела. Для хаскельщиков это как бы примитив, а я вот ну типа месяца два только как начал это непринужденно пользовать. Открытий чудных.

val tables = Result.traverse(
  (1 to 2) map (i => ExtractTableRowsV2(s"span#coverageMedicalSpendingPdf table:nth-of-type($i)").map(_.toList.map(_.toList)))
)


Что тут происходит. Я на браузере гоняю код, который выдёргивает таблицы внутри данного спана и возвращает, согласно договору с мозилой, массив массивов строк - или ексепшен бросает с объяснением почему нет; я это дело подхватываю, превращаю массив массивов в список списков; ну мне нужны две таблицы, поэтому я это делаю 1 to 2; но могла вкрасться какая-нибудь ошибка - если таковая есть, то tables будет иметь вид Bad(someErrorList).
juan_gandhi: (VP)
Sorry, something went wrong.

We're working on getting this fixed as soon as we can.

Go Back

Facebook © 2012 · Help

(и календарик прошлогодний)

А потому что скрипт-киддиз одни собрались, нет чтобы хаскельщиков нанять - но хаскельщиков они боятся!
juan_gandhi: (VP)
Did you know that in scala PartialFunction is not a partial function? Namely, you compose two partial functions, the composition's domain is the same as the domain of the first one. Which is STUPID. Paul Phillips says oh, Scala pfs are not Math pfs.

Nice. I know how to bypass it; just use Kleisli for Option, big deal. But well...

I think that every time you break the laws of algebra or category theory, you just set a trap for future users.

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

November 2025

S M T W T F S
       1
23456 7 8
9 1011 12 1314 15
16171819 202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Nov. 21st, 2025 02:19 am
Powered by Dreamwidth Studios