diff options
Diffstat (limited to 'stdlib/source/library/lux/tool/compiler')
56 files changed, 226 insertions, 226 deletions
diff --git a/stdlib/source/library/lux/tool/compiler/default/init.lux b/stdlib/source/library/lux/tool/compiler/default/init.lux index ecd883cfe..898f0edd3 100644 --- a/stdlib/source/library/lux/tool/compiler/default/init.lux +++ b/stdlib/source/library/lux/tool/compiler/default/init.lux @@ -125,13 +125,13 @@ (///directive.Operation anchor expression directive [Source (Payload directive)]))) (do ///phase.monad - [#let [module (get@ #///.module input)] + [.let [module (get@ #///.module input)] _ (///directive.set_current_module module)] (///directive.lift_analysis (do {! ///phase.monad} [_ (module.create hash module) _ (monad.map ! module.import dependencies) - #let [source (///analysis.source (get@ #///.module input) (get@ #///.code input))] + .let [source (///analysis.source (get@ #///.module input) (get@ #///.code input))] _ (///analysis.set_source_code source)] (in [source [///generation.empty_buffer artifact.empty]]))))) @@ -176,7 +176,7 @@ (///directive.Operation anchor expression directive [Requirements (Payload directive)])))) (do ///phase.monad - [#let [[pre_buffer pre_registry] pre_payoad] + [.let [[pre_buffer pre_registry] pre_payoad] _ (///directive.lift_generation (///generation.set_buffer pre_buffer)) _ (///directive.lift_generation @@ -238,10 +238,10 @@ {#///.dependencies dependencies #///.process (function (_ state archive) (do {! try.monad} - [#let [hash (text\hash (get@ #///.code input))] + [.let [hash (text\hash (get@ #///.code input))] [state [source buffer]] (<| (///phase.run' state) (..begin dependencies hash input)) - #let [module (get@ #///.module input)]] + .let [module (get@ #///.module input)]] (loop [iteration (<| (///phase.run' state) (..iteration archive expander module source buffer ///syntax.no_aliases))] (do ! @@ -250,7 +250,7 @@ #.None (do ! [[state [analysis_module [final_buffer final_registry]]] (///phase.run' state (..end module)) - #let [descriptor {#descriptor.hash hash + .let [descriptor {#descriptor.hash hash #descriptor.name module #descriptor.file (get@ #///.file input) #descriptor.references (set.of_list text.hash dependencies) diff --git a/stdlib/source/library/lux/tool/compiler/default/platform.lux b/stdlib/source/library/lux/tool/compiler/default/platform.lux index 8a3f17237..9e54b2522 100644 --- a/stdlib/source/library/lux/tool/compiler/default/platform.lux +++ b/stdlib/source/library/lux/tool/compiler/default/platform.lux @@ -104,12 +104,12 @@ (do {! ..monad} [_ (ioW.prepare system static module_id) _ (for {@.python (|> output - row.to_list + row.list (list.chunk 128) (monad.map ! (monad.map ! write_artifact!)) (: (Action (List (List Any)))))} (|> output - row.to_list + row.list (monad.map ..monad write_artifact!) (: (Action (List Any))))) document (\ async.monad in @@ -152,7 +152,7 @@ (do ///phase.monad [[registry payload] (///directive.lift_generation (..compile_runtime! platform)) - #let [[descriptor document] [(..runtime_descriptor registry) ..runtime_document]] + .let [[descriptor document] [(..runtime_descriptor registry) ..runtime_document]] archive (///phase.lift (if (archive.reserved? archive archive.runtime_module) (archive.add archive.runtime_module [descriptor document payload] archive) (do try.monad @@ -236,7 +236,7 @@ Import (List Context) (Async (Try [<State+> Archive])))) (do {! (try.with async.monad)} - [#let [state (//init.state (get@ #static.host static) + [.let [state (//init.state (get@ #static.host static) module expander host_analysis @@ -245,7 +245,7 @@ generation_bundle)] _ (ioW.enable (get@ #&file_system platform) static) [archive analysis_state bundles] (ioW.thaw (get@ #host platform) (get@ #&file_system platform) static import compilation_sources) - #let [with_missing_extensions + .let [with_missing_extensions (: (All [<type_vars>] (-> <Platform> (Program expression directive) <State+> (Async (Try <State+>)))) (function (_ platform program state) @@ -333,7 +333,7 @@ (list\fold (function (_ previous) (dictionary.upsert previous ..empty (set.add target))) with_dependence+transitives - (set.to_list backward))))))] + (set.list backward))))))] (|> dependence (update@ #depends_on (update_dependence @@ -370,7 +370,7 @@ {duplicates (Set Module)}) (exception.report ["Importer" (%.text importer)] - ["Duplicates" (%.list %.text (set.to_list duplicates))])) + ["Duplicates" (%.list %.text (set.list duplicates))])) (def: (verify_dependencies importer importee dependence) (-> Module Module Dependence (Try Any)) @@ -448,7 +448,7 @@ (#try.Success [module_id archive]) (do ! [_ (stm.write [archive state] current) - #let [[return signal] (:sharing [<type_vars>] + .let [[return signal] (:sharing [<type_vars>] <Context> initial @@ -496,7 +496,7 @@ lux_module (document.read $.key document)] (in [module lux_module]))) (archive.archived archive)) - #let [additions (|> modules + .let [additions (|> modules (list\map product.left) (set.of_list text.hash))]] (in (update@ [#extension.state @@ -538,7 +538,7 @@ context (function (_ importer import! module_id [archive state] module) (do {! (try.with async.monad)} - [#let [state (..set_current_module module state)] + [.let [state (..set_current_module module state)] input (context.read (get@ #&file_system platform) importer import @@ -550,7 +550,7 @@ all_dependencies (: (Set Module) (set.of_list text.hash (list)))] (do ! - [#let [new_dependencies (get@ #///.dependencies compilation) + [.let [new_dependencies (get@ #///.dependencies compilation) continue! (:sharing [<type_vars>] <Platform> platform @@ -583,7 +583,7 @@ [archive,document+ (|> new_dependencies (list\map (import! module)) (monad.seq ..monad)) - #let [archive (|> archive,document+ + .let [archive (|> archive,document+ (list\map product.left) (list\fold archive.merged archive))]] (in [archive (try.assumed @@ -604,7 +604,7 @@ (#.Right [descriptor document output]) (do ! - [#let [_ (debug.log! (..module_compilation_log module state)) + [.let [_ (debug.log! (..module_compilation_log module state)) descriptor (set@ #descriptor.references all_dependencies descriptor)] _ (..cache_module static platform module_id [descriptor document output])] (case (archive.add module [descriptor document output] archive) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/case.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/case.lux index fe7de804f..7f539ae4e 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/case.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/case.lux @@ -291,7 +291,7 @@ [idx group variantT] (///extension.lift (meta.tag tag)) _ (//type.with_env (check.check inputT variantT)) - #let [[lefts right?] (/.choice (list.size group) idx)]] + .let [[lefts right?] (/.choice (list.size group) idx)]] (analyse_pattern (#.Some (list.size group)) inputT (` ((~ (code.nat lefts)) (~ (code.bit right?)) (~+ values))) next))) _ diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/case/coverage.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/case/coverage.lux index a0d02badc..91052853b 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/case/coverage.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/case/coverage.lux @@ -145,7 +145,7 @@ (#/.Complex (#/.Variant [lefts right? value])) (do ////.monad [value_coverage (determine value) - #let [idx (if right? + .let [idx (if right? (inc lefts) lefts)]] (in (#Variant (if right? @@ -324,7 +324,7 @@ ## merges can be done. [_ (#Alt leftS rightS)] (do {! try.monad} - [#let [fuse_once (: (-> Coverage (List Coverage) + [.let [fuse_once (: (-> Coverage (List Coverage) (Try [(Maybe Coverage) (List Coverage)])) (function (_ coverageA possibilitiesSF) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/function.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/function.lux index d50f72630..0ebfb304f 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/function.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/function.lux @@ -81,7 +81,7 @@ (do ! [[input_id inputT] (//type.with_env check.var) [output_id outputT] (//type.with_env check.var) - #let [functionT (#.Function inputT outputT)] + .let [functionT (#.Function inputT outputT)] functionA (recur functionT) _ (//type.with_env (check.check expectedT functionT))] diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/scope.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/scope.lux index e9e68deb3..3ccfd3551 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/scope.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/scope.lux @@ -190,7 +190,7 @@ #.End (exception.except ..cannot_get_next_reference_when_there_is_no_scope []))))) -(def: (ref_to_variable ref) +(def: (ref_variable ref) (-> Ref Variable) (case ref (#.Local register) @@ -203,4 +203,4 @@ (-> Scope (List Variable)) (|> scope (get@ [#.captured #.mappings]) - (list\map (function (_ [_ [_ ref]]) (ref_to_variable ref))))) + (list\map (function (_ [_ [_ ref]]) (ref_variable ref))))) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/structure.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/structure.lux index 1a787efec..5e3717c5b 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/structure.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/analysis/structure.lux @@ -264,7 +264,7 @@ (do {! ///.monad} [tag (///extension.lift (meta.normal tag)) [idx group variantT] (///extension.lift (meta.tag tag)) - #let [case_size (list.size group) + .let [case_size (list.size group) [lefts right?] (/.choice case_size idx)] expectedT (///extension.lift meta.expected_type)] (case expectedT @@ -309,12 +309,12 @@ (do {! ///.monad} [head_k (///extension.lift (meta.normal head_k)) [_ tag_set recordT] (///extension.lift (meta.tag head_k)) - #let [size_record (list.size record) + .let [size_record (list.size record) size_ts (list.size tag_set)] _ (if (n.= size_ts size_record) (in []) (/.except ..record_size_mismatch [size_ts size_record recordT record])) - #let [tuple_range (list.indices size_ts) + .let [tuple_range (list.indices size_ts) tag->idx (dictionary.of_list name.hash (list.zipped/2 tag_set tuple_range))] idx->val (monad.fold ! (function (_ [key val] idx->val) @@ -331,7 +331,7 @@ (: (Dictionary Nat Code) (dictionary.empty n.hash)) record) - #let [ordered_tuple (list\map (function (_ idx) (maybe.assume (dictionary.get idx idx->val))) + .let [ordered_tuple (list\map (function (_ idx) (maybe.assume (dictionary.get idx idx->val))) tuple_range)]] (in [ordered_tuple recordT])) )) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/js.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/js.lux index 64a9b36b0..a0c430e81 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/js.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/js.lux @@ -196,7 +196,7 @@ [($_ <>.and <c>.nat <c>.any) (function (_ extension phase archive [arity abstractionC]) (do phase.monad - [#let [inputT (type.tuple (list.repeat arity Any))] + [.let [inputT (type.tuple (list.repeat arity Any))] abstractionA (analysis/type.with_type (-> inputT Any) (phase archive abstractionC)) _ (analysis/type.infer (for {@.js ffi.Function} diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/jvm.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/jvm.lux index 8d38f4754..87dca360f 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/jvm.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/jvm.lux @@ -859,30 +859,30 @@ [reflection_return Return luxT.return] ) -(def: (class_candidate_parents class_loader from_name fromT to_name to_class) +(def: (class_candidate_parents class_loader source_name fromT target_name target_class) (-> java/lang/ClassLoader External .Type External (java/lang/Class java/lang/Object) (Operation (List [[Text .Type] Bit]))) (do {! phase.monad} - [from_class (phase.lift (reflection!.load class_loader from_name)) - mapping (phase.lift (reflection!.correspond from_class fromT))] + [source_class (phase.lift (reflection!.load class_loader source_name)) + mapping (phase.lift (reflection!.correspond source_class fromT))] (monad.map ! (function (_ superJT) (do ! [superJT (phase.lift (reflection!.type superJT)) - #let [super_name (|> superJT ..reflection)] + .let [super_name (|> superJT ..reflection)] super_class (phase.lift (reflection!.load class_loader super_name)) superT (reflection_type mapping superJT)] - (in [[super_name superT] (java/lang/Class::isAssignableFrom super_class to_class)]))) - (case (java/lang/Class::getGenericSuperclass from_class) + (in [[super_name superT] (java/lang/Class::isAssignableFrom super_class target_class)]))) + (case (java/lang/Class::getGenericSuperclass source_class) (#.Some super) - (list& super (array.to_list (java/lang/Class::getGenericInterfaces from_class))) + (list& super (array.list (java/lang/Class::getGenericInterfaces source_class))) #.None - (if (java/lang/reflect/Modifier::isInterface (java/lang/Class::getModifiers from_class)) + (if (java/lang/reflect/Modifier::isInterface (java/lang/Class::getModifiers source_class)) (#.Item (:as java/lang/reflect/Type (ffi.class_for java/lang/Object)) - (array.to_list (java/lang/Class::getGenericInterfaces from_class))) - (array.to_list (java/lang/Class::getGenericInterfaces from_class))))))) + (array.list (java/lang/Class::getGenericInterfaces source_class))) + (array.list (java/lang/Class::getGenericInterfaces source_class))))))) -(def: (inheritance_candidate_parents class_loader fromT to_class toT fromC) +(def: (inheritance_candidate_parents class_loader fromT target_class toT fromC) (-> java/lang/ClassLoader .Type (java/lang/Class java/lang/Object) .Type Code (Operation (List [[Text .Type] Bit]))) (case fromT (^ (#.Primitive _ (list& self_classT super_classT super_interfacesT+))) @@ -892,7 +892,7 @@ [super_name (\ ! map ..reflection (check_jvm superT)) super_class (phase.lift (reflection!.load class_loader super_name))] (in [[super_name superT] - (java/lang/Class::isAssignableFrom super_class to_class)]))) + (java/lang/Class::isAssignableFrom super_class target_class)]))) (list& super_classT super_interfacesT+)) _ @@ -905,18 +905,18 @@ (^ (list fromC)) (do {! phase.monad} [toT (///.lift meta.expected_type) - to_name (\ ! map ..reflection (check_jvm toT)) + target_name (\ ! map ..reflection (check_jvm toT)) [fromT fromA] (typeA.with_inference (analyse archive fromC)) - from_name (\ ! map ..reflection (check_jvm fromT)) + source_name (\ ! map ..reflection (check_jvm fromT)) can_cast? (: (Operation Bit) (`` (cond (~~ (template [<primitive> <object>] [(let [=primitive (reflection.reflection <primitive>)] - (or (and (text\= =primitive from_name) - (or (text\= <object> to_name) - (text\= =primitive to_name))) - (and (text\= <object> from_name) - (text\= =primitive to_name)))) + (or (and (text\= =primitive source_name) + (or (text\= <object> target_name) + (text\= =primitive target_name))) + (and (text\= <object> source_name) + (text\= =primitive target_name)))) (in true)] [reflection.boolean box.boolean] @@ -930,25 +930,25 @@ ## else (do ! - [_ (phase.assertion ..primitives_are_not_objects [from_name] - (not (dictionary.key? ..boxes from_name))) - _ (phase.assertion ..primitives_are_not_objects [to_name] - (not (dictionary.key? ..boxes to_name))) - to_class (phase.lift (reflection!.load class_loader to_name)) - _ (if (text\= ..inheritance_relationship_type_name from_name) + [_ (phase.assertion ..primitives_are_not_objects [source_name] + (not (dictionary.key? ..boxes source_name))) + _ (phase.assertion ..primitives_are_not_objects [target_name] + (not (dictionary.key? ..boxes target_name))) + target_class (phase.lift (reflection!.load class_loader target_name)) + _ (if (text\= ..inheritance_relationship_type_name source_name) (in []) (do ! - [from_class (phase.lift (reflection!.load class_loader from_name))] + [source_class (phase.lift (reflection!.load class_loader source_name))] (phase.assertion ..cannot_cast [fromT toT fromC] - (java/lang/Class::isAssignableFrom from_class to_class))))] - (loop [[current_name currentT] [from_name fromT]] - (if (text\= to_name current_name) + (java/lang/Class::isAssignableFrom source_class target_class))))] + (loop [[current_name currentT] [source_name fromT]] + (if (text\= target_name current_name) (in true) (do ! [candidate_parents (: (Operation (List [[Text .Type] Bit])) (if (text\= ..inheritance_relationship_type_name current_name) - (inheritance_candidate_parents class_loader currentT to_class toT fromC) - (class_candidate_parents class_loader current_name currentT to_name to_class)))] + (inheritance_candidate_parents class_loader currentT target_class toT fromC) + (class_candidate_parents class_loader current_name currentT target_name target_class)))] (case (|> candidate_parents (list.only product.right) (list\map product.left)) @@ -958,8 +958,8 @@ #.End (in false)))))))))] (if can_cast? - (in (#/////analysis.Extension extension_name (list (/////analysis.text from_name) - (/////analysis.text to_name) + (in (#/////analysis.Extension extension_name (list (/////analysis.text source_name) + (/////analysis.text target_name) fromA))) (/////analysis.except ..cannot_cast [fromT toT fromC]))) @@ -1089,10 +1089,10 @@ (-> Aliasing (java/lang/Class java/lang/Object) Text Method_Style (List (Type Value)) java/lang/reflect/Method (Operation Bit)) (do phase.monad [parameters (|> (java/lang/reflect/Method::getGenericParameterTypes method) - array.to_list + array.list (monad.map try.monad reflection!.type) phase.lift) - #let [modifiers (java/lang/reflect/Method::getModifiers method) + .let [modifiers (java/lang/reflect/Method::getModifiers method) correct_class? (java/lang/Object::equals class (java/lang/reflect/Method::getDeclaringClass method)) correct_method? (text\= method_name (java/lang/reflect/Method::getName method)) static_matches? (case method_style @@ -1135,7 +1135,7 @@ (-> Aliasing (java/lang/Class java/lang/Object) (List (Type Value)) (java/lang/reflect/Constructor java/lang/Object) (Operation Bit)) (do phase.monad [parameters (|> (java/lang/reflect/Constructor::getGenericParameterTypes constructor) - array.to_list + array.list (monad.map try.monad reflection!.type) phase.lift)] (in (and (java/lang/Object::equals class (java/lang/reflect/Constructor::getDeclaringClass constructor)) @@ -1155,7 +1155,7 @@ true (list.zipped/2 parameters inputsJT)))))) -(def: idx_to_parameter +(def: index_parameter (-> Nat .Type) (|>> (n.* 2) inc #.Parameter)) @@ -1166,7 +1166,7 @@ list.reversed list.enumeration (list\map (function (_ [idx name]) - [name (idx_to_parameter idx)])) + [name (index_parameter idx)])) list.reversed) num_owner_tvars (list.size owner_tvars) owner_tvarsT (|> lux_tvars (list.take num_owner_tvars) (list\map product.right)) @@ -1182,15 +1182,15 @@ _ (|> (java/lang/Class::getTypeParameters owner) - array.to_list + array.list (list\map (|>> java/lang/reflect/TypeVariable::getName)))) method_tvars (|> (java/lang/reflect/Method::getTypeParameters method) - array.to_list + array.list (list\map (|>> java/lang/reflect/TypeVariable::getName))) [owner_tvarsT mapping] (jvm_type_var_mapping owner_tvars method_tvars)] (do {! phase.monad} [inputsT (|> (java/lang/reflect/Method::getGenericParameterTypes method) - array.to_list + array.list (monad.map ! (|>> reflection!.type phase.lift)) (phase\map (monad.map ! (..reflection_type mapping))) phase\join) @@ -1201,11 +1201,11 @@ (phase\map (..reflection_return mapping)) phase\join) exceptionsT (|> (java/lang/reflect/Method::getGenericExceptionTypes method) - array.to_list + array.list (monad.map ! (|>> reflection!.type phase.lift)) (phase\map (monad.map ! (..reflection_type mapping))) phase\join) - #let [methodT (<| (type.univ_q (dictionary.size mapping)) + .let [methodT (<| (type.univ_q (dictionary.size mapping)) (type.function (case method_style #Static inputsT @@ -1222,24 +1222,24 @@ (-> (java/lang/reflect/Constructor java/lang/Object) (Operation Method_Signature)) (let [owner (java/lang/reflect/Constructor::getDeclaringClass constructor) owner_tvars (|> (java/lang/Class::getTypeParameters owner) - array.to_list + array.list (list\map (|>> java/lang/reflect/TypeVariable::getName))) method_tvars (|> (java/lang/reflect/Constructor::getTypeParameters constructor) - array.to_list + array.list (list\map (|>> java/lang/reflect/TypeVariable::getName))) [owner_tvarsT mapping] (jvm_type_var_mapping owner_tvars method_tvars)] (do {! phase.monad} [inputsT (|> (java/lang/reflect/Constructor::getGenericParameterTypes constructor) - array.to_list + array.list (monad.map ! (|>> reflection!.type phase.lift)) (phase\map (monad.map ! (reflection_type mapping))) phase\join) exceptionsT (|> (java/lang/reflect/Constructor::getGenericExceptionTypes constructor) - array.to_list + array.list (monad.map ! (|>> reflection!.type phase.lift)) (phase\map (monad.map ! (reflection_type mapping))) phase\join) - #let [objectT (#.Primitive (java/lang/Class::getName owner) owner_tvarsT) + .let [objectT (#.Primitive (java/lang/Class::getName owner) owner_tvarsT) constructorT (<| (type.univ_q (dictionary.size mapping)) (type.function inputsT) objectT)]] @@ -1268,7 +1268,7 @@ [(def: <name> (-> <type> (List (Type Var))) (|>> <method> - array.to_list + array.list (list\map (|>> java/lang/reflect/TypeVariable::getName jvm.var))))] [class_type_variables (java/lang/Class java/lang/Object) java/lang/Class::getTypeParameters] @@ -1286,15 +1286,15 @@ (-> java/lang/ClassLoader (List (Type Var)) External (List (Type Var)) Text Method_Style (List (Type Value)) (Operation Method_Signature)) (do {! phase.monad} [class (phase.lift (reflection!.load class_loader class_name)) - #let [expected_class_tvars (class_type_variables class)] + .let [expected_class_tvars (class_type_variables class)] candidates (|> class java/lang/Class::getDeclaredMethods - array.to_list + array.list (list.only (|>> java/lang/reflect/Method::getName (text\= method_name))) (monad.map ! (: (-> java/lang/reflect/Method (Operation Evaluation)) (function (_ method) (do ! - [#let [expected_method_tvars (method_type_variables method) + [.let [expected_method_tvars (method_type_variables method) aliasing (dictionary.merged (..aliasing expected_class_tvars actual_class_tvars) (..aliasing expected_method_tvars actual_method_tvars))] passes? (check_method aliasing class method_name method_style inputsJT method)] @@ -1319,13 +1319,13 @@ (-> java/lang/ClassLoader (List (Type Var)) External (List (Type Var)) (List (Type Value)) (Operation Method_Signature)) (do {! phase.monad} [class (phase.lift (reflection!.load class_loader class_name)) - #let [expected_class_tvars (class_type_variables class)] + .let [expected_class_tvars (class_type_variables class)] candidates (|> class java/lang/Class::getConstructors - array.to_list + array.list (monad.map ! (function (_ constructor) (do ! - [#let [expected_method_tvars (constructor_type_variables constructor) + [.let [expected_method_tvars (constructor_type_variables constructor) aliasing (dictionary.merged (..aliasing expected_class_tvars actual_class_tvars) (..aliasing expected_method_tvars actual_method_tvars))] passes? (check_constructor aliasing class inputsJT constructor)] @@ -1374,7 +1374,7 @@ (function (_ extension_name analyse archive [class_tvars [class method] method_tvars argsTC]) (do phase.monad [_ (..ensure_fresh_class! class_loader class) - #let [argsT (list\map product.left argsTC)] + .let [argsT (list\map product.left argsTC)] [methodT deprecated? exceptionsT] (..method_candidate class_loader class_tvars class method_tvars method #Static argsT) _ (phase.assertion ..deprecated_method [class method methodT] (not deprecated?)) @@ -1392,12 +1392,12 @@ (function (_ extension_name analyse archive [class_tvars [class method] method_tvars objectC argsTC]) (do phase.monad [_ (..ensure_fresh_class! class_loader class) - #let [argsT (list\map product.left argsTC)] + .let [argsT (list\map product.left argsTC)] [methodT deprecated? exceptionsT] (..method_candidate class_loader class_tvars class method_tvars method #Virtual argsT) _ (phase.assertion ..deprecated_method [class method methodT] (not deprecated?)) [outputT allA] (inferenceA.general archive analyse methodT (list& objectC (list\map product.right argsTC))) - #let [[objectA argsA] (case allA + .let [[objectA argsA] (case allA (#.Item objectA argsA) [objectA argsA] @@ -1417,7 +1417,7 @@ (function (_ extension_name analyse archive [class_tvars [class method] method_tvars objectC argsTC]) (do phase.monad [_ (..ensure_fresh_class! class_loader class) - #let [argsT (list\map product.left argsTC)] + .let [argsT (list\map product.left argsTC)] [methodT deprecated? exceptionsT] (..method_candidate class_loader class_tvars class method_tvars method #Special argsT) _ (phase.assertion ..deprecated_method [class method methodT] (not deprecated?)) @@ -1435,7 +1435,7 @@ (function (_ extension_name analyse archive [class_tvars [class_name method] method_tvars objectC argsTC]) (do phase.monad [_ (..ensure_fresh_class! class_loader class_name) - #let [argsT (list\map product.left argsTC)] + .let [argsT (list\map product.left argsTC)] class (phase.lift (reflection!.load class_loader class_name)) _ (phase.assertion non_interface class_name (java/lang/reflect/Modifier::isInterface (java/lang/Class::getModifiers class))) @@ -1443,7 +1443,7 @@ _ (phase.assertion ..deprecated_method [class_name method methodT] (not deprecated?)) [outputT allA] (inferenceA.general archive analyse methodT (list& objectC (list\map product.right argsTC))) - #let [[objectA argsA] (case allA + .let [[objectA argsA] (case allA (#.Item objectA argsA) [objectA argsA] @@ -1464,7 +1464,7 @@ (function (_ extension_name analyse archive [class_tvars class method_tvars argsTC]) (do phase.monad [_ (..ensure_fresh_class! class_loader class) - #let [argsT (list\map product.left argsTC)] + .let [argsT (list\map product.left argsTC)] [methodT deprecated? exceptionsT] (..constructor_candidate class_loader class_tvars class method_tvars argsT) _ (phase.assertion ..deprecated_method [class ..constructor_method methodT] (not deprecated?)) @@ -1547,23 +1547,23 @@ (-> (java/lang/Class java/lang/Object) (Try (List [Text (Type Method)]))) (|>> java/lang/Class::getDeclaredMethods - array.to_list + array.list <only> (monad.map try.monad (function (_ method) (do {! try.monad} - [#let [type_variables (|> (java/lang/reflect/Method::getTypeParameters method) - array.to_list + [.let [type_variables (|> (java/lang/reflect/Method::getTypeParameters method) + array.list (list\map (|>> java/lang/reflect/TypeVariable::getName jvm.var)))] inputs (|> (java/lang/reflect/Method::getGenericParameterTypes method) - array.to_list + array.list (monad.map ! reflection!.type)) return (|> method java/lang/reflect/Method::getGenericReturnType reflection!.return) exceptions (|> (java/lang/reflect/Method::getGenericExceptionTypes method) - array.to_list + array.list (monad.map ! reflection!.class))] (in [(java/lang/reflect/Method::getName method) (jvm.method [type_variables inputs return exceptions])]))))))] @@ -2059,10 +2059,10 @@ (def: (super_aliasing class_loader class) (-> java/lang/ClassLoader (Type Class) (Operation Aliasing)) (do phase.monad - [#let [[name actual_parameters] (jvm_parser.read_class class)] + [.let [[name actual_parameters] (jvm_parser.read_class class)] class (phase.lift (reflection!.load class_loader name)) - #let [expected_parameters (|> (java/lang/Class::getTypeParameters class) - array.to_list + .let [expected_parameters (|> (java/lang/Class::getTypeParameters class) + array.list (list\map (|>> java/lang/reflect/TypeVariable::getName)))] _ (phase.assertion ..class_parameter_mismatch [expected_parameters actual_parameters] (n.= (list.size expected_parameters) @@ -2100,7 +2100,7 @@ exceptions]) (jvm_alias.method aliasing))]))) methods) - #let [missing_abstract_methods (mismatched_methods overriden_methods required_abstract_methods) + .let [missing_abstract_methods (mismatched_methods overriden_methods required_abstract_methods) invalid_overriden_methods (mismatched_methods available_methods overriden_methods)] _ (phase.assertion ..missing_abstract_methods missing_abstract_methods (list.empty? missing_abstract_methods)) @@ -2127,7 +2127,7 @@ _ (monad.map ! (|>> ..reflection (..ensure_fresh_class! class_loader)) super_interfaces) parameters (typeA.with_env (..parameter_types parameters)) - #let [mapping (list\fold (function (_ [parameterJ parameterT] mapping) + .let [mapping (list\fold (function (_ [parameterJ parameterT] mapping) (dictionary.put (jvm_parser.name parameterJ) parameterT mapping)) @@ -2153,7 +2153,7 @@ (analyse archive term))] (in [type termA]))) constructor_args) - #let [supers (#.Item super_class super_interfaces)] + .let [supers (#.Item super_class super_interfaces)] _ (..require_complete_method_concretion class_loader supers methods) methodsA (monad.map ! (analyse_overriden_method analyse archive selfT mapping supers) methods)] (in (#/////analysis.Extension extension_name diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lua.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lua.lux index 923880ebd..50c8dfe2a 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lua.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lua.lux @@ -228,7 +228,7 @@ [($_ <>.and <code>.nat <code>.any) (function (_ extension phase archive [arity abstractionC]) (do phase.monad - [#let [inputT (type.tuple (list.repeat arity Any))] + [.let [inputT (type.tuple (list.repeat arity Any))] abstractionA (analysis/type.with_type (-> inputT Any) (phase archive abstractionC)) _ (analysis/type.infer ..Function)] diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/python.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/python.lux index b5a81bc65..00a5a803a 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/python.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/python.lux @@ -196,7 +196,7 @@ [($_ <>.and <code>.nat <code>.any) (function (_ extension phase archive [arity abstractionC]) (do phase.monad - [#let [inputT (type.tuple (list.repeat arity Any))] + [.let [inputT (type.tuple (list.repeat arity Any))] abstractionA (analysis/type.with_type (-> inputT Any) (phase archive abstractionC)) _ (analysis/type.infer ..Function)] diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/directive/jvm.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/directive/jvm.lux index a3265adb0..446c63e08 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/directive/jvm.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/directive/jvm.lux @@ -263,7 +263,7 @@ [parameters (directive.lift_analysis (typeA.with_env (jvm.parameter_types parameters))) - #let [mapping (list\fold (function (_ [parameterJ parameterT] mapping) + .let [mapping (list\fold (function (_ [parameterJ parameterT] mapping) (dictionary.put (parser.name parameterJ) parameterT mapping)) luxT.fresh parameters)] @@ -275,11 +275,11 @@ (monad.map check.monad (|>> ..signature (luxT.check (luxT.class mapping))) super_interfaces))) - #let [selfT (jvm.inheritance_relationship_type (#.Primitive name (list\map product.right parameters)) + .let [selfT (jvm.inheritance_relationship_type (#.Primitive name (list\map product.right parameters)) super_classT super_interfaceT+)] state (extension.lift phase.get_state) - #let [analyse (get@ [#directive.analysis #directive.phase] state) + .let [analyse (get@ [#directive.analysis #directive.phase] state) synthesize (get@ [#directive.synthesis #directive.phase] state) generate (get@ [#directive.generation #directive.phase] state)] methods (monad.map ! (..method_definition [mapping selfT] [analyse synthesize generate]) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/directive/lux.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/directive/lux.lux index d12359d68..ce82ca51e 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/directive/lux.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/directive/lux.lux @@ -88,7 +88,7 @@ (-> Archive Type Code (Operation anchor expression directive [Type expression Any]))) (do phase.monad [state (///.lift phase.get_state) - #let [analyse (get@ [#/////directive.analysis #/////directive.phase] state) + .let [analyse (get@ [#/////directive.analysis #/////directive.phase] state) synthesize (get@ [#/////directive.synthesis #/////directive.phase] state) generate (get@ [#/////directive.generation #/////directive.phase] state)] [_ codeA] (/////directive.lift_analysis @@ -124,7 +124,7 @@ (Operation anchor expression directive [Type expression Any]))) (do {! phase.monad} [state (///.lift phase.get_state) - #let [analyse (get@ [#/////directive.analysis #/////directive.phase] state) + .let [analyse (get@ [#/////directive.analysis #/////directive.phase] state) synthesize (get@ [#/////directive.synthesis #/////directive.phase] state) generate (get@ [#/////directive.generation #/////directive.phase] state)] [_ code//type codeA] (/////directive.lift_analysis @@ -176,7 +176,7 @@ (Operation anchor expression directive [expression Any]))) (do phase.monad [state (///.lift phase.get_state) - #let [analyse (get@ [#/////directive.analysis #/////directive.phase] state) + .let [analyse (get@ [#/////directive.analysis #/////directive.phase] state) synthesize (get@ [#/////directive.synthesis #/////directive.phase] state) generate (get@ [#/////directive.generation #/////directive.phase] state)] [_ codeA] (/////directive.lift_analysis @@ -199,7 +199,7 @@ (-> Expander /////analysis.Bundle (Operation anchor expression directive Any))) (do phase.monad [[bundle state] phase.get_state - #let [eval (/////analysis/evaluation.evaluator expander + .let [eval (/////analysis/evaluation.evaluator expander (get@ [#/////directive.synthesis #/////directive.state] state) (get@ [#/////directive.generation #/////directive.state] state) (get@ [#/////directive.generation #/////directive.phase] state))]] @@ -224,7 +224,7 @@ (do phase.monad [current_module (/////directive.lift_analysis (///.lift meta.current_module_name)) - #let [full_name [current_module short_name]] + .let [full_name [current_module short_name]] [type valueT value] (..definition archive full_name #.None valueC) [_ annotationsT annotations] (evaluate! archive Code annotationsC) _ (/////directive.lift_analysis @@ -244,9 +244,9 @@ (do phase.monad [current_module (/////directive.lift_analysis (///.lift meta.current_module_name)) - #let [full_name [current_module short_name]] + .let [full_name [current_module short_name]] [_ annotationsT annotations] (evaluate! archive Code annotationsC) - #let [annotations (:as Code annotations)] + .let [annotations (:as Code annotations)] [type valueT value] (..definition archive full_name (#.Some .Type) valueC) _ (/////directive.lift_analysis (do phase.monad @@ -269,7 +269,7 @@ (function (_ extension_name phase archive [annotationsC imports]) (do {! phase.monad} [[_ annotationsT annotationsV] (evaluate! archive Code annotationsC) - #let [annotationsV (:as Code annotationsV)] + .let [annotationsV (:as Code annotationsV)] _ (/////directive.lift_analysis (do ! [_ (monad.map ! (function (_ [module alias]) @@ -403,7 +403,7 @@ (^ (list programC)) (do phase.monad [state (///.lift phase.get_state) - #let [analyse (get@ [#/////directive.analysis #/////directive.phase] state) + .let [analyse (get@ [#/////directive.analysis #/////directive.phase] state) synthesize (get@ [#/////directive.synthesis #/////directive.phase] state) generate (get@ [#/////directive.generation #/////directive.phase] state)] programS (prepare_program archive analyse synthesize programC) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/js/common.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/js/common.lux index 33267e376..240bec8b5 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/js/common.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/js/common.lux @@ -50,7 +50,7 @@ (template [<name> <op>] [(def: (<name> [paramG subjectG]) (Binary Expression) - (<op> subjectG (//runtime.i64//to_number paramG)))] + (<op> subjectG (//runtime.i64//number paramG)))] [i64//left_shifted //runtime.i64//left_shifted] [i64//right_shifted //runtime.i64//right_shifted] @@ -67,7 +67,7 @@ (def: i64//char (Unary Expression) - (|>> //runtime.i64//to_number + (|>> //runtime.i64//number (list) (_.apply/* (_.var "String.fromCharCode")))) @@ -141,7 +141,7 @@ (/.install "*" (binary (product.uncurry //runtime.i64//*))) (/.install "/" (binary (product.uncurry //runtime.i64///))) (/.install "%" (binary (product.uncurry //runtime.i64//%))) - (/.install "f64" (unary //runtime.i64//to_number)) + (/.install "f64" (unary //runtime.i64//number)) (/.install "char" (unary i64//char)) ))) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/js/host.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/js/host.lux index 6bb747d54..ff601d308 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/js/host.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/js/host.lux @@ -132,7 +132,7 @@ (function (_ extension phase archive [arity abstractionS]) (do {! ////////phase.monad} [abstractionG (phase archive abstractionS) - #let [variable (: (-> Text (Operation Var)) + .let [variable (: (-> Text (Operation Var)) (|>> generation.gensym (\ ! map _.var)))] g!inputs (monad.map ! (function (_ _) (variable "input")) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/jvm/common.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/jvm/common.lux index 78c75a17b..61d56f794 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/jvm/common.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/jvm/common.lux @@ -123,7 +123,7 @@ branchG (_.goto @end))]))) conditionalsS)) - #let [table (|> conditionalsG+ + .let [table (|> conditionalsG+ (list\map product.left) list\join) conditionalsG (|> conditionalsG+ @@ -225,7 +225,7 @@ [f64::= f64::< type.double _.dcmpg] ) -(def: (to_string class from) +(def: (::toString class from) (-> (Type Class) (Type Primitive) (Bytecode Any)) (_.invokestatic class "toString" (type.method [(list from) ..$String (list)]))) @@ -248,7 +248,7 @@ ($_ _.compose _.l2i _.i2c - (..to_string ..$Character type.char))] + (..::toString ..$Character type.char))] [f64::i64 (///value.unwrap type.double) @@ -258,7 +258,7 @@ [f64::encode (///value.unwrap type.double) - (..to_string ..$Double type.double)] + (..::toString ..$Double type.double)] [f64::decode ..ensure_string diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/jvm/host.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/jvm/host.lux index 8f61e7ea8..60e733c8a 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/jvm/host.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/jvm/host.lux @@ -642,7 +642,7 @@ [($_ <>.and <s>.text <s>.text <s>.text) (function (_ extension_name generate archive [class field unboxed]) (do //////.monad - [#let [$class (type.class class (list))]] + [.let [$class (type.class class (list))]] (case (dictionary.get unboxed ..primitives) (#.Some primitive) (in (_.getstatic $class field primitive)) @@ -659,7 +659,7 @@ (function (_ extension_name generate archive [class field unboxed valueS]) (do //////.monad [valueG (generate archive valueS) - #let [$class (type.class class (list))]] + .let [$class (type.class class (list))]] (case (dictionary.get unboxed ..primitives) (#.Some primitive) (in ($_ _.compose @@ -681,7 +681,7 @@ (function (_ extension_name generate archive [class field unboxed objectS]) (do //////.monad [objectG (generate archive objectS) - #let [$class (type.class class (list)) + .let [$class (type.class class (list)) getG (case (dictionary.get unboxed ..primitives) (#.Some primitive) (_.getfield $class field primitive) @@ -701,7 +701,7 @@ (do //////.monad [valueG (generate archive valueS) objectG (generate archive objectS) - #let [$class (type.class class (list)) + .let [$class (type.class class (list)) putG (case (dictionary.get unboxed ..primitives) (#.Some primitive) (_.putfield $class field primitive) @@ -1011,7 +1011,7 @@ overriden_methods]) (do {! //////.monad} [[context _] (//////generation.with_new_context archive (in [])) - #let [[module_id artifact_id] context + .let [[module_id artifact_id] context anonymous_class_name (///runtime.class_name context) class (type.class anonymous_class_name (list)) total_environment (|> overriden_methods @@ -1021,7 +1021,7 @@ list\join ## Remove duplicates. (set.from_list //////synthesis.hash) - set.to_list) + set.list) global_mapping (|> total_environment ## Give them names as "foreign" variables. list.enumeration diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/lua/common.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/lua/common.lux index 3c8338304..f1f6ccaa1 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/lua/common.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/lua/common.lux @@ -77,7 +77,7 @@ _.nil)) branchG]))) conditionals)) - #let [closure (_.closure (list @input) + .let [closure (_.closure (list @input) (list\fold (function (_ [test then] else) (_.if test (_.return then) else)) (_.return elseG) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/lua/host.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/lua/host.lux index b728760c0..873a37be7 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/lua/host.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/lua/host.lux @@ -170,7 +170,7 @@ (function (_ extension phase archive [arity abstractionS]) (do {! ////////phase.monad} [abstractionG (phase archive abstractionS) - #let [variable (: (-> Text (Operation Var)) + .let [variable (: (-> Text (Operation Var)) (|>> generation.gensym (\ ! map _.var)))] g!inputs (monad.map ! (function (_ _) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/php/common.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/php/common.lux index ca4de50cf..6cc7e61d0 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/php/common.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/php/common.lux @@ -81,12 +81,12 @@ _.null)) branchG]))) conditionals)) - #let [foreigns (|> conditionals + .let [foreigns (|> conditionals (list\map (|>> product.right synthesis.path/then //case.dependencies)) (list& (//case.dependencies (synthesis.path/then else))) list.concat (set.of_list _.hash) - set.to_list) + set.list) @expression (_.constant (reference.artifact [context_module context_artifact])) directive (_.define_function @expression (list& (_.parameter @input) (list\map _.reference foreigns)) (list\fold (function (_ [test then] else) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/python/common.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/python/common.lux index 81107aba9..5be155ab3 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/python/common.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/python/common.lux @@ -75,7 +75,7 @@ _.none)) branchG]))) conditionals)) - #let [closure (_.lambda (list @input) + .let [closure (_.lambda (list @input) (list\fold (function (_ [test then] else) (_.? test then else)) elseG diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/python/host.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/python/host.lux index 57e53f579..87f343233 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/python/host.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/python/host.lux @@ -130,7 +130,7 @@ (function (_ extension phase archive [arity abstractionS]) (do {! ////////phase.monad} [abstractionG (phase archive abstractionS) - #let [variable (: (-> Text (Operation SVar)) + .let [variable (: (-> Text (Operation SVar)) (|>> generation.gensym (\ ! map _.var)))] g!inputs (monad.map ! (function (_ _) (variable "input")) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/ruby/common.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/ruby/common.lux index 7eb4e2a5b..c2119b731 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/ruby/common.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/generation/ruby/common.lux @@ -74,7 +74,7 @@ _.nil)) branchG]))) conditionals)) - #let [closure (_.lambda #.None (list @input) + .let [closure (_.lambda #.None (list @input) (list\fold (function (_ [test then] else) (_.if test (_.return then) else)) (_.return elseG) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/common_lisp/case.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/common_lisp/case.lux index 098674e45..43c2cab45 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/common_lisp/case.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/common_lisp/case.lux @@ -246,10 +246,10 @@ [initG (expression archive valueS) $output (\ ! map (|>> %.nat (format "lux_case_output") _.var) /////generation.next) pattern_matching! (pattern_matching $output expression archive pathP) - #let [storage (|> pathP + .let [storage (|> pathP ////synthesis/case.storage (get@ #////synthesis/case.bindings) - set.to_list + set.list (list\map (function (_ register) [(..register register) _.nil])))]] diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/common_lisp/function.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/common_lisp/function.lux index fab6fe24c..ad4bedbfa 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/common_lisp/function.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/common_lisp/function.lux @@ -67,7 +67,7 @@ (/////generation.with_anchor [@scope 1] (expression archive bodyS))) closureG+ (monad.map ! (expression archive) environment) - #let [@curried (_.var "curried") + .let [@curried (_.var "curried") @missing (_.var "missing") arityG (|> arity .int _.int) @num_args (_.var "num_args") diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/common_lisp/loop.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/common_lisp/loop.lux index 5ceb08bc3..61b5cf216 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/common_lisp/loop.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/common_lisp/loop.lux @@ -62,7 +62,7 @@ (do {! ///////phase.monad} [[tag offset] /////generation.anchor argsO+ (monad.map ! (expression archive) argsS+) - #let [bindings (|> argsO+ + .let [bindings (|> argsO+ list.enumeration (list\map (|>> product.left (n.+ offset) //case.register)) _.args)]] diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/js/function.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/js/function.lux index d4b81f29b..f2f326f8f 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/js/function.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/js/function.lux @@ -74,7 +74,7 @@ (/////generation.context archive))] (/////generation.with_anchor [1 scope] (statement expression archive bodyS)))) - #let [arityO (|> arity .int _.i32) + .let [arityO (|> arity .int _.i32) @num_args (_.var "num_args") @scope (..@scope function_name) @self (_.var (///reference.artifact function_name)) @@ -88,7 +88,7 @@ initialize_self! (list.indices arity))] environment (monad.map ! (expression archive) environment) - #let [[definition instantiation] (with_closure @self environment + .let [[definition instantiation] (with_closure @self environment ($_ _.then (_.define @num_args (_.the "length" @@arguments)) (_.cond (list [(|> @num_args (_.= arityO)) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/js/runtime.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/js/runtime.lux index d351cd6ac..350faeeec 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/js/runtime.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/js/runtime.lux @@ -297,7 +297,7 @@ (|> i64 (_.the ..i64_low_field)) (|> i64 (_.the ..i64_low_field) (_.+ i64//2^32))))) -(runtime: (i64//to_number i64) +(runtime: (i64//number i64) (_.return (|> i64 (_.the ..i64_high_field) (_.* i64//2^32) @@ -593,8 +593,8 @@ (let [approximate_result' (i64//of_number approximate) approx_remainder (i64//* parameter approximate_result)] ($_ _.then - (_.define approximate (|> (i64//to_number remainder) - (_./ (i64//to_number parameter)) + (_.define approximate (|> (i64//number remainder) + (_./ (i64//number parameter)) (_.apply/1 (_.var "Math.floor")) (_.apply/2 (_.var "Math.max") (_.i32 +1)))) (_.define log2 (|> approximate @@ -646,7 +646,7 @@ @i64//= @i64//+ @i64//opposite - @i64//to_number + @i64//number @i64//of_number @i64//- @i64//* @@ -659,7 +659,7 @@ (runtime: (text//index start part text) (with_vars [idx] ($_ _.then - (_.define idx (|> text (_.do "indexOf" (list part (i64//to_number start))))) + (_.define idx (|> text (_.do "indexOf" (list part (i64//number start))))) (_.return (_.? (_.= (_.i32 -1) idx) ..none (..some (i64//of_number idx))))))) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/function.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/function.lux index 640543f45..d13e7ebed 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/function.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/function.lux @@ -102,7 +102,7 @@ [function_context bodyG] (generation.with_new_context archive (generation.with_anchor [@begin ..this_offset] (generate archive bodyS))) - #let [function_class (//runtime.class_name function_context)] + .let [function_class (//runtime.class_name function_context)] [fields methods instance] (..with generate archive @begin function_class environment arity bodyG) class (phase.lift (class.class version.v6_0 ..modifier @@ -111,7 +111,7 @@ fields methods (row.row))) - #let [bytecode (format.run class.writer class)] + .let [bytecode (format.run class.writer class)] _ (generation.execute! [function_class bytecode]) _ (generation.save! function_class #.None [function_class bytecode])] (in instance))) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/function/method/apply.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/function/method/apply.lux index d3e13091a..46b871096 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/function/method/apply.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/function/method/apply.lux @@ -97,7 +97,7 @@ @labelsT (|> _.new_label (list.repeat (dec num_partials)) (monad.seq _.monad)) - #let [cases (|> (list\compose (#.Item [@labelsH @labelsT]) + .let [cases (|> (list\compose (#.Item [@labelsH @labelsT]) (list @default)) list.enumeration (list\map (function (_ [stage @case]) @@ -121,15 +121,15 @@ _.areturn) has_more_than_necessary? - (let [inputs_to_completion (|> function_arity (n.- stage)) - inputs_left (|> apply_arity (n.- inputs_to_completion))] + (let [arity_inputs (|> function_arity (n.- stage)) + additional_inputs (|> apply_arity (n.- arity_inputs))] ($_ _.compose ////reference.this (_.invokevirtual class //reset.name (//reset.type class)) current_partials - (..inputs ..this_offset inputs_to_completion) + (..inputs ..this_offset arity_inputs) (_.invokevirtual class //implementation.name (//implementation.type function_arity)) - (apply (n.+ ..this_offset inputs_to_completion) inputs_left) + (apply (n.+ ..this_offset arity_inputs) additional_inputs) _.areturn)) ## (i.< over_extent (.int stage)) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/loop.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/loop.lux index f8961db37..91c433788 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/loop.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/loop.lux @@ -51,7 +51,7 @@ ..no_op]) (do ! [fetchG (translate archive updateS) - #let [storeG (_.astore register)]] + .let [storeG (_.astore register)]] (in [fetchG storeG]))))))] (in ($_ _.compose ## It may look weird that first I fetch all the values separately, @@ -78,7 +78,7 @@ initsI+ (monad.map ! (translate archive) initsS+) iterationG (generation.with_anchor [@begin offset] (translate archive iterationS)) - #let [initializationG (|> (list.enumeration initsI+) + .let [initializationG (|> (list.enumeration initsI+) (list\map (function (_ [index initG]) ($_ _.compose initG diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/runtime.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/runtime.lux index 80315db66..a1ae79528 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/runtime.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/jvm/runtime.lux @@ -296,7 +296,7 @@ @tags_match! _.new_label @maybe_nested _.new_label @mismatch! _.new_label - #let [::tag ($_ _.compose + .let [::tag ($_ _.compose (..get ..variant_tag) (//value.unwrap type.int)) ::last? (..get ..variant_last?) @@ -397,7 +397,7 @@ (do _.monad [@loop _.new_label @recursive _.new_label - #let [::left ($_ _.compose + .let [::left ($_ _.compose $lefts _.aaload)]] ($_ _.compose (_.set_label @loop) @@ -416,7 +416,7 @@ [@loop _.new_label @not_tail _.new_label @slice _.new_label - #let [$right ($_ _.compose + .let [$right ($_ _.compose $lefts _.iconst_1 _.iadd) @@ -468,7 +468,7 @@ (do _.monad [@try _.new_label @handler _.new_label - #let [$unsafe ..this + .let [$unsafe ..this unit _.aconst_null ^StringWriter (type.class "java.io.StringWriter" (list)) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/lua/case.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/lua/case.lux index 6d1fda16c..273e1d0ae 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/lua/case.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/lua/case.lux @@ -251,7 +251,7 @@ (-> Path (List Var)) (|>> ////synthesis/case.storage (get@ #////synthesis/case.dependencies) - set.to_list + set.list (list\map (function (_ variable) (.case variable (#///////variable.Local register) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/lua/function.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/lua/function.lux index 28c33a86a..21c78c6f9 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/lua/function.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/lua/function.lux @@ -73,7 +73,7 @@ (/////generation.with_anchor [1 @scope] (statement expression archive bodyS)))) closureO+ (monad.map ! (expression archive) environment) - #let [@curried (_.var "curried") + .let [@curried (_.var "curried") arityO (|> arity .int _.int) @num_args (_.var "num_args") @scope (..@scope function_name) @@ -88,7 +88,7 @@ pack (|>> (list) _.array) unpack (_.apply/1 (_.var "table.unpack")) @var_args (_.var "...")] - #let [[definition instantiation] (with_closure closureO+ @self (list @var_args) + .let [[definition instantiation] (with_closure closureO+ @self (list @var_args) ($_ _.then (_.local/1 @curried (pack @var_args)) (_.local/1 @num_args (_.length @curried)) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/lua/loop.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/lua/loop.lux index 5d44bcc3c..d9ae9c51f 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/lua/loop.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/lua/loop.lux @@ -83,7 +83,7 @@ (do {! ///////phase.monad} [[[artifact_module artifact_id] [initsO+ scope!]] (/////generation.with_new_context archive (scope! statement expression archive true [start initsS+ bodyS])) - #let [@loop (_.var (///reference.artifact [artifact_module artifact_id])) + .let [@loop (_.var (///reference.artifact [artifact_module artifact_id])) locals (|> initsO+ list.enumeration (list\map (|>> product.left (n.+ start) //case.register))) @@ -92,7 +92,7 @@ //case.dependencies (set.of_list _.hash) (set.difference (set.of_list _.hash locals)) - set.to_list) + set.list) #.End [(_.function @loop locals scope!) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/php/case.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/php/case.lux index 549d19954..3bbbd7d21 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/php/case.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/php/case.lux @@ -265,7 +265,7 @@ (-> Path (List Var)) (|>> ////synthesis/case.storage (get@ #////synthesis/case.dependencies) - set.to_list + set.list (list\map (function (_ variable) (.case variable (#///////variable.Local register) @@ -289,7 +289,7 @@ (do {! ///////phase.monad} [[[case_module case_artifact] case!] (/////generation.with_new_context archive (case! statement expression archive [valueS pathP])) - #let [@case (_.constant (///reference.artifact [case_module case_artifact])) + .let [@case (_.constant (///reference.artifact [case_module case_artifact])) @dependencies+ (..dependencies (/////synthesis.path/seq (/////synthesis.path/then valueS) pathP)) directive (_.define_function @case (list\map _.parameter @dependencies+) case!)] diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/php/function.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/php/function.lux index 6318a9d88..93a099ce0 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/php/function.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/php/function.lux @@ -77,7 +77,7 @@ (/////generation.with_anchor [1 @scope] (statement expression archive bodyS)))) closureG+ (monad.map ! (expression archive) environment) - #let [@curried (_.var "curried") + .let [@curried (_.var "curried") arityG (|> arity .int _.int) @num_args (_.var "num_args") @scope (..@scope function_name) @@ -90,7 +90,7 @@ (_.set! (..input post) (_.item (|> post .int _.int) @curried)))) initialize_self! (list.indices arity))] - #let [[definition instantiation] (..with_closure closureG+ @selfG @selfL + .let [[definition instantiation] (..with_closure closureG+ @selfG @selfL ($_ _.then (_.set! @num_args (_.func_num_args/0 [])) (_.set! @curried (_.func_get_args/0 [])) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/php/loop.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/php/loop.lux index 0c3c94f1f..54a001a41 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/php/loop.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/php/loop.lux @@ -78,7 +78,7 @@ (do {! ///////phase.monad} [[[loop_module loop_artifact] scope!] (/////generation.with_new_context archive (..scope! statement expression archive [start initsS+ bodyS])) - #let [locals (|> initsS+ + .let [locals (|> initsS+ list.enumeration (list\map (|>> product.left (n.+ start) //case.register _.parameter))) @loop (_.constant (///reference.artifact [loop_module loop_artifact])) @@ -91,7 +91,7 @@ (case (|> (list\map referenced_variables initsS+) (list\fold set.union (referenced_variables bodyS)) (set.difference loop_variables) - set.to_list) + set.list) #.End [(_.define_function @loop (list) scope!) @loop] diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/python/case.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/python/case.lux index fa1a42e49..59ccb6098 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/python/case.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/python/case.lux @@ -299,7 +299,7 @@ (-> Path (List SVar)) (|>> case.storage (get@ #case.dependencies) - set.to_list + set.list (list\map (function (_ variable) (.case variable (#///////variable.Local register) @@ -324,7 +324,7 @@ (do ///////phase.monad [[[case_module case_artifact] pattern_matching!] (/////generation.with_new_context archive (case! true statement expression archive [valueS pathP])) - #let [@case (_.var (///reference.artifact [case_module case_artifact])) + .let [@case (_.var (///reference.artifact [case_module case_artifact])) @dependencies+ (..dependencies (/////synthesis.path/seq (/////synthesis.path/then valueS) pathP)) directive (_.def @case @dependencies+ diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/python/function.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/python/function.lux index fd225dfe4..c7ff46333 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/python/function.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/python/function.lux @@ -53,7 +53,7 @@ _ (do {! ///////phase.monad} - [#let [directive (_.def @function + [.let [directive (_.def @function (|> (list.enumeration inits) (list\map (|>> product.left ..capture))) ($_ _.then @@ -73,7 +73,7 @@ (/////generation.with_anchor 1 (statement expression archive bodyS))) environment (monad.map ! (expression archive) environment) - #let [@curried (_.var "curried") + .let [@curried (_.var "curried") arityO (|> arity .int _.int) @num_args (_.var "num_args") @self (_.var (///reference.artifact [function_module function_artifact])) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/python/loop.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/python/loop.lux index 37296dd7c..8f4386405 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/python/loop.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/python/loop.lux @@ -78,7 +78,7 @@ [[loop_module loop_artifact] body!] (/////generation.with_new_context archive (/////generation.with_anchor start (statement expression archive bodyS))) - #let [@loop (_.var (///reference.artifact [loop_module loop_artifact])) + .let [@loop (_.var (///reference.artifact [loop_module loop_artifact])) locals (|> initsS+ list.enumeration (list\map (|>> product.left (n.+ start) //case.register))) @@ -90,7 +90,7 @@ //case.dependencies (set.of_list _.hash) (set.difference (set.of_list _.hash locals)) - set.to_list) + set.list) #.End [actual_loop @loop] @@ -112,7 +112,7 @@ [offset /////generation.anchor @temp (//case.gensym "lux_recur_values") argsO+ (monad.map ! (expression archive) argsS+) - #let [re_binds (|> argsO+ + .let [re_binds (|> argsO+ list.enumeration (list\map (function (_ [idx _]) (_.item (_.int (.int idx)) @temp))))]] diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/r/function.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/r/function.lux index 850f99475..dfdec59ce 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/r/function.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/r/function.lux @@ -51,7 +51,7 @@ _ (do ///////phase.monad - [#let [closure_definition (_.set! $function + [.let [closure_definition (_.set! $function (_.function (|> inits list.size list.indices @@ -81,7 +81,7 @@ (/////generation.with_anchor $self (expression archive bodyS)))) closureO+ (monad.map ! (expression archive) environment) - #let [arityO (|> arity .int _.int) + .let [arityO (|> arity .int _.int) $num_args (_.var "num_args") $self (_.var (///reference.artifact [function_module function_artifact])) apply_poly (.function (_ args func) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/r/procedure/common.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/r/procedure/common.lux index 7de7310d6..18157701d 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/r/procedure/common.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/r/procedure/common.lux @@ -251,7 +251,7 @@ (install "%" (binary int//rem)) (install "=" (binary int//=)) (install "<" (binary int//<)) - (install "to-frac" (unary runtimeT.int//to_float)) + (install "to-frac" (unary runtimeT.int//float)) (install "char" (unary int//char))))) (def: (frac//encode value) @@ -310,7 +310,7 @@ (def: (io//exit input) Unary (r.apply_kw (list) - (list ["status" (runtimeT.int//to_float input)]) + (list ["status" (runtimeT.int//float input)]) (r.global "quit"))) (def: (void code) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/r/runtime.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/r/runtime.lux index f71070979..824f53012 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/r/runtime.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/r/runtime.lux @@ -185,7 +185,7 @@ low (|> low (_.+ f2^32)))))) -(runtime: (i64::to_float input) +(runtime: (i64::float input) (let [high (|> input (_.item (_.string ..i64_high_field)) high_shift) @@ -481,7 +481,7 @@ (_.set! remainder subject) (_.while (|> (|> remainder (i64::< param)) (_.or (|> remainder (i64::= param)))) - (let [calc_rough_estimate (_.apply (list (|> (i64::to_float remainder) (_./ (i64::to_float param)))) + (let [calc_rough_estimate (_.apply (list (|> (i64::float remainder) (_./ (i64::float param)))) (_.var "floor")) calc_approximate_result (i64::of_float approximate) calc_approximate_remainder (|> approximate_result (i64::* param)) @@ -698,7 +698,7 @@ @i64::opposite @i64::-one @i64::unsigned_low - @i64::to_float + @i64::float @i64::* @i64::/ @i64::% @@ -743,7 +743,7 @@ (runtime: (text::index subject param start) (with_vars [idx startF subjectL] ($_ _.then - (_.set! startF (i64::to_float start)) + (_.set! startF (i64::float start)) (_.set! subjectL (text_length subject)) (_.if (|> startF (within? subjectL)) ($_ _.then diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/ruby/function.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/ruby/function.lux index e7e831a77..281ea380a 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/ruby/function.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/ruby/function.lux @@ -70,7 +70,7 @@ (/////generation.with_anchor 1 (statement expression archive bodyS))) closureO+ (monad.map ! (expression archive) environment) - #let [function_name (///reference.artifact [function_module function_artifact]) + .let [function_name (///reference.artifact [function_module function_artifact]) @curried (_.local "curried") arityO (|> arity .int _.int) limitO (|> arity dec .int _.int) diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/ruby/loop.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/ruby/loop.lux index 5c255fcc9..2cf1506c7 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/ruby/loop.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/ruby/loop.lux @@ -86,7 +86,7 @@ [offset /////generation.anchor @temp (//case.gensym "lux_recur_values") argsO+ (monad.map ! (expression archive) argsS+) - #let [re_binds (|> argsO+ + .let [re_binds (|> argsO+ list.enumeration (list\map (function (_ [idx _]) (_.item (_.int (.int idx)) @temp))))]] diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/scheme/function.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/scheme/function.lux index dd19db665..7feb087f2 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/scheme/function.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/scheme/function.lux @@ -70,7 +70,7 @@ (/////generation.with_anchor @self (expression archive bodyS)))) closureO+ (monad.map ! (expression archive) environment) - #let [arityO (|> arity .int _.int) + .let [arityO (|> arity .int _.int) apply_poly (.function (_ args func) (_.apply/2 (_.var "apply") func args)) @num_args (_.var "num_args") diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/synthesis/variable.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/synthesis/variable.lux index ab798a01b..db9cbdc59 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/synthesis/variable.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/synthesis/variable.lux @@ -295,22 +295,22 @@ (#/.Seq pre post) (do try.monad - [#let [baseline (|> redundancy + [.let [baseline (|> redundancy dictionary.keys (set.of_list n.hash))] [redundancy pre] (recur [redundancy pre]) - #let [bindings (|> redundancy + .let [bindings (|> redundancy dictionary.keys (set.of_list n.hash) (set.difference baseline))] [redundancy post] (recur [redundancy post]) - #let [redundants (|> redundancy + .let [redundants (|> redundancy dictionary.entries (list.only (function (_ [register redundant?]) (and (set.member? bindings register) redundant?))) (list\map product.left))]] - (in [(list\fold dictionary.remove redundancy (set.to_list bindings)) + (in [(list\fold dictionary.remove redundancy (set.list bindings)) (|> redundants (list.sort n.>) (list\fold (..remove_local_from_path ..remove_local) (#/.Seq pre post)))])) @@ -367,7 +367,7 @@ [[redundancy input] (optimization' [redundancy input]) redundancy (..declare register redundancy) [redundancy output] (optimization' [redundancy output]) - #let [redundant? (|> redundancy + .let [redundant? (|> redundancy (dictionary.get register) (maybe.else ..necessary!))]] (in [(dictionary.remove register redundancy) @@ -403,7 +403,7 @@ (#/.Scope [start inits iteration]) (do try.monad [[redundancy inits] (..list_optimization optimization' [redundancy inits]) - #let [[extension redundancy] (..extended start (list.size inits) redundancy)] + .let [[extension redundancy] (..extended start (list.size inits) redundancy)] [redundancy iteration] (optimization' [redundancy iteration])] (in [(list\fold dictionary.remove redundancy extension) (#/.Control (#/.Loop (#/.Scope [start inits iteration])))])) diff --git a/stdlib/source/library/lux/tool/compiler/meta/archive/artifact.lux b/stdlib/source/library/lux/tool/compiler/meta/archive/artifact.lux index 76266ad19..cab4eb2d3 100644 --- a/stdlib/source/library/lux/tool/compiler/meta/archive/artifact.lux +++ b/stdlib/source/library/lux/tool/compiler/meta/archive/artifact.lux @@ -81,7 +81,7 @@ (|> registry :representation (get@ #artifacts) - row.to_list + row.list (list.all (|>> (get@ #category) (case> (<tag> name) (#.Some name) _ #.None)))))] diff --git a/stdlib/source/library/lux/tool/compiler/meta/cache/dependency.lux b/stdlib/source/library/lux/tool/compiler/meta/cache/dependency.lux index 4d9af7859..ecce5c337 100644 --- a/stdlib/source/library/lux/tool/compiler/meta/cache/dependency.lux +++ b/stdlib/source/library/lux/tool/compiler/meta/cache/dependency.lux @@ -55,13 +55,13 @@ (let [memo (: (Memo Module Ancestry) (function (_ recur module) (do {! state.monad} - [#let [parents (case (archive.find module archive) + [.let [parents (case (archive.find module archive) (#try.Success [descriptor document]) (get@ #descriptor.references descriptor) (#try.Failure error) ..fresh)] - ancestors (monad.map ! recur (set.to_list parents))] + ancestors (monad.map ! recur (set.list parents))] (in (list\fold set.union parents ancestors))))) ancestry (memo.open memo)] (list\fold (function (_ module memory) diff --git a/stdlib/source/library/lux/tool/compiler/meta/io/archive.lux b/stdlib/source/library/lux/tool/compiler/meta/io/archive.lux index c5ebc6bad..125360e58 100644 --- a/stdlib/source/library/lux/tool/compiler/meta/io/archive.lux +++ b/stdlib/source/library/lux/tool/compiler/meta/io/archive.lux @@ -101,7 +101,7 @@ (def: #export (prepare fs static module_id) (-> (file.System Async) Static archive.ID (Async (Try Any))) (do {! async.monad} - [#let [module (..module fs static module_id)] + [.let [module (..module fs static module_id)] module_exists? (\ fs directory? module)] (if module_exists? (in (#try.Success [])) @@ -216,7 +216,7 @@ (Try [(Document .Module) Bundles Output]))) (do {! try.monad} [[definitions bundles] (: (Try [Definitions Bundles Output]) - (loop [input (row.to_list expected) + (loop [input (row.list expected) definitions (: Definitions (dictionary.empty text.hash)) bundles ..empty_bundles @@ -226,12 +226,12 @@ (#.Item [[artifact_id artifact_category] input']) (case (do ! [data (try.of_maybe (dictionary.get (format (%.nat artifact_id) extension) actual)) - #let [context [module_id artifact_id] + .let [context [module_id artifact_id] directive (\ host ingest context data)]] (case artifact_category #artifact.Anonymous (do ! - [#let [output (row.add [artifact_id #.None data] output)] + [.let [output (row.add [artifact_id #.None data] output)] _ (\ host re_learn context #.None directive)] (in [definitions [analysers @@ -260,7 +260,7 @@ (#artifact.Analyser extension) (do ! - [#let [output (row.add [artifact_id #.None data] output)] + [.let [output (row.add [artifact_id #.None data] output)] value (\ host re_load context #.None directive)] (in [definitions [(dictionary.put extension (:as analysis.Handler value) analysers) @@ -271,7 +271,7 @@ (#artifact.Synthesizer extension) (do ! - [#let [output (row.add [artifact_id #.None data] output)] + [.let [output (row.add [artifact_id #.None data] output)] value (\ host re_load context #.None directive)] (in [definitions [analysers @@ -282,7 +282,7 @@ (#artifact.Generator extension) (do ! - [#let [output (row.add [artifact_id #.None data] output)] + [.let [output (row.add [artifact_id #.None data] output)] value (\ host re_load context #.None directive)] (in [definitions [analysers @@ -293,7 +293,7 @@ (#artifact.Directive extension) (do ! - [#let [output (row.add [artifact_id #.None data] output)] + [.let [output (row.add [artifact_id #.None data] output)] value (\ host re_load context #.None directive)] (in [definitions [analysers @@ -304,7 +304,7 @@ (#artifact.Custom name) (do ! - [#let [output (row.add [artifact_id (#.Some name) data] output)] + [.let [output (row.add [artifact_id (#.Some name) data] output)] _ (\ host re_learn context (#.Some name) directive)] (in [definitions [analysers @@ -345,14 +345,14 @@ Bundles])))) (do (try.with async.monad) [actual (cached_artifacts fs static module_id) - #let [expected (|> descriptor (get@ #descriptor.registry) artifact.artifacts)] + .let [expected (|> descriptor (get@ #descriptor.registry) artifact.artifacts)] [document bundles output] (async\in (loaded_document (get@ #static.artifact_extension static) host_environment module_id expected actual document))] (in [[descriptor document output] bundles]))) (def: (purge! fs static [module_name module_id]) (-> (file.System Async) Static [Module archive.ID] (Async (Try Any))) (do {! (try.with async.monad)} - [#let [cache (..module fs static module_id)] + [.let [cache (..module fs static module_id)] _ (|> cache (\ fs directory_files) (\ ! map (monad.map ! (\ fs delete))) @@ -391,7 +391,7 @@ purge (if (|> descriptor (get@ #descriptor.references) - set.to_list + set.list (list.any? purged?)) (dictionary.put module_name module_id purge) purge)))) @@ -429,7 +429,7 @@ (\ try.monad map (dependency.load_order $.key)) (\ try.monad join) async\in) - #let [purge (..full_purge pre_loaded_caches load_order)] + .let [purge (..full_purge pre_loaded_caches load_order)] _ (|> purge dictionary.entries (monad.map ! (..purge! fs static))) diff --git a/stdlib/source/library/lux/tool/compiler/meta/packager.lux b/stdlib/source/library/lux/tool/compiler/meta/packager.lux index 6cb17c7b6..07ac4be8c 100644 --- a/stdlib/source/library/lux/tool/compiler/meta/packager.lux +++ b/stdlib/source/library/lux/tool/compiler/meta/packager.lux @@ -37,6 +37,6 @@ (|> descriptor (get@ #descriptor.registry) artifact.artifacts - row.to_list + row.list (list\map (|>> (get@ #artifact.id))) [module_id])))) diff --git a/stdlib/source/library/lux/tool/compiler/meta/packager/jvm.lux b/stdlib/source/library/lux/tool/compiler/meta/packager/jvm.lux index 3ebdae788..c138ef6ce 100644 --- a/stdlib/source/library/lux/tool/compiler/meta/packager/jvm.lux +++ b/stdlib/source/library/lux/tool/compiler/meta/packager/jvm.lux @@ -158,7 +158,7 @@ (function (_ [artifact custom content] sink) (..write_class static module artifact custom content sink)) sink - (row.to_list output))) + (row.list output))) (def: (read_jar_entry_with_unknown_size input) (-> java/util/jar/JarInputStream [Nat Binary]) @@ -247,7 +247,7 @@ (function (_ host_dependencies archive program) (do {! try.monad} [order (dependency.load_order $.key archive) - #let [buffer (java/io/ByteArrayOutputStream::new (.int ..mebi_byte))] + .let [buffer (java/io/ByteArrayOutputStream::new (.int ..mebi_byte))] sink (|> order (list\map (function (_ [module [module_id [descriptor document output]]]) [module_id output])) @@ -259,7 +259,7 @@ [(set.empty text.hash) (set.empty text.hash) sink])) - #let [_ (do_to sink + .let [_ (do_to sink (java/io/Flushable::flush) (java/io/Closeable::close))]] (in (java/io/ByteArrayOutputStream::toByteArray buffer))))) diff --git a/stdlib/source/library/lux/tool/compiler/meta/packager/scheme.lux b/stdlib/source/library/lux/tool/compiler/meta/packager/scheme.lux index 6af912b14..081a43829 100644 --- a/stdlib/source/library/lux/tool/compiler/meta/packager/scheme.lux +++ b/stdlib/source/library/lux/tool/compiler/meta/packager/scheme.lux @@ -3,7 +3,7 @@ [lux (#- Module) [type (#+ :sharing)] [abstract - ["." monad (#+ Monad do)]] + ["." monad (#+ do)]] [control ["." try (#+ Try)]] [data @@ -56,7 +56,7 @@ (def: bundle_module (-> Output (Try _.Expression)) - (|>> row.to_list + (|>> row.list (list\map product.right) (monad.fold try.monad (function (_ content so_far) @@ -105,7 +105,7 @@ entry_content (: (Try tar.Content) (|> descriptor (get@ #descriptor.references) - set.to_list + set.list (list.all (function (_ module) (dictionary.get module mapping))) (list\map (|>> ..module_file _.string _.load_relative/1)) (list\fold ..then bundle) @@ -121,7 +121,7 @@ (function (package host_dependencies archive program) (do {! try.monad} [order (dependency.load_order $.key archive) - #let [mapping (|> order + .let [mapping (|> order (list\map (function (_ [module [module_id [descriptor document output]]]) [module module_id])) (dictionary.of_list text.hash) diff --git a/stdlib/source/library/lux/tool/compiler/meta/packager/script.lux b/stdlib/source/library/lux/tool/compiler/meta/packager/script.lux index 080765231..0f3f33a29 100644 --- a/stdlib/source/library/lux/tool/compiler/meta/packager/script.lux +++ b/stdlib/source/library/lux/tool/compiler/meta/packager/script.lux @@ -38,7 +38,7 @@ (-> (-> directive directive directive) [archive.ID Output] directive (Try directive))) (|> output - row.to_list + row.list (list\map (|>> product.right product.right)) (monad.fold try.monad (function (_ content so_far) @@ -54,7 +54,7 @@ (sequence so_far))))) so_far))) -(def: #export (package header to_code sequence scope) +(def: #export (package header code sequence scope) (All [directive] (-> directive (-> directive Text) @@ -68,4 +68,4 @@ (list\map (function (_ [module [module_id [descriptor document output]]]) [module_id output])) (monad.fold ! (..write_module sequence) header) - (\ ! map (|>> scope to_code (\ utf8.codec encode))))))) + (\ ! map (|>> scope code (\ utf8.codec encode))))))) diff --git a/stdlib/source/library/lux/tool/compiler/phase.lux b/stdlib/source/library/lux/tool/compiler/phase.lux index 0a0db986e..cfae348ce 100644 --- a/stdlib/source/library/lux/tool/compiler/phase.lux +++ b/stdlib/source/library/lux/tool/compiler/phase.lux @@ -107,9 +107,9 @@ (-> Name Text (Operation s a) (Operation s a))) (do ..monad [_ (in []) - #let [pre (io.run instant.now)] + .let [pre (io.run instant.now)] output operation - #let [_ (|> instant.now + .let [_ (|> instant.now io.run instant.relative (duration.difference (instant.relative pre)) |