update lists
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
[38;5;12mAwesome OCaml [39m[38;5;14m[1m![0m[38;5;12mBuild Status[39m[38;5;14m[1m (https://travis-ci.org/ocaml-community/awesome-ocaml.svg?branch=master)[0m[38;5;12m (https://travis-ci.org/ocaml-community/awesome-ocaml)[39m
|
||||
[38;5;12mAwesome OCaml[39m
|
||||
[38;5;12m=============[39m
|
||||
|
||||
|
||||
@@ -115,33 +115,31 @@
|
||||
|
||||
[38;2;255;187;0m[4mBooks[0m
|
||||
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mMore[0m[38;5;14m[1m [0m[38;5;14m[1mOCaml:[0m[38;5;14m[1m [0m[38;5;14m[1mAlgorithms,[0m[38;5;14m[1m [0m[38;5;14m[1mMethods,[0m[38;5;14m[1m [0m[38;5;14m[1mand[0m[38;5;14m[1m [0m[38;5;14m[1mDiversions[0m[38;5;12m [39m[38;5;12m(https://www.amazon.com/More-OCaml-Algorithms-Methods-Diversions/dp/0957671113/)[39m[38;5;12m [39m[38;5;12m–[39m[38;5;12m [39m[38;5;12mIn[39m[38;5;12m [39m[38;5;12mMore[39m[38;5;12m [39m[38;5;12mOCaml,[39m[38;5;12m [39m[38;5;12mJohn[39m[38;5;12m [39m[38;5;12mWhitington[39m[38;5;12m [39m[38;5;12mtakes[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mmeandering[39m[38;5;12m [39m[38;5;12mtour[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mfunctional[39m[38;5;12m [39m[38;5;12mprogramming[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m[38;5;12mOCaml,[39m[38;5;12m [39m
|
||||
[38;5;12mintroducing[39m[38;5;12m [39m[38;5;12mvarious[39m[38;5;12m [39m[38;5;12mlanguage[39m[38;5;12m [39m[38;5;12mfeatures[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mdescribing[39m[38;5;12m [39m[38;5;12msome[39m[38;5;12m [39m[38;5;12mclassic[39m[38;5;12m [39m[38;5;12malgorithms.[39m[38;5;12m [39m[38;5;12mThe[39m[38;5;12m [39m[38;5;12mbook[39m[38;5;12m [39m[38;5;12mends[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mlarge-scale[39m[38;5;12m [39m[38;5;12mexample[39m[38;5;12m [39m[38;5;12mdealing[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mproduction[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mPDF[39m[38;5;12m [39m[38;5;12mfiles.[39m[38;5;12m [39m[38;5;12mThere[39m[38;5;12m [39m[38;5;12mare[39m[38;5;12m [39m[38;5;12mquestions[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12meach[39m[38;5;12m [39m[38;5;12mchapter,[39m[38;5;12m [39m[38;5;12malong[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m[38;5;12mworked-out[39m[38;5;12m [39m[38;5;12manswers[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m
|
||||
[38;5;12mhints.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mHow[0m[38;5;14m[1m [0m[38;5;14m[1mto[0m[38;5;14m[1m [0m[38;5;14m[1mThink[0m[38;5;14m[1m [0m[38;5;14m[1mLike[0m[38;5;14m[1m [0m[38;5;14m[1ma[0m[38;5;14m[1m [0m[38;5;14m[1m(Functional)[0m[38;5;14m[1m [0m[38;5;14m[1mProgrammer[0m[38;5;12m [39m[38;5;12m(http://www.greenteapress.com/thinkocaml/index.html)[39m[38;5;12m [39m[38;5;12mby[39m[38;5;12m [39m[38;5;12mAllen[39m[38;5;12m [39m[38;5;12mDowney[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mNicholas[39m[38;5;12m [39m[38;5;12mMonje[39m[38;5;12m [39m[38;5;12m–[39m[38;5;12m [39m[38;5;12mHow[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mThink[39m[38;5;12m [39m[38;5;12mLike[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mComputer[39m[38;5;12m [39m[38;5;12mScientist[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12man[39m[38;5;12m [39m[38;5;12mintroductory[39m[38;5;12m [39m[38;5;12mprogramming[39m[38;5;12m [39m[38;5;12mtextbook[39m[38;5;12m [39m[38;5;12mbased[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mOCaml[39m[38;5;12m [39m
|
||||
[38;5;12mlanguage.[39m[38;5;12m [39m[38;5;12mIt[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mmodified[39m[38;5;12m [39m[38;5;12mversion[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mThink[39m[38;5;12m [39m[38;5;12mPython[39m[38;5;12m [39m[38;5;12mby[39m[38;5;12m [39m[38;5;12mAllen[39m[38;5;12m [39m[38;5;12mDowney.[39m[38;5;12m [39m[38;5;12mIt[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12mintended[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mnewcomers[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mprogramming[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12malso[39m[38;5;12m [39m[38;5;12mthose[39m[38;5;12m [39m[38;5;12mwho[39m[38;5;12m [39m[38;5;12mknow[39m[38;5;12m [39m[38;5;12msome[39m[38;5;12m [39m[38;5;12mprogramming[39m[38;5;12m [39m[38;5;12mbut[39m[38;5;12m [39m[38;5;12mwant[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mlearn[39m[38;5;12m [39m[38;5;12mprogramming[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mfunction-oriented[39m[38;5;12m [39m[38;5;12mparadigm,[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;12mthose[39m[38;5;12m [39m[38;5;12mwho[39m[38;5;12m [39m
|
||||
[38;5;12msimply[39m[38;5;12m [39m[38;5;12mwant[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mlearn[39m[38;5;12m [39m[38;5;12mOCaml.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mMore[0m[38;5;14m[1m [0m[38;5;14m[1mOCaml:[0m[38;5;14m[1m [0m[38;5;14m[1mAlgorithms,[0m[38;5;14m[1m [0m[38;5;14m[1mMethods,[0m[38;5;14m[1m [0m[38;5;14m[1mand[0m[38;5;14m[1m [0m[38;5;14m[1mDiversions[0m[38;5;12m [39m[38;5;12m(https://www.amazon.com/More-OCaml-Algorithms-Methods-Diversions/dp/0957671113/)[39m[38;5;12m [39m[38;5;12m–[39m[38;5;12m [39m[38;5;12mIn[39m[38;5;12m [39m[38;5;12mMore[39m[38;5;12m [39m[38;5;12mOCaml,[39m[38;5;12m [39m[38;5;12mJohn[39m[38;5;12m [39m[38;5;12mWhitington[39m[38;5;12m [39m[38;5;12mtakes[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mmeandering[39m[38;5;12m [39m[38;5;12mtour[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mfunctional[39m[38;5;12m [39m[38;5;12mprogramming[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m[38;5;12mOCaml,[39m[38;5;12m [39m[38;5;12mintroducing[39m[38;5;12m [39m[38;5;12mvarious[39m[38;5;12m [39m
|
||||
[38;5;12mlanguage[39m[38;5;12m [39m[38;5;12mfeatures[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mdescribing[39m[38;5;12m [39m[38;5;12msome[39m[38;5;12m [39m[38;5;12mclassic[39m[38;5;12m [39m[38;5;12malgorithms.[39m[38;5;12m [39m[38;5;12mThe[39m[38;5;12m [39m[38;5;12mbook[39m[38;5;12m [39m[38;5;12mends[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mlarge-scale[39m[38;5;12m [39m[38;5;12mexample[39m[38;5;12m [39m[38;5;12mdealing[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mproduction[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mPDF[39m[38;5;12m [39m[38;5;12mfiles.[39m[38;5;12m [39m[38;5;12mThere[39m[38;5;12m [39m[38;5;12mare[39m[38;5;12m [39m[38;5;12mquestions[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12meach[39m[38;5;12m [39m[38;5;12mchapter,[39m[38;5;12m [39m[38;5;12malong[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m[38;5;12mworked-out[39m[38;5;12m [39m[38;5;12manswers[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mhints.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mHow[0m[38;5;14m[1m [0m[38;5;14m[1mto[0m[38;5;14m[1m [0m[38;5;14m[1mThink[0m[38;5;14m[1m [0m[38;5;14m[1mLike[0m[38;5;14m[1m [0m[38;5;14m[1ma[0m[38;5;14m[1m [0m[38;5;14m[1m(Functional)[0m[38;5;14m[1m [0m[38;5;14m[1mProgrammer[0m[38;5;12m [39m[38;5;12m(http://www.greenteapress.com/thinkocaml/index.html)[39m[38;5;12m [39m[38;5;12mby[39m[38;5;12m [39m[38;5;12mAllen[39m[38;5;12m [39m[38;5;12mDowney[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mNicholas[39m[38;5;12m [39m[38;5;12mMonje[39m[38;5;12m [39m[38;5;12m–[39m[38;5;12m [39m[38;5;12mHow[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mThink[39m[38;5;12m [39m[38;5;12mLike[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mComputer[39m[38;5;12m [39m[38;5;12mScientist[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12man[39m[38;5;12m [39m[38;5;12mintroductory[39m[38;5;12m [39m[38;5;12mprogramming[39m[38;5;12m [39m[38;5;12mtextbook[39m[38;5;12m [39m[38;5;12mbased[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mOCaml[39m[38;5;12m [39m[38;5;12mlanguage.[39m[38;5;12m [39m[38;5;12mIt[39m
|
||||
[38;5;12mis[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mmodified[39m[38;5;12m [39m[38;5;12mversion[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mThink[39m[38;5;12m [39m[38;5;12mPython[39m[38;5;12m [39m[38;5;12mby[39m[38;5;12m [39m[38;5;12mAllen[39m[38;5;12m [39m[38;5;12mDowney.[39m[38;5;12m [39m[38;5;12mIt[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12mintended[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mnewcomers[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mprogramming[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12malso[39m[38;5;12m [39m[38;5;12mthose[39m[38;5;12m [39m[38;5;12mwho[39m[38;5;12m [39m[38;5;12mknow[39m[38;5;12m [39m[38;5;12msome[39m[38;5;12m [39m[38;5;12mprogramming[39m[38;5;12m [39m[38;5;12mbut[39m[38;5;12m [39m[38;5;12mwant[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mlearn[39m[38;5;12m [39m[38;5;12mprogramming[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mfunction-oriented[39m[38;5;12m [39m[38;5;12mparadigm,[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;12mthose[39m[38;5;12m [39m[38;5;12mwho[39m[38;5;12m [39m[38;5;12msimply[39m[38;5;12m [39m[38;5;12mwant[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mlearn[39m[38;5;12m [39m[38;5;12mOCaml.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mOCaml from the Very Beginning[0m[38;5;12m (http://ocaml-book.com/) by J. Whitington - OCaml from the Very Beginning will appeal both to new programmers and experienced programmers eager to explore functional languages such as OCaml.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mPearls[0m[38;5;14m[1m [0m[38;5;14m[1mof[0m[38;5;14m[1m [0m[38;5;14m[1mFunctional[0m[38;5;14m[1m [0m[38;5;14m[1mAlgorithm[0m[38;5;14m[1m [0m[38;5;14m[1mDesign[0m[38;5;12m [39m[38;5;12m(https://www.amazon.co.uk/Pearls-Functional-Algorithm-Design-Richard/dp/0521513383)[39m[38;5;12m [39m[38;5;12mby[39m[38;5;12m [39m[38;5;12mRichard[39m[38;5;12m [39m[38;5;12mBird[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mIt[39m[38;5;12m [39m[38;5;12msummarizes[39m[38;5;12m [39m[38;5;12m30[39m[38;5;12m [39m[38;5;12mhard[39m[38;5;12m [39m[38;5;12malgorithmic[39m[38;5;12m [39m[38;5;12mproblems[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mfunction[39m[38;5;12m [39m[38;5;12mprogramming[39m[38;5;12m [39m[38;5;12mworld.[39m[38;5;12m [39m[38;5;12mAlthough[39m[38;5;12m [39m[38;5;12mit[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m
|
||||
[38;5;12mfor[39m[38;5;12m [39m[38;5;12mHaskell,[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12malgorithm[39m[38;5;12m [39m[38;5;12mproblems[39m[38;5;12m [39m[38;5;12mare[39m[38;5;12m [39m[38;5;12mvery[39m[38;5;12m [39m[38;5;12minteresting,[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mtrying[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12msolve[39m[38;5;12m [39m[38;5;12mthem[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mOCaml[39m[38;5;12m [39m[38;5;12malso[39m[38;5;12m [39m[38;5;12mhelps[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mthinking[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mfunctional[39m[38;5;12m [39m[38;5;12mprogramming.[39m[38;5;12m [39m[38;5;12mPartial[39m[38;5;12m [39m[38;5;12msolutions[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mOCaml[39m[38;5;12m [39m[38;5;12mare[39m[38;5;12m [39m[38;5;14m[1mhere[0m[38;5;12m [39m[38;5;12m(https://github.com/MassD/pearls).[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mPearls[0m[38;5;14m[1m [0m[38;5;14m[1mof[0m[38;5;14m[1m [0m[38;5;14m[1mFunctional[0m[38;5;14m[1m [0m[38;5;14m[1mAlgorithm[0m[38;5;14m[1m [0m[38;5;14m[1mDesign[0m[38;5;12m [39m[38;5;12m(https://www.amazon.co.uk/Pearls-Functional-Algorithm-Design-Richard/dp/0521513383)[39m[38;5;12m [39m[38;5;12mby[39m[38;5;12m [39m[38;5;12mRichard[39m[38;5;12m [39m[38;5;12mBird[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mIt[39m[38;5;12m [39m[38;5;12msummarizes[39m[38;5;12m [39m[38;5;12m30[39m[38;5;12m [39m[38;5;12mhard[39m[38;5;12m [39m[38;5;12malgorithmic[39m[38;5;12m [39m[38;5;12mproblems[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mfunction[39m[38;5;12m [39m[38;5;12mprogramming[39m[38;5;12m [39m[38;5;12mworld.[39m[38;5;12m [39m[38;5;12mAlthough[39m[38;5;12m [39m[38;5;12mit[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m
|
||||
[38;5;12mHaskell,[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12malgorithm[39m[38;5;12m [39m[38;5;12mproblems[39m[38;5;12m [39m[38;5;12mare[39m[38;5;12m [39m[38;5;12mvery[39m[38;5;12m [39m[38;5;12minteresting,[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mtrying[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12msolve[39m[38;5;12m [39m[38;5;12mthem[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mOCaml[39m[38;5;12m [39m[38;5;12malso[39m[38;5;12m [39m[38;5;12mhelps[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mthinking[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mfunctional[39m[38;5;12m [39m[38;5;12mprogramming.[39m[38;5;12m [39m[38;5;12mPartial[39m[38;5;12m [39m[38;5;12msolutions[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mOCaml[39m[38;5;12m [39m[38;5;12mare[39m[38;5;12m [39m[38;5;14m[1mhere[0m[38;5;12m [39m[38;5;12m(https://github.com/MassD/pearls).[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mReal World OCaml[0m[38;5;12m (https://realworldocaml.org/) by Y. Minsky, A. Madhavapeddy, and J. Hickey - Functional Programming for the masses.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mUnix System Programming in OCaml[0m[38;5;12m (https://ocaml.github.io/ocamlunix/) by X. Leroy and D. Rémy – Introduction to Unix Systems Programming, with an emphasis on communications between processes.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mUsing, Understanding, and Unraveling OCaml[0m[38;5;12m (https://caml.inria.fr/pub/docs/u3-ocaml) – This book describes both the OCaml language and the theoretical grounds behind its powerful type system.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mPurely[0m[38;5;14m[1m [0m[38;5;14m[1mFunctional[0m[38;5;14m[1m [0m[38;5;14m[1mData[0m[38;5;14m[1m [0m[38;5;14m[1mStructures[0m[38;5;12m [39m[38;5;12m(https://www.amazon.co.uk/Purely-Functional-Structures-Chris-Okasaki/dp/0521631246/ref=sr_1_1?ie=UTF8&qid=1406279836&sr=8-1&keywords=functional+data+structures)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mThis[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mfirst[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;12monly[39m[38;5;12m [39m[38;5;12mbook[39m[38;5;12m [39m[38;5;12mfocus[39m[38;5;12m [39m
|
||||
[38;5;12mon[39m[38;5;12m [39m[38;5;12mvarious[39m[38;5;12m [39m[38;5;12mdata[39m[38;5;12m [39m[38;5;12mstructures[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mFP[39m[38;5;12m [39m[38;5;12mworld.[39m[38;5;12m [39m[38;5;12mA[39m[38;5;12m [39m[38;5;12mmust-read[39m[38;5;12m [39m[38;5;12mone.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mPurely[0m[38;5;14m[1m [0m[38;5;14m[1mFunctional[0m[38;5;14m[1m [0m[38;5;14m[1mData[0m[38;5;14m[1m [0m[38;5;14m[1mStructures[0m[38;5;12m [39m[38;5;12m(https://www.amazon.co.uk/Purely-Functional-Structures-Chris-Okasaki/dp/0521631246/ref=sr_1_1?ie=UTF8&qid=1406279836&sr=8-1&keywords=functional+data+structures)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mThis[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mfirst[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;12monly[39m[38;5;12m [39m[38;5;12mbook[39m[38;5;12m [39m[38;5;12mfocus[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mvarious[39m
|
||||
[38;5;12mdata[39m[38;5;12m [39m[38;5;12mstructures[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mFP[39m[38;5;12m [39m[38;5;12mworld.[39m[38;5;12m [39m[38;5;12mA[39m[38;5;12m [39m[38;5;12mmust-read[39m[38;5;12m [39m[38;5;12mone.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mOCaml for Scientists[0m[38;5;12m (http://www.ffconsultancy.com/products/ocaml_for_scientists/) - by Jon Harrop.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mOCaml Programming: Correct + Efficient + Beautiful[0m[38;5;12m (https://cs3110.github.io/textbook) - Textbook on Functional Programming and Data Structures in OCaml - by Michael R. Clarkson et al.[39m
|
||||
|
||||
[38;2;255;187;0m[4mVideos[0m
|
||||
|
||||
[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mOCaml[0m[38;5;14m[1m [0m[38;5;14m[1mProgramming:[0m[38;5;14m[1m [0m[38;5;14m[1mCorrect[0m[38;5;14m[1m [0m[38;5;14m[1m+[0m[38;5;14m[1m [0m[38;5;14m[1mEfficient[0m[38;5;14m[1m [0m[38;5;14m[1m+[0m[38;5;14m[1m [0m[38;5;14m[1mBeautiful[0m[38;5;12m [39m[38;5;12m(https://www.youtube.com/playlist?list=PLre5AT9JnKShBOPeuiD9b-I4XROIJhkIU)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mList[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12m200[39m[38;5;12m [39m[38;5;12mbite-sized[39m[38;5;12m [39m[38;5;12mvideos[39m[38;5;12m [39m[38;5;12mrecorded[39m[38;5;12m [39m[38;5;12mby[39m[38;5;12m [39m[38;5;12mMichael[39m[38;5;12m [39m[38;5;12mR.[39m[38;5;12m [39m[38;5;12mClarkson.[39m[38;5;12m [39m[38;5;12mIt[39m[38;5;12m [39m[38;5;12mcan[39m[38;5;12m [39m[38;5;12mbe[39m[38;5;12m [39m[38;5;12mwatched[39m[38;5;12m [39m[38;5;12mindependently[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m
|
||||
[38;5;12mtextbook[39m[38;5;12m [39m[38;5;12mtitled[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12msame[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mlisted[39m[38;5;12m [39m[38;5;12mabove[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;14m[1mBooks[0m[38;5;14m[1m [0m[38;5;14m[1msection[0m[38;5;12m [39m[38;5;12m(#books).[39m
|
||||
[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mOCaml[0m[38;5;14m[1m [0m[38;5;14m[1mProgramming:[0m[38;5;14m[1m [0m[38;5;14m[1mCorrect[0m[38;5;14m[1m [0m[38;5;14m[1m+[0m[38;5;14m[1m [0m[38;5;14m[1mEfficient[0m[38;5;14m[1m [0m[38;5;14m[1m+[0m[38;5;14m[1m [0m[38;5;14m[1mBeautiful[0m[38;5;12m [39m[38;5;12m(https://www.youtube.com/playlist?list=PLre5AT9JnKShBOPeuiD9b-I4XROIJhkIU)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mList[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12m200[39m[38;5;12m [39m[38;5;12mbite-sized[39m[38;5;12m [39m[38;5;12mvideos[39m[38;5;12m [39m[38;5;12mrecorded[39m[38;5;12m [39m[38;5;12mby[39m[38;5;12m [39m[38;5;12mMichael[39m[38;5;12m [39m[38;5;12mR.[39m[38;5;12m [39m[38;5;12mClarkson.[39m[38;5;12m [39m[38;5;12mIt[39m[38;5;12m [39m[38;5;12mcan[39m[38;5;12m [39m[38;5;12mbe[39m[38;5;12m [39m[38;5;12mwatched[39m[38;5;12m [39m[38;5;12mindependently[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mtextbook[39m[38;5;12m [39m
|
||||
[38;5;12mtitled[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12msame[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mlisted[39m[38;5;12m [39m[38;5;12mabove[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;14m[1mBooks[0m[38;5;14m[1m [0m[38;5;14m[1msection[0m[38;5;12m [39m[38;5;12m(#books).[39m
|
||||
|
||||
[38;2;255;187;0m[4mCode Analysis and Linters[0m
|
||||
|
||||
[38;5;12m- [39m[38;5;14m[1mMascot[0m[38;5;12m (http://mascot.x9c.fr/) - Mascot is a style-checker for OCaml sources.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mpfff[0m[38;5;12m [39m[38;5;12m(https://github.com/returntocorp/pfff)[39m[38;5;12m [39m[38;5;12m–[39m[38;5;12m [39m[38;5;12mpfff[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mset[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mtools[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mAPIs[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mperform[39m[38;5;12m [39m[38;5;12msome[39m[38;5;12m [39m[38;5;12mstatic[39m[38;5;12m [39m[38;5;12manalysis,[39m[38;5;12m [39m[38;5;12mdynamic[39m[38;5;12m [39m[38;5;12manalysis,[39m[38;5;12m [39m[38;5;12mcode[39m[38;5;12m [39m[38;5;12mvisualizations,[39m[38;5;12m [39m[38;5;12mcode[39m[38;5;12m [39m[38;5;12mnavigations,[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;12mstyle-preserving[39m[38;5;12m [39m[38;5;12msource-to-source[39m[38;5;12m [39m[38;5;12mtransformations[39m[38;5;12m [39m[38;5;12msuch[39m[38;5;12m [39m[38;5;12mas[39m[38;5;12m [39m
|
||||
[38;5;12mrefactorings[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12msource[39m[38;5;12m [39m[38;5;12mcode.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mpfff[0m[38;5;12m [39m[38;5;12m(https://github.com/returntocorp/pfff)[39m[38;5;12m [39m[38;5;12m–[39m[38;5;12m [39m[38;5;12mpfff[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mset[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mtools[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mAPIs[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mperform[39m[38;5;12m [39m[38;5;12msome[39m[38;5;12m [39m[38;5;12mstatic[39m[38;5;12m [39m[38;5;12manalysis,[39m[38;5;12m [39m[38;5;12mdynamic[39m[38;5;12m [39m[38;5;12manalysis,[39m[38;5;12m [39m[38;5;12mcode[39m[38;5;12m [39m[38;5;12mvisualizations,[39m[38;5;12m [39m[38;5;12mcode[39m[38;5;12m [39m[38;5;12mnavigations,[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;12mstyle-preserving[39m[38;5;12m [39m[38;5;12msource-to-source[39m[38;5;12m [39m[38;5;12mtransformations[39m[38;5;12m [39m[38;5;12msuch[39m[38;5;12m [39m[38;5;12mas[39m[38;5;12m [39m[38;5;12mrefactorings[39m[38;5;12m [39m[38;5;12mon[39m
|
||||
[38;5;12msource[39m[38;5;12m [39m[38;5;12mcode.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mInfer[0m[38;5;12m (https://github.com/facebook/infer) - Infer is a static analyzer for Java, C and Objective-C[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mFrama-C[0m[38;5;12m (http://frama-c.com) - Frama-C is a static analysis and formal proof framework for C and C++.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mflow[0m[38;5;12m (https://github.com/facebook/flow) - flow is a static type checker for JavaScript.[39m
|
||||
@@ -156,6 +154,9 @@
|
||||
[38;5;12m- [39m[38;5;14m[1mBAP[0m[38;5;12m (https://github.com/BinaryAnalysisPlatform/bap) - BAP is a reverse engineering and program analysis platform that targets binary programs.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mBinCat[0m[38;5;12m (https://github.com/airbus-seclab/bincat) - BinCat is a binary code static analysis toolkit.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mcwe_checker[0m[38;5;12m (https://github.com/fkie-cad/cwe_checker) - cwe_checker finds vulnerable patterns in binary executables.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mOwi[0m[38;5;12m [39m[38;5;12m(https://github.com/OCamlPro/owi)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mOwi[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mtoolchain[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mworking[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m[38;5;12mWebAssembly[39m[38;5;12m [39m[38;5;12m(Wasm)[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mOCaml,[39m[38;5;12m [39m[38;5;12mfeaturing[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mpowerful,[39m[38;5;12m [39m[38;5;12mparallel[39m[38;5;12m [39m[38;5;12msymbolic[39m[38;5;12m [39m[38;5;12mexecution[39m[38;5;12m [39m[38;5;12mengine[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mWasm.[39m[38;5;12m [39m[38;5;12mIt[39m[38;5;12m [39m[38;5;12malso[39m[38;5;12m [39m[38;5;12mprovides[39m[38;5;12m [39m[38;5;12mfrontends[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mcompiling[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12manalyzing[39m[38;5;12m [39m[38;5;12mC[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mRust[39m[38;5;12m [39m
|
||||
[38;5;12mprograms.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mSmt.ml[0m[38;5;12m (https://github.com/formalsec/smtml) - Smt.ml is a frontend OCaml library that interfaces with multiple SMT solvers, enabling seamless integration of solvers like Z3, cvc5, Colibri2, Bitwuzla, and Alt-Ergo within OCaml programs.[39m
|
||||
|
||||
[38;2;255;187;0m[4mCompilers and Compiler Tools[0m
|
||||
|
||||
@@ -167,6 +168,7 @@
|
||||
[38;5;12m - [39m[38;5;14m[1mHack Programming Language[0m[38;5;12m (https://hacklang.org/)[39m
|
||||
[38;5;12m - [39m[38;5;14m[1mHaxe Programming Language[0m[38;5;12m (https://haxe.org/)[39m
|
||||
[38;5;12m - [39m[38;5;14m[1mNeko Programming Language[0m[38;5;12m (https://nekovm.org/) - Originally the compiler was written in OCaml.[39m
|
||||
[38;5;12m - [39m[38;5;14m[1mMazeppa[0m[38;5;12m (https://github.com/mazeppa-dev/mazeppa) - A modern supercompiler for call-by-value functional languages.[39m
|
||||
[38;5;12m - [39m[38;5;14m[1mMezzo Programming Language[0m[38;5;12m (https://protz.github.io/mezzo/) - Mezzo is a programming language in the ML tradition, which places strong emphasis on the control of aliasing and access to mutable memory.[39m
|
||||
[38;5;12m - [39m[38;5;14m[1mOCaml-Java[0m[38;5;12m (http://www.ocamljava.org/) - OCaml to Java bytecode compiler.[39m
|
||||
[38;5;12m - [39m[38;5;14m[1mOpa Programming Language[0m[38;5;12m (http://opalang.org/)[39m
|
||||
@@ -193,8 +195,8 @@
|
||||
|
||||
[38;2;255;187;0m[4mConcurrency[0m
|
||||
|
||||
[38;5;12mTwo[39m[38;5;12m [39m[38;5;12mconcurrency[39m[38;5;12m [39m[38;5;12mlibraries[39m[38;5;12m [39m[38;5;12mexist[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mOCaml:[39m[38;5;12m [39m[38;5;12m_Lwt_[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12m_Async_.[39m[38;5;12m [39m[38;5;12mThey[39m[38;5;12m [39m[38;5;12mprovide[39m[38;5;12m [39m[38;5;12mvery[39m[38;5;12m [39m[38;5;12msimilar[39m[38;5;12m [39m[38;5;12mfunctionality[39m[38;5;12m [39m[38;5;12mbut[39m[38;5;12m [39m[38;5;12mmake[39m[38;5;12m [39m[38;5;12mradically[39m[38;5;12m [39m[38;5;12mdifferent[39m[38;5;12m [39m[38;5;12mdecisions[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m[38;5;12mregards[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12merror[39m[38;5;12m [39m[38;5;12mhandling[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12minternal[39m[38;5;12m [39m[38;5;12mimplementation[39m[38;5;12m [39m[38;5;12mdetails[39m[38;5;12m [39m[38;5;12m(see[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mlinks[39m[38;5;12m [39m[38;5;12mbelow[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mmore[39m
|
||||
[38;5;12mdetails).[39m[38;5;12m [39m[38;5;14m[1mReal[0m[38;5;14m[1m [0m[38;5;14m[1mWorld[0m[38;5;14m[1m [0m[38;5;14m[1mOCaml[0m[38;5;12m [39m[38;5;12m(https://realworldocaml.org/)[39m[38;5;12m [39m[38;5;12muses[39m[38;5;12m [39m[38;5;12mAsync,[39m[38;5;12m [39m[38;5;12mbut[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mversion[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;14m[1mcode[0m[38;5;14m[1m [0m[38;5;14m[1mexamples[0m[38;5;14m[1m [0m[38;5;14m[1mtranslated[0m[38;5;14m[1m [0m[38;5;14m[1mto[0m[38;5;14m[1m [0m[38;5;14m[1mLwt[0m[38;5;12m [39m[38;5;12m(https://github.com/dkim/rwo-lwt)[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12malso[39m[38;5;12m [39m[38;5;12mavailable.[39m
|
||||
[38;5;12mTwo[39m[38;5;12m [39m[38;5;12mconcurrency[39m[38;5;12m [39m[38;5;12mlibraries[39m[38;5;12m [39m[38;5;12mexist[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mOCaml:[39m[38;5;12m [39m[38;5;12m_Lwt_[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12m_Async_.[39m[38;5;12m [39m[38;5;12mThey[39m[38;5;12m [39m[38;5;12mprovide[39m[38;5;12m [39m[38;5;12mvery[39m[38;5;12m [39m[38;5;12msimilar[39m[38;5;12m [39m[38;5;12mfunctionality[39m[38;5;12m [39m[38;5;12mbut[39m[38;5;12m [39m[38;5;12mmake[39m[38;5;12m [39m[38;5;12mradically[39m[38;5;12m [39m[38;5;12mdifferent[39m[38;5;12m [39m[38;5;12mdecisions[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m[38;5;12mregards[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12merror[39m[38;5;12m [39m[38;5;12mhandling[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12minternal[39m[38;5;12m [39m[38;5;12mimplementation[39m[38;5;12m [39m[38;5;12mdetails[39m[38;5;12m [39m[38;5;12m(see[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mlinks[39m[38;5;12m [39m[38;5;12mbelow[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mmore[39m[38;5;12m [39m[38;5;12mdetails).[39m
|
||||
[38;5;14m[1mReal[0m[38;5;14m[1m [0m[38;5;14m[1mWorld[0m[38;5;14m[1m [0m[38;5;14m[1mOCaml[0m[38;5;12m [39m[38;5;12m(https://realworldocaml.org/)[39m[38;5;12m [39m[38;5;12muses[39m[38;5;12m [39m[38;5;12mAsync,[39m[38;5;12m [39m[38;5;12mbut[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mversion[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;14m[1mcode[0m[38;5;14m[1m [0m[38;5;14m[1mexamples[0m[38;5;14m[1m [0m[38;5;14m[1mtranslated[0m[38;5;14m[1m [0m[38;5;14m[1mto[0m[38;5;14m[1m [0m[38;5;14m[1mLwt[0m[38;5;12m [39m[38;5;12m(https://github.com/dkim/rwo-lwt)[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12malso[39m[38;5;12m [39m[38;5;12mavailable.[39m
|
||||
|
||||
[38;5;12m- [39m[38;5;14m[1mLibraries[0m[38;5;12m:[39m
|
||||
[38;5;12m - [39m[38;5;14m[1mLwt[0m[38;5;12m (http://ocsigen.org/lwt/) — A cooperative threads library for OCaml.[39m
|
||||
@@ -250,8 +252,8 @@
|
||||
[38;2;255;187;0m[4mDeveloper Tools[0m
|
||||
|
||||
[38;5;12m- [39m[38;5;14m[1mTry OCaml[0m[38;5;12m (https://try.ocamlpro.com/) – Try OCaml in your web browser.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mlearn-ocaml[0m[38;5;12m [39m[38;5;12m(https://github.com/ocaml-sf/learn-ocaml).[39m[38;5;12m [39m[38;5;12mWeb[39m[38;5;12m [39m[38;5;12mapp[39m[38;5;12m [39m[38;5;12m(written[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mOCaml)[39m[38;5;12m [39m[38;5;12munderlying[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mlearn-ocaml-corpus.[39m[38;5;12m [39m[38;5;12mCan[39m[38;5;12m [39m[38;5;12mbe[39m[38;5;12m [39m[38;5;12mcustomized[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mserve[39m[38;5;12m [39m[38;5;12mlectures[39m[38;5;12m [39m[38;5;12m(with[39m[38;5;12m [39m[38;5;12mMarkdown[39m[38;5;12m [39m[38;5;12mslides),[39m[38;5;12m [39m[38;5;12mplaygrounds[39m[38;5;12m [39m[38;5;12m(with[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mtoplevel[39m[38;5;12m [39m[38;5;12mprelude),[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12minteractive[39m[38;5;12m [39m
|
||||
[38;5;12mexercises[39m[38;5;12m [39m[38;5;12m(with[39m[38;5;12m [39m[38;5;12mOCaml[39m[38;5;12m [39m[38;5;12mtests).[39m[38;5;12m [39m[38;5;12mMIT[39m[38;5;12m [39m[38;5;12mLicense.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mlearn-ocaml[0m[38;5;12m [39m[38;5;12m(https://github.com/ocaml-sf/learn-ocaml).[39m[38;5;12m [39m[38;5;12mWeb[39m[38;5;12m [39m[38;5;12mapp[39m[38;5;12m [39m[38;5;12m(written[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mOCaml)[39m[38;5;12m [39m[38;5;12munderlying[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mlearn-ocaml-corpus.[39m[38;5;12m [39m[38;5;12mCan[39m[38;5;12m [39m[38;5;12mbe[39m[38;5;12m [39m[38;5;12mcustomized[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mserve[39m[38;5;12m [39m[38;5;12mlectures[39m[38;5;12m [39m[38;5;12m(with[39m[38;5;12m [39m[38;5;12mMarkdown[39m[38;5;12m [39m[38;5;12mslides),[39m[38;5;12m [39m[38;5;12mplaygrounds[39m[38;5;12m [39m[38;5;12m(with[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mtoplevel[39m[38;5;12m [39m[38;5;12mprelude),[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12minteractive[39m[38;5;12m [39m[38;5;12mexercises[39m[38;5;12m [39m
|
||||
[38;5;12m(with[39m[38;5;12m [39m[38;5;12mOCaml[39m[38;5;12m [39m[38;5;12mtests).[39m[38;5;12m [39m[38;5;12mMIT[39m[38;5;12m [39m[38;5;12mLicense.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mlearn-ocaml.el[0m[38;5;12m (https://github.com/pfitaxel/learn-ocaml.el). Minor mode for Emacs that can display exercise topics and grade exercise solutions, after logging to a Learn-OCaml instance. MIT License.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mBetterOCaml[0m[38;5;12m (https://betterocaml.ml) – An efficient, intuitive, and cross-platform web IDE with your OCaml code interpreted and running in your browser![39m
|
||||
[38;5;12m- [39m[38;5;14m[1mcodingground[0m[38;5;12m (https://www.tutorialspoint.com/compile_ocaml_online.php) – Compile and execute OCaml code online.[39m
|
||||
@@ -262,6 +264,7 @@
|
||||
[38;5;12m- [39m[38;5;14m[1mocamlbrowser[0m[38;5;12m (http://caml.inria.fr/pub/docs/manual-ocaml/browser.html) – A source and compiled interface browser, written using LablTk. Included in the standard distribution for ocaml = 4.02.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mghim[0m[38;5;12m (https://github.com/samoht/ghim) – A command-line tool to manage Github Issues.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mOCaml Yeoman Generator[0m[38;5;12m (https://github.com/mabrasil/generator-ocaml) – Yeoman generator to scaffold OCaml modules.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mpuml2xml[0m[38;5;12m (https://github.com/khalidbelk/puml2xml) – A PlantUML ([39m[38;5;14m[1m.puml[0m[38;5;12m) to XML ([39m[38;5;14m[1m.xmi[0m[38;5;12m) converter.[39m
|
||||
|
||||
[38;5;12m- [39m[38;5;14m[1mForeign Function Interface[0m[38;5;12m:[39m
|
||||
[38;5;12m - [39m[38;5;14m[1mctypes[0m[38;5;12m (https://github.com/ocamllabs/ocaml-ctypes) – Library for binding to C libraries using pure OCaml.[39m
|
||||
@@ -299,10 +302,10 @@
|
||||
|
||||
[38;2;255;187;0m[4mFormal Software Verification[0m
|
||||
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mCoq[0m[38;5;12m [39m[38;5;12m(https://coq.inria.fr/)[39m[38;5;12m [39m[38;5;12m–[39m[38;5;12m [39m[38;5;12mCoq[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mformal[39m[38;5;12m [39m[38;5;12mproof[39m[38;5;12m [39m[38;5;12mmanagement[39m[38;5;12m [39m[38;5;12msystem.[39m[38;5;12m [39m[38;5;12mIt[39m[38;5;12m [39m[38;5;12mprovides[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mformal[39m[38;5;12m [39m[38;5;12mlanguage[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mwrite[39m[38;5;12m [39m[38;5;12mmathematical[39m[38;5;12m [39m[38;5;12mdefinitions,[39m[38;5;12m [39m[38;5;12mexecutable[39m[38;5;12m [39m[38;5;12malgorithms,[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mtheorems,[39m[38;5;12m [39m[38;5;12mtogether[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m[38;5;12man[39m[38;5;12m [39m[38;5;12menvironment[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12msemi-interactive[39m[38;5;12m [39m[38;5;12mdevelopment[39m
|
||||
[38;5;12mof[39m[38;5;12m [39m[38;5;12mmachine-checked[39m[38;5;12m [39m[38;5;12mproofs.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mWhy3[0m[38;5;12m [39m[38;5;12m(http://why3.lri.fr/)[39m[38;5;12m [39m[38;5;12m–[39m[38;5;12m [39m[38;5;12mWhy3[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mplatform[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mdeductive[39m[38;5;12m [39m[38;5;12mprogram[39m[38;5;12m [39m[38;5;12mverification.[39m[38;5;12m [39m[38;5;12mIt[39m[38;5;12m [39m[38;5;12mprovides[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mrich[39m[38;5;12m [39m[38;5;12mlanguage[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mspecification[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mprogramming,[39m[38;5;12m [39m[38;5;12mcalled[39m[38;5;12m [39m[38;5;12mWhyML,[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mrelies[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mexternal[39m[38;5;12m [39m[38;5;12mtheorem[39m[38;5;12m [39m[38;5;12mprovers,[39m[38;5;12m [39m[38;5;12mboth[39m[38;5;12m [39m[38;5;12mautomated[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12minteractive,[39m[38;5;12m [39m
|
||||
[38;5;12mto[39m[38;5;12m [39m[38;5;12mdischarge[39m[38;5;12m [39m[38;5;12mverification[39m[38;5;12m [39m[38;5;12mconditions.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mCoq[0m[38;5;12m [39m[38;5;12m(https://coq.inria.fr/)[39m[38;5;12m [39m[38;5;12m–[39m[38;5;12m [39m[38;5;12mCoq[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mformal[39m[38;5;12m [39m[38;5;12mproof[39m[38;5;12m [39m[38;5;12mmanagement[39m[38;5;12m [39m[38;5;12msystem.[39m[38;5;12m [39m[38;5;12mIt[39m[38;5;12m [39m[38;5;12mprovides[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mformal[39m[38;5;12m [39m[38;5;12mlanguage[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mwrite[39m[38;5;12m [39m[38;5;12mmathematical[39m[38;5;12m [39m[38;5;12mdefinitions,[39m[38;5;12m [39m[38;5;12mexecutable[39m[38;5;12m [39m[38;5;12malgorithms,[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mtheorems,[39m[38;5;12m [39m[38;5;12mtogether[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m[38;5;12man[39m[38;5;12m [39m[38;5;12menvironment[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12msemi-interactive[39m[38;5;12m [39m[38;5;12mdevelopment[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m
|
||||
[38;5;12mmachine-checked[39m[38;5;12m [39m[38;5;12mproofs.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mWhy3[0m[38;5;12m [39m[38;5;12m(http://why3.lri.fr/)[39m[38;5;12m [39m[38;5;12m–[39m[38;5;12m [39m[38;5;12mWhy3[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mplatform[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mdeductive[39m[38;5;12m [39m[38;5;12mprogram[39m[38;5;12m [39m[38;5;12mverification.[39m[38;5;12m [39m[38;5;12mIt[39m[38;5;12m [39m[38;5;12mprovides[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mrich[39m[38;5;12m [39m[38;5;12mlanguage[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mspecification[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mprogramming,[39m[38;5;12m [39m[38;5;12mcalled[39m[38;5;12m [39m[38;5;12mWhyML,[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mrelies[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mexternal[39m[38;5;12m [39m[38;5;12mtheorem[39m[38;5;12m [39m[38;5;12mprovers,[39m[38;5;12m [39m[38;5;12mboth[39m[38;5;12m [39m[38;5;12mautomated[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12minteractive,[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m
|
||||
[38;5;12mdischarge[39m[38;5;12m [39m[38;5;12mverification[39m[38;5;12m [39m[38;5;12mconditions.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mAlt-Ergo[0m[38;5;12m (http://alt-ergo.lri.fr/) – Alt-Ergo is an open-source SMT solver dedicated to the proof of mathematical formulas generated in the context of program verification.[39m
|
||||
|
||||
|
||||
@@ -365,8 +368,8 @@
|
||||
[38;5;12m- [39m[38;5;14m[1mInlined records in constructors[0m[38;5;12m (https://www.lexifi.com/ocaml/inlined-records-constructors/)[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mAlgebraic Data Types[0m[38;5;12m (https://espertech.wordpress.com/2014/07/30/algebraic-data-types/)[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mXEN – OCaml Best Practices for Developers[0m[38;5;12m (http://wiki.xen.org/wiki/OCaml_Best_Practices_for_Developers)[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mOCaml[0m[38;5;14m[1m [0m[38;5;14m[1mStyle[0m[38;5;14m[1m [0m[38;5;14m[1mGuide[0m[38;5;14m[1m [0m[38;5;14m[1m(by[0m[38;5;14m[1m [0m[38;5;14m[1mJane[0m[38;5;14m[1m [0m[38;5;14m[1mStreet)[0m[38;5;12m [39m[38;5;12m(https://opensource.janestreet.com/standards/)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mSee[39m[38;5;12m [39m[38;5;12malso:[39m[38;5;12m [39m[38;5;12m1[39m[38;5;14m[1m [0m[38;5;12m [39m[38;5;12m(https://www.seas.upenn.edu/~cis500/cis500-f06/resources/programming_style.html),[39m[38;5;12m [39m[38;5;12m2[39m[38;5;14m[1m [0m[38;5;12m [39m
|
||||
[38;5;12m(http://www.cs.cornell.edu/Courses/cs312/2001sp/style.html),[39m[38;5;12m [39m[38;5;12m3[39m[38;5;14m[1m [0m[38;5;12m [39m[38;5;12m(https://www.seas.upenn.edu/~cis120/20fa/ocaml_style/).[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mOCaml[0m[38;5;14m[1m [0m[38;5;14m[1mStyle[0m[38;5;14m[1m [0m[38;5;14m[1mGuide[0m[38;5;14m[1m [0m[38;5;14m[1m(by[0m[38;5;14m[1m [0m[38;5;14m[1mJane[0m[38;5;14m[1m [0m[38;5;14m[1mStreet)[0m[38;5;12m [39m[38;5;12m(https://opensource.janestreet.com/standards/)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mSee[39m[38;5;12m [39m[38;5;12malso:[39m[38;5;12m [39m[38;5;12m1[39m[38;5;14m[1m [0m[38;5;12m [39m[38;5;12m(https://www.seas.upenn.edu/~cis500/cis500-f06/resources/programming_style.html),[39m[38;5;12m [39m[38;5;12m2[39m[38;5;14m[1m [0m[38;5;12m [39m[38;5;12m(http://www.cs.cornell.edu/Courses/cs312/2001sp/style.html),[39m[38;5;12m [39m[38;5;12m3[39m
|
||||
[38;5;12m(https://www.seas.upenn.edu/~cis120/20fa/ocaml_style/).[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mA safe but strange way of modifying OCaml compiler[0m[38;5;12m (https://camlspotter.blogspot.com/2012/09/a-safe-but-strange-way-of-modifying.html)[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mFiddling with the OCaml Type System[0m[38;5;12m (https://technotroph.wordpress.com/2013/10/25/fiddling-with-the-ocaml-type-system/)[39m
|
||||
|
||||
@@ -383,6 +386,7 @@
|
||||
[38;5;12m- [39m[38;5;14m[1mMLDonkey[0m[38;5;12m (https://github.com/ygrek/mldonkey) - cross-platform multi-network peer-to-peer daemon[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mOni2[0m[38;5;12m (https://github.com/onivim/oni2) - Native, lightweight modal code editor.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mpfff[0m[38;5;12m (https://github.com/returntocorp/pfff) - an OCaml API to write static analysis, dynamic analysis, code visualizations, code navigations, or style-preserving source-to-source transformations such as refactorings on source code.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mTezos[0m[38;5;12m (https://gitlab.com/tezos/tezos) - a self-upgradable Proof of Stake blockchain[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mWHY3[0m[38;5;12m (https://gitlab.inria.fr/why3/why3) - platform for deductive program verification[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mxen-api[0m[38;5;12m (https://github.com/xapi-project/xen-api) - management stack that configures and controls Xen-enabled hosts and resource pools, and co-ordinates resources within the pool.[39m
|
||||
|
||||
@@ -478,8 +482,8 @@
|
||||
|
||||
[38;5;12m- [39m[38;5;14m[1mBuild Tools[0m[38;5;12m:[39m
|
||||
[38;5;12m - [39m[38;5;14m[1mdune[0m[38;5;12m (https://github.com/ocaml/dune) – A composable and opinionated build system for OCaml (former jbuilder)[39m
|
||||
[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mOasis[0m[38;5;12m [39m[38;5;12m(http://oasis.forge.ocamlcore.org/)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mA[39m[38;5;12m [39m[38;5;12mtool[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mintegrate[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mconfigure,[39m[38;5;12m [39m[38;5;12mbuild[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12minstall[39m[38;5;12m [39m[38;5;12msystem[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12myour[39m[38;5;12m [39m[38;5;12mOCaml[39m[38;5;12m [39m[38;5;12mproject.[39m[38;5;12m [39m[38;5;12mIt[39m[38;5;12m [39m[38;5;12mhelps[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mcreate[39m[38;5;12m [39m[38;5;12mstandard[39m[38;5;12m [39m[38;5;12mentry[39m[38;5;12m [39m[38;5;12mpoints[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12myour[39m[38;5;12m [39m[38;5;12mbuild[39m[38;5;12m [39m[38;5;12msystem[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mallows[39m[38;5;12m [39m[38;5;12mexternal[39m[38;5;12m [39m[38;5;12mtools[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12manalyse[39m[38;5;12m [39m[38;5;12myour[39m[38;5;12m [39m
|
||||
[38;5;12mproject[39m[38;5;12m [39m[38;5;12measily.[39m
|
||||
[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mOasis[0m[38;5;12m [39m[38;5;12m(http://oasis.forge.ocamlcore.org/)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mA[39m[38;5;12m [39m[38;5;12mtool[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mintegrate[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mconfigure,[39m[38;5;12m [39m[38;5;12mbuild[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12minstall[39m[38;5;12m [39m[38;5;12msystem[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12myour[39m[38;5;12m [39m[38;5;12mOCaml[39m[38;5;12m [39m[38;5;12mproject.[39m[38;5;12m [39m[38;5;12mIt[39m[38;5;12m [39m[38;5;12mhelps[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mcreate[39m[38;5;12m [39m[38;5;12mstandard[39m[38;5;12m [39m[38;5;12mentry[39m[38;5;12m [39m[38;5;12mpoints[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12myour[39m[38;5;12m [39m[38;5;12mbuild[39m[38;5;12m [39m[38;5;12msystem[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mallows[39m[38;5;12m [39m[38;5;12mexternal[39m[38;5;12m [39m[38;5;12mtools[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12manalyse[39m[38;5;12m [39m[38;5;12myour[39m[38;5;12m [39m[38;5;12mproject[39m[38;5;12m [39m
|
||||
[38;5;12measily.[39m
|
||||
[48;5;235m[38;5;249m- **oasis2opam** (https://github.com/ocaml/oasis2opam) — Tool to convert OASIS metadata to OPAM package descriptions.[49m[39m
|
||||
[38;5;12m - [39m[38;5;14m[1mobuild[0m[38;5;12m (https://github.com/ocaml-obuild/obuild) – Simple package build system for ocaml.[39m
|
||||
[38;5;12m - [39m[38;5;14m[1mocaml-makefile[0m[38;5;12m (https://github.com/mmottl/ocaml-makefile) — Easy to use Makefile for small to medium-sized OCaml-projects.[39m
|
||||
@@ -537,7 +541,7 @@
|
||||
[38;5;12m- [39m[38;5;14m[1mOCaml - polymorphic print and type losing[0m[38;5;12m (https://stackoverflow.com/questions/7442449/ocaml-polymorphic-print-and-type-losing)[39m
|
||||
|
||||
|
||||
[38;5;12m [39m[38;2;255;187;0m[1m[4mScience and Technical Computing[0m
|
||||
[38;5;12m [39m[38;2;255;187;0m[1m[4mScience and Technical Computing[0m
|
||||
|
||||
[38;5;12m- [39m[38;5;14m[1mbiocaml[0m[38;5;12m (https://github.com/biocaml/biocaml) – OCaml Bioinformatics Library .[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mbistro[0m[38;5;12m (https://github.com/pveber/bistro) – OCaml library for building bioinformatics pipelines.[39m
|
||||
@@ -566,8 +570,7 @@
|
||||
[38;5;12m- [39m[38;5;14m[1mDigestif[0m[38;5;12m (https://github.com/mirage/digestif) - Hash algorithms (like SHA[39m[48;2;30;30;40m[38;5;13m[3m or BLAKE2[0m[38;5;12m) in OCaml and C.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mcryptokit[0m[38;5;12m (https://github.com/xavierleroy/cryptokit) – The Cryptokit library for OCaml provides a variety of cryptographic primitives that can be used to implement cryptographic protocols in security-sensitive applications.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mnocoiner[0m[38;5;12m (https://github.com/marcoonroad/nocoiner) - A Commitment scheme library for Multi-party computations such as online auctions and gambling.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mnocrypto[0m[38;5;12m [39m[38;5;12m(https://github.com/mirleft/ocaml-nocrypto)[39m[38;5;12m [39m[38;5;12m–[39m[38;5;12m [39m[38;5;12mA[39m[38;5;12m [39m[38;5;12msmall[39m[38;5;12m [39m[38;5;12mcryptographic[39m[38;5;12m [39m[38;5;12mlibrary[39m[38;5;12m [39m[38;5;12mbehind[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mocaml-tls[39m[38;5;12m [39m[38;5;12mproject.[39m[38;5;12m [39m[38;5;12mIt[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12mbuilt[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mbe[39m[38;5;12m [39m[38;5;12mstraightforward[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12muse,[39m[38;5;12m [39m[38;5;12madhere[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mfunctional[39m[38;5;12m [39m[38;5;12mprogramming[39m[38;5;12m [39m[38;5;12mprinciples,[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mable[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mrun[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mXen-based[39m[38;5;12m [39m
|
||||
[38;5;12munikernel.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mnocrypto[0m[38;5;12m (https://github.com/mirleft/ocaml-nocrypto) – A small cryptographic library behind the ocaml-tls project. It is built to be straightforward to use, adhere to functional programming principles, and able to run in a Xen-based unikernel.[39m
|
||||
|
||||
[38;5;11m[1m▐[0m[38;5;12m [39m[38;5;12mNote: The differences between [39m[48;5;235m[38;5;249mnocrypto[49m[39m[38;5;12m and [39m[48;5;235m[38;5;249mcryptokit[49m[39m[38;5;12m cryptographic libraries are described in the following blog post: [39m[38;5;14m[1mOCaml-TLS: building the nocrypto library core[0m[38;5;12m (https://mirage.io/blog/introducing-nocrypto).[39m
|
||||
|
||||
@@ -626,11 +629,11 @@
|
||||
|
||||
[38;5;12m- [39m[38;5;14m[1mFrameworks[0m[38;5;12m:[39m
|
||||
[38;5;12m - [39m[38;5;14m[1mOpium[0m[38;5;12m (https://github.com/rgrinberg/opium) – Sinatra like web toolkit for OCaml.[39m
|
||||
[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mOcsigen[0m[38;5;14m[1m [0m[38;5;14m[1mEliom[0m[38;5;12m [39m[38;5;12m(http://ocsigen.org/eliom/)[39m[38;5;12m [39m[38;5;12m–[39m[38;5;12m [39m[38;5;12mEliom[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mfull-featured[39m[38;5;12m [39m[38;5;12mmulti-tier[39m[38;5;12m [39m[38;5;12mframework,[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mdeveloping[39m[38;5;12m [39m[38;5;12mmulti-platform[39m[38;5;12m [39m[38;5;12mWeb[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mmobile[39m[38;5;12m [39m[38;5;12mapps[39m[38;5;12m [39m[38;5;12mas[39m[38;5;12m [39m[38;5;12m100%[39m[38;5;12m [39m[38;5;12mOCaml[39m[38;5;12m [39m[38;5;12mdistributed[39m[38;5;12m [39m[38;5;12mapplications.[39m[38;5;12m [39m[38;5;12mIt[39m[38;5;12m [39m[38;5;12mcan[39m[38;5;12m [39m[38;5;12malso[39m[38;5;12m [39m[38;5;12mbe[39m[38;5;12m [39m[38;5;12mused[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mmore[39m[38;5;12m [39m[38;5;12mtraditional[39m[38;5;12m [39m[38;5;12mWeb[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m
|
||||
[38;5;12mmobile[39m[38;5;12m [39m[38;5;12mapps:[39m[38;5;12m [39m[38;5;12mWeb[39m[38;5;12m [39m[38;5;12msites,[39m[38;5;12m [39m[38;5;12msingle[39m[38;5;12m [39m[38;5;12mpage[39m[38;5;12m [39m[38;5;12mapplications,[39m[38;5;12m [39m[38;5;12mREST[39m[38;5;12m [39m[38;5;12mAPI,[39m[38;5;12m [39m[38;5;12metc.[39m
|
||||
[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mOcsigen[0m[38;5;14m[1m [0m[38;5;14m[1mEliom[0m[38;5;12m [39m[38;5;12m(http://ocsigen.org/eliom/)[39m[38;5;12m [39m[38;5;12m–[39m[38;5;12m [39m[38;5;12mEliom[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mfull-featured[39m[38;5;12m [39m[38;5;12mmulti-tier[39m[38;5;12m [39m[38;5;12mframework,[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mdeveloping[39m[38;5;12m [39m[38;5;12mmulti-platform[39m[38;5;12m [39m[38;5;12mWeb[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mmobile[39m[38;5;12m [39m[38;5;12mapps[39m[38;5;12m [39m[38;5;12mas[39m[38;5;12m [39m[38;5;12m100%[39m[38;5;12m [39m[38;5;12mOCaml[39m[38;5;12m [39m[38;5;12mdistributed[39m[38;5;12m [39m[38;5;12mapplications.[39m[38;5;12m [39m[38;5;12mIt[39m[38;5;12m [39m[38;5;12mcan[39m[38;5;12m [39m[38;5;12malso[39m[38;5;12m [39m[38;5;12mbe[39m[38;5;12m [39m[38;5;12mused[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mmore[39m[38;5;12m [39m[38;5;12mtraditional[39m[38;5;12m [39m[38;5;12mWeb[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;12mmobile[39m[38;5;12m [39m[38;5;12mapps:[39m[38;5;12m [39m
|
||||
[38;5;12mWeb[39m[38;5;12m [39m[38;5;12msites,[39m[38;5;12m [39m[38;5;12msingle[39m[38;5;12m [39m[38;5;12mpage[39m[38;5;12m [39m[38;5;12mapplications,[39m[38;5;12m [39m[38;5;12mREST[39m[38;5;12m [39m[38;5;12mAPI,[39m[38;5;12m [39m[38;5;12metc.[39m
|
||||
[38;5;12m - [39m[38;5;14m[1mDream[0m[38;5;12m (https://aantron.github.io/dream/) - Tidy Web framework for OCaml and ReasonML[39m
|
||||
[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mwebmachine[0m[38;5;12m [39m[38;5;12m(https://github.com/inhabitedtype/ocaml-webmachine)[39m[38;5;12m [39m[38;5;12m–[39m[38;5;12m [39m[38;5;12mA[39m[38;5;12m [39m[38;5;12mREST[39m[38;5;12m [39m[38;5;12mtoolkit[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mOCaml.[39m[38;5;12m [39m[38;5;12mOCaml[39m[38;5;12m [39m[38;5;12mwebmachine[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mlayer[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mtop[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mcohttp[39m[38;5;12m [39m[38;5;12mthat[39m[38;5;12m [39m[38;5;12mimplements[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mstate-machine-based[39m[38;5;12m [39m[38;5;12mHTTP[39m[38;5;12m [39m[38;5;12mrequest[39m[38;5;12m [39m[38;5;12mprocessor.[39m[38;5;12m [39m[38;5;12mIt's[39m[38;5;12m [39m[38;5;12mparticularly[39m[38;5;12m [39m[38;5;12mwell-suited[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m
|
||||
[38;5;12mwriting[39m[38;5;12m [39m[38;5;12mRESTful[39m[38;5;12m [39m[38;5;12mAPIs.[39m[38;5;12m [39m[38;5;12mAs[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mname[39m[38;5;12m [39m[38;5;12msuggests,[39m[38;5;12m [39m[38;5;12mthis[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12man[39m[38;5;12m [39m[38;5;12mOCaml[39m[38;5;12m [39m[38;5;12mport[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mwebmachine[39m[38;5;12m [39m[38;5;12mproject.[39m
|
||||
[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mwebmachine[0m[38;5;12m [39m[38;5;12m(https://github.com/inhabitedtype/ocaml-webmachine)[39m[38;5;12m [39m[38;5;12m–[39m[38;5;12m [39m[38;5;12mA[39m[38;5;12m [39m[38;5;12mREST[39m[38;5;12m [39m[38;5;12mtoolkit[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mOCaml.[39m[38;5;12m [39m[38;5;12mOCaml[39m[38;5;12m [39m[38;5;12mwebmachine[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mlayer[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mtop[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mcohttp[39m[38;5;12m [39m[38;5;12mthat[39m[38;5;12m [39m[38;5;12mimplements[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mstate-machine-based[39m[38;5;12m [39m[38;5;12mHTTP[39m[38;5;12m [39m[38;5;12mrequest[39m[38;5;12m [39m[38;5;12mprocessor.[39m[38;5;12m [39m[38;5;12mIt's[39m[38;5;12m [39m[38;5;12mparticularly[39m[38;5;12m [39m[38;5;12mwell-suited[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mwriting[39m[38;5;12m [39m
|
||||
[38;5;12mRESTful[39m[38;5;12m [39m[38;5;12mAPIs.[39m[38;5;12m [39m[38;5;12mAs[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mname[39m[38;5;12m [39m[38;5;12msuggests,[39m[38;5;12m [39m[38;5;12mthis[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12man[39m[38;5;12m [39m[38;5;12mOCaml[39m[38;5;12m [39m[38;5;12mport[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mwebmachine[39m[38;5;12m [39m[38;5;12mproject.[39m
|
||||
[38;5;12m - [39m[38;5;14m[1mincr_dom[0m[38;5;12m (https://github.com/janestreet/incr_dom) - A library for building dynamic webapps, using Js_of_ocaml[39m
|
||||
[38;5;12m - [39m[38;5;14m[1mfmlib_browser[0m[38;5;12m (https://hbr.github.io/fmlib/odoc/fmlib_browser/doc_overview.html) - a library which helps to write web applications which run in the browser in a pure functional style.[39m
|
||||
[38;5;12m - [39m[38;5;14m[1mocaml-vdom[0m[38;5;12m (https://github.com/LexiFi/ocaml-vdom) - Elm architecture and (V)DOM for OCaml[39m
|
||||
@@ -671,3 +674,5 @@
|
||||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[48;2;30;30;40m[38;5;13m[3m [0m
|
||||
|
||||
[38;5;12m_Inspired by awesome projects line. Discover [39m[38;5;14m[1mmore awesomeness[0m[38;5;12m (https://github.com/bayandin/awesome-awesomeness) :sparkles:._[39m
|
||||
|
||||
[38;5;12mocaml Github: https://github.com/ocaml-community/awesome-ocaml[39m
|
||||
|
||||
Reference in New Issue
Block a user