Clojure 的社群相對其他語言來說,平均程式能力較高(因為語言入門程度難,Clojure 多半是已經精通數種語言的工程師跨入函數式程式設計的語言)。底下介紹...
下一步 回顧 你從一無所知,到現在對 Clojure 有了初步的認識。首先知道了 Clojure 的基本組成以及資料結構與型態,接着學會了如何建立繫結與函式,知...
Clojure 是一種動態的、強類型、執行在 Java 虛擬機(JVM)上的 Lisp 方言。目前算是函數式編程(functional programming)...
Packt 書目頁 這次鐵人賽介紹的《Clojure for Data Science》是一個從統計到機器學習的逐步教材。而這本同樣由 Packt 出版的 co...
測試 你是否有過這樣的經驗:本來只是修改了 A 部分的程式,結果改完之後 B 部分的程式竟然不正常;或者是以前早就改好的問題,在這次改版之後又出現了呢?當有這些...
前言 世界太新,很多事物還沒有名字,必須用手指頭伸手去指。 — 賈西亞•馬奎茲《百年孤寂》 Clojure 是什麼 Clojure 從 2007 年由創始人...
巨集 授人以 Fortran 得 Fortran,授人以 Lisp 得所喜之語言。 — 蓋伊·史提爾二世《The Seasoned Schemer》 LIS...
基本組成(二) 資料型態 布林 Clojure 程式語言使用 true 和 false 來表示邏輯上的真與假: true ;; => true false...
基本組成(一) 運算式 Clojure 程式是由許多運算式 (Expression) 組合而成。在 Clojure 中,Expression (運算式) 也被稱...
繼續閱讀《Clojure for the Brave and True》 第五章 函數式編程的優勢:無副作用、引用透明 不可變數據結構(immutable...
資料結構與型態(一) 本篇文章將介紹 Clojure 內建的的資料結構與型態,會先從簡單的資料型態如數字及字串開始,再介紹複雜的資料結構如群集 (Collect...
讀取器與詮釋資料 你就要開始讀伊塔羅•卡爾維諾的新小說《如果在冬夜,一個旅人》。 — 卡爾維諾《如果在冬夜,一個旅人》 Clojure 程式開始於一串文字,...
與 Java 共舞(三) 從 Clojure 呼叫 Java 有用的工具函式 doto doto 巨集將第一個參數傳遞給其後運算式當作第一個參數。它將以下層疊的...
資料結構與型態(三) 群集 Clojure 的複合型別稱爲群集 (Collection),可以容納基本型別跟複合型別,所有的群集都是不可變 (Immutable...
命名空間與專案(一) 我心裡一直都在暗暗設想,天堂應該是圖書館的模樣。 — 波赫士《關於天賜的詩》 本篇文章將介紹組織程式碼的方法,包括以類似功能或屬性歸類...
這章的重點是大數據相關的處理。儘管如此,本章使用的範例資料是來自 U.S. Internal Revenue Service 的收入與稅收的關聯性資料,只有約...
繫結與函式(一) 函式是函數式程式設計的核心,雖然各個流派談及函數式程式設計,都有自己的定見和看法,但是不變的核心仍然是函式,函式必須是程式語言的第一級公民 (...
資料結構與型態(二) 字串與字符 Clojure 的字串即是 Java 的 String 類型,表現方法也跟 Java 一樣用雙引號包住文字: (class &...
並行與併發(一) 建構軟體設計有兩種方式:一種是簡單明顯地沒有缺陷,另一種則是複雜到沒有明顯的缺陷。 — 東尼•霍爾 現代計算機系統走向多核,爲了運用多核心...
推論統計除了計算樣本特質外,另一個重點就是從樣本去建構假說,並進行假說測試。一般來說,常見的假說檢定流程如下: 兩個群體,例如:服藥(控制組)、未服藥(對照組...
並行與併發(三) 狀態管理與併發 參考類型 Ref Clojure 使用了軟體事務存儲 (Software Transactional Memory,之後簡稱...
命名空間與專案(三) 編輯器 俗話說:工欲善其事,必先利其器。好的編輯器能夠讓你更輕鬆地輸入程式、容易地測試程式,或是提供有用的資訊修正錯誤。以下介紹開發 Cl...
命名空間與專案(二) 命名空間 保護資訊 以上的函式都會引用到命名空間中的公開資訊,如果有些資訊想要隱藏不被使用,可以在使用 def 設立 Vars 物件時加上...
遞迴 一般遞迴 遞迴是函式透過不斷呼叫自己,將問題切割成數個細小問題逐個解決之後,把結果統整起來的問題解決方式。函數式程式設計語言透過遞迴達成迴圈可以做到的事。...
第二章有第二章自己的 repo: ch2,裡面有一個資料下載腳本,主要是來自於一假想公司 AcmeContent 的影片觀看資料,dwell-time 是網站停...
並行與併發(四) 狀態管理與併發 參考類型 Agent 有別於 Ref 與原子類型的協調式與同步式,Agent 類型狀態的更新不需與其他狀態更新協同合作,也不需...
資料型別與協定(一) 計算機科學有兩大難題:快取失效,爲事物命名以及差一錯誤。 — 菲爾•卡爾頓 我們以程式語言中的物件,數值與函式形塑真實世界,雖然 Cl...
Concurrency V.S. Parallelsim Concurrency 併發:同時管理超過一個任務,但不一定是同時執行,切換前也不必要完成原先的任務...
讀取器與詮釋資料(二) 詮釋資料 (Metadata) 詮釋資料是添加在符號或群集中的映射,其中記載了該符號或群集的資訊。使用 with-meta 函式添加詮釋...
繫結與函式(二) 函式 多載 Java 中將類別裡擁有數個同樣名字的方法 (Method),參數個數卻不同稱爲多載 (Overloading),Clojure...