1 unstable release
0.0.0 | Nov 8, 2022 |
---|
#30 in #cyberpunk-desk
12KB
263 lines
Desk
🔮 The application platform for your cyberpunk desk
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
Dependencies
~11–18MB
~303K SLoC