moniker icon indicating copy to clipboard operation
moniker copied to clipboard

Automagical variable binding library for Rust

Results 10 moniker issues
Sort by recently updated
recently updated
newest added

I think there may be a bug in the handling of nested recursive bindings with embeds... i.e. nested letrecs as in the test I've added here: https://github.com/curvelogic/moniker/commit/39d7c569a614ef9dca0707cc0360e618e6a1fddd (I may be...

This would be useful for languages where the are multiple namespaces. Examples would be Rust, Haskell, or Elm, where values and types can share names, but point to different things....

enhancement

It would be nice to show an example of using Moniker to define Haskell/Idris/Purescript/Agda-style definitions. - https://www.haskell.org/onlinereport/haskell2010/haskellch4.html - https://github.com/sweirich/pi-forall/

We'd like a `Subst` trait, like in Unbound. It might look something like this: ```rust trait Subst { fn subst(&mut self, name: &Name, replacement: &T); fn substs(&mut self, replacements: &[(Name,...

enhancement

Initially we have support for locally nameless variable binding, but perhaps it would be handy to also support others, so users could compare them for performance. The original Unbound implementation...

enhancement
help wanted
performance

[cargo-readme](https://github.com/livioribeiro/cargo-readme) seems like a handy tool! Not sure how best to do this, considering this is a multi-crate repo 🤔

help wanted

Lean (apparently) stores the maximum bound variable to improve the performance of its locally nameless representation. Here is a quote from section 3.3 in [_Elaboration in Dependent Type Theory_](http://arxiv.org/abs/1505.04324) (note...

help wanted
performance

This should make free-variable calculation and substitutions much quicker. This is what [SimpleFP-v2](https://github.com/psygnisfive/SimpleFP-v2) uses [in its ABT](https://github.com/psygnisfive/SimpleFP-v2/blob/ae00ec809caefcd13664395b0ae2fc66145f6a74/src/Utils/ABT.hs#L125-L130).

help wanted
performance

I want to eventually use the modified bidirectional approach used in the paper '[Let Arguments Go First](https://i.cs.hku.hk/%7Ebruno/papers/arguments-esop18.pdf)' in Pikelet (see pikelet-lang/pikelet#76). As a stepping stone, it might help to make...

help wanted