Skip to content

A list of resources that cross the disciplines of Computer Science and Philosophy

License

Notifications You must be signed in to change notification settings

glennstreet/awesome-philosophy-compsci

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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

"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

Internet Encyclopedia of Philosophy

Wikipedia


Bibliographies


Books

Freely available

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


Ontology of Philosophy of Computer Science


Blogs

“Category Theory, Haskell, Concurrency, C++”

Formal methods, including TLA+ and Alloy.

"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).“


Organizations and Societies


Conferences and Symposia


Logic

"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 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).’

A variation of markdown that allows one to create argument maps.

"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

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."

Home page of Wiki

‘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.’

"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."

"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.

"The logic module for SymPy allows to form and manipulate logic expressions using symbolic and Boolean values."

"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 is a tiny language that can express theorems in abstract mathematics, accompanied by proofs that can be verified by a computer program.’

"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

  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."

‘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

A GitHub repository of Prolog awesomeness.

‘Metagol is an inductive logic programming (ILP) system based on meta-interpretive learning. Metagol is written in Prolog and runs with SWI-Prolog.’

'An ergonomic, mobile-first, Prolog playground!'

"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."

‘Picat is a simple, and yet powerful, logic-based multi-paradigm programming language aimed for general-purpose applications.’

Python

"Logic Programming in Python"

"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."

tt (truth table) is a library aiming to provide a Pythonic toolkit for working with Boolean expressions and truth tables.


Digital Philosophy

"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."

A comprehensive map of all influential relationships in philosophy according to Wikipedia.

Created by Torin Doppelt

Accompanying blog to Spinoza's Ethics 2.0

This is a presentation by Lisa Spirohttps://digitalscholarship.wordpress.com)


University Departments and Research Centers


Magazines and Newsletters

"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

Jack Copeland

John is the creator of Pandoc.


Philosophical Networks

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

An iOS app for creating argument maps.

"Personal philosophy database software," created by Jason Winning.

Textbooks (not free)

Philosophy of Computer Science - William J. Rapaport

About

A list of resources that cross the disciplines of Computer Science and Philosophy

Topics

Resources

License

Stars

Watchers

Forks