hint
reflex
hint | reflex | |
---|---|---|
10 | 17 | |
257 | 1,057 | |
0.4% | 0.3% | |
6.8 | 4.4 | |
4 months ago | 24 days ago | |
Haskell | Haskell | |
BSD 3-clause "New" or "Revised" License | BSD 3-clause "New" or "Revised" 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.
hint
-
I am looking for a new maintainer for Mueval
Mueval is based on hint, which is in turn based on the ghc library.
-
Interactive animations
Yeah, that project is pretty much at the bottom of my list, unfortunately. My top projects these days are mgmt, klister, recursion-schemes, and hint... And that's already too much!
-
Can GHCi be run like PDB?
You can try using hint (instead of ghci) though I'm not sure it has the breakpoint functionality.
-
Dynamic loading of modules
Have you tried hint?
-
hint: Runtime Haskell interpreter
with haskell.nix, well, you've found the github issue, you need to put the apecs package in the right nix incantation.
-
How to catch "Variable not in scope" error
But the use case for that is for using a Haskell program A to catch errors in that same Haskell program A. For your use case, using a Haskell program A to automatically grade a Haskell program B, I recommend using the hint library instead, as it allows you to load code from external source files, run tests on them, and manipulate the error messages produced by ghc. (full disclosure: I am the maintainer of that library)
-
Does a function that takes as input a function and return its porgram text exist?
I am thinking of giving hint the ability to evaluate TemplateHaskell expressions. It would indeed be quite difficult to write an interpreter for all of Haskell, so my plan is to use the Exp's Show instance to produce a program which constructs and then splices that Exp, e.g. $(pure (InfixE (Just (LitE (IntegerL 1))) (VarE GHC.Num.+) (Just (LitE (IntegerL 1))))) is a Haskell expression which is equivalent to 1 + 1, so I should be able to ask hint to evaluate that to get 2 without having to write my own Haskell interpreter.
-
Seeking a Project Lead for Matchmaker - Haskell Foundation
Yes please! Right now all of my open-source projects (most notably hint and recursion-schemes) are about to drop into barely-updated mode, and while I knew this would happen and have been working towards finding co-maintainers, I am now realizing that it wasn't enough. I think such a website would definitely have helped, and I am hoping that once it launches, I'll be able to use it to find some co-maintainers to tide over my projects until I become available again.
-
Deep embedding of Haskell in Haskell
hint's API takes a string, not an AST (I plan to fix this). Internally, hint delegates to the ghc library, which does expose a parser which you can use if you want. hint exists to provide a friendlier API than the ghc library for interpreting Haskell code, but it does not expose a friendlier API for parsing Haskell code.
reflex
-
On inheritance and why it's good Rust doesn't have it
There's other people around here who would like to know your opinion about these GUI frameworks! I haven't written a GUI in Rust personally, but my favorite GUI framework is not at all OOP: https://reflex-frp.org/
-
Reflex – Web apps in pure Python
Not to be confused with Reflex, allowing web apps in pure Haskell: https://reflex-frp.org/
-
Interactive animations
FRP solutions sound very attractive. But reflex seems to be stuck on the outdated GHCJS, and I haven't been able to get it to build. The newer JS output in GHC doesn't yet have DOM support. And even if I used one of those, figuring out how to interact with a LaTeX renderer might be tricky.
-
The Quest for the Ultimate GUI Framework
I only have experience using Reflex, which I regard as the main contender for FRP UI libraries in the Haskell sphere. It's got a flashy website, but I think the documentation is a bit disorganized -- it took a long time for me to figure out how to get going with the library (you find some pieces of knowledge scattered here and there, if you look hard enough). My plan was to learn it well enough to onboard other people, but I don't think I could convince anyone who hasn't already decided that they're gonna make UIs in Haskell no matter the required effort.
- Reflex FRP
-
Simple GHC stack for a novice
Once someone has spent a bunch of time with Haskell and sees the value, they will find Nix if it makes sense. Maybe they'll want to play with https://reflex-frp.org, or they'll discover they want a better way to package 3rd-party dependencies, or they start using NixOS and want to nix all the things, etc. etc. Or, maybe they'll never find a use for it, and that's okay.
-
Building on iPad
Reflex natively supports iOS, along with Android, desktop and web. I would recommend it for functional reactive programming in Haskell: https://reflex-frp.org
- Functional Reactive Programming
-
HTML5 Ubuntu App with native component?
It's been awhile since I've tried to get into Ubuntu Touch/Linux mobile development in earnest. I'm currently working on an app using the reflex framework that I hope to eventually target Android, iOS, Desktop, and Linux Mobile.
-
Event driven programming in haskell
If you're talking about the current Elm approach, I'm not sure. Otherwise, the paper I linked to notes some of the FRP libraries that existed at the time, some of which are still supported today (like reactive-banana), and otherwise I'd suggest looking at reflex, mentioned in the first post in this thread. I don't think it existed at the time the Elm paper came out.
What are some alternatives?
ghci-pretty - tiny hack for colored pretty-printing within ghci
sodium - Sodium - Functional Reactive Programming (FRP) Library for multiple languages
Tidal - Pattern language
Elm - Compiler for Elm, a functional language for reliable webapps.
ghc-dump - A GHC plugin and library for analysing GHC Core
dunai - Classic FRP, Arrowized FRP, Reactive Programming, and Stream Programming, all via Monadic Stream Functions
reflex-ghci - Run GHCi from within a Reflex FRP application and interact with it using a functional reactive interface.
reflex-dom - Web applications without callbacks or side-effects. Reflex-DOM brings the power of functional reactive programming (FRP) to the web. Build HTML and other Document Object Model (DOM) data with a pure functional interface.
recursion-schemes - Generalized bananas, lenses and barbed wire
purescript - A strongly-typed language that compiles to JavaScript
binaryen - DEPRECATED in favor of ghc wasm backend, see https://www.tweag.io/blog/2022-11-22-wasm-backend-merged-in-ghc
rhine - Haskell Functional Reactive Programming framework with type-level clocks