HCoop backport of SML/NJ for ml-nlffigen
[hcoop/zz_old/debian/smlnj.git] / debian / control
CommitLineData
4dd335d4
JM
1Source: smlnj
2Section: devel
3Priority: optional
4Maintainer: James McCoy <jamessan@debian.org>
5Build-Depends: debhelper (>= 7), gcc-multilib [amd64]
6Build-Depends-Indep: texlive-latex-base, texlive-pictures, texlive-math-extra, texlive-latex-recommended, transfig, texlive-generic-extra, texlive-latex-extra, ghostscript, texlive-binaries
7Standards-Version: 3.8.4
8Homepage: http://www.smlnj.org/
9
10Package: smlnj
11Architecture: i386 amd64 powerpc
12Depends: ${misc:Depends}, smlnj-runtime (= ${binary:Version})
13Replaces: sml-nj
14Recommends: libsmlnj-smlnj
15Suggests: smlnj-doc
16Description: 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
29Package: smlnj-doc
30Architecture: all
31Section: doc
32Depends: ${misc:Depends}
33Suggests: smlnj
34Description: 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
40Package: smlnj-runtime
41Architecture: i386 amd64 powerpc
42Depends: ${misc:Depends}, ${shlibs:Depends}
43Description: 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
50Package: libsmlnj-smlnj
51Architecture: i386 amd64 powerpc
52Depends: ${misc:Depends}, smlnj (= ${binary:Version})
53Description: 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
66Package: ml-lex
67Architecture: i386 amd64 powerpc
68Depends: ${misc:Depends}, smlnj-runtime (= ${binary:Version})
69Description: 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
78Package: ml-yacc
79Architecture: i386 amd64 powerpc
80Depends: ${misc:Depends}, smlnj-runtime (= ${binary:Version})
81Description: 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
86Package: ml-burg
87Architecture: i386 amd64 powerpc
88Depends: ${misc:Depends}, ml-lex (= ${binary:Version})
89Description: 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
102Package: libpgraphutil-smlnj
103Architecture: i386 amd64 powerpc
104Depends: ${misc:Depends}, smlnj (= ${binary:Version})
105Description: 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
110Package: libcml-smlnj
111Architecture: i386 amd64 powerpc
112Depends: ${misc:Depends}, libsmlnj-smlnj (= ${binary:Version})
113Description: 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
119Package: libcmlutil-smlnj
120Architecture: i386 amd64 powerpc
121Depends: ${misc:Depends}, libcml-smlnj (= ${binary:Version})
122Description: 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
127Package: libexene-smlnj
128Architecture: i386 amd64 powerpc
129Depends: ${misc:Depends}, libcml-smlnj (= ${binary:Version}), libcmlutil-smlnj (= ${binary:Version})
130Description: 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
137Package: libckit-smlnj
138Architecture: i386 amd64 powerpc
139Depends: ${misc:Depends}, smlnj (= ${binary:Version})
140Description: 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
147Package: libmlnlffi-smlnj
148Architecture: i386 amd64 powerpc
149Depends: ${misc:Depends}, smlnj (= ${binary:Version})
150Recommends: ml-nlffigen
151Description: 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
158Package: ml-nlffigen
159Architecture: i386 amd64 powerpc
160Depends: ${misc:Depends}, libsmlnj-smlnj (= ${binary:Version}), libckit-smlnj (= ${binary:Version})
161Description: 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
169Package: libmlrisctools-smlnj
170Architecture: i386 amd64 powerpc
171Depends: ${misc:Depends}, smlnj (= ${binary:Version})
172Description: 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
177Package: nowhere
178Architecture: i386 amd64 powerpc
179Depends: ${misc:Depends}, libmlrisctools-smlnj (= ${binary:Version})
180Description: 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
185Package: ml-lpt
186Architecture: i386 amd64 powerpc
187Depends: ${misc:Depends}, smlnj (= ${binary:Version})
188Provides: ml-ulex, ml-antlr
189Description: 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.