Skip to content

zepalmer/smelt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 

Repository files navigation

Smelt

This project is intended to provide an editor for structured data models and their instances. Consider the following simple Smelt specification:

data: Person
    Name: text
    Age: text
    Employment
enum: Employment
    Employed, Unemployed
editor: Person
    container: vertical
        container: horizontal
            Name
            Age
        container
            Employment

This specification indicates the existence of a Person data type (which relies on an Employment data type) and also describes the layout for a simple editor for an instance of Person. While this file dictates a data model, another file contains the database for this model. Smelt then permits the editing of the data model instance.

In order to admit general scalability, each top-level declaration in a Smelt model file is handled by a different declaration processor. The Smelt framework then permits plugins to be loaded which add declaration processors, so the semantics of the Smelt specification language are not fixed. The parser, however, is always indentation-based and maintains a consistent base syntax.

Current Status

Smelt is very much in an alpha state and not ready for production use. The database format has been selected to make data extraction relatively easy in the event that backward compatibility is broken or a user needs to cease using the application. Please feel free to experiment, ask for features, or even contribute. That said, set your expectations rather low.

About

A modular data model editing application.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published