iced-counter2
Nu
Our great sponsors
iced-counter2 | Nu | |
---|---|---|
1 | 4 | |
0 | 1,024 | |
- | - | |
0.0 | 10.0 | |
over 2 years ago | 6 days ago | |
Rust | F# | |
- | 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.
iced-counter2
-
Iced: A cross-platform GUI library for Rust, inspired by Elm
The iced package requires the messages to implement the Debug, Clone, and Send traits, none of which are available for closures. I was able to implement something similar to your example[0] but it only supports plain function pointers for the callbacks. The compiler wasn't able to derive a sufficiently general Debug trait for the function pointer due to an issue with the lifetime of the argument, so I had to implement that myself as well.
Incidentally, as long as there are situations where only function pointers can be used and not closures it would be really nice to have some support for anonymous function pointers in Rust (with the fn type and not just the Fn trait) so that one could write e.g. "Message(fn |c| c.value += 1)" instead of "Message({ fn f(c: &mut Counter) { c.value += 1 } f })". Or just infer the fn type for "closures" which don't actually close over any variables without the need for an extra keyword.
[0] https://github.com/nybble41/iced-counter2/blob/master/src/ma...
Nu
- Nu Game Engine written in F#
- Iced: A cross-platform GUI library for Rust, inspired by Elm
-
How is the state of F# with Unity?
Not Unity, but Nu is an F#-first game engine you might look into.
-
Suggestions for a functional language for videogames
Take a look at Nu. I haven't used it, but it seemed pretty heavily inspired by Elm when I was reading about it.
What are some alternatives?
wry - Cross-platform WebView library in Rust for Tauri.
num-bigint - Big integer types for Rust
tauri - Build smaller, faster, and more secure desktop applications with a web frontend.
accesskit - UI accessibility infrastructure across platforms and programming languages
iced - Blazing fast and correct x86/x64 disassembler, assembler, decoder, encoder for Rust, .NET, Java, Python, Lua
lobster - The Lobster Programming Language
Druid - Apache Druid: a high performance real-time analytics database.
iced - A cross-platform GUI library for Rust, inspired by Elm
Xelmish - XNA + Elmish - 2D game development framework with F#
webrender - A GPU-based renderer for the web
druid - A data-first Rust-native UI design toolkit.