thiskappaisgrey / Khronos

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Khronos

This project an in-progress attempt at a no_std language that implements Functional Reactive Programming ideas. The goal of this language is to use it to configure my keyboard firmware and my window manager implementation(those are a long ways to go). The language would also be Emacs inspired, but the syntax is subject to change.

The main idea is to allow the user to define events (based on “core” events) like:

define_event("double_click", key => pressed(key).take(2).within(2ms)) ;; defines an event - works for any key. This uses FRP abstractions to define

Then define what happens when those events happen (hooks / behaviors) like:

;; define actions - call backs when an event happens.
on_event(event("double_click", "n"), insert("hello world")) ;; where insert is an action
on_event(event("double_click", "k"), switch_layer("layer 2")) ;; where insert is an action

About


Languages

Language:Rust 100.0%