trealla

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

Trealla Alternatives

Similar projects and alternatives to trealla

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better trealla alternative or higher similarity.

trealla reviews and mentions

Posts with mentions or reviews of trealla. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-31.
  • Prolog: Writing a Server-side App in WebAssembly using Spin
    2 projects | dev.to | 31 Oct 2023
    spin_version = "1" authors = ["Matt Butcher "] description = "" name = "hello-prolog" trigger = { type = "http", base = "/" } version = "0.1.0" [[component]] id = "hello-prolog" files = [ { source = "./src", destination = "/" } ] # for outgoing HTTP (see spin:http_fetch/3) allowed_http_hosts = [] # "insecure:allow-all" is a special unsafe value to allow any host # access to key-value stores (see spin:store_* predicates) key_value_stores = ["default"] [component.source] url = "https://github.com/guregu/trealla/releases/download/v0.14.4/libtpl-spin.wasm" digest = "sha256:6adb31903bc55e2b5ef3db1619727596f0b08bb789ff6c42df458d0209228677" [component.trigger] route = "/..."
  • Why did Prolog lose steam? (2010)
    10 projects | news.ycombinator.com | 18 Apr 2023
    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...

  • Trealla Prolog binary releases (Linux, MacOS, Windows, WASM)
    2 projects | /r/prolog | 12 Feb 2023
  • Wasmer 3.0
    5 projects | news.ycombinator.com | 23 Nov 2022
    Honestly I can't really say (I just ported it to WASM :-)), but here's more or less the start of the query loop: https://github.com/guregu/trealla/blob/main/src/query.c#L173...

    I believe it's a bytecode but I know that function pointers are involved at least with the built-in predicates (see predicates.c).

  • Trealla – A compact, efficient Prolog interpreter written in plain-old C
    4 projects | news.ycombinator.com | 7 Aug 2022
    I think it's a mistake, probably reorganizing things at the moment. You can find a slightly outdated fork here: https://github.com/guregu/trealla
  • A note from our sponsor - InfluxDB
    www.influxdata.com | 2 May 2024
    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. Learn more →

Stats

Basic trealla repo stats
5
5
10.0
3 days ago

guregu/trealla is an open source project licensed under MIT License which is an OSI approved license.

The primary programming language of trealla is C.


Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com