Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Documentation rework #49

Merged
merged 4 commits into from

2 participants

Francesco Ceccon Bruce Mitchener
Francesco Ceccon
Owner

I changed the documentation to use the new style introduced with the community page. Then changed the publications page to be consistent with the other pages.

I will reorder the documentation sections soon™.

fracek added some commits
Francesco Ceccon fracek Use sidebar navigation on documentation page
This commit is a first iteration of a reorganization of the documentation
page.
dc9b1dc
Francesco Ceccon fracek Use definition style on documentation page
Replace the old quotes style (gray bars) with the new definiton
(no gray bars) style for text blocks.
9f56926
Francesco Ceccon fracek Add 3 publications to the documentation page 968ca5b
Francesco Ceccon fracek Convert the publications page to the new style
Change the old quote style to the new style.
45700e6
Bruce Mitchener waywardmonkeys merged commit 292f0a6 into from
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Mar 10, 2013
  1. Francesco Ceccon

    Use sidebar navigation on documentation page

    fracek authored
    This commit is a first iteration of a reorganization of the documentation
    page.
Commits on Mar 17, 2013
  1. Francesco Ceccon

    Use definition style on documentation page

    fracek authored
    Replace the old quotes style (gray bars) with the new definiton
    (no gray bars) style for text blocks.
  2. Francesco Ceccon
  3. Francesco Ceccon

    Convert the publications page to the new style

    fracek authored
    Change the old quote style to the new style.
This page is out of date. Refresh to see the latest.
Showing with 104 additions and 122 deletions.
  1. +95 −75 source/documentation/index.rst
  2. +9 −47 source/documentation/publications.rst
