How to find an already available open genealogy application in prolog for private use?

Hi
A lot of prolog manuals offer example based on genealogy or text manipulations. But if you “see” in the country using Google or other ones, you will probably find

nothing
(excepted the «elisa» fun conversations app supplied by Turbo-Prolog in the past as example for this software)

in prolog, what you directly download, start, fill up with your family dates and directly use!

although prolog is one of the most older programming language!

why?

I don’t think there is a fully fleshed out GUI application for genealogy using Prolog. I could be wrong.

The reason you see lots of genealogy examples in Prolog manuals is because family trees are an example of the tree data structure.

There is nothing wrong with Prolog being one of the older programming languages. Why it is older is simply because it was invented (1972) before many other programming languages.

Hi Eric,
Thank you very much for the very fast answer.
But it can be considered as a confession of incapacity to really solve complete complex tasks or not?

About 1/2 century existence and nothing know in popular informations media?

I did here speak concrete of a really very popular task «genealogy» but it would be the same thing with other very popular tasks like helper for children education (or students) like «flash cards» to learn foreign language vocabulary like the little linux app named «granule» (if you don’t know what that is, look please for the video introduction how to use it in youtube).

How is that possible after 1/2 century.

Does the Prolog community only work on abstract and partial constructions not having to meet some real popular needs?

Third example: The world organisation did warn officially - The humans become extremely fat compared to the old human generations. Applications permitting to avoid that, for ex. «controlling of the own need for food depending of daily activity»!

Ask yourself this question: why are you listening to POPULAR information media? Look at what’s popular around you outside of the programming world. Is this what you want to emulate in your code? You want to make the McDonald’s hamburger of code? Personally I’d rather make a fine 北京烤鸭. You want to make the Coca-Cola of code? I’d rather make a mellow port. You want to make the Ford Taurus of code? I’d rather drive a Bentley, thanks.

Popular media is like popular music, popular entertainment, popular food, and popular drink: it permits subsistence but doesn’t really further anything.

Using the search https://duckduckgo.com/?q=commercial+use+of+prolog I found, in literally seconds:

That’s just an unfiltered search with no narrowing or refinement of terms. To what’s up there I can add:

  • Have you ever flown anywhere? Most travel agents use a piece of software whose core is written in Prolog.
  • Have you ever bought or sold stock? A lot of quants use a high performance Prolog to do their dirty work.
  • Have you ever made a telephone call in or to Canada or Europe? Quite a few telephone switches use Prolog either directly or indirectly (in generating the routing structures) for operation. Call it a 50/50 chance on any call in or out of those areas (at least, possibly more) that it got handled by Prolog code.
  • A lot of logistics companies in China live off of Prolog cores to schedule trucks, drivers, to place fulfillment warehouses, to do just-in-time ordering/delivery, and pretty much the entire logistics stack.

Are those needs sufficiently “popular”? (Not that “popular” is meaningful. Python is a “popular” language but is absolutely, 100% useless in my line of work. The correct metric should be “usefully applicable” not “popular”.)

1 Like

Hi,
Probably you did read my request as an attack against Prolog and “Prologuists”. No, it is not so… I am French and probably is my English (I did never learn it) to poor to reflect some kind of despist of an admirator of Prolog and “thinking Prolog” (to copy Leo Brodie and his book “thinking Forth” 1984).
No I am wonderer as a space conquete fan having see the planet Venus or Mars at a short distance of our earth like the distance between earth and moon for the really short time of an passage on the heliptic course and an humanity not having done the punctual effort to go there like on the moon in the past to visit it and having so missed an exceptional occasion and never more becominig available occasion!
I did present an ideal thematic for you: Genealogy, only because it is the MOST frequent beginners and presentations stuff treated in Prolog books (excepted at Colmerauer’s one (1985) using in the first pages examples on nutrition, so I did add in my above messages that thematic :wink: !). Genealogy is NOT a special thematic. It is useful for people (to order the old family photographies with persons you did never meet in your life). I did add food and nutrition, as also that is not a special thematic. It is also really very popular. And I did add flash cards app’s as words manipulations are probably the next most used thematic in presentations and beginners books! But no book seems in the Prolog world to have been able to present one of these 3 vulgar applications until an end point: The point where it would be able to used! Hum…
(Extremely) rare are the presentations and beginners books offering a view how prologists organise usually her screens as well as her (printed) document outputs. All that in 1/2 century (only :wink: !!!)

