A modified OCaml compiler for eliom programs
OCaml C Makefile Emacs Lisp Standard ML Assembly Other
Latest commit 497c670 Jan 4, 2017 @Drup Drup DEBUG: printers
Permalink
Failed to load latest commit information.
asmcomp Yet another rework of cmi loading. Dec 31, 2016
asmrun Merge GPR#474 into trunk: Apr 4, 2016
boot Bootstrap Dec 31, 2016
bytecomp Ignore sides during lookup of identifier in Symtable. Jan 5, 2017
byterun
compilerlibs add a file in compilerlibs to make git happy Feb 19, 2016
config Update headers for the new license. Feb 18, 2016
debugger Update makefile for subst re-order. Dec 31, 2016
driver Hide some debug printers behind the `-verbose` option. Jan 1, 2017
emacs Update headers for the new license. Feb 18, 2016
experimental Update headers for the new license. Feb 18, 2016
flexdll @ c041e8b Tweaks to hiding the display of .c names with MSVC Jan 18, 2016
lex Update headers for the new license. Feb 18, 2016
man minor ocamlc.m fix Apr 18, 2016
manual PR#6898: Update win32 support documentation of the Unix library Apr 20, 2016
middle_end
ocamldoc
otherlibs Update makefile for subst re-order. Dec 31, 2016
parsing
stdlib whitespace and long lines Apr 19, 2016
testsuite
tools Set mode "eliom" by default for ocamldep. Jan 16, 2017
toplevel Yet another rework of cmi loading. Dec 31, 2016
typing DEBUG: printers Jan 16, 2017
utils
yacc
.depend Depend. Dec 31, 2016
.gitattributes tools/msvs-promote-path script Dec 23, 2015
.gitignore ignore manifest files Feb 24, 2016
.gitmodules clean up whitespace and cut long lines Feb 17, 2016
.merlin
.ocp-indent Adding an ocp-indent customization file for the project. Sep 11, 2013
.travis-ci.sh Use the 4.03 branch of camlp4 for the travis build Feb 29, 2016
.travis.yml Update headers for the new license. Feb 18, 2016
CONTRIBUTING.md Adapt contribution guidelines to the fact that the manual is now part… Dec 9, 2015
Changes
INSTALL.adoc Remove recommendation not to use parallel make Apr 8, 2016
LICENSE remove ocamlbuild from the compiler distribution Feb 1, 2016
Makefile * Fix coreboot target. This target calls promote, which itself now Mar 7, 2016
Makefile.nt
Makefile.shared
README.md Add very short readme. Jun 24, 2016
README.orig.adoc Hide the normal readme Jun 24, 2016
README.win32.adoc Overhaul the Windows installation instructions. Apr 8, 2016
VERSION change VERSION for 4.03.0 Apr 25, 2016
appveyor.yml Make AppVeyor run tests Feb 10, 2016
appveyor_build.sh Add AppVeyor testing Feb 10, 2016
configure

README.md

Eliom compiler

This is an extension of the OCaml compiler to typecheck Eliom programs. This is WIP.

On .ml programs, the behavior is the same as the normal compiler.

In eliom programs, several extensions are available which are quickly explained here: http://ocsigen.org/eliom/5.0/manual/ppx-syntax

let%server x = 3 (* declaration on the server *)

let%client y = 4 (* declaration on the client *)

let%server z : int fragment = [%client ~%y + 1 ]
(* piece of client code that is manipulated on the server *)

let%client a =
  ~%x (* Injections from the server *)
  + ~%z (* Injections from a fragment. *)