170 source/documentation/index.rst
View
@@ -1,3 +1,19 @@
+.. raw:: html
+
+ <div class="row">
+ <div class="span3 bs-docs-sidebar">
+ <ul class="nav nav-list bs-docs-sidenav" data-spy="affix">
+ <li><a href="#learning-dylan"><i class="icon-chevron-right"></i> Learning Dylan</a></li>
+ <li><a href="#articles"><i class="icon-chevron-right"></i> Articles</a></li>
+ <li><a href="#publications"><i class="icon-chevron-right"></i> Publications</a></li>
+ <li><a href="#cheat-sheets"><i class="icon-chevron-right"></i> Cheat Sheets</a></li>
+ <li><a href="#references"><i class="icon-chevron-right"></i> References</a></li>
+ <li><a href="#for-open-dylan-developers"><i class="icon-chevron-right"></i> For Open Dylan Developers</a></li>
+ <li><a href="#archived-documentation"><i class="icon-chevron-right"></i> Archived Documentation</a></li>
+ </ul>
+ </div>
+ <div class="span9">
+
*************
Documentation
*************
@@ -8,12 +24,10 @@ Documentation
in the near future.
:class: alert alert-block alert-warning
-.. raw:: html
+Learning Dylan
+==============
- <div class="row">
- <div class="span6">
-
- <h2>Learning Dylan</h2>
+.. raw:: html
<div class="alert alert-block alert-success">
<p>Just getting started with Open Dylan? We recommend that
@@ -23,43 +37,29 @@ Documentation
book.</p>
</div>
-`An Introduction to Dylan <intro-dylan/index.html>`_
-[`pdf <intro-dylan/IntroductiontoDylan.pdf>`__]
-[`epub <intro-dylan/AnIntroductiontoDylan.epub>`__]
-
+`An Introduction to Dylan <intro-dylan/index.html>`_ [`pdf <intro-dylan/IntroductiontoDylan.pdf>`__] [`epub <intro-dylan/AnIntroductiontoDylan.epub>`__]
This tutorial is written primarily for those with solid programming
experience in C++ or another object-oriented, static language. It
provides a gentler introduction to Dylan than does the Dylan Reference
Manual (DRM).
-`Dylan Programming <http://opendylan.org/books/dpg/>`_
-[`pdf <http://opendylan.org/books/dpg/DylanProgramming.pdf>`__]
-[`epub <http://opendylan.org/books/dpg/DylanProgramming.epub>`__]
-
+`Dylan Programming <http://opendylan.org/books/dpg/>`_ [`pdf <http://opendylan.org/books/dpg/DylanProgramming.pdf>`__] [`epub <http://opendylan.org/books/dpg/DylanProgramming.epub>`__]
A good, book length Dylan tutorial by several Harlequin employees.
-`Getting Started with Open Dylan <getting-started/index.html>`_
-[`pdf <getting-started/GettingStartedWithOpenDylan.pdf>`__]
-[`epub <getting-started/GettingStartedWithOpenDylan.epub>`__]
-[`old HTML <http://opendylan.org/documentation/opendylan/env/index.htm>`__]
-
+`Getting Started with Open Dylan <getting-started/index.html>`_ [`pdf <getting-started/GettingStartedWithOpenDylan.pdf>`__] [`epub <getting-started/GettingStartedWithOpenDylan.epub>`__] [`old HTML <http://opendylan.org/documentation/opendylan/env/index.htm>`__]
Describes Open Dylan's development environment. The first two
chapters are useful on any platform, whereas the remaining
chapters document the Open Dylan IDE on Windows.
-`Building Applications Using DUIM <building-with-duim/index.html>`_
-[`pdf <building-with-duim/BuildingApplicationsWithDUIM.pdf>`__]
-[`epub <building-with-duim/BuildingApplicationsWithDUIM.epub>`__]
-[`old HTML <http://opendylan.org/documentation/opendylan/dguide/index.htm>`__]
-
+`Building Applications Using DUIM <building-with-duim/index.html>`_ [`pdf <building-with-duim/BuildingApplicationsWithDUIM.pdf>`__] [`epub <building-with-duim/BuildingApplicationsWithDUIM.epub>`__] [`old HTML <http://opendylan.org/documentation/opendylan/dguide/index.htm>`__]
Describes how to use DUIM (Dylan User Interface Manager),
the portable window programming toolkit. This is only useful
if you are using Open Dylan on Windows.
-.. raw:: html
+Articles
+========
- <hr>
- <h2>Articles</h2>
+.. raw:: html
<div class="alert alert-block alert-info">
<p>Featured articles and blog postings.</p>
@@ -68,12 +68,10 @@ Documentation
<h3>Learning Dylan</h3>
`Dylan Macro System <../articles/macro-system/index.html>`_ by Dustin Voss.
-
This article holds hard-won knowledge about how the Dylan macro system works
and how to work around some of the gotchas that may catch a macro writer.
`Procedural Dylan <../articles/procedural-dylan/index.html>`_ by Paul Haahr.
-
This essay explores Dylan from the perspective of a programmer used to
traditional procedural languages, such as Pascal or C.
@@ -82,23 +80,64 @@ Documentation
<h3>Tools</h3>
`Development inside emacs using DIME <../news/2011/12/12/dswank.html>`_
-
An exciting look at using DIME and emacs for Dylan development.
-.. raw:: html
-
- <hr>
- <h2>Publications</h2>
-
-`See our publications page <publications.html>`_.
+Publications
+============
+
+**Extending Dylan's type system for better type inference and error detection** [`pdf <http://www.itu.dk/~hame/ilc2010.pdf>`__] [`bib <../_static/documentation/mehnert2010.bib>`__]
+ Whereas dynamic typing enables rapid prototyping and easy
+ experimentation, static typing provides early error detection and
+ better compile time optimization. Gradual typing provides the best
+ of both worlds. This paper shows how to define and implement
+ gradual typing in Dylan, traditionally a dynamically typed
+ language. Dylan poses several special challenges for gradual
+ typing, such as multiple return values, variable-arity methods and
+ generic functions (multiple dispatch).
+
+ In this paper Dylan is extended with function types and parametric
+ polymorphism. We implemented the type system and a
+ unification-based type inference algorithm in the mainstream Dylan
+ compiler. As case study we use the Dylan standard library (roughly
+ 32000 lines of code), which witnesses that the implementation
+ generates faster code with fewer errors. Some previously
+ undiscovered errors in the Dylan library were revealed.
+
+ https://dl.acm.org/citation.cfm?id=1869643.1869645
+
+**Partial Dispatch: Optimizing Dynamically-Dispatched Multimethod Calls with Compile-Time Types and Runtime Feedback** [`pdf <http://people.csail.mit.edu/jrb/Projects/pd.pdf>`__] [`bib <../_static/documentation/bachrach2000.bib>`__]
+ We presented an approach to gaining back complete class hierarchy
+ information by delaying the construction of dispatch caches until
+ the whole class hierarchy is available at run- time. Run-time
+ call-site caches can then be constructed as specialized decision
+ trees built from disjointness and concrete- subtype operations on
+ actual arguments combined with compile-time inferred types
+ injected into the run-time. Unnecessary decision steps can be
+ avoided and often run-time dispatch can be completely
+ eliminated. We consider this to be a nice half-way house between
+ full static compilation and dynamic compilation which mitigates
+ the runtime expense of separately compiled components while
+ satisfying our implementation constraints of code shareable
+ components, multi-threaded runtime, incremental development, “pay
+ as you go philosophy”, and interoperability with standard tools.
+
+**D-Expressions: Lisp Power, Dylan Style** [`pdf <http://people.csail.mit.edu/jrb/Projects/dexprs.pdf>`__] [`bib <../_static/documentation/bachrach1999.bib>`__]
+ This paper aims to demonstrate that it is possible for a language
+ with a rich, conventional syntax to provide Lisp-style macro power
+ and simplicity. We describe a macro system and syntax manipulation
+ toolkit designed for the Dylan programming language that meets,
+ and in some areas exceeds, this standard. The debt to Lisp is
+ great, however, since although Dylan has a conventional algebraic
+ syntax, the approach taken to describe and represent that syntax
+ is distinctly Lisp-like in philosophy.
+
+`See our publications page to find more <publications.html>`_.
+
+Cheat Sheets
+============
.. raw:: html
- </div>
- <div class="span6">
-
- <h2>Cheat Sheets</h2>
-
<div class="alert alert-block alert-info">
<p>Quick one-page sheets for common tasks.</p>
</div>
@@ -111,26 +150,20 @@ Documentation
* `Collections <cheatsheets/collections.html>`_
* `For Scheme programmers <cheatsheets/scheme.html>`_
-.. raw:: html
+References
+==========
- <hr>
- <h2>References</h2>
+.. raw:: html
<div class="alert alert-block alert-info">
<p>These are some lengthier reference materials. While they
make for dry reading, they're full of invaluable information!</p>
</div>
-`Dylan Reference Manual
-<http://opendylan.org/books/drm/>`_ (`Errata
-<http://opendylan.org/books/drm/drm_errata.html>`_)
-
+`Dylan Reference Manual <http://opendylan.org/books/drm/>`_ (`Errata <http://opendylan.org/books/drm/drm_errata.html>`_)
The official definition of the Dylan language and standard library.
-`Dylan Library Reference <library-reference/index.html>`_
-[`pdf <library-reference/DylanLibraryReference.pdf>`__]
-[`epub <library-reference/DylanLibraryReference.epub>`__]
-
+`Dylan Library Reference <library-reference/index.html>`_ [`pdf <library-reference/DylanLibraryReference.pdf>`__] [`epub <library-reference/DylanLibraryReference.epub>`__]
Describes the Open Dylan implementation of the Dylan language, a
core set of Dylan libraries, and a library interchange mechanism.
The core libraries provide many language extensions, a threads
@@ -141,17 +174,15 @@ Documentation
as a foreign function interface and some low-level access to the
Microsoft Win32 API.
-`DUIM library reference
-<http://opendylan.org/documentation/opendylan/dref/index.htm>`_
-
+`DUIM library reference <http://opendylan.org/documentation/opendylan/dref/index.htm>`_
Describes the libraries forming DUIM (Dylan User Interface Manager),
the portable window programming toolkit. It complements
Building Applications Using DUIM.
-.. raw:: html
+For Open Dylan Developers
+=========================
- <hr>
- <h2>For Open Dylan Developers</h2>
+.. raw:: html
<div class="alert alert-block alert-info">
<p>Notes and materials useful to those working on
@@ -159,29 +190,22 @@ Documentation
level details.</p>
</div>
-`Open Dylan Hacker's Guide <hacker-guide/index.html>`_
-[`pdf <hacker-guide/OpenDylanHackersGuide.pdf>`__]
-[`epub <hacker-guide/OpenDylanHackersGuide.epub>`__]
-
+`Open Dylan Hacker's Guide <hacker-guide/index.html>`_ [`pdf <hacker-guide/OpenDylanHackersGuide.pdf>`__] [`epub <hacker-guide/OpenDylanHackersGuide.epub>`__]
A work in progress to help out people who are hacking on Open Dylan itself.
-`Dylan Style Guide <style-guide/index.html>`_
-[`pdf <style-guide/StyleGuide.pdf>`__]
-[`epub <style-guide/StyleGuide.epub>`__]
-
+`Dylan Style Guide <style-guide/index.html>`_ [`pdf <style-guide/StyleGuide.pdf>`__] [`epub <style-guide/StyleGuide.epub>`__]
Notes and thoughts on how to format your Dylan code. This is the style
guide that we aspire to adhere to in the Open Dylan sources.
`Dylan Enhancement Proposals <../proposals/index.html>`_
-
A series of proposals for improvements to the Open Dylan
implementation and related libraries.
-.. raw:: html
+Archived Documentation
+======================
- <hr>
- <h2>Archived Documentation</h2>
+.. raw:: html
<div class="alert alert-block alert-warning">
<p>This is old documentation that we don't plan to
@@ -189,14 +213,10 @@ Documentation
material.</p>
</div>
-`Developing Component Software with CORBA
-<http://opendylan.org/documentation/opendylan/corba/index.htm>`_
-
+`Developing Component Software with CORBA <http://opendylan.org/documentation/opendylan/corba/index.htm>`_
A tutorial and reference for CORBA interoperability using the Open Dylan ORB.
-`OLE, COM, ActiveX and DBMS library reference
-<http://opendylan.org/documentation/opendylan/interop2/index.htm>`_
-
+`OLE, COM, ActiveX and DBMS library reference <http://opendylan.org/documentation/opendylan/interop2/index.htm>`_
Describes high and low level interfaces to COM, OLE, and
ActiveX component technology, and generic DBMS support, through
SQL with an ODBC backend.
56 source/documentation/publications.rst
View
@@ -2,12 +2,7 @@
Publications about Dylan
************************
-**Extending Dylan's type system for better type inference and error
-detection**
-(by Hannes Mehnert at ILC 2010
-`pdf <http://www.itu.dk/~hame/ilc2010.pdf>`__
-`bib <../_static/documentation/mehnert2010.bib>`__)
-
+**Extending Dylan's type system for better type inference and error detection** (by Hannes Mehnert at ILC 2010 `pdf <http://www.itu.dk/~hame/ilc2010.pdf>`__ `bib <../_static/documentation/mehnert2010.bib>`__)
Whereas dynamic typing enables rapid prototyping and easy
experimentation, static typing provides early error detection and
better compile time optimization. Gradual typing provides the best
@@ -27,11 +22,7 @@ detection**
https://dl.acm.org/citation.cfm?id=1869643.1869645
-**Automatically generated type-safe GTK+ binding for Dylan**
-(by Hannes Mehnert at ILC 2009
-`pdf <http://www.itu.dk/~hame/ilc09.pdf>`__
-`bib <../_static/documentation/mehnert2009.bib>`__)
-
+**Automatically generated type-safe GTK+ binding for Dylan** (by Hannes Mehnert at ILC 2009 `pdf <http://www.itu.dk/~hame/ilc09.pdf>`__ `bib <../_static/documentation/mehnert2009.bib>`__)
We present an automated way to get language bindings for GTK+ for
Dylan, an object-oriented functional programming language related
to Lisp. Dylan supports multiple inheritance, polymorphism,
@@ -40,11 +31,7 @@ detection**
is type-safe, no up- and downcasts are needed.
-**A domain-specific language for manipulation of binary data in Dylan**
-(by Hannes Mehnert and Andreas Bogk at ILC 2007
-`pdf <http://www.itu.dk/~hame/ilc07-final.pdf>`__
-`bib <../_static/documentation/mehnert2007.bib>`__)
-
+**A domain-specific language for manipulation of binary data in Dylan** (by Hannes Mehnert and Andreas Bogk at ILC 2007 `pdf <http://www.itu.dk/~hame/ilc07-final.pdf>`__ `bib <../_static/documentation/mehnert2007.bib>`__)
We present a domain specific language for manipulation of binary
data, or structured byte sequences, as they appear in everyday
applications such as networking or graphics file manipulation. Our
@@ -56,11 +43,7 @@ detection**
https://dl.acm.org/citation.cfm?id=1622123.1622148
-**Efficient Compression of Generic Function Dispatch Tables**
-(by Eric Kidd - Technical Report Dartmouth College 2001
-`pdf <http://www.cs.dartmouth.edu/reports/TR2001-404.pdf>`__
-`bib <../_static/documentation/kidd2001.bib>`__)
-
+**Efficient Compression of Generic Function Dispatch Tables** (by Eric Kidd - Technical Report Dartmouth College 2001 `pdf <http://www.cs.dartmouth.edu/reports/TR2001-404.pdf>`__ `bib <../_static/documentation/kidd2001.bib>`__)
A generic function is similar to an overloaded operator, but
provides a way to select an appropriate behavior at run-time
instead of compile-time. Dujardin and colleagues have proposed an
@@ -75,11 +58,7 @@ detection**
https://dl.acm.org/citation.cfm?id=867862
-**Partial Dispatch: Optimizing Dynamically-Dispatched Multimethod Calls with Compile-Time Types and Runtime Feedback**
-(by Jonathan Bachrach and Glenn Burke - Technical Report 2000
-`pdf <http://people.csail.mit.edu/jrb/Projects/pd.pdf>`__
-`bib <../_static/documentation/bachrach2000.bib>`__)
-
+**Partial Dispatch: Optimizing Dynamically-Dispatched Multimethod Calls with Compile-Time Types and Runtime Feedback** (by Jonathan Bachrach and Glenn Burke - Technical Report 2000 `pdf <http://people.csail.mit.edu/jrb/Projects/pd.pdf>`__ `bib <../_static/documentation/bachrach2000.bib>`__)
We presented an approach to gaining back complete class hierarchy
information by delaying the construction of dispatch caches until
the whole class hierarchy is available at run- time. Run-time
@@ -95,11 +74,7 @@ detection**
components, multi-threaded runtime, incremental development, “pay
as you go philosophy”, and interoperability with standard tools.
-**D-Expressions: Lisp Power, Dylan Style**
-(by Jonathan Bachrach and Keith Playford - Technical Report 1999
-`pdf <http://people.csail.mit.edu/jrb/Projects/dexprs.pdf>`__
-`bib <../_static/documentation/bachrach1999.bib>`__)
-
+**D-Expressions: Lisp Power, Dylan Style** (by Jonathan Bachrach and Keith Playford - Technical Report 1999 `pdf <http://people.csail.mit.edu/jrb/Projects/dexprs.pdf>`__ `bib <../_static/documentation/bachrach1999.bib>`__)
This paper aims to demonstrate that it is possible for a language
with a rich, conventional syntax to provide Lisp-style macro power
and simplicity. We describe a macro system and syntax manipulation
@@ -109,11 +84,7 @@ detection**
syntax, the approach taken to describe and represent that syntax
is distinctly Lisp-like in philosophy.
-**Modern languages and Microsoft's component object model**
-(by David N. Gray, John Hotchkiss, Seth Laforge, Andrew Shalit and
-Toby Weinberg - Communications of the ACM May 1998
-`bib <../_static/documentation/gray1998.bib>`__)
-
+**Modern languages and Microsoft's component object model** (by David N. Gray, John Hotchkiss, Seth Laforge, Andrew Shalit and Toby Weinberg - Communications of the ACM May 1998 `bib <../_static/documentation/gray1998.bib>`__)
As the computer industry's reliance on component software increases,
it becomes increasingly difficult to integrate complex component
systems. Modern development environments take a variety of approaches
@@ -124,12 +95,7 @@ Toby Weinberg - Communications of the ACM May 1998
http://dl.acm.org/citation.cfm?id=274957
-**A Monotonic Superclass Linearization for Dylan**
-(by Kim Barrett and Bob Cassels and Paul Haahr and David A. Moon and
-Keith Playford and P. Tucker Withington at OOPSLA 1996
-`html <http://haahr.tempdomainname.com/dylan/linearization-oopsla96.html>`__
-`bib <../_static/documentation/barrett1996.bib>`__)
-
+**A Monotonic Superclass Linearization for Dylan** (by Kim Barrett and Bob Cassels and Paul Haahr and David A. Moon and Keith Playford and P. Tucker Withington at OOPSLA 1996 `html <http://haahr.tempdomainname.com/dylan/linearization-oopsla96.html>`__ `bib <../_static/documentation/barrett1996.bib>`__)
Object-oriented languages with multiple inheritance and automatic
conflict resolution typically use a linearization of superclasses
to determine which version of a property to inherit when several
@@ -148,11 +114,7 @@ Keith Playford and P. Tucker Withington at OOPSLA 1996
https://dl.acm.org/citation.cfm?id=236337.236343
-**Discovering the way programmers think about new programming environments**
-(by Joseph Dumas and Paige Parsons - Communications of the ACM June
-1995
-`bib <../_static/documentation/dumas1995.bib>`__)
-
+**Discovering the way programmers think about new programming environments** (by Joseph Dumas and Paige Parsons - Communications of the ACM June 1995 `bib <../_static/documentation/dumas1995.bib>`__)
An interesting usability study of a prototype development
environment for the Dylan programming language is presented
here. This study's purpose is to determine just how close the
Something went wrong with that request. Please try again.