Y
HN HRCB new | past | comments | ask | show | jobs | articles | domains | dashboard | seldon | network | factions | velocity | about hrcb
home / www.amzi.com / item 47112148
+0.28 Extending C with Prolog (1994) (www.amzi.com)
61 points by Antibabelic 2 days ago | 19 comments on HN | Mild positive Editorial · vv3.4 · 2026-02-25
Article Heatmap
Preamble: ND — Preamble Preamble: No Data — Preamble P Article 1: ND — Freedom, Equality, Brotherhood Article 1: No Data — Freedom, Equality, Brotherhood 1 Article 2: ND — Non-Discrimination Article 2: No Data — Non-Discrimination 2 Article 3: ND — Life, Liberty, Security Article 3: No Data — Life, Liberty, Security 3 Article 4: ND — No Slavery Article 4: No Data — No Slavery 4 Article 5: ND — No Torture Article 5: No Data — No Torture 5 Article 6: ND — Legal Personhood Article 6: No Data — Legal Personhood 6 Article 7: ND — Equality Before Law Article 7: No Data — Equality Before Law 7 Article 8: ND — Right to Remedy Article 8: No Data — Right to Remedy 8 Article 9: ND — No Arbitrary Detention Article 9: No Data — No Arbitrary Detention 9 Article 10: ND — Fair Hearing Article 10: No Data — Fair Hearing 10 Article 11: ND — Presumption of Innocence Article 11: No Data — Presumption of Innocence 11 Article 12: ND — Privacy Article 12: No Data — Privacy 12 Article 13: ND — Freedom of Movement Article 13: No Data — Freedom of Movement 13 Article 14: ND — Asylum Article 14: No Data — Asylum 14 Article 15: ND — Nationality Article 15: No Data — Nationality 15 Article 16: ND — Marriage & Family Article 16: No Data — Marriage & Family 16 Article 17: ND — Property Article 17: No Data — Property 17 Article 18: ND — Freedom of Thought Article 18: No Data — Freedom of Thought 18 Article 19: +0.25 — Freedom of Expression 19 Article 20: ND — Assembly & Association Article 20: No Data — Assembly & Association 20 Article 21: ND — Political Participation Article 21: No Data — Political Participation 21 Article 22: ND — Social Security Article 22: No Data — Social Security 22 Article 23: ND — Work & Equal Pay Article 23: No Data — Work & Equal Pay 23 Article 24: ND — Rest & Leisure Article 24: No Data — Rest & Leisure 24 Article 25: ND — Standard of Living Article 25: No Data — Standard of Living 25 Article 26: +0.30 — Education 26 Article 27: ND — Cultural Participation Article 27: No Data — Cultural Participation 27 Article 28: ND — Social & International Order Article 28: No Data — Social & International Order 28 Article 29: ND — Duties to Community Article 29: No Data — Duties to Community 29 Article 30: ND — No Destruction of Rights Article 30: No Data — No Destruction of Rights 30
Negative Neutral Positive No Data
Aggregates
Weighted Mean +0.28 Unweighted Mean +0.28
Max +0.30 Article 26 Min +0.25 Article 19
Signal 2 No Data 29
Confidence 4% Volatility 0.03 (Low)
Negative 0 Channels E: 0.6 S: 0.4
SETL -0.09 Structural-dominant
Evidence: High: 0 Medium: 2 Low: 0 No Data: 29
Theme Radar
Foundation Security Legal Privacy & Movement Personal Expression Economic & Social Cultural Order & Duties Foundation: 0.00 (0 articles) Security: 0.00 (0 articles) Legal: 0.00 (0 articles) Privacy & Movement: 0.00 (0 articles) Personal: 0.00 (0 articles) Expression: 0.25 (1 articles) Economic & Social: 0.00 (0 articles) Cultural: 0.30 (1 articles) Order & Duties: 0.00 (0 articles)
Domain Context Profile
Element Modifier Affects Note
Privacy
No privacy policy or data handling practices observable on-domain from this URL.
Terms of Service
No Terms of Service observable on-domain from this URL.
Accessibility
No accessibility features or statements observable on this technical article page.
Mission
No explicit mission statement observable on this article; domain is a software vendor site.
Editorial Code
No editorial code or standards statement observable on-domain.
Ownership
Article attribution to Dr. Dobbs Journal (August 1994); no broader organizational context provided.
Access Model
Content is freely accessible; no paywall or registration detected.
Ad/Tracking
No advertising or tracking pixels observable in provided content.
HN Discussion 8 top-level · 0 replies
vintagedave 2026-02-22 16:29 UTC link
> We recently installed Gateway multi-media kits on our PCs, but found the installation less than trivial because of conflicts in our interrupt (IRQ) channels. A simple expert system could have helped to resolve those IRQ conflicts. ... The sample program is set up to allow installation of two different devices, a 'Sound Blaster' and a 'Mitsumi CD- ROM'.

