aboutsummaryrefslogtreecommitdiff
path: root/source/program.lux
blob: 1b6c6f398bd0763e6204eee79516e0c47c613a3d (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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
##  Copyright (c) Eduardo Julian. All rights reserved.
##  This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
##  If a copy of the MPL was not distributed with this file,
##  You can obtain one at http://mozilla.org/MPL/2.0/.

(;import lux
         (lux (control (monoid #as m)
                       functor
                       monad
                       comonad
                       bounded
                       eq
                       hash
                       (ord #as O)
                       (show #as S)
                       number)
              (data bool
                    char
                    (either #as e)
                    id
                    io
                    (list #refer #all #open ("list:" List/Functor))
                    maybe
                    (number (int #refer #all #open ("" Int/Show))
                            real)
                    (text #refer (#only <>) #open ("text:" Text/Monoid))
                    writer
                    tuple
                    )
              (codata (stream #as s)
                      lazy
                      function
                      (reader #as r)
                      state)
              (host jvm)
              (meta ast
                    lux
                    macro
                    syntax)
              math
              ))

(program args
  (case args
    (\ (@list name))
    (println (<> "Hello, #{name}!"))

    _
    (println "Hello, world!")
    ))