A concise reference for the programming paradigms listed in this article.
Bragg, S.D.; Driskill, C.G. (20–22 September 1994). "Diagrammatic-graphical programming languages and DoD-STD-2167A". Proceedings of AUTOTESTCON '94 (IEEEXplore). Institute of Electrical and Electronics Engineers (IEEE). pp. 211–220. doi:10.1109/AUTEST.1994.381508. ISBN 978-0-7803-1910-3. S2CID 62509261. 978-0-7803-1910-3
Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, Section 9: Tasks and Synchronization http://www.adaic.org/standards/05rm/html/RM-TTL.html
Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3 Annex E: Distributed Systems http://www.adaic.org/standards/05rm/html/RM-TTL.html
Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, Section 12: Generic Units http://www.adaic.org/standards/05rm/html/RM-TTL.html
Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, Section 6: Subprograms http://www.adaic.org/standards/05rm/html/RM-TTL.html
Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, 3.9 Tagged Types and Type Extensions http://www.adaic.org/standards/05rm/html/RM-TTL.html
rendezvous and monitor-like based
class-based
class-based
class-based
Thread support http://en.cppreference.com/w/cpp/thread
Atomics support http://en.cppreference.com/w/cpp/atomic
Memory model https://cppandbeyond.wordpress.com/2011/04/11/session-announcement-the-c0x-memory-model-and-why-you-care
Gecode http://www.gecode.org/
SystemC http://www.accellera.org/downloads/standards/systemc/about_systemc/
Boost.Iostreams http://www.boost.org/libs/iostreams/
Boolinq https://code.google.com/p/boolinq/
"AraRat" (PDF). Archived from the original (PDF) on 2019-08-19. Retrieved 2019-09-15. https://web.archive.org/web/20190819105358/http://www.cs.technion.ac.il/~lkeren/scp.pdf
OpenMPI http://www.open-mpi.org/
Boost.MPI http://www.boost.org/libs/mpi/
Boost.MPL http://www.boost.org/libs/mpl/
template metaprogramming
LC++ http://cgi.di.uoa.gr/~smaragd/lc++/
Castor Archived 2013-01-25 at the Wayback Machine http://www.mpprogramming.com/Cpp/Default.aspx
Reflect Library https://bytemaster.github.com/boost_reflect/
class-based
N3534 http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2013/n3534.html
Boost.Spirit http://www.boost.org/libs/spirit/
using TPL Dataflow http://msdn.microsoft.com/en-us/devlabs/gg585582.aspx
only lambda support (lazy functional programming) /wiki/Lambda_calculus
class-based
using Reactive Extensions (Rx) http://msdn.microsoft.com/en-us/data/gg577609.aspx
class-based
class-based
Clojure - Concurrent Programming https://clojure.org/about/concurrent_programming
Clojure - core.async https://github.com/clojure/core.async
Clojure - Functional Programming https://clojure.org/about/functional_programming
Clojure - Macros https://clojure.org/reference/macros
Clojure - core.logic https://github.com/clojure/core.logic/
Clojure - Threading Macros Guide https://clojure.org/guides/threading_macros
"Light Table". 2019-04-08. http://lighttable.com/
Multimethods and Hierarchies https://clojure.org/reference/multimethods
Agents and Asynchronous Actions https://clojure.org/reference/agents
"concurrency". CLiki. https://www.cliki.net/Concurrency
[1] constraint programming inside CL through extensions https://www.cliki.net/screamer
[2] dataflow extension https://www.cliki.net/Cells
[3] by creating DSLs using the built-in metaprogramming; also see note on functional, constraint and logic paradigms, which are part of declarative http://www.gigamonkeys.com/book/practical-an-html-generation-library-the-interpreter.html
[4] MPI, etc via language extensions https://www.cliki.net/Distributed
template metaprogramming using macros (see C++)
[5] [6] [7] Prolog implemented as a language extension https://www.cliki.net/Prolog
multiple dispatch, method combinations
class-based
Common Lisp Object System see Wikipedia article on CLOS, the Common Lisp Object System. /wiki/Common_Lisp_Object_System
implemented by the user via a short macro, example of implementation http://blog.vjeux.com/2011/lisp/lisp-chaining-operator.html
- Visual programming tool based on Common Lisp https://github.com/honix/Lire
[8] rule-based programming extension http://lisa.sourceforge.net/
[9] Archived 2018-04-26 at the Wayback Machine through the Meta Object Protocol https://common-lisp.net/project/ecl/static/manual/ch31.html
template metaprogramming
class-based
D Language Feature Table http://www.digitalmars.com/d/2.0/comparison.html
Phobos std.algorithm http://www.digitalmars.com/d/2.0/phobos/std_algorithm.html
actor programming
D language String Mixins http://dlang.org/mixin.html
template metaprogramming
template metaprogramming
class-based
template metaprogramming
class-based
class-based
class-based
The Little JavaScripter demonstrates fundamental commonality with Scheme, a functional language. http://www.crockford.com/javascript/little.html
Object-Oriented Programming in JavaScript Archived 2019-02-10 at the Wayback Machine gives an overview of object-oriented programming techniques in JavaScript. http://mckoss.com/jscript/object.htm
promises, native extensions
using Node.js' cluster module or child_process.fork method, web workers in the browser, etc. /wiki/Node.js
"React – A JavaScript library for building user interfaces". 2019-04-08. https://reactjs.org/
"TNG-Hooks". GitHub. 2019-04-08. https://github.com/getify/tng-hooks
Prototype-based
"Lodash documentation". 2019-04-08. https://lodash.com/docs/4.17.11#flow
"mori". 2019-04-08. https://swannodette.github.io/mori/#pipeline
"Light Table". 2019-04-08. http://lighttable.com/
using Reactive Extensions (RxJS) http://reactivex.io/rxjs/
"TNG-Hooks". GitHub. 2019-04-08. https://github.com/getify/tng-hooks
in Node.js via their events module https://nodejs.org/api/events.html
in browsers via their native EventTarget API https://developer.mozilla.org/en-US/docs/Web/API/EventTarget
purely functional
actor programming
using TPL Dataflow http://msdn.microsoft.com/en-us/devlabs/gg585582.aspx
class-based
using Reactive Extensions (Rx) http://msdn.microsoft.com/en-us/data/gg577609.aspx
purely functional
parameterized classes
class-based
"Prolog embedding". Haskell.org. https://hackage.haskell.org/package/hswip
"Functional Reactive Programming". HaskellWiki. https://wiki.haskell.org/Functional_Reactive_Programming
Cloud Haskell https://haskell-distributed.github.io/
purely functional
"Template Haskell". HaskellWiki. https://wiki.haskell.org/Template_Haskell
"Logict: A backtracking logic-programming monad". Haskell.org. https://hackage.haskell.org/package/logict
immutable
Kollmansberger, Steve; Erwig, Martin (30 May 2006). "Haskell Rules: Embedding Rule Systems in Haskell" (PDF). Oregon State University. https://web.engr.oregonstate.edu/~erwig/HaskellRules/HaskellRules_June06.pdf
actor programming
Prototype-based
class-based
https://jcp.org/en/jsr/detail?id=331 JSR 331: Constraint Programming API https://jcp.org/en/jsr/detail?id=331
https://github.com/GoogleCloudPlatform/DataflowJavaSDK Google Cloud Platform Dataflow SDK https://github.com/GoogleCloudPlatform/DataflowJavaSDK
class-based
"JuliaOpt/JuMP.jl". GitHub. JuliaOpt. 11 February 2020. Retrieved 12 February 2020. https://github.com/JuliaOpt/JuMP.jl
"GitHub - MikeInnes/DataFlow.jl". GitHub. 2019-01-15. https://github.com/MikeInnes/DataFlow.jl
"GitHub - JuliaGizmos/Reactive.jl: Reactive programming primitives for Julia". GitHub. 2018-12-28. https://github.com/JuliaGizmos/Reactive.jl
https://github.com/davidanthoff/Query.jl Query almost anything in julia https://github.com/davidanthoff/Query.jl
https://github.com/lilinjn/LilKanren.jl A collection of Kanren implementations in Julia https://github.com/lilinjn/LilKanren.jl
Uses structs with function polymorphism and multiple dispatch
"GitHub - abeschneider/PEGParser.jl: PEG Parser for Julia". GitHub. 2018-12-03. https://github.com/abeschneider/PEGParser.jl
"GitHub - gitfoxi/Parsimonious.jl: A PEG parser generator for Julia". GitHub. 2017-08-03. https://github.com/gitfoxi/Parsimonious.jl
Lazy https://github.com/MikeInnes/Lazy.jl https://github.com/MikeInnes/Lazy.jl
class-based
class-based
Prototype-based
"Execute loop iterations in parallel". mathworks.com. Retrieved 21 October 2016. http://mathworks.com/help/distcomp/parfor.html
"Write Constraints". mathworks.com. Retrieved 21 October 2016. https://mathworks.com/help/optim/write-constraints.html
"Getting Started with SimEvents". mathworks.com. Retrieved 21 October 2016. https://mathworks.com/help/simevents/getting-started-with-simevents.html
"Execute loop iterations in parallel". mathworks.com. Retrieved 21 October 2016. http://mathworks.com/help/distcomp/parfor.html
"Execute MATLAB expression in text - MATLAB eval". mathworks.com. Retrieved 21 October 2016. https://mathworks.com/help/matlab/ref/eval.html
"Determine class of object". mathworks.com. Retrieved 21 October 2016. https://mathworks.com/help/matlab/ref/class.html
"Class Metadata". mathworks.com. Retrieved 21 October 2016. https://mathworks.com/help/matlab/get-information-about-classes-and-objects.html
"Object-Oriented Programming". mathworks.com. Retrieved 21 October 2016. https://mathworks.com/help/matlab/object-oriented-programming.html
"Simulink". mathworks.com. Retrieved 21 October 2016. https://mathworks.com/help/simulink/
class-based
class-based
class-based
class-based
interpreter based threads http://perldoc.perl.org/threads.html
Higher Order Perl http://hop.perl.plover.com/book/
class-based
class-based
PHP Manual, Chapter 17. Functions http://php.net/manual/en/index.php
PHP Manual, Chapter 19. Classes and Objects (PHP 5) http://php.net/manual/en/index.php
PHP Manual, Anonymous functions http://php.net/manual/en/index.php
class-based
class-based
"Parallel Processing and Multiprocessing in Python". Python Wiki. Retrieved 21 October 2016. https://wiki.python.org/moin/ParallelProcessing
"threading — Higher-level threading interface". docs.python.org. Retrieved 21 October 2016. https://docs.python.org/2/library/threading.html
"python-constraint". pypi.python.org. Retrieved 21 October 2016. https://pypi.python.org/pypi/python-constraint
"DistributedProgramming". Python Wiki. Retrieved 21 October 2016. https://wiki.python.org/moin/DistributedProgramming
"Chapter 9. Metaprogramming". chimera.labs.oreilly.com. Archived from the original on 23 October 2016. Retrieved 22 October 2016. https://web.archive.org/web/20161023050954/http://chimera.labs.oreilly.com/books/1230000000393/ch09.html
"Metaprogramming". readthedocs.io. Retrieved 22 October 2016. https://python-3-patterns-idioms-test.readthedocs.io/en/latest/Metaprogramming.html
"PEP 443 – Single-dispatch generic functions". python.org. Retrieved 22 October 2016. https://www.python.org/dev/peps/pep-0443/
"PEP 484 – Type Hints". python.org. Retrieved 22 October 2016. https://www.python.org/dev/peps/pep-0484/#generics
"PyDatalog". Retrieved 22 October 2016. https://sites.google.com/site/pydatalog/
class-based
"Light Table". 2019-04-08. http://lighttable.com/
"Futureverse". https://www.futureverse.org/
"future batchtools". https://future.batchtools.futureverse.org/
"Magrittr: A Forward Pipe Operator for R". cran.r-project.org\access-date=13 July 2017. 17 November 2020. https://cran.r-project.org/package=magrittr
Racket Guide: Concurrency and Synchronization https://docs.racket-lang.org/guide/concurrency.html
The Rosette Guide https://docs.racket-lang.org/rosette-guide/
FrTime: A Language for Reactive Programs https://docs.racket-lang.org/frtime/
Racket Guide: Distributed Places https://docs.racket-lang.org/guide/parallelism.html#%28part._distributed-places%29
Lazy Racket https://docs.racket-lang.org/lazy/
Channels and other mechanisms https://docs.perl6.org/language/concurrency
"Problem Solver module". https://raku.land/github:FCO/ProblemSolver
Feed operator https://docs.perl6.org/routine/==%3E
https://github.com/perl6/doc/issues/1744#issuecomment-360565196 Cro module https://github.com/perl6/doc/issues/1744#issuecomment-360565196
"Meta-programming: What, why and how". 2011-12-14. https://perl6advent.wordpress.com/2011/12/14/meta-programming-what-why-and-how/
https://perl6advent.wordpress.com/2009/12/18/day-18-roles/ Parametrized Roles https://perl6advent.wordpress.com/2009/12/18/day-18-roles/
"Meta-object protocol (MOP)". https://docs.perl6.org/language/mop
https://docs.perl6.org/language/classtut Classes and Roles https://docs.perl6.org/language/classtut
class-based
actor programming
"The Rust macros guide". Rust. Retrieved 19 January 2015. http://doc.rust-lang.org/1.0.0-alpha/book/macros.html
"The Rust compiler plugins guide". Rust. Retrieved 19 January 2015. http://doc.rust-lang.org/1.0.0-alpha/book/plugins.html
The Rust Reference §6.1.3.1 http://doc.rust-lang.org/1.0.0-alpha/reference.html#generic-functions
class-based
An Overview of the Scala Programming Language http://www.scala-lang.org/sites/default/files/linuxsoft_archives/docu/files/ScalaOverview.pdf
Scala Language Specification https://wayback.archive-it.org/all/20171003043151/http://www.scala-lang.org/sites/default/files/linuxsoft_archives/docu/files/ScalaReference.pdf
actor programming
Akka Archived 2013-01-19 at the Wayback Machine http://doc.akka.io/docs/akka/snapshot/scala/dataflow.html
class-based
class-based
class-based
"Tcl Programming/Introduction". en.wikibooks.org. Retrieved 22 October 2016. https://en.wikibooks.org/wiki/Tcl_Programming/Introduction#One_language.2C_many_styles
Prototype-based
"TCLLIB - Tcl Standard Library: snitfaq". sourceforge.net. Retrieved 22 October 2016. http://tmml.sourceforge.net/doc/tcllib/snitfaq.html
using TPL Dataflow http://msdn.microsoft.com/en-us/devlabs/gg585582.aspx
class-based
using Reactive Extensions (Rx) http://msdn.microsoft.com/en-us/data/gg577609.aspx
class-based
Notes for Programming Language Experts, Wolfram Language Documentation. http://www.wolfram.com/language/for-experts/
External Programs, Wolfram Language Documentation. https://reference.wolfram.com/language/tutorial/ExternalPrograms.html