iT邦幫忙

functional programming相關文章
共有 132 則文章
鐵人賽 Software Development DAY 15

技術 mostly:functional 第十四章:再一次遞迴,然後…

自由的數字帶來了什麼呢?當人們可以無視單位,專注在數字上之後,我們可以開始討論數字本身的性質,及數字與數字之間的關係。 --- taiansu, mostly...

鐵人賽 Software Development DAY 20

技術 Functional Data Structure

上次的解答: fun <P1, P2, P3, R> ((P1, P2, P3) -> R).curried(): (P1) -> (P...

鐵人賽 Software Development DAY 14

技術 mostly:functional 第十三章:當我們談論等號時,我們在談論什麼?*

幸福的家庭都是相似的,而不幸的家庭各有各的不幸。 --列夫·托爾斯泰, 安娜·卡列尼娜 那麼,等號 = 除了綁定還能做什麼呢?我們可以先回顧一下 JS 莊...

鐵人賽 Software Development DAY 19

技術 Curried function

前面看過兩次,今天終於要來介紹咖哩(誤)了,坦白說,在我的日常開發中並不會使用到這個概念,所以我沒辦法說服自己說,這是一個很方便的東西,以下到內容是我查閱資料整...

鐵人賽 Software Development DAY 13

技術 mostly:functional 第十二章:鐫刻的真相,狀態的琥珀

我將真相刻在鋼板上,其餘的皆不可信。 -- 布蘭登·山德森, 迷霧之子:昇華之井 我注意到窗外有個告示板,或是加油站,又或是同為兩者的東西 告示板上寫著大...

鐵人賽 Software Development DAY 18

技術 Function type - Another Algebraic Data Type

在之前的 Algebraic Data Type 中介紹了加法與乘法,也就是 Sum Type and Product Type,今天再來介紹另外一種 Alge...

鐵人賽 Software Development DAY 12

技術 mostly:functional 第十一章:冗餘的變數,連續的轉變

四月是最殘酷的季節, 讓死寂的土原迸出紫丁香, 摻雜著追憶與慾情, 以春雨撩撥萎頓的根莖 -- T·S·艾略特, 荒原 當我們站到城的門口,有個低沉而安穩...

鐵人賽 Software Development DAY 17

技術 Composition, Abstraction and Principles

上一篇的解答: fun <D, A> List<Reader<D, A>>.liftReader(): Reader<...

鐵人賽 Modern Web DAY 10
打通 RxJS 任督二脈 系列 第 10

技術 Functional Programming 常用基本技巧及應用與 RxJS 應用

昨天的文章我們把 functional programming 的大致概念介紹了一下,今天我們來介紹一些使用 functional programming 開發...

鐵人賽 Software Development DAY 11

技術 mostly:functional 第十章:自我指涉的藝術

GNU 是 GNU is not UNIX! 的縮寫。 --- 維基百科 天氣放晴了,但風吹在身上卻開始有些涼意了。 一邊說著差不多該是離開前往下一個城市...

鐵人賽 Software Development DAY 16

技術 Reader Monad

相依注入 - Dependency Injection ,對於 OOP 來說是一個很重要的概念,各框架、語言也都有非常多的函式庫可以用。主流的注入的方法主要有兩...

鐵人賽 Software Development DAY 10

技術 mostly:functional 第九章:高階函式與它們的產地

在街道上走著,四周空無一人。雨,無聲下了起來。 稍微加快了步伐向前,才想到我似乎還不知道要往哪裡去。然後我注意到打在路面的雨,以及踩上那雨的我的腳,忽然有一種感...

鐵人賽 Modern Web DAY 9
打通 RxJS 任督二脈 系列 第 9

技術 認識函式語言程式設計 - Functional Programming

函式語言程式設計 (Functional Programming) 是 ReactiveX 應用中非常重要的一部份,在個人過去的經驗中,遇過不少覺得 RxJS...

鐵人賽 Software Development DAY 15

技術 Lenses

今天來介紹點大家不是很常碰到的神奇用法,看看下面這段程式: data class Path(val content: String, val id: Strin...

鐵人賽 Software Development DAY 9

技術 mostly:functional 第八章:急躁的,耐心的,以及還不完整的。

要怎樣定義一個人呢?看他一無所有時的耐心,及擁有一切時的態度。 --- 諺語 "你喜歡吃咖喱嗎?",一路淋著毛毛細雨,我們晃到一家餐廳...

鐵人賽 Software Development DAY 14

技術 Introduce Monoid

上一篇的解答: sealed class Either<A, B>() { class Left<A, B>(val valu...

鐵人賽 Software Development DAY 8

技術 mostly:functional 第七章:不存在的名字、自由的樣貌

名字裡究竟有什麼?如果玫瑰不叫玫瑰,它還是一樣的芳香。 -- 莎士比亞, 哈姆雷特 雨,開始下起來了。空氣中滿是潮溼的香氣,隨著雨滴打在道路及建築上的聲音...

鐵人賽 Software Development DAY 13

技術 Algebraic Data Type II

Algebraic Data Type 的 0 與 1 在數學中,我們都知道數字 0 ,0 乘任何數字都是 0 、 0 加上任何數字的話就是該數字本身 ,或是...

鐵人賽 Software Development DAY 7

技術 mostly:functional 第六章:王國的改革、觀點的困境

我的語言的界限,即是我的世界的界限。 -- 路德維希·維根斯坦, 邏輯哲學論 回過神來,才發現窗外愈來愈暗,淺灰色的雲,不知從何時開始,已在這個城市的上空...

鐵人賽 Software Development DAY 12

技術 Algebraic Data Type

Algebra ,也就是代數,大家國小都學過,可以由簡單的加法與乘法組合而成,在 Category theory 中,也有著這樣的概念,甚至可以將這些概念應用在...

技術 Week30 - 結構化、OOP物件導向、FP函數式都有一個夢想,所以別爭了一起化為黃金之風吧! [高智能方程式系列]

本文章同時發佈於: Medium iT 邦幫忙 嗨大家好,最近因為鐵人賽的關係,許多優秀的 FP 文章被產出,例如: Functional Pro...

鐵人賽 Modern Web DAY 11

技術 [Day 11] 遠征 Kotlin × 函數式程式設計

函數式程式設計特性 我們在前面函數章節有提到 Lambda 的基本概念,而如果我們想要更好運用 Lambda 語法與相關函數API,可以先認識函數程式設計(Fu...

鐵人賽 Software Development DAY 6

技術 mostly:functional 第五章:文字,是非,與一等公民

所有動物生來平等,但有些動物比其他動物更為平等。 -- 喬治·歐威爾, 動物農莊 又一天,同樣的咖啡館,我們坐在窗邊。外面的天空看不見太陽,遠方的山頭,有...

鐵人賽 Software Development DAY 11

技術 Introduce Functor

在前面的很多篇中介紹了許許多多不同的“容器”,那這些“容器”對於 Category theory 又有什麼樣的意義?今天就來介紹其中一個:Functor。 Fu...

鐵人賽 Software Development DAY 5

技術 mostly:functional 第四章:還不確定的東西與計算的過程

語句只在理解它們的人那裡擁有意義。 語句捕捉了我們的想法,而想法本身,遠比我們用來描述它的詞彙更為重要。 -- Daniel P. Friedman and...

鐵人賽 Software Development DAY 10

技術 Category theory

在本文開始之前先打個預防針,我學習 Category theory 的時間其實沒有多長,所以如果以下或之後的內容有誤,或是有不完善的地方請各位多多包含。另外為了...

鐵人賽 Software Development DAY 4

技術 mostly:functional 第三章:容器與莊園

通往地獄的路,都是由善意所鋪成的。 -- Friedrich August von Hayek 哈哈,你注意到了,對吧?飄浮在我們旁邊一閃一閃的那些。那個...

鐵人賽 Software Development DAY 9

技術 More FlatMap : List and Try

今天再來講多一點 flatMap 的例子吧!首先從 List 開始! FlatMap for List 一樣先看例子,以下這個例子的目標是分解句子中的單字,其中...

鐵人賽 Software Development DAY 8

技術 [RxJava] side effect operators and advanced operator

Side Effect Operator 前一篇介紹了 Observable 跟 Try 是如何處理Exception 這個 side effect,那麼可能有...

鐵人賽 Software Development DAY 3

技術 mostly:functional 第二章: 泥板

「3 枝鉛筆加上 2 枝鉛筆是 5 枝鉛筆。那 3 個鈕扣加上 2 個鈕扣呢?」 「5 個鈕扣。」 「但是第一個問題是在說鉛筆,也許鈕扣會不一樣啊?」 — R...