This was a real blast from the past. I wonder why more systems today don't have this kind of logic solving built in. Possibly, too many complex behaviours that are not cleanly quantified.

krzyk 2026-02-24 16:35 UTC link
Is this the time of year when we try to force redditors to stay away by posting about Prolog?

I see three stories already.

HexDecOctBin 2026-02-24 17:00 UTC link
I often wonder what a Prolog implemented as an Objective-C like extension to C would look like. Since WAM has proper stack and heap IIRC, it might be possible to plug that in through some region-based memory management on C side. Is there some prior art like this?
sprior 2026-02-24 18:16 UTC link
I started using Prolog in my self written home automation system over 20 years ago. At first I was using CORBA and I linked ACE/Tao into SWI-Prolog so that Prolog could catch and send CORBA messages. That worked for years but was too annoying to add new message types since a wrapper had to be written for each, plus threading had to be coordinated between C++ and Prolog. Eventually I ditched the CORBA stuff and switched to MQTT, but instead of binding the C++ and Prolog together I found and extended MQTT support for Prolog directly, actually I've mostly replaced the C++ parts of my HA system with Java. The Prolog is pretty nice the way I can now specify predicates for MQTT topic paths, and I use shared topics for scalability. Now all of this is running deployed in k3s.
mcswell 2026-02-24 18:59 UTC link
FWIW (not much), around the time of that article, I reversed this: I used Arity Prolog for a morphological parsing program, with C calls for the bit fiddling (because I needed 64 bits, and the Prolog I was using only handled 16 bit strings).
ofrzeta 2026-02-24 19:47 UTC link
Related: Using Prolog in Windows NT Network Configuration (1996) https://news.ycombinator.com/item?id=36821871
buescher 2026-02-24 20:41 UTC link
There's another updated version of that prolog here along with some links, including an archived article from Microsoft Research on how it was (once upon a time) used in Windows NT network configuration: https://github.com/opless/small-prolog
crustycoder 2026-02-24 22:37 UTC link
Things have moved on since 1994, not only can you still embed it in C and a load of other languages, you can even run it directly in your browser as there's a WASM port.

https://www.swi-prolog.org/pldoc/man?section=wasm-version

Score Breakdown
ND
Preamble Preamble

Preamble addresses human dignity, equality, reason, conscience, and freedom from oppression. Article content does not directly address Preamble themes; no observable positive or negative signal.

ND
Article 1 Freedom, Equality, Brotherhood

Article 1 addresses equal rights and dignity of all human beings. Technical article on programming languages does not address human equality or dignity.

ND
Article 2 Non-Discrimination

Article 2 prohibits discrimination. Technical article contains no observable discriminatory language or exclusionary practices in content structure.

ND
Article 3 Life, Liberty, Security

Article 3 protects right to life, liberty, and personal security. Not addressed in technical programming content.

ND
Article 4 No Slavery

Article 4 prohibits slavery and servitude. Not applicable to technical educational content.

ND
Article 5 No Torture

Article 5 prohibits torture and cruel treatment. Not addressed in technical content.

ND
Article 6 Legal Personhood

