ook

API Reference

ook

A CL compiler and enviroment for literate Orangutans.

OOK

  • Generic-Function OOK. (ooks)
    The OOK compiler entry point. This generic function just wraps the actual compiler, which expects a list of - you guessed it - 'ooks'. Arguments and Values: OOKS : see the methods' descriptions. result : a lambda-expression taking no arguments.
  • Variable MONKEY?!?
    'ook:monkey?!?
    You are in trouble if you call him 'monkey'!
  • Method OOK. ((ooks string))
    Dispatches on a pathname containing the OOKS.
  • Method OOK. ((ooks pathname))
    The pathname containing the OOKS is opened and its content read.
  • Method OOK. ((ooks stream))
    Compiles the OOKS from the (banana) STREAM.
  • Method OOK. ((ooks list))
    OOKS is a list of OOKs to be compiled pair by pair. The result is a LAMBDA of no arguments that contains the compiled program (essentially a giant TAGBODY).
  • Method OOK. ((ooks t))
    You are in trouble! This method says 'monkey?!?.
  • Function OOK! (ooks &optional (library-stream *standard-output*))
    The Ook decompiler. Takes the LAMBDA generated by the compiler and wirtes out the programs in a format readable by an orangutan (or by a well fed and drunk wizard, unless he is asleep, which will be the case most of the time when well fed and drunk). See Also: KOO
  • Function KOO (ooks &optional (library-stream *standard-output*))
    The Ook decompiler. Takes the LAMBDA generated by the compiler and wirtes out the programs in a format readable by an orangutan (or by a well fed and drunk wizard, unless he is asleep, which will be the case most of the time when well fed and drunk). I am repeating this because KOO is called by OOK! (the decompiler) and wizards have been known to require more than a repetition of whatever it is said (especially during Faculty Meetings.) See Also: OOK!
  • Function OOK? (ooks)
    The main request for interpretation of OOKS. Or to peel a banana. Works as well. It is actually a wrapper for gently asking the Librarian for some information. See Also: GENTLY-ASK-THE-LIBRARIAN
  • Function GENTLY-ASK-THE-LIBRARIAN (ooks &optional (run t))
    ACTUALLY, the main request for interpretation of OOKS. Naturally, to be asked gently. It compiles the OOKS and executes them if the optional RUN parameter is T; it returns the compiled function that contains the OOKS. The function can then be reused as needed. Arguments and Values: OOKS : some 'ooks'. RUN : a generalized boolean, default is T. result : a compiled function taking no arguments. Examples: cl-prompt> (ook? #P"bottles.ook") Notes: The compiler (which eventually calls the <strong>CL</strong> <code>compile</code> function) may take a long time. Whether this is due to the size of the TAGBODY generated or whether the Librarian has run out of bananas and went looking for them in the Unseen University kitchen, it is unknown, but, surely, somewhat magical. See Also: OOK? OOK.