Archived
1
0
Fork
You've already forked algograph
0
Archived. You will see this as part of the flowerbed project.
This repository has been archived on 2025年07月31日. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
  • Go 27.1%
  • Rust 26.4%
  • Zig 24.7%
  • Lua 12%
  • Lean 7.8%
  • Other 2%
2025年07月17日 18:01:15 +00:00
graph ++ 2025年07月12日 12:59:27 +00:00
lean ++ 2025年07月12日 12:59:27 +00:00
petaled ++ 2025年06月07日 12:44:36 +00:00
prototype ++ 2025年07月17日 18:01:15 +00:00
src ++ 2025年07月12日 12:59:27 +00:00
.gitignore ++ 2025年07月12日 12:59:27 +00:00
algograph ++ 2025年07月12日 12:59:27 +00:00
algograph.nimble ++ 2025年07月12日 12:59:27 +00:00
boilerplate.go ++ 2025年06月07日 12:44:36 +00:00
build.zig ++ 2025年07月12日 12:59:27 +00:00
build.zig.zon ++ 2025年07月12日 12:59:27 +00:00
go.mod ++ 2025年07月12日 12:59:27 +00:00
go.sum ++ 2025年07月12日 12:59:27 +00:00
main.go ++ 2025年06月07日 12:44:36 +00:00
README.md ++ 2025年07月12日 12:59:27 +00:00

Locria's Graphical Algorithmic Notation -- Digital EditionTM

algograph is not a stack-based concatenative language.

I should have written this a long while ago. Who knew the interpreter is so easy?

Thanks Graphomata for inspiring the UI. It makes programming really fast.

Only after I started making the editor did I found out that the graph is very similar to a concatenative programming language, except it is way easier to refactor a graph than Factor. When explicit effects, the compiler is free to reorder computation.

Funny thing about optimization: if the language user can freely refactor code, and that the language itself is already in SSA form, a lot of steps inside a C compiler can be skipped.

included components

  • an algograph & music editor: petaled
  • an algograph & music reference compiler

ideas

dynamic type setting

insert key: to left/right

camera be like , the cursor is always at 3/2 (to left or right), not the center.
tip on first use: found this confusing? disable this in the setting.

thoughts

HTML Canvas API is really good. measureText(text)