This repository was archived by the owner on Nov 1, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathfscache.t
22 lines (22 loc) · 2.17 KB
/
fscache.t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import type (Node *b) = Branch (Catalog (Node *b)) + Leaf *b;
import type Name == String;
import type (Entry *b) == (Name # *b);
import type (Catalog *b) == (Table (Entry *b));
import fsstatfile: ((List Char)->(OK String (List Int))) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import fsopenfile: ((List Char)->(OK String (List Char))) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import rmdupslash: ((List Char)->(List Char)) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import lookupfile: ((List Char)->(OK (List Name) (Node ((List Int) # (*a->(OK (List Char) (List Char))))))) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import fscur: (Node ((List Int) # (*a->(OK (List Char) (List Char))))) {# ARITY _ = 0 #}{# STRICTNESS _ = "T,F" ST #};
import fsroot: (Node ((List Int) # (*a->(OK (List Char) (List Char))))) {# ARITY _ = 0 #}{# STRICTNESS _ = "T,F" ST #};
import dir: (String->(List Char)) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import treeEntry: (Int->((String # (Node *a))->(List (Int # String)))) {# ARITY _ = 2 #}{# STRICTNESS _ = "1,F" ST #};
import tree: (Int->((Node *a)->(List (Int # String)))) {# ARITY _ = 2 #}{# STRICTNESS _ = "1,F" ST #};
import dirtree: ((Node *a)->(List Char)) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import isDir: ((List Int)->Bool) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import node: (String->(Node ((List Int) # (*a->(OK (List Char) (List Char)))))) {# ARITY _ = 1 #}{# STRICTNESS _ = "0,F" ST #};
import entry: ((List Char)->((List Char)->((List Char) # (Node ((List Int) # (*a->(OK (List Char) (List Char)))))))) {# ARITY _ = 2 #}{# STRICTNESS _ = "T,F" ST #};
import filesystem: ((List Char)->((List Char) # (Node ((List Int) # (*a->(OK (List Char) (List Char))))))) {# ARITY _ = 1 #}{# STRICTNESS _ = "T,F" ST #};
import lookup: ((List Name)->((Node *a)->(OK (List Name) (Node *a)))) {# ARITY _ = 2 #}{# STRICTNESS _ = "0,F" ST #};
import prune: (Int->((Node *a)->(Node *a))) {# ARITY _ = 2 #}{# STRICTNESS _ = "1,F" ST #};
import mapNode: ((*a->*b)->((Node *a)->(Node *b))) {# ARITY _ = 2 #}{# STRICTNESS _ = "1,F" ST #};
import show_Node: ((*a->(List Char))->((Node *a)->(List Char))) {# ARITY _ = 2 #}{# STRICTNESS _ = "1,F" ST #};