From 6eb57a31fd2647626ef301b827c9a99ef0f2a484 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Mon, 13 Sep 2021 20:51:08 -0400 Subject: Re-named "primitive" to "Primitive". --- stdlib/source/documentation/lux.lux | 8 +- stdlib/source/documentation/lux/ffi.old.lux | 2 +- stdlib/source/library/lux.lux | 10 +-- .../library/lux/control/security/capability.lux | 2 +- stdlib/source/library/lux/control/thread.lux | 2 +- stdlib/source/library/lux/data/binary.lux | 10 +-- .../source/library/lux/data/collection/array.lux | 4 +- stdlib/source/library/lux/data/text.lux | 26 +++---- stdlib/source/library/lux/debug.lux | 2 +- stdlib/source/library/lux/documentation.lux | 6 +- stdlib/source/library/lux/ffi.js.lux | 2 +- stdlib/source/library/lux/ffi.jvm.lux | 91 +++++++++++----------- stdlib/source/library/lux/ffi.lua.lux | 2 +- stdlib/source/library/lux/ffi.old.lux | 40 +++++----- stdlib/source/library/lux/ffi.php.lux | 2 +- stdlib/source/library/lux/ffi.py.lux | 2 +- stdlib/source/library/lux/ffi.rb.lux | 2 +- stdlib/source/library/lux/math.lux | 4 +- stdlib/source/library/lux/target/jvm.lux | 2 +- stdlib/source/library/lux/target/jvm/loader.lux | 4 +- stdlib/source/library/lux/target/jvm/type.lux | 2 +- .../library/lux/target/jvm/type/category.lux | 4 +- .../library/lux/target/jvm/type/descriptor.lux | 2 +- .../source/library/lux/target/jvm/type/parser.lux | 2 +- .../library/lux/target/jvm/type/reflection.lux | 2 +- .../library/lux/target/jvm/type/signature.lux | 2 +- stdlib/source/library/lux/time/instant.lux | 2 +- .../lux/tool/compiler/language/lux/analysis.lux | 2 +- .../tool/compiler/language/lux/phase/synthesis.lux | 2 +- .../lux/tool/compiler/language/lux/synthesis.lux | 2 +- stdlib/source/library/lux/type.lux | 2 +- stdlib/source/library/lux/type/abstract.lux | 2 +- stdlib/source/library/lux/type/unit.lux | 4 +- stdlib/source/library/lux/world/file.lux | 2 +- stdlib/source/test/lux.lux | 4 +- stdlib/source/test/lux/control/parser/binary.lux | 2 +- stdlib/source/test/lux/control/parser/type.lux | 2 +- stdlib/source/test/lux/ffi.old.lux | 4 +- stdlib/source/test/lux/target/jvm.lux | 2 +- .../compiler/language/lux/phase/synthesis/loop.lux | 2 +- 40 files changed, 136 insertions(+), 135 deletions(-) (limited to 'stdlib') diff --git a/stdlib/source/documentation/lux.lux b/stdlib/source/documentation/lux.lux index abe0de149..c6c5394f9 100644 --- a/stdlib/source/documentation/lux.lux +++ b/stdlib/source/documentation/lux.lux @@ -235,10 +235,10 @@ "=>" "Aw hell naw!"]) -(documentation: /.primitive +(documentation: /.Primitive "Macro to treat define new primitive types." - [(primitive "java.lang.Object")] - [(primitive "java.util.List" [(primitive "java.lang.Long")])]) + [(Primitive "java.lang.Object")] + [(Primitive "java.util.List" [(Primitive "java.lang.Long")])]) (documentation: /.` (format "Hygienic quasi-quotation as a macro." @@ -952,7 +952,7 @@ .._$ ..$_ ..if - ..primitive + ..Primitive ..` ..`' ..' diff --git a/stdlib/source/documentation/lux/ffi.old.lux b/stdlib/source/documentation/lux/ffi.old.lux index affa4899b..affc908b4 100644 --- a/stdlib/source/documentation/lux/ffi.old.lux +++ b/stdlib/source/documentation/lux/ffi.old.lux @@ -204,7 +204,7 @@ (documentation: /.class_for "Loads the class as a java.lang.Class object." - [(: (primitive "java.lang.Class" ["java.lang.Object"]) + [(: (Primitive "java.lang.Class" ["java.lang.Object"]) (class_for java/lang/String))]) (documentation: /.type diff --git a/stdlib/source/library/lux.lux b/stdlib/source/library/lux.lux index 6eb000a79..9aed7e4de 100644 --- a/stdlib/source/library/lux.lux +++ b/stdlib/source/library/lux.lux @@ -659,7 +659,7 @@ .public) ... (type: .public Macro -... (primitive "#Macro")) +... (Primitive "#Macro")) ("lux def" Macro ("lux type check type" {#Named [..prelude_module "Macro"] @@ -1642,7 +1642,7 @@ (in [meta output']))} [replace? token])) -(macro:' .public (primitive tokens) +(macro:' .public (Primitive tokens) ({{#Item [_ {#Text class_name}] {#End}} (in_meta (list (variant$ (list (identifier$ [..prelude_module "#Primitive"]) (text$ class_name) |#End|)))) @@ -1650,7 +1650,7 @@ (in_meta (list (variant$ (list (identifier$ [..prelude_module "#Primitive"]) (text$ class_name) (untemplated_list params))))) _ - (failure "Wrong syntax for primitive")} + (failure "Wrong syntax for Primitive")} tokens)) (def:'' .private (current_module_name state) @@ -4993,9 +4993,9 @@ (def: (recursive_type g!self g!dummy name body) (-> Code Code Text Code Code) (` ((.All ((~ g!self) (~ g!dummy)) - (~ (let$ (local_identifier$ name) (` {.#Apply (..primitive "") (~ g!self)}) + (~ (let$ (local_identifier$ name) (` {.#Apply (..Primitive "") (~ g!self)}) body))) - (..primitive "")))) + (..Primitive "")))) (macro: .public (Rec tokens) (case tokens diff --git a/stdlib/source/library/lux/control/security/capability.lux b/stdlib/source/library/lux/control/security/capability.lux index 3fcf0fe3c..bcfecf187 100644 --- a/stdlib/source/library/lux/control/security/capability.lux +++ b/stdlib/source/library/lux/control/security/capability.lux @@ -50,7 +50,7 @@ .let [[name vars] declaration] g!brand (# ! each (|>> %.code code.text) (macro.identifier (format (%.name [this_module name])))) - .let [capability (` (..Capability (.primitive (~ g!brand)) (~ input) (~ output)))]] + .let [capability (` (..Capability (.Primitive (~ g!brand)) (~ input) (~ output)))]] (in (list (` (type: (~ export_policy) (~ (|declaration|.format declaration)) (~ capability))) diff --git a/stdlib/source/library/lux/control/thread.lux b/stdlib/source/library/lux/control/thread.lux index 11c54c10e..d4b37fcaf 100644 --- a/stdlib/source/library/lux/control/thread.lux +++ b/stdlib/source/library/lux/control/thread.lux @@ -36,7 +36,7 @@ @.jvm ("jvm array read object" (|> 0 - (:as (primitive "java.lang.Long")) + (:as (Primitive "java.lang.Long")) "jvm object cast" "jvm conversion long-to-int") (:representation box)) diff --git a/stdlib/source/library/lux/data/binary.lux b/stdlib/source/library/lux/data/binary.lux index c51f743e5..e747e40b1 100644 --- a/stdlib/source/library/lux/data/binary.lux +++ b/stdlib/source/library/lux/data/binary.lux @@ -55,16 +55,16 @@ (|> i64.bits_per_byte i64.mask .i64)) (def: i64 - (-> (primitive "java.lang.Byte") I64) + (-> (Primitive "java.lang.Byte") I64) (|>> ffi.byte_to_long (:as I64) (i64.and ..byte_mask))) (def: byte - (-> (I64 Any) (primitive "java.lang.Byte")) + (-> (I64 Any) (Primitive "java.lang.Byte")) (for [@.old (|>> .int ffi.long_to_byte) @.jvm - (|>> .int (:as (primitive "java.lang.Long")) ffi.long_to_byte)])))] + (|>> .int (:as (Primitive "java.lang.Long")) ffi.long_to_byte)])))] (for [@.old (as_is ) @.jvm (as_is ) @@ -83,11 +83,11 @@ @.python (type: .public Binary - (primitive "bytearray")) + (Primitive "bytearray")) @.scheme (as_is (type: .public Binary - (primitive "bytevector")) + (Primitive "bytevector")) (ffi.import: (make-bytevector [Nat] Binary)) (ffi.import: (bytevector-u8-ref [Binary Nat] I64)) diff --git a/stdlib/source/library/lux/data/collection/array.lux b/stdlib/source/library/lux/data/collection/array.lux index 0e40d27d6..766213cea 100644 --- a/stdlib/source/library/lux/data/collection/array.lux +++ b/stdlib/source/library/lux/data/collection/array.lux @@ -24,8 +24,8 @@ (type: .public (Array a) {.#Primitive ..type_name {.#Item a {.#End}}}) -(with_expansions [ (primitive "java.lang.Long") - (primitive "java.lang.Object") +(with_expansions [ (Primitive "java.lang.Long") + (Primitive "java.lang.Object") (type (Array ))] (for [@.jvm (template: (!int value) diff --git a/stdlib/source/library/lux/data/text.lux b/stdlib/source/library/lux/data/text.lux index 58f2450a8..9a475bae4 100644 --- a/stdlib/source/library/lux/data/text.lux +++ b/stdlib/source/library/lux/data/text.lux @@ -187,15 +187,15 @@ (for [@.old (:as Text ("jvm invokevirtual:java.lang.String:replace:java.lang.CharSequence,java.lang.CharSequence" - (:as (primitive "java.lang.String") template) - (:as (primitive "java.lang.CharSequence") pattern) - (:as (primitive "java.lang.CharSequence") replacement))) + (:as (Primitive "java.lang.String") template) + (:as (Primitive "java.lang.CharSequence") pattern) + (:as (Primitive "java.lang.CharSequence") replacement))) @.jvm (:as Text ("jvm member invoke virtual" [] "java.lang.String" "replace" [] - (:as (primitive "java.lang.String") template) - ["Ljava/lang/CharSequence;" (:as (primitive "java.lang.CharSequence") pattern)] - ["Ljava/lang/CharSequence;" (:as (primitive "java.lang.CharSequence") replacement)])) + (:as (Primitive "java.lang.String") template) + ["Ljava/lang/CharSequence;" (:as (Primitive "java.lang.CharSequence") pattern)] + ["Ljava/lang/CharSequence;" (:as (Primitive "java.lang.CharSequence") replacement)])) ... TODO: Comment/turn-off when generating a JS compiler using a JVM-based compiler because Nashorn's implementation of "replaceAll" is incorrect. @.js (:as Text @@ -255,18 +255,18 @@ (def: (hash input) (for [@.old (|> input - (: (primitive "java.lang.String")) + (: (Primitive "java.lang.String")) "jvm invokevirtual:java.lang.String:hashCode:" "jvm convert int-to-long" (:as Nat)) @.jvm (|> input - (:as (primitive "java.lang.String")) + (:as (Primitive "java.lang.String")) ("jvm member invoke virtual" [] "java.lang.String" "hashCode" []) "jvm conversion int-to-long" "jvm object cast" - (: (primitive "java.lang.Long")) + (: (Primitive "java.lang.Long")) (:as Nat))] ... Platform-independent default. (let [length ("lux text size" input)] @@ -326,11 +326,11 @@ (for [@.old (:as Text ("jvm invokevirtual:java.lang.String:toLowerCase:" - (:as (primitive "java.lang.String") value))) + (:as (Primitive "java.lang.String") value))) @.jvm (:as Text ("jvm member invoke virtual" [] "java.lang.String" "toLowerCase" [] - (:as (primitive "java.lang.String") value))) + (:as (Primitive "java.lang.String") value))) @.js (:as Text ("js object do" "toLowerCase" value [])) @@ -349,11 +349,11 @@ (for [@.old (:as Text ("jvm invokevirtual:java.lang.String:toUpperCase:" - (:as (primitive "java.lang.String") value))) + (:as (Primitive "java.lang.String") value))) @.jvm (:as Text ("jvm member invoke virtual" [] "java.lang.String" "toUpperCase" [] - (:as (primitive "java.lang.String") value))) + (:as (Primitive "java.lang.String") value))) @.js (:as Text ("js object do" "toUpperCase" value [])) diff --git a/stdlib/source/library/lux/debug.lux b/stdlib/source/library/lux/debug.lux index 8474a75e9..4e34cf604 100644 --- a/stdlib/source/library/lux/debug.lux +++ b/stdlib/source/library/lux/debug.lux @@ -79,7 +79,7 @@ @.python (as_is (type: PyType - (primitive "python_type")) + (Primitive "python_type")) (import: (type [.Any] PyType)) (import: (str [.Any] ffi.String))) diff --git a/stdlib/source/library/lux/documentation.lux b/stdlib/source/library/lux/documentation.lux index 467d7606d..108bc1160 100644 --- a/stdlib/source/library/lux/documentation.lux +++ b/stdlib/source/library/lux/documentation.lux @@ -223,7 +223,7 @@ (format " "))) {.#Item (%.text name)} text.together - (text.enclosed ["(primitive " ")"])) + (text.enclosed ["(Primitive " ")"])) {.#Sum _} (|> type @@ -323,10 +323,10 @@ {.#Primitive name params} (case params {.#End} - (format "(primitive " (%.text name) ")") + (format "(Primitive " (%.text name) ")") _ - (format "(primitive " (%.text name) " " (|> params (list#each (type_definition' false level arity type_function_info {.#None} module)) (text.interposed " ")) ")")) + (format "(Primitive " (%.text name) " " (|> params (list#each (type_definition' false level arity type_function_info {.#None} module)) (text.interposed " ")) ")")) {.#Sum _} (let [members (type.flat_variant type)] diff --git a/stdlib/source/library/lux/ffi.js.lux b/stdlib/source/library/lux/ffi.js.lux index 4c6564ec1..b6bffd6ad 100644 --- a/stdlib/source/library/lux/ffi.js.lux +++ b/stdlib/source/library/lux/ffi.js.lux @@ -251,7 +251,7 @@ (~+ class_parameters))) real_class (text.replaced "/" "." class_name)] (in (list& (` (type: (~ declaration) - (..Object (primitive (~ (code.text real_class)))))) + (..Object (Primitive (~ (code.text real_class)))))) (list#each (function (_ member) (case member {#Constructor inputsT} diff --git a/stdlib/source/library/lux/ffi.jvm.lux b/stdlib/source/library/lux/ffi.jvm.lux index 4b7d33f51..0c7865049 100644 --- a/stdlib/source/library/lux/ffi.jvm.lux +++ b/stdlib/source/library/lux/ffi.jvm.lux @@ -1,6 +1,6 @@ (.module: [library - ["[0]" lux {"-" Type type int char :as} + ["[0]" lux {"-" Primitive Type type int char :as} ["[1]_[0]" type ("[1]#[0]" equivalence)] [abstract ["[0]" monad {"+" Monad do}] @@ -114,9 +114,9 @@ (-> (Type Value) Text Code Code) (let [unboxed (..reflection unboxed)] (` (|> (~ raw) - (: (primitive (~ (code.text
))))
+              (: (.Primitive (~ (code.text 
))))
               "jvm object cast"
-              (: (primitive (~ (code.text ))))))))]
+              (: (.Primitive (~ (code.text ))))))))]
 
   [unbox boxed unboxed]
   [box unboxed boxed]
