問題タブ [language-implementation]

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.

0 投票する
4 に答える
899 参照

functional-programming - FFPマシンとは何ですか?

R.KentDybvigの論文「Schemeの3つの実装モデル」で彼は「FFP言語」と「FFPマシン」について語っています。どうやら、FFPマシンと、複数のプロセッサでの文字列削減との間には何らかの相関関係があります。

グーグルは、説明や例の観点からはあまり明らかにされていません。

誰かがこのトピックに光を当てることができますか?ありがとう。

0 投票する
8 に答える
3420 参照

c# - ほとんどの C# プログラムでメイン メソッドのエントリ ポイントが静的なのはなぜですか?

ほとんどの C# プログラムでメイン メソッドのエントリ ポイントが静的なのはなぜですか?

0 投票する
4 に答える
81811 参照

python - PyPy -- どうすれば CPython を打ち負かすことができるでしょうか?

Google オープン ソース ブログから:

PyPy は Python での Python の再実装であり、高度な技術を使用して CPython よりも優れたパフォーマンスを達成しようとします。長年の努力がついに報われました。私たちの速度の結果は、わずかに遅いものから、実際のアプリケーション コードで最大 2 倍の速度向上、小さなベンチマークで最大 10 倍の速度向上まで、CPython を上回ることがよくあります。

これはどのように可能ですか?PyPy の実装に使用された Python 実装は? Cパイソン? また、PyPyPy または PyPyPyPy がスコアを上回る可能性はどのくらいですか?

(関連するメモとして...なぜ誰かがこのようなことをしようとするのですか?)

0 投票する
4 に答える
12416 参照

c++ - CでC++仮想関数を実装するにはどうすればよいですか?

C++言語はvirtual関数を提供します。純粋なC言語の実装の制約内で、同様の効果をどのように達成できますか?

0 投票する
2 に答える
2099 参照

perl - 配列はPerlでどのように実装されていますか?

Perl 配列は抽象データ型です。Perl 配列の内部メカニズムは何ですか? 動的配列または連結リストで実装されていますか? 配列要素にはランダム アクセスがあるため、ポインターの動的配列またはスカラーへの参照が理にかなっていると思います。ただし、配列の先頭でシフトおよびシフト解除操作を行うと、配列はこれらの操作ですべての要素を移動する必要がありますか? 私には非効率に聞こえます。何か考えはありますか?

0 投票する
2 に答える
752 参照

python - Python の 10 進数の精度は C の精度と比べてどうですか?

n 番目のフィボナッチ数を見つけるための黄金比の公式を見ていましたが、興味をそそられました。

Python が任意の大きな整数を処理することは知っていますが、小数ではどのような精度が得られるのでしょうか? それは C の double か何かの上にあるだけですか、それともより正確に変更された実装も使用していますか? (明らかに、恣意的な精度ではありません。;D)

0 投票する
6 に答える
683 参照

c - マクロ対応言語は、デバッグのためにソース コードをどのように追跡しますか?

これはマクロに関するより理論的な質問です (私はそう思います)。マクロはソース コードを取得し、それを評価せずにオブジェクト コードを生成し、プログラマーがより用途の広い構文構造を作成できるようにします。この 2 つのマクロ システムを分類する必要があるとすれば、「C スタイル」のマクロと「Lisp スタイル」のマクロがあると言えます。

実行時に実際に実行されているコードがソースと異なるため、マクロのデバッグは少し難しいようです。

デバッガーは、前処理されたソース コードに関してプログラムの実行をどのように追跡しますか? マクロに関する追加データを取得するために設定する必要がある特別な「デバッグ モード」はありますか?

C では、デバッグ用にコンパイル時のスイッチを設定することは理解できますが、Lisp の一部の形式などのインタープリター言語ではどのようにそれを行うのでしょうか?

これを試していないことをお詫びしますが、Lisp ツールチェーンを理解するには、私が費やさなければならないよりも多くの時間が必要です。

0 投票する
4 に答える
504 参照

functional-programming - 並列化するSchemeの実装はありますか?

並列化を行うR5RS以上のSchemeの実装はありますか?たとえば、私がそうすると言うなら:

マシンがそれを行うことができれば、それは1、3、5、および7を同時に処理しますか?これは関数型プログラミングの大きな利点の1つであると思われますが、それを実行する、維持された最新のスキームを見つけることができません。関数に副作用がないと断言しない限り、並列化しないもので問題ありません。

0 投票する
1 に答える
87 参照

javascript - Javascript実装の質問:この関数に値を表示させる方法

許してください、しかし私はjsの基本と基本的な関数を書く/呼び出す方法を知っています、しかしこの場合私は私のセット(非アルファ)の順序と一致するようにDBからのカテゴリーのアルファソートリストを一致させようとしています以下に指定されている上記のカテゴリの(これは、返されるカテゴリの順序をマップする方法について尋ねた質問で別のユーザーが使用するために提案されたコードです)。しかし、その人のコードの答えを自分のコードに統合する方法がわかりません。

別のサンプルリスト(DBから取得するものを模倣するため)に対して実装されていることと、switch caseステートメントでそれを呼び出してHTMLをカテゴリ名にラップし、マップされた順序でWebページに返す方法を確認するだけです。欲しいのは大いに役立つでしょう。明らかなことが判明した場合は申し訳ありません。私はこれらの問題に遭遇したときに何ができるかを学ぼうとしています。ありがとう!

0 投票する
2 に答える
316 参照

c - 不均一なポインタ表現を使用しているシステムはどれですか?

重複の可能性:
異なるタイプへのポインターのサイズが異なるプラットフォームはありますか?

私はいくつかの場所で、標準に準拠したC実装では、異なるタイプのポインターが異なる表現を持つ可能性があることを読みました。これは、ポインタ引数をprintfにキャストする必要があることの1つです。

私はこれに懐疑的で、C99標準(ドキュメントWG14 N1256、http: //www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdfで入手可能)を調べました。6.2.5.27では、次のようになります。

voidへのポインタは、文字型へのポインタと同じ表現および配置要件を持つ必要があります。同様に、互換性のあるタイプの修飾バージョンまたは非修飾バージョンへのポインターは、同じ表現および配置要件を持つ必要があります。構造体タイプへのすべてのポインタは、互いに同じ表現と配置の要件を持つ必要があります。共用体型へのすべてのポインターは、互いに同じ表現および配置要件を持つ必要があります。 他のタイプへのポインタは、同じ表現または配置要件を持つ必要はありません。

したがって、実際には、準拠するC99実装が、さまざまなタイプのポインターにさまざまな表現を使用できるように聞こえます。

私の質問はこれです:異なるタイプのポインタに異なる表現を実際に使用するCの実装/アーキテクチャは何ですか?