All Projects → kfl → Mosml

kfl / Mosml

Moscow ML is a light-weight implementation of Standard ML (SML), a strict functional language widely used in teaching and research.

Labels

Projects that are alternatives of or similar to Mosml

Hvcc
The heavy hvcc compiler for Pure Data patches.
Stars: ✭ 251 (-7.38%)
Mutual labels:  compiler
Ballerina Lang
The Ballerina Programming Language
Stars: ✭ 2,946 (+987.08%)
Mutual labels:  compiler
Smlvm
Smallrepo Virtual Machine
Stars: ✭ 265 (-2.21%)
Mutual labels:  compiler
Tools
The Rome Toolchain. A linter, compiler, bundler, and more for JavaScript, TypeScript, HTML, Markdown, and CSS.
Stars: ✭ 16,854 (+6119.19%)
Mutual labels:  compiler
Next.js
The React Framework
Stars: ✭ 78,384 (+28823.99%)
Mutual labels:  compiler
Deepc
vendor independent deep learning library, compiler and inference framework microcomputers and micro-controllers
Stars: ✭ 260 (-4.06%)
Mutual labels:  compiler
Kaitai struct compiler
Kaitai Struct: compiler to translate .ksy => .cpp / .cs / .dot / .java / .js / .php / .pm / .py / .rb
Stars: ✭ 251 (-7.38%)
Mutual labels:  compiler
Pyverilog
Python-based Hardware Design Processing Toolkit for Verilog HDL
Stars: ✭ 267 (-1.48%)
Mutual labels:  compiler
Graphit
GraphIt - A High-Performance Domain Specific Language for Graph Analytics
Stars: ✭ 254 (-6.27%)
Mutual labels:  compiler
Gleam
⭐️ A friendly language for building type-safe, scalable systems!
Stars: ✭ 3,463 (+1177.86%)
Mutual labels:  compiler
Gatsby
Build blazing fast, modern apps and websites with React
Stars: ✭ 51,925 (+19060.52%)
Mutual labels:  compiler
Webpack
A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows for loading parts of the application on demand. Through "loaders", modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff.
Stars: ✭ 60,034 (+22052.77%)
Mutual labels:  compiler
Duckuino
Simple DuckyScript to Arduino C converter.
Stars: ✭ 263 (-2.95%)
Mutual labels:  compiler
Mtail
extract internal monitoring data from application logs for collection in a timeseries database
Stars: ✭ 3,028 (+1017.34%)
Mutual labels:  compiler
Seq
A high-performance, Pythonic language for bioinformatics
Stars: ✭ 263 (-2.95%)
Mutual labels:  compiler
Lightbeam
Lightbeam has moved and now lives in the Wasmtime repository!
Stars: ✭ 253 (-6.64%)
Mutual labels:  compiler
Cone
Cone Programming Language
Stars: ✭ 257 (-5.17%)
Mutual labels:  compiler
Yabfc
Yet Another Brainfuck Compiler; No dependencies and from the ground up
Stars: ✭ 269 (-0.74%)
Mutual labels:  compiler
Clang
Mirror kept for legacy. Moved to https://github.com/llvm/llvm-project
Stars: ✭ 2,880 (+962.73%)
Mutual labels:  compiler
Mint
🍃 A refreshing programming language for the front-end web.
Stars: ✭ 3,607 (+1231%)
Mutual labels:  compiler

This is file README for Moscow ML 2.10.1 for Linux/Unix (August 2014)

EXTENT OF THE IMPLEMENTATION

The current version 2.10.1 of Moscow ML

* implements the full Standard ML language, as revised 1997, 
  including Modules and some extensions
* yet is backwards compatible with versions prior to 2.00
* implements large parts of the new SML Basis Library
* implements separate compilation 
* can produce compact stand-alone executables (a la Caml Light)
* supports quotations and antiquotations, useful for metaprogramming
* supports dynamic linking of external functions under Linux (x86
  and Alpha), FreeBSD, NetBSD, Solaris, Digital Unix, HP-UX,
  MacOS, and MS Windows'95/98/NT/XP/Vista and possibly also 7 and 8. 

New in version 2.10.1 of Moscow ML

  • ML Server Pages added to examples
  • Build system cleaned up a bit

