ocaml-community / awesome-ocaml Goto Github PK
View Code? Open in Web Editor NEWA curated collection of awesome OCaml tools, frameworks, libraries and articles.
A curated collection of awesome OCaml tools, frameworks, libraries and articles.
when someone starts actively working on SOTU again...
darklang critique mentioned a number of missing REST APIs bindings. within the sections of SOTU, try to identify important REST APIs and indicate current status of bindings for those APIs. The missing bindings may not be a blocker for someone to work in such a domain, but as darklang points out, it can be a minor hindrance.
BetterOCaml is an online compiler which looks wonderful and is very useful for learning purpose and more.
It's available at betterocaml.ml.
You can check the github repo here : https://github.com/jbdoderlein/BetterOCaml
I added the most active contributors to the list of collaborators of this repo. There's no need to wait for me to merge the changes.
It would be great to include this list somewhere on ocaml.org someday, but I think more projects may be added first and the overall organization could be improved.
Thanks!
It's kind of funny to have a section on standard libraries but batteries [1] should definitely be mentioned since it's so active and popular [2]
[1] https://github.com/ocaml-batteries-team/batteries-included
[2] http://opam.ocaml.org/packages/batteries/batteries.2.2.0/
Most people prefer to use some sort of non blocking bindings rather than the raw ones.
For Lwt: https://github.com/hcarty/lwt-zmq and it's little brother (shameless plug): https://github.com/rgrinberg/async-zmq
There is ``Graphics'' section, but what about text user interfaces? For example there is an awesome TUI library, lambda-term (https://github.com/diml/lambda-term), but i can't figure out to what section it belongs.
oasis
OASIS is a tool to integrate a configure, build and install system in your OCaml project. It helps to create standard entry points in your build system and allows external tools to analyse your project easily.
http://oasis.forge.ocamlcore.org/
The RWO book hasn't aged gracefully, and the link to the book points to the now outdated version. A link should be provided to point people to the dev version of the book which is much more up to date.
https://discuss.ocaml.org/ ought to be listed under "community" I think.
Issues :-(
> Links
2. [L293] 404 http://www.linux-nantes.org/~fmonnier/OCaml/GL/
The website typeocaml has several tutorials on algorithms and data structures.
It seems up to date and has a very nice design. I cannot say much about the learning experience since I am not an active OCaml developer (visited the website a few times out of interest) but it is well written and structured in a very concise way.
Website: http://typeocaml.com/
Add it to Blogs or create a Tutorials as a new point on the list.
EDIT: It seems that I have not realized "Many things about OCaml". Can be closed, sorry.
Wodi has been discontiuned
Haxe: http://haxe.org/
OPA: http://opalang.org/
VSCode + OCaml plugin + merlin is an easy way for beginners to start coding in OCaml.
Library authors in various domains have ready knowledge in how thorough their library and similar libraries are in solving a given domain problem. Fund them each for a few hours every few months to make edits and updates to SOTU
Core is an industrial-strength alternative to the OCaml standard library. It was developed by Jane Street, which is the largest industrial user of OCaml.
(note to myself)
For each package category, there will usually be packages on opam as well as packages on GitHub, which may not be ready for downstream consumption. Note these github only packages, to provide a clearer picture of how much work is left to make a category "best in class"
Thinking about the duplication of content and the ability to curate and organize the content more easily with a structure like ocamlverse, I think it would help beginners more if we shut down this site, replaced it with a link to ocamlverse, and migrated all content to ocamlverse pages
Real World OCaml
The proposed Windows distribution by fdopen is not supported anymore (deprecated since August 2021).
https://diskuv-ocaml.gitlab.io/distributions/dkml/ should be linked.
Perhaps in the language section?
It would be great to see this content find it's way into ocaml.org. I'm not sure of the best way to do this or how to structure the information but it's worth thinking about.
This issue is just so we can keep track of that discussion.
Issues :-(
> Links
1. [L112] 503 https://www.amazon.com/More-OCaml-Algorithms-Methods-Diversions/dp/0957671113/
Do you think creating separate top-level sections for packages and articles makes sense?
Your picture is a dromedary !
See the official logo.
Hello, I wrote a tool that can validate README links (valid URLs, not duplicate). It can be run when someone submits a pull request.
It is currently being used by
Examples
If you are interested, connect this repo to https://travis-ci.org/ and add a .travis.yml
file to the project.
See https://github.com/dkhamsing/awesome_bot for options, more information
Feel free to leave a comment ๐
We should add ppx_rapper in the Database section.
It is a must with Caqti since it prepares the requests with a ppx rewriter which handle record to SQL variable or the SQL result to records.
3. [L387] https://blog.danny-willems.be/en/ocaml-cordova-secured-typed-hybrid-mobile-applications/ Net::ReadTimeout
when someone starts actively working on SOTU again...
darklang critique mentioned a number of missing REST APIs bindings. within the sections of SOTU, try to identify important REST APIs and indicate current status of bindings for those APIs. They missing bindings may not be a blocker for someone to work in such a domain, but as darklang points out, it can be a minor hindrance.
Hello. Thanks for this awesome-ocaml
There is an scientific software named WHIZARD that uses OCaml (a combination of ocaml and fortran)
Just in case it is useful for the list.
Now that we have a community organization I think it makes sense to move this project there. It will benefit from more consistent exposure and potentially attract more contributors.
I've also proposed this for ocamlverse.github.io.
sofu.md
contains a list of system interaction libraries, but those libraries are missing from the main list.
The OPA language repository contains a powerful parser for PEG grammars:
It's a static analyser (using abstract interpretation) to find memory errors in C programs
https://github.com/Antique-team/memcad
that's robust and performance just rocks
https://github.com/rdicosmo/parmap
opam
ocaml package manager
http://opam.ocamlpro.com/
utop
A better top level then ocaml top
https://github.com/diml/utop
Can be installed via opam
Basically reuse information from these posts https://discuss.ocaml.org/t/is-it-possible-to-use-machine-learning-and-deep-learning-frameworks-through-ocaml/4570
Reason - A new interface for OCaml by Facebook
https://github.com/facebook/reason
'WODI for windows' moved to https://fdopen.github.io/opam-repository-mingw/
It has been renamed to: OCaml for Windows
Hi
Suggest you subscribe the Caml mailing list from http://caml.inria.fr/resources/forums.en.html and wrtie an email to there to announce this awesome-ocaml.
I guess more pros there will suggest more better stuff for here.
I'm not sure where to add them, but it might be useful to add Coq which is a proof assistant written in OCaml, and can be used to verify programs that can later be extracted into OCaml, and CompCert which is an example of the use of Coq and its extraction in the sense that it is a verified compiler for a (core ?) subset of C.
I have posted bug report to OCaml
and opam
, as I thing the bug is in OCaml, but it would be beneficial for all users if opam
also addresses this problem. Yes, it also shows when compiling OCaml
from GitHub source.
It could also be good if it was noticed here, in some proper way. And yes, it could potential be a problem for other locales too.
So, if one uses Swedish locale, and tries to create a new switch, like opam switch create 4.12.0
, the linking stage of the compiler fails. This because the buildning system of Ocaml (and potentially other software too) depends on ordering characters according to locale C
, not sv_SE.UTF-8
or other locales. In this case, the problem is shown by Swedish locale, because of the w
character is considered special.
A solution is to set environment variable LC_COLLATE
to C
ans LC_ALL
to nothing, "", before creating the switch. So in a shell (Bourne Shell type, like bash
(1)), do the following.
export LC_ALL=""
export LC_COLLATE=C
locale # to check that LC_COLLATE is set to C
opam create switch 4.12.0
And now it should work.
This would have saved me weeks if I known, so I think it would been good to seen this here, in some way.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.