Lawrence Berkeley National Laboratory
Revising the worksheet with L3: a language and environment for user-script
- Author(s): Hohn, Michael H.
- et al.
This paper describes a novel approach to the parameter and data handling issues commonly found in experimental scientific computing and scripting in general. The approach is based on the familiar combination of scripting language and user interface, but using a language expressly designed for user interaction and convenience. The L3 language combines programming facilities of procedural and functional languages with the persistence and need-based evaluation of data flow languages. It is implemented in Python, has access to all Python libraries, and retains almost complete source code compatibility to allow simple movement of code between the languages. The worksheet interface uses metadata produced by L3 to provide selection of values through the scriptit self and allow users to dynamically evolve scripts without re-running the prior versions. Scripts can be edited via text editors or manipulated as structures on a drawing canvas. Computed values are valid scripts and can be used further in other scripts via simple copy-and-paste operations. The implementation is freely available under an open-source license.