From bf84fa3eb63fad7f2360b863e7f26005ee2d5aa8 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Thu, 22 Aug 2019 22:21:59 -0400 Subject: Parser for JVM types. --- documentation/research/cryptography.md | 1 + documentation/research/machine_learning.md | 1 + stdlib/source/lux/target/jvm/type.lux | 257 ++++++++++++++--------- stdlib/source/lux/target/jvm/type/descriptor.lux | 8 +- stdlib/source/lux/target/jvm/type/lux.lux | 16 +- stdlib/source/lux/target/jvm/type/reflection.lux | 16 +- stdlib/source/lux/target/jvm/type/signature.lux | 31 ++- 7 files changed, 198 insertions(+), 132 deletions(-) diff --git a/documentation/research/cryptography.md b/documentation/research/cryptography.md index bd3ec0d87..2dfe331e4 100644 --- a/documentation/research/cryptography.md +++ b/documentation/research/cryptography.md @@ -1,5 +1,6 @@ # Constant-time programming +1. [Constant-Time WebAssembly](https://github.com/PLSysSec/ct-wasm) 1. [Verifying Constant-Time Implementations](https://michael-emmi.github.io/papers/conf-uss-AlmeidaBBDE16.pdf) 1. https://www.bearssl.org/ctmul.html 1. [FaCT: A Flexible, Constant-Time Programming Language](https://cseweb.ucsd.edu/~dstefan/pubs/cauligi:2017:fact.pdf) diff --git a/documentation/research/machine_learning.md b/documentation/research/machine_learning.md index 8e72ed079..ca4780853 100644 --- a/documentation/research/machine_learning.md +++ b/documentation/research/machine_learning.md @@ -25,6 +25,7 @@ # Deep learning 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 1. https://d2l.ai/ 1. https://hadrienj.github.io/posts/Deep-Learning-Book-Series-Introduction/ diff --git a/stdlib/source/lux/target/jvm/type.lux b/stdlib/source/lux/target/jvm/type.lux index e28e9633a..83a9d017a 100644 --- a/stdlib/source/lux/target/jvm/type.lux +++ b/stdlib/source/lux/target/jvm/type.lux @@ -1,10 +1,11 @@ (.module: [lux (#- Type int char) [abstract - [equivalence (#+ Equivalence)]] + [equivalence (#+ Equivalence)] + [monad (#+ do)]] [control ["." function] - ["<>" parser + ["<>" parser ("#@." monad) ["" text (#+ Parser)]]] [data ["." product] @@ -24,14 +25,14 @@ ["#." descriptor (#+ Descriptor)] ["#." reflection (#+ Reflection)]]) -(abstract: #export (Type brand) +(abstract: #export (Type category) {} - [(Signature Any) (Descriptor Any) (Reflection Any)] + [(Signature category) (Descriptor category) (Reflection category)] (template [