| 1 | Source: smlnj |
| 2 | Section: devel |
| 3 | Priority: optional |
| 4 | Maintainer: James McCoy <jamessan@debian.org> |
| 5 | Build-Depends: debhelper (>= 7), gcc-multilib [amd64] |
| 6 | Build-Depends-Indep: texlive-latex-base, texlive-pictures, texlive-math-extra, texlive-latex-recommended, transfig, texlive-generic-extra, texlive-latex-extra, ghostscript, texlive-binaries |
| 7 | Standards-Version: 3.8.4 |
| 8 | Homepage: http://www.smlnj.org/ |
| 9 | |
| 10 | Package: smlnj |
| 11 | Architecture: i386 amd64 powerpc |
| 12 | Depends: ${misc:Depends}, smlnj-runtime (= ${binary:Version}) |
| 13 | Replaces: sml-nj |
| 14 | Recommends: libsmlnj-smlnj |
| 15 | Suggests: smlnj-doc |
| 16 | Description: Standard ML of New Jersey interactive compiler |
| 17 | SML/NJ is an implementation of the Standard ML programming language. |
| 18 | Standard ML has many features, including type safety, polymorphism, |
| 19 | algebraic data types with pattern matching, higher-order functions, |
| 20 | and a sophisticated module system. It is especially well-suited for |
| 21 | writing compilers and other language processors. |
| 22 | . |
| 23 | This package includes the interactive compiler (sml), the compilation |
| 24 | manager (CM), and some essential libraries. It is a "working" |
| 25 | version, but believed to be stable. |
| 26 | . |
| 27 | Install this package if you want to program in SML. |
| 28 | |
| 29 | Package: smlnj-doc |
| 30 | Architecture: all |
| 31 | Section: doc |
| 32 | Depends: ${misc:Depends} |
| 33 | Suggests: smlnj |
| 34 | Description: Documentation for Standard ML of New Jersey |
| 35 | This package contains various documentation for SML/NJ, an |
| 36 | implementation of the Standard ML programming language. |
| 37 | . |
| 38 | More documentation can be found on the web site. |
| 39 | |
| 40 | Package: smlnj-runtime |
| 41 | Architecture: i386 amd64 powerpc |
| 42 | Depends: ${misc:Depends}, ${shlibs:Depends} |
| 43 | Description: Standard ML of New Jersey runtime system |
| 44 | SML/NJ is an implementation of the Standard ML programming language. |
| 45 | This package includes the runtime system only -- it provides garbage |
| 46 | collection and other support for compiled SML programs. |
| 47 | . |
| 48 | Install this package if you want to run programs compiled with SML/NJ. |
| 49 | |
| 50 | Package: libsmlnj-smlnj |
| 51 | Architecture: i386 amd64 powerpc |
| 52 | Depends: ${misc:Depends}, smlnj (= ${binary:Version}) |
| 53 | Description: Useful libraries for Standard ML of New Jersey |
| 54 | A library for SML, including: |
| 55 | * Util A general utility library. |
| 56 | * Controls A library of support code for managing application controls. |
| 57 | * HashCons A library supporting hash-consing of data structures and |
| 58 | efficient sets and maps using hash-consed keys. |
| 59 | * HTML Provides parsing and pretty printing of HTML. |
| 60 | * INet Networking utilities. |
| 61 | * PP Pretty-printing library. |
| 62 | * Reactive A low-level reactive scripting library. |
| 63 | * RegExp Regular-expression library. |
| 64 | * Unix A set of unix specific utilities. |
| 65 | |
| 66 | Package: ml-lex |
| 67 | Architecture: i386 amd64 powerpc |
| 68 | Depends: ${misc:Depends}, smlnj-runtime (= ${binary:Version}) |
| 69 | Description: Lexical analyzer generator for Standard ML |
| 70 | Lexical analysis is the problem of segmenting input into words and |
| 71 | recognizing different classes of words. ml-lex uses regular |
| 72 | expressions to describe classes of words. It transforms a simple |
| 73 | declarative language specification into an efficient SML program for |
| 74 | analyzing that language. |
| 75 | . |
| 76 | Install this package if you want to produce a lexer in Standard ML. |
| 77 | |
| 78 | Package: ml-yacc |
| 79 | Architecture: i386 amd64 powerpc |
| 80 | Depends: ${misc:Depends}, smlnj-runtime (= ${binary:Version}) |
| 81 | Description: Parser generator for Standard ML |
| 82 | SML version of the yacc program, generates a parser for a LALR language. |
| 83 | This package is useful for SML developers requiring a parser in their |
| 84 | work. |
| 85 | |
| 86 | Package: ml-burg |
| 87 | Architecture: i386 amd64 powerpc |
| 88 | Depends: ${misc:Depends}, ml-lex (= ${binary:Version}) |
| 89 | Description: Code generator generator for Standard ML |
| 90 | ml-burg generates a Standard ML program to perform bottom-up |
| 91 | rewriting of an input tree. Cost information associated with each |
| 92 | rewrite rule is used to derive the minimum rewrite cost for the |
| 93 | entire tree. A successful reduction corresponds to rewriting the |
| 94 | input tree to a special non-terminal symbol called the "start" |
| 95 | non-terminal. Upon successful reduction, facilities are provided to |
| 96 | walk the tree emitting semantic actions corresponding to the rules |
| 97 | that matched. |
| 98 | . |
| 99 | Install this package if you want to write a compiler in SML using a |
| 100 | burg specification. |
| 101 | |
| 102 | Package: libpgraphutil-smlnj |
| 103 | Architecture: i386 amd64 powerpc |
| 104 | Depends: ${misc:Depends}, smlnj (= ${binary:Version}) |
| 105 | Description: Portable graph utility library for SML Compilation Manager |
| 106 | Utility routines for use with portable dependency graphs. This |
| 107 | package contains support to build list-of-edges dependency graphs and |
| 108 | convert them back into valid SML code. |
| 109 | |
| 110 | Package: libcml-smlnj |
| 111 | Architecture: i386 amd64 powerpc |
| 112 | Depends: ${misc:Depends}, libsmlnj-smlnj (= ${binary:Version}) |
| 113 | Description: Concurrent ML extension of SML |
| 114 | An SML library for message-passing concurrency. This library adds |
| 115 | threading support to SML. Each thread is then manually executed by |
| 116 | running a separate function, rather than being called directly by the |
| 117 | top-level SML loop. |
| 118 | |
| 119 | Package: libcmlutil-smlnj |
| 120 | Architecture: i386 amd64 powerpc |
| 121 | Depends: ${misc:Depends}, libcml-smlnj (= ${binary:Version}) |
| 122 | Description: Concurrent ML utility library |
| 123 | Not all modules in the normal SML/NJ library are thread safe. This |
| 124 | library provides thread-safe implementations of these |
| 125 | libraries. |
| 126 | |
| 127 | Package: libexene-smlnj |
| 128 | Architecture: i386 amd64 powerpc |
| 129 | Depends: ${misc:Depends}, libcml-smlnj (= ${binary:Version}), libcmlutil-smlnj (= ${binary:Version}) |
| 130 | Description: Concurrent ML library for the X Window System |
| 131 | A multi-threaded X Window System toolkit written in Concurrent |
| 132 | ML. Many other windowing toolkits, such as Xlib, register separate |
| 133 | functions that are called by a centralized event processing loop. In |
| 134 | contrast, eXene maintains each window and graphical object in a |
| 135 | separate thread that has the ability to update itself. |
| 136 | |
| 137 | Package: libckit-smlnj |
| 138 | Architecture: i386 amd64 powerpc |
| 139 | Depends: ${misc:Depends}, smlnj (= ${binary:Version}) |
| 140 | Description: SML library for parsing and type-checking C programs |
| 141 | ckit is a C front end written in SML that translates C source code (after |
| 142 | preprocessing) into abstract syntax represented as a set of SML datatypes. |
| 143 | It also provides facilities for extending the C language with additional |
| 144 | syntactic constructs, which can be useful for implementing "C-like" |
| 145 | domain-specific languages as well as C dialects. |
| 146 | |
| 147 | Package: libmlnlffi-smlnj |
| 148 | Architecture: i386 amd64 powerpc |
| 149 | Depends: ${misc:Depends}, smlnj (= ${binary:Version}) |
| 150 | Recommends: ml-nlffigen |
| 151 | Description: No Longer Foreign Function Interface |
| 152 | Allows ML programs to inspect and manipulate C data structures |
| 153 | directly. This is implemented through three separate libraries, one |
| 154 | that provides a user-code accessible frontend, one that |
| 155 | implements this, and another that handles low-level raw memory |
| 156 | access. |
| 157 | |
| 158 | Package: ml-nlffigen |
| 159 | Architecture: i386 amd64 powerpc |
| 160 | Depends: ${misc:Depends}, libsmlnj-smlnj (= ${binary:Version}), libckit-smlnj (= ${binary:Version}) |
| 161 | Description: ML generator for C glue code |
| 162 | This tool reads in C source code and outputs ML code and a CM |
| 163 | description file for use with the ML "No Longer Foreign Function |
| 164 | Interface" library. This tool works by separating each top-level C |
| 165 | declaration into a new ML source file. For large programs, this |
| 166 | puts some strain on the SML Compilation Manager, but this should only |
| 167 | marginally increase the program run-time. |
| 168 | |
| 169 | Package: libmlrisctools-smlnj |
| 170 | Architecture: i386 amd64 powerpc |
| 171 | Depends: ${misc:Depends}, smlnj (= ${binary:Version}) |
| 172 | Description: Library for generating MLRISC modules |
| 173 | The MLRISC system allows an easy way to create a back-end to convert |
| 174 | SML into machine code. These tools provide an easy way to generate |
| 175 | MLRISC modules from machine descriptions. |
| 176 | |
| 177 | Package: nowhere |
| 178 | Architecture: i386 amd64 powerpc |
| 179 | Depends: ${misc:Depends}, libmlrisctools-smlnj (= ${binary:Version}) |
| 180 | Description: Translates programs from an extended Standard ML to Standard ML |
| 181 | This is a source-to-source translation tool that expands case |
| 182 | expressions that use conditional patterns. Conditional patterns that |
| 183 | use the "where" keyword are converted into SML. |
| 184 | |
| 185 | Package: ml-lpt |
| 186 | Architecture: i386 amd64 powerpc |
| 187 | Depends: ${misc:Depends}, smlnj (= ${binary:Version}) |
| 188 | Provides: ml-ulex, ml-antlr |
| 189 | Description: SML/NJ language processing tools |
| 190 | Tradition has it that when a new programming language is introduced, |
| 191 | new scanner and parser generators are written in that language, and |
| 192 | generate code for that language. Traditional also has it that the |
| 193 | new tools are modeled after the old lex and yacc tools, both in terms |
| 194 | of the algorithms used, and often the syntax as well. The language |
| 195 | Standard ML is no exception: ml-lex and ml-yacc are the SML |
| 196 | incarnations of the old Unix tools. |
| 197 | . |
| 198 | This package has two new tools, ml-ulex and ml-antlr, that follow |
| 199 | tradition in separating scanning from parsing, but break from |
| 200 | tradition in their implementation: ml-ulex is based on regular |
| 201 | expression derivatives rather than subset-construction, and ml-antlr |
| 202 | is based on LL(k) parsing rather than LALR(1) parsing. |