/**
 * Primitives for ATerm placeholders.
 */
module term/placeholder
strategies

  /**
   * Returns the placeholder of an ATerm placeholder.
   *
   * e.g. applied to the placeholder <Foo()> this returns Foo().
   */
  get-placeholder = 
    ?t; prim("SSL_getPlaceholder", t)

  /**
   * Creates a placeholder.
   *
   * e.g. applied to the Foo() this returns <Foo()>.
   */
  make-placeholder = 
    ?t; prim("SSL_makePlaceholder", t)

  /**
   * Checks if the current term is a placeholder.
   *
   * Succeeds if it is.
   */
  is-placeholder = 
    ?t; prim("SSL_isPlaceholder", t)