The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Language::MinCaml - MinCaml Interpreter

SYNOPSIS

  use Language::MinCaml;

  # interpret a string
  Language::MinCaml->interpret_string(<<EOC);
  let rec gcd m n =
    if m = 0 then n else
    if m <= n then gcd m (n - m) else
    gcd n (m - n) in
  print_int (gcd 100 125)
  EOC

  # or, interpret a source file
  Language::MinCaml->interpret_file('/path/to/source.ml');

DESCRIPTION

Language::MinCaml is an interpreter of MinCaml which is a subset of programming language ML.

MinCaml was originally defined by Eijiro Sumii, and he implemented the MinCaml compiler with OCaml for educational purposes.

FUNCTIONS

interpret_string($string)

Interpret a string representing a MinCaml code.

interpret_file($file_path)

Interpret a MinCaml code in a file pointed to by $file_path.

TODO

Support skipping comment lines '(* .. *)'.

Support other built-in functions (Now only print_int and print_float).

Improve error messages.

AUTHOR

Yu Nejigane <nejigane@cpan.org>

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

This module is dependent on Parse::Yapp module for parsing. Parse::Yapp

http://min-caml.sourceforge.net/index-e.html