awesome-philosophy-compsci
awesome-philosophy-compsci copied to clipboard
A list of resources that cross the disciplines of Computer Science and Philosophy
-
Related Sites
- [PhiloComp](#org9dfce1f)
-
Encyclopedia Entries
-
Stanford Encyclopedia of Philosophy
- [Category Theory](#orgd753dfc)
- [Computability and Complexity](#orgfd0a997)
- [Computation in Physical Systems](#org1565132)
- [Computational Complexity Theory](#org8625c56)
- [Computer and Information Ethics](#org5ae43cc)
- [Computing and Moral Responsibility](#orgc4d0812)
- [Information](#org56f2ae9)
- [The Lambda Calculus](#org6e6c78f)
- [Logic and Artificial Intelligence](#org2b1b5b9)
- [Philosophy of Computer Science](#orgc5edb95)
- [Philosophy of Mathematics](#orgb2e078b)
- [Philosophy of Technology](#org8c655b9)
- [Recursive Functions](#org28e8d82)
- [Semantic Conceptions of Information](#orgcdb591d)
- [Set Theory](#org45dbb04)
-
Internet Encyclopedia of Philosophy
- [Artificial Intelligence](#orgf51edc3)
- [The Brain in a Vat Argument](#orge788017)
- [The Computational Theory of Mind](#orgfddf972)
-
Wikipedia
- [Constraint logic programming](#org0dec235)
- [Logic Programming](#org7b4e7d9)
- [Negation as failure](#org5c71070)
-
Stanford Encyclopedia of Philosophy
-
Bibliographies
- [Philosophy of Computing and Information at PhilPapers](#orgd68230d)
- [Philosophy of Computer Science at DBLP](#org0b7a74e)
-
Books
-
Freely available
- [Philosophy of Computer Science by William Rapaport](#org6ec0987)
- [Think Complexity, Second Edition by Allen Downey](#orgea52855)
-
Freely available
-
Ontology of Philosophy of Computer Science
- [Internet Philosophy Ontology Project](#orgc99b71f)
-
Blogs
- [Bartosz Milewski's Programming Cafe](#orgaef2548)
- [Gödel's Lost Letter and P=NP](#org1960163)
- [Hillel Wayne's blog](#orgebd7169)
- [The n-Category Café](#orgb3d8bcb)
- [Shtetl-Optimized](#orgdb88629)
- [Theory of Computing Blog Aggregator](#org5529c30)
-
Organizations and Societies
- [Association for Logic Programming](#org596729b)
- [International Association for Computing And Philosophy](#orgc448fce)
-
Conferences and Symposia
- [ACM/IEEE Symposium on Logic in Computer Science](#org406d0f2)
-
Logic
- [An Automated Modal Reasoner](#orge7ba9fb)
- [Arend Theorem Prover](#org0082320)
- [Argdown](#orgf3abd61)
- [Carnap](#orge30c82e)
- [Conan- A proof editor for first order logic](#org08940c0)
- [Coq Proof Assistant](#org6903ea2)
- [GitHub repository](#orgf0321c7)
- [Home page of Wiki](#org5b01800)
- [GAPT: General Architecture for Proof Theory](#orge4ccdd4)
- [List of Computational Tools for Modal Logic](#orge3150e7)
- [Logic Matters](#orge97e3cf)
- [Microsoft's Lean](#org3f8267f)
- [Open Logic Project](#orgfc6fe69)
- [Proof General](#org82a51c4)
- [SymPy Logic Module](#org138e480)
- [Taut](#orgda22b42)
-
Programming Languages and Libraries
- [Metamath](#org8919e64)
- [miniKanren](#org488fcb2)
-
Lisp
- [Common Lisp](#org327ec20)
- [Clojure](#orgc987b53)
- [Scheme](#org1f40f56)
- [Logica](#org6e1fb2f)
-
Prolog
- [Awesome Prolog](#orgb66a1c2)
- [A. Aaby's Prolog Tutorial](#org66fcf0d)
- [J.R. Fisher's Prolog Tutorial](#orgdbcb8c4)
- [Metagol](#orga09a873)
- [Paizo Prolog](#orgc80eb8d)
- [PrologHub](#org1179cca)
- [SWI-Prolog](#org59a1859)
- [Wikibooks Prolog](#org08ab6c0)
- [Picat](#orgc02b9c9)
-
Python
- [kanren](#org137bae4)
- [PySWIP](#org4c8c99d)
- [truths - auto generate truth tables](#orgb4d204e)
- [tt - the Boolean expression toolbox](#org6bd430a)
-
Digital Philosophy
- [Articles tagged "digital humanities" at Daily Nous](#org51fe102)
- [Chris Alen Sula](#org9795ebd)
- [Philosopher's Web](#org44bfe45)
- [The Philosophome](#org0e74f51)
- [Spinoza's Ethics 2.0](#orgac72d68)
- [Digital Spinozism](#orgd4ccc43)
- [Transcribing Bentham](#org87a5a03)
- [Why and How: Exploring the Significance of Digital Humanities for Philosophy](#org1e3de7f)
-
University Departments and Research Centers
- [Philosophy of Computer Science - Utrecht University](#orgc2f786f)
-
Magazines and Newsletters
- [ACM Transactions on Computational Logic (TOCL)](#org5858725)
- [Newsletter on Philosophy and Computers - American Philosophical Association](#orgb81e064)
-
Individual Philosophers
- [Colin Allen](#org8caaa5f)
- [Margaret A. Boden](#orgb60b09f)
- [Peter Bradley](#org6d7bbf3)
- [David Chalmers](#org3e380bf)
-
Jack Copeland
- [Staff page](#org366bcc7)
- [Research profile](#org6ea2521)
- [Daniel C. Dennett](#orgf983de6)
- [Luciano Floridi](#org9e202d1)
- [John MacFarlane](#orgcffe44f)
- [Helen Nissenbaum](#orgfc7302b)
- [Gualtiero Piccinini](#orge7beea0)
- [William J. Rapaport](#org9a72d0d)
- [Aaron Sloman](#org0b7a61e)
- [Edward N. Zalta](#org3baf3e1)
-
Philosophical Networks
- [Philosophical Wordnets](#org5b13fdd)
-
Software for Philosophers
- [ArguMap](#org3332c32)
- [Hypernomicon](#orgd153464)
A curated list of awesome resources that bridge Philosophy and Computer Science. Last update: 2022-03-06
Related Sites
PhiloComp
"The aim of this website is to highlight the many strong links between Philosophy and Computing, for the benefit of students (and potential students) of both disciplines:…"
Encyclopedia Entries
Stanford Encyclopedia of Philosophy
Category Theory
Computability and Complexity
Computation in Physical Systems
Computational Complexity Theory
Computer and Information Ethics
Computing and Moral Responsibility
Information
The Lambda Calculus
Logic and Artificial Intelligence
Philosophy of Computer Science
Philosophy of Mathematics
Philosophy of Technology
Recursive Functions
Semantic Conceptions of Information
Set Theory
Internet Encyclopedia of Philosophy
Artificial Intelligence
The Brain in a Vat Argument
The Computational Theory of Mind
Wikipedia
Constraint logic programming
Logic Programming
- Abductive logic programming
- Answer set programming
- Concurrent logic programming
- Inductive logic programming
Negation as failure
Bibliographies
Philosophy of Computing and Information at PhilPapers
Philosophy of Computer Science at DBLP
Books
Freely available
Philosophy of Computer Science by William Rapaport
Think Complexity, Second Edition by Allen Downey
Ontology of Philosophy of Computer Science
Internet Philosophy Ontology Project
Blogs
Bartosz Milewski's Programming Cafe
“Category Theory, Haskell, Concurrency, C++”
Gödel's Lost Letter and P=NP
Hillel Wayne's blog
Formal methods, including TLA+ and Alloy.
The n-Category Café
"A group blog on math, physics and philosophy". There is an associated wiki. “The nLab is a collaborative wiki. It grew out of the desire (I, II) to have a place for development (the ’Lab’ in ’nLab’) and indexed archives of the ideas and concepts surrounding the discussions at the The n-Category Café. These discussions primarily are about mathematics, physics and philosophy from the perspective of category theory and higher category theory (the ’n’ in ’nLab’ and nPOV).“
Shtetl-Optimized
Theory of Computing Blog Aggregator
Organizations and Societies
Association for Logic Programming
International Association for Computing And Philosophy
Conferences and Symposia
ACM/IEEE Symposium on Logic in Computer Science
Logic
An Automated Modal Reasoner
"This program takes lists of formalized sentences and checks them for consistency or validity in Propositional Modal Logic (S5 Axiom System)." Created by Brian Tackett.
Arend Theorem Prover
‘Arend implements a version of homotopy type theory with an interval type, which syntax is similar to cubical type theory. This implies several nice properties of path types and allows for a simple and clean definition of higher inductive types (including recursive ones).’
Argdown
A variation of markdown that allows one to create argument maps.
Carnap
"Carnap is a free and open software framework written in Haskell for teaching and studying formal logic." An introductory blog post by the author, Graham Leach-Krouse at Daily Nous.
Conan- A proof editor for first order logic
Coq Proof Assistant
Written in OCaml, "Coq is a formal proof management system. It provides a formal language to write mathematical definitions, executable algorithms and theorems together with an environment for semi-interactive development of machine-checked proofs. Typical applications include the certification of properties of programming languages (e.g. the CompCert compiler certification project, or the Bedrock verified low-level programming library), the formalization of mathematics (e.g. the full formalization of the Feit-Thompson theorem or homotopy type theory) and teaching."
GitHub repository
Home page of Wiki
GAPT: General Architecture for Proof Theory
‘GAPT is a proof theory framework developed primarily at the Vienna University of Technology. GAPT contains data structures, algorithms, parsers and other components common in proof theory and automated deduction. In contrast to automated and interactive theorem provers whose focus is the construction of proofs, GAPT concentrates on the transformation and further processing of proofs.’
List of Computational Tools for Modal Logic
Logic Matters
Microsoft's Lean
"Lean is an open source theorem prover and programming language being developed at Microsoft Research. Lean aims to bridge the gap between interactive and automated theorem proving, by situating automated tools and methods in a framework that supports user interaction and the construction of fully specified axiomatic proofs."
Open Logic Project
Proof General
"Proof General is a generic interface for proof assistants (also known as interactive theorem provers), based on the extensible, customizable text editor Emacs." Since I'm an Emacs user, this has strong appeal.
SymPy Logic Module
"The logic module for SymPy allows to form and manipulate logic expressions using symbolic and Boolean values."
Taut
"This is a website that contains randomly-generated, self-correcting logic excercises. It runs directly on your browser, so there is no need to download anything. It was designed by Ariel Roffé (UBA / UNQ / CONICET), with support from the BA-Logic group"
Programming Languages and Libraries
Metamath
‘Metamath is a tiny language that can express theorems in abstract mathematics, accompanied by proofs that can be verified by a computer program.’
miniKanren
"miniKanren is an embedded Domain Specific Language for logic programming."
"miniKanren has been implemented in a growing number of host languages, including Scheme, Racket, Clojure, Haskell, Python, JavaScript, Scala, Ruby, OCaml, and PHP, among many other languages."
Lisp
Common Lisp
-
"If you think the greatest pleasure in programming comes from getting a lot done with code that simply and clearly expresses your intention, then programming in Common Lisp is likely to be about the most fun you can have with a computer. You'll get more done, faster, using it than you would using pretty much any other language."
Clojure
Scheme
Logica
‘We present Logica, a novel open source Logic Programming language. A successor to Yedalog (a language developed at Google earlier) it is a Datalog-like logic programming language. Logica code compiles to SQL and runs on Google BigQuery (with experimental support for PostgreSQL and SQLite), but it is much more concise and supports the clean and reusable abstraction mechanisms that SQL lacks. It supports modules and imports, it can be used from an interactive Python notebook and it even makes testing your queries natural and easy.’
Prolog
Awesome Prolog
A GitHub repository of Prolog awesomeness.
A. Aaby's Prolog Tutorial
J.R. Fisher's Prolog Tutorial
Metagol
‘Metagol is an inductive logic programming (ILP) system based on meta-interpretive learning. Metagol is written in Prolog and runs with SWI-Prolog.’
Paizo Prolog
'An ergonomic, mobile-first, Prolog playground!'
PrologHub
"PrologHub is dedicated to bringing together the Prolog community to share ideas and knowledge. Our aim is to encourage the growth and development of the community."
SWI-Prolog
Wikibooks Prolog
Picat
‘Picat is a simple, and yet powerful, logic-based multi-paradigm programming language aimed for general-purpose applications.’
Python
kanren
"Logic Programming in Python"
PySWIP
"PySWIP is a Python - SWI-Prolog bridge enabling to query SWI-Prolog in your Python programs. It features an (incomplete) SWI-Prolog foreign language interface, a utility class that makes it easy querying with Prolog and also a Pythonic interface."
truths - auto generate truth tables
tt - the Boolean expression toolbox
tt (truth table) is a library aiming to provide a Pythonic toolkit for working with Boolean expressions and truth tables.
Digital Philosophy
Articles tagged "digital humanities" at Daily Nous
Chris Alen Sula
"My work applies visualization and network science to humanities datasets, especially the history of philosophy. I also write on digital humanities and the politics of technology."
Philosopher's Web
A comprehensive map of all influential relationships in philosophy according to Wikipedia.
The Philosophome
Spinoza's Ethics 2.0
Created by Torin Doppelt
Digital Spinozism
Accompanying blog to Spinoza's Ethics 2.0
Transcribing Bentham
Why and How: Exploring the Significance of Digital Humanities for Philosophy
This is a presentation by Lisa Spirohttps://digitalscholarship.wordpress.com)
University Departments and Research Centers
Philosophy of Computer Science - Utrecht University
Magazines and Newsletters
ACM Transactions on Computational Logic (TOCL)
"For the purposes of ACM Transactions on Computational Logic, the field of computational logic consists of all uses of logic in computer science."
Newsletter on Philosophy and Computers - American Philosophical Association
Individual Philosophers
Colin Allen
Margaret A. Boden
Peter Bradley
David Chalmers
Jack Copeland
Staff page
Research profile
Daniel C. Dennett
Luciano Floridi
John MacFarlane
John is the creator of Pandoc.
Helen Nissenbaum
Gualtiero Piccinini
William J. Rapaport
Aaron Sloman
Edward N. Zalta
Philosophical Networks
Philosophical Wordnets
Contributed by Moses Boudorides, a series of Jupyter notebooks showing sentence-co-occurring relationships among concepts. Works analyzed include Heidegger's "The Question Concerning Technology" and Nietzsche's "Thus Spake Zarathustra".
Software for Philosophers
ArguMap
An iOS app for creating argument maps.
Hypernomicon
"Personal philosophy database software," created by Jason Winning.