aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/program/aedifex/profile.lux
diff options
context:
space:
mode:
authorEduardo Julian2022-02-06 03:15:39 -0400
committerEduardo Julian2022-02-06 03:15:39 -0400
commit290de8ebcb7edc92877f2ccc333171214e5eae23 (patch)
tree7307b79865b242a057d35a3b654d8906a8b8c97e /stdlib/source/program/aedifex/profile.lux
parent54bb56a07e6d8f1e76bd447436fb721a74f09f66 (diff)
Finishing the meta-compiler [Part 1]
Diffstat (limited to 'stdlib/source/program/aedifex/profile.lux')
-rw-r--r--stdlib/source/program/aedifex/profile.lux87
1 files changed, 48 insertions, 39 deletions
diff --git a/stdlib/source/program/aedifex/profile.lux b/stdlib/source/program/aedifex/profile.lux
index cdcfd3af5..eeabf5f82 100644
--- a/stdlib/source/program/aedifex/profile.lux
+++ b/stdlib/source/program/aedifex/profile.lux
@@ -1,40 +1,44 @@
(.using
- [library
- [lux {"-" Info Source Module}
- [abstract
- [monoid {"+" Monoid}]
- [equivalence {"+" Equivalence}]]
- [control
- ["[0]" maybe ("[1]#[0]" monoid)]
- ["[0]" exception {"+" exception:}]]
- [data
- ["[0]" product]
- ["[0]" text ("[1]#[0]" equivalence)]
- [collection
- ["[0]" dictionary {"+" Dictionary}]
- ["[0]" list ("[1]#[0]" monoid)]
- ["[0]" set {"+" Set}]]]
- [macro
- ["[0]" template]]
- [world
- [net {"+" URL}]
- [file {"+" Path}]]
- [tool
- [compiler
- [meta
- [archive
- [descriptor {"+" Module}]]]]]]]
- [//
- ["[0]" runtime {"+" Runtime} ("[1]#[0]" equivalence)]
- ["[0]" dependency {"+" Dependency} ("[1]#[0]" equivalence)]
- ["[0]" artifact {"+" Artifact}
- ["[0]" type]]
- [repository
- [remote {"+" Address}]]])
+ [library
+ [lux {"-" Info Source Module}
+ [abstract
+ [monoid {"+" Monoid}]
+ [equivalence {"+" Equivalence}]]
+ [control
+ ["[0]" maybe ("[1]#[0]" monoid)]
+ ["[0]" exception {"+" exception:}]]
+ [data
+ ["[0]" product]
+ ["[0]" text ("[1]#[0]" equivalence)]
+ [collection
+ ["[0]" dictionary {"+" Dictionary}]
+ ["[0]" list ("[1]#[0]" monoid)]
+ ["[0]" set {"+" Set}]]]
+ [macro
+ ["[0]" template]]
+ [meta
+ ["[0]" symbol]]
+ [world
+ [net {"+" URL}]
+ [file {"+" Path}]]
+ [tool
+ [compiler
+ [meta
+ ["[0]" cli {"+" Compiler}]
+ [archive
+ [module
+ [descriptor {"+" Module}]]]]]]]]
+ [//
+ ["[0]" runtime {"+" Runtime} ("[1]#[0]" equivalence)]
+ ["[0]" dependency {"+" Dependency} ("[1]#[0]" equivalence)]
+ ["[0]" artifact {"+" Artifact}
+ ["[0]" type]]
+ [repository
+ [remote {"+" Address}]]])
(def: .public default_compiler
Dependency
- [dependency.#artifact ["com.github.luxlang" "lux-jvm" "0.6.0"]
+ [dependency.#artifact ["com.github.luxlang" "lux-jvm" "0.6.5"]
dependency.#type type.jvm_library])
(type: .public Distribution
@@ -162,7 +166,8 @@
#info (Maybe Info)
#repositories (Set Address)
#dependencies (Set Dependency)
- #compiler Dependency
+ #lux Dependency
+ #compilers (List Compiler)
#sources (Set Source)
#target Target
#program (Maybe Module)
@@ -187,8 +192,10 @@
set.equivalence
... #dependencies
set.equivalence
- ... #compiler
+ ... #lux
dependency.equivalence
+ ... #compilers
+ (list.equivalence cli.compiler_equivalence)
... #sources
set.equivalence
... #target
@@ -219,7 +226,8 @@
#info {.#None}
#repositories (set.empty text.hash)
#dependencies (set.empty dependency.hash)
- #compiler default_compiler
+ #lux default_compiler
+ #compilers (list)
#sources (set.empty text.hash)
#target ..default_target
#program {.#None}
@@ -241,9 +249,10 @@
#info (maybe#composite (value@ #info override) (value@ #info baseline))
#repositories (set.union (value@ #repositories baseline) (value@ #repositories override))
#dependencies (set.union (value@ #dependencies baseline) (value@ #dependencies override))
- #compiler (if (dependency#= ..default_compiler (value@ #compiler override))
- (value@ #compiler baseline)
- (value@ #compiler override))
+ #lux (if (dependency#= ..default_compiler (value@ #lux override))
+ (value@ #lux baseline)
+ (value@ #lux override))
+ #compilers (list#composite (value@ #compilers baseline) (value@ #compilers override))
#sources (set.union (value@ #sources baseline) (value@ #sources override))
#target (if (text#= ..default_target (value@ #target baseline))
(value@ #target override)