obelisk
reflex-platform
Our great sponsors
obelisk | reflex-platform | |
---|---|---|
26 | 10 | |
924 | 713 | |
1.6% | 0.8% | |
7.4 | 8.3 | |
9 days ago | 3 months ago | |
Haskell | Nix | |
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.
obelisk
-
Help initializing obelisk project
Hello I remember successfully setting up obelisk a while ago and have gone through the instructions https://github.com/obsidiansystems/obelisk and ensured that everything is installed correctly, when I run the install command fro obelisk it says that it's installed but when I run ob init I get an error of command not found, this is an arch machine not nixOS. Any help would me much appreciated.
-
Web ui framework
If you want to use reflex, the obelisk framework is pretty user friendly. You do have to install nix on your machine, but the ob command handles all the nix interactions for you so you /hopefully/ don't need to know much.
- obelisk/README.md at master · obsidiansystems/obelisk · GitHub
-
Why are haskell applications so obscure?
You can make all those things in haskell, and I do professionally. Frontends (entirely in haskell), native IOS and Android applications, Servers, and Games. In fact the framework Obelisk does most of these all out of the box.
- Any advice on making a mobile app using Haskell?
-
Building a Haskell CRUD stack with Obelisk for PowerZonePack
Thanks for the comment! We can honestly say that Obelisk is far from perfect, but we're continuously improving the project in our daily basics. And that's why we encourage you to start your adventure with the lib anew. If you still miss a guide to routing with Obelisk, please read this doc. Our team would be happy to answer your further question regarding Obelisk; feel free to email us anytime!
-
GitHub - NorfairKing/haskell-dependency-graph-nix
I also had a use case where I needed to extract the nix derivation dependencies of haskell packages: https://github.com/obsidiansystems/obelisk/pull/933
-
Web development in Haskell
There's also GHCJS, with https://github.com/obsidiansystems/obelisk being (probably) the best choice, but personally I found it extremely tedious to set up a dev environment (not a nix guy) and there's also the learning curve of FRP.
-
The Big List of Haskell GUI Libraries
https://github.com/obsidiansystems/obelisk, https://shpadoinkle.org/
-
Monthly Hask Anything (July 2022)
I can't speak to the nicest way, as I haven't actually developed any Android apps with Haskell, but I've been meaning to give Obelisk a try.
reflex-platform
-
The Haskell job market has been growing steaily since 2008
We used reflex-frp, so our app was a webview that worked on localhost and Android. The docs say it also works on iOS but we don't have an iPhone.
The process was learning Functional Reactive Programming, then learning reflex-frp, then getting a contract with obsidian (creators of reflex) for one hour a week where we could ask questions.
( https://github.com/reflex-frp/reflex-platform )
We had a grant requirement to create a phone client for Tahoe-LAFS, a Python application with a bunch of dependencies, including ZFEC, a forward error correction library.
( https://tahoe-lafs.readthedocs.io/ )
( https://github.com/tahoe-lafs/zfec/ )
We needed bug for bug compatibility with the Python codebase, so I ran Tahoe on localhost and tested the Haskell client against the Python server. We used servant to build the API, since it builds both client and server side from the same description.
( https://hackage.haskell.org/package/servant )
- Resurrection/modernization of an old Haskell+Haste project (boardgame Yinsh)
- reflex-platform and ghc version
-
Exploring ideas in Haskell
The type classes do take a toll on performance, but in reflex-platform we change GHC's default flags to make the situation a lot better. It's still not ideal, but our performance winds up being OK for real applications. The most important part is that the performance scales reasonably well as the application grows. It might probably be good at some point to use backpack instead of a typeclass so that specialization can be enforced - though I'd prefer if GHC gave a way to just force specialization more effectively.
-
Any News On Haskell For Android ?
Obelisk / reflex-platform contain nix-based solutions to building Haskell code for mobile, so you might be interested in checking out how they do it (or just using them).
-
Creating a Haskell Application Using Reflex. Part 1
In this series of posts, we will describe how a Haskell web application can be developed using reflex-platform. reflex-platform offers reflex and reflex-dom packages. reflex package is the Haskell implementation of Functional reactive programming (FRP). reflex-dom library contains a large number of functions, classes, and types used when dealing with DOM. The packages are separated as it is possible to use the FRP approach not only for web-development. We will develop theTodo List application that allows carrying out various manipulations on the task list.
-
[JOBS] Obsidian Systems is Hiring
reflex-platform
-
Setting up Reflex with VS Code in WSL
To clarify the situation, the canonical way to develop reflex-dom projects is to start from the reflex-platform. See here: https://github.com/reflex-frp/reflex-platform/blob/develop/docs/project-development.rst
-
Nix - WSL - no C compiler provided for this platform
This might also be coming from the tests of the library (even if they can run in the browser, their tests might not). You can disabled tests using an overrides attribute in project.nix (if using reflex-stone). You can see what it should look like here : https://github.com/reflex-frp/reflex-platform/blob/develop/project/default.nix#L79. You should add this attribute at the same level where "useWarp = true;" is. This should then have lines like "diagrams = pkgs.haskell.lib.dontCheck super.diagrams;" for example if you want to disable the tests for the diagrams package.
-
Can I embed Reflex-FRP in a larger site?
then you compile to js using ghcjs like this, then closure compile and gzip it to get the size way down. Then it just becomes a normal script you include wherever you need it.
What are some alternatives?
vscode-ghc-simple - Simple GHC (Haskell) integration for VSCode
Yampa - Functional Reactive Programming domain-specific language for efficient hybrid systems
reflex - Interactive programs without callbacks or side-effects. Functional Reactive Programming (FRP) uses composable events and time-varying values to describe interactive systems as pure functions. Just like other pure functional code, functional reactive code is easier to get right on the first try, maintain, and reuse.
reflex-native - Framework for writing fully native apps using Reflex, a Functional Reactive Programming library for Haskell.
hackcell - Apecs + SDL2 roguelike
miso - :ramen: A tasty Haskell front-end framework
nixkell - A simple Nix-Haskell skeleton
nix - Nix, the purely functional package manager
godot-haskell - Haskell bindings for GdNative
nix-symlink - Nix utility for creating a derivation containing a single symlink.