book
reflex
Our great sponsors
book | reflex | |
---|---|---|
18 | 17 | |
1,160 | 1,057 | |
0.6% | 0.2% | |
2.7 | 4.4 | |
2 months ago | 14 days ago | |
OCaml | Haskell | |
GNU General Public License v3.0 or later | 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.
book
-
OCaml: a Rust developer's first impressions
Some of your questions might be answered in this book (free online version): https://dev.realworldocaml.org/
- Compiler Development: Rust or OCaml?
-
Nix-Powered Development with OCaml
I don't think they're wrong
the Jane Street side are quite prolific with blog posts etc
as a newcomer to OCaml one of the first, and nicer-looking, intro resources you'll likely encounter is the Real World OCaml book https://dev.realworldocaml.org/ which unfortunately does everything using Base instead of the stdlib
Personally that didn't sit right to me and I prefer to use the stdlib by default (which seems fine and not in need of a wholesale replacement)
-
Comparing Objective Caml and Standard ML
This is an oldie but a goodie.
OCaml has, unlike Standard ML, grown quite a lot since this page was made.
In particular, the section "Standard libraries", I'd recommend looking at:
https://dev.realworldocaml.org/
A couple of places where the comparison is outdated:
- OCaml using Base [1] allows for result-type oriented programming
- OCaml using Base uses less language magic and more module system
While there was and is truth to the distinction that SML is for scientists and OCaml is for engineers, this dichotomy is getting dated: OCaml is under active development, which means that scientists who want better tooling will choose OCaml. For example, 1ML [2] by Andreas Rossberg was built in OCaml.
[1]: https://opensource.janestreet.com/base/
-
Resource recommendations for a beginner.
Real World OCaml (version 2 is finally out) is also pretty good.
-
OCAML HELP!
Real World OCaml is also a good resource, geared more towards people who already have some programming experience and want a more industry/practical focused learning experience.
-
Teach Yourself Programming in Ten Years
ocaml.org’s new website is packed with lots of great early intros.
most learners eventually gravitate towards Real World OCaml https://dev.realworldocaml.org/ for additional learning.
Unfortunately, the learning resources for different domains out there isn’t as highly curated or prolific as, say, rust. If you do web dev like me, it takes a bit more work to find the tools and put them together. But the language itself lends itself well to systems level programming.
Fortunately, the forum is a great help.
-
Help getting started with Ocaml
In general, better read the second edition which is updated to use current Core versions. A print version was published recently.
-
learning ocaml this semester.
I recommend https://dev.realworldocaml.org/ and https://cs3110.github.io/textbook/cover.html
-
Functional Reactive Programming
Elm is not dead. It just prefers a slow release schedule but is still actively worked on in the background.
That said, you might want to check out OCaml for general purpose programming. Super fast compiler, great performance, can target both native and JS.
It is easier to use than Haskell due to defaulting to eager evaluation (like most languages) strategy instead of laziness and being generally more pragmatic, offering more escape hatches into the imperative world if need be. Plus great upward trajectory with lot's of cool stuff like an effects system and multi-core support coming.
Real World Ocaml is a decent resource: https://dev.realworldocaml.org/
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?
swift-async-algorithms - Async Algorithms for Swift
sodium - Sodium - Functional Reactive Programming (FRP) Library for multiple languages
awesome-ocaml - A curated collection of awesome OCaml tools, frameworks, libraries and articles.
Elm - Compiler for Elm, a functional language for reliable webapps.
reason - Simple, fast & type safe code that leverages the JavaScript & OCaml ecosystems
dunai - Classic FRP, Arrowized FRP, Reactive Programming, and Stream Programming, all via Monadic Stream Functions
learn-you-a-haskell - “Learn You a Haskell for Great Good!” by Miran Lipovača
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.
ocaml-containers - A lightweight, modular standard library extension, string library, and interfaces to various libraries (unix, threads, etc.) BSD license.
purescript - A strongly-typed language that compiles to JavaScript
onelinerizer - Shamelessly convert any Python 2 script into a terrible single line of code
rhine - Haskell Functional Reactive Programming framework with type-level clocks