1 unstable release

0.0.0 Nov 8, 2022

#30 in #cyberpunk-desk

MIT/Apache

12KB
263 lines

Desk

🔮 The application platform for your cyberpunk desk

Demo MIT/Apache 2.0 GitHub Sponsors GitHub Repo stars

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 several systems:

  • Desk Programming Language (Desk-lang)
  • Desk-workspace (dworkspace)
  • Desk-plugins (dplugins)

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
  • Incremental compilation

Most of data and programs on Desk apps are finally evaluated as a snippet of Desk-lang.

Desk-workspace (dworkspace)

Desk-workspace is a platform-agnostic environment for editing Desk-lang.

Desk-workspace provides these features:

  • File system for Desk-lang
  • Permission management system
  • Realtime collaboration support
  • 🚧 Package management system
  • 🚧 Version control system

🚧 not yet implemented

Desk-plugins (dplugins)

There are many Desk-plugins. Each Desk-plugin implements a single feature for the Desk Environment.

  • Desk Editor is an default editor for Desk-lang
  • Desk Runtime is an default runtime for Desk-lang
  • Desk Guide provides 🚧 interactive tutorials of Desk
  • Desk Craft provides 🚧 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

~11–18MB
~303K SLoC