Commit | Line | Data |
---|---|---|
4dd335d4 JM |
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. |