aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--documentation/research/back-end/native.md1
-rw-r--r--documentation/research/database.md1
-rw-r--r--documentation/research/machine_learning.md2
-rw-r--r--documentation/research/math.md2
-rw-r--r--documentation/research/text_editor & ide.md1
-rw-r--r--new-luxc/source/luxc/lang/host/jvm/inst.lux20
-rw-r--r--new-luxc/source/luxc/lang/translation/jvm/case.lux15
-rw-r--r--new-luxc/source/luxc/lang/translation/jvm/function.lux24
-rw-r--r--new-luxc/source/luxc/lang/translation/jvm/procedure/common.lux32
-rw-r--r--new-luxc/source/luxc/lang/translation/jvm/procedure/host.lux38
-rw-r--r--new-luxc/source/luxc/lang/translation/jvm/runtime.lux29
-rw-r--r--new-luxc/source/luxc/lang/translation/jvm/structure.lux3
-rw-r--r--new-luxc/source/program.lux2
13 files changed, 77 insertions, 93 deletions
diff --git a/documentation/research/back-end/native.md b/documentation/research/back-end/native.md
index 53a87edaa..f4491d8c5 100644
--- a/documentation/research/back-end/native.md
+++ b/documentation/research/back-end/native.md
@@ -64,6 +64,7 @@
# Reference
+1. [The Standard C Library](https://www.amazon.com/Standard-C-Library-P-J-Plauger/dp/0131315099)
1. [C Is Not a Low-level Language: Your computer is not a fast PDP-11.](https://queue.acm.org/detail.cfm?id=3212479)
1. http://www.ffconsultancy.com/ocaml/hlvm/
1. https://nullprogram.com/blog/2018/05/27/
diff --git a/documentation/research/database.md b/documentation/research/database.md
index 65f42f3c8..be17fb766 100644
--- a/documentation/research/database.md
+++ b/documentation/research/database.md
@@ -207,6 +207,7 @@
# CQRS | Event-Sourcing
+1. [Introducing Derivative Event Sourcing](https://www.confluent.io/blog/event-sourcing-vs-derivative-event-sourcing-explained)
1. https://blog.wallaroolabs.com/2018/06/implementing-time-windowing-in-an-evented-streaming-system/
1. https://data-artisans.com/blog/a-practical-guide-to-broadcast-state-in-apache-flink
1. https://medium.com/@hugo.oliveira.rocha/what-they-dont-tell-you-about-event-sourcing-6afc23c69e9a
diff --git a/documentation/research/machine_learning.md b/documentation/research/machine_learning.md
index eac777566..1c299032a 100644
--- a/documentation/research/machine_learning.md
+++ b/documentation/research/machine_learning.md
@@ -28,6 +28,7 @@
# Deep learning
+1. [Evolution Strategies](https://lilianweng.github.io/lil-log/2019/09/05/evolution-strategies.html)
1. [Monadic Deep Learning: Performing monadic automatic differentiation in parallel](https://deeplearning.thoughtworks.school/assets/paper.pdf)
1. [Demystifying Differentiable Programming: Shift/Reset the Penultimate Backpropagator](https://arxiv.org/abs/1803.10228)
1. https://github.com/microsoft/tensorwatch
@@ -70,6 +71,7 @@
# Differentiable programming
+1. [Differentiable Programming Mega-Proposal](https://forums.swift.org/t/differentiable-programming-mega-proposal/28547)
1. https://fluxml.ai/2019/02/07/what-is-differentiable-programming.html
1. https://github.com/breandan/kotlingrad
1. https://colinraffel.com/blog/you-don-t-know-jax.html
diff --git a/documentation/research/math.md b/documentation/research/math.md
index d271bb0f6..6f481936c 100644
--- a/documentation/research/math.md
+++ b/documentation/research/math.md
@@ -93,6 +93,8 @@
# Linear Algebra
+1. [Don’t invert that matrix](https://www.johndcook.com/blog/2010/01/19/dont-invert-that-matrix/)
+1. [“Don’t invert that matrix” – why and how](https://civilstat.com/2015/07/dont-invert-that-matrix-why-and-how/)
1. [Thirty-three Miniatures: Mathematical and Algorithmic Applications of Linear Algebra](https://kam.mff.cuni.cz/~matousek/stml-53-matousek-1.pdf)
1. [Covectors are Different than Vectors, Usually](http://infohost.nmt.edu/~parendt/Phys509/notes/2diracnot/node4.html)
1. [Introduction to Applied Linear Algebra: Vectors, Matrices, and Least Squares](https://web.stanford.edu/~boyd/vmls/vmls.pdf)
diff --git a/documentation/research/text_editor & ide.md b/documentation/research/text_editor & ide.md
index 473310b97..af0b30091 100644
--- a/documentation/research/text_editor & ide.md
+++ b/documentation/research/text_editor & ide.md
@@ -24,6 +24,7 @@
# Visual programming
+1. https://github.com/ivanreese/visual-programming-codex
1. [Lambda Days 2018 - Piotr Moczurad - Visual-textual functional programming with Luna](https://www.youtube.com/watch?v=6xUOuzafmO0)
1. https://www.luna-lang.org/
1. https://github.com/hoodiecrow/Tclook
diff --git a/new-luxc/source/luxc/lang/host/jvm/inst.lux b/new-luxc/source/luxc/lang/host/jvm/inst.lux
index 72d7e58ca..4c9346d64 100644
--- a/new-luxc/source/luxc/lang/host/jvm/inst.lux
+++ b/new-luxc/source/luxc/lang/host/jvm/inst.lux
@@ -296,21 +296,21 @@
## else
(undefined)))))))
-(template [<name> <inst>]
- [(def: #export (<name> class method-name [method-signature method-descriptor] interface?)
- (-> (Type Class) Text [(Signature Method) (Descriptor Method)] Bit Inst)
+(template [<name> <inst> <interface?>]
+ [(def: #export (<name> class method-name [method-signature method-descriptor])
+ (-> (Type Class) Text [(Signature Method) (Descriptor Method)] Inst)
(function (_ visitor)
(do-to visitor
(org/objectweb/asm/MethodVisitor::visitMethodInsn (<inst>)
(..class-name class)
method-name
(descriptor.descriptor method-descriptor)
- interface?))))]
+ <interface?>))))]
- [INVOKESTATIC org/objectweb/asm/Opcodes::INVOKESTATIC]
- [INVOKEVIRTUAL org/objectweb/asm/Opcodes::INVOKEVIRTUAL]
- [INVOKESPECIAL org/objectweb/asm/Opcodes::INVOKESPECIAL]
- [INVOKEINTERFACE org/objectweb/asm/Opcodes::INVOKEINTERFACE]
+ [INVOKESTATIC org/objectweb/asm/Opcodes::INVOKESTATIC false]
+ [INVOKEVIRTUAL org/objectweb/asm/Opcodes::INVOKEVIRTUAL false]
+ [INVOKESPECIAL org/objectweb/asm/Opcodes::INVOKESPECIAL false]
+ [INVOKEINTERFACE org/objectweb/asm/Opcodes::INVOKEINTERFACE true]
)
(template [<name>]
@@ -411,13 +411,13 @@
(def: #export (wrap type)
(-> (Type Primitive) Inst)
(let [wrapper (type.class (primitive-wrapper type) (list))]
- (INVOKESTATIC wrapper "valueOf" (type.method [(list type) wrapper (list)]) #0)))
+ (INVOKESTATIC wrapper "valueOf" (type.method [(list type) wrapper (list)]))))
(def: #export (unwrap type)
(-> (Type Primitive) Inst)
(let [wrapper (type.class (primitive-wrapper type) (list))]
(|>> (CHECKCAST wrapper)
- (INVOKEVIRTUAL wrapper (primitive-unwrap type) (type.method [(list) type (list)]) #0))))
+ (INVOKEVIRTUAL wrapper (primitive-unwrap type) (type.method [(list) type (list)])))))
(def: #export (fuse insts)
(-> (List Inst) Inst)
diff --git a/new-luxc/source/luxc/lang/translation/jvm/case.lux b/new-luxc/source/luxc/lang/translation/jvm/case.lux
index d676f2996..c157a5776 100644
--- a/new-luxc/source/luxc/lang/translation/jvm/case.lux
+++ b/new-luxc/source/luxc/lang/translation/jvm/case.lux
@@ -45,7 +45,7 @@
(def: pushI
Inst
- (|>> (_.INVOKESTATIC $Runtime "pm_push" (type.method [(list runtime.$Stack //.$Value) runtime.$Stack (list)]) #0)))
+ (|>> (_.INVOKESTATIC $Runtime "pm_push" (type.method [(list runtime.$Stack //.$Value) runtime.$Stack (list)]))))
(def: (path' phase stack-depth @else @end path)
(-> Phase Nat Label Label Path (Operation Inst))
@@ -82,8 +82,7 @@
(_.string value)
(_.INVOKEVIRTUAL (type.class "java.lang.Object" (list))
"equals"
- (type.method [(list //.$Value) type.boolean (list)])
- #0)
+ (type.method [(list //.$Value) type.boolean (list)]))
(_.IFEQ @else)))
(#synthesis.Then bodyS)
@@ -101,7 +100,7 @@
(_.CHECKCAST //.$Variant)
(_.int (.int (<prepare> idx)))
<flag>
- (_.INVOKESTATIC $Runtime "pm_variant" (type.method [(list //.$Variant runtime.$Tag runtime.$Flag) runtime.$Value (list)]) #0)
+ (_.INVOKESTATIC $Runtime "pm_variant" (type.method [(list //.$Variant runtime.$Tag runtime.$Flag) runtime.$Value (list)]))
_.DUP
(_.IFNULL @fail)
(_.GOTO @success)
@@ -119,7 +118,7 @@
_.AALOAD
lefts
- (_.INVOKESTATIC $Runtime "tuple_left" (type.method [(list //.$Tuple runtime.$Index) //.$Value (list)]) #0))]
+ (_.INVOKESTATIC $Runtime "tuple_left" (type.method [(list //.$Tuple runtime.$Index) //.$Value (list)])))]
(|>> peekI
(_.CHECKCAST //.$Tuple)
(_.int (.int lefts))
@@ -130,7 +129,7 @@
(operation@wrap (|>> peekI
(_.CHECKCAST //.$Tuple)
(_.int (.int lefts))
- (_.INVOKESTATIC $Runtime "tuple_right" (type.method [(list //.$Tuple runtime.$Index) //.$Value (list)]) #0)
+ (_.INVOKESTATIC $Runtime "tuple_right" (type.method [(list //.$Tuple runtime.$Index) //.$Value (list)]))
pushI))
## Extra optimization
@@ -156,7 +155,7 @@
(wrap (|>> peekI
(_.CHECKCAST //.$Tuple)
(_.int (.int lefts))
- (_.INVOKESTATIC $Runtime <getter> (type.method [(list //.$Tuple runtime.$Index) //.$Value (list)]) #0)
+ (_.INVOKESTATIC $Runtime <getter> (type.method [(list //.$Tuple runtime.$Index) //.$Value (list)]))
(_.ASTORE register)
then!))))
([synthesis.member/left "tuple_left"]
@@ -189,7 +188,7 @@
(wrap (|>> pathI
(_.label @else)
_.POP
- (_.INVOKESTATIC $Runtime "pm_fail" (type.method [(list) type.void (list)]) #0)
+ (_.INVOKESTATIC $Runtime "pm_fail" (type.method [(list) type.void (list)]))
_.NULL
(_.GOTO @end)))))
diff --git a/new-luxc/source/luxc/lang/translation/jvm/function.lux b/new-luxc/source/luxc/lang/translation/jvm/function.lux
index 9592510ab..56ef21b46 100644
--- a/new-luxc/source/luxc/lang/translation/jvm/function.lux
+++ b/new-luxc/source/luxc/lang/translation/jvm/function.lux
@@ -86,7 +86,7 @@
function.identity)]
(|>> (_.CHECKCAST //.$Function)
(inputsI start max-args)
- (_.INVOKEVIRTUAL //.$Function runtime.apply-method (runtime.apply-signature max-args) #0)
+ (_.INVOKEVIRTUAL //.$Function runtime.apply-method (runtime.apply-signature max-args))
later-applysI)))
(def: (inc-intI by)
@@ -129,7 +129,7 @@
_.DUP
(_.fuse captureI+)
argsI
- (_.INVOKESPECIAL class "<init>" (init-method env arity) #0)))))
+ (_.INVOKESPECIAL class "<init>" (init-method env arity))))))
(def: (with-reset class arity env)
(-> (Type Class) Arity Environment Def)
@@ -150,7 +150,7 @@
_.DUP
captureI
argsI
- (_.INVOKESPECIAL class "<init>" (init-method env arity) #0)
+ (_.INVOKESPECIAL class "<init>" (init-method env arity))
_.ARETURN))
(|>> (_.ALOAD 0)
_.ARETURN))))
@@ -169,9 +169,9 @@
(-> Arity Nat Inst)
(if (n.= 1 arity)
(|>> (_.int +0)
- (_.INVOKESPECIAL //.$Function "<init>" function-init-method #0))
+ (_.INVOKESPECIAL //.$Function "<init>" function-init-method))
(|>> (_.ILOAD (inc env-size))
- (_.INVOKESPECIAL //.$Function "<init>" function-init-method #0))))
+ (_.INVOKESPECIAL //.$Function "<init>" function-init-method))))
(def: (with-init class env arity)
(-> (Type Class) Environment Arity Def)
@@ -221,10 +221,10 @@
(|>> (_.label @label)
(_.ALOAD 0)
(when> [(new> (n.> 0 stage) [])]
- [(_.INVOKEVIRTUAL class "reset" (reset-method class) #0)])
+ [(_.INVOKEVIRTUAL class "reset" (reset-method class))])
load-partialsI
(inputsI 1 apply-arity)
- (_.INVOKEVIRTUAL class "impl" (implementation-method function-arity) #0)
+ (_.INVOKEVIRTUAL class "impl" (implementation-method function-arity))
_.ARETURN)
(i.> arity-over-extent (.int stage))
@@ -232,10 +232,10 @@
args-left (|> apply-arity (n.- args-to-completion))]
(|>> (_.label @label)
(_.ALOAD 0)
- (_.INVOKEVIRTUAL class "reset" (reset-method class) #0)
+ (_.INVOKEVIRTUAL class "reset" (reset-method class))
load-partialsI
(inputsI 1 args-to-completion)
- (_.INVOKEVIRTUAL class "impl" (implementation-method function-arity) #0)
+ (_.INVOKEVIRTUAL class "impl" (implementation-method function-arity))
(applysI (inc args-to-completion) args-left)
_.ARETURN))
@@ -255,7 +255,7 @@
load-partialsI
(inputsI 1 apply-arity)
(nullsI (|> num-partials (n.- apply-arity) (n.- stage)))
- (_.INVOKESPECIAL class "<init>" (init-method env function-arity) #0)
+ (_.INVOKESPECIAL class "<init>" (init-method env function-arity))
_.ARETURN))
))))
_.fuse)]
@@ -264,7 +264,7 @@
(_.TABLESWITCH +0 (|> num-partials dec .int)
@default @labels)
casesI
- (_.INVOKESTATIC runtime.$Runtime "apply_fail" (type.method [(list) type.void (list)]) #0)
+ (_.INVOKESTATIC runtime.$Runtime "apply_fail" (type.method [(list) type.void (list)]))
_.NULL
_.ARETURN
))))
@@ -323,7 +323,7 @@
(list@map (.function (_ chunkI+)
(|>> (_.CHECKCAST //.$Function)
(_.fuse chunkI+)
- (_.INVOKEVIRTUAL //.$Function runtime.apply-method (runtime.apply-signature (list.size chunkI+)) #0))))
+ (_.INVOKEVIRTUAL //.$Function runtime.apply-method (runtime.apply-signature (list.size chunkI+))))))
_.fuse)]]
(wrap (|>> functionI
applyI))))
diff --git a/new-luxc/source/luxc/lang/translation/jvm/procedure/common.lux b/new-luxc/source/luxc/lang/translation/jvm/procedure/common.lux
index 06ae2ba26..9ed40a99a 100644
--- a/new-luxc/source/luxc/lang/translation/jvm/procedure/common.lux
+++ b/new-luxc/source/luxc/lang/translation/jvm/procedure/common.lux
@@ -128,9 +128,7 @@
(Unary Inst)
(|>> riskyI
(_.CHECKCAST ///.$Function)
- (_.INVOKESTATIC runtime.$Runtime "try"
- (type.method [(list ///.$Function) ///.$Variant (list)])
- #0)))
+ (_.INVOKESTATIC runtime.$Runtime "try" (type.method [(list ///.$Function) ///.$Variant (list)]))))
(template [<name> <op>]
[(def: (<name> [maskI inputI])
@@ -212,20 +210,20 @@
[i64::f64 (_.unwrap type.long) (<| (_.wrap type.double) _.L2D)]
[i64::char (_.unwrap type.long)
- ((|>> _.L2I _.I2C (_.INVOKESTATIC (type.class "java.lang.Character" (list)) "toString" (type.method [(list type.char) $String (list)]) #0)))]
+ ((|>> _.L2I _.I2C (_.INVOKESTATIC (type.class "java.lang.Character" (list)) "toString" (type.method [(list type.char) $String (list)]))))]
[f64::i64 (_.unwrap type.double) (<| (_.wrap type.long) _.D2L)]
[f64::encode (_.unwrap type.double)
- (_.INVOKESTATIC (type.class "java.lang.Double" (list)) "toString" (type.method [(list type.double) $String (list)]) #0)]
+ (_.INVOKESTATIC (type.class "java.lang.Double" (list)) "toString" (type.method [(list type.double) $String (list)]))]
[f64::decode ..check-stringI
- (_.INVOKESTATIC runtime.$Runtime "decode_frac" (type.method [(list $String) ///.$Variant (list)]) #0)]
+ (_.INVOKESTATIC runtime.$Runtime "decode_frac" (type.method [(list $String) ///.$Variant (list)]))]
)
(def: (text::size inputI)
(Unary Inst)
(|>> inputI
..check-stringI
- (_.INVOKEVIRTUAL $String "length" (type.method [(list) type.int (list)]) #0)
+ (_.INVOKEVIRTUAL $String "length" (type.method [(list) type.int (list)]))
lux-intI))
(template [<name> <pre-subject> <pre-param> <op> <post>]
@@ -236,13 +234,13 @@
<op> <post>))]
[text::= (<|) (<|)
- (_.INVOKEVIRTUAL $Object "equals" (type.method [(list $Object) type.boolean (list)]) #0)
+ (_.INVOKEVIRTUAL $Object "equals" (type.method [(list $Object) type.boolean (list)]))
(_.wrap type.boolean)]
[text::< ..check-stringI ..check-stringI
- (_.INVOKEVIRTUAL $String "compareTo" (type.method [(list $String) type.int (list)]) #0)
+ (_.INVOKEVIRTUAL $String "compareTo" (type.method [(list $String) type.int (list)]))
(predicateI _.IFLT)]
[text::char ..check-stringI jvm-intI
- (_.INVOKEVIRTUAL $String "charAt" (type.method [(list type.int) type.char (list)]) #0)
+ (_.INVOKEVIRTUAL $String "charAt" (type.method [(list type.int) type.char (list)]))
lux-intI]
)
@@ -250,14 +248,14 @@
(Binary Inst)
(|>> leftI ..check-stringI
rightI ..check-stringI
- (_.INVOKEVIRTUAL $String "concat" (type.method [(list $String) $String (list)]) #0)))
+ (_.INVOKEVIRTUAL $String "concat" (type.method [(list $String) $String (list)]))))
(def: (text::clip [startI endI subjectI])
(Trinary Inst)
(|>> subjectI ..check-stringI
startI jvm-intI
endI jvm-intI
- (_.INVOKEVIRTUAL $String "substring" (type.method [(list type.int type.int) $String (list)]) #0)))
+ (_.INVOKEVIRTUAL $String "substring" (type.method [(list type.int type.int) $String (list)]))))
(def: index-method (type.method [(list $String type.int) type.int (list)]))
(def: (text::index [startI partI textI])
@@ -267,7 +265,7 @@
(|>> textI ..check-stringI
partI ..check-stringI
startI jvm-intI
- (_.INVOKEVIRTUAL $String "indexOf" index-method #0)
+ (_.INVOKEVIRTUAL $String "indexOf" index-method)
_.DUP
(_.int -1)
(_.IF_ICMPEQ @not-found)
@@ -286,7 +284,7 @@
(|>> (_.GETSTATIC $System "out" $PrintStream)
messageI
..check-stringI
- (_.INVOKEVIRTUAL $PrintStream "println" string-method #0)
+ (_.INVOKEVIRTUAL $PrintStream "println" string-method)
unitI)))
(def: (io::error messageI)
@@ -296,18 +294,18 @@
_.DUP
messageI
..check-stringI
- (_.INVOKESPECIAL $Error "<init>" string-method #0)
+ (_.INVOKESPECIAL $Error "<init>" string-method)
_.ATHROW)))
(def: (io::exit codeI)
(Unary Inst)
(|>> codeI jvm-intI
- (_.INVOKESTATIC $System "exit" (type.method [(list type.int) type.void (list)]) #0)
+ (_.INVOKESTATIC $System "exit" (type.method [(list type.int) type.void (list)]))
_.NULL))
(def: (io::current-time _)
(Nullary Inst)
- (|>> (_.INVOKESTATIC $System "currentTimeMillis" (type.method [(list) type.long (list)]) #0)
+ (|>> (_.INVOKESTATIC $System "currentTimeMillis" (type.method [(list) type.long (list)]))
(_.wrap type.long)))
(def: bundle::lux
diff --git a/new-luxc/source/luxc/lang/translation/jvm/procedure/host.lux b/new-luxc/source/luxc/lang/translation/jvm/procedure/host.lux
index 58643797b..b01056479 100644
--- a/new-luxc/source/luxc/lang/translation/jvm/procedure/host.lux
+++ b/new-luxc/source/luxc/lang/translation/jvm/procedure/host.lux
@@ -534,11 +534,7 @@
(do phase.monad
[]
(wrap (|>> (_.string class)
- (_.INVOKESTATIC $Class "forName"
- (type.method [(list (type.class "java.lang.String" (list)))
- $Class
- (list)])
- false))))
+ (_.INVOKESTATIC $Class "forName" (type.method [(list (type.class "java.lang.String" (list))) $Class (list)])))))
_
(phase.throw extension.invalid-syntax [extension-name %synthesis inputs])))
@@ -736,14 +732,10 @@
(do phase.monad
[inputsTI (monad.map @ (generate-input generate) inputsTS)]
(wrap (|>> (_.fuse (list@map product.right inputsTI))
- (_.INVOKESTATIC class method
- (type.method [(list@map product.left inputsTI)
- outputT
- (list)])
- false)
+ (_.INVOKESTATIC class method (type.method [(list@map product.left inputsTI) outputT (list)]))
(prepare-output outputT)))))]))
-(template [<name> <invoke> <interface?>]
+(template [<name> <invoke>]
[(def: <name>
Handler
(..custom
@@ -758,13 +750,12 @@
(<invoke> class method
(type.method [(list@map product.left inputsTI)
outputT
- (list)])
- <interface?>)
+ (list)]))
(prepare-output outputT)))))]))]
- [invoke::virtual _.INVOKEVIRTUAL false]
- [invoke::special _.INVOKESPECIAL false]
- [invoke::interface _.INVOKEINTERFACE true]
+ [invoke::virtual _.INVOKEVIRTUAL]
+ [invoke::special _.INVOKESPECIAL]
+ [invoke::interface _.INVOKEINTERFACE]
)
(def: invoke::constructor
@@ -777,11 +768,7 @@
(wrap (|>> (_.NEW class)
_.DUP
(_.fuse (list@map product.right inputsTI))
- (_.INVOKESPECIAL class "<init>"
- (type.method [(list@map product.left inputsTI)
- type.void
- (list)])
- false)))))]))
+ (_.INVOKESPECIAL class "<init>" (type.method [(list@map product.left inputsTI) type.void (list)]))))))]))
(def: member
Bundle
@@ -931,12 +918,7 @@
(_def.method #$.Public $.noneM "<init>" (anonymous-init-method env)
(|>> (_.ALOAD 0)
((_.fuse (list@map product.right inputsTI)))
- (_.INVOKESPECIAL super-class
- "<init>"
- (type.method [(list@map product.left inputsTI)
- type.void
- (list)])
- #0)
+ (_.INVOKESPECIAL super-class "<init>" (type.method [(list@map product.left inputsTI) type.void (list)]))
store-capturedI
_.RETURN))))
@@ -947,7 +929,7 @@
(wrap (|>> (_.NEW class)
_.DUP
(_.fuse captureI+)
- (_.INVOKESPECIAL class "<init>" (anonymous-init-method env) #0)))))
+ (_.INVOKESPECIAL class "<init>" (anonymous-init-method env))))))
(def: (returnI returnT)
(-> (Type Return) Inst)
diff --git a/new-luxc/source/luxc/lang/translation/jvm/runtime.lux b/new-luxc/source/luxc/lang/translation/jvm/runtime.lux
index 594964be0..4297090b6 100644
--- a/new-luxc/source/luxc/lang/translation/jvm/runtime.lux
+++ b/new-luxc/source/luxc/lang/translation/jvm/runtime.lux
@@ -46,7 +46,7 @@
(let [PrintStream (type.class "java.io.PrintStream" (list))
outI (_.GETSTATIC (type.class "java.lang.System" (list)) "out" PrintStream)
printI (function (_ method)
- (_.INVOKEVIRTUAL PrintStream method (type.method [(list $Value) type.void (list)]) #0))]
+ (_.INVOKEVIRTUAL PrintStream method (type.method [(list $Value) type.void (list)])))]
(|>> outI (_.string "LOG: ") (printI "print")
outI _.SWAP (printI "println"))))
@@ -55,7 +55,7 @@
(def: #export variantI
Inst
- (_.INVOKESTATIC (type.class //.runtime-class (list)) "variant_make" variant-method #0))
+ (_.INVOKESTATIC (type.class //.runtime-class (list)) "variant_make" variant-method))
(def: #export leftI
Inst
@@ -99,7 +99,7 @@
(def: #export string-concatI
Inst
- (_.INVOKEVIRTUAL $Text "concat" (type.method [(list $Text) $Text (list)]) #0))
+ (_.INVOKEVIRTUAL $Text "concat" (type.method [(list $Text) $Text (list)])))
(def: #export partials-field Text "partials")
(def: #export apply-method Text "apply")
@@ -130,7 +130,7 @@
(|>> ($d.method #$.Public $.staticM "decode_frac" (type.method [(list $Text) //.$Variant (list)])
(try-methodI
(|>> (_.ALOAD 0)
- (_.INVOKESTATIC (type.class "java.lang.Double" (list)) "parseDouble" (type.method [(list $Text) type.double (list)]) #0)
+ (_.INVOKESTATIC (type.class "java.lang.Double" (list)) "parseDouble" (type.method [(list $Text) type.double (list)]))
(_.wrap type.double))))
))
@@ -149,7 +149,7 @@
(|>> (_.NEW IllegalStateException)
_.DUP
(_.string message)
- (_.INVOKESPECIAL IllegalStateException "<init>" (type.method [(list $Text) type.void (list)]) #0))))
+ (_.INVOKESPECIAL IllegalStateException "<init>" (type.method [(list $Text) type.void (list)])))))
(def: pm-methods
Def
@@ -263,8 +263,7 @@
(_.INVOKESTATIC (type.class "java.util.Arrays" (list)) "copyOfRange"
(type.method [(list //.$Tuple $Index $Index)
//.$Tuple
- (list)])
- #0))])
+ (list)])))])
(|>> (_.label @loop)
last-rightI right-indexI
_.DUP2 (_.IF_ICMPNE @not-tail)
@@ -287,14 +286,14 @@
PrintWriter (type.class "java.io.PrintWriter" (list))
string-writerI (|>> (_.NEW StringWriter)
_.DUP
- (_.INVOKESPECIAL StringWriter "<init>" nullary-init-methodT #0))
+ (_.INVOKESPECIAL StringWriter "<init>" nullary-init-methodT))
print-writerI (|>> (_.NEW PrintWriter)
_.SWAP
_.DUP2
_.POP
_.SWAP
(_.boolean true)
- (_.INVOKESPECIAL PrintWriter "<init>" (type.method [(list (type.class "java.io.Writer" (list)) type.boolean) type.void (list)]) #0)
+ (_.INVOKESPECIAL PrintWriter "<init>" (type.method [(list (type.class "java.io.Writer" (list)) type.boolean) type.void (list)]))
)]
(|>> ($d.method #$.Public $.staticM "try" (type.method [(list //.$Function) //.$Variant (list)])
(<| _.with-label (function (_ @from))
@@ -304,7 +303,7 @@
(_.label @from)
(_.ALOAD 0)
_.NULL
- (_.INVOKEVIRTUAL //.$Function apply-method (apply-signature 1) #0)
+ (_.INVOKEVIRTUAL //.$Function apply-method (apply-signature 1))
rightI
_.ARETURN
(_.label @to)
@@ -312,8 +311,8 @@
string-writerI ## TW
_.DUP2 ## TWTW
print-writerI ## TWTP
- (_.INVOKEVIRTUAL $Throwable "printStackTrace" (type.method [(list (type.class "java.io.PrintWriter" (list))) type.void (list)]) #0) ## TW
- (_.INVOKEVIRTUAL StringWriter "toString" (type.method [(list) $Text (list)]) #0) ## TS
+ (_.INVOKEVIRTUAL $Throwable "printStackTrace" (type.method [(list (type.class "java.io.PrintWriter" (list))) type.void (list)])) ## TW
+ (_.INVOKEVIRTUAL StringWriter "toString" (type.method [(list) $Text (list)])) ## TS
_.SWAP _.POP leftI
_.ARETURN)))
)))
@@ -338,10 +337,10 @@
(list@map _.ALOAD)
_.fuse)]
(|>> preI
- (_.INVOKEVIRTUAL //.$Function apply-method (apply-signature (dec arity)) #0)
+ (_.INVOKEVIRTUAL //.$Function apply-method (apply-signature (dec arity)))
(_.CHECKCAST //.$Function)
(_.ALOAD arity)
- (_.INVOKEVIRTUAL //.$Function apply-method (apply-signature 1) #0)
+ (_.INVOKEVIRTUAL //.$Function apply-method (apply-signature 1))
_.ARETURN)))))
(list& ($d.abstract-method #$.Public $.noneM apply-method (apply-signature 1)))
$d.fuse)
@@ -350,7 +349,7 @@
(|>> ($d.field #$.Public $.finalF partials-field type.int)
($d.method #$.Public $.noneM "<init>" (type.method [(list type.int) type.void (list)])
(|>> (_.ALOAD 0)
- (_.INVOKESPECIAL $Object "<init>" nullary-init-methodT #0)
+ (_.INVOKESPECIAL $Object "<init>" nullary-init-methodT)
(_.ALOAD 0)
(_.ILOAD 1)
(_.PUTFIELD //.$Function partials-field type.int)
diff --git a/new-luxc/source/luxc/lang/translation/jvm/structure.lux b/new-luxc/source/luxc/lang/translation/jvm/structure.lux
index 81730e6bf..f7e66a75a 100644
--- a/new-luxc/source/luxc/lang/translation/jvm/structure.lux
+++ b/new-luxc/source/luxc/lang/translation/jvm/structure.lux
@@ -72,5 +72,4 @@
"variant_make"
(type.method [(list //runtime.$Tag //runtime.$Flag //runtime.$Value)
//.$Variant
- (list)])
- #0)))))
+ (list)]))))))
diff --git a/new-luxc/source/program.lux b/new-luxc/source/program.lux
index 8e372f77f..36c6e3209 100644
--- a/new-luxc/source/program.lux
+++ b/new-luxc/source/program.lux
@@ -139,7 +139,7 @@
$Function ($t.class jvm.function-class (list))
run-ioI (|>> ($i.CHECKCAST $Function)
$i.NULL
- ($i.INVOKEVIRTUAL $Function runtime.apply-method (runtime.apply-signature 1) #0))
+ ($i.INVOKEVIRTUAL $Function runtime.apply-method (runtime.apply-signature 1)))
main-type ($t.method [(list ($t.array ($t.class "java.lang.String" (list))))
$t.void
(list)])