Skip to main content

Showing 1–16 of 16 results for author: Wielemaker, J

Searching in archive cs. Search in all archives.
.
  1. arXiv:2201.10816  [pdf, ps, other

    cs.PL

    Fifty Years of Prolog and Beyond

    Authors: Philipp Körner, Michael Leuschel, João Barbosa, Vítor Santos Costa, Verónica Dahl, Manuel V. Hermenegildo, Jose F. Morales, Jan Wielemaker, Daniel Diaz, Salvador Abreu, Giovanni Ciatto

    Abstract: Both logic programming in general, and Prolog in particular, have a long and fascinating history, intermingled with that of many disciplines they inherited from or catalyzed. A large body of research has been gathered over the last 50 years, supported by many Prolog implementations. Many implementations are still actively developed, while new ones keep appearing. Often, the features added by diffe… ▽ More

    Submitted 14 March, 2022; v1 submitted 26 January, 2022; originally announced January 2022.

    Comments: 87 pages, 2 figures. This article has been accepted for publication in Theory and Practice of Logic Programming (TPLP)

  2. arXiv:1909.08254  [pdf, other

    cs.LO cs.DB q-bio.QM

    Advances in Big Data Bio Analytics

    Authors: Nicos Angelopoulos, Jan Wielemaker

    Abstract: Delivering effective data analytics is of crucial importance to the interpretation of the multitude of biological datasets currently generated by an ever increasing number of high throughput techniques. Logic programming has much to offer in this area. Here, we detail advances that highlight two of the strengths of logical formalisms in developing data analytic solutions in biological settings: a… ▽ More

    Submitted 18 September, 2019; originally announced September 2019.

    Comments: In Proceedings ICLP 2019, arXiv:1909.07646

    Journal ref: EPTCS 306, 2019, pp. 309-322

  3. Lazy Stream Programming in Prolog

    Authors: Paul Tarau, Jan Wielemaker, Tom Schrijvers

    Abstract: In recent years, stream processing has become a prominent approach for incrementally handling large amounts of data, with special support and libraries in many programming languages. Unfortunately, support in Prolog has so far been lacking and most existing approaches are ad-hoc. To remedy this situation, we present lazy stream generators as a unified Prolog interface for stateful computations on… ▽ More

    Submitted 19 September, 2019; v1 submitted 25 July, 2019; originally announced July 2019.

    Comments: In Proceedings ICLP 2019, arXiv:1909.07646

    Journal ref: EPTCS 306, 2019, pp. 224-237

  4. Using SWISH to realise interactive web based tutorials for logic based languages

    Authors: Jan Wielemaker, Fabrizio Riguzzi, Bob Kowalski, Torbjörn Lager, Fariba Sadri, Miguel Calejo

    Abstract: Programming environments have evolved from purely text based to using graphical user interfaces, and now we see a move towards web based interfaces, such as Jupyter. Web based interfaces allow for the creation of interactive documents that consist of text and programs, as well as their output. The output can be rendered using web technology as, e.g., text, tables, charts or graphs. This approach i… ▽ More

    Submitted 30 January, 2020; v1 submitted 24 August, 2018; originally announced August 2018.

    Journal ref: Jan Wielemaker et al. Using SWISH to realise interactive web based tutorials for logic based languages. Theory and Practice of Logic Programming, 19(2):229--261, 2019

  5. arXiv:1608.00989  [pdf, other

    cs.PL

    Lock-free atom garbage collection for multithreaded Prolog

    Authors: Jan Wielemaker, Keri Harris

    Abstract: The runtime system of dynamic languages such as Prolog or Lisp and their derivatives contain a symbol table, in Prolog often called the atom table. A simple dynamically resizing hash-table used to be an adequate way to implement this table. As Prolog becomes fashionable for 24x7 server processes we need to deal with atom garbage collection and concurrent access to the atom table. Classical lock-ba… ▽ More

    Submitted 2 August, 2016; originally announced August 2016.

    Comments: Paper presented at the 32nd International Conference on Logic Programming (ICLP 2016), New York City, USA, 16-21 October 2016, 14 pages, LaTeX, 4 PDF figures

  6. arXiv:1511.00915  [pdf, other

    cs.PL cs.AI

    SWISH: SWI-Prolog for Sharing

    Authors: Jan Wielemaker, Torbjörn Lager, Fabrizio Riguzzi

    Abstract: Recently, we see a new type of interfaces for programmers based on web technology. For example, JSFiddle, IPython Notebook and R-studio. Web technology enables cloud-based solutions, embedding in tutorial web pages, atractive rendering of results, web-scale cooperative development, etc. This article describes SWISH, a web front-end for Prolog. A public website exposes SWI-Prolog using SWISH, which… ▽ More

    Submitted 3 November, 2015; originally announced November 2015.

    Comments: International Workshop on User-Oriented Logic Programming (IULP 2015), co-located with the 31st International Conference on Logic Programming (ICLP 2015), Proceedings of the International Workshop on User-Oriented Logic Programming (IULP 2015), Editors: Stefan Ellmauthaler and Claudia Schulz, pages 99-113, August 2015

  7. Pengines: Web Logic Programming Made Easy

    Authors: Torbjörn Lager, Jan Wielemaker

    Abstract: When developing a (web) interface for a deductive database, functionality required by the client is provided by means of HTTP handlers that wrap the logical data access predicates. These handlers are responsible for converting between client and server data representations and typically include options for paginating results. Designing the web accessible API is difficult because it is hard to pred… ▽ More

    Submitted 14 May, 2014; originally announced May 2014.

    Comments: To appear in Theory and Practice of Logic Programming

    Journal ref: Theory and Practice of Logic Programming 14 (2014) 539-552

  8. arXiv:1308.3941  [pdf, ps, other

    cs.PL

    Why It's Nice to be Quoted: Quasiquoting for Prolog

    Authors: Jan Wielemaker, Michael Hendricks

    Abstract: Prolog's support for dynamic programming, meta programming and text processing using context free grammars make the language highly suitable for defining domain specific languages (DSL) as well as analysing, refactoring or generating expression states in other (programming) languages. Well known DSLs are the DCG (Definite Clause Grammar) notation and constraint languages such as CHR. These extensi… ▽ More

    Submitted 19 August, 2013; originally announced August 2013.

    Comments: Part of WLPE 2013 proceedings (arXiv:1308.2055)

    Report number: WLPE/2013/7

  9. arXiv:1301.7669  [pdf, ps, other

    cs.PL cs.DB

    Extending the logical update view with transaction support

    Authors: Jan Wielemaker

    Abstract: Since the database update view was standardised in the Prolog ISO standard, the so called logical update view is available in all actively maintained Prolog systems. While this update view provided a well defined update semantics and allows for efficient handling of dynamic code, it does not help in maintaining consistency of the dynamic database. With the introduction of multiple threads and depl… ▽ More

    Submitted 31 January, 2013; originally announced January 2013.

    Comments: Appeared in CICLOPS 2012. 9 Pages, 0 Figures

  10. arXiv:1011.5332  [pdf, other

    cs.PL

    SWI-Prolog

    Authors: Jan Wielemaker, Tom Schrijvers, Markus Triska, Torbjörn Lager

    Abstract: SWI-Prolog is neither a commercial Prolog system nor a purely academic enterprise, but increasingly a community project. The core system has been shaped to its current form while being used as a tool for building research prototypes, primarily for \textit{knowledge-intensive} and \textit{interactive} systems. Community contributions have added several interfaces and the constraint (CLP) libraries.… ▽ More

    Submitted 24 November, 2010; originally announced November 2010.

    Comments: 30 pages, 6 figures, 1 table. To appear in Theory and Practice of Logic Programming (TPLP)

  11. arXiv:1009.3796  [pdf, ps, other

    cs.PL

    Portability of Prolog programs: theory and case-studies

    Authors: Jan Wielemaker, Vítor Santos Costa

    Abstract: (Non-)portability of Prolog programs is widely considered as an important factor in the lack of acceptance of the language. Since 1995, the core of the language is covered by the ISO standard 13211-1. Since 2007, YAP and SWI-Prolog have established a basic compatibility framework. This article describes and evaluates this framework. The aim of the framework is running the same code on both systems… ▽ More

    Submitted 20 September, 2010; originally announced September 2010.

    Comments: Online proceedings of the Joint Workshop on Implementation of Constraint Logic Programming Systems and Logic-based Methods in Programming Environments (CICLOPS-WLPE 2010), Edinburgh, Scotland, U.K., July 15, 2010

  12. arXiv:0911.2899  [pdf, ps, other

    cs.PL

    Coding Guidelines for Prolog

    Authors: Michael A. Covington, Roberto Bagnara, Richard A. O'Keefe, Jan Wielemaker, Simon Price

    Abstract: Coding standards and good practices are fundamental to a disciplined approach to software projects, whatever programming languages they employ. Prolog programming can benefit from such an approach, perhaps more than programming in other languages. Despite this, no widely accepted standards and practices seem to have emerged up to now. The present paper is a first step towards filling this void: it… ▽ More

    Submitted 17 May, 2011; v1 submitted 15 November, 2009; originally announced November 2009.

    Comments: 39 pages, 4 figures, 2 tables

    ACM Class: D.1.6; D.2.3; D.2.9; K.6.3

  13. arXiv:0903.2168  [pdf, ps, other

    cs.PL cs.SE

    Better Termination for Prolog with Constraints

    Authors: Markus Triska, Ulrich Neumerkel, Jan Wielemaker

    Abstract: Termination properties of actual Prolog systems with constraints are fragile and difficult to analyse. The lack of the occurs-check, moded and overloaded arithmetical evaluation via is/2 and the occasional nontermination of finite domain constraints are all sources for invalidating termination results obtained by current termination analysers that rely on idealized assumptions. In this paper, we… ▽ More

    Submitted 12 March, 2009; originally announced March 2009.

    Comments: Paper presented at the 18th Workshop on Logic-based Methods in Programming Environments (WLPE2008) (Report-No: WLPE/2008). Paper submitted by a co-editor of the Workshop proceedings

    Report number: WLPE/2008/02

  14. arXiv:0711.0917  [pdf, other

    cs.PL cs.SC

    SWI-Prolog and the Web

    Authors: Jan Wielemaker, Zhisheng Huang, Lourens van der Meij

    Abstract: Where Prolog is commonly seen as a component in a Web application that is either embedded or communicates using a proprietary protocol, we propose an architecture where Prolog communicates to other components in a Web application using the standard HTTP protocol. By avoiding embedding in external Web servers development and deployment become much easier. To support this architecture, in addition… ▽ More

    Submitted 6 November, 2007; originally announced November 2007.

    Comments: 31 pages, 24 figures and 2 tables. To appear in Theory and Practice of Logic Programming (TPLP)

  15. arXiv:0711.0618  [pdf, other

    cs.PL cs.SE

    PIDoc: Wiki style Literate Programming for Prolog

    Authors: Jan Wielemaker, Anjo Anjewierden

    Abstract: This document introduces PlDoc, a literate programming system for Prolog. Starting point for PlDoc was minimal distraction from the programming task and maximal immediate reward, attempting to seduce the programmer to use the system. Minimal distraction is achieved using structured comments that are as closely as possible related to common Prolog documentation practices. Immediate reward is prov… ▽ More

    Submitted 5 November, 2007; originally announced November 2007.

    Comments: Paper presented at the 17th Workshop on Logic-based Methods in Programming Environments (WLPE2007)

  16. arXiv:cs/0207053  [pdf, ps, other

    cs.SE

    An Architecture for Making Object-Oriented Systems Available from Prolog

    Authors: Jan Wielemaker, Anjo Anjewierden

    Abstract: It is next to impossible to develop real-life applications in just pure Prolog. With XPCE we realised a mechanism for integrating Prolog with an external object-oriented system that turns this OO system into a natural extension to Prolog. We describe the design and how it can be applied to other external OO systems.

    Submitted 11 July, 2002; originally announced July 2002.

    Comments: 14 pages; Alexandre Tessier, editor; WLPE 2002, http://xxx.lanl.gov/abs/cs.SE/0207052

    ACM Class: D.1.6; D.2.5; D.2.6; F.4.1; I.2.3