fidgetty
racket-gui-easy
fidgetty | racket-gui-easy | |
---|---|---|
3 | 8 | |
56 | 130 | |
- | - | |
1.7 | 7.8 | |
about 1 year ago | 3 months ago | |
Nim | Racket | |
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
fidgetty
- Ask HN: What's the best “higher level Rust” these days?
-
Show HN: Nimwave – build TUIs for the terminal, web, and desktop
https://github.com/elcritch/cdecl/blob/ee3b06f52e666b2a854eb...
I also found that `useState` pattern from React with the variant library a handy pattern: https://github.com/yglukhov/variant and it’s pretty simple to do if you already have a context object: https://github.com/elcritch/fidgetty/blob/f65876af34797f308b...
Sorry for the link spamming, I just find the overlap of UI state management without OO interesting!
-
7GUIs
Excellent list of UI challenges. I’ve been working through a similar list of my own to see if I can make a widget library I’m building in Nim do this [1]. Building on an event-driven immediate mode GUI has been fun.
Now I’m totally going to run off this list. I've only got circles and cells left before I can do all of these challenges.
1: https://github.com/elcritch/fidgets
racket-gui-easy
- Racket Language
-
Racket: The Lisp for the Modern Day
Looks like you're already in Emacs. I strongly recommend racket-mode as mentioned in another thread.
With regard to prototyping GUI's I'd suggest taking a look at https://github.com/mfelleisen/7GUI. https://github.com/Bogdanp/racket-gui-easy could also be a good place to start.
With regard to Racket more generally, I'm probably not the best person to ask since I had a very high friction start where I just banged my head against the wall until things made sense.
-
Humble Chronicles: Managing State with Signals
I took a similar approach in my Racket library, gui-easy[1,2]. Though I opted to not defer any computations, any observable (similar to a signal from the post) update propagates to observers immediately, and there's no incrementality -- observables are just boxes whose changes you can subscribe to. Regarding the disposal problem, I used weak references and regarding the where to take observables and where to take concrete values as input question, I decided that any place an observable can go in, a concrete value can as well and it's been a convenient choice so far. For fun, here's an example[3] that builds the todo UI from the post.
[1]: https://docs.racket-lang.org/gui-easy/index.html
-
If you were hired to create a new distribution of Lisp, what would you include?
For native apps, I would devote coding resources to the Guile-GI project which generates Guile bindings to the cross-platform Gtk C library by way of the Gnome Object Introspection and Reflection library. I would also port the Racket gui-easy library over to Guile-GI so declarative GUIs could be written.
-
What programming language is good to make GUI's
There is also gui-easy a declarative gui framework: https://docs.racket-lang.org/gui-easy/index.html
-
7GUIs
It’s not the only version either
See https://github.com/Bogdanp/racket-gui-easy/tree/master/examp...
},
What are some alternatives?
nimwave - TUIs for the terminal, desktop, and web
bang.html - 💎 Good.HTML. A nice framework without the bad stuff. Lots of custom elements, and nice templates. Good. HTML [Moved to: https://github.com/crisdosyago/good.html]
variant - Variant type and type matching for Nim
7guis - 7GUIs is a GUI programming usability benchmark.
7GUI - the 7 gui project
bgjs
CIEL - CIEL Is an Extended Lisp. Scripting with batteries included.
slint - Slint is a declarative GUI toolkit to build native user interfaces for Rust, C++, or JavaScript apps.
biwascheme - Scheme interpreter written in JavaScript