PEML Data Model for Code Assets


The Programming Exercise Markup Language (PEML) is designed to provide an ultra-human-friendly authoring format for describing automatically graded programming assignments.


blah blah blah ...


    assets.tests = url/location
    assets.tests = array


    .csv.delimiter = ,
    .csv.trim = true/false
        .extends = (previous)

        .commands = url/location = array
    ## Need some way to indicate whether zip urls need to be unpacked or not
    ## Maybe add "#unpack" on the end of an archive url to request unpacking?
    ## Then it looks kind of like a URL anchor name
    ## Instead, make compressed archives that aren't simple files auto-uncompress

    assets.environment.container = url/location
    assets.code.starter = url/location
    assets.code.starter = array

    assets.code.lib = url/location
    assets.code.lib = array

    assets.code.include = url/location
    assets.code.include = array
    .file.* = url/location = array
    .label (reference)

    assets.code.unified = url/location
    assets.code.unified = array