Search in sources :

Example 11 with Category

use of catdata.fqlpp.cat.Category in project fql by CategoricalData.

the class CatOps method visit.

@Override
public Functor visit(FQLPPProgram env, Pushout e) {
    Transform l = ENV.trans.get(e.l);
    if (l == null) {
        throw new RuntimeException("Missing transform: " + e.l);
    }
    Transform r = ENV.trans.get(e.r);
    if (r == null) {
        throw new RuntimeException("Missing transform: " + e.r);
    }
    if (!l.source.equals(r.source)) {
        throw new RuntimeException("Source functors do not match.");
    }
    Category<Object, Object> D = l.source.source;
    Set<String> objects = new HashSet<>();
    objects.add("A");
    objects.add("B");
    objects.add("C");
    Set<String> arrows = new HashSet<>();
    arrows.add("f");
    arrows.add("g");
    arrows.add("a");
    arrows.add("b");
    arrows.add("c");
    Map<String, String> sources = new HashMap<>();
    sources.put("f", "A");
    sources.put("g", "A");
    sources.put("a", "A");
    sources.put("b", "B");
    sources.put("c", "C");
    Map<String, String> targets = new HashMap<>();
    targets.put("f", "B");
    targets.put("g", "C");
    targets.put("a", "A");
    targets.put("b", "B");
    targets.put("c", "C");
    Map<Pair<String, String>, String> composition = new HashMap<>();
    composition.put(new Pair<>("a", "a"), "a");
    composition.put(new Pair<>("b", "b"), "b");
    composition.put(new Pair<>("c", "c"), "c");
    composition.put(new Pair<>("a", "f"), "f");
    composition.put(new Pair<>("a", "g"), "g");
    composition.put(new Pair<>("f", "b"), "f");
    composition.put(new Pair<>("g", "c"), "g");
    Map<String, String> identities = new HashMap<>();
    identities.put("A", "a");
    identities.put("B", "b");
    identities.put("C", "c");
    Category<String, String> span = new FiniteCategory<>(objects, arrows, sources, targets, composition, identities);
    Category<Pair<Object, String>, Pair<Object, String>> Dspan = FinCat.product(D, span);
    Functor<Pair<Object, String>, Pair<Object, String>, Object, Object> fst = FinCat.first(D, span);
    FUNCTION<Pair<Object, String>, Set> o = p -> {
        switch(p.second) {
            case "A":
                return (Set) l.source.applyO(p.first);
            case "B":
                return (Set) l.target.applyO(p.first);
            case "C":
                return (Set) r.target.applyO(p.first);
            default:
                throw new RuntimeException();
        }
    };
    FUNCTION<Pair<Object, String>, Fn> x = fp -> {
        Object f = fp.first;
        String p = fp.second;
        Object a = D.source(f);
        // Object b = D.target(f);
        // String i = span.source(p);
        String j = span.target(p);
        // Functor I = i == "A" ? l.source : i == "B" ? l.target : r.target;
        Functor J = Objects.equals(j, "A") ? l.source : Objects.equals(j, "B") ? l.target : r.target;
        // Fn If = (Fn) I.applyA(f);
        Fn Jf = (Fn) J.applyA(f);
        Transform P = Objects.equals(p, "f") ? l : Objects.equals(p, "g") ? r : Objects.equals(p, "a") ? Transform.id(l.source) : Objects.equals(p, "b") ? Transform.id(l.target) : Transform.id(r.target);
        // Fn Pb = (Fn) P.apply(b);
        Fn Pa = (Fn) P.apply(a);
        return Fn.compose(Pa, Jf);
    };
    Functor I = new Functor(Dspan, FinSet.FinSet0(), o, x);
    return FDM.sigmaF(fst).applyO(I);
}
Also used : PeterApply(catdata.fqlpp.TransExp.PeterApply) FiniteCategory(catdata.fqlpp.cat.FiniteCategory) Named(catdata.fqlpp.CatExp.Named) Edge(catdata.fqlpp.cat.Signature.Edge) Snd(catdata.fqlpp.FunctorExp.Snd) Comp(catdata.fqlpp.FunctorExp.Comp) ToInst(catdata.fqlpp.TransExp.ToInst) Id(catdata.fqlpp.FunctorExp.Id) Inr(catdata.fqlpp.FunctorExp.Inr) FF(catdata.fqlpp.FunctorExp.FF) Migrate(catdata.fqlpp.FunctorExp.Migrate) Colim(catdata.fqlpp.CatExp.Colim) Exp(catdata.fqlpp.CatExp.Exp) Pushout(catdata.fqlpp.FunctorExp.Pushout) FinCat(catdata.fqlpp.cat.FinCat) FunCat(catdata.fqlpp.cat.FunCat) Pair(catdata.Pair) CoMonad(catdata.fqlpp.cat.CoMonad) Iso(catdata.fqlpp.FunctorExp.Iso) ApplyPath(catdata.fqlpp.TransExp.ApplyPath) Inj(catdata.fqlpp.TransExp.Inj) Fn(catdata.fqlpp.cat.FinSet.Fn) Bool(catdata.fqlpp.TransExp.Bool) Case(catdata.fqlpp.FunctorExp.Case) ToMap(catdata.fqlpp.TransExp.ToMap) Zero(catdata.fqlpp.CatExp.Zero) Monad(catdata.fqlpp.cat.Monad) Plus(catdata.fqlpp.CatExp.Plus) Category(catdata.fqlpp.cat.Category) CatConst(catdata.fqlpp.FunctorExp.CatConst) Inst(catdata.fqlpp.cat.Inst) ToSet(catdata.fqlpp.TransExp.ToSet) Groth(catdata.fqlpp.cat.Groth) Mapping(catdata.fqlpp.cat.Mapping) Serializable(java.io.Serializable) Kleisli(catdata.fqlpp.CatExp.Kleisli) ApplyTrans(catdata.fqlpp.TransExp.ApplyTrans) SetSetConst(catdata.fqlpp.FunctorExp.SetSetConst) Dom(catdata.fqlpp.CatExp.Dom) Triple(catdata.Triple) Eval(catdata.fqlpp.FunctorExp.Eval) Var(catdata.fqlpp.FunctorExp.Var) Times(catdata.fqlpp.CatExp.Times) Const(catdata.fqlpp.CatExp.Const) java.util(java.util) Prod(catdata.fqlpp.FunctorExp.Prod) InstConst(catdata.fqlpp.FunctorExp.InstConst) Node(catdata.fqlpp.cat.Signature.Node) Chc(catdata.Chc) TT(catdata.fqlpp.FunctorExp.TT) Functor(catdata.fqlpp.cat.Functor) Proj(catdata.fqlpp.TransExp.Proj) Prop(catdata.fqlpp.FunctorExp.Prop) CatExpVisitor(catdata.fqlpp.CatExp.CatExpVisitor) Signature(catdata.fqlpp.cat.Signature) TransExpVisitor(catdata.fqlpp.TransExp.TransExpVisitor) Union(catdata.fqlpp.CatExp.Union) ToCat(catdata.fqlpp.TransExp.ToCat) One(catdata.fqlpp.CatExp.One) FDM(catdata.fqlpp.cat.FDM) Ker(catdata.fqlpp.TransExp.Ker) Fst(catdata.fqlpp.FunctorExp.Fst) Whisker(catdata.fqlpp.TransExp.Whisker) Curry(catdata.fqlpp.FunctorExp.Curry) Transform(catdata.fqlpp.cat.Transform) Apply(catdata.fqlpp.FunctorExp.Apply) Instance(catdata.fqlpp.cat.Instance) MapConst(catdata.fqlpp.FunctorExp.MapConst) Path(catdata.fqlpp.cat.Signature.Path) Pivot(catdata.fqlpp.FunctorExp.Pivot) Chr(catdata.fqlpp.TransExp.Chr) Cod(catdata.fqlpp.CatExp.Cod) FinSet(catdata.fqlpp.cat.FinSet) Uncurry(catdata.fqlpp.FunctorExp.Uncurry) FunctorExpVisitor(catdata.fqlpp.FunctorExp.FunctorExpVisitor) Adj(catdata.fqlpp.TransExp.Adj) SetSet(catdata.fqlpp.TransExp.SetSet) AndOrNotImplies(catdata.fqlpp.TransExp.AndOrNotImplies) FinalConst(catdata.fqlpp.FunctorExp.FinalConst) Inl(catdata.fqlpp.FunctorExp.Inl) CoProd(catdata.fqlpp.TransExp.CoProd) ToSet(catdata.fqlpp.TransExp.ToSet) FinSet(catdata.fqlpp.cat.FinSet) SetSet(catdata.fqlpp.TransExp.SetSet) FiniteCategory(catdata.fqlpp.cat.FiniteCategory) Fn(catdata.fqlpp.cat.FinSet.Fn) Functor(catdata.fqlpp.cat.Functor) Transform(catdata.fqlpp.cat.Transform) Pair(catdata.Pair)

