text: // Generated by psc version 0.10.5
  "use strict";
  var $foreign = require("./foreign");
  var Semiring = function (add, mul, one, zero) {
      this.add = add;
      this.mul = mul;
      this.one = one;
      this.zero = zero;
  };
  var zero = function (dict) {
      return dict.zero;
  };
  var semiringInt = new Semiring($foreign.intAdd, $foreign.intMul, 1, 0);
  var one = function (dict) {
      return dict.one;
  };
  var mul = function (dict) {
      return dict.mul;
  };
  var add = function (dict) {
      return dict.add;
  };
  module.exports = {
      Semiring: Semiring,
      add: add,
      mul: mul,
      one: one,
      zero: zero,
      semiringInt: semiringInt
  };
  