私はこのスキームを研究し始め、組み込み手続きがどのように「ペア?働く私は組み込みプロシージャのコードを見る方法を見つけることができなかったので、明らかにコードを意味し、それを書く方法はわかりません。私はここにいます。 「リスト」と同じ質問がありましたか?手続きを自分で書いていたが、「ペア?全く分かりません。どうも!組込みスキーム・プロシージャーのコード "pair?"
0
A
答えて
0
私はあなたが 'ペア?'の実装を探していると思います。ラケットのプリミティブそれはlist.c
現在です:もしそうなら
https://github.com/racket/racket/blob/master/racket/src/racket/src/list.c
を具体的に、pair_p_prim
の定義を見て。
希望すると便利です。
編集:それはなぜラケットで書かれていないのですか?
回答:pair?
は、Racket and Schemeのプリミティブです。これは、RacketではRacketで実装されていないことを意味します.Racketが実装されている言語で実装されています。言語のこの部分については、Cです。 Racket実装が下位レベルのプリミティブセットを提供するように更新された場合、pair?
関数はもはやプリミティブではないかもしれません。最後に、実装言語が言語 が開発されているものと同じである「ブートストラッピング」実装を提供するために、実装者が古いコンパイラの存在を利用する言語もあります。
希望すると便利です。
関連する問題
- 1. プロローグソート/ 4未定義プロシージャーが組み込まれています
- 2. スキーム:組み込み関数を再定義する
- 3. 組み込みのLua 5.2.2コードのデバッグ
- 4. 組み込みシステムでのコード実行
- 5. PayPalをPHPコードに組み込む
- 6. IronPythonをSharePointに組み込むコード例?
- 7. 組み込み用のC/C++組み込み関数VMOVD
- 8. 組み込み関数/組み込み関数のテスト
- 9. Visual C++で128ビットの組み込み組み込み
- 10. C++コンパイル済みCコードと組み込みプログラミングのPure C?
- 11. チェックリスト包含のためのスキームが組み込まれています
- 12. 別のモジュールに組み込みアセンブリを組み込むこと
- 13. 組み込みアプリケーションサーバ
- 14. SSE組み込み -
- 15. 組み込みデータベース
- 16. 組み込みボードサポートパッケージ
- 17. 組み込みフレームワークでのコード署名の問題
- 18. Eclipse PDTの組み込みPHP関数のコード補完/アシスト
- 19. EXCEL VBA:組み込みVLOOKUP関数のVBAコード
- 20. Visual Studioコード:組み込みのhtml5スニペットを変更します
- 21. PythonでMySQLの組み込みコードを解析するには?
- 22. 組み込みリソースの追加と取得コード
- 23. コード内の組み込みプロパティを使用する方法
- 24. css3-mediaqueries.js - > Googleコードからの組み込み方法
- 25. 自分のコードにngrxを組み込みます
- 26. 組み込みシステムのグラフィカルインタフェース
- 27. C++の組み込みリソース
- 28. Pythonの組み込みHTMLcalendar
- 29. 組み込みLinuxのPAGE_SIZE
- 30. 組み込みシステムのmalloc
使用しているスキームの実装のソースコードを見てみたいと思うようです。だから...どのような体系の実装を使っていますか? :) –
はい、サー! DrRacket) – Dmitrii
ラケットの 'pair?'(私は体系について知らない)はプリミティブです。各 'Scheme_Object *'には、どのタイプであるかを示すタグがあります。 'pair?'はそのタグを調べ、ペアタイプの値と一致するなら '#t'を返します。 –