Did you know ... Search Documentation:
Pack plumdrum -- prolog/humdrum/humdrum_world.pl
PublicShow source
 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)