I remember learning it in univerisity. It's a really weird language to reason with IMO. But really fun. However I've heard the performances are not that good if you wanna make e.g. game AIs with it.
I'm curious to see how AI is going to reshape research in programming languages. Statically typed languages with expressive type systems should be even more relevant for instance.
I think that might be my favorite department/lab website I've ever come across. Really fun. Doesn't at all align with the contemporary design status quo and it shows just how good a rich website can be on a large screen. Big fan.
A few of my own experiments in this time with unification over the binders as variables themselves shows there’s almost always a post HM inference sitting there but likely not one that works in total generality.
To me that spot of trying to binding unification in higher order logic constraint equations is the most challenging and interesting problem since it’s almost always decidable or decidably undecidable in specific instances, but provably undecidable in general.
So what gives? Where is this boundary and does it give a clue to bigger gains in higher order unification? Is a more topological approach sitting just behind the veil for a much wider class of higher order inference?
And what of optimal sharing in the presence of backtracking? Lampings algorithm when the unification variables is in the binder has to have purely binding attached path contexts like closures. How does that get shared?
Fun to poke at, maybe just enough modern interest in logic programming to get there too…
I did a few days of AoC in 2020 in λProlog (as a non-expert in the language), using the Elpi implementation. It provides a decent source of relatively digestable toy examples: https://github.com/shonfeder/aoc-2020
(Caveat that I don't claim to be a λProlog or expert.)
All examples showcase the typing discipline that is novel relative to Prolog, and towards day 10, use of the lambda binders, hereditary harrop formulas, and higher order niceness shows up.
Did some modest development on Lambda Prolog back in 1999. I still have a vivid memory of feeling my brain expanding :) like rewiring how I approach programming and opening up new territory in my brain.
It might sound weird and crazy, but it quite literally blew my mind at the time !
λProlog, the Simple Theory of Types (1940) Church, A.
Score Breakdown
+0.35
PreamblePreamble
Medium A: Knowledge dissemination F: Academic/educational framing
Editorial
+0.30
Structural
+0.20
SETL
+0.17
Combined
ND
Context Modifier
ND
Implicit promotion of human dignity through knowledge access and intellectual development; educational content framing supports universal human advancement principles
ND
Article 1Freedom, Equality, Brotherhood
No observable content addressing equality or reasoning capacity distinctions
+0.30
Article 2Non-Discrimination
Medium P: Accessible academic platform F: Inclusive knowledge sharing
Editorial
+0.20
Structural
+0.30
SETL
-0.17
Combined
ND
Context Modifier
ND
Open access to educational materials without apparent discrimination; accessible HTML structure supports non-discrimination in access to knowledge
ND
Article 3Life, Liberty, Security
No observable content addressing right to life, liberty, or personal security
ND
Article 4No Slavery
No observable content addressing slavery or servitude
ND
Article 5No Torture
No observable content addressing torture or cruel treatment
ND
Article 6Legal Personhood
No observable content addressing legal personality
ND
Article 7Equality Before Law
No observable content addressing equality before law
ND
Article 8Right to Remedy
No observable content addressing legal remedies
ND
Article 9No Arbitrary Detention
No observable content addressing arbitrary arrest or detention
ND
Article 10Fair Hearing
No observable content addressing fair trial
ND
Article 11Presumption of Innocence
No observable content addressing criminal law protections
-0.35
Article 12Privacy
High P: Tracking implementation F: Privacy concern
Editorial
-0.20
Structural
-0.30
SETL
+0.17
Combined
ND
Context Modifier
ND
Google Analytics tracking (G-7BLXF7TK0D) implemented without visible consent mechanism; directly observable tracking code in page source; negative for Article 12 privacy rights
ND
Article 13Freedom of Movement
No observable content addressing freedom of movement
ND
Article 14Asylum
No observable content addressing asylum
ND
Article 15Nationality
No observable content addressing nationality
ND
Article 16Marriage & Family
No observable content addressing marriage or family
ND
Article 17Property
No observable content addressing property rights
ND
Article 18Freedom of Thought
No observable content addressing freedom of conscience or religion
+0.50
Article 19Freedom of Expression
High P: Open access to information A: Knowledge dissemination F: Transparent academic authorship
Editorial
+0.40
Structural
+0.30
SETL
+0.20
Combined
ND
Context Modifier
ND
Free access to comprehensive documentation, tutorials, and code examples; transparent attribution (Dale Miller lab, Polytechnique Paris); promotes freedom of expression and information access through open educational resources
ND
Article 20Assembly & Association
No observable content addressing freedom of assembly or association
ND
Article 21Political Participation
No observable content addressing political participation
ND
Article 22Social Security
No observable content addressing social security
ND
Article 23Work & Equal Pay
No observable content addressing work or employment rights
ND
Article 24Rest & Leisure
No observable content addressing rest or leisure
ND
Article 25Standard of Living
No observable content addressing healthcare or standard of living
+0.60
Article 26Education
High P: Free educational access A: Knowledge democratization F: Supports intellectual development
Editorial
+0.50
Structural
+0.40
SETL
+0.22
Combined
ND
Context Modifier
ND
Comprehensive free access to educational materials, tutorials, and documentation on logic programming and higher-order logic; supports right to education and intellectual development; accessible implementation of complex theory; academic institution promoting universal education
+0.45
Article 27Cultural Participation
High P: Accessible research outputs F: Democratization of technical knowledge A: Open source and documentation
Editorial
+0.40
Structural
+0.30
SETL
+0.20
Combined
ND
Context Modifier
ND
Free access to research outcomes, implementations, and technical documentation; supports participation in scientific and cultural life; open-source implementations (ELPI, Teyjus, Makam, Abella) and educational materials promote shared cultural and intellectual heritage
+0.30
Article 28Social & International Order
Low F: Institutional social order framework
Editorial
+0.20
Structural
+0.20
SETL
0.00
Combined
ND
Context Modifier
ND
Academic institution (Polytechnique Paris) operates within established educational and research social order; content itself implicitly supports intellectual and social structures enabling human development
+0.15
Article 29Duties to Community
Low F: Educational responsibility framework
Editorial
+0.10
Structural
+0.10
SETL
0.00
Combined
ND
Context Modifier
ND
Content implicitly promotes intellectual development and understanding; academic framing suggests commitment to reasoned discourse; no observable restrictions on access
ND
Article 30No Destruction of Rights
No observable content addressing UDHR rights themselves or restrictions thereof