問題タブ [imperative-languages]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
delegates - ラムダ式を説明できますか?
ラムダ式は実際には取得しません。それらはALGOLの時代から存在していましたが、PythonとRubyが非常に人気になったごく最近まで、私はそれらについて聞き始めませんでした。C#に=>
構文が追加されたので、私の世界(.NET)の人々はますますlamdba式について話し合っています。
ラムダ計算に関するウィキペディアの記事を読んだことがありますが、私は実際には数学者ではありません。実用的な観点からはよくわかりません。ラムダ式はいつ使用しますか?なんで?それが私がすべきことだとどうやって知ることができますか?
ラムダ式の問題を前後の形式で解決する方法の例を示していただけますか?命令型言語であれば問題ありませんが、C#が最も理解しやすいでしょう。
java - 非関数型言語で関数型プログラムを書く
Java で不変データ構造を使用してプログラムを作成するとします。関数型言語ではありませんが、並列実行できるはずです。プロセッサのすべてのコアを使用してプログラムが実行されていることを確認するにはどうすればよいですか? コンピューターはどのコードを並列実行できるかをどのように決定しますか?
PSこの質問をした私の意図は、Javaプログラムを並列化する方法を見つけることではありませんでした。しかし知っておくべきことは、コンピューターがコードをどのように並列化するかです。非関数型言語で書かれた関数型プログラムでそれを行うことはできますか?
oop - 関数型プログラミングはより「数学的」と見なされますか? もしそうなら、なぜですか?
ときどき、「関数型プログラミング言語の方が数学的だ」などと言う人を耳にします。そうですか?もしそうなら、なぜ、どのように?たとえば、Scheme は Java や C よりも数学的ですか? それともハスケル?
「数学的」とは何かを正確に定義することはできませんが、感覚はつかめると思います。
ありがとう!
compiler-construction - カスタム言語のタイプの決定
グラフなどを操作するための多くの機能を提供するグラフ専用の小さな言語について考えています。
そのため、言語の構文について熟考していたときに、関数型パラダイムと「明白な」命令型パラダイムについて読みました。どのような種類の言語スタイルがより優れているかをどのように判断しますか? どちらが私のユースケースに適していますか? いくつかの正当な理由と説明を添えて回答いただければ幸いです。
編集: この言語の聴衆について: プログラミング経験のない非プログラマー/研究者は、それでもグラフを使用できると信じています。
編集: この質問が役に立たないと感じた場合は、反対票を投じることができますが、それに値すると思う理由についてコメントを追加してください。それは私が長い道のりを歩むのに役立つかもしれません。
language-agnostic - コンパイラ/インタプリタが金属に放出する場所は、言語の実装が必須からどれだけ離れているか
私はこれを誰かが2年までに私を打ち負かした質問への「答え」として尋ねたく なかったので、私は新しい質問をしました。それはそこの答えから現れます(彼が書いているN.ラムジーを参照してください:
「...しかし、MITのArvind教授の先駆的な仕事を見ると、彼のグループは、基本的な計算操作が本質的により宣言的なデータフローマシンを設計および構築しました。...」
ベアメタル命令は、宣言型である場合もあれば、必須ではない場合もあります。
その方向にどこまで行けるのか、誰か感じていますか?コンパイラは常に関数型言語を命令型言語に変換する必要がありますか?これを可能にするハードウェアは存在しますか?
私はただ興味があります-常にprogを見ています。lang。トレンドがあり、最終的に、可変状態がないこと(たとえば)が実際には何を意味するのか疑問に思いました。
haskell - 宣言型言語
Declarative Programming Languagesに関する記事を読んでいました。
このタイプ/パラダイムのプログラミング言語の性質が理解できず、それが命令型言語とは対照的である場合、Haskell などのこのタイプのプログラミング言語でのプログラミングについて読んでから、後でその記事を読む必要がありますか?
coq - ∀id1 id2 : id, {id1 = id2} + {id1 ≠ id2} とはどういう意味ですか?
私はSoftware Foundationsの本を読んでいます.Imp.vファイルには、次のような定理eq_id_decの定義があります。
この定理は、タイプ id の id1 と id2 について、id1=id2 と id1!=id2 の両方が起こりえないことを意味しますか? わからない。
rust - ツリーの印刷 — フィールドへのアクセスを試みましたが、その名前のフィールドは見つかりませんでした
私は最初の Rust プログラムを書こうとしています。画面に単純なツリーを印刷したいのですが、value
プロパティにアクセスできません。
エラー 1 は
value
type のフィールドにアクセスしようNode
としましたが、その名前のフィールドが見つかりませんでした c:\users\zhukovskiy\documents\visual studio 2013\Projects\rust_application1\rust_application1\src\main.rs 21 20 rust_application1
lazy-evaluation - 怠惰な命令型プログラミング言語は存在しますか? そうでない場合、なぜですか?
私が間違っていなければ、「怠惰な命令型プログラミング言語」の概念は完全に理にかなっています。
たとえば、次のコードにより、プログラムが「7」を出力するはずだと思います
次のコードにより、プログラムは「6」を出力するはずです
次のコードにより、プログラムは文字列「a+5」を出力するはずです。
アイデアは[..]
、各変数の現在の値を使用して評価を実行することにより、式を平坦化することです。
質問。怠惰な命令型プログラミング言語は存在しますか?存在しない場合、その理由は? それらが存在できない特定の理由はありますか?