Browse Source

Add type variables.

pull/3/head
Jakob Olesen 9 years ago
parent
commit
29481a5851
  1. 10
      docs/metaref.rst
  2. 16
      meta/cretonne/__init__.py

10
docs/metaref.rst

@ -38,3 +38,13 @@ Predefined types
.. automodule:: cretonne.types .. automodule:: cretonne.types
:members: :members:
Parametric polymorphism
-----------------------
.. currentmodule:: cretonne
Instruction operands can be defined with *type variables* instead of concrete
types for their operands. This makes the instructions polymorphic.
.. autoclass:: TypeVar

16
meta/cretonne/__init__.py

@ -94,3 +94,19 @@ class FloatType(ScalarType):
def __repr__(self): def __repr__(self):
return 'FloatType(bits={})'.format(self.bits) return 'FloatType(bits={})'.format(self.bits)
#
# Parametric polymorphism.
#
class TypeVar(object):
"""
A Type Variable.
Type variables can be used in place of concrete types when defining
instructions. This makes the instructions *polymorphic*.
"""
def __init__(self, name):
self.name = name

Loading…
Cancel
Save