@@ -206,7 +206,7 @@
    {#Interface}))
 
 (type: StackFrame
-  (primitive "java/lang/StackTraceElement"))
+  (.Primitive "java/lang/StackTraceElement"))
 
 (type: StackTrace
   (array.Array StackFrame))
@@ -372,7 +372,7 @@
                 [parser.lower? _ (` .Any)]
                 [parser.upper? limit (parameter_type limit)]
                 [parser.class? [name parameters]
-                 (` (.primitive (~ (code.text name))
+                 (` (.Primitive (~ (code.text name))
                                 [(~+ (list#each parameter_type parameters))]))]))
           ... else
           (undefined)
@@ -1247,7 +1247,7 @@
   (in (list (` ("jvm object null")))))
 
 (def: .public (null? obj)
-  (-> (primitive "java.lang.Object") Bit)
+  (-> (.Primitive "java.lang.Object") Bit)
   ("jvm object null?" obj))
 
 (syntax: .public (??? [expr .any])
@@ -1270,7 +1270,7 @@
                          unchecked (<>.maybe .any)])
   (with_identifiers [g!_ g!unchecked]
     (let [class_name (..reflection class)
-          class_type (` (.primitive (~ (code.text class_name))))
+          class_type (` (.Primitive (~ (code.text class_name))))
           check_type (` (.Maybe (~ class_type)))
           check_code (` (if ("jvm object instance?" (~ (code.text class_name)) (~ g!unchecked))
                           {.#Some (.:as (~ class_type)
@@ -1283,7 +1283,7 @@
                           (~ check_code))))))
 
         {.#None}
-        (in (list (` (: (-> (primitive "java.lang.Object") (~ check_type))
+        (in (list (` (: (-> (.Primitive "java.lang.Object") (~ check_type))
                         (function ((~ g!_) (~ g!unchecked))
                           (~ check_code))))))
         ))))