Example 12 with Category

use of catdata.fqlpp.cat.Category in project fql by CategoricalData.

the class FQLPPDriver method makeEnv.

public static FQLPPEnvironment makeEnv(String str, FQLPPProgram init, String... toUpdate) {
    Map<String, Fn<?, ?>> fns = new HashMap<>();
    Map<String, Set<?>> sets = new HashMap<>();
    Map<String, Category<?, ?>> cats = new HashMap<>();
    Map<String, Functor<?, ?, ?, ?>> ftrs = new HashMap<>();
    Map<String, Transform<?, ?, ?, ?>> trans = new HashMap<>();
    FQLPPEnvironment ret = new FQLPPEnvironment(init, str, sets, fns, cats, ftrs, trans);
    for (Entry<String, CatExp> k : init.cats.entrySet()) {
        init.cats.put(k.getKey(), k.getValue().accept(init, new PreProcessor()));
    }
    for (String k : init.order) {
        SetExp se = init.sets.get(k);
        if (se != null) {
            try {
                Set<?> xxx = se.accept(init, new SetOps(ret));
                sets.put(k, xxx);
            } catch (Throwable t) {
                t.printStackTrace();
                throw new LineException(t.getLocalizedMessage(), k, "set");
            }
            toUpdate[0] = "Last Processed: " + k;
        }
        FnExp fe = init.fns.get(k);
        if (fe != null) {
            try {
                Fn<?, ?> xxx = fe.accept(init, new SetOps(ret));
                fns.put(k, xxx);
                toUpdate[0] = "Last Processed: " + k;
            } catch (Throwable t) {
                t.printStackTrace();
                throw new LineException(t.getLocalizedMessage(), k, "function");
            }
        }
        CatExp ce = init.cats.get(k);
        // CatExp ce = ce0.accept(init, new PreProcessor());
        if (ce != null) {
            try {
                Category<?, ?> xxx = ce.accept(init, new CatOps(ret));
                cats.put(k, xxx);
                toUpdate[0] = "Last Processed: " + k;
            } catch (Throwable t) {
                t.printStackTrace();
                throw new LineException(t.getLocalizedMessage(), k, "category");
            }
        }
        FunctorExp FE = init.ftrs.get(k);
        if (FE != null) {
            try {
                Functor<?, ?, ?, ?> xxx = FE.accept(init, new CatOps(ret));
                ftrs.put(k, xxx);
                toUpdate[0] = "Last Processed: " + k;
            } catch (Throwable t) {
                t.printStackTrace();
                throw new LineException(t.getLocalizedMessage(), k, "functor");
            }
        }
        TransExp te = init.trans.get(k);
        if (te != null) {
            try {
                Transform<?, ?, ?, ?> xxx = te.accept(init, new CatOps(ret));
                trans.put(k, xxx);
                toUpdate[0] = "Last Processed: " + k;
            } catch (Throwable t) {
                t.printStackTrace();
                throw new LineException(t.getLocalizedMessage(), k, "transform");
            }
        }
    }
    return ret;
}
Also used : Set(java.util.Set) Category(catdata.fqlpp.cat.Category) HashMap(java.util.HashMap) LineException(catdata.LineException) Fn(catdata.fqlpp.cat.FinSet.Fn) Functor(catdata.fqlpp.cat.Functor) Transform(catdata.fqlpp.cat.Transform)

