Module Lib.Modules

Find frege modules

Imports

Table of Content

Definitions

zipWalkMutableIO ClassLoaderMutableIO ZipFileIO [(String, String)]

Walk a ZipFile and find Frege modules.

The classes inside the ZIP/JAR must be loadable with the given ClassLoader

Ignores ClassNotFoundExceptions and the strange Errors that can happen during class loading.

getXMutableIO ClassLoaderStringIO (Maybe (String, FregePackage))

load a package and return maybe a tuple of package name and FregePackage

classAtEndRegex
dollarsRegex
dirSepRegex
pathSepString

the path separator used here

pathRERegex

a pattern that can be used to Regex.split a String by the path separator

classPath ∷ [String]

the class path this JVM started with, as [String]

dirWalkMutableIO ClassLoaderStringMutableIO FileIO [(String, String)]

Walk a directory and find Frege modules.

The classes in the directory must be loadable with the given ClassLoader

Ignores ClassNotFoundExceptions and the strange Errors that can happen during class loading.

walkThingStringIO [(String, String)]

Walk a directory or a zip file and search for Frege packages.

If the argument is neither a directory nor a ZIP/JAR file, an empty list is returned.

walkCPIO [(String, String)]

walk the class path

walkPathStringIO [(String, String)]

walk a given path

main ∷ [String] → IO ()
data RTree a

Constructors

R (String)
T (TreeMap String a)
data Y f

Constructors

Y (f (Y f))
noPacksY RTree
outY α → α (Y α)
packY RTree([String], String)Y RTree
pfind[String]Y RTreeMaybe (Y RTree)
flatY RTree → [(String, Y RTree)]
nfY RTreeY RTree
unRY RTreeMaybe String

Instances

instance Functor RTree

Member Functions

fmap ∷ (𝖆 → 𝖇) → RTree 𝖆RTree 𝖇
infixl  4

Functions and Values by Type

MutableIO ClassLoaderMutableIO ZipFileIO [(String, String)]

zipWalk

MutableIO ClassLoaderStringMutableIO FileIO [(String, String)]

dirWalk

MutableIO ClassLoaderStringIO (Maybe (String, FregePackage))

getX

Y RTree → ([String], String) → Y RTree

pack

Y RTreeY RTree

nf

Y RTreeMaybe String

unR

Y RTree → [(String, Y RTree)]

flat

StringIO [(String, String)]

walkPath, walkThing

[String] → Y RTreeMaybe (Y RTree)

pfind

[String] → IO ()

main

IO [(String, String)]

walkCP

Y RTree

noPacks

String

pathSep

[String]

classPath

Regex

classAtEnd, dirSep, dollars, pathRE

TreeMap String a → RTree a

RTree.T

Y α → α (Y α)

out

StringRTree a

RTree.R

f (Y f) → Y f

Y.Y

(𝖆 → 𝖇) → RTree 𝖆 → RTree 𝖇

Functor_RTree.fmap

Valid HTML 4.01 Strict