Skip to main content Accessibility help

Funser: a functional server for textual information retrieval

  • Donald A Ziff (a1), Stephen P Spackman (a2) and Keith Waclena (a3)


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.



Hide All
American and French Research on the Treasury of the French Language (1989a) The Philis Command Interpreter: A User's Overview. Chicago, IL.
American and French Research on the Treasury of the French Language (1989b) User's Guide to the PhiloLogic Prototype System (5.3). Chicago, IL.
Augustsson, L. (1985) Small, a small interactive functional system. Technical Report 28, Department of Computer Sciences, Chalmers University of Technology, Göteborg, Sweden, September.
Augustsson, L. (1994) Haskell B. User's Manual. Chalmers University, Göteborg, Sweden.
Augustsson, L. and Johnsson, T. (1994) Lazy ML User's Manual. Chalmers University, Göteborg, Sweden.
Bookstein, A., Klein, S. T. and Ziff, D. A. (1991) The ARTFL data compression project. In: Proc. RIAO Conference,Barcelona,Spain.
Buneman, P., Frankel, R. E. and Nikhil, R. (1982) An implementation technique for database query languages. ACM Trans. Database Systems, 7(2):164186.
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.
Clinger, W. and Rees, J., eds. (1991) Revised report on the algorithmic language scheme. ACM Lisp Pointers, 4: 0709.
Date, C. J. (1976) An Introduction to Database Systems. Addison-Wesley.
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.
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.
Dewar, R. B. K. (1975) Indirect threaded code. Comm. ACM 18(6): 330331, 06.
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.
Free Software Foundation, Inc. (1989) GNU dbm, Release 1.4. Cambridge, MA.
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.
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.
Jones, M. P. (1994) The implementation of the Gofer functional programming system. Technical Report RR-1030, Yale University, Department of Computer Science.
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.
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.
Morrissey, R. and del Vigna, C. (1983) A large natural language data base. In: Educom.
Partridge, A. S. (1991) Speculative Evaluation in Parallel Implementations of Lazy Functional Languages. PhD thesis, Department of Computer Science, University of Tasmania.
Ramsdell, J. D. (1989) The Alonzo functional programming language. SIGPLAN Notices 24(9): 152157, 09.
Spackman, S. P. (1992) Images of type. Master's thesis, Concordia University, Montreal.
Turner, D. A. (1979) A new implementation technique for applicative languages. Software – Practice and Experience 9: 3149.
Turner, D. A. (1981) The Compilation of an Applicative Language to Combinatory Logic. PhD thesis, Oxford University Programming Research Group.
Wise, D. S and Friedman, D. P. (1977) The one-bit reference count. BIT 17: 351359.
Ziff, D. A. and Waclena, K. (1991) The “Alfonzo” programming language. Technical Report 91–01, Center for Information and Language Studies, University of Chicago.

Funser: a functional server for textual information retrieval

  • Donald A Ziff (a1), Stephen P Spackman (a2) and Keith Waclena (a3)


Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed

Funser: a functional server for textual information retrieval

  • Donald A Ziff (a1), Stephen P Spackman (a2) and Keith Waclena (a3)
Submit a response


No Discussions have been published for this article.


Reply to: Submit a response

Your details

Conflicting interests

Do you have any conflicting interests? *