.. index:: meta_compiler
.. _meta_compiler/0:

.. rst-class:: right

**object**

``meta_compiler``
=================

Compiler for the ``meta`` object meta-predicates. Generates auxiliary predicates in order to avoid meta-call overheads.

| **Author:** Paulo Moura
| **Version:** 0:13:0
| **Date:** 2019-06-13

| **Compilation flags:**
|    ``static, context_switching_calls``


| **Implements:**
|    ``public`` :ref:`expanding <expanding/0>`
| **Uses:**
|    :ref:`gensym <gensym/0>`
|    :ref:`list <list/0>`
|    :ref:`logtalk <logtalk/0>`

| **Remarks:**

   - Usage: Compile source files with calls to the ``meta`` object meta-predicates using the compiler option ``hook(meta_compiler)``.

| **Inherited public predicates:**
|     :ref:`expanding/0::goal_expansion/2`  :ref:`expanding/0::term_expansion/2`  

.. contents::
   :local:
   :backlinks: top

Public predicates
-----------------

(no local declarations; see entity ancestors if any)

Protected predicates
--------------------

(no local declarations; see entity ancestors if any)

Private predicates
------------------

.. raw:: html

   <div id="generated_predicate/1"> </div>

.. index:: generated_predicate/1
.. _meta_compiler/0::generated_predicate/1:

``generated_predicate/1``
^^^^^^^^^^^^^^^^^^^^^^^^^

| **Compilation flags:**
|    ``dynamic``


------------

Operators
---------

(none)

.. seealso::

   :ref:`meta <meta/0>`

