Opensource

My opensource projects

Hy-lang projects

Hy is Python with LISP syntax (with some major additions like macroses). It compiles to Python AST, so it is fully compatible with Python ecosystem. I use Hy extensively in my opensource/hobby projects. See my reasoning for using hy in Hy — Why

wy — hy-lang without parenthesis

Project homepage: github.com/rmnavr/wy

Wy is syntax layer for hy, that uses indents for grouping (instead of parenthesis). Wy uses wy2hy transpiler to convert wy-files to hy-files.

With wy2hy this wy code ...

1
2
3
4
5
6
7
defn #^ int
   \fibonacci
    L #^ int n
    if : <= n 1
      \n
       + : fibonacci : - n 1
           fibonacci : - n 2

... will be transpiled to this hy-code:

1
2
3
4
5
6
7
(defn #^ int
    fibonacci
    [#^ int n]
    (if (<= n 1)
        n
        (+ (fibonacci (- n 1))
           (fibonacci (- n 2)))))

fptk — functional programming toolkit for hy-lang

Project homepage: github.com/rmnavr/fptk

fptk consists of:

  1. Imports relevant to functional programming in hy. It brings into main scope many functions from itertools, funcy, lenses and similar libs.
  2. Collection of macroses like p> (pipe of partials), f:: (annotations for callables), etc.

OPRIQ

ORPIQ — keyboard layout for working in hotkey-heavy software

Project homepage: github.com/rmnavr/opriq

OPRIQ (OPtional RIght Qwerty) is keyboard layout with possibility of solo-left-handed-typing of any possible keys combinations (you can even code with just left hand). Solo-left-handed-typing does not prevent two-handed typing in any way.

OPRIQ fully replaced standard keyboard layout for me since 2021.