aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/target/jvm/type.lux
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/lux/target/jvm/type.lux19
1 files changed, 10 insertions, 9 deletions
diff --git a/stdlib/source/lux/target/jvm/type.lux b/stdlib/source/lux/target/jvm/type.lux
index 83a9d017a..d1af2ec02 100644
--- a/stdlib/source/lux/target/jvm/type.lux
+++ b/stdlib/source/lux/target/jvm/type.lux
@@ -8,8 +8,6 @@
["<>" parser ("#@." monad)
["<t>" text (#+ Parser)]]]
[data
- ["." product]
- ["." maybe ("#@." functor)]
["." text ("#@." equivalence)
["%" format (#+ format)]]
[collection
@@ -166,22 +164,25 @@
(format valid-var-characters/tail //name.internal-separator))
(template [<type> <name> <head> <tail> <adapter>]
- [(def: <name>
+ [(def: #export <name>
(Parser <type>)
(:: <>.functor map <adapter>
(<t>.slice (<t>.and! (<t>.one-of! <head>)
(<t>.some! (<t>.one-of! <tail>))))))]
[External class-name-parser valid-class-characters/head valid-class-characters/tail (|>> //name.internal //name.external)]
- [Text var-name-parser valid-var-characters/head valid-var-characters/tail function.identity]
+ [Text var-name-parser valid-var-characters/head valid-var-characters/tail function.identity]
)
-(def: var-parser
- (Parser (Type Parameter))
+(def: #export var-parser
+ (Parser Text)
(|> ..var-name-parser
(<>.after (<t>.this /signature.var-prefix))
- (<>.before (<t>.this /descriptor.class-suffix))
- (<>@map ..var)))
+ (<>.before (<t>.this /descriptor.class-suffix))))
+
+(def: var-parser'
+ (Parser (Type Parameter))
+ (<>@map ..var ..var-parser))
(template [<name> <prefix> <constructor>]
[(def: <name>
@@ -213,7 +214,7 @@
(function (_ generic-parser)
(let [class-parser (..class-parser generic-parser)]
($_ <>.either
- ..var-parser
+ ..var-parser'
..wildcard-parser
(..lower-parser class-parser)
(..upper-parser class-parser)