Skip to content

blucz/coco-r-fsharp

Repository files navigation

Coco/R for F#

If you've tried to use the official Coco/R F# port and found that it generates broken F# code, you've come to the right place.

Note: I didn't design Coco/R. All I did here is improve the F# code generator. For more information on the project as a whole, see http://www.ssw.uni-linz.ac.at/coco/

Features:

  • generates code that works with current F# compilers
  • no longer depends on F# powerpack for OCaml compatibility features
  • is somewhat faster than the official port since it uses System.IO directly instead of via a shim
  • has a slightly nicer interface for error reporting and I/O
  • includes build scripts for building on mono-based platforms

Misfeatures:

  • Like the official port, this generates code in "Verbose syntax" mode. This causes a compiler warning unless you build with --mlcompatibility.
  • All F# code embedded in your .atg file must be written in "Verbose syntax" mode.
  • The previous F# implementation was forked off from Coco/R quite a few years ago, and may not benefit from upstream fixes that have occurred since then.

Building:

On windows, ensure that 'csc' is in your PATH. Many people use a "Visual Studio Command Prompt" for this. On mac/linux, ensure that you've installed a recent version of mono and that mono-sgen is in your path.

  • git clone
  • run build_cocoFsharp.{bat|sh} depending on your platform.

Releases

No releases published

Packages

No packages published

Languages