書籍「はじめてのLisp関数型プログラミング」を執筆しました。
Lisp による関数型プログラミングの入門書です。日常生活のプログラミングパラダイムとして使いたい方にお勧めします。
Lisp を使って説明していますが、関数型プログラミングの入門書になっていますので、他の言語でも大丈夫です。そして遅延評価や無限リストなども Lisp では手作りしていますので、その構造がよく分かります。
ご興味おある方は是非、ご笑覧ください。
章末の「関数型プログラミング本を読んでみた女子の日常」もあります。
増補版:気軽に試してみよう!今こそ Lisp 入門 - Lisp の調べ
2015-08-02 17:24:54 (9 years ago)
-
カテゴリタグ:
- lisp
「ソフトウェアデザイン 2015年8月号」の第1特集なぜ関数型プログラミングは難しいのか?Lisp,Scala,Haskell,Elixir,Python,Clojure,関数型のエッセンスを学習するの第1章「気軽に試してみよう!今こそLisp入門」に執筆しました。その増補版を以下で公開しています。
増補版:気軽に試してみよう!今こそ Lisp 入門 - Lisp の調べ
いつの間にか、増補版のページ数がすごいことになってきました。。。
その内容は今のところ、以下のようになっています。
----
Contents
1. 関数型プログラミングでもっと言いたかったこと
(1) λ計算
(2) 評価戦略 - 遅延評価
(3) 並行・並列処理 - スレッドセーフ、リエントラント
(4) 副作用はバグの温床 - グローバル変数と代入文(増補)
(5) 参照透過性を持つ関数型プログラミングは形式手法(数学的手法)とマッチする
(6) 関数型プログラミングの利点と欠点の具体例
2. Lisp の特徴でもっと言いたかったこと
(1) 強力・柔軟なマクロ
(2) 動的関数定義
(3) S式とM式
(4) 関数閉包(クロージャ)と継続(コンティニュエーション)
(5) 多値 multiple value
(6) Lisp のベンチマークプログラム tarai
(7) オブジェクト指向機能
(8) 適用可能メソッドの優先順位によるパターンマッチ
(9) Lisp はマルチパラダイム言語
(10) Lisp は世界最大の言語で世界最小の言語
(11) タイプとクラスの怪しい関係、さらに構造体との三角関係
(12) Lisp-1 v.s. Lisp-2
(13) Lisp プログラムのパフォーマンスチューニング
(14) GC(Garbage Collection)
(15) データもプログラムも同じS式で表現(増補)
(16) 無限長整数 bignum のサポート
(17) 汎変数 generalized variable
(18) メタサーキュラーインタプリタ metacircular evaluator
(19) 末尾再帰 tail recursion
(20) クロージャは苦労するんじゃ
(21) インターン - シンボルテーブルに囚われし者
(22) レキシカルスコープ - 歴史あるスコープ
(23) 深い束縛と浅い束縛、あなたの好みは?
(24) スペシャル変数またの名を動的変数、その罪深き者へ
(25) Lisp の掟その一 - ネーミング規則
(予定)(26) Lisp の掟その二 - プリティプリント~インデントの深い闇
---以下、省略---
増補版:気軽に試してみよう!今こそ Lisp 入門 - Lisp の調べ
いつの間にか、増補版のページ数がすごいことになってきました。。。
その内容は今のところ、以下のようになっています。
----
Contents
1. 関数型プログラミングでもっと言いたかったこと
(1) λ計算
(2) 評価戦略 - 遅延評価
(3) 並行・並列処理 - スレッドセーフ、リエントラント
(4) 副作用はバグの温床 - グローバル変数と代入文(増補)
(5) 参照透過性を持つ関数型プログラミングは形式手法(数学的手法)とマッチする
(6) 関数型プログラミングの利点と欠点の具体例
2. Lisp の特徴でもっと言いたかったこと
(1) 強力・柔軟なマクロ
(2) 動的関数定義
(3) S式とM式
(4) 関数閉包(クロージャ)と継続(コンティニュエーション)
(5) 多値 multiple value
(6) Lisp のベンチマークプログラム tarai
(7) オブジェクト指向機能
(8) 適用可能メソッドの優先順位によるパターンマッチ
(9) Lisp はマルチパラダイム言語
(10) Lisp は世界最大の言語で世界最小の言語
(11) タイプとクラスの怪しい関係、さらに構造体との三角関係
(12) Lisp-1 v.s. Lisp-2
(13) Lisp プログラムのパフォーマンスチューニング
(14) GC(Garbage Collection)
(15) データもプログラムも同じS式で表現(増補)
(16) 無限長整数 bignum のサポート
(17) 汎変数 generalized variable
(18) メタサーキュラーインタプリタ metacircular evaluator
(19) 末尾再帰 tail recursion
(20) クロージャは苦労するんじゃ
(21) インターン - シンボルテーブルに囚われし者
(22) レキシカルスコープ - 歴史あるスコープ
(23) 深い束縛と浅い束縛、あなたの好みは?
(24) スペシャル変数またの名を動的変数、その罪深き者へ
(25) Lisp の掟その一 - ネーミング規則
(予定)(26) Lisp の掟その二 - プリティプリント~インデントの深い闇
---以下、省略---
なぜ関数型プログラミングは難しいのか?
2015-07-25 17:29:14 (9 years ago)
-
カテゴリタグ:
- lisp
増補版:気軽に試してみよう!今こそ Lisp 入門
Software Design 2015年8月号 に執筆した「気軽に試してみよう!今こそ Lisp 入門」は
初心者向きの記事であったことやページ数の関係で、書き切れなかったことをここに(ぼちぼち)書いています。
Contents
1. 関数型プログラミングでもっと言いたかったこと
2. Lisp の特徴でもっと言いたかったこと
3. Lisp ジョーク - Lisp に関するジョークいろいろ
4. Lisp の歴史
5. Lisp 事例 - Lisp で書かれたいろいろ
6. サンプルプログラム
7. やさしい Lisp 処理系の作り方
8. Lisp いじわるクイズ(または Lisp 能力検定)
9. FAQ
(1) すべてのプログラムは副作用のないプログラムで実装できますか?
(2)「動的型付けの実装が面倒」とは、どういう点が実装が面倒と言ってるのでしょうか?
(3) そもそも難しくないプログラミングなんてあるのでしょうか?
(4) 関数型プログラミングは結局、何がいいんでしょうか?
(5) なぜ関数型プログラミングは難しいのか?
Software Design 2015年8月号 に執筆した「気軽に試してみよう!今こそ Lisp 入門」は
初心者向きの記事であったことやページ数の関係で、書き切れなかったことをここに(ぼちぼち)書いています。
Contents
1. 関数型プログラミングでもっと言いたかったこと
2. Lisp の特徴でもっと言いたかったこと
3. Lisp ジョーク - Lisp に関するジョークいろいろ
4. Lisp の歴史
5. Lisp 事例 - Lisp で書かれたいろいろ
6. サンプルプログラム
7. やさしい Lisp 処理系の作り方
8. Lisp いじわるクイズ(または Lisp 能力検定)
9. FAQ
(1) すべてのプログラムは副作用のないプログラムで実装できますか?
(2)「動的型付けの実装が面倒」とは、どういう点が実装が面倒と言ってるのでしょうか?
(3) そもそも難しくないプログラミングなんてあるのでしょうか?
(4) 関数型プログラミングは結局、何がいいんでしょうか?
(5) なぜ関数型プログラミングは難しいのか?
現場で使うためのオールペア法、直交表の基本(4): 組み合わせテストを現場で使うときの判断指針とPDCA
2015-05-30 21:26:44 (9 years ago)
-
カテゴリタグ:
- コンピュータ
現場で使うためのオールペア法、直交表の基本
2015-04-29 12:31:05 (9 years ago)
-
カテゴリタグ:
- コンピュータ
@IT の連載記事「現場で使うためのオールペア法、直交表の基本」の紹介
第1回目 ソフトウエアテストの考え方――本質、基本を知る
第2回目 組み合わせテストを科学的に効率化する――手法とツール、品質保証のための道具
第3回目 組み合わせテストを開発現場で使いこなすには?――考え方のヒントと5つのコツ
第1回目 ソフトウエアテストの考え方――本質、基本を知る
第2回目 組み合わせテストを科学的に効率化する――手法とツール、品質保証のための道具
第3回目 組み合わせテストを開発現場で使いこなすには?――考え方のヒントと5つのコツ
- Calendar
<< September 2024 >> Sun Mon Tue Wed Thu Fri Sat 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
- search this site.
- amazon
-
(当ブログのお勧め!)
(当サイトからも写真提供)
- tags
-
- 更新情報 (282)
- アクセス記録 (33)
- 神奈川 (31)
- どうぶつしょうぎ (25)
- 千葉 (24)
- 埼玉 (23)
- 鉄活動 (22)
- 群馬 (20)
- 東京 (18)
- 栃木 (14)
- 愛知 (13)
- 静岡 (10)
- 北海道 (9)
- 鉄道の調べの記録 (8)
- 大阪 (8)
- 宮城 (8)
- 山梨 (7)
- 三重 (7)
- 福島 (6)
- 岐阜 (6)
- 島根 (6)
- ナノブロック (6)
- 岡山 (5)
- 茨城 (5)
- 鉄活動東海 (5)
- 和歌山 (5)
- lisp (5)
- コラム (4)
- 地震 (4)
- 鉄玩 (4)
- 化物語 (4)
- 広島 (4)
- コンピュータ (4)
- プログラミング (4)
- 福岡 (4)
- 長野 (4)
- 新潟 (4)
- 山形 (4)
- 機関車 (4)
- 書籍 (4)
- 書泉グランデ (3)
- 貨物列車 (3)
- 小説 (3)
- 長崎 (3)
- Android (3)
- 海外 (2)
- 鉄予定 (2)
- アルゴロジック (2)
- 挨拶 (2)
- ウェブサイト (2)
- Japanino (2)
- 鳥取 (2)
- 石川 (2)
- 時刻表 (2)
- 鉄オフ (2)
- 滋賀 (1)
- 京都 (1)
- 福井 (1)
- IoT (1)
- 香港 (1)
- 韓国 (1)
- 岩手 (1)
- セキュリティ (1)
- ウォーキング (1)
- 駅名標 (1)
- 鉄コレ (1)
- 駅名標.JP (1)
- 飲み会 (1)
- 旅先料理の調べ (1)
- Twitter (1)
- はやぶさ (1)
- 過去 (1)
- mixi (1)
- RAILWAYS (1)
- archives
-
- 202010 (1)
- 201905 (3)
- 201701 (1)
- 201609 (1)
- 201606 (1)
- 201603 (4)
- 201508 (2)
- 201507 (1)
- 201505 (1)
- 201504 (1)
- 201503 (1)
- 201412 (3)
- 201406 (2)
- 201312 (1)
- 201309 (1)
- 201303 (1)
- 201302 (1)
- 201212 (2)
- 201210 (1)
- 201208 (4)
- 201204 (3)
- 201203 (4)
- 201202 (3)
- 201201 (4)
- 201112 (2)
- 201111 (2)
- 201109 (1)
- 201108 (8)
- 201105 (1)
- 201104 (6)
- 201103 (17)
- 201102 (8)
- 201101 (2)
- 201012 (5)
- 201011 (4)
- 201010 (12)
- 201009 (17)
- 201008 (13)
- 201007 (9)
- 201006 (13)
- 201005 (19)
- 201004 (20)
- 201003 (14)
- 201002 (15)
- 201001 (21)
- 200912 (22)
- 200911 (27)
- 200910 (19)
- 200909 (16)
- 200908 (18)
- 200907 (15)
- 200906 (6)
- 200905 (18)
- 200904 (7)
- recent trackback
- amazon
-
(当サイトからも写真提供)