Example 13 with Category

use of catdata.fqlpp.cat.Category in project fql by CategoricalData.

the class XCtx method makeTables.

// private Map<C, String> xgrid;
// public JComponent getGrid(C c) {
// if (xgrid != null) {
// return xgrid.get(c);
// }
// if (DEBUG.debug.x_tables) {
// //			makeTables(x -> cat().arrows(), new HashSet<>());
// return getGrid(c);
// }
// return new JPanel();
// }
// have this suppress pair IDs when possible
@SuppressWarnings({ "unchecked", "rawtypes" })
private JComponent makeTables(Function<Unit, Collection<Triple<C, C, List<C>>>> fn, Set<C> ignore) {
    cl = new CardLayout();
    // xgrid = new HashMap<>();
    clx = new JPanel();
    clx.setLayout(cl);
    clx.add(new JPanel(), "0");
    cl.show(clx, "0");
    // xgrid.put((C)"_1", "0");
    int www = 1;
    try {
        // Category<C, Triple<C, C, List<C>>> cat = cat();
        List<JComponent> grid = new LinkedList<>();
        Collection<Triple<C, C, List<C>>> cat = fn.apply(new Unit());
        // Map<C, Set<List<C>>> entities = new HashMap<>();
        Map entities = new HashMap<>();
        Map<C, Set<C>> m = new HashMap<>();
        for (C c : allIds()) {
            entities.put(c, new HashSet<>());
            m.put(c, new HashSet<>());
        }
        for (Triple<C, C, List<C>> k : cat) {
            if (k.first.equals("_1")) {
                // uncomment causes exception
                Set set = (Set<List<C>>) entities.get(k.second);
                // set.add(k);
                set.add(k.third);
            }
        }
        for (C c : allTerms()) {
            Pair<C, C> t = type(c);
            Set<C> set = m.get(t.first);
            set.add(c);
        }
        List<C> keys = new LinkedList<>(m.keySet());
        keys.sort((Object o1, Object o2) -> ((Comparable) o1).compareTo(o2));
        for (C c : keys) {
            if (c.equals("_1")) {
                continue;
            }
            if (ignore.contains(c)) {
                continue;
            }
            Pair<C, C> t = type(c);
            Set<List<C>> src = (Set<List<C>>) entities.get(t.first);
            List<C> cols = new LinkedList<>(m.get(c));
            cols = cols.stream().filter(x -> !x.toString().startsWith("!")).collect(Collectors.toList());
            Object[][] rowData = new Object[src.size()][cols.size()];
            int idx = cols.indexOf(c);
            if (idx != -1) {
                C old = cols.get(0);
                cols.set(0, c);
                cols.set(idx, old);
                if (cols.size() > 1) {
                    List<C> colsX = new LinkedList<>(cols.subList(1, cols.size()));
                    colsX.sort(null);
                    colsX.add(0, c);
                    cols = colsX;
                }
            }
            List<String> colNames3 = cols.stream().map(x -> type(x).second.equals(x) ? x.toString() : x + " (" + type(x).second + ")").collect(Collectors.toList());
            Object[] colNames = colNames3.toArray();
            int row = 0;
            for (List<C> l : src) {
                rowData[row][0] = l;
                int cl = 0;
                for (C col : cols) {
                    List<C> r = new LinkedList<>(l);
                    r.add(col);
                    for (Triple<C, C, List<C>> cand : cat) {
                        if (!cand.first.equals("_1")) {
                            continue;
                        }
                        if (!cand.second.equals(type(col).second)) {
                            continue;
                        }
                        if (kb.equiv(cand.third, r)) {
                            rowData[row][cl] = abbrPrint(cand.third);
                            break;
                        }
                    }
                    cl++;
                }
                row++;
            }
            JPanel table = GuiUtil.makeTable(BorderFactory.createEtchedBorder(), c + " (" + src.size() + ") rows", rowData, colNames);
            JPanel table2 = GuiUtil.makeTable(BorderFactory.createEtchedBorder(), c + " (" + src.size() + ") rows", rowData, colNames);
            // xgrid.put(c, Integer.toString(www));
            clx.add(new JScrollPane(table2), Integer.toString(www));
            www++;
            grid.add(table);
        }
        return GuiUtil.makeGrid(grid);
    } catch (Exception e) {
        e.printStackTrace();
        return new CodeTextPanel(BorderFactory.createEtchedBorder(), "", "ERROR\n\n" + e.getMessage());
    }
}
Also used : Color(java.awt.Color) CardLayout(java.awt.CardLayout) JSplitPane(javax.swing.JSplitPane) JTextField(javax.swing.JTextField) VisualizationViewer(edu.uci.ics.jung.visualization.VisualizationViewer) HashMap(java.util.HashMap) Function(java.util.function.Function) GridLayout(java.awt.GridLayout) HashSet(java.util.HashSet) LinkedHashMap(java.util.LinkedHashMap) XInst(catdata.fpql.XExp.XInst) Map(java.util.Map) JTabbedPane(javax.swing.JTabbedPane) Graph(edu.uci.ics.jung.graph.Graph) DirectedSparseMultigraph(edu.uci.ics.jung.graph.DirectedSparseMultigraph) LinkedList(java.util.LinkedList) Pair(catdata.Pair) Thue(catdata.provers.Thue) JComponent(javax.swing.JComponent) ItemEvent(java.awt.event.ItemEvent) Layout(edu.uci.ics.jung.algorithms.layout.Layout) JButton(javax.swing.JButton) CodeTextPanel(catdata.ide.CodeTextPanel) Iterator(java.util.Iterator) Collection(java.util.Collection) Util(catdata.Util) Category(catdata.fqlpp.cat.Category) Set(java.util.Set) BorderFactory(javax.swing.BorderFactory) Unit(catdata.Unit) Collectors(java.util.stream.Collectors) Objects(java.util.Objects) JScrollPane(javax.swing.JScrollPane) GraphZoomScrollPane(edu.uci.ics.jung.visualization.GraphZoomScrollPane) Dimension(java.awt.Dimension) List(java.util.List) Paint(java.awt.Paint) Entry(java.util.Map.Entry) Triple(catdata.Triple) XSchema(catdata.fpql.XExp.XSchema) DefaultModalGraphMouse(edu.uci.ics.jung.visualization.control.DefaultModalGraphMouse) JTextArea(javax.swing.JTextArea) FRLayout(edu.uci.ics.jung.algorithms.layout.FRLayout) GuiUtil(catdata.ide.GuiUtil) JPanel(javax.swing.JPanel) DefunctGlobalOptions(catdata.ide.DefunctGlobalOptions) Mode(edu.uci.ics.jung.visualization.control.ModalGraphMouse.Mode) JPanel(javax.swing.JPanel) HashSet(java.util.HashSet) Set(java.util.Set) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) Unit(catdata.Unit) CodeTextPanel(catdata.ide.CodeTextPanel) LinkedList(java.util.LinkedList) List(java.util.List) JScrollPane(javax.swing.JScrollPane) CardLayout(java.awt.CardLayout) JComponent(javax.swing.JComponent) Paint(java.awt.Paint) LinkedList(java.util.LinkedList) Triple(catdata.Triple) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) Map(java.util.Map)

