three-layer
reanimate
three-layer | reanimate | |
---|---|---|
4 | 14 | |
301 | 1,104 | |
0.0% | 0.4% | |
0.0 | 0.0 | |
about 3 years ago | 4 months ago | |
Haskell | Haskell | |
BSD 3-clause "New" or "Revised" License | LicenseRef-PublicDomain |
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.
three-layer
-
My Module Structure Does Not Feel Haskell-like
I’m working on this pet project for a time now. Initially based on the three-layer repository, it’s now modelled after the Clean Architecture. In my understanding, it’s an OOP variation of the functional “Functional Core, Imperative Shell” approach. As most examples for Clean Architecture are written in C#, my module structure also looks more like a typical C# than Haskell one to me.
-
Advanced programming exercises/apps recommendations to code
I personally use servant whenever i need networking. Altough scotty is easier/simpler, I would start with scotty. Aeson for JSON encoding/decoding. Actually! As i am writing this I would recommend a book (no its not a dry boring book, more of a tutorial) that implements a CI server from scratch. It’s vety descriptive and will show you the haskell ecosystem quite clearly: https://marcosampellegrini.com/simple-haskell-book. Seriously, it’s a damn good book and that’s how i learned haskell! Back to the libraries/ecosystem, if you want to learn how to use an app monad and mtl, these who come to mind: https://github.com/Holmusk/three-layer and https://www.parsonsmatt.org/2018/03/22/three_layer_haskell_cake.html. Under the github repo, check out the App folder to get a notion of how an app monad can be used. Personally I like mtl over monad transformers such as readerT. Best of luck!
-
Looking for opinionated webapp stack
I usually make web apps in haskell + react, when i started out learning haskell I found it invaluable to find a opinionated stack to learn about the ecosystem and to see "how to get things done". When i was learning haskell I really appreciated an example like: https://github.com/Holmusk/three-layer, essentially a "best practice" web app. Anyone in the clojure(script) community that can recommend some templates/examples to get to know the ecosystem? Since im comfortable with react im assuming clojurescript with re-frame/reagent makes sense for the frontend? So far i've only seen ring/jetty for the backend. To be clear, im not necessarily looking for the "simplest" frameworks but rather something that is highly reliable in production. The backend will expose simple JSON crud with some endpoints being quite computationally heavy (concurrency will be important).
-
Baking metaphors in the imperative/declarative programming debate
In Haskell, Matt Parsons popularised the Three Layer Haskell Cake (2018). Holmusk (well, Kowainik) made this picture to go along:
reanimate
- Old blog of Matt Henderson, beautiful math animations
-
Interactive animations
Reanimate sounds almost ideal, with its support for LaTeX. But unfortunately, it is all rendered in batch, not providing for any interactivity.
- Reanimate: Build declarative animations with SVG and Haskell
-
Reanimate: Haskell library for building declarative animations from SVG graphics
Is this the discussion you're referring to? https://github.com/reanimate/reanimate/discussions/210
It's actually pretty interesting to read. The author makes a not totally unreasonable argument as for why it uses unsafePerformIO.
Now what I'm really curious about is why the very first example on the site I clicked into the source code for, a simple 59-line example, is using unsafePerformIO. That actually worries me more because it suggests that as a user I might have to use unsafePerformIO. https://github.com/reanimate/reanimate/blob/d4d3898831edb4aa...
-
Suggestions for "dashboard" graphics libraries?
Not really dashboard library, but reanimate is a good library for this kind of stuff.
-
How was your study routine to become good at haskell?
Some other "applications" (if you're not interested in compilers) might be writing shell scripts: https://hackage.haskell.org/package/turtle Or animating stuff: https://github.com/reanimate/reanimate and https://hackage.haskell.org/package/gloss
-
Looking for SVG library recommendations
That aside, it seems that svg-tree doesn’t support filter elements, so I recommend reanimate-svg. You can join the Discord server for Reanimate and ask for help. Good luck.
-
Manim – Python library for creating mathematical animations
See also reanimate, a very similar Haskell library: https://reanimate.github.io/
-
Advanced programming exercises/apps recommendations to code
This is very niche, but something I've wanted to do for a while is to generate some cool physics example on the surface of a sphere with https://hackage.haskell.org/package/hamilton, and display it with https://reanimate.github.io/ (using https://hackage.haskell.org/package/linear for the projection)
-
[Newcomer] Status of AI, graphics programming and performance in Haskell?
Hi u/Target_Organic, I wich you a warm welcome! Haskell is often very satisfying to work with, it has a sense of beauty in it. Regarding your questions: 1. I never had big problems about performance. However, I personally place more emphasis about correctness, simplicity and readability of my programs. Performance tuning comes after. 2. For graphic libraries, I know diagrams, Reanimate and Haskell-chart. Since you seems interested by mathematical approach to graphics, I think you will find happiness there. 3. I'm not sure about the AI field. Other, more practical languages such as Python seems to have taken the lead. What is sure for me, that Machine Learning/NN would be nicely describe in Haskell with solid foundations.
What are some alternatives?
cake-slayer - 🍰🔪 Architecture of Haskell backend applications
manim - Animation engine for explanatory math videos
servant-py - Servant client generators for the Python language
brick - A declarative Unix terminal UI library written in Haskell
chip8-book - An introduction to Chip-8 emulation using Rust
plot-light - A lightweight plotting library, exporting to SVG
urbit-api - talk to your urbit from haskell
OpenGL - Haskell bindings to OpenGL
servant-swagger-tags - Swagger Tags for Servant
Vulkan - Haskell bindings to Vulkan (see https://www.khronos.org/vulkan)
servant-benchmark - Generate benchmark files from Servant APIs
manim - A community-maintained Python framework for creating mathematical animations.