Article 6 protects right to recognition as a person before the law. Not addressed in technical programming article.

ND
Article 7 Equality Before Law

Article 7 guarantees equal protection and remedy against discrimination. No observable signal in technical content.

ND
Article 8 Right to Remedy

Article 8 protects right to effective remedy by competent tribunals. Not addressed in programming article.

ND
Article 9 No Arbitrary Detention

Article 9 prohibits arbitrary arrest and detention. Not applicable to technical content.

ND
Article 10 Fair Hearing

Article 10 guarantees fair and public hearing by independent tribunal. Not addressed in technical content.

ND
Article 11 Presumption of Innocence

Article 11 protects presumption of innocence and rights in criminal proceedings. Not applicable to technical programming content.

ND
Article 12 Privacy

Article 12 protects privacy, family, home, and correspondence from arbitrary interference. No observable signal in technical content.

ND
Article 13 Freedom of Movement

Article 13 protects freedom of movement and residence. Not addressed in technical article.

ND
Article 14 Asylum

Article 14 protects right to seek asylum. Not applicable to technical programming content.

ND
Article 15 Nationality

Article 15 protects right to a nationality. Not addressed in technical content.

ND
Article 16 Marriage & Family

Article 16 protects rights to marry and family. Not addressed in technical article.

ND
Article 17 Property

Article 17 protects right to own property. Not addressed in technical programming content.

ND
Article 18 Freedom of Thought

Article 18 protects freedom of thought, conscience, and religion. Not observable in technical content.

+0.25
Article 19 Freedom of Expression
Medium A: Educational sharing of technical knowledge facilitates informed discourse F: Free access to article without paywall supports information distribution
Editorial
+0.20
Structural
+0.30
SETL
-0.17
Combined
ND
Context Modifier
ND

Article 19 protects freedom of opinion and expression, and to seek, receive, and impart information. Content demonstrates mild positive signal: article is freely accessible without registration, attribution to Dr. Dobbs Journal is provided (transparency), and educational material is shared openly. No censorship or restriction observed. However, content is purely technical and not explicitly advocating for freedom of expression.

ND
Article 20 Assembly & Association

Article 20 protects freedom of peaceful assembly and association. Not addressed in technical programming article.

ND
Article 21 Political Participation

Article 21 protects right to participate in government and equal access to public service. Not applicable to technical content.

ND
Article 22 Social Security

Article 22 protects right to social security and economic, social, and cultural rights. Not addressed in technical article.

ND
Article 23 Work & Equal Pay

Article 23 protects right to work, free choice of employment, and fair working conditions. Not directly addressed in technical content; article is educational resource rather than workplace context.

ND
Article 24 Rest & Leisure

Article 24 protects right to rest and leisure. Not addressed in technical programming content.

ND
Article 25 Standard of Living

Article 25 protects right to adequate standard of living including food, clothing, housing, and medical care. Not applicable to technical content.

+0.30
Article 26 Education
Medium A: Educational content promotes development of human faculties F: Technical knowledge is presented to enable informed learning
Editorial
+0.30
Structural
+0.30
SETL
0.00
Combined
ND
Context Modifier
ND

Article 26 protects right to education and development of human personality. Content demonstrates mild positive signal: article provides educational material on programming and software design, supporting intellectual development. Content aims to teach and develop professional competencies. However, article does not explicitly address education rights or accessibility principles.

ND
Article 27 Cultural Participation

Article 27 protects right to participate in cultural life and share scientific advancement. Not directly observable in technical content.

ND
Article 28 Social & International Order

Article 28 provides for social and international order to realize human rights. Not addressed in technical content.

ND
Article 29 Duties to Community

Article 29 establishes duties and limitations of rights. Not addressed in technical programming article.

ND
Article 30 No Destruction of Rights

Article 30 prohibits use of rights to destroy other rights. Not applicable to technical content.

About HRCB | By Right | HN Guidelines | HN FAQ | Source | UDHR | RSS
build f581ea9+b3nz · 2026-02-25 03:04 UTC