Higher-Order and Symbolic Computation

, Volume 18, Issue 3, pp 355–370

Implementing Metcast in Scheme


DOI: 10.1007/s10990-005-4880-9

Cite this article as:
Kiselyov, O. Higher-Order Symb Comput (2005) 18: 355. doi:10.1007/s10990-005-4880-9


This paper describes the experience of implementing a core component of an operationally deployed large distributed system in Scheme. Metcast is a request-reply and subscription system for the dissemination of real-time weather information. The system stores vast amounts of weather observation reports, forecasts, gridded data produced by weather models, and satellite imagery. A Metcast server delivers a subset of these data in response to a query formulated in a domain-specific declarative language. Decoders of World Meteorological Organization's data feed, the Metcast application server, XML encoders and decoders, auxiliary and monitoring CGI scripts are all written in a mostly pure functional subset of Scheme. This paper describes three examples that demonstrate the benefits of our choice of the implementation language: parsing of the data feed; XML transformations and Web services; a modular interpreter for the extensible and expressive request language. We also discuss general-purpose extensions to Scheme developed in the project.


applications and experience with symbolic computingweather observationsWMOapplication serverXMLSXMLScheme

Copyright information

© Springer Science + Business Media, Inc. 2005

Authors and Affiliations

  1. 1.Fleet Numerical Meteorology and Oceanography CenterMonterey