Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
ook
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ook
ook
Commits
bd5c3315
Commit
bd5c3315
authored
Dec 27, 2016
by
Marco Antoniotti
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Initial commit
parents
Changes
37
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
37 changed files
with
2144 additions
and
0 deletions
+2144
-0
COPYING
COPYING
+6
-0
README.md
README.md
+6
-0
Constant-+OOKS+.html
docs/html/dictionary/Constant-+OOKS+.html
+44
-0
Constant-MONKEYqmemqm.html
docs/html/dictionary/Constant-MONKEYqmemqm.html
+44
-0
Function-GENTLY-ASK-THE-LIBRARIAN.html
docs/html/dictionary/Function-GENTLY-ASK-THE-LIBRARIAN.html
+104
-0
Function-KOO.html
docs/html/dictionary/Function-KOO.html
+93
-0
Function-MAKE-LIBRARY.html
docs/html/dictionary/Function-MAKE-LIBRARY.html
+55
-0
Function-OOKem.html
docs/html/dictionary/Function-OOKem.html
+88
-0
Function-OOKqm.html
docs/html/dictionary/Function-OOKqm.html
+76
-0
Generic_Function-OOK..html
docs/html/dictionary/Generic_Function-OOK..html
+134
-0
Method-OOK..html
docs/html/dictionary/Method-OOK..html
+65
-0
Package-OOK-list.html
docs/html/dictionary/Package-OOK-list.html
+98
-0
Package-OOK.html
docs/html/dictionary/Package-OOK.html
+31
-0
Parameter-astINDEXast.html
docs/html/dictionary/Parameter-astINDEXast.html
+30
-0
Parameter-astLIBRARYast.html
docs/html/dictionary/Parameter-astLIBRARYast.html
+30
-0
System-OOK.html
docs/html/dictionary/System-OOK.html
+24
-0
dictionary-entries.html
docs/html/dictionary/dictionary-entries.html
+24
-0
dictionary-footer.html
docs/html/dictionary/dictionary-footer.html
+30
-0
dictionary-header.html
docs/html/dictionary/dictionary-header.html
+33
-0
dictionary-navigation-map.html
docs/html/dictionary/dictionary-navigation-map.html
+52
-0
dictionary-navigation.html
docs/html/dictionary/dictionary-navigation.html
+27
-0
dictionary.html
docs/html/dictionary/dictionary.html
+46
-0
helambdap.css
docs/html/helambdap.css
+344
-0
index-footer.html
docs/html/index-footer.html
+30
-0
index-header.html
docs/html/index-header.html
+33
-0
index-navigation.html
docs/html/index-navigation.html
+46
-0
index.html
docs/html/index.html
+52
-0
introduction.html
docs/html/introduction.html
+119
-0
ook-package.lisp
ook-package.lisp
+16
-0
ook-package.xfasl
ook-package.xfasl
+0
-0
ook.asd
ook.asd
+16
-0
ook.lisp
ook.lisp
+315
-0
ook.system
ook.system
+15
-0
ook.xfasl
ook.xfasl
+0
-0
bottles.ook
tests/bottles.ook
+0
-0
hello.ook
tests/hello.ook
+18
-0
dbdb.lisp
tmp/dbdb.lisp
+0
-0
No files found.
COPYING
0 → 100644
View file @
bd5c3315
This library is in the Public Domain.
(Of course, if you can see the library; and if you can, you'd better
have some bananas with you.)
Author: Marco "Rincewind" Antoniotti, 2015-2016
README.md
0 → 100644
View file @
bd5c3315
# OOK!
A Common Lisp compiler and decompiler for the programming language
[
__OOK!__
](
http://esolangs.org/wiki/Ook!
)
.
It is well known that orangutans grok Lisp.
docs/html/dictionary/Constant-+OOKS+.html
0 → 100644
View file @
bd5c3315
<html>
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<head>
<title>
Constant
+ooks+
</title>
<link
rel=
"stylesheet"
href=
"../helambdap.css"
/>
</head>
<body>
<h1>
<i>
Internal
Constant
</i>
<strong>
+ooks+
</strong>
</h1>
<h2>
Package:
</h2>
<p>
OOK
</p>
<h2>
Value:
</h2>
<p>
<code>
'(OOK. OOK? OOK!)
</code>
</p>
<h2>
Description:
</h2>
<p>
Need we say more?
</p>
</body>
</html>
docs/html/dictionary/Constant-MONKEYqmemqm.html
0 → 100644
View file @
bd5c3315
<html>
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<head>
<title>
Constant
monkey?!?
</title>
<link
rel=
"stylesheet"
href=
"../helambdap.css"
/>
</head>
<body>
<h1>
<i>
Constant
</i>
<strong>
monkey?!?
</strong>
</h1>
<h2>
Package:
</h2>
<p>
OOK
</p>
<h2>
Value:
</h2>
<p>
<code>
'MONKEY?!?
</code>
</p>
<h2>
Description:
</h2>
<p>
You are in trouble if you call him 'monkey'!
</p>
</body>
</html>
docs/html/dictionary/Function-GENTLY-ASK-THE-LIBRARIAN.html
0 → 100644
View file @
bd5c3315
<head>
<title>
Ook!
:
FUNCTION
gently-ask-the-librarian
</title>
<link
rel=
"stylesheet"
href=
"../helambdap.css"
/>
</head>
<body>
<h1>
<i>
Function
</i>
<strong>
gently-ask-the-librarian
</strong>
</h1>
<h2>
Package:
</h2>
<p>
OOK
</p>
<h2>
Syntax:
</h2>
<div>
<p>
<pre>
<strong
style=
"color: red"
>
gently-ask-the-librarian
</strong>
<i>
OOKS
</i>
<span
style=
"color: blue"
>
&
OPTIONAL
</span>
<i>
RUN
</i>
→
<i>
result
</i></pre>
</p>
</div>
<h3>
Arguments and Values:
</h3>
<ul>
<li
style=
"list-style-type: none"
>
<i>
<code>
OOKS
</code>
</i>
:
some 'ooks'.
</li>
<li
style=
"list-style-type: none"
>
<i>
<code>
RUN
</code>
</i>
:
a generalized boolean, default is T.
</li>
<li
style=
"list-style-type: none"
>
<i>
<code>
result
</code>
</i>
:
a compiled function taking no arguments.
</li>
</ul>
<h2>
Description:
</h2>
<p>
ACTUALLY, the main request for interpretation of OOKS.
</p>
<p>
Naturally, to be asked gently.
</p>
<p>
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.
</p>
<h2>
Examples:
</h2>
<pre>
cl-prompt
>
(ook? #P"bottles.ook")
</pre>
<h2>
See Also:
</h2>
<p>
OOK? OOK.
</p>
<h2>
Notes:
</h2>
<p>
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.
</p>
</body>
\ No newline at end of file
docs/html/dictionary/Function-KOO.html
0 → 100644
View file @
bd5c3315
<head>
<title>
Ook!
:
FUNCTION
koo
</title>
<link
rel=
"stylesheet"
href=
"../helambdap.css"
/>
</head>
<body>
<h1>
<i>
Function
</i>
<strong>
koo
</strong>
</h1>
<h2>
Package:
</h2>
<p>
OOK
</p>
<h2>
Syntax:
</h2>
<div>
<p>
<pre>
<strong
style=
"color: red"
>
koo
</strong>
<i>
OOKS
</i>
<span
style=
"color: blue"
>
&
OPTIONAL
</span>
<i>
LIBRARY-STREAM
</i>
→
<i>
result
</i></pre>
</p>
</div>
<h3>
Arguments and Values:
</h3>
<ul
style=
"list-style-type: none"
>
<li
style=
"list-style-type: none"
>
<i>
<code>
OOKS
</code>
</i>
:
a
T
</li>
<li
style=
"list-style-type: none"
>
<i>
<code>
LIBRARY-STREAM
</code>
</i>
:
a
T
</li>
<li
style=
"list-style-type: none"
>
<i>
<code>
result
</code>
</i>
: a T.
</li>
</ul>
<h2>
Description:
</h2>
<p>
The Ook decompiler.
</p>
<p>
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).
</p>
<p>
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.)
</p>
<h2>
See Also:
</h2>
<p>
OOK!
</p>
</body>
\ No newline at end of file
docs/html/dictionary/Function-MAKE-LIBRARY.html
0 → 100644
View file @
bd5c3315
<head>
<title>
Ook!
:
FUNCTION
make-library
</title>
<link
rel=
"stylesheet"
href=
"../helambdap.css"
/>
</head>
<body>
<h1>
<i>
Internal
Function
</i>
<strong>
make-library
</strong>
</h1>
<h2>
Package:
</h2>
<p>
OOK
</p>
<h2>
Syntax:
</h2>
<div>
<p>
<pre>
<strong
style=
"color: red"
>
make-library
</strong>
→
<i>
result
</i></pre>
</p>
</div>
<h3>
Arguments and Values:
</h3>
<ul
style=
"list-style-type: none"
>
<li
style=
"list-style-type: none"
>
<i>
<code>
result
</code>
</i>
: a T.
</li>
</ul>
<h2>
Description:
</h2>
<p>
Creates the memory where the progr... sorry, the 'ooks', reside.
</p>
</body>
\ No newline at end of file
docs/html/dictionary/Function-OOKem.html
0 → 100644
View file @
bd5c3315
<head>
<title>
Ook!
:
FUNCTION
ook!
</title>
<link
rel=
"stylesheet"
href=
"../helambdap.css"
/>
</head>
<body>
<h1>
<i>
Function
</i>
<strong>
ook!
</strong>
</h1>
<h2>
Package:
</h2>
<p>
OOK
</p>
<h2>
Syntax:
</h2>
<div>
<p>
<pre>
<strong
style=
"color: red"
>
ook!
</strong>
<i>
OOKS
</i>
<span
style=
"color: blue"
>
&
OPTIONAL
</span>
<i>
LIBRARY-STREAM
</i>
→
<i>
result
</i></pre>
</p>
</div>
<h3>
Arguments and Values:
</h3>
<ul
style=
"list-style-type: none"
>
<li
style=
"list-style-type: none"
>
<i>
<code>
OOKS
</code>
</i>
:
a
T
</li>
<li
style=
"list-style-type: none"
>
<i>
<code>
LIBRARY-STREAM
</code>
</i>
:
a
T
</li>
<li
style=
"list-style-type: none"
>
<i>
<code>
result
</code>
</i>
: a T.
</li>
</ul>
<h2>
Description:
</h2>
<p>
The Ook decompiler.
</p>
<p>
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).
</p>
<h2>
See Also:
</h2>
<p>
KOO
</p>
</body>
\ No newline at end of file
docs/html/dictionary/Function-OOKqm.html
0 → 100644
View file @
bd5c3315
<head>
<title>
Ook!
:
FUNCTION
ook?
</title>
<link
rel=
"stylesheet"
href=
"../helambdap.css"
/>
</head>
<body>
<h1>
<i>
Function
</i>
<strong>
ook?
</strong>
</h1>
<h2>
Package:
</h2>
<p>
OOK
</p>
<h2>
Syntax:
</h2>
<div>
<p>
<pre>
<strong
style=
"color: red"
>
ook?
</strong>
<i>
OOKS
</i>
→
<i>
result
</i></pre>
</p>
</div>
<h3>
Arguments and Values:
</h3>
<ul
style=
"list-style-type: none"
>
<li
style=
"list-style-type: none"
>
<i>
<code>
OOKS
</code>
</i>
:
a
T
</li>
<li
style=
"list-style-type: none"
>
<i>
<code>
result
</code>
</i>
: a T.
</li>
</ul>
<h2>
Description:
</h2>
<p>
The main request for interpretation of OOKS.
</p>
<p>
Or to peel a banana. Works as well. It is actually a wrapper for
gently asking the Librarian for some information.
</p>
<h2>
See Also:
</h2>
<p>
GENTLY-ASK-THE-LIBRARIAN
</p>
</body>
\ No newline at end of file
docs/html/dictionary/Generic_Function-OOK..html
0 → 100644
View file @
bd5c3315
<head>
<title>
Ook!
:
Generic Function
ook.
</title>
<link
rel=
"stylesheet"
href=
"../helambdap.css"
/>
</head>
<body>
<h1>
<i>
Generic Function
</i>
<strong>
ook.
</strong>
</h1>
<h2>
Package:
</h2>
<p>
OOK
</p>
<h2>
Syntax:
</h2>
<p>
<pre>
<span
style=
"color: red"
><strong>
ook.
</strong></span>
<i>
OOKS
</i>
→
<i>
result
</i></pre>
</p>
<h3>
Arguments and Values:
</h3>
<ul>
<li
style=
"list-style-type: none"
>
<i>
<code>
OOKS
</code>
</i>
:
see the methods' descriptions.
</li>
<li
style=
"list-style-type: none"
>
<i>
<code>
result
</code>
</i>
:
a lambda-expression taking no arguments.
</li>
</ul>
<h2>
Description:
</h2>
<p>
The OOK compiler entry point.
</p>
<p>
This generic function just wraps the actual compiler, which expects a
list of - you guessed it - 'ooks'.
</p>
<div>
<h2>
Known Documented Methods:
</h2>
<ol>
<li>
<p>
<pre>
<strong>
ook.
</strong>
<i>
<
STRING
>
</i>
→
<i>
result
</i></pre>
</p>
<p>
<p>
Dispatches on a pathname containing the OOKS.
</p>
</p>
</li>
<li>
<p>
<pre>
<strong>
ook.
</strong>
<i>
<
PATHNAME
>
</i>
→
<i>
result
</i></pre>
</p>
<p>
<p>
The pathname containing the OOKS is opened and its content read.
</p>
</p>
</li>
<li>
<p>
<pre>
<strong>
ook.
</strong>
<i>
<
STREAM
>
</i>
→
<i>
result
</i></pre>
</p>
<p>
<p>
Compiles the OOKS from the (banana) STREAM.
</p>
</p>
</li>
<li>
<p>
<pre>
<strong>
ook.
</strong>
<i>
<
LIST
>
</i>
→
<i>
result
</i></pre>
</p>
<p>
<p>
OOKS is a list of OOKs to be compiled pair by pair.
</p>
<p>
The result is a LAMBDA of no arguments that contains the compiled
program (essentially a giant TAGBODY).
</p>
</p>
</li>
<li>
<p>
<pre>
<strong>
ook.
</strong>
<i>
<
T
>
</i>
→
<i>
result
</i></pre>
</p>
<p>
<p>
You are in trouble! This method says 'monkey?!?.
</p>
</p>
</li>
</ol>
</div>
</body>
\ No newline at end of file
docs/html/dictionary/Method-OOK..html
0 → 100644
View file @
bd5c3315
<head>
<title>
Ook!
:
METHOD
ook.
</title>
<link
rel=
"stylesheet"
href=
"../helambdap.css"
/>
</head>
<body>
<h1>
<i>
Method
</i>
<strong>
ook.
</strong>
</h1>
<h2>
Package:
</h2>
<p>
OOK
</p>
<h2>
Syntax:
</h2>
<div>
<p>
<pre>
<strong
style=
"color: red"
>
ook.
</strong>
<i>
OOKS
</i>
→
<i>
result
</i></pre>
</p>
</div>
<h3>
Arguments and Values:
</h3>
<ul
style=
"list-style-type: none"
>
<li
style=
"list-style-type: none"
>
<i>
<code>
OOKS
</code>
</i>
:
a
T
</li>
<li
style=
"list-style-type: none"
>
<i>
<code>
result
</code>
</i>
: a T.
</li>
</ul>
<h2>
Description:
</h2>
<p>
You are in trouble! This method says 'monkey?!?.
</p>
</body>
\ No newline at end of file
docs/html/dictionary/Package-OOK-list.html
0 → 100644
View file @
bd5c3315
<!-- Package-OOK-list.html -->
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>
OOK Package List
</title>
<link
rel=
"stylesheet"
href=
"../helambdap.css"
/>
<style>
.helambdap_navmap
li
{