Functional Reading of Logic Programs

dc.creatorSeres,Silvija
dc.creatorSpivey,Michael
dc.date2000
dc.date.accessioned2024-02-06T12:50:33Z
dc.date.available2024-02-06T12:50:33Z
dc.descriptionWe propose an embedding of logic programming into lazy functional programming in which each predicate in a Prolog program becomes a Haskell function, in such a way that both the declarative and the procedural reading of the Prolog predicate are preserved. The embedding computes by means of operations on lazy lists. The state of each step in computation is passed on as a stream of answer substitutions, and all the logic operators of Prolog are implemented by explicit Haskell operators on these streams. The search strategy can be changed by altering the basic types of the embedding and the implementation of these operators. This model results in a perspicuous semantics for logic programs, and serves as a good example of modularisation in functional programming.
dc.formattext/html
dc.identifierhttps://doi.org/10.3217/jucs-006-04-0433
dc.identifierhttps://lib.jucs.org/article/27671/
dc.identifier.urihttps://openrepository.mephi.ru/handle/123456789/7743
dc.languageen
dc.publisherJournal of Universal Computer Science
dc.relationinfo:eu-repo/semantics/altIdentifier/eissn/0948-6968
dc.relationinfo:eu-repo/semantics/altIdentifier/pissn/0948-695X
dc.rightsinfo:eu-repo/semantics/openAccess
dc.rightsJ.UCS License
dc.sourceJUCS - Journal of Universal Computer Science 6(4): 433-446
dc.subjectlogic programming
dc.subjectfunctional embedding
dc.subjectprogram transformation
dc.subjectalgebraic methods
dc.titleFunctional Reading of Logic Programs
dc.typeResearch Article
Файлы
Коллекции