aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--documentation/book/the_lux_programming_language/appendix_b.md2
-rw-r--r--documentation/book/the_lux_programming_language/appendix_c.md2
-rw-r--r--documentation/book/the_lux_programming_language/chapter_1.md2
-rw-r--r--documentation/book/the_lux_programming_language/chapter_11.md2
-rw-r--r--documentation/book/the_lux_programming_language/chapter_2.md2
-rw-r--r--documentation/book/the_lux_programming_language/chapter_3.md2
-rw-r--r--documentation/book/the_lux_programming_language/chapter_4.md2
-rw-r--r--documentation/book/the_lux_programming_language/chapter_5.md2
-rw-r--r--documentation/book/the_lux_programming_language/chapter_6.md2
-rw-r--r--documentation/book/the_lux_programming_language/chapter_7.md2
-rw-r--r--documentation/book/the_lux_programming_language/chapter_8.md2
-rw-r--r--documentation/book/the_lux_programming_language/chapter_9.md2
-rw-r--r--documentation/book/the_lux_programming_language/index.md43
-rw-r--r--lux-lua/source/program.lux4
-rw-r--r--lux-php/source/program.lux6
-rw-r--r--lux-python/source/program.lux2
-rw-r--r--lux-r/source/program.lux4
-rw-r--r--stdlib/source/documentation/lux/ffi.jvm.lux32
-rw-r--r--stdlib/source/documentation/lux/ffi.old.lux32
-rw-r--r--stdlib/source/documentation/lux/ffi.rb.lux2
-rw-r--r--stdlib/source/documentation/lux/macro.lux2
-rw-r--r--stdlib/source/library/lux/data/text/encoding/utf8.lux8
-rw-r--r--stdlib/source/library/lux/ffi.js.lux2
-rw-r--r--stdlib/source/library/lux/ffi.jvm.lux46
-rw-r--r--stdlib/source/library/lux/ffi.lua.lux2
-rw-r--r--stdlib/source/library/lux/ffi.old.lux46
-rw-r--r--stdlib/source/library/lux/ffi.php.lux2
-rw-r--r--stdlib/source/library/lux/ffi.py.lux2
-rw-r--r--stdlib/source/library/lux/ffi.rb.lux2
-rw-r--r--stdlib/source/library/lux/ffi.scm.lux2
-rw-r--r--stdlib/source/library/lux/macro.lux2
-rw-r--r--stdlib/source/library/lux/target/jvm/loader.lux2
-rw-r--r--stdlib/source/library/lux/world/file.lux10
-rw-r--r--stdlib/source/library/lux/world/program.lux18
-rw-r--r--stdlib/source/test/lux/ffi.jvm.lux96
-rw-r--r--stdlib/source/test/lux/ffi.old.lux34
-rw-r--r--stdlib/source/test/lux/macro.lux2
37 files changed, 225 insertions, 202 deletions
diff --git a/documentation/book/the_lux_programming_language/appendix_b.md b/documentation/book/the_lux_programming_language/appendix_b.md
index 90ba1341a..3aaaa7a23 100644
--- a/documentation/book/the_lux_programming_language/appendix_b.md
+++ b/documentation/book/the_lux_programming_language/appendix_b.md
@@ -1,4 +1,4 @@
-# Appendix B: Math in Lux
+# Appendix B: Math
Math in Lux is a bit different from what you might be used to in other languages.
diff --git a/documentation/book/the_lux_programming_language/appendix_c.md b/documentation/book/the_lux_programming_language/appendix_c.md
index 01c8a77cb..e60f7bbe8 100644
--- a/documentation/book/the_lux_programming_language/appendix_c.md
+++ b/documentation/book/the_lux_programming_language/appendix_c.md
@@ -1,4 +1,4 @@
-# Appendix C: Pattern-Matching Macros
+# Appendix C: Pattern-matching macros
Pattern-matching is a native Lux feature, and yet `case` is a macro.
diff --git a/documentation/book/the_lux_programming_language/chapter_1.md b/documentation/book/the_lux_programming_language/chapter_1.md
index 9b670ef5c..6cd68614f 100644
--- a/documentation/book/the_lux_programming_language/chapter_1.md
+++ b/documentation/book/the_lux_programming_language/chapter_1.md
@@ -1,4 +1,4 @@
-# Chapter 1: Getting Started
+# Chapter 1: Getting started
_Where you will learn how to set up a development environment for Lux._
diff --git a/documentation/book/the_lux_programming_language/chapter_11.md b/documentation/book/the_lux_programming_language/chapter_11.md
index 1738431d7..ad4366a76 100644
--- a/documentation/book/the_lux_programming_language/chapter_11.md
+++ b/documentation/book/the_lux_programming_language/chapter_11.md
@@ -1,4 +1,4 @@
-# Chapter 11: Syntax Macros
+# Chapter 11: Syntax macros
_Where science turns into magic once more._
diff --git a/documentation/book/the_lux_programming_language/chapter_2.md b/documentation/book/the_lux_programming_language/chapter_2.md
index d396f0034..a58e7758f 100644
--- a/documentation/book/the_lux_programming_language/chapter_2.md
+++ b/documentation/book/the_lux_programming_language/chapter_2.md
@@ -1,4 +1,4 @@
-# Chapter 2: The Basics
+# Chapter 2: The basics
_Where you will learn the fundamentals of Lux programming._
diff --git a/documentation/book/the_lux_programming_language/chapter_3.md b/documentation/book/the_lux_programming_language/chapter_3.md
index 08187fdbe..a8e3c3247 100644
--- a/documentation/book/the_lux_programming_language/chapter_3.md
+++ b/documentation/book/the_lux_programming_language/chapter_3.md
@@ -1,4 +1,4 @@
-# Chapter 3: Syntax and Data-Types
+# Chapter 3: Syntax and data-types
_Where you will learn the what Lux code is made of._
diff --git a/documentation/book/the_lux_programming_language/chapter_4.md b/documentation/book/the_lux_programming_language/chapter_4.md
index 088e531f6..68feb8121 100644
--- a/documentation/book/the_lux_programming_language/chapter_4.md
+++ b/documentation/book/the_lux_programming_language/chapter_4.md
@@ -1,4 +1,4 @@
-# Chapter 4: Functions and Definitions
+# Chapter 4: Functions and definitions
_Where you will learn how to build your own Lux code._
diff --git a/documentation/book/the_lux_programming_language/chapter_5.md b/documentation/book/the_lux_programming_language/chapter_5.md
index 675726a4a..0d8b6e976 100644
--- a/documentation/book/the_lux_programming_language/chapter_5.md
+++ b/documentation/book/the_lux_programming_language/chapter_5.md
@@ -1,4 +1,4 @@
-# Chapter 5: Control Flow
+# Chapter 5: Control flow
_Where you will learn how to give intelligence to your code._
diff --git a/documentation/book/the_lux_programming_language/chapter_6.md b/documentation/book/the_lux_programming_language/chapter_6.md
index 97f934251..145aff4a1 100644
--- a/documentation/book/the_lux_programming_language/chapter_6.md
+++ b/documentation/book/the_lux_programming_language/chapter_6.md
@@ -1,4 +1,4 @@
-# Chapter 6: Types in Detail
+# Chapter 6: Types in detail
_Where you will learn the truth behind types._
diff --git a/documentation/book/the_lux_programming_language/chapter_7.md b/documentation/book/the_lux_programming_language/chapter_7.md
index 75ec91400..aed8617b9 100644
--- a/documentation/book/the_lux_programming_language/chapter_7.md
+++ b/documentation/book/the_lux_programming_language/chapter_7.md
@@ -1,4 +1,4 @@
-# Chapter 7: Interfaces and Implementations
+# Chapter 7: Polymorphism a.k.a. interfaces and implementations
_Where types and values collide._
diff --git a/documentation/book/the_lux_programming_language/chapter_8.md b/documentation/book/the_lux_programming_language/chapter_8.md
index fc3e9c4a9..4d54e9eb9 100644
--- a/documentation/book/the_lux_programming_language/chapter_8.md
+++ b/documentation/book/the_lux_programming_language/chapter_8.md
@@ -1,4 +1,4 @@
-# Chapter 8: Functors and Monads
+# Chapter 8: Functors and monads
_Where I will try to explain something really confusing, and you'll pretend you understand to avoid hurting my feelings._
diff --git a/documentation/book/the_lux_programming_language/chapter_9.md b/documentation/book/the_lux_programming_language/chapter_9.md
index ef6803440..acc17e2aa 100644
--- a/documentation/book/the_lux_programming_language/chapter_9.md
+++ b/documentation/book/the_lux_programming_language/chapter_9.md
@@ -1,4 +1,4 @@
-# Chapter 9: Metaprogramming
+# Chapter 9: Meta-programming
_Where we go meta. For real._
diff --git a/documentation/book/the_lux_programming_language/index.md b/documentation/book/the_lux_programming_language/index.md
new file mode 100644
index 000000000..327eab5cc
--- /dev/null
+++ b/documentation/book/the_lux_programming_language/index.md
@@ -0,0 +1,43 @@
+# Table of contents
+
+* [Introduction](introduction.md)
+* [Chapter 1: Getting started](chapter_*md)
+ _Where you will learn how to set up a development environment for Lux._
+* [Chapter 2: The basics](chapter_2.md)
+ _Where you will learn the fundamentals of Lux programming._
+* [Chapter 3: Syntax and data-types](chapter_3.md)
+ _Where you will learn the what Lux code is made of._
+* [Chapter 4: Functions and definitions](chapter_4.md)
+ _Where you will learn how to build your own Lux code._
+* [Chapter 5: Control flow](chapter_5.md)
+ _Where you will learn how to give intelligence to your code._
+* [Chapter 6: Types in detail](chapter_6.md)
+ _Where you will learn the truth behind types._
+* [Chapter 7: Polymorphism a.k.a. interfaces and implementations](chapter_7.md)
+ _Where types and values collide._
+* [Chapter 8: Functors and monads](chapter_8.md)
+ _Where I will try to explain something really confusing, and you'll pretend you understand to avoid hurting my feelings._
+* [Chapter 9: Meta-programming](chapter_9.md)
+ _Where we go meta. For real._
+* [Chapter 10: Code and macros](chapter_10.md)
+ _Where magic turns into science._
+* [Chapter 11: Syntax macros](chapter_1*md)
+ _Where science turns into magic once more._
+* [Chapter 12: I/O](chapter_12.md)
+ _Where you will learn how to interact with the outside world._
+* [Chapter 13: JVM inter-operation](chapter_13.md)
+ _Where you will cross the great divide._
+* [Chapter 14: Concurrency](chapter_14.md)
+ _Where you will harness the power of modern computing._
+* [Chapter 15: Persistent data structures](chapter_15.md)
+ _Where you will learn a new way to organize your data._
+* [Chapter 16: Testing](chapter_16.md)
+ _Where you will learn how to avoid annoying bug reports._
+* [Appendix A: Import syntax](appendix_a.md)
+* [Appendix B: Math](appendix_b.md)
+* [Appendix C: Pattern-matching macros](appendix_c.md)
+* [Appendix D: The art of piping](appendix_d.md)
+* [Appendix E: Lux implementation details](appendix_e.md)
+* [Appendix F: Implicit polymorphism](appendix_f.md)
+* [Appendix G: Regular expressions](appendix_g.md)
+
diff --git a/lux-lua/source/program.lux b/lux-lua/source/program.lux
index 086255f95..0f153241d 100644
--- a/lux-lua/source/program.lux
+++ b/lux-lua/source/program.lux
@@ -92,8 +92,8 @@
(ffi.import: net/sandius/rembulan/Table
["#::."
- (rawget #as get_idx [long] "?" java/lang/Object)
- (rawget #as get_key [java/lang/Object] "?" java/lang/Object)
+ (rawget "as" get_idx [long] "?" java/lang/Object)
+ (rawget "as" get_key [java/lang/Object] "?" java/lang/Object)
(rawlen [] long)])
(ffi.import: net/sandius/rembulan/ByteString
diff --git a/lux-php/source/program.lux b/lux-php/source/program.lux
index d52613527..13664b166 100644
--- a/lux-php/source/program.lux
+++ b/lux-php/source/program.lux
@@ -91,9 +91,9 @@
(ffi.import: php/runtime/Memory
["#::."
- (valueOfIndex #as generic_valueOfIndex [php/runtime/env/TraceInfo php/runtime/Memory] php/runtime/Memory)
- (valueOfIndex #as long_valueOfIndex [php/runtime/env/TraceInfo long] php/runtime/Memory)
- (valueOfIndex #as string_valueOfIndex [php/runtime/env/TraceInfo java/lang/String] php/runtime/Memory)])
+ (valueOfIndex "as" generic_valueOfIndex [php/runtime/env/TraceInfo php/runtime/Memory] php/runtime/Memory)
+ (valueOfIndex "as" long_valueOfIndex [php/runtime/env/TraceInfo long] php/runtime/Memory)
+ (valueOfIndex "as" string_valueOfIndex [php/runtime/env/TraceInfo java/lang/String] php/runtime/Memory)])
(ffi.import: php/runtime/Memory$Type
["#::."
diff --git a/lux-python/source/program.lux b/lux-python/source/program.lux
index 9ee8e6d40..9ddb061e8 100644
--- a/lux-python/source/program.lux
+++ b/lux-python/source/program.lux
@@ -97,7 +97,7 @@
(asString [] java/lang/String)
(__nonzero__ [] boolean)
(__getitem__ [int] "try" org/python/core/PyObject)
- (__getitem__ #as __getitem__dict [org/python/core/PyObject] "try" org/python/core/PyObject)
+ (__getitem__ "as" __getitem__dict [org/python/core/PyObject] "try" org/python/core/PyObject)
(__len__ [] int)])
(import: org/python/core/PyFunction
diff --git a/lux-r/source/program.lux b/lux-r/source/program.lux
index 7d835fdbf..8a5792e17 100644
--- a/lux-r/source/program.lux
+++ b/lux-r/source/program.lux
@@ -125,8 +125,8 @@
(ffi.import: org/renjin/sexp/ListVector
["#::."
- (get #as get_index [int] org/renjin/sexp/SEXP)
- (get #as get_field [java/lang/String] org/renjin/sexp/SEXP)
+ (get "as" get_index [int] org/renjin/sexp/SEXP)
+ (get "as" get_field [java/lang/String] org/renjin/sexp/SEXP)
(length [] int)])
(ffi.import: org/renjin/sexp/PairList)
diff --git a/stdlib/source/documentation/lux/ffi.jvm.lux b/stdlib/source/documentation/lux/ffi.jvm.lux
index c6d2a97ae..029999d03 100644
--- a/stdlib/source/documentation/lux/ffi.jvm.lux
+++ b/stdlib/source/documentation/lux/ffi.jvm.lux
@@ -83,22 +83,22 @@
(documentation: /.class:
"Allows defining JVM classes in Lux code."
- [(class: #final (TestClass A) [Runnable]
+ [(class: "final" (TestClass A) [Runnable]
... Fields
- (#private foo boolean)
- (#private bar A)
- (#private baz java/lang/Object)
+ ("private" foo boolean)
+ ("private" bar A)
+ ("private" baz java/lang/Object)
... Methods
- (#public [] (new [value A]) []
- (exec
- (:= ::foo #1)
- (:= ::bar value)
- (:= ::baz "")
- []))
- (#public (virtual) java/lang/Object
- "")
- (#public "static" (static) java/lang/Object
- "")
+ ("public" [] (new [value A]) []
+ (exec
+ (:= ::foo #1)
+ (:= ::bar value)
+ (:= ::baz "")
+ []))
+ ("public" (virtual) java/lang/Object
+ "")
+ ("public" "static" (static) java/lang/Object
+ "")
(Runnable [] (run) void
[])
)
@@ -115,7 +115,7 @@
(documentation: /.interface:
"Allows defining JVM interfaces."
[(interface: TestInterface
- ([] foo [boolean String] void #throws [Exception]))])
+ ([] foo [boolean String] void "throws" [Exception]))])
(documentation: /.object
"Allows defining anonymous classes."
@@ -194,7 +194,7 @@
["#::."
(new [[byte]])
("static" valueOf [char] java/lang/String)
- ("static" valueOf #as int_valueOf [int] java/lang/String)])
+ ("static" valueOf "as" int_valueOf [int] java/lang/String)])
(import: (java/util/List e)
["#::."
diff --git a/stdlib/source/documentation/lux/ffi.old.lux b/stdlib/source/documentation/lux/ffi.old.lux
index 86e9a23b6..80d981b89 100644
--- a/stdlib/source/documentation/lux/ffi.old.lux
+++ b/stdlib/source/documentation/lux/ffi.old.lux
@@ -50,22 +50,22 @@
(documentation: /.class:
"Allows defining JVM classes in Lux code."
- [(class: #final (TestClass A) [Runnable]
+ [(class: "final" (TestClass A) [Runnable]
... Fields
- (#private foo boolean)
- (#private bar A)
- (#private baz java/lang/Object)
+ ("private" foo boolean)
+ ("private" bar A)
+ ("private" baz java/lang/Object)
... Methods
- (#public [] (new [value A]) []
- (exec
- (:= ::foo #1)
- (:= ::bar value)
- (:= ::baz "")
- []))
- (#public (virtual) java/lang/Object
- "")
- (#public "static" (static) java/lang/Object
- "")
+ ("public" [] (new [value A]) []
+ (exec
+ (:= ::foo #1)
+ (:= ::bar value)
+ (:= ::baz "")
+ []))
+ ("public" (virtual) java/lang/Object
+ "")
+ ("public" "static" (static) java/lang/Object
+ "")
(Runnable [] (run) void
[]))
"The tuple corresponds to parent interfaces."
@@ -80,7 +80,7 @@
(documentation: /.interface:
"Allows defining JVM interfaces."
[(interface: TestInterface
- ([] foo [boolean String] void #throws [Exception]))])
+ ([] foo [boolean String] void "throws" [Exception]))])
(documentation: /.object
"Allows defining anonymous classes."
@@ -158,7 +158,7 @@
["#::."
(new [[byte]])
("static" valueOf [char] java/lang/String)
- ("static" valueOf #as int_valueOf [int] java/lang/String)])
+ ("static" valueOf "as" int_valueOf [int] java/lang/String)])
(import: (java/util/List e)
["#::."
diff --git a/stdlib/source/documentation/lux/ffi.rb.lux b/stdlib/source/documentation/lux/ffi.rb.lux
index a257a7b26..5e6f96164 100644
--- a/stdlib/source/documentation/lux/ffi.rb.lux
+++ b/stdlib/source/documentation/lux/ffi.rb.lux
@@ -17,7 +17,7 @@
(executable? [] Bit)
(size Int)])
- (import: File #as RubyFile
+ (import: File "as" RubyFile
["#::."
("static" SEPARATOR ..String)
("static" open [Path ..String] "io" "try" RubyFile)
diff --git a/stdlib/source/documentation/lux/macro.lux b/stdlib/source/documentation/lux/macro.lux
index f222d778c..a5125ff99 100644
--- a/stdlib/source/documentation/lux/macro.lux
+++ b/stdlib/source/documentation/lux/macro.lux
@@ -57,7 +57,7 @@
(format "Performs a macro-expansion and logs the resulting code."
\n "You can either use the resulting code, or omit them."
\n "By omitting them, this macro produces nothing (just like the lux.comment macro).")
- [(<macro> #omit
+ [(<macro> "omit"
(def: (foo bar baz)
(-> Int Int Int)
(int.+ bar baz)))])]
diff --git a/stdlib/source/library/lux/data/text/encoding/utf8.lux b/stdlib/source/library/lux/data/text/encoding/utf8.lux
index dd0881732..b8c821afd 100644
--- a/stdlib/source/library/lux/data/text/encoding/utf8.lux
+++ b/stdlib/source/library/lux/data/text/encoding/utf8.lux
@@ -24,8 +24,8 @@
... On Node
(ffi.import: Buffer
["#::."
- ("static" from #as from|encoded [ffi.String ffi.String] Buffer)
- ("static" from #as from|decoded [Uint8Array] Buffer)
+ ("static" from "as" from|encoded [ffi.String ffi.String] Buffer)
+ ("static" from "as" from|decoded [Uint8Array] Buffer)
(toString [ffi.String] ffi.String)])
... On the browser
@@ -40,13 +40,13 @@
(decode [Uint8Array] ffi.String)]))
@.ruby
- (as_is (ffi.import: String #as RubyString
+ (as_is (ffi.import: String "as" RubyString
["#::."
(encode [Text] RubyString)
(force_encoding [Text] Text)
(bytes [] Binary)])
- (ffi.import: Array #as RubyArray
+ (ffi.import: Array "as" RubyArray
["#::."
(pack [Text] RubyString)]))
diff --git a/stdlib/source/library/lux/ffi.js.lux b/stdlib/source/library/lux/ffi.js.lux
index 6a130d4a1..466807a53 100644
--- a/stdlib/source/library/lux/ffi.js.lux
+++ b/stdlib/source/library/lux/ffi.js.lux
@@ -105,7 +105,7 @@
(Parser Common_Method)
($_ <>.and
<code>.local_identifier
- (<>.maybe (<>.after (<code>.this! (' #as)) <code>.local_identifier))
+ (<>.maybe (<>.after (<code>.this! (' "as")) <code>.local_identifier))
(<code>.tuple (<>.some ..nullable))
(<>.parses? (<code>.this! (' "io")))
(<>.parses? (<code>.this! (' "try")))
diff --git a/stdlib/source/library/lux/ffi.jvm.lux b/stdlib/source/library/lux/ffi.jvm.lux
index 412f5c0d6..da46af60c 100644
--- a/stdlib/source/library/lux/ffi.jvm.lux
+++ b/stdlib/source/library/lux/ffi.jvm.lux
@@ -537,17 +537,17 @@
(Parser Privacy)
(let [(^open ".") <>.monad]
($_ <>.or
- (<code>.this! (' #public))
- (<code>.this! (' #private))
- (<code>.this! (' #protected))
+ (<code>.this! (' "public"))
+ (<code>.this! (' "private"))
+ (<code>.this! (' "protected"))
(in []))))
(def: inheritance_modifier^
(Parser Inheritance)
(let [(^open ".") <>.monad]
($_ <>.or
- (<code>.this! (' #final))
- (<code>.this! (' #abstract))
+ (<code>.this! (' "final"))
+ (<code>.this! (' "abstract"))
(in []))))
(exception: .public (class_names_cannot_contain_periods {name Text})
@@ -719,14 +719,14 @@
(Parser (List Annotation))
(<| (<>.else (list))
(do <>.monad
- [_ (<code>.this! (' #ann))]
+ [_ (<code>.this! (' "ann"))]
(<code>.tuple (<>.some ..annotation^)))))
(def: (throws_decl^ type_vars)
(-> (List (Type Var)) (Parser (List (Type Class))))
(<| (<>.else (list))
(do <>.monad
- [_ (<code>.this! (' #throws))]
+ [_ (<code>.this! (' "throws"))]
(<code>.tuple (<>.some (..class^ type_vars))))))
(def: (method_decl^ type_vars)
@@ -747,14 +747,14 @@
(def: state_modifier^
(Parser State)
($_ <>.or
- (<code>.this! (' #volatile))
- (<code>.this! (' #final))
+ (<code>.this! (' "volatile"))
+ (<code>.this! (' "final"))
(\ <>.monad in [])))
(def: (field_decl^ type_vars)
(-> (List (Type Var)) (Parser [Member_Declaration FieldDecl]))
(<>.either (<code>.form (do <>.monad
- [_ (<code>.this! (' #const))
+ [_ (<code>.this! (' "const"))
name <code>.local_identifier
anns ..annotations^
type (..type^ type_vars)
@@ -789,7 +789,7 @@
(-> (List (Type Var)) (Parser [Member_Declaration Method_Definition]))
(<code>.form (do <>.monad
[pm privacy_modifier^
- strict_fp? (<>.parses? (<code>.this! (' #strict)))
+ strict_fp? (<>.parses? (<code>.this! (' "strict")))
method_vars (<>.else (list) ..vars^)
.let [total_vars (list\composite class_vars method_vars)]
[_ self_name arguments] (<code>.form ($_ <>.and
@@ -809,8 +809,8 @@
(-> (List (Type Var)) (Parser [Member_Declaration Method_Definition]))
(<code>.form (do <>.monad
[pm privacy_modifier^
- strict_fp? (<>.parses? (<code>.this! (' #strict)))
- final? (<>.parses? (<code>.this! (' #final)))
+ strict_fp? (<>.parses? (<code>.this! (' "strict")))
+ final? (<>.parses? (<code>.this! (' "final")))
method_vars (<>.else (list) ..vars^)
.let [total_vars (list\composite class_vars method_vars)]
[name self_name arguments] (<code>.form ($_ <>.and
@@ -829,7 +829,7 @@
(def: overriden_method_def^
(Parser [Member_Declaration Method_Definition])
(<code>.form (do <>.monad
- [strict_fp? (<>.parses? (<code>.this! (' #strict)))
+ [strict_fp? (<>.parses? (<code>.this! (' "strict")))
owner_class ..declaration^
method_vars (<>.else (list) ..vars^)
.let [total_vars (list\composite (product.right (parser.declaration owner_class))
@@ -851,7 +851,7 @@
(Parser [Member_Declaration Method_Definition])
(<code>.form (do <>.monad
[pm privacy_modifier^
- strict_fp? (<>.parses? (<code>.this! (' #strict)))
+ strict_fp? (<>.parses? (<code>.this! (' "strict")))
_ (<code>.this! (' "static"))
method_vars (<>.else (list) ..vars^)
.let [total_vars method_vars]
@@ -870,7 +870,7 @@
(Parser [Member_Declaration Method_Definition])
(<code>.form (do <>.monad
[pm privacy_modifier^
- _ (<code>.this! (' #abstract))
+ _ (<code>.this! (' "abstract"))
method_vars (<>.else (list) ..vars^)
.let [total_vars method_vars]
[name arguments] (<code>.form (<>.and <code>.local_identifier
@@ -887,7 +887,7 @@
(Parser [Member_Declaration Method_Definition])
(<code>.form (do <>.monad
[pm privacy_modifier^
- _ (<code>.this! (' #native))
+ _ (<code>.this! (' "native"))
method_vars (<>.else (list) ..vars^)
.let [total_vars method_vars]
[name arguments] (<code>.form (<>.and <code>.local_identifier
@@ -914,20 +914,10 @@
(Parser Partial_Call)
(<code>.form (<>.and <code>.identifier (<>.some <code>.any))))
-(def: class_kind^
- (Parser Class_Kind)
- (<>.either (do <>.monad
- [_ (<code>.this! (' #class))]
- (in #Class))
- (do <>.monad
- [_ (<code>.this! (' #interface))]
- (in #Interface))
- ))
-
(def: import_member_alias^
(Parser (Maybe Text))
(<>.maybe (do <>.monad
- [_ (<code>.this! (' #as))]
+ [_ (<code>.this! (' "as"))]
<code>.local_identifier)))
(def: (import_member_args^ type_vars)
diff --git a/stdlib/source/library/lux/ffi.lua.lux b/stdlib/source/library/lux/ffi.lua.lux
index 4d9fcf6a1..b14c2ebe3 100644
--- a/stdlib/source/library/lux/ffi.lua.lux
+++ b/stdlib/source/library/lux/ffi.lua.lux
@@ -100,7 +100,7 @@
(Parser Common_Method)
($_ <>.and
<code>.local_identifier
- (<>.maybe (<>.after (<code>.this! (' #as)) <code>.local_identifier))
+ (<>.maybe (<>.after (<code>.this! (' "as")) <code>.local_identifier))
(<code>.tuple (<>.some ..nilable))
(<>.parses? (<code>.this! (' "io")))
(<>.parses? (<code>.this! (' "try")))
diff --git a/stdlib/source/library/lux/ffi.old.lux b/stdlib/source/library/lux/ffi.old.lux
index a6dd4c4bf..9140ddab8 100644
--- a/stdlib/source/library/lux/ffi.old.lux
+++ b/stdlib/source/library/lux/ffi.old.lux
@@ -530,17 +530,17 @@
(Parser Privacy)
(let [(^open ".") <>.monad]
($_ <>.or
- (<code>.this! (' #public))
- (<code>.this! (' #private))
- (<code>.this! (' #protected))
+ (<code>.this! (' "public"))
+ (<code>.this! (' "private"))
+ (<code>.this! (' "protected"))
(in []))))
(def: inheritance_modifier^
(Parser Inheritance)
(let [(^open ".") <>.monad]
($_ <>.or
- (<code>.this! (' #final))
- (<code>.this! (' #abstract))
+ (<code>.this! (' "final"))
+ (<code>.this! (' "abstract"))
(in []))))
(def: bound_kind^
@@ -656,7 +656,7 @@
(def: annotations^'
(Parser (List Annotation))
(do <>.monad
- [_ (<code>.this! (' #ann))]
+ [_ (<code>.this! (' "ann"))]
(<code>.tuple (<>.some ..annotation^))))
(def: annotations^
@@ -668,7 +668,7 @@
(def: (throws_decl'^ type_vars)
(-> (List Type_Parameter) (Parser (List GenericType)))
(do <>.monad
- [_ (<code>.this! (' #throws))]
+ [_ (<code>.this! (' "throws"))]
(<code>.tuple (<>.some (..generic_type^ type_vars)))))
(def: (throws_decl^ type_vars)
@@ -694,14 +694,14 @@
(def: state_modifier^
(Parser State)
($_ <>.or
- (<code>.this! (' #volatile))
- (<code>.this! (' #final))
+ (<code>.this! (' "volatile"))
+ (<code>.this! (' "final"))
(\ <>.monad in [])))
(def: (field_decl^ type_vars)
(-> (List Type_Parameter) (Parser [Member_Declaration FieldDecl]))
(<>.either (<code>.form (do <>.monad
- [_ (<code>.this! (' #const))
+ [_ (<code>.this! (' "const"))
name <code>.local_identifier
anns ..annotations^
type (..generic_type^ type_vars)
@@ -736,7 +736,7 @@
(-> (List Type_Parameter) (Parser [Member_Declaration Method_Definition]))
(<code>.form (do <>.monad
[pm privacy_modifier^
- strict_fp? (<>.parses? (<code>.this! (' #strict)))
+ strict_fp? (<>.parses? (<code>.this! (' "strict")))
method_vars ..type_params^
.let [total_vars (list\composite class_vars method_vars)]
[_ arg_decls] (<code>.form (<>.and (<code>.this! (' new))
@@ -754,8 +754,8 @@
(-> (List Type_Parameter) (Parser [Member_Declaration Method_Definition]))
(<code>.form (do <>.monad
[pm privacy_modifier^
- strict_fp? (<>.parses? (<code>.this! (' #strict)))
- final? (<>.parses? (<code>.this! (' #final)))
+ strict_fp? (<>.parses? (<code>.this! (' "strict")))
+ final? (<>.parses? (<code>.this! (' "final")))
method_vars ..type_params^
.let [total_vars (list\composite class_vars method_vars)]
[name this_name arg_decls] (<code>.form ($_ <>.and
@@ -777,7 +777,7 @@
(def: overriden_method_def^
(Parser [Member_Declaration Method_Definition])
(<code>.form (do <>.monad
- [strict_fp? (<>.parses? (<code>.this! (' #strict)))
+ [strict_fp? (<>.parses? (<code>.this! (' "strict")))
owner_class ..class_decl^
method_vars ..type_params^
.let [total_vars (list\composite (product.right owner_class) method_vars)]
@@ -801,7 +801,7 @@
(Parser [Member_Declaration Method_Definition])
(<code>.form (do <>.monad
[pm privacy_modifier^
- strict_fp? (<>.parses? (<code>.this! (' #strict)))
+ strict_fp? (<>.parses? (<code>.this! (' "strict")))
_ (<code>.this! (' "static"))
method_vars ..type_params^
.let [total_vars method_vars]
@@ -820,7 +820,7 @@
(Parser [Member_Declaration Method_Definition])
(<code>.form (do <>.monad
[pm privacy_modifier^
- _ (<code>.this! (' #abstract))
+ _ (<code>.this! (' "abstract"))
method_vars ..type_params^
.let [total_vars method_vars]
[name arg_decls] (<code>.form (<>.and <code>.local_identifier
@@ -837,7 +837,7 @@
(Parser [Member_Declaration Method_Definition])
(<code>.form (do <>.monad
[pm privacy_modifier^
- _ (<code>.this! (' #native))
+ _ (<code>.this! (' "native"))
method_vars ..type_params^
.let [total_vars method_vars]
[name arg_decls] (<code>.form (<>.and <code>.local_identifier
@@ -864,20 +864,10 @@
(Parser Partial_Call)
(<code>.form (<>.and <code>.identifier (<>.some <code>.any))))
-(def: class_kind^
- (Parser Class_Kind)
- (<>.either (do <>.monad
- [_ (<code>.this! (' #class))]
- (in #Class))
- (do <>.monad
- [_ (<code>.this! (' #interface))]
- (in #Interface))
- ))
-
(def: import_member_alias^
(Parser (Maybe Text))
(<>.maybe (do <>.monad
- [_ (<code>.this! (' #as))]
+ [_ (<code>.this! (' "as"))]
<code>.local_identifier)))
(def: (import_member_args^ type_vars)
diff --git a/stdlib/source/library/lux/ffi.php.lux b/stdlib/source/library/lux/ffi.php.lux
index 1e7f61563..7320bb059 100644
--- a/stdlib/source/library/lux/ffi.php.lux
+++ b/stdlib/source/library/lux/ffi.php.lux
@@ -60,7 +60,7 @@
(def: alias
(Parser Alias)
- (<>.after (<code>.this! (' #as)) <code>.local_identifier))
+ (<>.after (<code>.this! (' "as")) <code>.local_identifier))
(type: Field
[Bit Text (Maybe Alias) Nullable])
diff --git a/stdlib/source/library/lux/ffi.py.lux b/stdlib/source/library/lux/ffi.py.lux
index b523ce1e4..b49d7ddf4 100644
--- a/stdlib/source/library/lux/ffi.py.lux
+++ b/stdlib/source/library/lux/ffi.py.lux
@@ -101,7 +101,7 @@
(Parser Common_Method)
($_ <>.and
<code>.local_identifier
- (<>.maybe (<>.after (<code>.this! (' #as)) <code>.local_identifier))
+ (<>.maybe (<>.after (<code>.this! (' "as")) <code>.local_identifier))
(<code>.tuple (<>.some ..noneable))
(<>.parses? (<code>.this! (' "io")))
(<>.parses? (<code>.this! (' "try")))
diff --git a/stdlib/source/library/lux/ffi.rb.lux b/stdlib/source/library/lux/ffi.rb.lux
index 62bafd5e5..e9a5869af 100644
--- a/stdlib/source/library/lux/ffi.rb.lux
+++ b/stdlib/source/library/lux/ffi.rb.lux
@@ -62,7 +62,7 @@
(def: alias
(Parser Alias)
- (<>.after (<code>.this! (' #as)) <code>.local_identifier))
+ (<>.after (<code>.this! (' "as")) <code>.local_identifier))
(type: Field
[Bit Text (Maybe Alias) Nilable])
diff --git a/stdlib/source/library/lux/ffi.scm.lux b/stdlib/source/library/lux/ffi.scm.lux
index 58603cef7..fb270b39c 100644
--- a/stdlib/source/library/lux/ffi.scm.lux
+++ b/stdlib/source/library/lux/ffi.scm.lux
@@ -60,7 +60,7 @@
(def: alias
(Parser Alias)
- (<>.after (<code>.this! (' #as)) <code>.local_identifier))
+ (<>.after (<code>.this! (' "as")) <code>.local_identifier))
(type: Field
[Bit Text (Maybe Alias) Nilable])
diff --git a/stdlib/source/library/lux/macro.lux b/stdlib/source/library/lux/macro.lux
index f98f8c452..a5be7a729 100644
--- a/stdlib/source/library/lux/macro.lux
+++ b/stdlib/source/library/lux/macro.lux
@@ -158,7 +158,7 @@
macro_name [module short]]
(case (: (Maybe [Bit Code])
(case tokens
- (^ (list [_ (#.Tag ["" "omit"])]
+ (^ (list [_ (#.Text "omit")]
token))
(#.Some [#1 token])
diff --git a/stdlib/source/library/lux/target/jvm/loader.lux b/stdlib/source/library/lux/target/jvm/loader.lux
index 796e8f0f8..daae8ca9a 100644
--- a/stdlib/source/library/lux/target/jvm/loader.lux
+++ b/stdlib/source/library/lux/target/jvm/loader.lux
@@ -111,7 +111,7 @@
[]
(java/lang/ClassLoader (findClass self {class_name java/lang/String})
(java/lang/Class [? < java/lang/Object])
- #throws [java/lang/ClassNotFoundException]
+ "throws" [java/lang/ClassNotFoundException]
(let [class_name (:as Text class_name)
classes (|> library atom.read! io.run!)]
(case (dictionary.value class_name classes)
diff --git a/stdlib/source/library/lux/world/file.lux b/stdlib/source/library/lux/world/file.lux
index 6e7a2e1ed..c66e0d4f9 100644
--- a/stdlib/source/library/lux/world/file.lux
+++ b/stdlib/source/library/lux/world/file.lux
@@ -657,18 +657,18 @@
)))
@.ruby
- (as_is (ffi.import: Time #as RubyTime
+ (as_is (ffi.import: Time "as" RubyTime
["#::."
("static" at [Frac] RubyTime)
(to_f [] Frac)])
- (ffi.import: Stat #as RubyStat
+ (ffi.import: Stat "as" RubyStat
["#::."
(executable? [] Bit)
(size Int)
(mtime [] RubyTime)])
- (ffi.import: File #as RubyFile
+ (ffi.import: File "as" RubyFile
["#::."
("static" SEPARATOR ffi.String)
("static" open [Path ffi.String] "io" "try" RubyFile)
@@ -683,14 +683,14 @@
(flush [] "io" "try" "?" Any)
(close [] "io" "try" "?" Any)])
- (ffi.import: Dir #as RubyDir
+ (ffi.import: Dir "as" RubyDir
["#::."
("static" open [Path] "io" "try" RubyDir)
(children [] "io" "try" (Array Path))
(close [] "io" "try" "?" Any)])
- (ffi.import: "fileutils" FileUtils #as RubyFileUtils
+ (ffi.import: "fileutils" FileUtils "as" RubyFileUtils
["#::."
("static" move [Path Path] "io" "try" "?" Any)
("static" rmdir [Path] "io" "try" "?" Any)
diff --git a/stdlib/source/library/lux/world/program.lux b/stdlib/source/library/lux/world/program.lux
index 9b0733ec5..1a8304c8a 100644
--- a/stdlib/source/library/lux/world/program.lux
+++ b/stdlib/source/library/lux/world/program.lux
@@ -130,7 +130,7 @@
(import: java/lang/System
["#::."
("static" getenv [] (java/util/Map java/lang/String java/lang/String))
- ("static" getenv #as resolveEnv [java/lang/String] "io" "?" java/lang/String)
+ ("static" getenv "as" resolveEnv [java/lang/String] "io" "?" java/lang/String)
("static" getProperty [java/lang/String] "?" java/lang/String)
("static" exit [int] "io" void)])
@@ -260,20 +260,20 @@
(#try.Failure _)
(in default)))))
- @.ruby (as_is (ffi.import: Env #as RubyEnv
+ @.ruby (as_is (ffi.import: Env "as" RubyEnv
["#::."
("static" keys [] (Array Text))
("static" fetch [Text] "io" "?" Text)])
- (ffi.import: "fileutils" FileUtils #as RubyFileUtils
+ (ffi.import: "fileutils" FileUtils "as" RubyFileUtils
["#::."
("static" pwd Path)])
- (ffi.import: Dir #as RubyDir
+ (ffi.import: Dir "as" RubyDir
["#::."
("static" home Path)])
- (ffi.import: Kernel #as RubyKernel
+ (ffi.import: Kernel "as" RubyKernel
["#::."
("static" exit [Int] "io" Nothing)]))
@@ -282,8 +282,8 @@
... ... https://www.php.net/manual/en/function.exit.php
... (ffi.import: (getcwd [] "io" ffi.String))
... ... https://www.php.net/manual/en/function.getcwd.php
- ... (ffi.import: (getenv #as getenv/1 [ffi.String] "io" ffi.String))
- ... (ffi.import: (getenv #as getenv/0 [] "io" (Array ffi.String)))
+ ... (ffi.import: (getenv "as" getenv/1 [ffi.String] "io" ffi.String))
+ ... (ffi.import: (getenv "as" getenv/0 [] "io" (Array ffi.String)))
... ... https://www.php.net/manual/en/function.getenv.php
... ... https://www.php.net/manual/en/function.array-keys.php
... (ffi.import: (array_keys [(Array ffi.String)] (Array ffi.String)))
@@ -297,8 +297,8 @@
... (ffi.import: (get-environment-variables [] "io" PList))
... (ffi.import: (car [Pair] Text))
... (ffi.import: (cdr [Pair] Text))
- ... (ffi.import: (car #as head [PList] Pair))
- ... (ffi.import: (cdr #as tail [PList] PList)))
+ ... (ffi.import: (car "as" head [PList] Pair))
+ ... (ffi.import: (cdr "as" tail [PList] PList)))
}
(as_is)))
diff --git a/stdlib/source/test/lux/ffi.jvm.lux b/stdlib/source/test/lux/ffi.jvm.lux
index 97ecdb7a4..7557f7f9f 100644
--- a/stdlib/source/test/lux/ffi.jvm.lux
+++ b/stdlib/source/test/lux/ffi.jvm.lux
@@ -231,7 +231,7 @@
(actual0 [] java/lang/Long)])
(/.interface: test/TestInterface1
- ([] actual1 [java/lang/Boolean] java/lang/Long #throws [java/lang/Throwable]))
+ ([] actual1 [java/lang/Boolean] java/lang/Long "throws" [java/lang/Throwable]))
(/.import: test/TestInterface1
["#::."
@@ -280,7 +280,7 @@
(test/TestInterface1
[] (actual1 self {throw? java/lang/Boolean})
java/lang/Long
- #throws [java/lang/Throwable]
+ "throws" [java/lang/Throwable]
(if (:as Bit throw?)
(panic! "YOLO")
(:as java/lang/Long
@@ -340,12 +340,12 @@
example/3!
example/4!))))
-(/.class: #final test/TestClass0 [test/TestInterface0]
+(/.class: "final" test/TestClass0 [test/TestInterface0]
... Fields
- (#private value java/lang/Long)
+ ("private" value java/lang/Long)
... Constructors
- (#public [] (new self {value java/lang/Long}) []
- (:= ::value value))
+ ("public" [] (new self {value java/lang/Long}) []
+ (:= ::value value))
... Methods
(test/TestInterface0 [] (actual0 self) java/lang/Long
::value))
@@ -354,14 +354,14 @@
["#::."
(new [java/lang/Long])])
-(/.class: #final test/TestClass1 [test/TestInterface1]
+(/.class: "final" test/TestClass1 [test/TestInterface1]
... Fields
- (#private value java/lang/Long)
+ ("private" value java/lang/Long)
... Constructors
- (#public [] (new self {value java/lang/Long}) []
- (:= ::value value))
+ ("public" [] (new self {value java/lang/Long}) []
+ (:= ::value value))
... Methods
- (test/TestInterface1 [] (actual1 self {throw? java/lang/Boolean}) java/lang/Long #throws [java/lang/Throwable]
+ (test/TestInterface1 [] (actual1 self {throw? java/lang/Boolean}) java/lang/Long "throws" [java/lang/Throwable]
(if (:as Bit throw?)
(panic! "YOLO")
::value)))
@@ -370,10 +370,10 @@
["#::."
(new [java/lang/Long])])
-(/.class: #final test/TestClass2 [test/TestInterface2]
+(/.class: "final" test/TestClass2 [test/TestInterface2]
... Constructors
- (#public [] (new self) []
- [])
+ ("public" [] (new self) []
+ [])
... Methods
(test/TestInterface2
[a] (actual2 self {input a})
@@ -384,12 +384,12 @@
["#::."
(new [])])
-(/.class: #final (test/TestClass3 a) [(test/TestInterface3 a)]
+(/.class: "final" (test/TestClass3 a) [(test/TestInterface3 a)]
... Fields
- (#private value a)
+ ("private" value a)
... Constructors
- (#public [] (new self {value a}) []
- (:= ::value value))
+ ("public" [] (new self {value a}) []
+ (:= ::value value))
... Methods
((test/TestInterface3 a)
[] (actual3 self)
@@ -400,48 +400,48 @@
["#::."
(new [a])])
-(/.class: #final test/TestClass4 []
+(/.class: "final" test/TestClass4 []
... Constructors
- (#public [] (new self) []
- [])
+ ("public" [] (new self) []
+ [])
... Methods
- (#public (actual4 self {value java/lang/Long}) java/lang/Long
- value))
+ ("public" (actual4 self {value java/lang/Long}) java/lang/Long
+ value))
(/.import: test/TestClass4
["#::."
(new [])
(actual4 [java/lang/Long] java/lang/Long)])
-(/.class: #final test/TestClass5 []
+(/.class: "final" test/TestClass5 []
... Constructors
- (#public [] (new self) []
- [])
+ ("public" [] (new self) []
+ [])
... Methods
- (#public "static" (actual5 {value java/lang/Long})
- java/lang/Long
- value))
+ ("public" "static" (actual5 {value java/lang/Long})
+ java/lang/Long
+ value))
(/.import: test/TestClass5
["#::."
("static" actual5 [java/lang/Long] java/lang/Long)])
-(/.class: #abstract test/TestClass6 []
+(/.class: "abstract" test/TestClass6 []
... Constructors
- (#public [] (new self) []
- [])
+ ("public" [] (new self) []
+ [])
... Methods
- (#public #abstract (actual6 {value java/lang/Long})
- java/lang/Long))
+ ("public" "abstract" (actual6 {value java/lang/Long})
+ java/lang/Long))
(/.import: test/TestClass6
["#::."
(actual6 [java/lang/Long] java/lang/Long)])
-(/.class: #final test/TestClass7 test/TestClass6 []
+(/.class: "final" test/TestClass7 test/TestClass6 []
... Constructors
- (#public [] (new self) []
- [])
+ ("public" [] (new self) []
+ [])
... Methods
(test/TestClass6
[] (actual6 self {input java/lang/Long})
@@ -452,10 +452,10 @@
["#::."
(new [])])
-(/.class: #final test/TestClass8 [test/TestInterface4]
+(/.class: "final" test/TestClass8 [test/TestInterface4]
... Constructors
- (#public [] (new self) []
- [])
+ ("public" [] (new self) []
+ [])
... Methods
(test/TestInterface4
[] (actual4 self {actual_left long} {actual_right long} {_ long})
@@ -468,17 +468,17 @@
["#::."
(new [])])
-(/.class: #final (test/TestClass9 a) []
+(/.class: "final" (test/TestClass9 a) []
... Fields
- (#private value9 a)
+ ("private" value9 a)
... Constructors
- (#public [] (new self {value a}) []
- (:= ::value9 value))
+ ("public" [] (new self {value a}) []
+ (:= ::value9 value))
... Methods
- (#public (set_actual9 self {value a}) void
- (:= ::value9 value))
- (#public (get_actual9 self) a
- ::value9))
+ ("public" (set_actual9 self {value a}) void
+ (:= ::value9 value))
+ ("public" (get_actual9 self) a
+ ::value9))
(/.import: (test/TestClass9 a)
["#::."
diff --git a/stdlib/source/test/lux/ffi.old.lux b/stdlib/source/test/lux/ffi.old.lux
index 22c0a636a..1fcb84652 100644
--- a/stdlib/source/test/lux/ffi.old.lux
+++ b/stdlib/source/test/lux/ffi.old.lux
@@ -33,22 +33,22 @@
["#::."
(getName [] java/lang/String)])
-(/.class: #final (TestClass A) []
+(/.class: "final" (TestClass A) []
... Fields
- (#private increase java/lang/Long)
- (#private counter java/lang/Long)
+ ("private" increase java/lang/Long)
+ ("private" counter java/lang/Long)
... Methods
- (#public [] (new {increase java/lang/Long} {counter java/lang/Long}) []
- (exec
- (:= ::increase increase)
- (:= ::counter counter)
- []))
- (#public (currentC self) java/lang/Long
- ::counter)
- (#public (upC self) void
- (:= ::counter (i.+ ::increase ::counter)))
- (#public (downC self) void
- (:= ::counter (i.- ::increase ::counter))))
+ ("public" [] (new {increase java/lang/Long} {counter java/lang/Long}) []
+ (exec
+ (:= ::increase increase)
+ (:= ::counter counter)
+ []))
+ ("public" (currentC self) java/lang/Long
+ ::counter)
+ ("public" (upC self) void
+ (:= ::counter (i.+ ::increase ::counter)))
+ ("public" (downC self) void
+ (:= ::counter (i.- ::increase ::counter))))
(/.import: (test/lux/ffi/TestClass a)
["#::."
@@ -58,9 +58,9 @@
(downC [] void)])
(/.interface: TestInterface
- ([] current [] java/lang/Long #throws [java/lang/Exception])
- ([] up [] test/lux/ffi/TestInterface #throws [java/lang/Exception])
- ([] down [] test/lux/ffi/TestInterface #throws [java/lang/Exception]))
+ ([] current [] java/lang/Long "throws" [java/lang/Exception])
+ ([] up [] test/lux/ffi/TestInterface "throws" [java/lang/Exception])
+ ([] down [] test/lux/ffi/TestInterface "throws" [java/lang/Exception]))
(/.import: test/lux/ffi/TestInterface
["#::."
diff --git a/stdlib/source/test/lux/macro.lux b/stdlib/source/test/lux/macro.lux
index fa117e96b..ec8b70644 100644
--- a/stdlib/source/test/lux/macro.lux
+++ b/stdlib/source/test/lux/macro.lux
@@ -125,7 +125,7 @@
(try.else false)))
(_.cover [<logger>]
- (and (|> (/.single_expansion (` (<logger> (~' #omit) (..pow/4 (~ pow/1)))))
+ (and (|> (/.single_expansion (` (<logger> "omit" (..pow/4 (~ pow/1)))))
(meta.result lux)
(try\each (\ (list.equivalence code.equivalence) = (list)))
(try.else false))