From 290de8ebcb7edc92877f2ccc333171214e5eae23 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Sun, 6 Feb 2022 03:15:39 -0400 Subject: Finishing the meta-compiler [Part 1] --- stdlib/source/program/aedifex/profile.lux | 87 +++++++++++++++++-------------- 1 file changed, 48 insertions(+), 39 deletions(-) (limited to 'stdlib/source/program/aedifex/profile.lux') 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) -- cgit v1.2.3