{"id":24987440,"url":"https://github.com/sergi/mlkit","last_synced_at":"2025-06-27T08:37:11.684Z","repository":{"id":8964059,"uuid":"10704521","full_name":"sergi/mlkit","owner":"sergi","description":"Mirror of the official smltojs SVN repository","archived":false,"fork":false,"pushed_at":"2013-06-15T09:44:25.000Z","size":21014,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-26T08:13:53.382Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.smlserver.org/smltojs/","language":"Standard ML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sergi.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-06-15T09:39:55.000Z","updated_at":"2020-01-31T01:10:42.000Z","dependencies_parsed_at":"2022-09-06T03:10:45.385Z","dependency_job_id":null,"html_url":"https://github.com/sergi/mlkit","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergi%2Fmlkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergi%2Fmlkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergi%2Fmlkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergi%2Fmlkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sergi","download_url":"https://codeload.github.com/sergi/mlkit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246174604,"owners_count":20735417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-04T11:43:00.412Z","updated_at":"2025-03-29T11:12:35.947Z","avatar_url":"https://github.com/sergi.png","language":"Standard ML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n                       The MLKit sources\n\nThis README file describes the structure of the MLKit sources as well\nas necessary steps for compilation and either personal or system wide\ninstallation.\n\nAn overview of the directory structure of the distribution is given in\nAppendix A. \n\n*NOTE*: For a quick compilation and installation guide, see Appendix B.\n\n1. Introduction\n---------------\nThe MLKit is a compiler for the programming language Standard ML. The\nMLKit covers all of Standard ML, as defined in the 1997 edition of the\nDefinition of Standard ML and supports most of the Standard ML Basis\nLibrary.\n\nFeatures:\n\n  * All of Standard ML. The MLKit compiles all of Standard ML,\n    including Modules, as specified by the Definition of Standard\n    ML. The MLKit also supports large parts of the Standard ML Basis\n    Library.\n\n  * Supports ML Basis Files: The MLKit compiles large programs,\n    including itself, around 80.000 lines of Standard ML plus the\n    Standard ML Basis Library. The support for ML Basis Files\n    makes it easy to compile a program with different Standard ML\n    compilers. Currently, both MLton and the MLKit supports the\n    concept of ML Basis Files.\n \n  * Region-Based Memory Management: Memory allocation directives (both\n    allocation and deallocation) are inferred by the compiler, which\n    uses a number of program analyses concerning lifetimes and storage\n    layout. The MLKit compiler is unique among ML implementations in\n    this respect.\n\n  * Reference-tracing Garbage Collection: The MLKit supports\n    reference-tracing garbage collection in combination with region\n    memory management.\n\n  * Native backend for the x86 architecture.\n\n  * Documentation. A comprehensive guide on programming with the MLKit\n    is available in the doc/ directory. Documentation is also\n    available in man-pages and from the MLKit home page (wiki) \n\n                http://www.itu.dk/research/mlkit\n\n2. License and Copyright\n------------------------\nThe MLKit compiler is distributed under the GNU Public License. See\nthe file doc/license/MLKit-LICENSE for details. The runtime system\n(kit/src/Runtime/) and libraries (kit/basis/) is distributed under the\nmore liberal MIT License.\n\n3. Compilation Requirements\n---------------------------\nTo compile, install, and use the MLKit, a Linux box running Ubuntu\nLinux, Debian, gentoo, or similar is needed. The MLKit has also earlier\nbeen reported to run on the FreeBSD/x86 platform, with little tweaking.\n\nTo compile the MLKit, a Standard ML compiler is needed, which needs to\nbe one of the following:\n\n (1) MLton \u003e= 20051202. A link to the home page for MLton is available\n     from the MLKit home page. The command sml should be available\n     from the prompt:\n\n       $ mlton\n       MLton 20051202 (built Sat Dec 03 04:20:11 2005 on pavilion)\n\n (2) A working MLKit compiler \u003e= 4.3.0. The command mlkit should be\n     available from the prompt:\n\n       $ mlkit -V\n       MLKit version 4.3.0, Jan 25, 2006 [X86 Backend]\n\nMoreover, Gcc is needed for compiling the runtime system and related\ntools.\n\n4. Compilation\n--------------\nAfter having checked out the sources from the sourceforge svn repository,\nexecute the command:\n \n $ ./autobuild\n\nNow, cd to the toplevel directory of the package. Execute the commands\nunder (a) or (b):\n\n  a. Compile with MLton alone (Tested with 3Gb RAM)\n  -------------------------------------------------\n   $ ./configure \n   $ make mlkit\n\n  b. Compile with existing MLKit (Tested with 1Gb RAM)\n  ----------------------------------------------------\n   $ ./configure --with-compiler=mlkit\n   $ make mlkit\n\nIf you later want to install the MLKit in your own home directory, you\nshould also pass the option --prefix=$HOME/mlkit to ./configure above.\n\nFor binary packages, we use\n\n   $ ./configure --sysconfdir=/etc --prefix=/usr\n\n5. Bootstrapping (optional - works with 1Gb RAM)\n------------------------------------------------\nThis step is optional. If you want the resulting executable compiler\nto be bootstrapped (compiled with itself), execute the command:\n\n $ make bootstrap\n\nBe aware that this step takes some time.\n\n6. Pre-compile Basis Library and Kit-Library\n--------------------------------------------\nExecute the following commands:\n\n $ make mlkit_libs\n\n7. Installation\n---------------\nFor a system wide installation of the MLKit, installation including\nman-pages and tools, execute the commands - as root:\n\n % make install\n\nFor a personal installation, with --prefix=$HOME/mlkit given to\n./configure, execute the following commands:\n\n $ make install\n\n8. Making a Binary Package\n--------------------------\nTo build a binary package, execute the command\n\n $ make mlkit_i386_tgz\n\nThis command leaves a package mlkit-X.Y.Z-i386.tgz in the dist/\ndirectory. For building a binary package, step 7 is not needed and\nstep 5 is optional.\n\n9. Try It\n---------\nTo test the installation, copy the directory /usr/share/mlkit/kitdemo to\nsomewhere in your own directory, say $HOME/kitdemo:\n\n $ cp -a /usr/share/mlkit/kitdemo $HOME/kitdemo\n $ cd $HOME/kitdemo\n $ mlkit helloworld.sml\n\nThe MLKit should produce an executable file \"run\":  \n\n $ ./run\n hello world\n\n10. More Information\n-------------------\nSee the MLKit home page http://www.itu.dk/research/mlkit/\n\nDocumentation for the MLKit is located in the directories doc/mlkit\nand man/man1. License information is located in the file\ndoc/license/MLKit-LICENSE.\n\n11. VCG\n-------\nThe VCG tool, which is used to show region flow graphs, can be found\nat http://www.cs.uni-sb.de/RW/users/sander/html/gsvcg1.html\n\n12. Comments and Bug Reports\n----------------------------\nPlease see the MLKit home page for a list of known bugs and\nlimitations. Send bug reports to mlkit@itu.dk.\n\nAppendix A: Directory Structure of the Sources\n----------------------------------------------\n\n     kit/\n        README\n        configure\n        Makefile.in        \n        src/\n        basis/\n        doc/mlkit.pdf\n           /license/MLKit-LICENSE                   \n        man/man1/rp2ps.1                \n        kitdemo/\n        test/\n\nAppendix B: Quick Compilation and Installation Guide\n----------------------------------------------------\nWe assume that MLton \u003e= 20051202 is installed on the system as\ndescribed in Section 3.\n\nAfter having checked out the sources from the sourceforge svn repository,\nexecute the command:\n \n $ ./autobuild\n\nTo compile and install the MLKit, execute the following commands:\n\n $ ./configure\n $ make mlkit\n $ make bootstrap\n $ make mlkit_libs\n\nExecute as root:\n\n % make install\n\nSee Section 9 for how to test the installation.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsergi%2Fmlkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsergi%2Fmlkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsergi%2Fmlkit/lists"}