1 unstable release

0.0.0 May 3, 2022

#6 in #cyberpunk-desk

MIT/Apache

36KB
828 lines

Desk

GitHub Repo stars GitHub Sponsors MIT/Apache 2.0 Discord

The application platform for your cyberpunk desk.

Why Desk?

Desk apps (applications built on Desk) are inherently:

  • 🎼 Data-oriented
  • 🔒 Statically-typed (data and UI)
  • 🤖 Programmable (extensible by code)
  • 🧲 Interoperable with other Desk apps
  • 📱 Running on everywhere (web, desktop, mobile)

How does it work?

Desk is powered by Desk Programming Language and Desk Kernel.

Desk Programming Language

Desk programming language (Desk-lang) is a programming language which has:

  • Minimalistic syntax and semantics
  • Type system with inference
  • Algebraic effects
  • Content-addressible by type and UUID
  • Embeddable interpreter
  • 🚧 Compiler for performant binary

Any data and programs on Desk apps are finally evaluated as snippets of Desk-lang.

Desk Kernel

Desk kernel is a platform-agnostic environment for writing and running Desk-lang. Functionalities and UIs of Desk apps are built by using syscalls of the kernel. It's using Bevy Engine and egui.

Desk kernel provides these features:

  • 🚧 File system for Desk-lang
  • 🚧 Type-driven UI components
  • 🚧 Incremental computation engine
  • 🚧 Realtime collaboration support
  • 🚧 Package management system
  • 🚧 Version control system
  • 🚧 Permission management system
  • 🚧 3D/2D rendering with meshes

Philosophy

  • 🎮 Intuitive like games
  • 🥼 Pragmatic like professional tools
  • 🗺️️ Versatile like spreadsheet
  • 💗 Accessible to everyone
  • 🛹 Minimalistic design

Goal

We want to make top boards of people's desks into touch panel displays that run Desk.

Is it any good?

Yes.

Join our community

Twitter Follow

Discord

Dependencies

~0.5–1MB
~20K SLoC