iT邦幫忙

functional programming相關文章
共有 288 則文章
鐵人賽 Software Development DAY 6

技術 Day 06 - Lenses (Basic)

yo, what's up 今天要在 FP 裡很有用的概念 Lenses, 它可以減少在處理資料結構邏輯時的複雜度,並且可以寫出更容易閱讀以及更乾淨的程式。 從...

鐵人賽 Modern Web DAY 6

技術 Day 6 - Function 時空旅行 (1) - 參數優化

前言 Array 跟 Object 兩兄弟的故事告一段落了,接著是 Object 在外面養(?)的另外一個兄弟 - function 浪漫一點來說,functi...

鐵人賽 Software Development DAY 5

技術 Day 05 - Ramda

yo, what's up Ramda 是一個 Functional Programming 的函式庫,而 Ramda 的所有函式都有自帶 currying....

鐵人賽 Software Development DAY 4

技術 Day 04 - Function Composition

yo, what's up 今天就來談談 Functional Programming 的核心,Compose. 有了這個概念後,就可以把多個功能單一的函式組合...

鐵人賽 Software Development DAY 3

技術 Day 03 - Curry

yo, what's up? 今天要來介紹 Functional Programming 重要的概念,Curry. Curry 的功用? 我們先來看一個簡單的函...

鐵人賽 Software Development DAY 2

技術 Day02 - Pure Function

yo! what's up! 本篇文章會簡單地介紹基本的 Functional Programming 概念,這些概念不僅重要,更是貫穿了之後的主題。 Pure...

鐵人賽 Software Development DAY 1

技術 Day 01 - Hi, Functional Programming

Alert: 以下會將 Functinoal Programming 簡稱 FP. 關於我 yo! What's up 這是筆者第一次參加 IT 鐵人賽,希...

技術 mostly:functional 謝幕與片尾曲

The future is already here – it's just not evenly distributed.未來早就來臨了,然而它並不是平均分...

技術 mostly:functional 終章:Monad 的實體

可是我的心,比整個宇宙,還要大了那麼一點點。 -- 費爾南多‧佩索亞, 詩選:A Little Larger Than the Entire Universe...

鐵人賽 Software Development DAY 30

技術 mostly:functional 第二十九章:Monad 的法則

梅賈德斯不是照人類傳統的時間來記戴,而是著眼在一個世紀發生的生活故事,一切同時存在於一瞬間。 -- 加布列·賈西亞·馬奎斯, 百年孤寂 又一次來到牆的前面...

鐵人賽 Software Development DAY 29

技術 mostly:functional 第二十八章的試煉: Applicative 的證明