@@ -1308,8 +1308,8 @@
       (` (def: (~ (code.identifier ["" def_name]))
            .Type
            (All ((~ (' g!_)) (~+ params'))
-             (primitive (~ (code.text full_name))
-                        [(~+ params')])))))))
+             (.Primitive (~ (code.text full_name))
+                         [(~+ params')])))))))
 
 (def: (member_type_vars class_tvars member)
   (-> (List (Type Var)) Import_Member_Declaration (List (Type Var)))
@@ -1367,7 +1367,7 @@
           ... else
           (let [g!temp (` ((~' ~') (~ (code.identifier ["" " Ω "]))))]
             (` (let [(~ g!temp) (~ return_term)]
-                 (if (not (..null? (.:as (primitive "java.lang.Object")
+                 (if (not (..null? (.:as (.Primitive "java.lang.Object")
                                          (~ g!temp))))
                    (~ g!temp)
                    (panic! "Cannot produce null references from method calls."))))))
@@ -1433,29 +1433,29 @@
          (` (.|> (~ unboxed/boxed) (~+ post))))))]
 
   [#1 with_automatic_input_conversion ..unbox
-   [[type.boolean type.boolean (list (` (.: .Bit)) (` (.:as (.primitive (~ (code.text box.boolean)))))) []]
-    [type.byte type.byte (list (` (.: .Int)) (` (.:as (.primitive (~ (code.text box.long))))) (` ..long_to_byte)) []]
-    [type.short type.short (list (` (.: .Int)) (` (.:as (.primitive (~ (code.text box.long))))) (` ..long_to_short)) []]
-    [type.int type.int (list (` (.: .Int)) (` (.:as (.primitive (~ (code.text box.long))))) (` ..long_to_int)) []]
-    [type.long type.long (list (` (.: .Int)) (` (.:as (.primitive (~ (code.text box.long)))))) []]
-    [type.float type.float (list (` (.: .Frac)) (` (.:as (.primitive (~ (code.text box.double))))) (` ..double_to_float)) []]
-    [type.double type.double (list (` (.: .Frac)) (` (.:as (.primitive (~ (code.text box.double)))))) []]
-    [..$String ..$String (list (` (.: .Text)) (` (.:as (.primitive (~ (code.text (..reflection ..$String))))))) []]
-    [(type.class box.boolean (list)) (type.class box.boolean (list)) (list (` (.: .Bit)) (` (.:as (.primitive (~ (code.text box.boolean)))))) []]
-    [(type.class box.long (list)) (type.class box.long (list)) (list (` (.: .Int)) (` (.:as (.primitive (~ (code.text box.long)))))) []]
-    [(type.class box.double (list)) (type.class box.double (list)) (list (` (.: .Frac)) (` (.:as (.primitive (~ (code.text box.double)))))) []]]]
+   [[type.boolean type.boolean (list (` (.: .Bit)) (` (.:as (.Primitive (~ (code.text box.boolean)))))) []]
+    [type.byte type.byte (list (` (.: .Int)) (` (.:as (.Primitive (~ (code.text box.long))))) (` ..long_to_byte)) []]
+    [type.short type.short (list (` (.: .Int)) (` (.:as (.Primitive (~ (code.text box.long))))) (` ..long_to_short)) []]
+    [type.int type.int (list (` (.: .Int)) (` (.:as (.Primitive (~ (code.text box.long))))) (` ..long_to_int)) []]
+    [type.long type.long (list (` (.: .Int)) (` (.:as (.Primitive (~ (code.text box.long)))))) []]
+    [type.float type.float (list (` (.: .Frac)) (` (.:as (.Primitive (~ (code.text box.double))))) (` ..double_to_float)) []]
+    [type.double type.double (list (` (.: .Frac)) (` (.:as (.Primitive (~ (code.text box.double)))))) []]
+    [..$String ..$String (list (` (.: .Text)) (` (.:as (.Primitive (~ (code.text (..reflection ..$String))))))) []]
+    [(type.class box.boolean (list)) (type.class box.boolean (list)) (list (` (.: .Bit)) (` (.:as (.Primitive (~ (code.text box.boolean)))))) []]
+    [(type.class box.long (list)) (type.class box.long (list)) (list (` (.: .Int)) (` (.:as (.Primitive (~ (code.text box.long)))))) []]
+    [(type.class box.double (list)) (type.class box.double (list)) (list (` (.: .Frac)) (` (.:as (.Primitive (~ (code.text box.double)))))) []]]]
   [#0 with_automatic_output_conversion ..box
-   [[type.boolean type.boolean (list) [(` (.: (.primitive (~ (code.text box.boolean))))) (` (.:as .Bit))]]
-    [type.byte type.long (list (` "jvm conversion byte-to-long")) [(` (.: (.primitive (~ (code.text box.long))))) (` (.:as .Int))]]
-    [type.short type.long (list (` "jvm conversion short-to-long")) [(` (.: (.primitive (~ (code.text box.long))))) (` (.:as .Int))]]
-    [type.int type.long (list (` "jvm conversion int-to-long")) [(` (.: (.primitive (~ (code.text box.long))))) (` (.:as .Int))]]
-    [type.long type.long (list) [(` (.: (.primitive (~ (code.text box.long))))) (` (.:as .Int))]]
-    [type.float type.double (list (` "jvm conversion float-to-double")) [(` (.: (.primitive (~ (code.text box.double))))) (` (.:as .Frac))]]
-    [type.double type.double (list) [(` (.: (.primitive (~ (code.text box.double))))) (` (.:as .Frac))]]
-    [..$String ..$String (list) [(` (.: (.primitive (~ (code.text (..reflection ..$String)))))) (` (.:as .Text))]]
-    [(type.class box.boolean (list)) (type.class box.boolean (list)) (list) [(` (.: (.primitive (~ (code.text box.boolean))))) (` (.:as .Bit))]]
-    [(type.class box.long (list)) (type.class box.long (list)) (list) [(` (.: (.primitive (~ (code.text box.long))))) (` (.:as .Int))]]
-    [(type.class box.double (list)) (type.class box.double (list)) (list) [(` (.: (.primitive (~ (code.text box.double))))) (` (.:as .Frac))]]]]
+   [[type.boolean type.boolean (list) [(` (.: (.Primitive (~ (code.text box.boolean))))) (` (.:as .Bit))]]
+    [type.byte type.long (list (` "jvm conversion byte-to-long")) [(` (.: (.Primitive (~ (code.text box.long))))) (` (.:as .Int))]]
+    [type.short type.long (list (` "jvm conversion short-to-long")) [(` (.: (.Primitive (~ (code.text box.long))))) (` (.:as .Int))]]
+    [type.int type.long (list (` "jvm conversion int-to-long")) [(` (.: (.Primitive (~ (code.text box.long))))) (` (.:as .Int))]]
+    [type.long type.long (list) [(` (.: (.Primitive (~ (code.text box.long))))) (` (.:as .Int))]]
+    [type.float type.double (list (` "jvm conversion float-to-double")) [(` (.: (.Primitive (~ (code.text box.double))))) (` (.:as .Frac))]]
+    [type.double type.double (list) [(` (.: (.Primitive (~ (code.text box.double))))) (` (.:as .Frac))]]
+    [..$String ..$String (list) [(` (.: (.Primitive (~ (code.text (..reflection ..$String)))))) (` (.:as .Text))]]
+    [(type.class box.boolean (list)) (type.class box.boolean (list)) (list) [(` (.: (.Primitive (~ (code.text box.boolean))))) (` (.:as .Bit))]]
+    [(type.class box.long (list)) (type.class box.long (list)) (list) [(` (.: (.Primitive (~ (code.text box.long))))) (` (.:as .Int))]]
+    [(type.class box.double (list)) (type.class box.double (list)) (list) [(` (.: (.Primitive (~ (code.text box.double))))) (` (.:as .Frac))]]]]
   )
 
 (def: (un_quoted quoted)
@@ -1468,7 +1468,7 @@
       (list.zipped/2 classes)
       (list#each (function (_ [class [maybe? input]])
                    (|> (if maybe?
-                         (` (: (.primitive (~ (code.text (..reflection class))))
+                         (` (: (.Primitive (~ (code.text (..reflection class))))
                                ((~! !!!) (~ (..un_quoted input)))))
                          (..un_quoted input))
                        [class]
@@ -1496,11 +1496,12 @@
           [.let [enum_type (: Code
                               (case class_tvars
                                 {.#End}
-                                (` (primitive (~ (code.text full_name))))
+                                (` (.Primitive (~ (code.text full_name))))
 
                                 _
                                 (let [=class_tvars (list#each ..var$' class_tvars)]
-                                  (` (All ((~ g!_) (~+ =class_tvars)) (primitive (~ (code.text full_name)) [(~+ =class_tvars)]))))))
+                                  (` (All ((~ g!_) (~+ =class_tvars))
+                                       (.Primitive (~ (code.text full_name)) [(~+ =class_tvars)]))))))
                  getter_interop (: (-> Text Code)
                                    (function (_ name)
                                      (let [getter_name (code.identifier ["" (..import_name import_format method_prefix name)])]
@@ -1638,15 +1639,15 @@
       (member_def_interop vars kind class =args member method_prefix import_format))))
 
 (def: interface?
-  (All (_ a) (-> (primitive "java.lang.Class" [a]) Bit))
+  (All (_ a) (-> (.Primitive "java.lang.Class" [a]) Bit))
   (|>> ("jvm member invoke virtual" [] "java.lang.Class" "isInterface" [])
        "jvm object cast"
        (: ..Boolean)
        (.:as Bit)))
 
 (def: load_class
-  (-> External (Try (primitive "java.lang.Class" [Any])))
-  (|>> (.:as (primitive "java.lang.String"))
+  (-> External (Try (.Primitive "java.lang.Class" [Any])))
+  (|>> (.:as (.Primitive "java.lang.String"))
        ["Ljava/lang/String;"]
        ("jvm member invoke static" [] "java.lang.Class" "forName" [])
        try))
@@ -1679,7 +1680,7 @@
                          size .any])
   (let [g!size (` (|> (~ size)
                       (.: .Nat)
-                      (.:as (.primitive (~ (code.text box.long))))
+                      (.:as (.Primitive (~ (code.text box.long))))
                       "jvm object cast"
                       "jvm conversion long-to-int"))]
     (`` (cond (~~ (template [ ]
@@ -1819,7 +1820,7 @@
       (in (list (` (.|> ((~ g!extension) (~ array))
                         "jvm conversion int-to-long"
                         "jvm object cast"
-                        (.: (.primitive (~ (code.text box.long))))
+                        (.: (.Primitive (~ (code.text box.long))))
                         (.:as .Nat))))))
 
     _
@@ -1836,7 +1837,7 @@
        array_jvm_type (lux_type->jvm_type array_type)
        .let [g!idx (` (.|> (~ idx)
                            (.: .Nat)
-                           (.:as (.primitive (~ (code.text box.long))))
+                           (.:as (.Primitive (~ (code.text box.long))))
                            "jvm object cast"
                            "jvm conversion long-to-int"))]]
       (`` (cond (~~ (template [  ]
@@ -1845,7 +1846,7 @@
                           array_jvm_type)
                        (in (list (` (.|> ( (~ g!idx) (~ array))
                                          "jvm object cast"
-                                         (.: (.primitive (~ (code.text ))))))))]
+                                         (.: (.Primitive (~ (code.text ))))))))]
 
                       [type.boolean "jvm array read boolean" box.boolean]
                       [type.byte "jvm array read byte" box.byte]
