ハツカネズミの恋

Lisp のもろもろ,おぼえがき

2019-01-01から1年間の記事一覧

Clojure ことはじめ② - 関数 -

関数 Lisp Lisp という単語が,これまで特になんの説明もなく,幾度か登場した.Lisp とは何か,という問いに率直に答えるのは難しい.Lisp に限らず,x とは何か,という問いに率直に答えるのはいつだって難しい.だからここでは,以降の内容を読み進める上…

ビジネスロジックってなんやねんという話

tl; dr ドメインロジック(domain logic) と言ってくれ. ビジネスロジック? Rails について調べていると目にする機会の多いビジネスロジックという単語. めちゃくちゃ雰囲気はあるけど,雰囲気がありすぎて意味が掴めない語の筆頭. e.g. ”Model にはビジ…

my.cnf が見当たらない

sql_mode=only_full_group_by: 問題 とあるデータをバッチ処理にかけていた時のこと.突然のエラー. Mysql2::Error: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'hoge.name' which is not functionally de…

frozen-string-literal: true についてのメモ

脳死で Rubocop を導入すると,あらゆる .rb ファイルの冒頭に自動で挿入される意味不明な文字列として名高い #frozen-string-literal: true .意味不明な文字列は有意味な文字列に変換してしまえば基本的に問題ないはずなので,調べた. tl; dr 文字通り,…

Clojure ことはじめ① - 導入 / データ構造 -

Clojureについて Clojure は JVM をプラットフォームとして動作するLispだ.Clojure というイカした名前にはいくつかの由来がある.ひとつめは,同音異義語である 'closure'.日本語でいうと閉包.この言葉,数学では位相空間論で登場するが,プログラミング…

Routing with Compojure

What's Compojure Compojure is a routing library for Ring interfaces. Compojure realise readable routing by the macro instead of the data. The components of Compojure are : namespace usage compojure.core provides some basic macros for routi…

How to deal with Ring

What's Ring ? Ring is a handy set of interfaces to interact with the web server. Ring uses maps instead of functions to express the requests from client and the responses from server, like Rack in Ruby or WSGI in Python. Ring has been used…

Collection in Clojure

Collection Clojure における Collection とは,coll? 関数を適用した時に logical truth を返すオブジェクトのことだ. coll? Clojure では慣習的に,評価結果が Boolean になる関数は語末に "?" を付ける,という規則がある.すなわち coll? の評価値も Bo…

数学と自然科学

数学が自然科学かどうか,という問いはしばしば議論される.しばしば議論される,という事実が示しているように,その,しばしば行われる議論は,往々にして一意な結論(らしきもの)を提供しない.一意な結論を提供しない,ということばをここでは,命題化さ…

Yコンビネータを読み解く

CS

この記事のお気持ち Yコンビネータ 不動点コンビネータ 不動点 コンビネータ(1) 自由変数 - 束縛変数 コンビネータ(2) この記事のお気持ち という,この呪文がなんなのか,理解したい. なぜこの呪文を理解したいのか.それは僕たちが生きているから. 生き…

おためし,はてな記法

見出しだぞい これで小見出しだぞい リスト 小リスト 定義リスト こんな感じかな 定義リスト あんな感じかな コードの埋め込み(Haskell) collatz :: Integer -> Maybe Integer collatz n = helper n 0 where helper :: Integer -> Integer -> Maybe Integer …