OCaml Forge
SCM

Development references

From Caml Foreign dynamic interface to C/C++ Wiki

(Difference between revisions)
Jump to: navigation, search
 
(4 intermediate revisions not shown)
Line 1: Line 1:
* [http://www.codesourcery.com/public/cxx-abi/abi-examples.html C++ ABI for IA-64: Code and Implementation Examples]
* [http://www.codesourcery.com/public/cxx-abi/abi-examples.html C++ ABI for IA-64: Code and Implementation Examples]
 +
* [http://www.haskell.org/haskellwiki/CPlusPlus_from_Haskell ffi to c++ from Haskell]
* Camlp4:
* Camlp4:
** [http://ambassadortothecomputers.blogspot.com/p/reading-camlp4.html Jake Donham's blog series on Camlp4]
** [http://ambassadortothecomputers.blogspot.com/p/reading-camlp4.html Jake Donham's blog series on Camlp4]
** [http://caml.inria.fr/cgi-bin/viewcvs.cgi/ocaml/branches/gcaml3101/camlp4/Camlp4Parsers/Camlp4QuotationCommon.ml?logsort=rev&rev=8764&view=markup list of Camlp4 quotations (at the bottom)]
** [http://caml.inria.fr/cgi-bin/viewcvs.cgi/ocaml/branches/gcaml3101/camlp4/Camlp4Parsers/Camlp4QuotationCommon.ml?logsort=rev&rev=8764&view=markup list of Camlp4 quotations (at the bottom)]
** [http://caml.inria.fr/cgi-bin/viewcvs.cgi/ocaml/branches/fstclassmod_parametrized/camlp4/Camlp4/Camlp4Ast.partial.ml?rev=10673&view=markup OCaml AST]
** [http://caml.inria.fr/cgi-bin/viewcvs.cgi/ocaml/branches/fstclassmod_parametrized/camlp4/Camlp4/Camlp4Ast.partial.ml?rev=10673&view=markup OCaml AST]
-
** [http://caml.inria.fr/cgi-bin/viewcvs.cgi/ocaml/branches/gadts/camlp4/boot/Camlp4Ast.ml?rev=10836&view=markup Camlp4 helpers for manipulating the AST, like list_of_ctyp and friends]
+
** [http://caml.inria.fr/cgi-bin/viewcvs.cgi/ocaml/branches/gadts/camlp4/boot/Camlp4Ast.ml?rev=10836&view=markup Camlp4 helpers for manipulating the AST, like list_of_ctyp, stSem_of_list and friends, accessible in module Ast]
 +
** do not forget to end str_items with ;;
 +
** "Parse error: currified constructor": ?
 +
** using "foreign" as a terminal in a grammar extension registers "foreign" as a keyword, and prevents other uses of it (like naming a variable or name "foreign") ; using LIDENT "foreign" instead fixes that problem
 +
* list of Camlp4 antiquotations (extracted using <nowiki>perl -MData::Dumper -ne '/ANTIQUOT\s*\(([^)]+)\)/ or next; $_ = $1; print Dumper $_; ++$h{$_} for /"([^"]*)"/g; END{print join "\n", map {"** $_"} sort keys %h}' Camlp4Parsers/*</nowiki>):
 +
** ..
 +
** `bool
 +
** `chr
 +
** `flo
 +
** `int
 +
** `int32
 +
** `int64
 +
** `nativeint
 +
** `str
 +
** anti
 +
** bi
 +
** binding
 +
** cdcl
 +
** cexp
 +
** chr
 +
** csg
 +
** cst
 +
** ctyp
 +
** exp
 +
** flo
 +
** id
 +
** int
 +
** int32
 +
** int64
 +
** lid: lowercase id (as a variable name, see also uid)
 +
** list
 +
** match_case
 +
** mexp
 +
** module_binding
 +
** mtyp
 +
** mutable
 +
** nativeint
 +
** pat
 +
** private
 +
** rec
 +
** rec_binding
 +
** seq
 +
** sigi
 +
** str
 +
** str_list
 +
** stri
 +
** to
 +
** tup
 +
** typ
 +
** uid: uppercase id (as a variant constructor or module name, see also lid)
 +
** virtual
 +
** with_constr

Latest revision as of 16:56, 18 November 2011

Personal tools
Navigation