OCaml 4.00に追加されたAlain Frisch of Lexifi over a year ago for an alternative to camlp4 for writing sytnax extensions making use of the -ppx flagの提案がありました。当時、彼はまだやるべき仕事(属性、引用など)があったと述べていましたが、すでに使えるものでした。 OCaml 4.01はこのスタイルの構文拡張をサポートしていますか? camlp4の代わりにこのメカニズムを使用している人はいますか、camlp4はまだOCamlの構文拡張を書くのに推奨される方法ですか?OCamlの-ppx構文拡張の状態はどうですか?
7
A
答えて
10
"(属性、引用など)"に関する作業は、OCamlコンパイラソースのブランチの形で、拡張ポイントという名前でAlainによって行われました。この支店の進捗状況は、公衆wg-camlp4メーリングリストで広範に議論されましたが、4.01では統合されていませんでした。 4.01のリリース以来、それはtrunk(コンパイラのリファレンス開発ブランチ)に統合されているので、4.02で利用できるはずです(メジャーバージョンは現在毎年リリースされる傾向にあります)。
アランは延長ポイントの書類の形式をtrunk/experimental/frisch/extension_points.txtにしています。 すべて Camlp4のユースケースは明らかですが、依然としてその大部分がカバーされています。むしろそれを使用するかどうかは、個人的な決定をすることです。もう少し面倒な構文では、ツールやその他の拡張機能との容易なデプロイメントと相互運用性が得られるという約束があります。
4.00または4.01から、-ppx
は構文拡張に適合していないため、構文的に有効なOCamlコードのみを処理できます。技術的には、既存のOCaml構文を覆して新しい意味を加えることは可能ですが、これに対してお勧めします。構文拡張のために使用したい場合は、4.02を待つべきです。
関連する問題
- 1. OCaml PPXは他のPPX拡張機能で解析される拡張機能を返すことができますか?
- 2. サービスファブリックへの希望状態構成拡張の追加VMSS
- 3. Javaスレッドの拡張runnable状態
- 4. phpとmysqlの状態...どの拡張子?
- 5. 拡張リストビューのチェックボックスの状態を保存するには -
- 6. ルビーの拡張構文はどのように機能していますか?
- 7. 角度uiルータで親状態のデータを拡張するにはどうすればよいですか?
- 8. Spring.Netの状態はどうですか?
- 9. OCamlの構文エラーです...
- 10. Spring - 休止状態と春のセキュリティでクラスを拡張する
- 11. Chart.js拡張用の新しい構文は何ですか?
- 12. Jythonの構文を拡張する
- 13. 複数のボタンColorDrawable /状態の構文
- 14. アノテーション付きの休止状態エンティティの拡張
- 15. パフォーマンス:拡張バイナリイメージ(形態学的拡張)
- 16. ListPickerノーマル用に別のテンプレートと拡張された状態
- 17. VSIXエディタ言語拡張コンポーネント間の状態を共有
- 18. Ocamlでopa拡張を記述できますか?
- 19. ZfcUserのユーザー状態はどういうものですか?
- 20. ファンクタのOCaml構文エラー
- 21. OCamlの構文効率
- 22. 構文のような配列を動的状態
- 23. OCamlでモジュール拡張のプライベートタイプを公開する
- 24. Javaスレッドの状態はどういう意味ですか?
- 25. インターネット接続の状態はどういう意味ですか?
- 26. kafkaブローカーの状態4はどういう意味ですか
- 27. アンドロイドの "状態"はどういう意味ですか?
- 28. どのように電子状態で電子状態をチェックしますか?
- 29. (filename.java.i、filename.jar.i)の拡張子はどういう意味ですか
- 30. どのような状態