@@ -1874,7 +1875,7 @@
        array_jvm_type (lux_type->jvm_type array_type)
        .let [g!idx (` (.|> (~ idx)
                            (.: .Nat)
-                           (.:as (.primitive (~ (code.text box.long))))
+                           (.:as (.Primitive (~ (code.text box.long))))
                            "jvm object cast"
                            "jvm conversion long-to-int"))]]
       (`` (cond (~~ (template [  ]
@@ -1882,7 +1883,7 @@
                           (type.array )
                           array_jvm_type)
                        (let [g!value (` (.|> (~ value)
-                                             (.:as (.primitive (~ (code.text ))))
+                                             (.:as (.Primitive (~ (code.text ))))
                                              "jvm object cast"))]
                          (in (list (` ( (~ g!idx) (~ g!value) (~ array))))))]
 
diff --git a/stdlib/source/library/lux/ffi.lua.lux b/stdlib/source/library/lux/ffi.lua.lux
index 5af4aaf9d..b8a203ddd 100644
--- a/stdlib/source/library/lux/ffi.lua.lux
+++ b/stdlib/source/library/lux/ffi.lua.lux
@@ -242,7 +242,7 @@
                          {.#End}
                          (` ("lua import" (~ (code.text class)))))]
           (in (list& (` (type: (~ g!type)
-                          (..Object (primitive (~ (code.text real_class))))))
+                          (..Object (Primitive (~ (code.text real_class))))))
                      (list#each (function (_ member)
                                   (case member
                                     {#Field [static? field fieldT]}
diff --git a/stdlib/source/library/lux/ffi.old.lux b/stdlib/source/library/lux/ffi.old.lux
index 35f1f853b..f7c40b59d 100644
--- a/stdlib/source/library/lux/ffi.old.lux
+++ b/stdlib/source/library/lux/ffi.old.lux
@@ -28,7 +28,7 @@
 
 (template [   ]
   [(def: .public ( value)
-     (-> (primitive ) (primitive ))
+     (-> (Primitive ) (Primitive ))
      ( value))]
 
   [byte_to_long "jvm convert byte-to-long" "java.lang.Byte"      "java.lang.Long"]
@@ -121,7 +121,7 @@
     #class_params (List Type_Parameter)]))
 
 (type: StackFrame
-  (primitive "java/lang/StackTraceElement"))
+  (Primitive "java/lang/StackTraceElement"))
 
 (type: StackTrace
   (Array StackFrame))
@@ -257,14 +257,14 @@
     (^template [ ]
       [
        {.#Some (' )}])
-    (["boolean" (primitive "java.lang.Boolean")]
-     ["byte"    (primitive "java.lang.Byte")]
-     ["short"   (primitive "java.lang.Short")]
-     ["int"     (primitive "java.lang.Integer")]
-     ["long"    (primitive "java.lang.Long")]
-     ["float"   (primitive "java.lang.Float")]
-     ["double"  (primitive "java.lang.Double")]
-     ["char"    (primitive "java.lang.Character")]
+    (["boolean" (Primitive "java.lang.Boolean")]
+     ["byte"    (Primitive "java.lang.Byte")]
+     ["short"   (Primitive "java.lang.Short")]
+     ["int"     (Primitive "java.lang.Integer")]
+     ["long"    (Primitive "java.lang.Long")]
+     ["float"   (Primitive "java.lang.Float")]
+     ["double"  (Primitive "java.lang.Double")]
+     ["char"    (Primitive "java.lang.Character")]
      ["void"    .Any])
 
     _
@@ -311,7 +311,7 @@
     [[name params] _ _]
     (let [name (safe name)
           =params (list#each (class_type' mode type_params in_array?) params)]
-      (` (primitive (~ (code.text name)) [(~+ =params)])))))
+      (` (Primitive (~ (code.text name)) [(~+ =params)])))))
 
 (def: (class_type' mode type_params in_array? class)
   (-> Primitive_Mode (List Type_Parameter) Bit GenericType Code)
@@ -362,7 +362,7 @@
                                   {.#Item bound1 _}
                                   (class_type {#ManualPrM} #class_params bound1))))
                            #class_params)]
-    (` (primitive (~ (code.text (safe #class_name)))
+    (` (Primitive (~ (code.text (safe #class_name)))
                   [(~+ =params)]))))
 
 (def: type_var_class Text "java.lang.Object")
@@ -1238,7 +1238,7 @@
   (in (list (` ("jvm object null")))))
 
 (def: .public (null? obj)
-  (-> (primitive "java.lang.Object") Bit)
+  (-> (Primitive "java.lang.Object") Bit)
   ("jvm object null?" obj))
 
 (syntax: .public (??? [expr .any])
@@ -1261,7 +1261,7 @@
                          unchecked (<>.maybe .any)])
   (with_identifiers [g!_ g!unchecked]
     (let [class_name (simple_class$ (list) class)
-          class_type (` (.primitive (~ (code.text class_name))))
+          class_type (` (.Primitive (~ (code.text class_name))))
           check_type (` (.Maybe (~ class_type)))
           check_code (` (if ((~ (code.text (format "jvm instanceof" ":" class_name))) (~ g!unchecked))
                           {.#Some (.:as (~ class_type)
@@ -1274,7 +1274,7 @@
                           (~ check_code))))))
 
         {.#None}
-        (in (list (` (: (-> (primitive "java.lang.Object") (~ check_type))
+        (in (list (` (: (-> (Primitive "java.lang.Object") (~ check_type))
                         (function ((~ g!_) (~ g!unchecked))
                           (~ check_code))))))
         ))))
