HackerTrans
TopNewTrendsCommentsPastAskShowJobs

triska

no profile record

Submissions

Kb – Prolog Knowledge Base

github.com
109 points·by triska·قبل 14 يومًا·18 comments

Conway's Game of Life in Prolog

manzikert.ca
2 points·by triska·الشهر الماضي·0 comments

A local-first multimodal knowledge platform for managing entities

github.com
2 points·by triska·قبل شهرين·0 comments

From Taxman to VATmiraal: Fifty Years of Teaching Machines the Law

vatmiraal.be
1 points·by triska·قبل شهرين·1 comments

Prolog Implementation of the IRS Fact Graph

github.com
5 points·by triska·قبل 3 أشهر·0 comments

Tax Logic Evaluation with Prolog

github.com
2 points·by triska·قبل 3 أشهر·0 comments

A simple online forum written in Prolog

github.com
2 points·by triska·قبل 3 أشهر·0 comments

Forth VM and compiler written in C++ and Scryer Prolog

github.com
37 points·by triska·قبل 3 أشهر·0 comments

A high-performance bridge between Scryer Prolog and Python

github.com
2 points·by triska·قبل 4 أشهر·0 comments

Simple Maturin Based Python Bindings to Scryer Prolog

github.com
1 points·by triska·قبل 4 أشهر·0 comments

A lightweight, embeddable Prolog interpreter written in C11

github.com
4 points·by triska·قبل 4 أشهر·0 comments

Blue Prince Clock Tower (CLP(Z), Scryer)

web.liminal.cafe
3 points·by triska·قبل 5 أشهر·0 comments

Pokemon Draft Tools in Prolog

github.com
4 points·by triska·قبل 6 أشهر·0 comments

Flowlog: An ISO-style Prolog system with faster search on multicore CPUs

web.liminal.cafe
3 points·by triska·قبل 6 أشهر·0 comments

A simple graph database implementation running on Scryer Prolog

github.com
2 points·by triska·قبل 7 أشهر·0 comments

Dogalog: A realtime Prolog-based livecoding music environment

github.com
82 points·by triska·قبل 7 أشهر·21 comments

Towards an Implementation-Independent Interface for Semantic Web in Prolog [pdf]

github.com
2 points·by triska·قبل 7 أشهر·0 comments

Transforming legal texts into computational logic

sciencedirect.com
3 points·by triska·قبل 8 أشهر·0 comments

Scryer Prolog library for Datomic: https://github.com/jjtolton/scrytomic

2 points·by triska·قبل 8 أشهر·0 comments

Python Integration for Scryer Prolog Using FFI (Research Project)

github.com
2 points·by triska·قبل 8 أشهر·0 comments

comments

triska
·قبل شهرين·discuss
I think this is very well phrased, and I would argue the same holds for Prolog too.

In my opinion, a key difference between Prolog and other languages in that regard is one of degree, not kind: Compared to other languages, addressing performance problems in Prolog engines tends to have far greater effects on Prolog programs, because so much is implicit (i.e., left to the engine).

If the performance problem is not in the engine, but in the program itself, then we will face the same questions with Prolog as with other languages: How to formulate the program better, is there a better approach altogether?

For example, earlier today an interesting question regarding performance was posted in the Scryer discussions:

https://github.com/mthom/scryer-prolog/discussions/3341

The comparison in this case is between Gecode and Scryer on a seemingly simple but nontrivial combinatorial task. What is the problem here? Most likely the Scryer engine itself can be improved. And also very likely, there are better ways to model the task, and also better search strategies, and these tend to have far greater performance impact than the base language, and these questions remain also if we change the base language.

In my opinion, these questions regarding different kinds of formulations tend to be more frequently associated with Prolog than with other languages because Prolog is more frequently used for complex tasks where it is not a priori clear how to even approach the problem.
triska
·قبل شهرين·discuss
How is this different from other programming languages though?

One example I often think about is from Ken Silverman: "sub eax, 128" → "add eax, -128". So equivalent ways to write the same program may have different performance characteristics also depending on the tools that are applied. How many people could tell without trying which way to write this example is preferable?

The same phenomenon will be encountered in all kinds of languages, where engine and compiler improvements make existing code faster or slower.
triska
·قبل شهرين·discuss
Regarding distributed systems, I find Torbjörn Lager's recent work on Web Prolog particularly interesting. He recently posted about it here:

https://github.com/mthom/scryer-prolog/discussions/3322

and also in the course of a discussion on various approaches to implement concurrency in Prolog:

https://github.com/mthom/scryer-prolog/discussions/3307
triska
·قبل شهرين·discuss
Very nice!

In the Scryer Prolog discussions, Alex has shared a few ideas and considerations for possible improvements to the Prolog code, including the use of metaprogramming to automatically generate more general relations:

https://github.com/mthom/scryer-prolog/discussions/3221

I hope for an interesting followup article!

Another very interesting Prolog program by Alex is factgraph.pl:

https://github.com/alexpetros/factgraph.pl

It's a Prolog implementation of the IRS Fact Graph, an application of Law as Code.
triska
·قبل 4 أشهر·discuss
Quoting from the Charter of Fundamental Rights of the European Union, https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:12... :

"Article 7

Respect for private and family life

Everyone has the right to respect for his or her private and family life, home and communications.

Article 8

Protection of personal data

1. Everyone has the right to the protection of personal data concerning him or her.

2. Such data must be processed fairly for specified purposes and on the basis of the consent of the person concerned or some other legitimate basis laid down by law. Everyone has the right of access to data which has been collected concerning him or her, and the right to have it rectified.

3. Compliance with these rules shall be subject to control by an independent authority."