Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | <!DOCTYPE html>\r |
2 | <html lang="en">\r | |
3 | <head>\r | |
4 | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">\r | |
5 | <meta name="generator" content="AsciiDoc 8.6.9">\r | |
6 | <title>MLtonLibraryProject</title>\r | |
7 | <link rel="stylesheet" href="./asciidoc.css" type="text/css">\r | |
8 | <link rel="stylesheet" href="./pygments.css" type="text/css">\r | |
9 | \r | |
10 | \r | |
11 | <script type="text/javascript" src="./asciidoc.js"></script>\r | |
12 | <script type="text/javascript">\r | |
13 | /*<![CDATA[*/\r | |
14 | asciidoc.install();\r | |
15 | /*]]>*/\r | |
16 | </script>\r | |
17 | <link rel="stylesheet" href="./mlton.css" type="text/css">\r | |
18 | </head>\r | |
19 | <body class="article">\r | |
20 | <div id="banner">\r | |
21 | <div id="banner-home">\r | |
22 | <a href="./Home">MLton 20180207</a>\r | |
23 | </div>\r | |
24 | </div>\r | |
25 | <div id="header">\r | |
26 | <h1>MLtonLibraryProject</h1>\r | |
27 | </div>\r | |
28 | <div id="content">\r | |
29 | <div id="preamble">\r | |
30 | <div class="sectionbody">\r | |
31 | <div class="paragraph"><p>We have a <a href="https://github.com/MLton/mltonlib">MLton Library repository</a>\r | |
32 | that is intended to collect libraries.</p></div>\r | |
33 | <div class="exampleblock">\r | |
34 | <div class="content">\r | |
35 | <div class="literalblock">\r | |
36 | <div class="content monospaced">\r | |
37 | <pre>https://github.com/MLton/mltonlib</pre>\r | |
38 | </div></div>\r | |
39 | </div></div>\r | |
40 | <div class="paragraph"><p>Libraries are kept in the <span class="monospaced">master</span> branch, and are grouped according\r | |
41 | to domain name, in the Java package style. For example,\r | |
42 | <a href="VesaKarvonen">VesaKarvonen</a>, who works at <span class="monospaced">ssh.com</span>, has been putting code at:</p></div>\r | |
43 | <div class="exampleblock">\r | |
44 | <div class="content">\r | |
45 | <div class="literalblock">\r | |
46 | <div class="content monospaced">\r | |
47 | <pre>https://github.com/MLton/mltonlib/tree/master/com/ssh</pre>\r | |
48 | </div></div>\r | |
49 | </div></div>\r | |
50 | <div class="paragraph"><p><a href="StephenWeeks">StephenWeeks</a>, owning <span class="monospaced">sweeks.com</span>, has been putting code at:</p></div>\r | |
51 | <div class="exampleblock">\r | |
52 | <div class="content">\r | |
53 | <div class="literalblock">\r | |
54 | <div class="content monospaced">\r | |
55 | <pre>https://github.com/MLton/mltonlib/tree/master/com/sweeks</pre>\r | |
56 | </div></div>\r | |
57 | </div></div>\r | |
58 | <div class="paragraph"><p>A "library" is a subdirectory of some such directory. For example,\r | |
59 | Stephen’s basis-library replacement library is at</p></div>\r | |
60 | <div class="exampleblock">\r | |
61 | <div class="content">\r | |
62 | <div class="literalblock">\r | |
63 | <div class="content monospaced">\r | |
64 | <pre>https://github.com/MLton/mltonlib/tree/master/com/sweeks/basic</pre>\r | |
65 | </div></div>\r | |
66 | </div></div>\r | |
67 | <div class="paragraph"><p>We use "transparent per-library branching" to handle library\r | |
68 | versioning. Each library has an "unstable" subdirectory in which work\r | |
69 | happens. When one is happy with a library, one tags it by copying it\r | |
70 | to a stable version directory. Stable libraries are immutable — when\r | |
71 | one refers to a stable library, one always gets exactly the same code.\r | |
72 | No one has actually made a stable library yet, but, when I’m ready to\r | |
73 | tag my library, I was thinking that I would do something like copying</p></div>\r | |
74 | <div class="exampleblock">\r | |
75 | <div class="content">\r | |
76 | <div class="literalblock">\r | |
77 | <div class="content monospaced">\r | |
78 | <pre>https://github.com/MLton/mltonlib/tree/master/com/sweeks/basic/unstable</pre>\r | |
79 | </div></div>\r | |
80 | </div></div>\r | |
81 | <div class="paragraph"><p>to</p></div>\r | |
82 | <div class="exampleblock">\r | |
83 | <div class="content">\r | |
84 | <div class="literalblock">\r | |
85 | <div class="content monospaced">\r | |
86 | <pre>https://github.com/MLton/mltonlib/tree/master/com/sweeks/basic/v1</pre>\r | |
87 | </div></div>\r | |
88 | </div></div>\r | |
89 | <div class="paragraph"><p>So far, libraries in the MLton repository have been licensed under\r | |
90 | MLton’s <a href="License">License</a>. We haven’t decided on whether that will be a\r | |
91 | requirement to be in the repository or not. For the sake of\r | |
92 | simplicity (a single license) and encouraging widest use of code,\r | |
93 | contributors are encouraged to use that license. But it may be too\r | |
94 | strict to require it.</p></div>\r | |
95 | <div class="paragraph"><p>If someone wants to contribute a new library to our repository or to\r | |
96 | work on an old one, they can make a pull request. If people want to\r | |
97 | work in their own repository, they can do so — that’s the point of\r | |
98 | using domain names to prevent clashes. The idea is that a user should\r | |
99 | be able to bring library collections in from many different\r | |
100 | repositories without problems. And those libraries could even work\r | |
101 | with each other.</p></div>\r | |
102 | <div class="paragraph"><p>At some point we may want to settle on an <a href="MLBasisPathMap">MLBasisPathMap</a> variable\r | |
103 | for the root of the library project. Or, we could reuse <span class="monospaced">SML_LIB</span>,\r | |
104 | and migrate what we currently keep there into the library\r | |
105 | infrastructure.</p></div>\r | |
106 | </div>\r | |
107 | </div>\r | |
108 | </div>\r | |
109 | <div id="footnotes"><hr></div>\r | |
110 | <div id="footer">\r | |
111 | <div id="footer-text">\r | |
112 | </div>\r | |
113 | <div id="footer-badges">\r | |
114 | </div>\r | |
115 | </div>\r | |
116 | </body>\r | |
117 | </html>\r |