Port the compiler to foo<T> decl syntax.

This commit is contained in:
Erick Tryzelaar 2011-08-12 06:36:51 -07:00 committed by Graydon Hoare
parent 4c9049c50c
commit 4abc471390
20 changed files with 77 additions and 77 deletions

View file

@ -10,18 +10,18 @@ import std::option;
import std::option::none;
import std::option::some;
type interner[T] =
type interner<T> =
{map: hashmap<T, uint>,
mutable vect: [T],
hasher: hashfn<T>,
eqer: eqfn<T>};
fn mk[@T](hasher: hashfn<T>, eqer: eqfn<T>) -> interner<T> {
fn mk<@T>(hasher: hashfn<T>, eqer: eqfn<T>) -> interner<T> {
let m = map::mk_hashmap[T, uint](hasher, eqer);
ret {map: m, mutable vect: ~[], hasher: hasher, eqer: eqer};
}
fn intern[@T](itr: &interner<T>, val: &T) -> uint {
fn intern<@T>(itr: &interner<T>, val: &T) -> uint {
alt itr.map.find(val) {
some(idx) { ret idx; }
none. {
@ -33,7 +33,7 @@ fn intern[@T](itr: &interner<T>, val: &T) -> uint {
}
}
fn get[T](itr: &interner<T>, idx: uint) -> T { ret itr.vect.(idx); }
fn get<T>(itr: &interner<T>, idx: uint) -> T { ret itr.vect.(idx); }
fn len[T](itr : &interner<T>) -> uint { ret vec::len(itr.vect); }
fn len<T>(itr : &interner<T>) -> uint { ret vec::len(itr.vect); }