1 unstable release

0.0.0 May 10, 2022

#9 in #visual-programming

MIT/Apache

15KB
114 lines

Desk

🔮 The application platform for your cyberpunk desk. 🔮

Demo GitHub Sponsors MIT/Apache 2.0 GitHub Repo stars Discord

Goal and philosophy

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

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

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-addressable by type and UUID
  • Embeddable interpreter
  • 🚧 Compiler for performant binary

🚧 not yet implemented

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

Desk Kernel

Desk kernel (Dkernel) is a platform-agnostic environment for writing and running Desk-lang. Functionalities and UIs of Desk apps are made up by syscall of Dkernel.

Dkernel 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

🚧 not yet implemented

Is it any good?

Yes.

Resources

Join our community

👉 Q&A Have a question?

👉 GitHub Discussions

👉 GitHub Repo stars

👉 Twitter Follow

👉 Discord

Dependencies

~36–49MB
~852K SLoC