- retract_humdrum(+Module) is det
- Reverses the action of assert_humdrum/3, abolishing all the predicates
contained in it.
- assert_humdrum(+BaseModule, +HumdrumObject, +NewModule) is det
- The procedure takes a Humdrum object as returned by hum_read/3 and creates
a predicate-based representation of it in a new dynamically created module
with the given name NewModule. Before loading, the module specified by BaseModule
(as you would supply to use_module/1) is loaded into NewModule.
The process can be reversed using retract_humdrum/1.
The newly created module contains a number of predicates which can be used
to access information in the Humdrum object. They can all be used with any
instantiation pattern. The predicates are:
duration( D:rational)
-
The total duration of the Humdrum object
num_spines( N:natural)
-
The total number of spines used.
num_records( N:natural)
-
The number of records in the obect
ref( R:refcode, L:lang, T:text)
-
Table of reference comments, with a standard code, language identifier, and comment text.
time( T:rational, R:natural)
-
The time at the beginning of record R.
data( D, S:spine, R:record)
-
Indicates that spine S contains data D at record R. Format depends on xinterp of S.
spine( X:xinterp, S:spine, R1:natural, R2:natural)
-
Table of spines, their exclusive interpretation. R1 and R2 give the start and end records
of the spine.
duration( -D:rational, +R:natural)
-
The duration of record R.
new_spine( -S:spine, -R:natural)
-
Indicates a new spine S is created at record R.
init_spine( X:xinterp, S:spine, R:record)
-
Indicates that a new spine is given its exclusive interpretation at record R.
change_spine( xinterp, xinterp, spine, spine, record)
-
I don't know what this is.
term_spine( X:xinterp, S:spine, R:record)
-
Indicates that spine S terminates are record R.
join_spines( S1:spine, S2:spine, S3:spine, R:record)
-
Indicates that spines S1 and S2 join to become spine S2 at record R.
split_spines( S1:spine, S2:spine, S3:spine, R:record)
-
Indicates that spine S1 splits to become spines S2 and S3 at record R.
interp( I:interp, S:spine, R:record)
-
Indicates that spine S gets an interpretation I at record R.
Undocumented predicates
The following predicates are exported, but not or incorrectly documented.
- with_kern_module(Arg1, Arg2, Arg3, Arg4)