Yorick: An Interpreted Scientific Programming Language
Author: David Munro, munro@icf.llnl.gov
Description: Yorick is a freely redistributable interpreted language for scientific data analysis and code steering. It is developed and maintained at the Lawrence Livermore National Laboratory.
Keywords: yorick, interpreter

Home Downloads Development Environment Examples FAQ News Contributed Packages Author Manual Packages Global Index Keywords Quick Reference | ## What is Yorick? Yorick is an interpreted programming language, designed for postprocessing or steering large scientific simulation codes. Smaller scientific simulations or calculations, such as the flow past an airfoil or the motion of a drumhead, can be written as standalone yorick programs. The language features a compact syntax for many common array operations, so it processes large arrays of numbers very efficiently. Unlike most interpreters, which are several hundred times slower than compiled code for number crunching, yorick can approach to within a factor of four or five of compiled speed for many common tasks. Superficially, yorick code resembles C code, but yorick variables are never explicitly declared and have a dynamic scoping similar to many Lisp dialects. The yorick language is designed to be typed interactively at a keyboard, as well as stored in files for later use. Yorick includes an interactive graphics package, and a binary file package capable of translating to and from the raw numeric formats of all modern computers. ## What's Available? The navigation bar to the left leads to the complete online documentation for yorick, which consists of: Manual the yorick user manual, which is a tutorial and brief introduction to yorick Packages exhaustive documentation of the interpreted library that comes with the yorick distribution, including HTML-ized source code for easy study Global Index to all functions in Packages Keywords an alternative type of index into Packages Quick Reference cards for the yorick language The Downloads button leads to the complete source and binary distributions for yorick on UNIX, MS Windows, and MacIntosh computers. The complete online documentation tree can also be downloaded for local reference. The Development Environment button leads to a description of the yorick development environment, which is my suggestion for how to prepare and execute yorick source code. The yorick FAQ mostly deals with advanced or arcane features of yorick; it is not designed to be the first thing a new user reads. The Contributed Packages directory contains, of course, packages contributed by yorick users, but not yet integrated into the yorick distribution. ## Getting Started If you aren't sure whether you can use yorick at all, read about the flow past an airfoil or the motion of a drumhead examples. These are standalone yorick programs; yorick is also very useful as a postprocessor for much larger simulation codes. Finally, yorick can be used in combination with presentation or desktop publishing software to produce the figures accompanying a scientific talk or paper. If you know what to do with a PostScript graphic, you can begin using yorick immediately. The first thing to read is the first chapter of the user manual. If you are still interested in yorick, download it so you can reread the manual while typing in the examples to see how yorick works first hand. You will want to read about the yorick development environment as well. To follow along online, you should probably download all this documentation as well, which you can do from the downloads page. To complete your introduction to yorick, run and study the demo programs: demo1.i 1D hydrodynamics code, simulates sound and shock waves demo2.i 2D wave equation solver, simulates motion of a drumhead demo3.i chaotic pendulum simulation, inspired by SF Exploratorium demo4.i 2D flow past and airfoil using analytic functions demo5.i demonstration of how to use 2D graphics for 3D effects ## Web Sites The yorick home site is ftp://ftp-icf.llnl.gov/pub/Yorick. This site is mirrored at http://wuarchive.wustl.edu/languages/yorick. Yorick is also available as a Debian Linux package from http://www.debian.org. LLNL Disclaimers