HackerTrans
トップ新着トレンドコメント過去質問紹介求人

triska

no profile record

投稿

Kb – Prolog Knowledge Base

github.com
109 ポイント·投稿者 triska·14 日前·18 コメント

Conway's Game of Life in Prolog

manzikert.ca
2 ポイント·投稿者 triska·先月·0 コメント

A local-first multimodal knowledge platform for managing entities

github.com
2 ポイント·投稿者 triska·2 か月前·0 コメント

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

vatmiraal.be
1 ポイント·投稿者 triska·2 か月前·1 コメント

Prolog Implementation of the IRS Fact Graph

github.com
5 ポイント·投稿者 triska·3 か月前·0 コメント

Tax Logic Evaluation with Prolog

github.com
2 ポイント·投稿者 triska·3 か月前·0 コメント

A simple online forum written in Prolog

github.com
2 ポイント·投稿者 triska·3 か月前·0 コメント

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

github.com
37 ポイント·投稿者 triska·3 か月前·0 コメント

A high-performance bridge between Scryer Prolog and Python

github.com
2 ポイント·投稿者 triska·4 か月前·0 コメント

Simple Maturin Based Python Bindings to Scryer Prolog

github.com
1 ポイント·投稿者 triska·4 か月前·0 コメント

A lightweight, embeddable Prolog interpreter written in C11

github.com
4 ポイント·投稿者 triska·4 か月前·0 コメント

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

web.liminal.cafe
3 ポイント·投稿者 triska·5 か月前·0 コメント

Pokemon Draft Tools in Prolog

github.com
4 ポイント·投稿者 triska·6 か月前·0 コメント

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

web.liminal.cafe
3 ポイント·投稿者 triska·6 か月前·0 コメント

A simple graph database implementation running on Scryer Prolog

github.com
2 ポイント·投稿者 triska·7 か月前·0 コメント

Dogalog: A realtime Prolog-based livecoding music environment

github.com
82 ポイント·投稿者 triska·7 か月前·21 コメント

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

github.com
2 ポイント·投稿者 triska·7 か月前·0 コメント

Transforming legal texts into computational logic

sciencedirect.com
3 ポイント·投稿者 triska·8 か月前·0 コメント

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

2 ポイント·投稿者 triska·8 か月前·0 コメント

Python Integration for Scryer Prolog Using FFI (Research Project)

github.com
2 ポイント·投稿者 triska·8 か月前·0 コメント

コメント

triska
·2 か月前·議論
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
·2 か月前·議論
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
·2 か月前·議論
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
·2 か月前·議論
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 か月前·議論
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."