No, I read it for what it was: another person in a chain of thousands who fancied himself as being the first person to “spot a problem” in a language that has been around longer than he has (likely twice as long as he has).

If you wish to blame this on a language barrier, go ahead (though I do interact with a lot of francophones and have never seen this particular expression of the French-English divide…). But in general, a better formulation of a question might be “what are the practical uses for Prolog?” rather than the challenging “is Prolog only useful for partial solutions and academic things?!” (Again I’m hard-pressed to think of which linguistic features of French make that an issue; hard-pressed to think of any French translation of the latter which would be taken well by francophones were the roles reversed.)

I do find it strange that you asked for geneology applications in Prolog because of examples, however. Do you go into fora for functional programming asking for commercial Fibonacci applications? (Calculating the Fibonacci sequence is the clichéd beginner’s exercise in 99.44% of functional languages.) Do you go into fora for imperative programming asking for commercial programs that count from 1 to 100, displaying each number alongside its squares and cubes? (Another clichéd beginner’s exercise.) No? Then why are you asking for commercialized beginner’s exercises in Prolog?

They do? Which high performance Prolog is that? Could you say where does this information come from? I though quants would be using er, mostly Excel and perhaps Matlab? Or R in a pinch?

Salut et bienvenu(e) sur le forum.

Je crois que vous utilisez Google Translate pour generer votre posts Anglais,
mais malehureusmant la traduction automatique ne marche pas assez bien pour que
les autres posteurs içi comprenent bien ce que vous voulais dire.