小測驗 我們在上一章的最開始,示範了元組上的 <*>,其中有一條是這樣寫的: pure (+8) <*> ("hello&...

鐵人賽 Software Development DAY 29

技術 mostly:functional 第二十八章:Applicative 的實體

建築跟外觀一樣散發著新穎的氣息,而格局跟上一間也相當類似。而這次大廳中央放著兩座雕塑,兩個之間看起來幾乎是一樣的,只是其中一個比較長一點。而跟之前建築裡的相比,...

鐵人賽 Software Development DAY 27

技術 mostly:functional 第二十六章的試煉:Functor 的證明

一樣是上次那個模仿 Maybe 行為的 type: -- Haskell 語法 data MightBe = NoThanks | Ok a deriving...

鐵人賽 Software Development DAY 27

技術 mostly:functional 第二十六章:升格,再一次升格,然後再…

在後面幾個比較深的房間裡,我訝異的發現,那些短箭頭,還能夠進化成更加特別的形狀… const 在 Monoid 的章節裡,我們看過了 id 這個什麼事都不...

鐵人賽 Software Development DAY 26

技術 mostly:functional 第二十五章:Functor 的實體

一進門,就看到矗立在大廳中央的雕像,有點像是箭頭,又有點像是管子。臺座周圍四散著一堆各自相異,但卻都比較短的箭頭。當我隨手拿起一個箭頭想看時,雕像一側呼吸般閃滅...

鐵人賽 Software Development DAY 25

技術 mostly:functional 第二十四章:Functor 的法則

…人被視為一個歷程,一個成為 (becoming) 的歷程。該模式相信,每一個人都可能改變。即使外在的改變很有限,內在的改變卻是可能的。這個信念是普世皆然、毫...

鐵人賽 Software Development DAY 29

技術 Functional Programming in Practice - Part 3

接下來處理另一個狀態, LoginFormState ,他也是一個擁有眾多不可能狀態的 Product Type : data class LoginFormS...

鐵人賽 Software Development DAY 24

技術 mostly:functional 第二十三章的試煉:Monoid 的證明*

我們可以自己實作一個模仿 Maybe 行為的 type: -- Haskell 語法 data MightBe = NoThanks | Ok a deriv...

鐵人賽 Software Development DAY 24

技術 mostly:functional 第二十三章:Monoid 的 Monoid

延著走道往下,我走過一個又一個的房間。忽然有一種奇怪的念頭浮上,我感覺其實每個房間裡的鏡子雖然看似迥異,但其實一直都是同一面鏡子。它只是跟隨著我,不斷的移動到下...

鐵人賽 Software Development DAY 23

技術 mostly:functional 第二十二章:Monoid 的實體

來到隔壁的建築,我發現這裡幾乎跟剛才那棟非常類似,房間的格局、配置、擺設。但不同的是,這裡的每一間房間,都有一面鏡子。 中綴與前綴 我們可以發現,Semi...

鐵人賽 Software Development DAY 28

技術 Functional Programming in Practice - Part 2

Side effect operator 使用了 RxJava 之後,並沒有讓這邊的程式碼變得更複雜。但是,這邊有一件事需要被探討,在 LoginReposit...

鐵人賽 Software Development DAY 27

技術 Functional Programming in Practice - Part 1

接下來的三篇,打算要來完成一個登入頁面,使用的技術如下: Android framework Android Architecture component:...

鐵人賽 Software Development DAY 22

技術 mostly:functional 第二十一章:Monoid 的法則

…那我告訴你一件有趣的事吧。----- 腦只是鏡子。連接在機械上的腦所生出的不是腦的原主意識,而是所接續的機械的意識。 -- 京極夏彥, 魍魎之匣 而當我...

鐵人賽 Software Development DAY 26

技術 所以 Monad 到底哪裡好用了?

在剛接觸 Monad 這名詞時,我相信一定很多人都很好奇 Monad 是甚麼,所以就會開始上網搜尋,然後就會找到下面這個版本,在這個版本中,使用了透明盒子來比喻...

鐵人賽 Software Development DAY 21

技術 mostly:functional 第二十章:Semigroup 的實體

-- 0823 我試了好幾個數字,丟進去時都沒什麼反應。自暴自棄之下,我開始亂試,其中有幾個東西丟進去的時候,開孔很快的把東西噴回來。感覺好像是有點生氣了。 一...

鐵人賽 Software Development DAY 25

技術 Bind, Return and Monad laws

先複習一下上一篇的內容,一個 Monad,就是一種 Moniod ,而且中間有個特別的 operator ,而他,剛好就是我們熟悉的 flatMap 如下: M...

鐵人賽 Software Development DAY 19

技術 mostly:functional 第十八章:不同事物的相同部份

我們在乎的,不是你的類別,而是你的型別。用另一種方式講,我們不是那麼在乎你是哪一種人,而在乎你是什麼樣的人。 -- 唐鳳, RubyConf 座談, 2014...

鐵人賽 Software Development DAY 24

技術 Monad: a Monoid in the Category of EndoFunctors

終於要來解釋這句話了,距離上一次出現這句話時,我們都還不知道 Monoid, Category, Endofunctor 是什麼,現在除了 Endofuncto...