deskc-hirgen
cargo install deskc-hirgen

deskc-hirgen

The application platform for your cyberpunk desk

by Hihaheho

0.0.0 (see all)License:MIT OR Apache-2.0
cargo install deskc-hirgen
Readme

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

GitHub Stars

25

LAST COMMIT

2mos ago

MAINTAINERS

1

CONTRIBUTORS

2

OPEN ISSUES

9

OPEN PRs

0
VersionTagPublished
0.0.0
2mos ago
No alternatives found
No tutorials found
Add a tutorial