[e-cvs] cvs commit: e/doc/download/0-8-10delta README.html e.txt eprops.txt index.html release-notes.html unix-bin.html unix-src.html windows-bin.html windows-src.html
markm@eros.cs.jhu.edu
markm@eros.cs.jhu.edu
Wed, 12 Dec 2001 01:57:58 -0500
markm 01/12/12 01:57:58
Added: doc/download/0-8-10delta README.html e.txt eprops.txt
index.html release-notes.html unix-bin.html
unix-src.html windows-bin.html windows-src.html
Log:
for the 0-8-10delta release
Revision Changes Path
1.1 e/doc/download/0-8-10delta/README.html
Index: README.html
===================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!--last modified on Saturday, October 03, 1998 04:19 PM -->
<HTML><!-- #BeginTemplate "/Templates/pink.dwt" -->
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=iso-8859-1">
<!-- #BeginEditable "doctitle" -->
<TITLE>README: Installing E</TITLE>
<!-- #EndEditable -->
<meta name="Author" content="Mark S. Miller">
<link rel=author rev=made href="mailto:markm@caplet.com" title="Mark S. Miller">
<META NAME="description" CONTENT="E: Cryptographic Capabilities for Distributed Smart Contracting">
<META NAME="keywords" CONTENT="p2p, p2p language, p2p computing, p2p objects, secure p2p, p2p capabilities, object oriented p2p,
capability-based p2p, Capability Security, Capabilities, Cryptography, Distributed Objects, Distributed
Language, Distributed Capabilities, Lambda Calculus, Scripting Language, Distributed Language, Persistent
Language, Persistent Capabilities, Persistent Objects, Java Shell, Capability Shell, Scripting Java, Smart
Contracting, Agoric E-Commerce, Open Source, Message pipelining, quasi literal, vat, event loop, granovetter diagram ">
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFEEDD" LINK="#0000FF" VLINK="#800080">
<P>
<TABLE BORDER="0" width="100%">
<TR VALIGN="TOP">
<TD WIDTH="10%"> </TD>
<TD>
<P>
<TABLE BORDER="0" WIDTH="100%">
<TR>
<TD ALIGN="LEFT" valign="top">
<table cellpadding="2">
<tr>
<td valign="top" align="left" colspan="3"><a href="../../index.html"><img src="../../images/e-lambda.gif" width="32" height="32" border="0" valign="center" alt="ERights Home"></a>
<!-- #BeginEditable "Path" --> <!-- #EndEditable --></td>
</tr>
<tr>
<td valign="top" align="right"><!-- #BeginEditable "PrevButton" --><img src="../../images/prev-gray.gif" width="64" height="32" alt="Prev"><!-- #EndEditable --></td>
<td valign="bottom" align="left"><!-- #BeginEditable "FirstButton" -->x<!-- #EndEditable --></td>
<td valign="top" align="left"><!-- #BeginEditable "NextButton" -->
<img src="../../images/next-gray.gif" width="64" height="32" alt="Next"><!-- #EndEditable --></td>
</tr>
</table>
</TD>
<TD ALIGN="RIGHT">
<P ALIGN="RIGHT"><FONT SIZE="7"><!-- #BeginEditable "BigTitle" --><FONT SIZE="7"><B>README:<br>
Installing E</B></FONT><!-- #EndEditable --></FONT>
</TD>
</TR>
</TABLE>
<hr>
<!-- #BeginEditable "LongBody" -->
<P ALIGN="left">
<!-- #EndEditable --></TD>
<TD WIDTH="10%"> </TD>
</TR>
<TR VALIGN="TOP">
<TD WIDTH="10%"> </TD>
<TD>
<hr>
<div align="center">
<table cellpadding="4" cellspacing="0">
<tr>
<td>
<div align="left"><a href="../../index.html"><img src="../../images/e-lambda.gif" width="32" height="32" border="0" valign="center" alt="ERights Home"></a></div>
</td>
<td>
<table border="3" align="center" cellpadding="6" cellspacing="3">
<tr>
<td>
<div align="center"><font size="-1"><a href="../../elib/index.html">ELib</a>
<a href="../../elang/index.html">E Language</a>
<a href="../../smart-contracts/index.html">Smart
Contracts</a> <a href="../../related.html">Related</a>
</font></div>
</td>
</tr>
<tr>
<td>
<div align="center"><font size="-1"><a href="../index.html">Download</a>
<a href="http://mumble.net/e/faq.html">FAQ</a>
<a href="../../javadoc/index.html">API</a>
<a href="http://www.eros-os.org/pipermail/e-lang/">Mail
Archive</a> <a href="../../donate.html">Donate</a></font></div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td><i><a href="mailto:webmaster@erights.org">webmaster@erights.org</a></i>
<br>
or <a href="https://bugs.sieve.net/bugs/?func=addbug&group_id=16380"><i>report
bug</i></a><br>
or <a href="http://www.blindpay.com/crit-me-now.cgi"><img src="../../images/cmn.gif" width="98" height="21" border="0" align="middle" alt="Annotate this page"></a>
</td>
<td>
<div align="right">
<p><a href="http://www.epic.org/crypto/"><img src="../../images/key.gif" width="37" height="19" alt="Golden Key Campaign" border="0"></a> <a href="http://www.eff.org/br/"><img src="../../images/ribbon.gif" width="18" height="30"
alt="Blue Ribbon Campaign" border="0"></a><br>
<a href="http://www.freesklyarov.org/"><i>Free Dimitry!</i></a></p>
</div>
</td>
</tr>
</table>
</div>
</TD>
<TD WIDTH="10%" valign="bottom"> </TD>
</TR>
</TABLE>
</BODY>
<!-- #EndTemplate --></HTML>
1.1 e/doc/download/0-8-10delta/e.txt
Index: e.txt
===================================================================
#!/bin/bash
# This file is hereby placed in the public domain.
# E Driver Script (or E Driver Script Template)
#
# If you are looking at "e-template.txt", then you are looking at a
# template to be used to construct "e".
# In this case, for some variable definitions, you should instead see
# text of the form, for example,
#
# EHOME=$<<e.home>>
#
# but with curly brackets instead of angle brackets.
#
# In the comment preceding this, you should see an example of a
# possible value of this property, such as
# "c:/Program Files/erights.org/". Were this variable to have this
# value in the "e" file, it would appear as
#
# EHOME=c:/Program Files/erights.org/
#
# All these variables come from eprops.txt. See that file for more
# complete documentation.
#
# @author Mark S. Miller
# @author Tyler Close
set -e
# Where is E installed? This should be the root directory of the
# installation. The definition of EPATH below assumes EHOME ends with
# a "/". XXX We should fix this to be more tolerant.
#
# For example, "c:/Program Files/erights.org/"
EHOME="c:/Program Files/erights.org/"
# What executable Java command should be used?
#
# For example, "d:/jdk1.3/bin/java.exe"
JCMD="c:/jdk1.3.1_01/bin/java.exe"
# The initial classpath (which is actually a pathlist -- a list of
# filepaths).
#
# If you change this definition to have more than one element, be sure
# to use the separator for your platform. See the definition of "SEP"
# below. This initial setting is added on to by -cpa and -cpb.
#
# Assumes EHOME ends in a "/". See note on EHOME above.
EPATH=${EHOME}e.jar
# This function normalizes a file path so that bash will recognize it
# in command position. In the Cygwin environment (a Unix-like
# compatibility environment for MSWindows), this just uses
# "cygpath -u" to convert to Cygwin's idea of a Unix-like path.
#
# In all other environments, this is an identity function
function normalizeBashPath {
if (type -p cygpath.exe > /dev/null); then
cygpath -u "$1"
else
echo "$1"
fi
}
# This function normalizes a file path so E will recognize it. In the
# Cygwin environment, this needs to undo the funny path prefix
# manipulation done by cygwin, such as turning "d:" into "//d/", or
# "d:/cygwin/bin" into "/usr/bin". However, we still use only forward
# slashes, not backslashes, as path separators, in order for the
# normalized path to pass through bash without needing further escapes.
#
# In all other environments, this is an identity function
function normalizeEPath {
if (type -p cygpath.exe > /dev/null); then
path=`cygpath -w "$1"`
echo "${path//\\\\//}"
else
echo "$1"
fi
}
JCMD=`normalizeBashPath "$JCMD"`
function usage {
echo "usage: e [-options] [(e-script.e | \"-\") [args...]]"
exit -1
}
declare -a jopts
function jpush {
jopts[${#jopts[@]}]=$1
}
# These should come from props
jpush "-Xfuture"
# SEP is the platform dependent pathlist separator. On MSWindows/cygwin,
# it's ";". Everywhere else it's ":".
#
# Used to build the -cp value to passed to java.
if [ "$OSTYPE" = "cygwin" ]
then
SEP=";"
else
if [ "$OSTYPE" = "cygwin32" ]
then
SEP=";"
else
SEP=":"
fi
fi
# either zero or one long
declare -a ecmd
execflag=exec
while [ $(($# >= 1)) = 1 ]; do
case $1 in
-cpa ) shift
if [ $(($# < 1)) = 1 ]; then usage; fi
EPATH=${EPATH}${SEP}$1
shift;;
-cpb ) shift
if [ $(($# < 1)) = 1 ]; then usage; fi
EPATH=$1${SEP}${EPATH}
shift;;
-D* ) jpush "$1"; shift;;
-J* ) jpush "${1#-J}"; shift;;
--help )
echo "e [-options] script [args...]"
echo "where options are:"
echo " -cpa <afterpath> Adds to end of classpath."
echo " -cpb <beforepath> Adds to beginning of classpath."
echo " -D<name>=<value> Defines Property. Passed to java."
echo " -J<java-option> java-option passed to java."
echo " For example, \"e -J-version\" shows the Java version."
echo " --help Prints this out and exits."
echo " --show Shows the java command line, rather"
echo " than executing it"
echo "and script is one of"
echo " filename.e The E script file to execute"
echo " - Use stdin as script file"
echo " --interact An interactive command line"
exit 0;;
--show) execflag=show; shift;;
-) break;;
--interact) break;;
-*) usage;;
*)
ecmd[0]=`normalizeEPath "$1"`; shift
break;;
esac
done
cmd=("${JCMD}" -cp "${EPATH}" "${jopts[@]}" "-De.home=${EHOME}" \
org.erights.e.elang.interp.Interp \
"${ecmd[@]}" "$@")
if [ $execflag = exec ]; then
exec "${cmd[@]}"
else
for i in "${cmd[@]}"; do
echo $i
done
fi
1.1 e/doc/download/0-8-10delta/eprops.txt
Index: eprops.txt
===================================================================
# E Configuration File (or E Configuration Template File)
#
# If you are looking at eprops-template.txt, then you are looking at a
# template to be used to construct eprops.txt. In this case, for
# several property definitions, you should instead see text of the
# form, for example,
#
# e.version=$<<e.version>>
#
# but with curly brackets instead of angle brackets.
#
# In the comment preceding that line, you should see an example of a
# possible value of this property, such as "0.8.9". Were this
# property to have this value in the eprops.txt file, it would appear
# as
#
# e.version=0.8.9
#
# The eprops.txt file is written in a restricted form of Java's
# Properties file save/load syntax. If you are looking at an
# eprops.txt file, all property definitions should already have the
# above form. You may create an eprops.txt file manually by copying
# the eprops-template.txt file and replacing the
# dollar-double-curly-bracket form with the Java property definition.
#
# Notice that there are no quotes around the value. This is correct
# even if the property value contains spaces, since the Java property
# syntax reads all text till the end of the line.
#
# When a property value is a file or directory path name, it should be
# absolute and use forward slashes ("/"), regardless of the local
# platform's convention. If it's a non-top-level directory, a
# terminal slash is optional. Note: On MSWindows, you must specify
# drives the MSWindows/Java way ("c:...") rather than the Cygwin way
# ("//c/...").
#
# When a property value is a pathlist (a list of paths, sometimes also
# confusingly refered to as a "path", as in the PATH or CLASSPATH
# variables), then the entries should be separated by a semicolon
# (";"), independent of platform. (As opposed to the Java convention,
# which is either ";" or ":" depending on platform.)
#
# All these property definitions get loaded into an E process'
# System.properties, so long as they don't override an already present
# property. This is so command-line property settings (using
# arguments of the form "-D<name>=<value>) will take precedence over
# property settings in eprops.txt.
#
# The eprops.txt file should serve as a record of everywhere (outside
# of the install directory itself) that installation placed files and
# registry entries, so that a future uninstaller will know (fingers
# crossed) what files and registry entries to remove.
#
# @author Mark S. Miller
# What version of E is this?
#
# For example, "0.8.9".
e.version=0.8.10delta1
# Where is E installed? If this file is eprops.txt (as opposed to
# eprops-template.txt) then this eprops.txt file should be in this
# directory.
#
# For example, "c:/Program Files/erights.org/"
e.home=c:/Program Files/erights.org/
# What is the absolute path of the Java executable command? This must
# be a Java compatible with Sun's JDK >= 1.3. On MSWindows, if you
# wish to suppress the MSDOS console window, use a javaw.exe command
# rather than a java.exe command.
#
# For example, "d:/jdk1.3/bin/java.exe"
e.javacmd=c:/jdk1.3.1_01/bin/java.exe
# When E shortcuts are launched from the desktop, where should their
# current directory be? Under *nix currently, this option does
# nothing. On MSWindows, this option affects only newly generated
# shortcuts. After changing this option, rerun the setup.e
# command to generate new shortcuts.
#
# For example: "c:/WINDOWS/Desktop" or "".
e.launch.dir=C:/Documents and Settings/Administrator/Desktop
# Where does trace data go? This directory will accumulate
# debugging information provided by running E programs in order to
# facilitate a post-mortem analysis of problems. The trace system
# treats the directory as a large circular buffer giving a finite
# window into the past in exchange for a finite memory burden.
#
# For example: "c:/WINDOWS/temp/etrace" or "".
TraceLog_dir=C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/etrace
# Other trace switches
# TraceLog_causality=debug
# If this property is set, JDK1.3's EventDispatchThread's
# handleException(Throwable) will delegate exception reporting
# to a newly made instance of this class name.
#
# For example: "org.erights.e.elib.prim.FEProblemHandler"
sun.awt.exception.handler=org.erights.e.elib.prim.FEProblemHandler
# Where are copies of the "e" bash script placed? Since *.e scripts
# normally begin with the line "#!/usr/bin/env e", a *.e file won't be
# considered an executable file unless /usr/bin/env can find "e" on
# the PATH. On MSWIndows, this option is only relevant to Cygwin
# users. The "e" script should be placed somewhere on the PATH
# visible from a shell. (On MSWindows, this means Cygwin shells, but
# not the MSDOS shell).
#
# For example: "c:/WINDOWS/;/home/markm/bin"
e.put.bash.pathlist=C:/WINNT
# Where are copies of the shortcuts placed?
#
# For example: "c:/WINDOWS/Desktop;c:/WINDOWS/Start Menu/Programs/erights.org".
e.put.shortcut.pathlist=C:/Documents and Settings/Administrator/Desktop;C:/Documents and Settings/Administrator/Start Menu/Programs/erights.org
# Which of .e, .emaker, .caplet, .updoc, .vat, and .cap should be
# associated with icons, registry types, mime types, launching
# programs, and other right button menu commands? Currently, this
# definition does nothing, and setup.e simply grabs whatever
# extensions it likes (which are these 6).
#
# ".e;.emaker;.caplet;.updoc;.vat;.cap" or any subset.
e.extensionslist=.e;.emaker;.caplet;.updoc;.vat;.cap
# Name of vendor providing this E implementation
#
# For example: "ERights.org"
e.vendor=ERights.org
# URL of vendor's website
#
# For example: "http://www.erights.org/"
e.vendor.url=http://www.erights.org/
# URL bug reports should be mailed-to
#
# For example: "mailto:bugs@erights.org"
e.vendor.url.bug=mailto:bugs@erights.org
################## Other Switches #####################
# One of "report" (the default), "prompt", or "gui". <p>
#
# When E fails to launch, or when the top level script (the *.e file)
# throws a problem, how should the E interpreter report the problem
# before exiting with a non-zero error code?
#
# When this property is set to "report" (or when the property is
# absent), then E prints a problem report on stderr and exits
# immediately. <p>
#
# When set to "prompt", E still prints the problem report on stderr,
# but it then also prompts for a character to be typed in before the
# process is dismissed, and then blocks waiting for that
# character. <p>
#
# When set to "gui", E will pop up a window at least reporting the
# error and waiting to be dismissed. Later versions of E may provide
# support for diagnostics and debugging starting from this window.
# Note: "gui" is not yet implemented. If used, it will prompt
# instead.
e.onErrorExit=gui
# One of "platform" (the default), "none", or a look and feel class
# name. <p>
#
# When set to "platform" (or when the property is absent), the look
# and feel is set to the default for the platform according to
# "UIManager getSystemLookAndFeelClassName()". <p>
#
# When set to "none", this advises code that there may not be an
# available graphical display device, and that they should try, if
# possible, to avoid any operations which would fail in a pure
# character/teletype environment, such as a telnet session. <p>
#
# When set to a look and feel class name, it sets this to be the
# initial look and feel for this E process.
e.swingLnF=platform
# Currently does nothing.
#
# A placeholder for the new safej API taming. For classes for which
# there are no corresponding taming files, this switch says how they
# should be made available to E. If "true", then these classes will
# be importable as "<unsafe:...>". If "false", then untamed classes
# will not be available at all. Defaults to "false".
e.safej.allow-untamed-classes=false
# When set to false (the default) or if absent, then the interpreter
# acts as an interactive interpreter when it's not reading from a
# named file. When set to true, the interpreter acts as an
# interactive interpreter in both cases.
e.interp.interactive=false
# When true, the E parser outputs volunimous debugging info. Defaults
# to false.
e.interp.parseSpam=false
# In an interactive interpreter, when this is set to true, the
# expansion to Kernel-E of the entered expression is echoed along with
# the value it evaluates to. Defaults to false.
e.interp.expand=false
# In an interactive interpreter, when this is set to true, the
# further expansion to an internal form is echoed. This is for
# debugging the Kernel-E implementation, and probably serves no
# function for normal use. The output is implementation dependent.
# Defaults to false.
e.interp.show-transformed=false
# When true, problem reports by default show the Java stack trace in
# addition to the E stack trace. (This is only relevant while E in
# interpreted. Once it's compiled, there will only be one stack trace
# to report, the Java stack trace, which will be reported regardless
# of the setting of this switch. Defaults to false.
e.interp.verbose=false
# Defaults to "fe", for "front-end runner". May be set to "be" for
# "back-end runner". If set to "fe", then the initial runner of the
# initial vat will be a front-end runner, meaning it will run in the
# AWT event thread, use the AWT event queue, and can thereby interact
# synchronously with AWT and Swing components.
#
# If set to "be", then the initial runner of the initial vat will be a
# new back-end runner, meaning it will run in its own thread, use its
# own queue, and should not (eventually, cannot) synchronously access
# AWT or Swing components.
e.interp.runner=fe
# Says whether E should print, as a diagnostic on stderr, the total
# post-initialization time to interpret the E program. Defaults to
# false.
e.interp.print-timing=false
################# Configuring a Vat's network presence #################
# e.VLSPath is an optional semicolon-separated list of TCP/IP
# addresses of VLSs this vat should register with. Defaults to "" --
# the null list. Doesn't actually mean anything until the VLS is
# revived.
# e.VLSPath=
# e.SearchPath is an optional semicolon-separated list of TCP/IP
# addresses for others to look for me. Defaults to the VLSPath. Once
# a vat knows its own ListenAddress, this should be added to the front
# of the list.
# e.SearchPath=
# e.ListenAddress is the optional TCP/IP address at which this vat
# should create the socket it listens to. If an IP address isn't
# given, the socket defaults to listening on all IP addresses of this
# host. If an IP address is given, it must be one of the IP addresses
# of this host. If the TCP port isn't given, it defaults to 0. A TCP
# port of 0 instructs the OS to pick any free TCP port.
# e.ListenAddress=
################# In-Pocket E Shorthands & Features #################
# To ease the transition to the new restricted syntax, you can set
# some of the switches below to "true". Note that all the features
# below are not part of the official E language as of this release.
# These are likely to be removed in the future, unless otherwise
# stated for a particular feature.
# Another reason they are left in the implementation is to allow
# experimentation. All these features were added for reasons that
# seemed good at the time. If you feel a particular feature's revival
# (making it again part of official E) is a good idea, please try it
# out and if you still think it would be a good idea, please speak up
# and explain why. If a feature is listed below, then, as of this
# release, it is considered to be "in-pocket" and is therefore still
# partly or fully implemented. Features that are still in-pocket
# would, therefore, be particularly painless to revive it if we decide
# to do so.
# If e.enable.anon-lambda is set to "true", E accepts the
# " '_' '('params...')' '{' eExpr '}' and " '_'{eExpr}" lambda
# shorthands. To turn a program using this feature into a proper
# modern E program, the first should be prefixed by "def". In the
# second, the "_" should be replaced with "thunk".
e.enable.anon-lambda=allow
# This feature of E isn't implemented yet, so its syntax is not
# accepted by default. Turn this on to allow the syntax to be
# accepted: " 'def' name '::' name (',' name)* '{' vtable '}' ". The
# list of names following the '::' are the auditors.
e.enable.auditors=allow
# Accept "define" as a synonym for "def". All occurrences of the
# "define" keyword shold instead be replaced by "def".
e.enable.define=allow
# Accept "eExpr'.'name" shorthand. "eExpr'.'name" as an expression
# should instead be "eExpr getName()". "eExpr'.'name := eExpr" should
# instead be "eExpr setName(eExpr)".
e.enable.dot-props=allow
# Accepts the experimental "meta(varName)" syntax, where varName is
# the defining name for an enclosing object definition expression.
# The value of this expression is a "meta-object" whose protocol gives
# meta-level access to the semantics of the original object. The
# implementation of this feature currently has a FATAL SECURITY BUG,
# so don't enable this feature in any system that might host actually
# untrusted local code. The bug is that it's not yet enforced that
# the name must be the defining name of an enclosing object
# definition.
e.enable.meta-object=false
# Accepts the experimental "meta scope()" expression, which reifies
# the current lexical scope into a Scope object. The semantics of
# this construct only has the scope within an object include those
# variables defined outside the object that are used freely within the
# object -- the instance variables.
e.enable.meta-scope=allow
# Allow no-argument calls to leave out the "()". The "()" should be
# added to these calls
e.enable.no-paren-call=allow
# Allow no parameter methods to leave out the "()". The "()" should
# be added to these definitions.
e.enable.no-paren-method=allow
# Accept the " 'def' name verb(params...) {...}" definition
# shorthand. Instead, the explicit object definition syntax should be
# used, where this method is an explicit method.
e.enable.one-method-object=allow
# Accept the experimental
# " 'def' name 'match' pattern '{' eExpr '}' " kernel
# construct. This is not a shorthand, so if you need it there's
# nothing to do instead. Rather, it is an exprimental kernel feature
# mainly awaiting the precise pinning down of what its semantics
# should be. If you find you need this construct, please let us know
# since the particulars of your use may help us figure out what its
# semantics should be.
e.enable.plumbing=allow
# Accept the typedef shorthand. The typedef shorthand looks like the
# E object definition syntax, but without method bodies. (Much as
# Java interface definitions look like Java class definitions.) In
# this case, the syntax itself isn't being retired -- we expect to
# make it part of the language. However, the API of the objects it
# creates hasn't been pinned down yet, so the use of this is
# considered exprimental until then.
e.enable.typedef=allow
# Accept the transposed multi-vow when/catch syntax. The standard
# syntax lists all the vow-expressions of the left and all the
# corresponding params on the right. In this experimental variation,
# each vow-expression / pattern pair is listed in turn.
e.enable.when-clauses=allow
# Once upon a time, there was general agreement that a tab character
# in a plain text file took you to the next tab stop, which was every
# 8 characters. The Microsoft blight has not only screwed up the
# newline conventions and the filepath separator conventions (of which
# the Mac is equally guilty), but also screwed up the meaning of the
# tab key. The best path to sanity is to simply avoid the presence of
# tab characters in text files, with the one unfortunate exception of
# "Makefile"s and "*.mk" files.
#
# Unfortunately, because so many text editors put tabs into files in a
# way that's hard to turn off, E must, by default, accept tabs as a
# valid whitespace character. However, to help you prevent yourself
# from including tabs, we provide the "notabs" switch, which defaults
# to "false". If you set it to true, the tab character will not be
# considered valid whitespace.
e.enable.notabs=allow
# Enables syntax such as 'require (cond) thunk{str}' to be accepted
# and be equivalent of 'require (cond, thunk{str})'
e.enable.lambda-args=allow
# The e.enable.bind switch has been retired, since "bind" is now
# considered an official part of the language.
1.1 e/doc/download/0-8-10delta/index.html
Index: index.html
===================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!--last modified on Saturday, October 03, 1998 04:19 PM -->
<HTML><!-- #BeginTemplate "/Templates/pink.dwt" -->
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=iso-8859-1">
<!-- #BeginEditable "doctitle" -->
<TITLE>E 0.8.10delta1 Download and Install E</TITLE>
<!-- #EndEditable -->
<meta name="Author" content="Mark S. Miller">
<link rel=author rev=made href="mailto:markm@caplet.com" title="Mark S. Miller">
<META NAME="description" CONTENT="E: Cryptographic Capabilities for Distributed Smart Contracting">
<META NAME="keywords" CONTENT="p2p, p2p language, p2p computing, p2p objects, secure p2p, p2p capabilities, object oriented p2p,
capability-based p2p, Capability Security, Capabilities, Cryptography, Distributed Objects, Distributed
Language, Distributed Capabilities, Lambda Calculus, Scripting Language, Distributed Language, Persistent
Language, Persistent Capabilities, Persistent Objects, Java Shell, Capability Shell, Scripting Java, Smart
Contracting, Agoric E-Commerce, Open Source, Message pipelining, quasi literal, vat, event loop, granovetter diagram ">
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFEEDD" LINK="#0000FF" VLINK="#800080">
<P>
<TABLE BORDER="0" width="100%">
<TR VALIGN="TOP">
<TD WIDTH="10%"> </TD>
<TD>
<P>
<TABLE BORDER="0" WIDTH="100%">
<TR>
<TD ALIGN="LEFT" valign="top">
<table cellpadding="2">
<tr>
<td valign="top" align="left" colspan="3"><a href="../../index.html"><img src="../../images/e-lambda.gif" width="32" height="32" border="0" valign="center" alt="ERights Home"></a>
<!-- #BeginEditable "Path" -->/ <a href="../index.html">download</a> <!-- #EndEditable --></td>
</tr>
<tr>
<td valign="top" align="right"><!-- #BeginEditable "PrevButton" --><a href="../0-8-10gamma/index.html"><img src="../../images/prev.gif" width="64" height="32" alt="Back to: E 0.8.10gamma2 Download and Install E" border="0"></a><!-- #EndEditable --></td>
<td valign="bottom" align="left"><!-- #BeginEditable "FirstButton" --><a href="windows-bin.html"><img src="../../images/first.gif" width="32" height="64" alt="1st child: E 0.8.10delta1: Installing on Windows" border="0"></a><!-- #EndEditable --></td>
<td valign="top" align="left"><!-- #BeginEditable "NextButton" --><img src="../../images/next-gray.gif" width="64" height="32"><!-- #EndEditable --></td>
</tr>
</table>
</TD>
<TD ALIGN="RIGHT">
<P ALIGN="RIGHT"><FONT SIZE="7"><!-- #BeginEditable "BigTitle" --><b><font size="5">Download
and Install</font></b><font size="5" color="#009000"><i><b><br>
</b></i></font><i><font color="#009000"><b>E</b></font></i><b> 0.8.10delta1</b><!-- #EndEditable --></FONT>
</TD>
</TR>
</TABLE>
<hr>
<!-- #BeginEditable "LongBody" -->
<p>Jump to </p>
<blockquote>
<p> <a href="#platforms">Download by Platforms & Versions</a><a href="#Highlights"><br>
Highlights this Version</a><br>
<a href="#variants">Variants and Subsets of E</a><br>
<a href="#dependencies">Dependencies</a></p>
</blockquote>
<p></p>
<h1 align="center"><a href="../which.html">Are you sure you want the 0.8.10delta1
version?</a></h1>
<hr>
<h1><a name="platforms"></a>Download by Platforms & Versions</h1>
<p>Earlier versions of <font color="#009000"><em><b>E</b></em></font> have
been tested and run on MSWindows (95, 98 FE, NT, 2K), and Linux. It <em>should</em>
run on other UNIX platforms as well, given an adequate version of Java
and bash (see below). It should also run without problems on MSWindows
98 SE and on ME, but as far as we are aware, no one has tried this. If
you experience any problems, or have any other informative experiences,
please let <a href="mailto:bugs@erights.org">me</a> know, or <a href="https://bugs.sieve.net/bugs/?func=addbug&group_id=16380">report
a bug</a>.</p>
<p> The <i>Installing</i> links below describe how to install, and run various
forms of the binary distribution. The <i>Building</i> links describe how
to build E from the source release. The <i>Download</i> links will download
each corresponding form of the release to your machine. </p>
<div align="center">
<p></p>
<div align="center">
<table cellpadding="12" border="2">
<tr>
<td> </td>
<th>
<div align="center">Binary<br>
Distribution</div>
</th>
<th>
<div align="center">Source<br>
Distribution</div>
</th>
</tr>
<tr>
<th>
<div align="center"><b>MSWindows 9x/ME/NT/2k</b><br>
(zip files)</div>
</th>
<td>
<div align="center"><a href="windows-bin.html">Installing</a><br>
<a href="E-win32-0.8.10delta1.zip"><b><font size="+1">Download
E</font></b></a></div>
</td>
<td>
<div align="center"><a href="windows-src.html">Building</a><br>
<a href="E-src-0.8.10delta1.zip">Download E</a></div>
</td>
</tr>
<tr>
<th>
<div align="center"><b> Unix & Unix-like Platforms<br>
(tar.gz files)</b></div>
</th>
<td>
<div align="center"><a href="unix-bin.html">Installing</a><br>
<a href="E-nix-0.8.10delta1.tar.gz"><b><font size="+1">Download
E</font></b></a></div>
</td>
<td>
<div align="center"><a href="unix-src.html">Building</a><br>
<a href="E-src-0.8.10delta1.tar.gz">Download E</a></div>
</td>
</tr>
<tr>
<th>Mac OS X<br>
</th>
<td>
<div align="center">(coming soon)</div>
</td>
<td>
<div align="center">(coming soon)</div>
</td>
</tr>
</table>
</div>
</div>
<p> </p>
<hr>
<h1><a name="Highlights"></a>Highlights of this Version</h1>
<p>As each of these issues are discussed in email or in the bug tracking
system, we will link the paragraphs below to the relevant roots.</p>
<h3>Dean's Transformer integrated into the main line</h3>
<ul>
<li><font color="#FF0000">*** To be written</font></li>
</ul>
<h3>More bug fixes</h3>
<ul>
<li><font color="#FF0000">*** To be written</font></li>
</ul>
<h1><a name="variants"></a>Variants and Subsets of E</h1>
<p>A complete <font color="#009000"><em><b>E</b></em></font> system is persistent,
distributed, and capability-secure both within and between processes.
Incomplete variants of <font color="#009000"><em><b>E</b></em></font>
are tagged by which of these features are left out.</p>
<center>
<p>
<table border="2" cellpadding="6">
<tr>
<th>Feature</th>
<th>Prefix if<br>
feature is absent</th>
<th>What it stands for</th>
</tr>
<tr>
<td>
<p align="center">Persistent</p>
</td>
<td>
<p align="center">tl-</p>
</td>
<td>
<p align="center"><b>T</b>ime-<b>L</b>ocal</p>
</td>
</tr>
<tr>
<td>
<p align="center">Distributed</p>
</td>
<td>
<p align="center">sl-</p>
</td>
<td>
<p align="center"><b>S</b>pace-<b>L</b>ocal</p>
</td>
</tr>
<tr>
<td>
<div align="center">Local<br>
capability security </div>
</td>
<td>
<div align="center">otc-</div>
</td>
<td>
<div align="center"><b>O</b>nly-<b>T</b>rusted-<b>C</b>ode</div>
</td>
</tr>
<tr>
<td>
<p align="center">Distributed<br>
capability security </p>
</td>
<td>
<p align="center">daff<i>E</i></p>
</td>
<td>
<p align="center"><b>D</b>istributed <b>A</b>pplication <b>F</b>ramework<br>
<b>F</b>orsaking <b>E</b>ncryption</p>
</td>
</tr>
</table>
<p></p>
</center>
<p>A non-persistent <font color="#009000"><em><b>E</b></em></font> is called
<i>time-local</i> since an object only exist as long as its hosting process
does. A non-distributed <font color="#009000"><em><b>E</b></em></font>
is called <i>space-local</i> if an object and all references to it only
exist within its hosting process. </p>
<p><font color="#009000"><em><b>E</b></em></font> <i>by definition</i> provides
distributed capability-security -- the ability for objects in mutually
suspicious processes to safely cooperate. If it looks like <font color="#009000"><em><b>E</b></em></font>
and it quacks like <font color="#009000"><em><b>E</b></em></font>, it
might be a duck; but if it doesn't provide distributed capability security,
it's not <font color="#009000"><em><b>E</b></em></font>. A system that's
otherwise equivalent to <font color="#009000"><em><b>E</b></em></font>,
but doesn't provide distributed capability security, is called <i>daffE</i>.
A distributed <font color="#009000"><em><b>E</b></em></font> can only
be implemented by means of strong crypto, of course, for which we are
using code derived from the <a href="http://ai.cryptix.org/"> Cryptix</a>
library (in accord with the terms of their open-source license). In a
space-local system, no distributed insecurity can arise, so such a system
would be an <font color="#009000"><em><b>sl-E</b></em></font> rather than
an <i>sl-daffE</i>. </p>
<p><font color="#009000"><em><b>E</b></em></font> is designed to provide
local capabillity-security -- the ability for mutually suspicious objects
hosted by the same process to safely cooperate, and the use of capability
discipline to determine which of its hosting process's authorities it
may exercise. Such objects could be executing <i>untrusted code</i> --
code that the hosting process (or its owner) doesn't need to fully trust.
</p>
<p><b>This is a "complete" release of E</b>. "complete"
is in quotes, because both the persistence and the distribution leave
much to be desired, as explained <a href="../0-8-10alpha/index.html">here</a>.
However, these are close enough that this release that doesn't need qualifiers
in its name.</p>
<hr>
<h1><a name="dependencies"></a>Dependencies</h1>
<h3>Versions & Types of Java</h3>
<p>In refering to various versions of Java, we follow Sun's terminology
and numbering. A Java Runtime, or <b>jre</b>, is adequate to run standard
Java binary programs (class files & resources). A Java Development
Kit, or <b>jdk</b>, is adequate both to build a program from sources and
to run it. A jdk is a superset of the corresponding jre, and their version
numbers are always in synch. Each successive version of the jdk/jre from
Sun effectively defines a new version of the Java & JVM standards,
except that Sun has introduced a <a href="http://java.sun.com/products/jdk/1.2/java2.html">numbering
inconsistency</a>: The Java/JVM 2.x standard corresponds to Sun's jdk/jre
1.2.x. We ignore this inconsistency and refer to both as 1.2.x.</p>
<p>This version of <font color="#009000"><em><b>E</b></em></font> requires
a jre >= 1.3.1. E no longer supports Java < 1.3.1. To build <font color="#009000"><em><b>E</b></em></font>
from sources, a corresponding jdk is required. </p>
<p><i>Note: E does not install correctly when using JDK1.4beta on Windows2000
-- it fails to exec with "winfo.exe" executable, used during
install time to gather info about your Windows system. It seems to be
a more general problem in execing executables. If you experience this
problem, we suggest you install using a JDK1.3.*. Once installed, E should
work fine with either JDK1.3.* or JDK1.4beta. <br>
( Track this issue... )</i></p>
<p>Some places to get a jre or jdk:</p>
<div align="center">
<table cellpadding="12" border="2">
<tr>
<td>
<div align="center"></div>
</td>
<th>
<div align="center">jre</div>
</th>
<th>
<div align="center">jdk</div>
</th>
</tr>
<tr>
<th>
<div align="center"><b>Win95/98/NT</b> </div>
</th>
<td>
<div align="center"><a href="http://java.sun.com/j2se/1.3/jre/download-windows.html">jre
1.3.x</a></div>
</td>
<td>
<div align="center"><a href="http://java.sun.com/j2se/1.3/download-windows.html">jdk
1.3.x</a></div>
</td>
</tr>
<tr>
<th>
<div align="center"><b>Linux</b></div>
</th>
<td>
<div align="center"><a href="http://www.blackdown.org/java-linux/mirrors.html">blackdown.org<br>
</a><a href="http://java.sun.com/j2se/1.3/jre/download-linux.html">sun</a>
</div>
</td>
<td>
<div align="center"><a href="http://www.blackdown.org/java-linux/mirrors.html">blackdown.org<br>
</a><a href="http://java.sun.com/j2se/1.3/download-linux.html">sun</a>
</div>
</td>
</tr>
<tr>
<th>
<div align="center">Solaris</div>
</th>
<td>
<div align="center"><a href="http://www.sun.com/software/solaris/jre/download.html">jre
1.3.x</a></div>
</td>
<td>
<div align="center"><a href="http://www.sun.com/software/solaris/java/download.html">jdk
1.3.x</a></div>
</td>
</tr>
</table>
</div>
<p> </p>
<h2>Build-Only Dependencies</h2>
<p>If you are only installing <font color="#009000"><em><b>E</b></em></font>
from a binary distribution, or only rebuilding the Java portion for your
own use, you can ignore this section. However, if you wish to build an
<font color="#009000"><em><b>E</b></em></font> distribution from sources,
then you will need the equivalent of the following tools as well.</p>
<h3>The <a href="http://sources.redhat.com/cygwin/"><tt>Cygwin</tt></a>
Distribution</h3>
<p>The <font color="#009000"><em><b>E</b></em></font> building process relies
on a number of UNIX tools. These are available for Windows from Cygnus
Support as the Cygwin package. If you wish to build <font color="#009000"><em><b>E</b></em></font>
on Windows, you should <a href="http://sources.redhat.com/cygwin/download.html">download</a>
and install a version >= 1.0.</p>
<h3>BYacc/J (Berkeley Yacc for Java)</h3>
<p>The E source distribution contains the executable binary program byaccj.exe
for Windows, and <code>byaccj</code> for Linux/386/glibc. These are actually
<a href="http://www.lincom-asg.com/%7Erjamison/byacc/">BYacc/Java</a>
from Bob Jamison and <a href="http://www.lincom-asg.com/%7Erjamison/byacc/ACKNOWLEDGEMEN">others</a>.
BYacc/Java is the Berkeley Yacc program extended with a "-j"
flag and others for producing Java output. BYacc/Java is covered by the
Berkeley License. If you are on a Unix system other than glibc Linux,
you need to download your own version of <code>byaccj</code> and overwrite
the one in <code>src/bin/linux-386-glibc</code> that our Makefile is using.</p>
<p><i>Note: The website at the above link, http://www.lincom-asg.com/~rjamison/byacc/,
seems to have disappeared. If you know where it may have gone to, or know
how to contact Bob Jamison, please let <a href="mailto:webmaster@erights.org">me</a>
know. In the meantime, starting with the 0.8.10delta1 release, the sources
to byaccj are bundled with the E sources, and byaccj is made as part of
making E. </i></p>
<h3>Zip Files</h3>
<p>Our build process packs up the <code>*.zip</code> files in the distribution
by using <a href="ftp://ftp.freesoftware.com/pub/infozip/">Info-Zip</a>'s
highy portable, and highly ported, <code>zip</code> program. Info-Zip's
zipping tools are open-sourced with a license that seems to resemble the
X11 license, but before redistributing it, you should read it for yourself.
The <font color="#009000"><em><b>E</b></em></font> distributions do not
bundle in these tools.</p>
<!-- #EndEditable --></TD>
<TD WIDTH="10%"> </TD>
</TR>
<TR VALIGN="TOP">
<TD WIDTH="10%"> </TD>
<TD>
<hr>
<div align="center">
<table cellpadding="4" cellspacing="0">
<tr>
<td>
<div align="left"><a href="../../index.html"><img src="../../images/e-lambda.gif" width="32" height="32" border="0" valign="center" alt="ERights Home"></a></div>
</td>
<td>
<table border="3" align="center" cellpadding="6" cellspacing="3">
<tr>
<td>
<div align="center"><font size="-1"><a href="../../elib/index.html">ELib</a>
<a href="../../elang/index.html">E Language</a>
<a href="../../smart-contracts/index.html">Smart
Contracts</a> <a href="../../related.html">Related</a>
</font></div>
</td>
</tr>
<tr>
<td>
<div align="center"><font size="-1"><a href="../index.html">Download</a>
<a href="http://mumble.net/e/faq.html">FAQ</a>
<a href="../../javadoc/index.html">API</a>
<a href="http://www.eros-os.org/pipermail/e-lang/">Mail
Archive</a> <a href="../../donate.html">Donate</a></font></div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td><i><a href="mailto:webmaster@erights.org">webmaster@erights.org</a></i>
<br>
or <a href="https://bugs.sieve.net/bugs/?func=addbug&group_id=16380"><i>report
bug</i></a><br>
or <a href="http://www.blindpay.com/crit-me-now.cgi"><img src="../../images/cmn.gif" width="98" height="21" border="0" align="middle" alt="Annotate this page"></a>
</td>
<td>
<div align="right">
<p><a href="http://www.epic.org/crypto/"><img src="../../images/key.gif" width="37" height="19" alt="Golden Key Campaign" border="0"></a> <a href="http://www.eff.org/br/"><img src="../../images/ribbon.gif" width="18" height="30"
alt="Blue Ribbon Campaign" border="0"></a><br>
<a href="http://www.freesklyarov.org/"><i>Free Dimitry!</i></a></p>
</div>
</td>
</tr>
</table>
</div>
</TD>
<TD WIDTH="10%" valign="bottom"> </TD>
</TR>
</TABLE>
</BODY>
<!-- #EndTemplate --></HTML>
1.1 e/doc/download/0-8-10delta/release-notes.html
Index: release-notes.html
===================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!--last modified on Saturday, October 03, 1998 04:19 PM -->
<HTML><!-- #BeginTemplate "/Templates/pink.dwt" -->
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=iso-8859-1">
<!-- #BeginEditable "doctitle" -->
<TITLE>Release Notes: 0.8.10delta1</TITLE>
<!-- #EndEditable -->
<meta name="Author" content="Mark S. Miller">
<link rel=author rev=made href="mailto:markm@caplet.com" title="Mark S. Miller">
<META NAME="description" CONTENT="E: Cryptographic Capabilities for Distributed Smart Contracting">
<META NAME="keywords" CONTENT="p2p, p2p language, p2p computing, p2p objects, secure p2p, p2p capabilities, object oriented p2p,
capability-based p2p, Capability Security, Capabilities, Cryptography, Distributed Objects, Distributed
Language, Distributed Capabilities, Lambda Calculus, Scripting Language, Distributed Language, Persistent
Language, Persistent Capabilities, Persistent Objects, Java Shell, Capability Shell, Scripting Java, Smart
Contracting, Agoric E-Commerce, Open Source, Message pipelining, quasi literal, vat, event loop, granovetter diagram ">
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFEEDD" LINK="#0000FF" VLINK="#800080">
<P>
<TABLE BORDER="0" width="100%">
<TR VALIGN="TOP">
<TD WIDTH="10%"> </TD>
<TD>
<P>
<TABLE BORDER="0" WIDTH="100%">
<TR>
<TD ALIGN="LEFT" valign="top">
<table cellpadding="2">
<tr>
<td valign="top" align="left" colspan="3"><a href="../../index.html"><img src="../../images/e-lambda.gif" width="32" height="32" border="0" valign="center" alt="ERights Home"></a>
<!-- #BeginEditable "Path" -->/ <a href="../index.html">download</a> / <a href="index.html">stl-0-8-9-k</a> <!-- #EndEditable --></td>
</tr>
<tr>
<td valign="top" align="right"><!-- #BeginEditable "PrevButton" --><img src="../../images/prev-gray.gif" width="64" height="32"><!-- #EndEditable --></td>
<td valign="bottom" align="left"><!-- #BeginEditable "FirstButton" --><!-- #EndEditable --></td>
<td valign="top" align="left"><!-- #BeginEditable "NextButton" --><a href="windows-bin.html"><img src="../../images/next.gif" width="64" height="32" alt="On to: E 0.8.10delta1: Installing on Windows" border="0"></a><!-- #EndEditable --></td>
</tr>
</table>
</TD>
<TD ALIGN="RIGHT">
<P ALIGN="RIGHT"><FONT SIZE="7"><!-- #BeginEditable "BigTitle" --><FONT SIZE="7"><B>0.8.10delta1<br>
Release Notes</B></FONT><!-- #EndEditable --></FONT>
</TD>
</TR>
</TABLE>
<hr>
<!-- #BeginEditable "LongBody" -->
<p><i><font color="#009000"><b>E</b></font></i><b> 0.8.10delta1</b> is an
interim non-distributed release, but supporting a more modern version
of the E language spec. It's primary motivation is to support work on
compiling E, but it may also be preferred by those using E for non-distributed
programming. The E installer is much improved on MSWindows, but these
improvements have not yet been ported to other platforms, so this release
is an MSWindows-only release. <i>This is a very temporary situation --
the vast majority of E is fully platform independent.</i></p>
<p>As of this version E only support Java >= 2 (ie, a JDK/JRE >= 1.2).</p>
<p>All non-upwards compatibilities are highlighted in <font color="#FF0000"><b>red</b></font>.</p>
<h2><a name="untrusted-code"></a>Support for Locally Untrusted Installed
Code</h2>
<p>Originally we expected this to be one of that features we'd implement
on the way to 1.0, as it required <i>auditors</i>, which are not currently
supported, and it required a careful analysis of the Java API to determine
what subset follows capability discipline. However, by taking some temporary
shortcuts, this was a surprisingly painless change.</p>
<h4>The plan</h4>
<p>The plan for locally untrusted installed code remains as follows:</p>
<p>Code in "<code>*.e</code>" files evaluate in a scope which
includes the <i>magic powers</i> that represent the authority given to
the process as a whole by the host OS. (For conventional ACL-based OSes,
this is normally all the authority associated with the user-account running
the program.) This is called the <i>privileged scope</i>, and is analogous
to the set of capabilities provided to the start program of the KeyKOS
Big Bang. An example is "<code>file__uriGetter</code>", used
in the expansion of the "<code><file:...></code>" syntax,
which provides all the process's access to the host file system.</p>
<p>Code in "<code>*.emaker</code>" files evaluate in a scope which
provides no authority, the <i>universal scope</i>. The only objects in
the universal scope are clearly harmless ones such as "<code>true</code>",
but not "<code>file__uriGetter</code>". The code in a "*.emaker"
file evaluates to an <i>emaker</i>. This must happen under constraints
which prevent the emaker from having and mutable state -- an emaker should
be transitively immutable. The reason these are <code><i>emaker</i></code><i>s</i>
is that these objects, having no authority or mutable state, are not generally
very useful except for making other objects -- their <i>yield</i>. The
messages asking an emakers to make its yield carries, as arguments, the
authorities the yield should use. The emaker itself, lacking mutable state,
cannot retain the provided authorities. The emaker, lacking mutable state,
also cannot enable its separately-made yield to communicate. The emaker
functions much like a KeyKOS <i><a href="../../elib/capability/factory.html">Factory</a></i>,
and its yield are born <a href="../../elib/capability/confinement.html"><i>confined</i></a>.</p>
<p> </p>
<h2><a name="Hydro"></a>Hydro</h2>
<h2><a name="sml"></a>Minimal XML Support</h2>
<h3><a name="sml-dom"></a>Minimal XML DOM Tree</h3>
<h3><a name="sml-quasi"></a>Minimal XML QuasiParser</h3>
<h2><a name="conform"></a>Closer Conformance to the Kernel-E Spec</h2>
<ul>
<li><b></b></li>
<li>Experimental bundling of the Waterken <a href="release-notes.html#Hydro">Hydro</a>
capability-oriented collection library </li>
<li>New Minimal-XML <a href="release-notes.html#sml-dom">DOM tree</a>
and <a href="release-notes.html#sml-quasi">QuasiParser</a></li>
<li><a href="release-notes.html#conform">Closer conformace</a> to the
Kernel E spec</li>
<li>Concurrency improvements
<ul>
<li>Extended when-catch syntax</li>
<li>Extensible Promise architecture</li>
<li>The <i>Dead Man Switch</i></li>
</ul>
</li>
<li>Improvements to the "<code>e</code>" driver program</li>
<li>Syntax changes, including
<ul>
<li>a lighter-weight syntax for anonymous closures.</li>
<li>"<code>typedef</code>" for describing object protocols</li>
</ul>
</li>
<li>And, as always, various terminology changes</li>
</ul>
<p> </p>
<p>
<ul>
<li>Support for locally untrusted code (in *.emaker files)</li>
<li>New naming conventions
<ul>
<li>Observer pattern
<ul>
<li>Observer/Listener -> Reactor</li>
<li>whenFooDone(reactor), when reactor is only told once</li>
<li>addFooDoneReactor(reactor) / removeFooDoneReactor(reactor)
when it's told repeatedly</li>
<li>reactor <- reactToFooDone(...) to let it know</li>
</ul>
</li>
<li>Reference resolution states
<ul>
<li>fooPromise</li>
<li>farFoo</li>
<li>promiseFoo()</li>
</ul>
</li>
<li>New names in Universal Scope (for *.emaker files)
<ul>
<li>pbc</li>
<li>sml`..`</li>
</ul>
</li>
<li>New names in Privileged Scope (for *.e files)
<ul>
<li><unsafe:...></li>
<li><swing:...></li>
<li><awt:...></li>
<li>stderr (it already had stdout)</li>
</ul>
</li>
</ul>
</li>
<li>Improved concurrency abstractions in new "ref" package
<ul>
<li>RefHandler supports user-level writing of CapTP</li>
<li>New whenResolved and whenBroken suppresses multi-returns</li>
<li>New reactToLostClient for DeadManSwitch functionality</li>
</ul>
</li>
<li>Experimental bundling of Waterken's Hydro library of capability-oriented
collection classes.</li>
<li> Minimal-XML quasi-parser and DOM trees.</li>
<li>Improved system of guards and types
<ul>
<li>guard rejection now causes match failure rather than throwing</li>
<li>TypeDescs describe protocols</li>
</ul>
</li>
<li>Syntax changes:
<ul>
<li>Extended multi-when-catch construct for gathering answers</li>
<li>"typedef" for making TypeDescs</li>
<li>Tyler's plurals on right side of operators</li>
<li>More liberal declaration syntax
<ul>
<li>"any" instead of "_" for region formation</li>
<li>:prim vs :order</li>
<li>function definitions now restricted to oNames</li>
</ul>
</li>
<li>Lighter weight closure syntax using "_"</li>
</ul>
</li>
<li>"e" driver improvements
<ul>
<li>"--pre" vs "-classpath"</li>
<li>Parameterized by eprops.txt</li>
</ul>
</li>
</ul>
<P ALIGN="left">
<!-- #EndEditable --></TD>
<TD WIDTH="10%"> </TD>
</TR>
<TR VALIGN="TOP">
<TD WIDTH="10%"> </TD>
<TD>
<hr>
<div align="center">
<table cellpadding="4" cellspacing="0">
<tr>
<td>
<div align="left"><a href="../../index.html"><img src="../../images/e-lambda.gif" width="32" height="32" border="0" valign="center" alt="ERights Home"></a></div>
</td>
<td>
<table border="3" align="center" cellpadding="6" cellspacing="3">
<tr>
<td>
<div align="center"><font size="-1"><a href="../../elib/index.html">ELib</a>
<a href="../../elang/index.html">E Language</a>
<a href="../../smart-contracts/index.html">Smart
Contracts</a> <a href="../../related.html">Related</a>
</font></div>
</td>
</tr>
<tr>
<td>
<div align="center"><font size="-1"><a href="../index.html">Download</a>
<a href="http://mumble.net/e/faq.html">FAQ</a>
<a href="../../javadoc/index.html">API</a>
<a href="http://www.eros-os.org/pipermail/e-lang/">Mail
Archive</a> <a href="../../donate.html">Donate</a></font></div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td><i><a href="mailto:webmaster@erights.org">webmaster@erights.org</a></i>
<br>
or <a href="https://bugs.sieve.net/bugs/?func=addbug&group_id=16380"><i>report
bug</i></a><br>
or <a href="http://www.blindpay.com/crit-me-now.cgi"><img src="../../images/cmn.gif" width="98" height="21" border="0" align="middle" alt="Annotate this page"></a>
</td>
<td>
<div align="right">
<p><a href="http://www.epic.org/crypto/"><img src="../../images/key.gif" width="37" height="19" alt="Golden Key Campaign" border="0"></a> <a href="http://www.eff.org/br/"><img src="../../images/ribbon.gif" width="18" height="30"
alt="Blue Ribbon Campaign" border="0"></a><br>
<a href="http://www.freesklyarov.org/"><i>Free Dimitry!</i></a></p>
</div>
</td>
</tr>
</table>
</div>
</TD>
<TD WIDTH="10%" valign="bottom"> </TD>
</TR>
</TABLE>
</BODY>
<!-- #EndTemplate --></HTML>
1.1 e/doc/download/0-8-10delta/unix-bin.html
Index: unix-bin.html
===================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!--last modified on Saturday, October 03, 1998 04:19 PM -->
<HTML><!-- #BeginTemplate "/Templates/pink.dwt" -->
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=iso-8859-1">
<!-- #BeginEditable "doctitle" -->
<TITLE>E 0.8.10delta1: Installing on Unixoids</TITLE>
<!-- #EndEditable -->
<meta name="Author" content="Mark S. Miller">
<link rel=author rev=made href="mailto:markm@caplet.com" title="Mark S. Miller">
<META NAME="description" CONTENT="E: Cryptographic Capabilities for Distributed Smart Contracting">
<META NAME="keywords" CONTENT="p2p, p2p language, p2p computing, p2p objects, secure p2p, p2p capabilities, object oriented p2p,
capability-based p2p, Capability Security, Capabilities, Cryptography, Distributed Objects, Distributed
Language, Distributed Capabilities, Lambda Calculus, Scripting Language, Distributed Language, Persistent
Language, Persistent Capabilities, Persistent Objects, Java Shell, Capability Shell, Scripting Java, Smart
Contracting, Agoric E-Commerce, Open Source, Message pipelining, quasi literal, vat, event loop, granovetter diagram ">
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFEEDD" LINK="#0000FF" VLINK="#800080">
<P>
<TABLE BORDER="0" width="100%">
<TR VALIGN="TOP">
<TD WIDTH="10%"> </TD>
<TD>
<P>
<TABLE BORDER="0" WIDTH="100%">
<TR>
<TD ALIGN="LEFT" valign="top">
<table cellpadding="2">
<tr>
<td valign="top" align="left" colspan="3"><a href="../../index.html"><img src="../../images/e-lambda.gif" width="32" height="32" border="0" valign="center" alt="ERights Home"></a>
<!-- #BeginEditable "Path" -->/ <a href="../index.html">download</a> / <a href="index.html">0-8-10delta</a> <!-- #EndEditable --></td>
</tr>
<tr>
<td valign="top" align="right"><!-- #BeginEditable "PrevButton" --><a href="windows-src.html"><img src="../../images/prev.gif" width="64" height="32" alt="Back to: E 0.8.10delta1: Building on Windows" border="0"></a><!-- #EndEditable --></td>
<td valign="bottom" align="left"><!-- #BeginEditable "FirstButton" --><!-- #EndEditable --></td>
<td valign="top" align="left"><!-- #BeginEditable "NextButton" --><a href="unix-src.html"><img src="../../images/next.gif" width="64" height="32" alt="On to: E 0.8.10delta1: Building on Unixoids" border="0"></a><!-- #EndEditable --></td>
</tr>
</table>
</TD>
<TD ALIGN="RIGHT">
<P ALIGN="RIGHT"><FONT SIZE="7"><!-- #BeginEditable "BigTitle" --><FONT SIZE="7"><B>Installing
</B><font size="7"><font size="7"><i><font color="#009000"><b>E</b></font></i></font><b></b><b>
0.8.10delta1</b></font><B><br>
on Unix-Like Platforms</B></FONT><!-- #EndEditable --></FONT>
</TD>
</TR>
</TABLE>
<hr>
<!-- #BeginEditable "LongBody" -->
<h1>Installing The Java Runtime</h1>
<p>We recommend these:</p>
<div align="center">
<table cellpadding="12" border="2">
<tr>
<td>
<div align="center"></div>
</td>
<th>
<div align="center">jre</div>
</th>
<th>
<div align="center">jdk</div>
</th>
</tr>
<tr>
<th>
<div align="center"><b>Linux</b></div>
</th>
<td>
<div align="center"><a href="http://www.blackdown.org/java-linux/mirrors.html">blackdown.org<br>
</a><a href="http://java.sun.com/j2se/1.3/jre/download-linux.html">sun</a>
</div>
</td>
<td>
<div align="center"><a href="http://www.blackdown.org/java-linux/mirrors.html">blackdown.org<br>
</a><a href="http://java.sun.com/j2se/1.3/download-linux.html">sun</a>
</div>
</td>
</tr>
<tr>
<th>
<div align="center">Solaris</div>
</th>
<td>
<div align="center"><a href="http://www.sun.com/software/solaris/jre/download.html">jre
1.3.x</a></div>
</td>
<td>
<div align="center"><a href="http://www.sun.com/software/solaris/java/download.html">jdk
1.3.x</a></div>
</td>
</tr>
</table>
</div>
<h1>Installing E</h1>
<p>Unpack E into the directory in which you wish it to be installed. Please
read the README.txt file and follow the instrustions. When you're done,
you should have an "<code>eprops.txt</code>" file (E configuration
preferences) and an "<code>e</code>" file (a bash driver script).
For reference, here are my "<a href="eprops.txt"><code><b>eprops.txt</b></code></a>"
and "<a href="e.txt"><code><b>e</b></code></a>" files after
I tried to get these to work on my system. When you try to run the "<code>e</code>"
driver from a bash shell, or similarly, when you try to run a *.e file
as an executable, if you see the error</p>
<p>
<blockquote>
<pre>declare: unknown option: `-a'
</pre>
</blockquote>
<p></p>
<p>this means your version of bash is too old. You should upgrade. To check
your bash version, type</p>
<p>
<blockquote>
<pre>$ echo $BASH_VERSION</pre>
</blockquote>
<p>to your bash shell. You'll need a bash >= 2.01.</p>
<p>In the meantime, you can ignore the "e" driver script and invoke
<code>java</code> yourself. Let's say you installed E in the directory
"<code>/ehome</code>" and you want to run the "<code>elmer.e</code>"
script:</p>
<p>
<blockquote>
<pre>$ java -jar -De.home=/ehome /ehome/e.jar /ehome/scripts/elmer.e</pre>
</blockquote>
<p></p>
<p>Once you have the appropriate version of bash, and if you put /ehome/scripts
on your PATH, you'll instead be able to simply say</p>
<p>
<blockquote>
<pre>$ elmer.e</pre>
</blockquote>
<p></p>
<p>and get the same effect. Or, you can manually invoke E without any scripts
in order to get an E shell:</p>
<div align="center"></div>
<p>
<blockquote>
<pre>$ java -jar -De.home=/ehome /ehome/e.jar
? <b>2 + 3</b>
# value: 5
? <b><i>//<Ctrl-D></i></b></pre>
</blockquote>
<p>That last line indicates that you can exit the E command line interpreter
by typing the Control-D character, as with many other Unix programs.</p>
<p>You should now proceed to the <a href="../../elang/intro/index.html">E
Tutorial</a>.</p>
<h1> </h1>
<!-- #EndEditable --></TD>
<TD WIDTH="10%"> </TD>
</TR>
<TR VALIGN="TOP">
<TD WIDTH="10%"> </TD>
<TD>
<hr>
<div align="center">
<table cellpadding="4" cellspacing="0">
<tr>
<td>
<div align="left"><a href="../../index.html"><img src="../../images/e-lambda.gif" width="32" height="32" border="0" valign="center" alt="ERights Home"></a></div>
</td>
<td>
<table border="3" align="center" cellpadding="6" cellspacing="3">
<tr>
<td>
<div align="center"><font size="-1"><a href="../../elib/index.html">ELib</a>
<a href="../../elang/index.html">E Language</a>
<a href="../../smart-contracts/index.html">Smart
Contracts</a> <a href="../../related.html">Related</a>
</font></div>
</td>
</tr>
<tr>
<td>
<div align="center"><font size="-1"><a href="../index.html">Download</a>
<a href="http://mumble.net/e/faq.html">FAQ</a>
<a href="../../javadoc/index.html">API</a>
<a href="http://www.eros-os.org/pipermail/e-lang/">Mail
Archive</a> <a href="../../donate.html">Donate</a></font></div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td><i><a href="mailto:webmaster@erights.org">webmaster@erights.org</a></i>
<br>
or <a href="https://bugs.sieve.net/bugs/?func=addbug&group_id=16380"><i>report
bug</i></a><br>
or <a href="http://www.blindpay.com/crit-me-now.cgi"><img src="../../images/cmn.gif" width="98" height="21" border="0" align="middle" alt="Annotate this page"></a>
</td>
<td>
<div align="right">
<p><a href="http://www.epic.org/crypto/"><img src="../../images/key.gif" width="37" height="19" alt="Golden Key Campaign" border="0"></a> <a href="http://www.eff.org/br/"><img src="../../images/ribbon.gif" width="18" height="30"
alt="Blue Ribbon Campaign" border="0"></a><br>
<a href="http://www.freesklyarov.org/"><i>Free Dimitry!</i></a></p>
</div>
</td>
</tr>
</table>
</div>
</TD>
<TD WIDTH="10%" valign="bottom"> </TD>
</TR>
</TABLE>
</BODY>
<!-- #EndTemplate --></HTML>
1.1 e/doc/download/0-8-10delta/unix-src.html
Index: unix-src.html
===================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!--last modified on Saturday, October 03, 1998 04:19 PM -->
<HTML><!-- #BeginTemplate "/Templates/pink.dwt" -->
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=iso-8859-1">
<!-- #BeginEditable "doctitle" -->
<TITLE>E 0.8.10delta1: Building on Unixoids</TITLE>
<!-- #EndEditable -->
<meta name="Author" content="Mark S. Miller">
<link rel=author rev=made href="mailto:markm@caplet.com" title="Mark S. Miller">
<META NAME="description" CONTENT="E: Cryptographic Capabilities for Distributed Smart Contracting">
<META NAME="keywords" CONTENT="p2p, p2p language, p2p computing, p2p objects, secure p2p, p2p capabilities, object oriented p2p,
capability-based p2p, Capability Security, Capabilities, Cryptography, Distributed Objects, Distributed
Language, Distributed Capabilities, Lambda Calculus, Scripting Language, Distributed Language, Persistent
Language, Persistent Capabilities, Persistent Objects, Java Shell, Capability Shell, Scripting Java, Smart
Contracting, Agoric E-Commerce, Open Source, Message pipelining, quasi literal, vat, event loop, granovetter diagram ">
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFEEDD" LINK="#0000FF" VLINK="#800080">
<P>
<TABLE BORDER="0" width="100%">
<TR VALIGN="TOP">
<TD WIDTH="10%"> </TD>
<TD>
<P>
<TABLE BORDER="0" WIDTH="100%">
<TR>
<TD ALIGN="LEFT" valign="top">
<table cellpadding="2">
<tr>
<td valign="top" align="left" colspan="3"><a href="../../index.html"><img src="../../images/e-lambda.gif" width="32" height="32" border="0" valign="center" alt="ERights Home"></a>
<!-- #BeginEditable "Path" -->/ <a href="../index.html">download</a> / <a href="index.html">0-8-10delta</a> <!-- #EndEditable --></td>
</tr>
<tr>
<td valign="top" align="right"><!-- #BeginEditable "PrevButton" --><a href="unix-bin.html"><img src="../../images/prev.gif" width="64" height="32" alt="Back to: E 0.8.10delta1: Installing on Unixoids" border="0"></a><!-- #EndEditable --></td>
<td valign="bottom" align="left"><!-- #BeginEditable "FirstButton" --><!-- #EndEditable --></td>
<td valign="top" align="left"><!-- #BeginEditable "NextButton" --><img src="../../images/next-gray.gif" width="64" height="32"><!-- #EndEditable --></td>
</tr>
</table>
</TD>
<TD ALIGN="RIGHT">
<P ALIGN="RIGHT"><FONT SIZE="7"><!-- #BeginEditable "BigTitle" --><FONT SIZE="7"><B>Building
</B><font size="7"><font size="7"><font size="7"><i><font color="#009000"><b>E</b></font></i></font><b></b><b>
0.8.10delta1</b></font></font><B><br>
on </B><font size="7"><b>Unix-Like Platforms</b></font></FONT><!-- #EndEditable --></FONT>
</TD>
</TR>
</TABLE>
<hr>
<!-- #BeginEditable "LongBody" -->
<h1>Installing The Java Runtime</h1>
<p>We recommend these:</p>
<div align="center">
<table cellpadding="12" border="2">
<tr>
<td>
<div align="center"></div>
</td>
<th>
<div align="center">jdk</div>
</th>
</tr>
<tr>
<th>
<div align="center"><b>Linux</b></div>
</th>
<td>
<div align="center"><a href="http://www.blackdown.org/java-linux/mirrors.html">blackdown.org<br>
</a><a href="http://java.sun.com/j2se/1.3/download-linux.html">sun</a>
</div>
</td>
</tr>
<tr>
<th>
<div align="center">Solaris</div>
</th>
<td>
<div align="center"><a href="http://www.sun.com/software/solaris/java/download.html">jdk
1.3.x</a></div>
</td>
</tr>
</table>
</div>
<h1>Building E</h1>
<p>Unpack <a href="E-src-0.8.10delta1.tar.gz">this</a> into a directory, cd
into "<code>e/src</code>" and say "<code>make</code>".
Then proceed to the <a href="unix-bin.html">installation instructions</a>,
treating <code><directory>/export/dist</code> as the <code>EHOME</code>.</p>
<!-- #EndEditable --></TD>
<TD WIDTH="10%"> </TD>
</TR>
<TR VALIGN="TOP">
<TD WIDTH="10%"> </TD>
<TD>
<hr>
<div align="center">
<table cellpadding="4" cellspacing="0">
<tr>
<td>
<div align="left"><a href="../../index.html"><img src="../../images/e-lambda.gif" width="32" height="32" border="0" valign="center" alt="ERights Home"></a></div>
</td>
<td>
<table border="3" align="center" cellpadding="6" cellspacing="3">
<tr>
<td>
<div align="center"><font size="-1"><a href="../../elib/index.html">ELib</a>
<a href="../../elang/index.html">E Language</a>
<a href="../../smart-contracts/index.html">Smart
Contracts</a> <a href="../../related.html">Related</a>
</font></div>
</td>
</tr>
<tr>
<td>
<div align="center"><font size="-1"><a href="../index.html">Download</a>
<a href="http://mumble.net/e/faq.html">FAQ</a>
<a href="../../javadoc/index.html">API</a>
<a href="http://www.eros-os.org/pipermail/e-lang/">Mail
Archive</a> <a href="../../donate.html">Donate</a></font></div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td><i><a href="mailto:webmaster@erights.org">webmaster@erights.org</a></i>
<br>
or <a href="https://bugs.sieve.net/bugs/?func=addbug&group_id=16380"><i>report
bug</i></a><br>
or <a href="http://www.blindpay.com/crit-me-now.cgi"><img src="../../images/cmn.gif" width="98" height="21" border="0" align="middle" alt="Annotate this page"></a>
</td>
<td>
<div align="right">
<p><a href="http://www.epic.org/crypto/"><img src="../../images/key.gif" width="37" height="19" alt="Golden Key Campaign" border="0"></a> <a href="http://www.eff.org/br/"><img src="../../images/ribbon.gif" width="18" height="30"
alt="Blue Ribbon Campaign" border="0"></a><br>
<a href="http://www.freesklyarov.org/"><i>Free Dimitry!</i></a></p>
</div>
</td>
</tr>
</table>
</div>
</TD>
<TD WIDTH="10%" valign="bottom"> </TD>
</TR>
</TABLE>
</BODY>
<!-- #EndTemplate --></HTML>
1.1 e/doc/download/0-8-10delta/windows-bin.html
Index: windows-bin.html
===================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!--last modified on Saturday, October 03, 1998 04:19 PM -->
<HTML><!-- #BeginTemplate "/Templates/pink.dwt" -->
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=iso-8859-1">
<!-- #BeginEditable "doctitle" -->
<TITLE>E 0.8.10delta1: Installing on Windows</TITLE>
<!-- #EndEditable -->
<meta name="Author" content="Mark S. Miller">
<link rel=author rev=made href="mailto:markm@caplet.com" title="Mark S. Miller">
<META NAME="description" CONTENT="E: Cryptographic Capabilities for Distributed Smart Contracting">
<META NAME="keywords" CONTENT="p2p, p2p language, p2p computing, p2p objects, secure p2p, p2p capabilities, object oriented p2p,
capability-based p2p, Capability Security, Capabilities, Cryptography, Distributed Objects, Distributed
Language, Distributed Capabilities, Lambda Calculus, Scripting Language, Distributed Language, Persistent
Language, Persistent Capabilities, Persistent Objects, Java Shell, Capability Shell, Scripting Java, Smart
Contracting, Agoric E-Commerce, Open Source, Message pipelining, quasi literal, vat, event loop, granovetter diagram ">
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFEEDD" LINK="#0000FF" VLINK="#800080">
<P>
<TABLE BORDER="0" width="100%">
<TR VALIGN="TOP">
<TD WIDTH="10%"> </TD>
<TD>
<P>
<TABLE BORDER="0" WIDTH="100%">
<TR>
<TD ALIGN="LEFT" valign="top">
<table cellpadding="2">
<tr>
<td valign="top" align="left" colspan="3"><a href="../../index.html"><img src="../../images/e-lambda.gif" width="32" height="32" border="0" valign="center" alt="ERights Home"></a>
<!-- #BeginEditable "Path" -->/ <a href="../index.html">download</a> / <a href="index.html">0-8-10delta</a> <!-- #EndEditable --></td>
</tr>
<tr>
<td valign="top" align="right"><!-- #BeginEditable "PrevButton" --><img src="../../images/prev-gray.gif" width="64" height="32"><!-- #EndEditable --></td>
<td valign="bottom" align="left"><!-- #BeginEditable "FirstButton" --><!-- #EndEditable --></td>
<td valign="top" align="left"><!-- #BeginEditable "NextButton" --><a href="windows-src.html"><img src="../../images/next.gif" width="64" height="32" alt="On to: E 0.8.10delta1: Building on Windows" border="0"></a><!-- #EndEditable --></td>
</tr>
</table>
</TD>
<TD ALIGN="RIGHT">
<P ALIGN="RIGHT"><FONT SIZE="7"><!-- #BeginEditable "BigTitle" --><FONT SIZE="7"><B>Installing
</B><font size="7"><i><font color="#009000"><b>E</b></font></i></font><b></b><B>
0.8.10delta1<br>
on Windows</B></FONT><!-- #EndEditable --></FONT>
</TD>
</TR>
</TABLE>
<hr>
<!-- #BeginEditable "LongBody" -->
<h1>Installing The Java Runtime</h1>
<p>We recommend these:</p>
<div align="center">
<table cellpadding="12" border="2">
<tr>
<td>
<div align="center"></div>
</td>
<th>
<div align="center">jre</div>
</th>
<th>
<div align="center">jdk</div>
</th>
</tr>
<tr>
<th>
<div align="center"><b>Win95/98/NT</b> </div>
</th>
<td>
<div align="center"><a href="http://java.sun.com/j2se/1.3/jre/download-windows.html">jre
1.3.x</a></div>
</td>
<td>
<div align="center"><a href="http://java.sun.com/j2se/1.3/download-windows.html">jdk
1.3.x</a></div>
</td>
</tr>
</table>
</div>
<p>See the <a href="index.html#dependencies">Dependencies</a> section for
information on obtaining an appropriate version of Java.</p>
<h1>Installing <font color="#009000"><em>E</em></font></h1>
<p> <font color="#009000"><em></em></font>We do not yet have an uninstaller.
If you have installed a previous version of E, you probably should remove
the directories "<code>c:/erights.org</code>" and "<code>c:/Windows/Start Menu/Programs/erights.org</code>",
and the file "<code>C:/usr/local/bin/e.exe</code>". (If you
have no other use for the directory "<code>C:/usr</code>", as
is likely, you should remove it as well.)</p>
<p>For MSWindows users, we recommend downloading the <a href="E-win32-0.8.10delta1.zip">zip
of E</a> binary distribution.</p>
<p>Unpack the distribution into the directory you wish to install it into,
such as "<code>c:/Program Files/erights.org</code>" and read
the <code>README.txt</code> file you'll find there. If you're feeling
lucky, try just double clicking on the <code>e.jar</code>.file. If this
doesn't work, see the README.txt file for more information, or check this
page again for more news. If you succeed, at the end of the install you
should see a box like</p>
<div align="center">
<table border="2" cellpadding="4" bgcolor="#C0C0C0">
<tr bgcolor="#3333FF">
<td>
<div align="center"><font color="#FFFFFF"><b>Welcome to E 0.8.10delta1</b></font></div>
</td>
</tr>
<tr bgcolor="#CCCCCC">
<td>
<div align="center">E is installed
<table border="2">
<tr bgcolor="#FFFFFF">
<td>OK</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
<p> </p>
<p>Once this is done, you can start <font color="#009000"><em><b>E</b></em></font>
from your desktop or start menu (under "Programs >> erights.org")
by selecting either the<b><code> <img src="../../images/e-lambda.gif" width="32" height="32" align="middle">
</code></b><code>("e")</code><b><code> </code></b> or the <code><b><img src="../../images/carrot.gif" width="32" height="32" align="middle"></b>("elmer</code><code>")</code>
shortcuts. See the <a href="../../elang/intro/index.html">E Tutorial</a>
to make progress from here.</p>
<!-- #EndEditable --></TD>
<TD WIDTH="10%"> </TD>
</TR>
<TR VALIGN="TOP">
<TD WIDTH="10%"> </TD>
<TD>
<hr>
<div align="center">
<table cellpadding="4" cellspacing="0">
<tr>
<td>
<div align="left"><a href="../../index.html"><img src="../../images/e-lambda.gif" width="32" height="32" border="0" valign="center" alt="ERights Home"></a></div>
</td>
<td>
<table border="3" align="center" cellpadding="6" cellspacing="3">
<tr>
<td>
<div align="center"><font size="-1"><a href="../../elib/index.html">ELib</a>
<a href="../../elang/index.html">E Language</a>
<a href="../../smart-contracts/index.html">Smart
Contracts</a> <a href="../../related.html">Related</a>
</font></div>
</td>
</tr>
<tr>
<td>
<div align="center"><font size="-1"><a href="../index.html">Download</a>
<a href="http://mumble.net/e/faq.html">FAQ</a>
<a href="../../javadoc/index.html">API</a>
<a href="http://www.eros-os.org/pipermail/e-lang/">Mail
Archive</a> <a href="../../donate.html">Donate</a></font></div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td><i><a href="mailto:webmaster@erights.org">webmaster@erights.org</a></i>
<br>
or <a href="https://bugs.sieve.net/bugs/?func=addbug&group_id=16380"><i>report
bug</i></a><br>
or <a href="http://www.blindpay.com/crit-me-now.cgi"><img src="../../images/cmn.gif" width="98" height="21" border="0" align="middle" alt="Annotate this page"></a>
</td>
<td>
<div align="right">
<p><a href="http://www.epic.org/crypto/"><img src="../../images/key.gif" width="37" height="19" alt="Golden Key Campaign" border="0"></a> <a href="http://www.eff.org/br/"><img src="../../images/ribbon.gif" width="18" height="30"
alt="Blue Ribbon Campaign" border="0"></a><br>
<a href="http://www.freesklyarov.org/"><i>Free Dimitry!</i></a></p>
</div>
</td>
</tr>
</table>
</div>
</TD>
<TD WIDTH="10%" valign="bottom"> </TD>
</TR>
</TABLE>
</BODY>
<!-- #EndTemplate --></HTML>
1.1 e/doc/download/0-8-10delta/windows-src.html
Index: windows-src.html
===================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!--last modified on Saturday, October 03, 1998 04:19 PM -->
<HTML><!-- #BeginTemplate "/Templates/pink.dwt" -->
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=iso-8859-1">
<!-- #BeginEditable "doctitle" -->
<TITLE>E 0.8.10delta1: Building on Windows</TITLE>
<!-- #EndEditable -->
<meta name="Author" content="Mark S. Miller">
<link rel=author rev=made href="mailto:markm@caplet.com" title="Mark S. Miller">
<META NAME="description" CONTENT="E: Cryptographic Capabilities for Distributed Smart Contracting">
<META NAME="keywords" CONTENT="p2p, p2p language, p2p computing, p2p objects, secure p2p, p2p capabilities, object oriented p2p,
capability-based p2p, Capability Security, Capabilities, Cryptography, Distributed Objects, Distributed
Language, Distributed Capabilities, Lambda Calculus, Scripting Language, Distributed Language, Persistent
Language, Persistent Capabilities, Persistent Objects, Java Shell, Capability Shell, Scripting Java, Smart
Contracting, Agoric E-Commerce, Open Source, Message pipelining, quasi literal, vat, event loop, granovetter diagram ">
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFEEDD" LINK="#0000FF" VLINK="#800080">
<P>
<TABLE BORDER="0" width="100%">
<TR VALIGN="TOP">
<TD WIDTH="10%"> </TD>
<TD>
<P>
<TABLE BORDER="0" WIDTH="100%">
<TR>
<TD ALIGN="LEFT" valign="top">
<table cellpadding="2">
<tr>
<td valign="top" align="left" colspan="3"><a href="../../index.html"><img src="../../images/e-lambda.gif" width="32" height="32" border="0" valign="center" alt="ERights Home"></a>
<!-- #BeginEditable "Path" -->/ <a href="../index.html">download</a> / <a href="index.html">0-8-10delta</a> <!-- #EndEditable --></td>
</tr>
<tr>
<td valign="top" align="right"><!-- #BeginEditable "PrevButton" --><a href="windows-bin.html"><img src="../../images/prev.gif" width="64" height="32" alt="Back to: E 0.8.10delta1: Installing on Windows" border="0"></a><!-- #EndEditable --></td>
<td valign="bottom" align="left"><!-- #BeginEditable "FirstButton" --><!-- #EndEditable --></td>
<td valign="top" align="left"><!-- #BeginEditable "NextButton" --><a href="unix-bin.html"><img src="../../images/next.gif" width="64" height="32" alt="On to: E 0.8.10delta1: Installing on Unixoids" border="0"></a><!-- #EndEditable --></td>
</tr>
</table>
</TD>
<TD ALIGN="RIGHT">
<P ALIGN="RIGHT"><FONT SIZE="7"><!-- #BeginEditable "BigTitle" --><FONT SIZE="7"><B>Building
</B><font size="7"><font size="7"><i><font color="#009000"><b>E</b></font></i></font><b></b><b>
0.8.10delta1</b></font><B><br>
on Windows</B></FONT><!-- #EndEditable --></FONT>
</TD>
</TR>
</TABLE>
<hr>
<!-- #BeginEditable "LongBody" -->
<h1><a name="jdk"></a>Installing a Development Environment</h1>
<p>We recommend:</p>
<div align="center">
<table cellpadding="12" border="2">
<tr>
<td>
<div align="center"></div>
</td>
<th>
<div align="center">jdk</div>
</th>
</tr>
<tr>
<th>
<div align="center"><b>Win95/98/NT</b> </div>
</th>
<td>
<div align="center"><a href="http://java.sun.com/j2se/1.3/download-windows.html">jdk
1.3.x</a></div>
</td>
</tr>
</table>
</div>
<p>See the <a href="index.html#dependencies">Dependencies</a> section for
information on obtaining appropriate versions of a JDK, the Cygwin environment,
the BYacc/J parser generator, and the zipping tools.</p>
<h1><a name="src"></a>The <font color="#009000"><em>E</em></font> Source
Distribution</h1>
<p>For Windows users, we recommend downloading the <a href="E-src-0.8.10delta1.zip">zip
of E</a> source distribution. </p>
<h2><a name="compile"></a>Compilation Notes</h2>
<p>There are still some deprecated methods used in this release. You can
safely ignore these warnings for now.</p>
<h2><a name="make"></a>Building from Makefiles</h2>
<p>To build the release, <tt>cd</tt> to the <tt>e/src</tt> directory and
type <tt>make</tt>. Be sure that "<code>cygwin/bin</code>" is
on your PATH ahead of Windows directories, like "<code>C:/WINDOWS/COMMAND</code>".
In particular, some have had problems finding the wrong "<code>make.exe</code>"
and "<code>find.exe</code>". Be sure the version of both of
these found on your PATH are the ones in "<code>cygwin/bin</code>".</p>
<h2><a name="ide"></a>Building in a Java IDE</h2>
<p> <font color="#009000"><em><b>E</b></em></font> itself is a pure Java
program. If you don't need to rebuild the installation tools, you can
happily develop <font color="#009000"><em><b>E</b></em></font> using a
Java-only development environment, such as Symantec's Visual Cafe (>=
4.1 Standard Edition). For concreteness, and because it's what I use,
I'll explain how to build a Cafe project for <font color="#009000"><em><b>E</b></em></font>,
but users of other development environments should easily see how to do
likewise in their system. The following instructions assume that you unpack
your sources into "<code>d:/e/src</code>", and that you install
into "<code>c:/Program Files/erights.org</code>".</p>
<p>To start with, create a "New Project". For a project type,
select "Empty Project" since we don't want it generating new
source files for us. Select "Project Options". Under the "Project"
tab, deselect "Enable RAD for New Files" since this is needless
overhead for us. The "Project Type" should be "Application
- A program that requires a java.exe to run".</p>
<p>For the "<code>Ma