lean4-htt/library/init/meta/pexpr.lean
Leonardo de Moura 90bfd84a07 feat(frontends/lean): Type is now (Type 1)
In the standard library, we should use explicit universe variables for
universe polymorphic definitions.

Users that want to declare universe polymorphic definitions but do not
want to provide universe level parameters should use
  Type _
or
  Type*
2016-09-17 14:30:54 -07:00

32 lines
990 B
Text

/-
Copyright (c) 2016 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Leonardo de Moura
-/
prelude
import init.meta.expr
universe variables u
/- Quoted expressions. They can be converted into expressions by using a tactic. -/
meta_constant pexpr : Type
protected meta_constant pexpr.of_expr : expr → pexpr
protected meta_constant pexpr.subst : pexpr → pexpr → pexpr
meta_constant pexpr.to_string : pexpr → string
attribute [instance]
meta_definition pexpr.has_to_string : has_to_string pexpr :=
has_to_string.mk pexpr.to_string
structure [class] has_to_pexpr (A : Type u) :=
(to_pexpr : A → pexpr)
meta_definition to_pexpr {A : Type u} [has_to_pexpr A] : A → pexpr :=
has_to_pexpr.to_pexpr
attribute [instance]
meta_definition pexpr.has_to_pexpr : has_to_pexpr pexpr :=
has_to_pexpr.mk id
attribute [instance]
meta_definition expr.has_to_pexpr : has_to_pexpr expr :=
has_to_pexpr.mk pexpr.of_expr