Skip to content

Instantly share code, notes, and snippets.

@stken2050
stken2050 / file0.txt
Last active Aug 29, 2015
圏論の考え方でつくられた、JavaScriptで動作する純粋関数型プログラミング言語 spinoza (スピノザ) ref: http://qiita.com/kenokabe/items/61d156005c7831c693cd
View file0.txt
world = $('hello')(out);
@stken2050
stken2050 / #関数、値、圏論、モナド、評価戦略、純粋関数型、その辺りの「数学的基礎」を教える
Last active Feb 3, 2018
#関数、値、圏論、モナド、評価戦略、純粋関数型、その辺りの「数学的基礎」を教える
View #関数、値、圏論、モナド、評価戦略、純粋関数型、その辺りの「数学的基礎」を教える
純粋関数型言語の定義は論争があるらしいです。
多くの人が純粋関数型言語は副作用がない、という文脈で語っています。
ところが、よくよく調べてみると、その「副作用」というのがかなりトリッキーなワードで、彼ら自身がIO(入出力)と副作用の関係、さらに参照透過との関係があまりよくわかっていない感じで、原因と結果がはちゃめちゃな言葉遣いをしているのをみます。
私が純粋関数型っていうのは遅延評価戦略が不可分だ、って書いていたら、
副作用の排除(この言葉がどういう感じで彼らに使われているのかが未だよくわからない)が重要だ、いう文脈でJavaScriptを純粋関数化する!という優秀な人が現れ、JavaScriptにHaskellのIOモナドを実装してしまいました。
そのコードを見ると、それはJavaScriptに遅延評価を実装する典型的なコードであり、挙動の説明も完全に遅延評価でFRPの話でした。
@stken2050
stken2050 / 事象の地平面(イベント・ホライズン) オブジェクト指向という情報のブラックホール、アンチパラダイムとしての純粋関数型HaskellモナドをUNIXの標準ストリームとconsole.logで読み解く
Last active Aug 29, 2015
事象の地平面(イベント・ホライズン) オブジェクト指向という情報のブラックホール、アンチパラダイムとしての純粋関数型HaskellモナドをUNIXの標準ストリームとconsole.logで読み解く
View 事象の地平面(イベント・ホライズン) オブジェクト指向という情報のブラックホール、アンチパラダイムとしての純粋関数型HaskellモナドをUNIXの標準ストリームとconsole.logで読み解く
#事象の地平面(イベント・ホライズン) オブジェクト指向という情報のブラックホール、アンチパラダイムとしての純粋関数型HaskellモナドをUNIXの標準ストリームとconsole.logで読み解く
##UNIXの標準ストリーム
####物質世界(ハードウェア)と論理世界(ソフトウェア)
![enter image description here](http://upload.wikimedia.org/wikipedia/commons/thumb/7/70/Stdstreams-notitle.svg/535px-Stdstreams-notitle.svg.png)
>[標準ストリーム(英: standard streams)](http://ja.wikipedia.org/wiki/%E6%A8%99%E6%BA%96%E3%82%B9%E3%83%88%E3%83%AA%E3%83%BC%E3%83%A0)は、UNIXおよびUnix系オペレーティングシステムや一部のプログラミング言語インタフェースにおいて、プログラムとその環境(通常は端末)を実行前から接続している入出力チャネルである。現在では3つの入出力があり、標準入力 (standard input)、標準出力 (standard output)、標準エラー出力 (standard error) と呼ばれている。かつては通信回線に対応する標準補助入出力 (stdaux)、帳票印字を出力する装置に対応する標準プリンタ出力 (stdprn)も用意されていた。
>背景
@stken2050
stken2050 / #「純粋関数型」 &「副作用」というトリッキーワードについて想うこと『裸の王様』
Last active May 16, 2017
「純粋関数型」 &「副作用」というトリッキーワードについて想うこと『裸の王様』
View #「純粋関数型」 &「副作用」というトリッキーワードについて想うこと『裸の王様』
[関数型言語のウソとホント](http://qiita.com/hiruberuto/items/810ecdff0c1674d1a74e)
に引き続き、
[純粋関数型JavaScriptのつくりかた](http://qiita.com/hiruberuto/items/810ecdff0c1674d1a74e)
という、とても有意義な記事を @hiruberuto 氏が連発しておられます。
この一連の記事を起点にして思うことをいくつか共有します。
-----
@stken2050
stken2050 / #'Google Drive' というディレクトリ名のスペースが多大な問題を引き起こすので何とかする@Ubuntu
Created Jan 11, 2015
#'Google Drive' というディレクトリ名のスペースが多大な問題を引き起こすので何とかする@Ubuntu
View #'Google Drive' というディレクトリ名のスペースが多大な問題を引き起こすので何とかする@Ubuntu
#'Google Drive' というディレクトリ名のスペースが多大な問題を引き起こすので何とかする@Ubuntu
GoogleDrive は容量が大きいし、インフラとしても安定しているので、クラウドストレージとして便利に使えます。
UbuntuでもGoogle非公式に利用できて、
```
sudo add-apt-repository ppa:thefanclub/grive-tools
sudo apt update
sudo apt install grive-tools
@stken2050
stken2050 / #facebook-immutable で階乗計算
Last active Aug 29, 2015
#facebook-immutable で階乗計算
View #facebook-immutable で階乗計算
#facebook-immutable で階乗計算
facebook-immutable で階乗計算
##Range()
http://facebook.github.io/immutable-js/docs/#/Range
>Returns a IndexedSeq of numbers from `start` (inclusive) to `end` (exclusive), by `step`, where `start` defaults to 0, `step` to 1, and `end` to infinity. When `start` is equal to `end`, returns empty range.
@stken2050
stken2050 / JavaScriptはオブジェクト指向だろ?wとかいう、ありがちな誤解と大嘘 関数型言語
Last active Aug 29, 2015
JavaScriptはオブジェクト指向だろ?wとかいう、ありがちな誤解と大嘘 関数型言語
View JavaScriptはオブジェクト指向だろ?wとかいう、ありがちな誤解と大嘘 関数型言語
<h1 id="javascriptはオブジェクト指向だろwとかいうありがちな誤解と大嘘-関数型言語">JavaScriptはオブジェクト指向だろ?wとかいう、ありがちな誤解と大嘘 関数型言語</h1>
<p>この記事はもともと、 <br>
てんでバラバラに語られ解説されてしまうことが非常に多い、</p>
<p>非同期、 <br>
Ajax(Asynchronous JavaScript And XML)、 <br>
イベント駆動、 <br>
宣言型プログラミング、 <br>
関数型プログラミング、 <br>
@stken2050
stken2050 / #FRPで無限ループ while(true)を実現する方法 facebook React + Immutable
Last active Aug 29, 2015
#FRPで無限ループ while(true)を実現する方法 facebook React + Immutable
View #FRPで無限ループ while(true)を実現する方法 facebook React + Immutable
#FRPで無限ループ while(true)を実現する方法 facebook React + Immutable
###while(true)
```js
var i =0;
while(true)
{
console.log(i++);
}
@stken2050
stken2050 / 数学的FRP解説からのFacebook-React
Last active Aug 29, 2015
数学的FRP解説からのFacebook-React
View 数学的FRP解説からのFacebook-React
##リアクティブの説明
もっとも身近でわかりやすい説明とは、以下のようなものです。
車輪の再発明をする必要は感じられないので、
@hirokidaichi 氏による解説
[2015年に備えて知っておきたいリアクティブアーキテクチャの潮流](http://qiita.com/hirokidaichi/items/9c1d862099c2e12f5b0f)
から引用させていただきます。
>## エクセルとリアクティブプログラミング
@stken2050
stken2050 / Think different スティーブ・ジョブズの人生の哲学
Last active May 11, 2016
Think different スティーブ・ジョブズの人生の哲学
View Think different スティーブ・ジョブズの人生の哲学
#Think different スティーブ・ジョブズの人生の哲学
##2015年、新年あけましておめでとうございます。
今年もどうぞよろしくお願いいたします。
今年も新たな一年ということで、気持ちを新たにしたいと思います。
皆様はどんな新年を迎えられたでしょうか。
個人的な新年の抱負として、