Hostname: page-component-cd9895bd7-7cvxr Total loading time: 0 Render date: 2024-12-27T10:45:14.684Z Has data issue: false hasContentIssue false

Funser: a functional server for textual information retrieval

Published online by Cambridge University Press:  07 November 2008

Donald A Ziff
Affiliation:
Department of Computer Science, University of Chicago, IL, USA (email: ziff@cs.uchicago.edu)
Stephen P Spackman
Affiliation:
Computational Linguistics, DFKI Saarbrücken, Germany (email: stephen@acm.org)
Keith Waclena
Affiliation:
University of Chicago Library, Chicago, IL, USA (email: k-waclena@uchicago.edu)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

This paper describes a data-intensive application written in a lazy functional language: a server for textual information retrieval. The design illustrates the importance of interoperability, the capability of interacting with code written in other programming languages. Lazy functional programming is shown to be a powerful and elegant means of accomplishing several desirable concrete goals: delivering initial results promptly, using space economically, and avoiding unnecessary I/O. Performance results, however, are mixed.

Type
Research Article
Copyright
Copyright © Cambridge University Press 1995

References

American and French Research on the Treasury of the French Language (1989a) The Philis Command Interpreter: A User's Overview. Chicago, IL.Google Scholar
American and French Research on the Treasury of the French Language (1989b) User's Guide to the PhiloLogic Prototype System (5.3). Chicago, IL.Google Scholar
Augustsson, L. (1985) Small, a small interactive functional system. Technical Report 28, Department of Computer Sciences, Chalmers University of Technology, Göteborg, Sweden, September.Google Scholar
Augustsson, L. (1994) Haskell B. User's Manual. Chalmers University, Göteborg, Sweden.Google Scholar
Augustsson, L. and Johnsson, T. (1994) Lazy ML User's Manual. Chalmers University, Göteborg, Sweden.Google Scholar
Bookstein, A., Klein, S. T. and Ziff, D. A. (1991) The ARTFL data compression project. In: Proc. RIAO Conference,Barcelona,Spain.Google Scholar
Buneman, P., Frankel, R. E. and Nikhil, R. (1982) An implementation technique for database query languages. ACM Trans. Database Systems, 7(2):164186.CrossRefGoogle Scholar
Choueka, V., Fraenkel, A. S., Klein, S. T. and Segal, E. (1987) Improved techniques for processing queries in full-text systems. In: Proc. 10th Annual ACM SIGIR Conference,New Orleans, LA, pp. 306315, June.CrossRefGoogle Scholar
Clinger, W. and Rees, J., eds. (1991) Revised report on the algorithmic language scheme. ACM Lisp Pointers, 4: 0709.Google Scholar
Date, C. J. (1976) An Introduction to Database Systems. Addison-Wesley.Google Scholar
Deerwester, S. C., Ziff, D. A. and Waclena, K. (1990) An architecture for full text retrieval systems. In: DEXA 90: Database and Expert Systems Applications, Vienna, Austria, pp. 2229, 09.CrossRefGoogle Scholar
Deerwester, S., Waclena, K. and LaMar, M. (1992) A textual object management system. In: Proc. 15th Annual ACM SIGIR Conference,Copenhagen, Denmark, pp. 126139, 06.CrossRefGoogle Scholar
Dewar, R. B. K. (1975) Indirect threaded code. Comm. ACM 18(6): 330331, 06.CrossRefGoogle Scholar
Fox, E. A., Heath, L. S., Chen, Q. F. and Daoud, A. M. (1992) Practical minimal perfect hash functions for large databases. Comm. ACM 35(1): 105121, 01.CrossRefGoogle Scholar
Free Software Foundation, Inc. (1989) GNU dbm, Release 1.4. Cambridge, MA.Google Scholar
Friedman, D. P. and Wise, D. S. (1976) Output driven interpretation of recursive programs, or writing creates and destroys data structures. Information Processing Letters 5(6): 12.CrossRefGoogle Scholar
Hudak, P., Peyton Jones, S., Wadler, P. et al. , eds. (1991) Report on the programming language Haskell, a non-strict, purely functional language, version 1.1. Technical report, Yale University, August.CrossRefGoogle Scholar
Jones, M. P. (1994) The implementation of the Gofer functional programming system. Technical Report RR-1030, Yale University, Department of Computer Science.Google Scholar
Koopman, P. J. Jr and Lee, P. (1989) A fresh look at combinator graph reduction (or, having a tigre by the tail). SIGPLAN Notices 24(7): 110119, 07.CrossRefGoogle Scholar
Mattson, J. S. Jr, (1993) An Effective Speculative Evaluation Technique for Parallel Supercombinator Graph Reduction. PhD thesis, Department of Computer Science and Engineering, University of California, San Diego.Google Scholar
Morrissey, R. and del Vigna, C. (1983) A large natural language data base. In: Educom.Google Scholar
Partridge, A. S. (1991) Speculative Evaluation in Parallel Implementations of Lazy Functional Languages. PhD thesis, Department of Computer Science, University of Tasmania.Google Scholar
Ramsdell, J. D. (1989) The Alonzo functional programming language. SIGPLAN Notices 24(9): 152157, 09.CrossRefGoogle Scholar
Spackman, S. P. (1992) Images of type. Master's thesis, Concordia University, Montreal.Google Scholar
Turner, D. A. (1979) A new implementation technique for applicative languages. Software – Practice and Experience 9: 3149.CrossRefGoogle Scholar
Turner, D. A. (1981) The Compilation of an Applicative Language to Combinatory Logic. PhD thesis, Oxford University Programming Research Group.Google Scholar
Wise, D. S and Friedman, D. P. (1977) The one-bit reference count. BIT 17: 351359.CrossRefGoogle Scholar
Ziff, D. A. and Waclena, K. (1991) The “Alfonzo” programming language. Technical Report 91–01, Center for Information and Language Studies, University of Chicago.Google Scholar
Submit a response

Discussions

No Discussions have been published for this article.