Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/leostera/erlang-gui
An experiment in building high-performance, native graphical user interfaces in Erlang
https://github.com/leostera/erlang-gui
actor-model bindings distributed-systems elixir erlang framework gpu-acceleration gui rust
Last synced: 16 days ago
JSON representation
An experiment in building high-performance, native graphical user interfaces in Erlang
- Host: GitHub
- URL: https://github.com/leostera/erlang-gui
- Owner: leostera
- Created: 2020-02-13T18:50:03.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2021-01-30T01:36:36.000Z (almost 4 years ago)
- Last Synced: 2024-05-02T06:18:26.416Z (7 months ago)
- Topics: actor-model, bindings, distributed-systems, elixir, erlang, framework, gpu-acceleration, gui, rust
- Language: Erlang
- Size: 31.9 MB
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Hello, GUI
The two goals behind the project are:
1. To prove that we can build a high-performance massively parallel graphical
user system
2. To provide a reflective, self-hosted environment in which to build Erlang
systems in the spirit of Smalltalk## Architecture
Currently the main project is split into 2 layers, from the top down:
1. **Chalk**, a high-level graphics pipeline that leverages Erlang's SMP.
2. A set of NIFs and Ports written in Rust to interact with native libraries
that provide hardware accelerated graphics.On top of Chalk, we can build libraries for:
1. Writing any kind of GUI applications
2. Writing games, interactive media, and digital art
On top of which we can build an interactive environment for building Erlang
systems, that runs within Erlang, in Erlang, and allows you to visualize, edit,
and modify the code of the running system as it runs.## Motivation
As part of the StageVM project, Hello GUI aims to explore the required
abstractions to efficiently build and run GUI applications that continue to
enjoy [The Free Lunch](the free lunch is over link).In addition, the process will help evaluate the difficulties in extending an
actor runtime system to access native resources with minimum overhead.