awesome-philosophy-compsci

Table of Contents

  1. Related Sites
    1. PhiloComp
  2. Encyclopedia Entries
    1. Stanford Encyclopedia of Philosophy
      1. Category Theory
      2. Computability and Complexity
      3. Computation in Physical Systems
      4. Computational Complexity Theory
      5. Computer and Information Ethics
      6. Computing and Moral Responsibility
      7. Information
      8. The Lambda Calculus
      9. Logic and Artificial Intelligence
      10. Philosophy of Computer Science
      11. Philosophy of Mathematics
      12. Philosophy of Technology
      13. Recursive Functions
      14. Semantic Conceptions of Information
      15. Set Theory
    2. Internet Encyclopedia of Philosophy
      1. Artificial Intelligence
      2. The Brain in a Vat Argument
      3. The Computational Theory of Mind
    3. Wikipedia
      1. Constraint logic programming
      2. Logic Programming
      3. Negation as failure
  3. Bibliographies
    1. Philosophy of Computing and Information at PhilPapers
    2. Philosophy of Computer Science at DBLP
  4. Books
    1. Freely available
      1. A review of Logic Courseware and free and open access texts at Daily Nous
      2. Logic in Action
      3. Mathematical Logic through Python
      4. Think Complexity, Second Edition by Allen Downey
  5. Ontology of Philosophy of Computer Science
    1. Internet Philosophy Ontology Project
  6. Blogs
    1. Bartosz Milewski’s Programming Cafe
    2. Gödel’s Lost Letter and P=NP
    3. Hillel Wayne’s blog
    4. The n-Category Café
    5. Shtetl-Optimized
    6. Theory of Computing Blog Aggregator
  7. Organizations and Societies
    1. Association for Logic Programming
    2. International Association for Computing And Philosophy
  8. Conferences and Symposia
    1. ACM/IEEE Symposium on Logic in Computer Science
  9. Logic
    1. An Automated Modal Reasoner
    2. Arend Theorem Prover
    3. Argdown
    4. Carnap
    5. Conan- A proof editor for first order logic
    6. Coq Proof Assistant
      1. GitHub repository
      2. Home page of Wiki
    7. GAPT: General Architecture for Proof Theory
    8. List of Computational Tools for Modal Logic
    9. Logic Matters
    10. Microsoft’s Lean
    11. Open Logic Project
    12. Proof General
    13. SymPy Logic Module
    14. Taut
  10. Programming Languages and Libraries
    1. Metamath
    2. miniKanren
    3. Lisp
      1. Common Lisp
      2. Clojure
      3. Scheme
    4. Logica
    5. Prolog
      1. Awesome Prolog
      2. A. Aaby’s Prolog Tutorial
      3. J.R. Fisher’s Prolog Tutorial
      4. Metagol
      5. Paizo Prolog
      6. PrologHub
      7. SWI-Prolog
      8. Wikibooks Prolog
    6. Picat
    7. Python
      1. kanren
      2. PySWIP
      3. truths - auto generate truth tables
      4. tt - the Boolean expression toolbox
  11. Digital Philosophy
    1. Articles tagged “digital humanities” at Daily Nous
    2. Chris Alen Sula
    3. Philosopher’s Web
    4. The Philosophome
    5. Spinoza’s Ethics 2.0
      1. Digital Spinozism
    6. Transcribing Bentham
    7. Why and How: Exploring the Significance of Digital Humanities for Philosophy
  12. University Departments and Research Centers
    1. Philosophy of Computer Science - Utrecht University
  13. Magazines and Newsletters
    1. ACM Transactions on Computational Logic (TOCL)
    2. Newsletter on Philosophy and Computers - American Philosophical Association
  14. Individual Philosophers
    1. Colin Allen
    2. Margaret A. Boden
    3. Peter Bradley
    4. David Chalmers
    5. Jack Copeland
      1. Staff page
      2. Research profile
    6. Daniel C. Dennett
    7. Luciano Floridi
    8. John MacFarlane
    9. Corey Maley
    10. Helen Nissenbaum
    11. Gualtiero Piccinini
    12. William J. Rapaport
    13. Aaron Sloman
    14. Edward N. Zalta
  15. Philosophical Networks
    1. Philosophical Wordnets
  16. Software for Philosophers
    1. ArguMap
    2. Hypernomicon
  17. Textbooks (not free)
    1. More Precisely: The Math You Need to Do Philosophy – Second Edition - Eric Steinhart
    2. Philosophy of Computer Science - William J. Rapaport
    3. Philosophy through Computer Science - Daniel Lim

A curated list of awesome resources that bridge Philosophy and Computer Science. Last update: 2023-11-25

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

Negation as failure


Bibliographies

Philosophy of Computing and Information at PhilPapers

Philosophy of Computer Science at DBLP


Books

Freely available

A review of Logic Courseware and free and open access texts at Daily Nous

Logic in Action

Mathematical Logic through Python

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

  1. The Common Lisp Cookbook

  2. Practical 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.

Corey Maley

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.

Textbooks (not free)

More Precisely: The Math You Need to Do Philosophy – Second Edition - Eric Steinhart

Philosophy of Computer Science - William J. Rapaport

Philosophy through Computer Science - Daniel Lim