Example 14 with Category

use of catdata.fqlpp.cat.Category in project fql by CategoricalData.

the class XCtx method display.

@Override
@SuppressWarnings({ "unchecked", "ConstantConditions" })
public JComponent display() {
    init();
    JTabbedPane ret = new JTabbedPane();
    if (DefunctGlobalOptions.debug.fpql.x_text) {
        String kb_text = "types:\n  " + Util.sep(allIds(), ",\n  ");
        List<String> tms = allTerms().stream().map(x -> x + " : " + type(x).first + " -> " + type(x).second).collect(Collectors.toList());
        kb_text = kb_text.trim();
        kb_text += "\n\nterms:\n  " + Util.sep(tms, ",\n  ");
        List<String> xx = allEqs().stream().map(x -> Util.sep(x.first, ".") + " = " + Util.sep(x.second, ".")).collect(Collectors.toList());
        kb_text = kb_text.trim();
        kb_text += "\n\nequations:\n  " + Util.sep(xx, ",\n  ");
        kb_text = kb_text.trim();
        try {
            kb.complete();
            kb_text += "\n\nKnuth-Bendix Completion:\n" + kb;
        } catch (Exception e) {
            e.printStackTrace();
            kb_text = "\n\nERROR in Knuth-Bendix\n\n" + e.getMessage();
        }
        JSplitPane pane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
        JPanel bot = new JPanel(new GridLayout(1, 3));
        JTextField fff = new JTextField();
        JButton but = new JButton("Reduce");
        JTextField ggg = new JTextField();
        bot.add(fff);
        bot.add(but);
        bot.add(ggg);
        pane.setResizeWeight(1);
        but.addActionListener(x -> {
            String s = fff.getText();
            List<C> l = XParser.path(s);
            try {
                ggg.setText(Util.sep(getKB().normalize("", l), "."));
            } catch (Exception ex) {
                ex.printStackTrace();
                ggg.setText(ex.getMessage());
            }
        });
        JComponent kbc = new CodeTextPanel(BorderFactory.createEtchedBorder(), "", kb_text);
        pane.add(kbc);
        pane.add(bot);
        ret.addTab("Text", pane);
    }
    String cat = null;
    if (DefunctGlobalOptions.debug.fpql.x_cat) {
        try {
            cat = cat().toString();
        } catch (Exception e) {
            e.printStackTrace();
            cat = "ERROR\n\n" + e.getMessage();
        }
        JComponent ctp = new CodeTextPanel(BorderFactory.createEtchedBorder(), "", cat);
        ret.addTab("Category", ctp);
    }
    if (schema != null) {
        if (DefunctGlobalOptions.debug.fpql.x_tables) {
            // if category tab blew up, so should this
            JComponent tables = cat != null && cat.startsWith("ERROR") ? new CodeTextPanel(BorderFactory.createEtchedBorder(), "", cat) : makeTables(x -> cat().arrows(), new HashSet<>());
            ret.addTab("Full Tables", tables);
        }
        if (DefunctGlobalOptions.debug.fpql.x_adom) {
            ret.addTab("Adom Tables", makeTables(z -> foo(), global.ids));
        }
    }
    if (DefunctGlobalOptions.debug.fpql.x_graph) {
        ret.addTab("Graph", makeGraph(schema != null));
    }
    if (DefunctGlobalOptions.debug.fpql.x_graph && (schema != null)) {
        ret.addTab("Elements", elements());
    }
    if (DefunctGlobalOptions.debug.fpql.x_json) {
        String tj = toJSON();
        if (tj != null) {
            ret.addTab("JSON", new CodeTextPanel(BorderFactory.createEtchedBorder(), "", tj));
        }
    }
    return ret;
}
Also used : Color(java.awt.Color) CardLayout(java.awt.CardLayout) JSplitPane(javax.swing.JSplitPane) JTextField(javax.swing.JTextField) VisualizationViewer(edu.uci.ics.jung.visualization.VisualizationViewer) HashMap(java.util.HashMap) Function(java.util.function.Function) GridLayout(java.awt.GridLayout) HashSet(java.util.HashSet) LinkedHashMap(java.util.LinkedHashMap) XInst(catdata.fpql.XExp.XInst) Map(java.util.Map) JTabbedPane(javax.swing.JTabbedPane) Graph(edu.uci.ics.jung.graph.Graph) DirectedSparseMultigraph(edu.uci.ics.jung.graph.DirectedSparseMultigraph) LinkedList(java.util.LinkedList) Pair(catdata.Pair) Thue(catdata.provers.Thue) JComponent(javax.swing.JComponent) ItemEvent(java.awt.event.ItemEvent) Layout(edu.uci.ics.jung.algorithms.layout.Layout) JButton(javax.swing.JButton) CodeTextPanel(catdata.ide.CodeTextPanel) Iterator(java.util.Iterator) Collection(java.util.Collection) Util(catdata.Util) Category(catdata.fqlpp.cat.Category) Set(java.util.Set) BorderFactory(javax.swing.BorderFactory) Unit(catdata.Unit) Collectors(java.util.stream.Collectors) Objects(java.util.Objects) JScrollPane(javax.swing.JScrollPane) GraphZoomScrollPane(edu.uci.ics.jung.visualization.GraphZoomScrollPane) Dimension(java.awt.Dimension) List(java.util.List) Paint(java.awt.Paint) Entry(java.util.Map.Entry) Triple(catdata.Triple) XSchema(catdata.fpql.XExp.XSchema) DefaultModalGraphMouse(edu.uci.ics.jung.visualization.control.DefaultModalGraphMouse) JTextArea(javax.swing.JTextArea) FRLayout(edu.uci.ics.jung.algorithms.layout.FRLayout) GuiUtil(catdata.ide.GuiUtil) JPanel(javax.swing.JPanel) DefunctGlobalOptions(catdata.ide.DefunctGlobalOptions) Mode(edu.uci.ics.jung.visualization.control.ModalGraphMouse.Mode) JPanel(javax.swing.JPanel) JTabbedPane(javax.swing.JTabbedPane) JButton(javax.swing.JButton) JComponent(javax.swing.JComponent) JTextField(javax.swing.JTextField) GridLayout(java.awt.GridLayout) CodeTextPanel(catdata.ide.CodeTextPanel) JSplitPane(javax.swing.JSplitPane) HashSet(java.util.HashSet)

Aggregations

Category (catdata.fqlpp.cat.Category)14 Pair (catdata.Pair)11 Triple (catdata.Triple)10 FiniteCategory (catdata.fqlpp.cat.FiniteCategory)9 Const (catdata.fqlpp.CatExp.Const)8 CatConst (catdata.fqlpp.FunctorExp.CatConst)7 FinalConst (catdata.fqlpp.FunctorExp.FinalConst)7 InstConst (catdata.fqlpp.FunctorExp.InstConst)7 MapConst (catdata.fqlpp.FunctorExp.MapConst)7 SetSetConst (catdata.fqlpp.FunctorExp.SetSetConst)7 Functor (catdata.fqlpp.cat.Functor)6 Signature (catdata.fqlpp.cat.Signature)6 Edge (catdata.fqlpp.cat.Signature.Edge)6 Node (catdata.fqlpp.cat.Signature.Node)6 Chc (catdata.Chc)5 CatExpVisitor (catdata.fqlpp.CatExp.CatExpVisitor)5 Cod (catdata.fqlpp.CatExp.Cod)5 Colim (catdata.fqlpp.CatExp.Colim)5 Dom (catdata.fqlpp.CatExp.Dom)5 Exp (catdata.fqlpp.CatExp.Exp)5