Why did Prolog lose steam? (2010)

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • the-power-of-prolog

    Introduction to modern Prolog

  • There's a nice book[1][2] about Prolog, with modern characteristics. Moreover, there are things like ProbLog[3] and DeepProbLog[4] that allow you to use probabilistic reasoning and power of machine learning. I am personally looking forward for Scryer Prolog[5] to achieve its goals.

    [1] https://www.metalevel.at/prolog

    [2] https://github.com/triska/the-power-of-prolog

    [3] https://github.com/ML-KULeuven/problog

    [4] https://github.com/ML-KULeuven/deepproblog

    [5] https://github.com/mthom/scryer-prolog

  • trealla

    A compact, efficient Prolog interpreter written in plain-old C (Wasm experimental fork). (by guregu)

  • I think that Prolog will rise again. If you have an hour to kill, check out this video introduction by Markus Triska about what makes Prolog unique: https://www.youtube.com/watch?v=8XUutFBbUrg

    Recently I have been working on getting Trealla Prolog to run in WebAssembly. Support is quite good now, with an easy-to-use JS library[1], Go library[2], and is now one of the best-supported languages for the Spin runtime[3]. I think it's particularly nice for validations, you can write some simple Prolog rules and run the same code on the client and the server now. I would like to explore this more with a dedicated library at some point. Built-in features like DCGs make parsing/generating all kinds of data trivial. I love it.

    I think the biggest barrier to Prolog adoption is that it has a really steep learning curve, and most people get burnt by half-assed introductions in college that tick the 'talked about logic programming' box in the syllabus. You really have to think in a completely different way to write a good Prolog program. But, once you get the right mindset, it makes solving complex problems incredibly easy.

    I don't really buy the argument that Datalog is enough. Most Datalog implementations I've seen hack on a bunch of extensions to do things like list membership. It would be awesome to see some serious effort put into an efficient Prolog-based database. The closest thing I can think of is TerminusDB, which I've never used but I wish I could convince my company to try it out ;).

    My dream is to have some kind of magical serverless persistent Prolog interpreter in the cloud. That's where I hope to take this Wasm stuff at some point. Can you imagine how powerful it would be to use Prolog instead of GraphQL or whatever? Prolog is IMO the perfect language for querying things, with a 1:1 correspondence to how you write the data. It's like SQL without all the ugly bits (I like SQL too, of course). If this sounds cool to you, check out the paper/book on Web Prolog[4] which is a fascinating dive into what a Prolog-based networked query system could look like.

    [1]: http://github.com/guregu/trealla-js

    [2]: http://github.com/trealla-prolog/go

    [3]: https://github.com/guregu/trealla#spin-components

    [4]: https://github.com/Web-Prolog/swi-web-prolog/raw/master/book...

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • swi-web-prolog

    A proof-of-concept SWI-Prolog implementation of Web Prolog

  • I think that Prolog will rise again. If you have an hour to kill, check out this video introduction by Markus Triska about what makes Prolog unique: https://www.youtube.com/watch?v=8XUutFBbUrg

    Recently I have been working on getting Trealla Prolog to run in WebAssembly. Support is quite good now, with an easy-to-use JS library[1], Go library[2], and is now one of the best-supported languages for the Spin runtime[3]. I think it's particularly nice for validations, you can write some simple Prolog rules and run the same code on the client and the server now. I would like to explore this more with a dedicated library at some point. Built-in features like DCGs make parsing/generating all kinds of data trivial. I love it.

    I think the biggest barrier to Prolog adoption is that it has a really steep learning curve, and most people get burnt by half-assed introductions in college that tick the 'talked about logic programming' box in the syllabus. You really have to think in a completely different way to write a good Prolog program. But, once you get the right mindset, it makes solving complex problems incredibly easy.

    I don't really buy the argument that Datalog is enough. Most Datalog implementations I've seen hack on a bunch of extensions to do things like list membership. It would be awesome to see some serious effort put into an efficient Prolog-based database. The closest thing I can think of is TerminusDB, which I've never used but I wish I could convince my company to try it out ;).

    My dream is to have some kind of magical serverless persistent Prolog interpreter in the cloud. That's where I hope to take this Wasm stuff at some point. Can you imagine how powerful it would be to use Prolog instead of GraphQL or whatever? Prolog is IMO the perfect language for querying things, with a 1:1 correspondence to how you write the data. It's like SQL without all the ugly bits (I like SQL too, of course). If this sounds cool to you, check out the paper/book on Web Prolog[4] which is a fascinating dive into what a Prolog-based networked query system could look like.

    [1]: http://github.com/guregu/trealla-js

    [2]: http://github.com/trealla-prolog/go

    [3]: https://github.com/guregu/trealla#spin-components

    [4]: https://github.com/Web-Prolog/swi-web-prolog/raw/master/book...

  • problog

    ProbLog is a Probabilistic Logic Programming Language for logic programs with probabilities.

  • There's a nice book[1][2] about Prolog, with modern characteristics. Moreover, there are things like ProbLog[3] and DeepProbLog[4] that allow you to use probabilistic reasoning and power of machine learning. I am personally looking forward for Scryer Prolog[5] to achieve its goals.

    [1] https://www.metalevel.at/prolog

    [2] https://github.com/triska/the-power-of-prolog

    [3] https://github.com/ML-KULeuven/problog

    [4] https://github.com/ML-KULeuven/deepproblog

    [5] https://github.com/mthom/scryer-prolog

  • deepproblog

    DeepProbLog is an extension of ProbLog that integrates Probabilistic Logic Programming with deep learning by introducing the neural predicate.

  • There's a nice book[1][2] about Prolog, with modern characteristics. Moreover, there are things like ProbLog[3] and DeepProbLog[4] that allow you to use probabilistic reasoning and power of machine learning. I am personally looking forward for Scryer Prolog[5] to achieve its goals.

    [1] https://www.metalevel.at/prolog

    [2] https://github.com/triska/the-power-of-prolog

    [3] https://github.com/ML-KULeuven/problog

    [4] https://github.com/ML-KULeuven/deepproblog

    [5] https://github.com/mthom/scryer-prolog

  • scryer-prolog

    A modern Prolog implementation written mostly in Rust.

  • There's a nice book[1][2] about Prolog, with modern characteristics. Moreover, there are things like ProbLog[3] and DeepProbLog[4] that allow you to use probabilistic reasoning and power of machine learning. I am personally looking forward for Scryer Prolog[5] to achieve its goals.

    [1] https://www.metalevel.at/prolog

    [2] https://github.com/triska/the-power-of-prolog

    [3] https://github.com/ML-KULeuven/problog

    [4] https://github.com/ML-KULeuven/deepproblog

    [5] https://github.com/mthom/scryer-prolog

  • pgsql-ivm

    IVM (Incremental View Maintenance) development for PostgreSQL

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • chalk

    An implementation and definition of the Rust trait system using a PROLOG-like logic solver (by rust-lang)

  • The Rust compiler uses a Prolog-like query language internally for type checking generic requirements and traits: https://github.com/rust-lang/chalk

  • cue

    The home of the CUE language! Validate and define text-based and dynamic configuration

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts