{"entities":{"Q1819928":{"pageid":1830670,"ns":120,"title":"Item:Q1819928","lastrevid":69402288,"modified":"2026-04-13T06:45:50Z","type":"item","id":"Q1819928","labels":{"en":{"language":"en","value":"How to invent a Prolog machine"}},"descriptions":{"en":{"language":"en","value":"scientific article; zbMATH DE number 3995038"}},"aliases":{},"claims":{"P31":[{"mainsnak":{"snaktype":"value","property":"P31","hash":"fd5912e4dab4b881a8eb0eb27e7893fef55176ad","datavalue":{"value":{"entity-type":"item","numeric-id":56887,"id":"Q56887"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","id":"Q1819928$B1B07B3B-443C-4F65-9899-FAA868AAD865","rank":"normal"}],"P159":[{"mainsnak":{"snaktype":"value","property":"P159","hash":"e9f9ab1647ee9f7cf76d3d9ea3cb83d0cc4e1ca5","datavalue":{"value":{"text":"How to invent a Prolog machine","language":"en"},"type":"monolingualtext"},"datatype":"monolingualtext"},"type":"statement","id":"Q1819928$B76C40EE-94AB-48FA-AD1A-18BB6EF4126D","rank":"normal"}],"P225":[{"mainsnak":{"snaktype":"value","property":"P225","hash":"4358f7e62d552264f3ae6b6d6e2148e99e43e041","datavalue":{"value":"0614.68020","type":"string"},"datatype":"external-id"},"type":"statement","id":"Q1819928$AB44927A-DF6E-4F30-BF46-E3DEBEBB2481","rank":"normal"}],"P27":[{"mainsnak":{"snaktype":"value","property":"P27","hash":"3cf7d7728acccf23d021b5f26bebbc235216bd49","datavalue":{"value":"10.1007/BF03037460","type":"string"},"datatype":"external-id"},"type":"statement","id":"Q1819928$C102E589-64F9-422E-A626-7B1BD7583FFC","rank":"normal"}],"P16":[{"mainsnak":{"snaktype":"value","property":"P16","hash":"22a9ced3cd337a31cd702c207d621ab81de5dff2","datavalue":{"value":{"entity-type":"item","numeric-id":1819927,"id":"Q1819927"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","id":"Q1819928$BCA9874A-522F-4A27-BFF2-FA7E03CA7438","rank":"normal"}],"P200":[{"mainsnak":{"snaktype":"value","property":"P200","hash":"1ea61bc9b0eb2c27313173153e64e32651c2ebb5","datavalue":{"value":{"entity-type":"item","numeric-id":169889,"id":"Q169889"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","id":"Q1819928$DACF83A6-2D16-46E0-993C-C7475D7056F0","rank":"normal"}],"P28":[{"mainsnak":{"snaktype":"value","property":"P28","hash":"5ae48c61eed19d1e1e1f33f9255d5b329362d064","datavalue":{"value":{"time":"+1987-00-00T00:00:00Z","timezone":0,"before":0,"after":0,"precision":9,"calendarmodel":"http://www.wikidata.org/entity/Q1985727"},"type":"time"},"datatype":"time"},"type":"statement","id":"Q1819928$533F38C3-1F52-4BB2-910E-93A1CF9099C1","rank":"normal"}],"P1448":[{"mainsnak":{"snaktype":"value","property":"P1448","hash":"767fbb246b2db9813b304db537b143add4cdab24","datavalue":{"value":"In this paper we study the compilation of Prolog by making visible hidden operations (especially unification), and then optimizing them using well- known partial evaluation techniques. Inspection of straightforward partially evaluated unification algorithms gives an idea how to design special abstract machine instructions which later form the target language of our compilation. We handle typical compiler problems like representation of terms explicitly. This work gives a logical reconstruction of abstract Prolog machine code, and represents an approach of constructing a correct compiler from Prolog to such a code. As an example, we are explaining the unification principles of Warren's new Prolog engine within our framework.","type":"string"},"datatype":"string"},"type":"statement","id":"Q1819928$DB8C17E8-50BF-4240-8084-B216DDD33D2C","rank":"normal"}],"P226":[{"mainsnak":{"snaktype":"value","property":"P226","hash":"ec3769495799f08479987ac368adf64f125a2b66","datavalue":{"value":"68N25","type":"string"},"datatype":"external-id"},"type":"statement","id":"Q1819928$7DA9A2A7-2CC6-42C8-B3B4-6C778DC448C3","rank":"normal"}],"P1451":[{"mainsnak":{"snaktype":"value","property":"P1451","hash":"6dafc90be8fccf1a6b6b6fa6a12dc7d82d21b490","datavalue":{"value":"3995038","type":"string"},"datatype":"external-id"},"type":"statement","id":"Q1819928$ED00D816-7C27-49B7-89DC-78650FC2156B","rank":"normal"}],"P1450":[{"mainsnak":{"snaktype":"value","property":"P1450","hash":"c2b69629ecc5e26d9edd9d2ababa7c8914e1cc4c","datavalue":{"value":"compiling Prolog","type":"string"},"datatype":"string"},"type":"statement","id":"Q1819928$8BB3021A-2E5F-4FAB-A14C-38020BC97088","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P1450","hash":"cd635c3e0384cb8e39d62c62bd9ec3d4f42bdbfd","datavalue":{"value":"deriving instruction sets","type":"string"},"datatype":"string"},"type":"statement","id":"Q1819928$03289725-F83B-4195-8405-E911AA6CD9B9","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P1450","hash":"a1d5ff23131ebeb4ca49ff11cc7a22ba18fe2186","datavalue":{"value":"compilation of Prolog","type":"string"},"datatype":"string"},"type":"statement","id":"Q1819928$3AFD1FC2-18EB-4912-9C3A-67BE86448F5E","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P1450","hash":"7b696f955b2e5608e2b0af647822dc65247cf5d7","datavalue":{"value":"hidden operations","type":"string"},"datatype":"string"},"type":"statement","id":"Q1819928$F81EAB5F-3C51-404E-B639-EB1E5EE12C1A","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P1450","hash":"c3922eb0b8235fb2b824bcb3eaa0c8d395dbd512","datavalue":{"value":"unification","type":"string"},"datatype":"string"},"type":"statement","id":"Q1819928$16845A14-C929-4796-AB0E-FFC1B6A722C7","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P1450","hash":"bc31ada3e3f12a74e618e5c1565ffae33b3f6f70","datavalue":{"value":"partial evaluation","type":"string"},"datatype":"string"},"type":"statement","id":"Q1819928$647BD7EE-5394-45DB-B4F2-23C485AAB961","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P1450","hash":"91867418ffb3ca0760bbebc0c8cd0185cad0f172","datavalue":{"value":"abstract Prolog machine","type":"string"},"datatype":"string"},"type":"statement","id":"Q1819928$E14081C3-2569-4ED0-93FC-4AD705F2D199","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P1450","hash":"7372257af8585a8f371b78f49e5b800618b1f04a","datavalue":{"value":"Warren's new Prolog engine","type":"string"},"datatype":"string"},"type":"statement","id":"Q1819928$8D9AF2D5-D0AF-43EE-B70D-58A8F0A84672","rank":"normal"}],"P1460":[{"mainsnak":{"snaktype":"value","property":"P1460","hash":"57f7fea50d2ce1b39b695c4a1313582eed405e38","datavalue":{"value":{"entity-type":"item","numeric-id":5976449,"id":"Q5976449"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","id":"Q1819928$1A5E0A02-F5AD-4F22-B2BD-AC74711FF6EA","rank":"normal"}],"P223":[{"mainsnak":{"snaktype":"value","property":"P223","hash":"70200912b15e3f6d8f97f26c605e4ed0a53464e8","datavalue":{"value":{"entity-type":"item","numeric-id":3919057,"id":"Q3919057"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","id":"Q1819928$1F69118C-FC02-4823-8338-B47C835EDA6C","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P223","hash":"b3dba80682bd0b31d621c22e500408802576b010","datavalue":{"value":{"entity-type":"item","numeric-id":1249036,"id":"Q1249036"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","id":"Q1819928$B4D7F6FE-28A8-434A-91E6-AA725878B452","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P223","hash":"ec4c0af17dc85865b0c440b7eba58f1bf7cca886","datavalue":{"value":{"entity-type":"item","numeric-id":1169808,"id":"Q1169808"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","id":"Q1819928$9ED2AEDF-A0F2-44D0-A29A-A12395734607","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P223","hash":"bdef283b200aa3269d09e08c4de781b834b117f6","datavalue":{"value":{"entity-type":"item","numeric-id":3694653,"id":"Q3694653"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","id":"Q1819928$0D11740E-BAAE-4F9F-A2C2-1D6CB4BB355B","rank":"normal"}],"P205":[{"mainsnak":{"snaktype":"value","property":"P205","hash":"f7e13583ea6bb682744ed3e5e3d8aa90beff542e","datavalue":{"value":"https://doi.org/10.1007/bf03037460","type":"string"},"datatype":"url"},"type":"statement","id":"Q1819928$957ED26C-EA38-44F1-AEDE-169AEA5AEE4C","rank":"normal"}],"P388":[{"mainsnak":{"snaktype":"value","property":"P388","hash":"94e0b7d0467148866e33581c04b4ccff0d9fa7f5","datavalue":{"value":"W2103288707","type":"string"},"datatype":"external-id"},"type":"statement","id":"Q1819928$F4EF24A6-9393-438F-A224-491A5BB7DE68","rank":"normal"}],"P1643":[{"mainsnak":{"snaktype":"value","property":"P1643","hash":"3052955fa4e6024e045c7eebfa730b43a74fd6a3","datavalue":{"value":{"entity-type":"item","numeric-id":4015948,"id":"Q4015948"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","qualifiers":{"P1659":[{"snaktype":"value","property":"P1659","hash":"da0ea453a1b420d400c6346ff62751107ab2abf1","datavalue":{"value":{"amount":"+0.8451891541481018","unit":"1"},"type":"quantity"},"datatype":"quantity"}],"P1660":[{"snaktype":"value","property":"P1660","hash":"a327a09ea0305e98d5cf33bd4036320e19f2aed0","datavalue":{"value":{"entity-type":"item","numeric-id":6821328,"id":"Q6821328"},"type":"wikibase-entityid"},"datatype":"wikibase-item"}]},"qualifiers-order":["P1659","P1660"],"id":"Q1819928$88EC6D86-E68A-4569-BF81-59772AAC9884","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P1643","hash":"aef2df71fd345e2d00c4897e3ea2cb97a3eb47ab","datavalue":{"value":{"entity-type":"item","numeric-id":5286920,"id":"Q5286920"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","qualifiers":{"P1659":[{"snaktype":"value","property":"P1659","hash":"7c77420a17f317dfd1abebac48d113860509d389","datavalue":{"value":{"amount":"+0.82578444480896","unit":"1"},"type":"quantity"},"datatype":"quantity"}],"P1660":[{"snaktype":"value","property":"P1660","hash":"a327a09ea0305e98d5cf33bd4036320e19f2aed0","datavalue":{"value":{"entity-type":"item","numeric-id":6821328,"id":"Q6821328"},"type":"wikibase-entityid"},"datatype":"wikibase-item"}]},"qualifiers-order":["P1659","P1660"],"id":"Q1819928$F1A68813-BC59-4299-ABEC-34800BFDF472","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P1643","hash":"8b6ed4bb9f88d8786bb5d35a884467101e5a19de","datavalue":{"value":{"entity-type":"item","numeric-id":4294268,"id":"Q4294268"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","qualifiers":{"P1659":[{"snaktype":"value","property":"P1659","hash":"7c77420a17f317dfd1abebac48d113860509d389","datavalue":{"value":{"amount":"+0.82578444480896","unit":"1"},"type":"quantity"},"datatype":"quantity"}],"P1660":[{"snaktype":"value","property":"P1660","hash":"a327a09ea0305e98d5cf33bd4036320e19f2aed0","datavalue":{"value":{"entity-type":"item","numeric-id":6821328,"id":"Q6821328"},"type":"wikibase-entityid"},"datatype":"wikibase-item"}]},"qualifiers-order":["P1659","P1660"],"id":"Q1819928$EF41D0B7-BCBB-4C3E-9CC2-6CC584484C5B","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P1643","hash":"ca25b022e318e820762aa4b591d9cf0cf7e5595f","datavalue":{"value":{"entity-type":"item","numeric-id":4040740,"id":"Q4040740"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","qualifiers":{"P1659":[{"snaktype":"value","property":"P1659","hash":"2c0d982e23848edeb14488b51d02152122a6b700","datavalue":{"value":{"amount":"+0.810686469078064","unit":"1"},"type":"quantity"},"datatype":"quantity"}],"P1660":[{"snaktype":"value","property":"P1660","hash":"a327a09ea0305e98d5cf33bd4036320e19f2aed0","datavalue":{"value":{"entity-type":"item","numeric-id":6821328,"id":"Q6821328"},"type":"wikibase-entityid"},"datatype":"wikibase-item"}]},"qualifiers-order":["P1659","P1660"],"id":"Q1819928$D886756A-7496-4B86-BD3C-2DF23025216F","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P1643","hash":"8ca03a4a9e9ea5eaf893ee179e96fac28a0a9197","datavalue":{"value":{"entity-type":"item","numeric-id":3750143,"id":"Q3750143"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","qualifiers":{"P1659":[{"snaktype":"value","property":"P1659","hash":"837833b2cf101c422c00b8bd8e71bca0c2d7e693","datavalue":{"value":{"amount":"+0.7962539792060852","unit":"1"},"type":"quantity"},"datatype":"quantity"}],"P1660":[{"snaktype":"value","property":"P1660","hash":"a327a09ea0305e98d5cf33bd4036320e19f2aed0","datavalue":{"value":{"entity-type":"item","numeric-id":6821328,"id":"Q6821328"},"type":"wikibase-entityid"},"datatype":"wikibase-item"}]},"qualifiers-order":["P1659","P1660"],"id":"Q1819928$89F1932E-F632-4127-B0BD-2CC8D541BC36","rank":"normal"}]},"sitelinks":{"mardi":{"site":"mardi","title":"How to invent a Prolog machine","badges":[]}}}}}