---
key: pl/swi-prolog
kind: plang
name: "SWI-Prolog"
url: https://plangs.page/swi-prolog
---

# SWI-Prolog

> Implementation of Prolog focused on versatility and rich libraries.

A versatile implementation of the Prolog programming language, designed with a rich set of libraries and features for teaching, semantic web applications, and more. It supports constraint logic programming, multithreading, unit testing, and has various interfaces for Java, ODBC, GUI development, web services, and more. It includes tools like an IDE with a GUI debugger and profiler.

## Facts

- Appeared: 1987
- Homepage: https://swi-prolog.org/
- GitHub: https://github.com/SWI-Prolog/swipl-devel

## Relationships

### Paradigms

- [Concurrent](https://plangs.page/paradigm/concurrent)
- [Constraint](https://plangs.page/paradigm/constraint)
- [Declarative](https://plangs.page/paradigm/declarative)
- [Logic](https://plangs.page/paradigm/logic)

### Platforms

- [Apple](https://plangs.page/platform/apple)
- [BSD](https://plangs.page/platform/bsd)
- [Cross-Platform](https://plangs.page/platform/cross)
- [Linux](https://plangs.page/platform/linux)
- [Windows](https://plangs.page/platform/windows)

### Type Systems

- [Untyped](https://plangs.page/type-system/untyped)

### Implements

- [Prolog](https://plangs.page/prolog)

### Influenced By

- [Prolog](https://plangs.page/prolog)

### Influenced

- [GNU Prolog](https://plangs.page/gprolog)
- [Trealla Prolog](https://plangs.page/trealla)

### Written With

- [C](https://plangs.page/c)

### Licenses

- [BSD](https://plangs.page/license/bsd)
- [LGPL](https://plangs.page/license/lgpl)

### Tags

- [Application](https://plangs.page/tag/app)
- [Application Framework](https://plangs.page/tag/framework)
- [DBMS](https://plangs.page/tag/dbms)
- [Editor](https://plangs.page/tag/editor)
- [GUI](https://plangs.page/tag/gui)
- [Industrial Control](https://plangs.page/tag/industrial)
- [Interpreter](https://plangs.page/tag/interpreters)
- [Testing](https://plangs.page/tag/testing)
- [Visualization](https://plangs.page/tag/viz)
