aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/macro/syntax/type/variable.lux
blob: 22f37a35cfa0d2b412115819e906a0e6d04c735d (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
(.module:
  [lux #*
   [abstract
    [equivalence (#+ Equivalence)]]
   [control
    [parser
     ["<.>" code (#+ Parser)]]]
   [data
    ["." text]]
   [macro
    ["." code]]])

(type: #export Variable
  Text)

(def: #export equivalence
  (Equivalence Variable)
  text.equivalence)

(def: #export format
  (-> Variable Code)
  code.local_identifier)

(def: #export parser
  {#.doc "Parser for the common type variable/parameter used by many macros."}
  (Parser Variable)
  <code>.local_identifier)