Closures vs Objects (228レス)
Closures vs Objects http://mevius.5ch.net/test/read.cgi/tech/1708342755/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
1: デフォルトの名無しさん [sage] 2024/02/19(月) 20:39:15.91 ID:VT95BnI9 It is well-known that closures and objects are equivalent. So are actors. Which one is the most fundamental? よく知られたように、クロージャとオブジェクトは等価です。アクターも同様です。どの概念が最も基本的なのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1708342755/1
199: デフォルトの名無しさん [sage] 2025/02/22(土) 00:34:02.62 ID:2igDN88l 型を動的に生成する、つまり実行時に決まる値に型が依存していても、コンパイル時に検査できる場合はある ということが分かっていない? http://mevius.5ch.net/test/read.cgi/tech/1708342755/199
200: デフォルトの名無しさん [sage] 2025/02/22(土) 00:36:50.14 ID:fju1Vmb5 >>195 収容するコンテナ型Cと一意となるフィールドの型Fの二つの型パラメータを持つ型となるため、 CとFの両方が必要ですね。 CもFも様々な型を取り得るため、 二つとも必須となります。 http://mevius.5ch.net/test/read.cgi/tech/1708342755/200
201: デフォルトの名無しさん [sage] 2025/02/22(土) 00:37:58.92 ID:2igDN88l たとえばList nで長さnのリストを表すとする nが実行時に決まる値だったとしても、関数 concat: List n -> List m -> List (n + m) の型はコンパイル時にチェックできる http://mevius.5ch.net/test/read.cgi/tech/1708342755/201
202: デフォルトの名無しさん [sage] 2025/02/22(土) 00:39:25.47 ID:2igDN88l >>200 うん だから、そう書きたきゃそう書けばいいじゃん http://mevius.5ch.net/test/read.cgi/tech/1708342755/202
203: デフォルトの名無しさん [sage] 2025/02/22(土) 00:42:20.87 ID:fju1Vmb5 >>201 いずれもList型なので、 そのケースは静的に型が定まっていますね。 http://mevius.5ch.net/test/read.cgi/tech/1708342755/203
204: デフォルトの名無しさん [sage] 2025/02/22(土) 00:45:02.92 ID:2igDN88l 正直、あなたの意図がよくわからない こちらの言っていることが理解できないのか、わざわざこんな辺鄙なスレでよく分からん難癖をつけるのが楽しいのか http://mevius.5ch.net/test/read.cgi/tech/1708342755/204
205: デフォルトの名無しさん [sage] 2025/02/22(土) 13:49:24.39 ID:3Aku5oEk 型を動的に作るなんて、RailsのActiveRecordとかごく一般的に行われていることだと思うが http://mevius.5ch.net/test/read.cgi/tech/1708342755/205
206: デフォルトの名無しさん [sage] 2025/02/22(土) 14:03:06.41 ID:o5bbno7I >>205 それはRubyがスクリプト言語に過ぎなくて動的型付け言語だからだよ まともな普通の言語は静的型付け言語なのでActiveRecordのようなO/Rマッピングも静的型付け http://mevius.5ch.net/test/read.cgi/tech/1708342755/206
207: デフォルトの名無しさん [sage] 2025/02/22(土) 14:54:10.02 ID:H7FLchaf >>206 そもそも動的型付け言語・静的型付け言語なんてものはない。 型検査をコンパイル時に行うかどうかは、処理系の実装方法に過ぎない。 また、型が実行時の値に依存していても、コンパイル時に検査することは可能(>>201) あなたは前提知識が足りてなさすぎる http://mevius.5ch.net/test/read.cgi/tech/1708342755/207
208: デフォルトの名無しさん [sage] 2025/02/22(土) 15:46:05.77 ID:IIYOJqnw 言語のセマンティクスと実装は分けて考えるべき http://mevius.5ch.net/test/read.cgi/tech/1708342755/208
209: デフォルトの名無しさん [sage] 2025/02/22(土) 15:57:38.39 ID:es3U9V0K >>207 あなたが混同してる 型検査をコンパイル時に行うかどうかは規格、セマンティクスの領分で 実行時の値とされているものを静的にチェックできる範囲でチェックして警告を出したりするのは実装の領分だろう http://mevius.5ch.net/test/read.cgi/tech/1708342755/209
210: デフォルトの名無しさん [sage] 2025/02/22(土) 16:05:21.30 ID:W3fSq5/I >>207 その両者は明確に分かれてる 動的型付け言語は実行の途中で初めて型が確定しうる 静的型付け言語は必ず実行前に全ての型が定まる これらは言語仕様で定まる 静的型付け言語は型の安全性やパフォーマンスに優れている C/C++, Fortran, Go, Haskell, Java, OCaml, Pascal, Rust, Scala, Swiftなど スクリプト言語以外は静的型付け言語が多数派 http://mevius.5ch.net/test/read.cgi/tech/1708342755/210
211: デフォルトの名無しさん [sage] 2025/02/22(土) 16:35:21.85 ID:N/T45y64 >>209 >型検査をコンパイル時に行うかどうかは規格、セマンティクスの領分で >実行時の値とされているものを静的にチェックできる範囲でチェックして警告を出したりするのは実装の領分だろう >>207はまさにそう言っているのだが http://mevius.5ch.net/test/read.cgi/tech/1708342755/211
212: デフォルトの名無しさん [sage] 2025/02/22(土) 16:51:46.18 ID:1JZL08Pv もうブログかなんかに書いててくれないか http://mevius.5ch.net/test/read.cgi/tech/1708342755/212
213: デフォルトの名無しさん [sage] 2025/02/22(土) 16:53:22.31 ID:W3fSq5/I 静的型付け言語はその言語仕様により 常に全ての型を静的に(=実行前に)確定できる これは言語仕様により定まることであり実装とは関係ない http://mevius.5ch.net/test/read.cgi/tech/1708342755/213
214: デフォルトの名無しさん [sage] 2025/02/22(土) 16:54:54.90 ID:1JZL08Pv 妄想乙 http://mevius.5ch.net/test/read.cgi/tech/1708342755/214
215: デフォルトの名無しさん [sage] 2025/02/22(土) 17:46:21.34 ID:GOJ2wF4D 実行速度の速い言語がすべて静的型付けな点が答えだろうね 素人向けのスクリプト言語は動的型付けで遅い http://mevius.5ch.net/test/read.cgi/tech/1708342755/215
216: デフォルトの名無しさん [sage] 2025/02/22(土) 18:03:51.25 ID:NU7N7MY+ >>210 しれっとHaskell混ぜるなってのw http://mevius.5ch.net/test/read.cgi/tech/1708342755/216
217: デフォルトの名無しさん [sage] 2025/02/22(土) 19:31:02.81 ID:wKCHVlKT 馬鹿が常駐して終わったスレ さよなら http://mevius.5ch.net/test/read.cgi/tech/1708342755/217
218: デフォルトの名無しさん [sage] 2025/02/22(土) 20:19:25.50 ID:FTk8qZlg 無意味な動的型付けにこだわってるのは一人だけだから無視すればよいだけかと 型推論の進歩により静的型付けの唯一の弱点も消えた 型指定を省略できるクロージャなどその典型例 http://mevius.5ch.net/test/read.cgi/tech/1708342755/218
219: デフォルトの名無しさん [sage] 2025/02/22(土) 22:50:21.56 ID:bh0ZAEWN >>218 > 動的型付けに拘ってる 書かれていることを正しく読もう http://mevius.5ch.net/test/read.cgi/tech/1708342755/219
220: デフォルトの名無しさん [sage] 2025/02/22(土) 22:56:32.72 ID:bh0ZAEWN >>187は動的型付けとは何ら関係がない むしろ、直後に指摘されているようにほとんどのケースでコンパイル前に検査できる http://mevius.5ch.net/test/read.cgi/tech/1708342755/220
221: デフォルトの名無しさん [sage] 2025/02/23(日) 02:25:36.50 ID:tIjZB/Ol 型が第一級オブジェクトの言語は、論理学でいえば命題を量化できる二階述語論理に相当するわけだ http://mevius.5ch.net/test/read.cgi/tech/1708342755/221
222: デフォルトの名無しさん [sage] 2025/02/23(日) 03:10:06.06 ID:ojjdIlYs f x = 10 g y = 20 h z = 30 h . g . f 10 -- 30 http://mevius.5ch.net/test/read.cgi/tech/1708342755/222
223: デフォルトの名無しさん [sage] 2025/02/23(日) 03:10:58.23 ID:ojjdIlYs hの定義内で途中の計算結果10, 10, 20を参照するにはどうするか http://mevius.5ch.net/test/read.cgi/tech/1708342755/223
224: デフォルトの名無しさん [sage] 2025/02/23(日) 04:40:15.50 ID:upqukZrZ トランポリン http://mevius.5ch.net/test/read.cgi/tech/1708342755/224
225: デフォルトの名無しさん [sage] 2025/02/23(日) 06:54:06.73 ID:jtLYghc/ h z x y = 30にする http://mevius.5ch.net/test/read.cgi/tech/1708342755/225
226: デフォルトの名無しさん [] 2025/03/09(日) 23:01:10.03 ID:eGDnXODc >>223 途中を参照したいなら関数の返り値を複数にして返していく 途中を表示したいなら関数を副作用アリにする http://mevius.5ch.net/test/read.cgi/tech/1708342755/226
227: デフォルトの名無しさん [sage] 2025/03/14(金) 17:25:51.81 ID:TOg9uiCJ S式 (+ 1 (* 2 3)) RPN 1 2 3 * + CPS 1 >> (x -> 2 >> (y -> 3 >> (z -> (y * z) >> (m -> (x + m)))))) Do記法 x <- 1 y <- 2 z <- 3 m <- y * z x + m http://mevius.5ch.net/test/read.cgi/tech/1708342755/227
228: デフォルトの名無しさん [] 2025/06/17(火) 21:17:24.66 ID:66zQf9l5 はぁ? クロージャって何すか? クローゼットのことですか? プログラマ「もういい」 http://mevius.5ch.net/test/read.cgi/tech/1708342755/228
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.640s*