De ma part, j’en ai vu pleins des examples de code pour des applications de
Prolog completes dans des manuels scolaires. Pour example, si je me souviens
bien:

  1. Un programme de “avise” pour un joueur d’ echeques artificiel dans “Prolog
    Progamming for Artificial Intelligence” (Ivan Bratko, 4th Edition).

  2. Un analysateur syntactique Earley ("Earley chart parser) dans “AI
    Algorithms, Data Structures and Idioms, in Prolog, Lisp and Java” (George F.
    Luger et William A. Stubbefield, en ligne içi:
    http://www.cs.fsu.edu/~cap5605/Luger_0136070477_1.pdf)

  3. Une realisation du algorithme minimax avec taille alpha-beta en Prolog pris
    de “The Art of Prolog: Advanced Programming Techniques” (Leon Sterling, Ehud
    Shapiro) en ligne içi:

https://www.cpp.edu/~jrfisher/www/prolog_tutorial/ttt/ttt.pl

Et des instructions içi:

https://www.cpp.edu/~jrfisher/www/prolog_tutorial/5_3.html

Ceux-çi sont des examples que je me souviens bien, mais j’ en ai vus pleins
d’ autres. Il suffit d’ ouvrir n’ importe quel manuel scolaire sur Prolog pour
en trouver. Je suis pas sure comment ça se peut que vous n’ avez pas put en
trouveés.

(En plus, je m’ excuse pour mon orthographie et ma grammaire).

English translation

(For the board members who don’t speak French)

Hello and welcome to the forum.

I believe you are using Google Translate to generate your English posts, but
unfortunately automatic translation does not yet work well enough for the
other posters here to understand well what you mean to say.

For my part, I have seen plenty of complete examples of code for Prolog
applications in textbooks. For example, if I remember well:

  1. An advice program for an artificial chess player in “Prolog Programming for
    Artificial Intelligence” (Ivan Bratko, 4th Edition).

  2. An Earley parser in “AI Algorithms, Data Structures and Idioms, in Prolog,
    Lisp and Java” (George F. Luger and William A. Stubbefield, online here:
    http://www.cs.fsu.edu/~cap5605/Luger_0136070477_1.pdf)

  3. An implementation of the minimax algorithm with alpha-beta prunning in
    Prolog taken from “The Art of Prolog: Advanced Progarmming Techniques” (Leon
    Sterling, Ehud Shapiro), online here:

https://www.cpp.edu/~jrfisher/www/prolog_tutorial/ttt/ttt.pl

And instructions here:

https://www.cpp.edu/~jrfisher/www/prolog_tutorial/5_3.html

Those are examples that I remember well, but I have seen many more. It
suffices to open any Prolog textbook to find some. I am not sure how it is
possible that you have not been able to find any.

Hi
Thank you very much for the given answers.
Yes, my English is difficult to read and to follow: I did never learn English! Why not? Because I speak other tongues (French, my birth language, German, I live in Germany, Russian but without any praxis because I am old and it was very difficult to write it withe the computer and I have no typewriter for it. Latin and old Greek). And as the most influential person of the English world did assert BASIC English does enough, if it is/was not a fib, I know enough having worked through the book of C.K. Ogden ;-)) !
I did explain clearly the goal of my searching in the title of the thread:

  1. available
  2. open
  3. genealogy application in prolog
  4. for private use (clearly: not to be programmed by myself! This only reinforce the condition no. 1 “available”. For family uses!)

As I did understand, there is probably nothing although that is in total contradiction with the extremely frequent use of genealogy dates in Prolog examples :wink: , I did add two thematics out also extremely frequently used stuff:

b. nutrition (see the manual from Colmerauer (probably the first one manual about Prolog?)
c. languages processing.

you speak above on Fibonaci (hm, really, for daily family uses!!!) and search to convince it is some kind of stuff for private useful applications? Really? No, looking for the dark side of the moon would be more useful!

Referring to manual is certainly not acceptable: Thousands of manual on Prolog did be edited without to be able to project Prolog since about 1970 into the top ranking places.

For nothing excepted highly specialized environments and projects (like for Forth! Moore did reach, say the history, that ONE (unique!!!) hospital did be managed in Forth. And his telescope. But nobody can mention more project REALLY realized in Forth excepted the Big Forth monster from author of Gforth in his own home page!).

Thousands of Prolog professors at thousands of universities seem to let the arms hang and did never reach that some kind of usable application did emerge from the (collaborative) work of their student for other people to give confidence to ordinary people in their science! I live 300 meter far from a Textile University Highschool (where a lot of never used (some library cards are completely virgin although they are on the bookshelf all the time :wink: ) Prolog manuals did be bough. But they show all yeras complete clothes and not just collars or sleeves without the rest of the shirts! More, they organize all years a real complete mode show!

At least three quants came into ##prolog across the period of a few months a few years back asking for help because the programs they were using were written in Prolog and they had no idea how to change them. I didn’t ask for much in the way of detail because, generally, I don’t want to contribute to the economy-destroying approach of high-speed trading, but I’m uncomfortable with flatly lying to to them to break their work. As a result I just tuned them out.

1 Like

Improve your research skills or your reading skills. Off the top of my head, without even thinking hard on it, the Philae lander of Rosetta was coded entirely in Forth.

That’s off the top of my head. Not even Googling for it.

And Philae is far from the only piece of space equipment that was coded in Forth. There’s an entire line of Forth chips specifically radiation-hardened for space applications.

Given this ludicrous claim you just made right here about Forth, I can see where you’d get the even more ludicrous notion that there’s no Prolog in practical use.

And I’m through. You’re treating this board as your private research facility instead of doing the legwork yourself, and you’re using the particularly obnoxious technique of saying something I’m absolutely positive you know is wrong just to get the outraged correct responses because you’re too lazy to even Google.

That’s … surprising. It sounds like someone hired a bunch of fresh grads to maintain a legacy high-frequency trading system written in Prolog. I say it must have been legacy software because I can’t imagine anyone writing an application that has to do complex numerical reasoning in Prolog today. Even for a legacy system I’m surprised it was not written in FORTRAN or C. I imagine they must have wanted to do some predictive modelling, which must mean statistics which must mean linear algebra. Did they have an interface to a BLAS library written in Prolog? I can’t imagine they implemented it all in Prolog from scratch!

I’m extremely curious about the history behind all this. I would have loved to hear more. Too bad it’ll all be lost in the aether now.

(Oh, just for the record- I totally agree with you about hedge funds etc. But this is really tickling my CS history cuiriosity)

See:

Computer History Museum - Software Preservation Group - Prolog and Logic Programming Historical Sources Archive

Enjoy :smiley:

2 Likes

I know one very smart person who worked for a while in the finance industry and there’s a good chance he used Prolog. Also, Smalltalk was popular for a while – ISTR that when one crash happened due to high-speed trading algorithms doing something stupid, the value of Smalltalk programmers rose overnight because the first firm to fix the problem used a Smalltalk for some critical systems.

(This is off the top of my head; it would take me a bit of work to verify my decades-old memories.)

@ttmrichter - If someone is prepared to pay $$$$$s to fix an old Prolog program, I wouldn’t mind doing it – I’d rather have correct high-speed trading programs than incorrect, in terms of damage to the economy; and I could use the money to install a solar collector. :wink:
[And I hope this thread doesn’t turn into a political flame-war … I’m no libertarian nor fan of the finance industry; but I also think that the world is a complicated place and I’d have to judge each situation on its merits.]

1 Like

Well, both adding unbounded integers and rational numbers has been paid for by finance. Also mathematicians use (SWI-)Prolog for number theory. Yes, (SWI-)Prolog arithmetic may not be blindly fast, but it doesn’t suffer from overflows (silently getting totally wrong results) and SWI-Prolog is a quite neat front-end to GMP. As numbers get large, the Prolog overhead becomes small compared to the work GMP has to do while a Prolog program is pretty easy to understand compared to C code calling GMP, as well as far less likely to be subject to memory management issues.

So yes, (SWI-)Prolog is used for number crunching. It isn’t used (AFAIK) for crunching vectors of floating point numbers as we see in a lot of statistical analysis and machine learning. Actually it would be quite doable to support that in a similar was as R or Python. Only, there is no hope we would be able to catch up with R or NumPy in terms of available algorithms on these vectors and Prolog doesn’t provide any obvious advantage. Neither much of a disadvantage though: you basically need a high level language with automatic memory management that can represent vectors of native machine © data.

2 Likes

Just a ‘divertissement’, an exercise in graphs display and using part of modules interface as objects…
If you have graphviz installed, you could take a look at my repo. There 2 examples DBs, one is in Italian, the second is plain Prolog, already rendered

1 Like

Wow. Thanks, that’s a great trove of knowledge.

1 Like

I stand corrected then.

But, yes, I think what was most prominent in my mind was statistical analysis and machine learning. I’ve made some half-hearted attempts at defining some useful primitives for that sort of thing in the past myself but I haven’t really had the opportunity to go very far.

I take this as an opportunity to plug the work of my colleague Wang-Zhou Dai, on a Swi-Prolog-to-Julia interface:

To be honest I haven’t used the interface myself, but I understand it’s possible to also call Python code from Julia (natively ish) and also to wrap primitives from FORTRAN and C, making for a very flexible interface between Prolog and all sorts of data science-y libraries.

OK, I realise I don’t know anything about the techniques used in finance to predict the stock market etc. :slight_smile: I just intuitively thought that finance people would be suspicious of a logic-based language and it wouldn’t natively support much of the compuations they’d want to do. Probably failed pattern recognition on my part. I’ve worked in finance but not high-frequency trading btw. Just the parts where they still use mainframes :smiley:

excuse me, but…

Thousands of Prolog professors at thousands of universities seem to let the arms hang and did never reach that some kind of usable application did emerge from the (collaborative) work of their student for other people to give confidence to ordinary
people in their science! I live 300 meter far from a Textile University Highschool (where a lot of never used (some library cards are completely virgin although they are on the bookshelf all the time :wink: ) Prolog manuals did be bough.But they show all years complete clothes and not just collars or sleeves without the rest of the shirts! More, they organize all years a real complete mode show!

Where happens the yearly complete mode show of Prolog?