aboutsummaryrefslogtreecommitdiff
path: root/notes/single_file.txt
blob: 507a79b92e595a3930ad3a7c357b29a24dc2da6a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

Single-file projects
====================

There are two required files, in addition to the source files:

* `sources.index` - a list of all source files
* `deps.index` - a list of dependencies


`sources.index`
---------------

`sources.index` can be skipped, and all `.slul` files in the
current directory (recursive) can be loaded.


`deps.index`
---------------

`deps.index` could be skipped:

* If absent, or missing information, it could print a command to use to
  generate it.
* Perhaps the information could be encoded in the file header (similar to
  old SLUL).

A header in `Main.slul` could perhaps look something like this:

    dep AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA somelib 0.1.0
    dep AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA otherlib 0.2.1

    CommandMain "myapp"

    ...