17
<<
<
>
>>
1/1
1 ななしのよっしん
2011/05/04(水) 09:03:54 ID: RfCLxmSkym
記事作成乙
今大学で関数型言語やってるけどメモリがどうとか一言も言ってなかったから知らなかった
2 ななしのよっしん
2013/08/23(金) 19:16:50 ID: wQ/k6ieyIh
ズルwwwww
3 ななしのよっしん
2013/08/23(金) 21:23:06 ID: CE/2XJA1sG
関数型言語でもメモリは使うでしょ
単にいったん書き込んだ値はその後書き替えないのが基本ってだけで
あと、関数型言語知らない人はここでいう「関数」の定義も誤解してると思う
C言語等でいう「関数」はこの記事で言う「関数」とは違う
4 ななしのよっしん
2014/05/28(水) 16:31:58 ID: 7wRLAXThaX
極めてシンプルなパーツの組み合わせだけでどこまでも表現しようとする美しさとか
ピュアとズルの関係についても記述すべき
5 ななしのよっしん
2015/12/11(金) 14:11:08 ID: xz7/xKMGjt
6 ななしのよっしん
2016/10/03(月) 22:13:11 ID: i/yx6DMuGb
C++11
C#
Java
に取り消し線をつけてる意味はなんなん?関数型言語じゃないってこと?だったら一覧に載せる必要ないじゃんてなるし、どういう意図だよ・・・混乱を生むような表現はやめようね
7 ななしのよっしん
2016/11/19(土) 07:44:29 ID: 6SwvQHGpi/
>>6
現実では指摘の通りC++11、C#、Javaを関数型プログラミング言語としてカウントしない人のほうが多数派だと思う
ただ、関数型プログラミング言語の意味は「関数型プログラミングというスタイルで書きやすいプログラミング言語」くらいのあやふやなものなんだ
だからC++11、C#、Java8とかを関数型プログラミング言語とみなしても必ずしも間違いとは言い切れないところがあるし、現に例えば英語版wikipediaの「List of programming languages by type」のページのように、これらの言語が関数型プログラミング言語として扱われているところもある
そういう曖昧模糊とした状況だし、取り消し線付きでリストアップするのは個人的にはありだと思う
8 ななしのよっしん
2016/11/23(水) 16:02:51 ID: z+D/8iqfU/
C++, C#, Javaは途中のバージョンから関数型の要素のうち手続き型でも便利なものを取り入れているが, 全体としては手続き型であって, 関数型はあくまで脇役って感じ
JavaScriptも似たような扱いなんだが, 強いて言えばそれらの要素が昔からあって, それが後で活用されるようになった, という感じで線引かなかったのかな...でも扱いとしては線引かれてる言語とあまり変わらないと思う.
LISPはそのリストの中ではかなり異質かと, 本来なら非純粋の関数型言語に入れていいような気もするが方言・派生ごとに事情が違って, 比較的関数型の気が強いSchemeが別枠として非純粋に入れてあるからそうでないLISPを非関数型として分類したのかもね
9 ななしのよっしん
2016/11/23(水) 16:12:54 ID: 7wRLAXThaX
Lisp は関数型言語の代表例で問題ないっしょ
ピュアとかいって原理主義が前に出過ぎるのはよくない
Swift ってアップルじゃない方かな? 紛らわしいから消すべき
10 ななしのよっしん
2017/02/19(日) 05:15:27 ID: 0qArFZC13Q
組み込みで数値型があるような言語は純粋関数型とは言えないでしょ。チャーチ数で数値型を実装するとかして、すべてのオブジェクトを関数で表現して初めて純粋関数型言語と言える。有名なのだとLazy Kくらいかな
11 ななしのよっしん
2017/03/24(金) 06:38:55 ID: qpvL55M3RE
Common Lispについては関数型もできるよってくらいな気がしますします
あ、Lispとしか書いてなかった
12 ななしのよっしん
2017/07/23(日) 15:39:44 ID: uyaDnTSG6N
Swift(Apple)は関数型ってわけじゃない。定数を let で記述することや、パターンマッチングなんかを見るとモロ影響受けてるのは分けるけどね。
C++はconstexpr縛りがついている時副作用レスであるという保証になるので、部分的に関数型といえる。
13 ななしのよっしん
2018/08/06(月) 14:10:31 ID: pp3CDYT8Qn
だいぶ古いレスだけど
>>10 ここでいう純粋というのは
関数が純粋かどうかという意味だから
数値型の有無は関係ない
メソッドを持たないプリミティブ型の値が存在しない
OO言語のことを純粋オブジェクト指向言語と呼ぶことは
知っているが、それとは純粋関数型言語の「純粋」は全く関係ない
14 ななしのよっしん
2019/05/31(金) 18:12:12 ID: UTAF02gFVS
稀代の詩人が生み出した純粋関数型言語Spinozaが抜けてるぞ
15 ななしのよっしん
2019/11/16(土) 23:53:01 ID: t9xfB7Q773
16 ななしのよっしん
2022/01/22(土) 20:51:28 ID: YQuUeEwl5u
>>6 >>7 >>8
「関数型も利用出来る」とは別枠で「手続き型であるが利便性の為に関数型ライクな文法を一部取り入れている」を作れば万事解決ではないかと
17 ななしのよっしん
2022/01/22(土) 20:59:21 ID: YQuUeEwl5u
関数型言語と言っておきながら、その実は純粋数学的言語というのが正しそうだ
<<
<
>
>>
1/1
ほめた!
ほめるを取消しました。
ほめるに失敗しました。
ほめるの取消しに失敗しました。