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

August 2025

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

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 25th, 2025 11:22 pm
Powered by Dreamwidth Studios