New in version 2.10 of Moscow ML

  • Support for dynamic linking and callback from C also under MacOS X
  • There may now be 2 G globals (string literals etc) instead of 64 K
  • Bugs fixed:
    • The HTML files generated for mosmllib now have valid URLs
    • Substring.app more efficient
    • Recursive structure compilation (elabRecSigExp) fixed
    • Several errors in Mosmlcookie
    • Misplaced double quote in Msp.ahrefa
    • Exception Option wasn't available at top-level
    • Linker did not check stamps of linked-in units
    • Hash function now much faster on very long strings
    • Double alignment constraints now correct with gcc-3.2 and Solaris
    • Bug in Polyhash.filter
    • Socket library returned only first 16 bytes of UDP datagram
  • SML Basis Library changes:
    • String and Substring: added concatWith, isSuffix, isSubstring, full
    • ListPair: added zipEq, appEq, mapEq, foldlEq, foldrEq, allEq
    • Added ArraySlice and VectorSlice structures, also for Char and Word8
    • Added find, findi, all, exists, collate to vector, array and slice structures
    • Added collate to List
    • Added update to vector structures
    • Path.{mkRelative,mkAbsolute} now take record arguments
    • Negative Time.time values allowed
    • OS.Process: new functions sleep and isSuccess; status not eqtype
    • Listsort: added eqclasses, merge, mergeUniq
    • Path: added functions isRoot, fromUnixPath, toUnixPath, and exception InvalidArc (bug report by Henning Niss)
    • TextIO: inputLine now have type instream -> string option
    • Array: added type abbreviation vector (bug report by Andrzej Wasowski)
    • FileSys: type access renamed to access_mode (bug report by Henning Niss)
    • Byte: unpackString{,Vec} now uses vector slices (bug report by Henning Niss)
    • Unix: added functions fromStatus, textInstreamOf, binInstreamOf, textOutstreamOf, binOutstreamOf, exit, and added phantom types to proc (bug report by Henning Niss)
    • Timer: added function checkCPUTimes
    • Word and Word8: added functions toLarge, toLargeX, and fromLarge (bug report by Martin Elsman)
    • General: added exception Span and made the type of the function 'before' less general (bug report by Henning Niss)
  • Added modules to mosmllib:
    • Buffer: mutable string buffers for fast and efficient concatenation of strings
    • Hashset: sets implemented by hash-tables
    • Rbset: ordered sets implemented by red-black trees
    • Redblackmap: maps implemented by red-black trees
  • Moscow ML is now developed in the open at github.

SYSTEM REQUIREMENTS

Compilation under Unix is best done using GNU make, gcc, and Perl. A binary installation requires 8 MB disk space; a source installation requires 25 MB disk space.

LIST OF FILES

Executables and bytecode files: bin/* Moscow ML top-level system and batch compiler lib/* Bytecode files and standard libraries tools/* Tools to infer unit inter-dependencies

Documentation files: install.txt Installation instructions for Linux README This file doc/manual.pdf User manual (PDF format) doc/mosmlref.pdf A compact guide to Moscow ML syntax and primitives doc/mosmllib.pdf Moscow ML library documentation with an index doc/mosmllib/.html Moscow ML library documentation in HTML format copyrght/ Copyright notices (for Caml Light, SML/NJ, ...)

AUTHOR AND CREDITS

Moscow ML was written by Sergei Romanenko ([email protected]) Keldysh Institute of Applied Mathematics, Russian Academy of Sciences Miusskaya Pl. 4, 125047 Moscow, Russia and Claudio V. Russo at Edinburgh University, now at Microsoft Research UK, Thanks to Don Sannella at LFCS, Division of Informatics, University of Edinburgh for funding under EPSRC grant GR/K63795 and Peter Sestoft ([email protected]), IT University of Copenhagen, Denmark. Previously at Department of Mathematics and Physics, Royal Veterinary and Agricultural University, Denmark. Much of the work was done at the Technical University of Denmark, and while visiting AT&T Bell Laboratories, New Jersey, USA. and Ken Friis Larsen ([email protected]) Department of Computer Science, University of Copenhagen, Denmark.

Moscow ML owes much to: * the CAML Light implementation by Xavier Leroy and Damien Doligez (INRIA, Rocquencourt, France); especially the Caml Light bytecode generator and the runtime system; * the ML Kit by Lars Birkedal, Nick Rothwell, Mads Tofte and David Turner (Copenhagen University, Denmark, and Edinburgh University, Scotland); * inspiration from the SML/NJ compiler developed at Princeton University and AT&T Bell Laboratories, New Jersey, USA; * the good work by Doug Currie, Flavors Technology, USA, on the MacOS port and many improvements; and * feedback, contributions, and useful suggestions, in particular from Jonas Barklund, Mike Gordon, Michael Norrish, Konrad Slind, Jakob Lichtenberg, Hans Molin, and numerous other people.

COPYRIGHT NOTICE FOR MOSCOW ML

Moscow ML - a lightweight implementation of Standard ML.
Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000
Sergei Romanenko, Moscow, Russia and Peter Sestoft, Copenhagen, Denmark.

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License in copyrght/gpl2 for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

Note that a number of source files are derived from the Caml Light distribution, copyright (C) 1993 INRIA, Rocquencourt, France. Thus charging money for redistributing Moscow ML may require prior permission from INRIA; see the INRIA copyright notice in file copyrght/copyrght.cl. The Caml Light system itself can be obtained from ftp.inria.fr:lang/caml-light.

AVAILABILITY

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].