@@ -1297,7 +1297,7 @@
       (` (def: (~ (code.identifier ["" full_name]))
            Type
            (All ((~ (' g!_)) (~+ params'))
-             (primitive (~ (code.text (safe full_name)))
+             (Primitive (~ (code.text (safe full_name)))
                         [(~+ params')])))))))
 
 (def: (member_type_vars class_tvars member)
@@ -1352,7 +1352,7 @@
       (` (??? (~ return_term)))
       (let [g!temp (` ((~' ~') (~ (code.identifier ["" " Ω "]))))]
         (` (let [(~ g!temp) (~ return_term)]
-             (if (not (..null? (:as (primitive "java.lang.Object")
+             (if (not (..null? (:as (Primitive "java.lang.Object")
                                     (~ g!temp))))
                (~ g!temp)
                (panic! (~ (code.text (format "Cannot produce null references from method calls @ "
@@ -1447,13 +1447,13 @@
           [.let [enum_type (: Code
                               (case class_tvars
                                 {.#End}
-                                (` (primitive (~ (code.text full_name))))
+                                (` (Primitive (~ (code.text full_name))))
 
                                 _
                                 (let [=class_tvars (|> class_tvars
                                                        (list.only free_type_param?)
                                                        (list#each lux_type_parameter))]
-                                  (` (All ((~ g!_) (~+ =class_tvars)) (primitive (~ (code.text full_name)) [(~+ =class_tvars)]))))))
+                                  (` (All ((~ g!_) (~+ =class_tvars)) (Primitive (~ (code.text full_name)) [(~+ =class_tvars)]))))))
                  getter_interop (: (-> Text Code)
                                    (function (_ name)
                                      (let [getter_name (code.identifier ["" (..import_name import_format method_prefix name)])]
@@ -1573,7 +1573,7 @@
       (member_def_interop type_params kind class =args member method_prefix import_format))))
 
 (type: (java/lang/Class a)
-  (primitive "java.lang.Class" [a]))
+  (Primitive "java.lang.Class" [a]))
 
 (def: interface?
   (All (_ a) (-> (java/lang/Class a) Bit))
diff --git a/stdlib/source/library/lux/ffi.php.lux b/stdlib/source/library/lux/ffi.php.lux
index 5888edb29..08cbcf46b 100644
--- a/stdlib/source/library/lux/ffi.php.lux
+++ b/stdlib/source/library/lux/ffi.php.lux
@@ -250,7 +250,7 @@
               g!type (code.local_identifier (maybe.else class alias))
               class_import (` ("php constant" (~ (code.text class))))]
           (in (list& (` (type: (~ g!type)
-                          (..Object (primitive (~ (code.text class))))))
+                          (..Object (Primitive (~ (code.text class))))))
                      (list#each (function (_ member)
                                   (case member
                                     {#Field [static? field alias fieldT]}
diff --git a/stdlib/source/library/lux/ffi.py.lux b/stdlib/source/library/lux/ffi.py.lux
index fd1eba334..c05d1039f 100644
--- a/stdlib/source/library/lux/ffi.py.lux
+++ b/stdlib/source/library/lux/ffi.py.lux
@@ -262,7 +262,7 @@
                          {.#End}
                          (` ("python import" (~ (code.text class)))))]
           (in (list& (` (type: (~ g!type)
-                          (..Object (primitive (~ (code.text real_class))))))
+                          (..Object (Primitive (~ (code.text real_class))))))
                      (list#each (function (_ member)
                                   (case member
                                     {#Constructor inputsT}
diff --git a/stdlib/source/library/lux/ffi.rb.lux b/stdlib/source/library/lux/ffi.rb.lux
index 0e3d39b58..41e21b197 100644
--- a/stdlib/source/library/lux/ffi.rb.lux
+++ b/stdlib/source/library/lux/ffi.rb.lux
@@ -250,7 +250,7 @@
                                  (list)))
               class_import (` ("ruby constant" (~ (code.text class))))]
           (in (list& (` (type: (~ g!type)
-                          (..Object (primitive (~ (code.text class))))))
+                          (..Object (Primitive (~ (code.text class))))))
                      (list#each (function (_ member)
                                   (case member
                                     {#Field [static? field alias fieldT]}
diff --git a/stdlib/source/library/lux/math.lux b/stdlib/source/library/lux/math.lux
index d6c85234d..22b79ed09 100644
--- a/stdlib/source/library/lux/math.lux
+++ b/stdlib/source/library/lux/math.lux
@@ -48,13 +48,13 @@
       @.jvm
       (as_is (template: (!double value)
                [(|> value
-                    (:as (primitive "java.lang.Double"))
+                    (:as (Primitive "java.lang.Double"))
                     "jvm object cast")])
              
              (template: (!frac value)
                [(|> value
                     "jvm object cast"
-                    (: (primitive "java.lang.Double"))
+                    (: (Primitive "java.lang.Double"))
                     (:as Frac))])
              
              (template [ ]
diff --git a/stdlib/source/library/lux/target/jvm.lux b/stdlib/source/library/lux/target/jvm.lux
index f3b90b6bf..2f5bc8173 100644
--- a/stdlib/source/library/lux/target/jvm.lux
+++ b/stdlib/source/library/lux/target/jvm.lux
@@ -1,6 +1,6 @@
 (.module:
   [library
-   [lux {"-" Type Label}
+   [lux {"-" Type Primitive Label}
     [data
      [collection
       [row {"+" Row}]]]
diff --git a/stdlib/source/library/lux/target/jvm/loader.lux b/stdlib/source/library/lux/target/jvm/loader.lux
index 38f2b48c4..574492104 100644
--- a/stdlib/source/library/lux/target/jvm/loader.lux
+++ b/stdlib/source/library/lux/target/jvm/loader.lux
@@ -87,12 +87,12 @@
                                             bytecode)
                                        (:as java/lang/Object
                                             (|> 0
-                                                (:as (primitive "java.lang.Long"))
+                                                (:as (Primitive "java.lang.Long"))
                                                 ffi.long_to_int))
                                        (:as java/lang/Object
                                             (|> bytecode
                                                 binary.size
-                                                (:as (primitive "java.lang.Long"))
+                                                (:as (Primitive "java.lang.Long"))
                                                 ffi.long_to_int))))]
     (java/lang/reflect/Method::invoke loader signature java/lang/ClassLoader::defineClass)))
 
diff --git a/stdlib/source/library/lux/target/jvm/type.lux b/stdlib/source/library/lux/target/jvm/type.lux
index e77c8a64b..203d764d5 100644
--- a/stdlib/source/library/lux/target/jvm/type.lux
+++ b/stdlib/source/library/lux/target/jvm/type.lux
@@ -1,6 +1,6 @@
 (.module:
   [library
-   [lux {"-" Type int char}
+   [lux {"-" Primitive Type int char}
     [abstract
      [equivalence {"+" Equivalence}]
      [hash {"+" Hash}]]
diff --git a/stdlib/source/library/lux/target/jvm/type/category.lux b/stdlib/source/library/lux/target/jvm/type/category.lux
index 6d4b73aa2..177da5322 100644
--- a/stdlib/source/library/lux/target/jvm/type/category.lux
+++ b/stdlib/source/library/lux/target/jvm/type/category.lux
@@ -1,6 +1,6 @@
 (.module:
   [library
-   [lux "*"
+   [lux {"-" Primitive}
     [macro
      ["[0]" template]]
     [type
@@ -23,7 +23,7 @@
 
 (template [ ]
   [(with_expansions [ (template.identifier [ "'"])]
-     (abstract: .public  Any)
+     (abstract:  Any)
      (type: .public 
        (`` (<| Return' Value' (~~ (template.spliced )) ))))]
 
diff --git a/stdlib/source/library/lux/target/jvm/type/descriptor.lux b/stdlib/source/library/lux/target/jvm/type/descriptor.lux
index 5a508fe1c..84e9f2c2c 100644
--- a/stdlib/source/library/lux/target/jvm/type/descriptor.lux
+++ b/stdlib/source/library/lux/target/jvm/type/descriptor.lux
@@ -1,6 +1,6 @@
 (.module:
   [library
-   [lux {"-" int char}
+   [lux {"-" Primitive int char}
     [abstract
      [equivalence {"+" Equivalence}]]
     [control
diff --git a/stdlib/source/library/lux/target/jvm/type/parser.lux b/stdlib/source/library/lux/target/jvm/type/parser.lux
index 33a061025..44ff88029 100644
--- a/stdlib/source/library/lux/target/jvm/type/parser.lux
+++ b/stdlib/source/library/lux/target/jvm/type/parser.lux
@@ -1,6 +1,6 @@
 (.module:
   [library
-   [lux {"-" Type int char primitive}
+   [lux {"-" Type Primitive int char}
     [abstract
      [monad {"+" do}]]
     [control
diff --git a/stdlib/source/library/lux/target/jvm/type/reflection.lux b/stdlib/source/library/lux/target/jvm/type/reflection.lux
index 00e946acf..0c3bde623 100644
--- a/stdlib/source/library/lux/target/jvm/type/reflection.lux
+++ b/stdlib/source/library/lux/target/jvm/type/reflection.lux
@@ -1,6 +1,6 @@
 (.module:
   [library
-   [lux {"-" int char}
+   [lux {"-" Primitive int char}
     [abstract
      [equivalence {"+" Equivalence}]]
     [data
diff --git a/stdlib/source/library/lux/target/jvm/type/signature.lux b/stdlib/source/library/lux/target/jvm/type/signature.lux
index 21bb999e2..3c2747f1e 100644
--- a/stdlib/source/library/lux/target/jvm/type/signature.lux
+++ b/stdlib/source/library/lux/target/jvm/type/signature.lux
@@ -1,6 +1,6 @@
 (.module:
   [library
-   [lux {"-" int char}
+   [lux {"-" Primitive int char}
     [abstract
      [equivalence {"+" Equivalence}]
      [hash {"+" Hash}]]
diff --git a/stdlib/source/library/lux/time/instant.lux b/stdlib/source/library/lux/time/instant.lux
index d80ffbf0c..ea69493f9 100644
--- a/stdlib/source/library/lux/time/instant.lux
+++ b/stdlib/source/library/lux/time/instant.lux
@@ -155,7 +155,7 @@
   (io (..of_millis (for [@.old ("jvm invokestatic:java.lang.System:currentTimeMillis:")
                          @.jvm (|> ("jvm member invoke static" [] "java.lang.System" "currentTimeMillis" [])
                                    ("jvm object cast")
-                                   (: (primitive "java.lang.Long"))
+                                   (: (Primitive "java.lang.Long"))
                                    (:as Int))
                          @.js (let [date ("js object new" ("js constant" "Date") [])]
                                 (|> ("js object do" "getTime" date [])
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/analysis.lux b/stdlib/source/library/lux/tool/compiler/language/lux/analysis.lux
index feab22f2c..4cb9d6911 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/analysis.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/analysis.lux
@@ -1,6 +1,6 @@
 (.module:
   [library
-   [lux {"-" Tuple Variant nat int rev}
+   [lux {"-" Primitive Tuple Variant nat int rev}
     [abstract
      [equivalence {"+" Equivalence}]
      [hash {"+" Hash}]
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/synthesis.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/synthesis.lux
index 173da80a2..88b2b9ab4 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/synthesis.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/synthesis.lux
@@ -1,6 +1,6 @@
 (.module:
   [library
-   [lux {"-" primitive}
+   [lux "*"
     [abstract
      ["[0]" monad {"+" do}]]
     [control
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/synthesis.lux b/stdlib/source/library/lux/tool/compiler/language/lux/synthesis.lux
index f310d43cd..55333ca42 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/synthesis.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/synthesis.lux
@@ -1,6 +1,6 @@
 (.module:
   [library
-   [lux {"-" i64 Scope}
+   [lux {"-" Primitive Scope i64}
     [abstract
      [monad {"+" do}]
      [equivalence {"+" Equivalence}]
diff --git a/stdlib/source/library/lux/type.lux b/stdlib/source/library/lux/type.lux
index 296bd0b96..c8f2668f2 100644
--- a/stdlib/source/library/lux/type.lux
+++ b/stdlib/source/library/lux/type.lux
@@ -82,7 +82,7 @@
   (case type
     {.#Primitive name params}
     ($_ text#composite
-        "(primitive "
+        "(Primitive "
         (text.enclosed' text.double_quote name)
         (|> params
             (list#each (|>> format (text#composite " ")))
diff --git a/stdlib/source/library/lux/type/abstract.lux b/stdlib/source/library/lux/type/abstract.lux
index 81d04ac73..6ebbe7719 100644
--- a/stdlib/source/library/lux/type/abstract.lux
+++ b/stdlib/source/library/lux/type/abstract.lux
@@ -232,7 +232,7 @@
                  abstraction_declaration
                  representation_declaration])]
     (in (list& (` (type: (~ export_policy) (~ abstraction_declaration)
-                    (primitive (~ (code.text (abstraction_type_name [current_module name])))
+                    (Primitive (~ (code.text (abstraction_type_name [current_module name])))
                                [(~+ type_varsC)])))
                (` (type: (~ representation_declaration)
                     (~ representation_type)))
diff --git a/stdlib/source/library/lux/type/unit.lux b/stdlib/source/library/lux/type/unit.lux
index 5822d2103..d1a00e489 100644
--- a/stdlib/source/library/lux/type/unit.lux
+++ b/stdlib/source/library/lux/type/unit.lux
@@ -94,7 +94,7 @@
     [@ meta.current_module_name
      .let [g!type (code.local_identifier type_name)]]
     (in (list (` (type: (~ export_policy) (~ g!type)
-                   (primitive (~ (code.text (%.name [@ type_name]))))))
+                   (Primitive (~ (code.text (%.name [@ type_name]))))))
 
               (` (implementation: (~ export_policy) (~ (code.local_identifier unit_name))
                    (..Unit (~ g!type))
@@ -125,7 +125,7 @@
      @ meta.current_module_name
      .let [g!scale (code.local_identifier type_name)]]
     (in (list (` (type: (~ export_policy) ((~ g!scale) (~' u))
-                   (primitive (~ (code.text (%.name [@ type_name]))) [(~' u)])))
+                   (Primitive (~ (code.text (%.name [@ type_name]))) [(~' u)])))
               
               (` (implementation: (~ export_policy) (~ (code.local_identifier scale_name))
                    (..Scale (~ g!scale))
diff --git a/stdlib/source/library/lux/world/file.lux b/stdlib/source/library/lux/world/file.lux
index 0ec5f4a2c..4ddb44aa6 100644
--- a/stdlib/source/library/lux/world/file.lux
+++ b/stdlib/source/library/lux/world/file.lux
@@ -538,7 +538,7 @@
 
         @.python
         (as_is (type: (Tuple/2 left right)
-                 (primitive "python_tuple[2]" [left right]))
+                 (Primitive "python_tuple[2]" [left right]))
 
                (ffi.import: PyFile
                  ["[1]::[0]"
diff --git a/stdlib/source/test/lux.lux b/stdlib/source/test/lux.lux
index 3f1def248..e33bdf2f0 100644
--- a/stdlib/source/test/lux.lux
+++ b/stdlib/source/test/lux.lux
@@ -498,8 +498,8 @@
                             (same? expected_right actual_right))))
             (_.cover [/.:of]
                      (same? /.Nat (/.:of expected)))
-            (_.cover [/.primitive]
-                     (case (/.primitive "foo" [expected/0 expected/1])
+            (_.cover [/.Primitive]
+                     (case (/.Primitive "foo" [expected/0 expected/1])
                        (^ {.#Primitive "foo" (list actual/0 actual/1)})
                        (and (same? expected/0 actual/0)
                             (same? expected/1 actual/1))
diff --git a/stdlib/source/test/lux/control/parser/binary.lux b/stdlib/source/test/lux/control/parser/binary.lux
index 73e3a8db8..f7809b34d 100644
--- a/stdlib/source/test/lux/control/parser/binary.lux
+++ b/stdlib/source/test/lux/control/parser/binary.lux
@@ -1,6 +1,6 @@
 (.module:
   [library
-   [lux {"-" primitive}
+   [lux "*"
     ["_" test {"+" Test}]
     ["[0]" type]
     [abstract
diff --git a/stdlib/source/test/lux/control/parser/type.lux b/stdlib/source/test/lux/control/parser/type.lux
index c1773baf1..2fca448f8 100644
--- a/stdlib/source/test/lux/control/parser/type.lux
+++ b/stdlib/source/test/lux/control/parser/type.lux
@@ -1,6 +1,6 @@
 (.module:
   [library
-   [lux {"-" primitive}
+   [lux "*"
     ["_" test {"+" Test}]
     [abstract
      [monad {"+" do}]]
diff --git a/stdlib/source/test/lux/ffi.old.lux b/stdlib/source/test/lux/ffi.old.lux
index b105ea38a..52703c219 100644
--- a/stdlib/source/test/lux/ffi.old.lux
+++ b/stdlib/source/test/lux/ffi.old.lux
@@ -222,9 +222,9 @@
                      test/lux/ffi/TestInterface::current
                      (i.= (i.+ increase counter))))
         (_.cover [/.type]
-                 (and (type#= (primitive "java.lang.Char")
+                 (and (type#= (Primitive "java.lang.Char")
                               (/.type java/lang/Char))
-                      (type#= (primitive "java.util.List" [(primitive "java.lang.Byte")])
+                      (type#= (Primitive "java.util.List" [(Primitive "java.lang.Byte")])
                               (/.type (java/util/List java/lang/Byte)))))
         )))
 
diff --git a/stdlib/source/test/lux/target/jvm.lux b/stdlib/source/test/lux/target/jvm.lux
index 509fddb6d..ed3916588 100644
--- a/stdlib/source/test/lux/target/jvm.lux
+++ b/stdlib/source/test/lux/target/jvm.lux
@@ -1,6 +1,6 @@
 (.module:
   [library
-   [lux {"-" Type Label type primitive int}
+   [lux {"-" Type Primitive Label type int}
     ["[0]" ffi {"+" import:}]
     ["@" target]
     [abstract
diff --git a/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/loop.lux b/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/loop.lux
index 7bcc5f59a..bbeae5033 100644
--- a/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/loop.lux
+++ b/stdlib/source/test/lux/tool/compiler/language/lux/phase/synthesis/loop.lux
@@ -1,5 +1,5 @@
 (.module:
-  [lux {"-" primitive structure loop function}
+  [lux {"-" structure loop function}
    ["_" test {"+" Test}]
    [abstract
     [monad {"+" do}]]
-- 
cgit v1.2.3