Package wyvern.tools.types.extensions

Examples of wyvern.tools.types.extensions.Arrow


import wyvern.tools.types.extensions.Str;
import wyvern.tools.types.extensions.Unit;

public class TypeUtils {
  public static Arrow arrow(Type t1, Type t2) {
    return new Arrow(t1, t2);
  }
View Full Code Here


public class TrivDSLParser implements ExtParser {
  @Override
  public TypedAST parse(ParseBuffer input) {
    New newv = new New(new HashMap<>(), null);
    TypedAST dbody = new IntegerConstant(Integer.parseInt(input.getSrcString().trim()));
    newv.setBody(new DeclSequence(Arrays.asList(new DefDeclaration("getValue", new Arrow(Unit.getInstance(), Int.getInstance()), new ArrayList<>(), dbody, false))));
    return newv;
  }
View Full Code Here


    final ExtParser parseri = str -> {
      New newv = new New(new HashMap<>(), null);
      TypedAST dbody = new IntegerConstant(Integer.parseInt(str.getSrcString().trim()));
      newv.setBody(new DeclSequence(Arrays.asList(new DefDeclaration("getValue", new Arrow(Unit.getInstance(), Int.getInstance()), new ArrayList<>(), dbody, false))));
      return newv;
    };

    HasParser inner = new HasParser() {
      @Override
View Full Code Here


    final ExtParser parseri = str -> {
      New newv = new New(new HashMap<>(), null);
      TypedAST dbody = new IntegerConstant(Integer.parseInt(str.getSrcString().trim()));
      newv.setBody(new DeclSequence(Arrays.asList(new DefDeclaration("getValue", new Arrow(Unit.getInstance(), Int.getInstance()), new ArrayList<>(), dbody, false))));
      return newv;
    };

    HasParser inner = new HasParser() {
      @Override
View Full Code Here

    for (NameBinding bind : bindings) {
      extEnv = extEnv.extend(bind);
    }

    Type resultType = body.typecheck(extEnv, expected.map(exp -> ((Arrow)exp).getResult()));
    return new Arrow(argType, resultType);
  }
View Full Code Here

    } else if (args.size() == 1) {
      argType = args.get(0).getType();
    } else {
      argType = new Tuple(args);
    }
    return new Arrow(argType, returnType);
  }
View Full Code Here

TOP

Related Classes of wyvern.tools.types.extensions.Arrow

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.