...
 
Commits (80)
# Emacs autosave
*~
\#*\#
*.elc
auto-save-list
.\#*
# Output files
output/
system-index.txt
all: build
serve:
cd output; python ../server.py
static:
mkdir -p output/static
cp -rf content/static/* output/static
favicon:
cp content/favicon.ico output/
build: static favicon
sbcl --load build.lisp --non-interactive
clean:
rm -rf output
mkdir output
## dependencies
# Common-Lisp.net site generator #
This project uses cl-mustache for HTML templating.
## Dependencies
(ql:quickload 'cl-mustache)
CL-MUSTACHE for HTML templating
## execution
## Execution
Load this project with this command:
### From command line (recommended) ###
(asdf:load-system 'cl-site)
Using Make.
To generate the static files:
The Makefile contains various useful commands.
Among them:
* `make` - to generate the site.
* `make serve` - to run a simple site server (needs python)
* `make clean` - to remove the generated files from output directory
### From Lisp ###
Load with this command:
(ql:quickload :cl-site)
To generate the site:
(cl-site::make-site)
The output files will be generated in the `output/` directory.
The output files will be generated in the `output/` directory.
(push (uiop:getcwd) quicklisp:*local-project-directories*)
(ql:quickload :cl-site)
(funcall (symbol-function (intern "MAKE-SITE" :cl-site)) (merge-pathnames "output/" (uiop:getcwd)))
;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*-
(in-package :cl-user)
(asdf:defsystem cl-site
(defsystem "cl-site"
:name "cl-site"
:version "0.0.1"
:maintainer "C. Yang"
:author "C. Yang"
:licence "TBD"
:description "Static site generator for CLnet, written in CL"
:depends-on (:cl-mustache)
:components ((:module source
:pathname ""
:serial t
:depends-on (package)
:components ((:file "globals")
(:file "helpers")
(:file "process")
(:file "main")))
(:module package
:pathname ""
:components ((:file "package"))))
:description "Static site generator for CLnet, written in CL."
:depends-on ("cl-mustache")
:serial t
:components ((:file "package")
(:file "globals")
(:file "helpers")
(:file "process")
(:file "main"))
:in-order-to ((asdf:test-op (asdf:test-op cl-site/t))))
(asdf:defsystem cl-site/t
:defsystem-depends-on (prove-asdf)
:depends-on (cl-site prove)
:components ((:module site
:pathname "t/"
:components ((:test-file "site"))))
(defsystem cl-site/t
:defsystem-depends-on ("prove-asdf")
:depends-on ("cl-site"
"prove")
:pathname "t"
:components ((:test-file "site"))
:perform (asdf:test-op (op c)
(uiop:symbol-call :prove-asdf 'run-test-system c)))
......
---
title: About
---
<h2>About Common-Lisp.net</h2>
<h1><i class="far fa-question-circle"></i>&nbsp;About Common-Lisp.net</h1>
<p> Common-Lisp.net provides hosting for projects and user groups
related to the programming language Common Lisp.
......@@ -13,6 +9,10 @@ href="http://www.cl-foundation.org/">Common Lisp Foundation</a> and
maintained mostly by a committee of volunteers. <a
href="/contribute/">Please consider donating</a>.</p>
<p>Its source is hosted
on <a href="https://gitlab.common-lisp.net/clo/cl-site">gitlab.common-lisp.net</a>.
</p>
<p>If you want to request a project, <a href="/project-intro/">read
this document</a>.</p>
......
<a class="btn btn-primary float-right" href="/project-intro"><i class="fa fa-arrow-right"></i>&nbsp;&nbsp;Host your project</a>
<h1><i class="fa fa-users"></i> The Lisp Community</h1>
<div class="row">
<div class="col-lg-4 col-md-6">
<h2><i class="far fa-comments"></i> IRC</h2>
<p>There are several Lisp related <a href="https://en.wikipedia.org/wiki/Internet_Relay_Chat">IRC</a> channels at <a href="http://freenode.net">Freenode</a>:</p>
<ul>
<li><a href="http://log.irc.tymoon.eu/freenode/lisp">#lisp</a> - Main Common Lisp channel</li>
<li><a href="#">##lisp</a> - To discuss general lisp dialects of all shapes and forms</li>
<li><a href="#">#lispcafe</a> - A less formal channel for lisp-oriented discussion</li>
</ul>
<p><a href="https://www.cliki.net/IRC">Read more</a></p>
</div>
<div class="col-lg-4 col-md-6">
<h2><i class="far fa-envelope"></i> Mailing Lists</h2>
<p>You can subscribe to several Lisp related mailing lists:</p>
<ul>
<li><a href="https://sourceforge.net/p/sbcl/mailman">SBCL mailing lists</a></li>
<li><a href="https://lists.clozure.com/mailman/listinfo/openmcl-devel">Clozure CL mailing list</a></li>
</ul>
<p><a href="https://mailman.common-lisp.net/listinfo">Read more</a></p>
</div>
<div class="col-lg-4 col-md-6">
<h2><i class="far fa-newspaper"></i> News</h2>
<p>Follow the news at:</p>
<ul>
<li><a href="http://planet.lisp.org">Planet Lisp</a> - A meta blog that collects the contents of various Lisp-related blogs.</li>
<li><a href="https://www.reddit.com/r/lisp">Lisp Subreddit</a></li>
<li><a href="http://groups.google.com/group/comp.lang.lisp">comp.lang-lisp</a> - Google newsgroup (not very active anymore)</li>
</ul>
</div>
<div class="col-lg-4 col-md-6">
<h2><i class="fa fa-book"></i> Docs</h2>
<ul>
<li><a href="https://cliki.net">CLiki</a> - The Common Lisp wiki</li>
<li><a href="http://quickdocs.org">Quickdocs</a> - Documentation for All Common Lisp Projects</li>
<li><a href="http://borretti.me/article/common-lisp-sotu-2015">State of the Common Lisp Ecosystem</a> as of 2015</li>
</ul>
</div>
<div class="col-lg-4 col-md-6">
<h2><i class="fa fa-users"></i> Conferences</h2>
<p>Attend the conferences:</p>
<ul>
<li><a href="https://european-lisp-symposium.org">European Lisp Symposium</a></li>
</ul>
</div>
<div class="col-lg-4 col-md-6">
<h2><i class="fa fa-plus"></i> More</h2>
<ul>
<li><a href="http://www.alu.org">The Association of Lisp Users</a></li>
<li><a href="http://www.cl-user.net">The Common Lisp Directory</a></li>
<li><a href="https://github.com/azzamsa/awesome-cl-software">Awesome Lisp Software</a></li>
<li><a href="https://www.cliki.net/lisp+videos">Media</a></li>
</ul>
</div>
</div>
<h1 style="padding-top: 30px;"><i class="fa fa-video"></i> Media</h1>
<div id="media_carousel" class="carousel slide" data-ride="carousel" data-interval="">
<ol class="carousel-indicators">
<li data-target="#media_carousel" data-slide-to="0" class="active"></li>
<li data-target="#media_carousel" data-slide-to="1"></li>
</ol>
<div class="carousel-inner" style="padding-bottom: 70px;">
<div class="carousel-item active">
<div class="row">
<div class="col-md-6">
<iframe width="560" height="315" src="https://www.youtube.com/embed/8X69_42Mj-g" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</div>
<div class="col-md-6">
<iframe width="560" height="315" src="https://www.youtube.com/embed/VeAdryYZ7ak" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</div>
<div class="col-md-6">
<iframe width="560" height="315" src="https://www.youtube.com/embed/videoseries?list=PLaGBIclRpkSXbU3keo6Rfd-KBVy63V5G2" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</div>
<div class="col-md-6">
<iframe width="560" height="315" src="https://www.youtube.com/embed/videoseries?list=PL2VAYZE_4wRITJBv6saaKouj4sWSG1FcS" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</div>
</div>
</div>
<div class="carousel-item">
<div class="row">
<div class="col-md-6">
<iframe width="560" height="315" src="https://www.youtube.com/embed/svmPz5oxMlI" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</div>
<div class="col-md-6">
<iframe width="560" height="315" src="https://www.youtube.com/embed/T1QlEJ-2Gho" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</div>
<div class="col-md-6">
<iframe width="560" height="315" src="https://www.youtube.com/embed/xzTH_ZqaFKI" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</div>
<div class="col-md-6">
<iframe width="560" height="315" src="https://www.youtube.com/embed/_B_4vhsmRRI" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</div>
</div>
</div>
</div>
<!-- <a class="carousel-control-prev" href="#media_carousel" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#media_carousel" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a> -->
</div>
---
title: Contribute
---
<h1><i class="fa fa-heart"></i>&nbsp;Contribute</h1>
<h2>Donations</h2>
<p>The easiest way to contribute is to donate. The costs of running
the site are covered by the <a href="http://cl-foundation.org">Common
Lisp Foundation</a>.</p>
the site are covered by the <a href="http://cl-foundation.org">Common
Lisp Foundation</a>.</p>
<p><a
href="https://www.paypal.com/xclick/business=treasurer%40cl-foundation.org&amp;currency_code=EUR&amp;item_name=Donation%20common-lisp%2Enet&amp;lc=GB">Click
here to donate to common-lisp.net specifically. Thank you for your
support!</a></p>
href="https://www.paypal.com/xclick/business=treasurer%40cl-foundation.org&amp;currency_code=EUR&amp;item_name=Donation%20common-lisp%2Enet&amp;lc=GB" class="btn btn-primary"><i class="fab fa-cc-paypal" style="font-size: 30px;vertical-align:middle;"></i>&nbsp;&nbsp;&nbsp;Donate to Common-Lisp.net</a>
</p>
<p><b>Thank you for your support!</b></p>
<h2>Projects waiting for volunteers</h2>
<p>If you would like to contribute by donating your time, please let
us know (through a mail to <a
href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/clo-devel">this
mailinglist</a>, for example). There are currently a few projects that
need attention, and we almost always can use a helping hand.</p>
us know (through a mail to <a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/clo-devel">this mailinglist</a>, for example). There are currently a few projects that need attention, and we almost always can use a helping hand.</p>
<p>Two projects waiting for volunteers are</p>
<ul>
<li>Writing a sustainable framework for listing and finding
projects</li>
projects</li>
<li>A nicer trac project page</li>
</ul>
<p>Also, if you have a cool idea for the site, feel free to let us
know.</p>
know.</p>
<a class="btn btn-primary float-right" href="/community"><i class="fa fa-arrow-right"></i>&nbsp;&nbsp;The Lisp Community</a>
<h1><i class="fa fa-book-open"></i> Documentation</h1>
<section style="padding-top: 25px;">
<h2><i class="fa fa-walking"></i> Getting Started</h2>
Check out <a href="/downloads">our guide</a> to get started.
</section>
<section style="padding-top: 25px;">
<h2><i class="fa fa-book-open"></i> Books</h2>
<div class="row">
<!-- Practical Common Lisp -->
<div class="col-md-6 book-box">
<div class="card">
<div class="row" style="height: 100%;">
<div class="col-md-4">
<img src="/static/imgs/pcl.jpg" class="w-100">
</div>
<div class="col-md-8 px-3">
<div class="card-block px-3">
<h4 class="card-title">Practical Common Lisp</h4>
<p class="card-text">Lisp is often thought of as an academic language, but it need not be. This is the first book that introduces Lisp as a language for the real world.</p>
<p class="card-text">
Practical Common Lisp presents a thorough introduction to Common Lisp, providing you with an overall understanding of the language features and how they work.</p>
</div>
</div>
</div>
<a class="read btn btn-primary" target="_blank" href="http://www.gigamonkeys.com/book">Read Online</a>
</div>
</div>
<!-- On Lisp -->
<div class="col-md-6 book-box">
<div class="card">
<div class="row ">
<div class="col-md-4">
<img src="/static/imgs/on-lisp.jpg" class="w-100">
</div>
<div class="col-md-8 px-3">
<div class="card-block px-3">
<h4 class="card-title">On Lisp</h4>
<p class="card-text">On Lisp is a comprehensive study of advanced Lisp techniques, with bottom-up programming as the unifying theme. It gives the first complete description of macros and macro applications. The book also covers important subjects related to bottom-up programming, including functional programming, rapid prototyping, interactive development, and embedded languages.</p>
</div>
</div>
</div>
<a target="_blank" href="http://www.paulgraham.com/onlisp.html" class="btn btn-primary read">Read Online</a>
</div>
</div>
<!-- Successful Lisp -->
<div class="col-md-6 book-box">
<div class="card">
<div class="row ">
<div class="col-md-4">
<img src="/static/imgs/successful.jpg" class="w-100">
</div>
<div class="col-md-8 px-3">
<div class="card-block px-3">
<h4 class="card-title">Successful Lisp</h4>
<p class="card-text">How to understand and use Common Lisp.</p>
</div>
</div>
</div>
<a target="_blank" href="http://dept-info.labri.fr/~strandh/Teaching/MTP/Common/David-Lamkins/cover.html" class="btn btn-primary read">Read Online</a>
</div>
</div>
<!-- Lisp Hackers -->
<div class="col-md-6 book-box">
<div class="card">
<div class="row ">
<div class="col-md-4">
<img src="/static/imgs/lh.jpg" class="w-100">
</div>
<div class="col-md-8 px-3">
<div class="card-block px-3">
<h4 class="card-title">Lisp Hackers</h4>
<p class="card-text">Interviews with Common Lisp programmers.</p>
</div>
</div>
</div>
<a target="_blank" href="https://leanpub.com/lisphackers/read" class="btn btn-primary read">Read Online</a>
</div>
</div>
<!-- Lisp Web Tales -->
<div class="col-md-6 book-box">
<div class="card">
<div class="row ">
<div class="col-md-4">
<img src="/static/imgs/lwt.png" class="w-100">
</div>
<div class="col-md-8 px-3">
<div class="card-block px-3">
<h4 class="card-title">Lisp Web Tales</h4>
<p class="card-text">Develop Web applications in Common Lisp.</p>
</div>
</div>
</div>
<a target="_blank" href="https://leanpub.com/lispwebtales" class="btn btn-primary read">Read</a>
</div>
</div>
<!-- Common Lisp Recipes -->
<div class="col-md-6 book-box">
<div class="card">
<div class="row">
<div class="col-md-4">
<img src="/static/imgs/clr.jpg" class="w-100">
</div>
<div class="col-md-8 px-3">
<div class="card-block px-3">
<h4 class="card-title">Common Lisp Recipes</h4>
<p class="card-text">Find solutions to problems and answers to questions you are likely to encounter when writing real-world applications in Common Lisp. This book covers areas as diverse as web programming, databases, graphical user interfaces, integration with other programming languages, multi-threading, and mobile devices as well as debugging techniques and optimization, to name just a few.</p>
</div>
</div>
</div>
<a target="_blank" href="http://weitz.de/cl-recipes" class="btn btn-primary read">Buy</a>
</div>
</div>
</div>
<p>
Also:
<ul>
<li><a target="_blank" href="http://www.paulgraham.com/acl.html">ANSI Common Lisp</a></li>
<li><a target="_blank" href="http://landoflisp.com/">Land Of Lisp</a></li>
<li><a target="_blank" href="https://letoverlambda.com/">Let Over Lambda</a></li>
</ul>
</p>
<p>Look <a target="_blank" href="https://cliki.net/Lisp+Books">here</a> for a more complete list of books.</p>
</section>
<section style="padding-top: 25px;">
<h2><i class="fa fa-book"></i> ANSI Common Lisp Specification</h2>
<p>
<ul>
<li><a href="http://www.lispworks.com/documentation/lw50/CLHS/Front/Contents.htm">Common Lisp HyperSpec (CLHS)</a> - The Common Lisp HyperSpec (CLHS) is a non-free hyperlinked version of the ANSI Common Lisp Standard.</li>
<li><a href="http://cvberry.com/tech_writings/notes/common_lisp_standard_draft.html">Common Lisp Standard Draft (PDF)</a></li>
</p>
</section>
<section style="padding-top: 25px;">
<h2><i class="far fa-question-circle"></i> Getting Help</h2>
<p>If you need help, get in contact via <a href="/community">the Lisp mailing lists and IRC</a>.
</p>
</section>
<section style="padding-top: 25px;">
<h2>Other resources</h2>
<ul>
<li><a href="https://lispcookbook.github.io/cl-cookbook/">The Common Lisp Cookbook</a></li>
</ul>
</section>
---
title: Downloads
---
<a class="btn btn-primary float-right" href="/documentation"><i class="fa fa-arrow-right"></i>&nbsp;&nbsp;Read the documentation</a>
<h2>Download/Install</h2>
<h1><i class="fa fa-walking"></i> Getting started</h1>
<p>Common Lisp comes in many different flavors, or implementations. Two popular ones are Steel Bank Common Lisp (SBCL) and Clozure Common Lisp (CCL).</p>
<h2>Download and Install</h2>
<p>If you are a newbie or you want to get started as fast as possible, then <a href="https://portacle.github.io/">Portacle</a> is probably your best option. Portacle is a multiplatform, complete IDE for Common Lisp. It includes Emacs, SBCL, Git, Quicklisp, all configured and ready to use.</p>
<p>
<a href="https://portacle.github.io" class="btn btn-primary"><i class="fa fa-download"></i>&nbsp;&nbsp;Download Portacle - All-In-One Common Lisp</a>
</p>
<p>Otherwise, Common Lisp comes in many different <a href="/implementations">flavors, or implementations</a>. Two popular ones are Steel Bank Common Lisp (SBCL) and Clozure Common Lisp (CCL).</p>
<ul>
<li><b>Steel Bank Common Lisp (SBCL)</b>
<ul>
<li><a href="http://www.sbcl.org/">Main website</a></li>
<li><a href="http://www.sbcl.org/platform-table.html">Download</a></li>
<li><a href="http://www.sbcl.org/platform-table.html">Download&nbsp;&nbsp;<i class="fa fa-download"></i></a></li>
<li><a href="http://www.sbcl.org/getting.html">Install</a></li>
</ul>
</li>
<li><b>Clozure Common Lisp (CCL)</b>
<ul>
<li><a href="http://ccl.clozure.com/">Main website</a></li>
<li><a href="http://ccl.clozure.com/download.html">Download/Install</a></li>
<li><a href="http://ccl.clozure.com/download.html">Download/Install&nbsp;&nbsp;<i class="fa fa-download"></i></a></li>
</ul>
</li>
</ul>
<p>If you're a newbie to Lisp, it might be easiest to pick one of the two implementations above and get started, without worrying too much about which implementation is best for you. However, there are a lot of implementations that all have their pros and cons. For a complete list, see <a href="http://en.wikipedia.org/wiki/Common_Lisp#List_of_implementations">Wikipedia's big list of CL implementations</a>.</p>
<p>Look <a href="/implementations">here</a> for other Common Lisp compilers.</p>
<p>You can also try Common Lisp online:</p>
<p>
<button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#try_lisp" aria-expanded="false" aria-controls="collapseExample">
<i class="fa fa-play"></i>&nbsp;&nbsp;&nbsp;Try Lisp Online
</button>
</p>
<div class="collapse" id="try_lisp">
<p>This is a <a href="https://github.com/jscl-project/jscl">JSCL</a> Lisp REPL running on the Web. Note that it is not a complete Common Lisp implementation, but enough to have a taste of it:</p>
<iframe style="width:100%; height: 400px;" src="https://jscl-project.github.io/"></iframe>
</div>
<h2>Setup your environment</h2>
<p>A Lisp setup consists of three parts: a running Lisp instance, a text editor connected to that running Lisp instance, and project setup and libraries.</p>
<p>The most common way is to use <a href="http://www.emacs.org">Emacs</a> and <a href="https://common-lisp.net/project/slime/">SLIME</a> as text editor/IDE and <a href="https://common-lisp.net/project/asdf/">ASDF</a> + <a href="http://www.quicklisp.org">Quicklisp</a> for project setup and libraries.</p>
<p><a href="https://common-lisp.net/project/slime/">SLIME</a> is an extension to the Emacs text editor that connects the editor to the running Lisp image (called *inferior-lisp*) and interacts with it. It provides lisp code evaluation, compilation, and macroexpansion, online documentation, code navigation, objects inspection, debugger, and much much more.</p>
<p><a href="https://common-lisp.net/project/asdf/">ASDF</a> is the Lisp version of Make. It is used to define projects (called systems), its dependencies, and load and compile the project.</p>
<p><a href="https://www.quicklisp.org">Quicklisp</a> is a library manager for Common Lisp. Use it to download, install, and load any of over 1,500 libraries with a few simple commands.</p>
<p>For an introduction on how to set them all up, you can have a look at <a href="https://lispmethods.com/development-environment.html">this guide</a>.</p>
<p>You can also watch this video tutorial:</p>
<p>
<button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#setup_video" aria-expanded="false" aria-controls="collapseExample">
<i class="fa fa-play"></i>&nbsp;&nbsp;&nbsp;Watch an introductory video
</button>
</p>
<div class="collapse" id="setup_video">
<iframe width="560" height="315" src="https://www.youtube.com/embed/VnWVu8VVDbI" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</div>
<h2>Read about Lisp</h2>
<p>A good way to learn Lisp is to go through <a href="http://www.gigamonkeys.com/book/">Practical Common Lisp book</a>.
</p>
<p>Read <a href="/documentation">our documentation</a> for more options.</p>
<h2>Start a new project</h2>
<p>You may want check out <a href="http://articulate-lisp.com">Articulate Lisp site</a> for getting started on Common Lisp ecosystem.</p>
<p>
<button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#start_project_video" aria-expanded="false" aria-controls="collapseExample">
<i class="fa fa-play"></i>&nbsp;&nbsp;&nbsp;Watch an introductory video
</button>
</p>
<div class="collapse" id="start_project_video">
<iframe width="560" height="315" src="https://www.youtube.com/embed/SPgjgybGb5o" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</div>
<h2>Libraries</h2>
<p>Check out <a href="/libraries">this list</a> of Lisp libraries.</p>
<p>The easiest way to download and load libraries is via <a href="http://www.quicklisp.org">Quicklisp</a>. <a href="http://articulate-lisp.com/quicklisp.html">Follow these instructions</a> to get started.</p>
<h2>Resources</h2>
<p>Here's a list of alternative guides for getting started:
<ul>
<li><a target="_blank" href="https://lispmethods.com/development-environment.html">Getting Started With Common Lisp</a> at lispmethods.com.</li>
<li><a target="_blank" href="https://cliki.net/Getting%20Started">CLiki guide</a>.</li>
<li><a href="http://articulate-lisp.com">Articulate Lisp site</a>.</li>
</ul>
</p>
---
title: Frequently asked questions for common-lisp.net
---
<!-- <div class="sideBox LHS">
<div>This Page</div>
<a href="#introduction">Introduction</a>
<a href="#news">News</a>
<a href="#description">What is it</a>
<a href="#services">Services</a>
<a href="#about">About this site</a>
</div> -->
<!--
<div class="sideBox RHS">
<div>Recent projects
</div>
<table><tbody>
<tr><td colspan="2">
<a href="projects.shtml">More projects...</a>
</td></tr>
<tr><td colspan="2">
<a href="recent-projects.xml" class='rss-icon'>RSS</a>
</td></tr>
</tbody></table>
<main>
<article>
<h1><i class="far fa-question-circle"></i>&nbsp;FAQ - Common-Lisp.net Frequently Asked Questions</h1>
<div class="tocbox">
<h4 class="bg-primary" style="color:white;">Table of contents</h4>
<ul>
<li><a href="#faq-email-on-push">GitLab: configure e-mail on push</a></li>
</ul>
</div>
-->
<main>
<article>
<h2>Common-Lisp.net Frequently Asked Questions</h2>
<ul>
<li>GitLab: configure e-mail on push</li>
</ul>
<section id="faq-email-on-push">
<h3>GitLab: configure e-mail on push</h3>
<p>
GitLab supports sending an e-mail upon pushing
commits by project members. In order to use the functionality,
please follow the steps outlined in <a href="/faq/emailonpush/"
>our configuration guide</a>.
</p>
</section>
</article>
</main>
<section id="faq-email-on-push">
<h3>GitLab: configure e-mail on push</h3>
<p>
GitLab supports sending an e-mail upon pushing
commits by project members. In order to use the functionality,
please follow the steps outlined in <a href="/faq/emailonpush/"
>our configuration guide</a>.
</p>
</section>
</article>
</main>
<h1>Features of Common Lisp</h1>
<div class="row">
<div class="col-lg-4 col-md-6">
<h2>Interactive development</h2>
<p>Development in Common Lisp is interactive. There's no separate compile/run/debug cycle. Instead of that, the program is developed while it runs. Compilation is incremental, and functions can be created and updated on the fly. As the program is running, all objects are available and can be inspected all the time. This is much more than a simple REPL; the whole environment, from the IDE to the language is prepared for this type of development.</p>
</div>
<div class="col-lg-4 col-md-6">
<h2>Robust</h2>
<p>Common Lisp is a carefully designed language with a long history. It was standarized in 1980 and the language has not changed since but it keeps up with the times thanks to its modability and metaprogramming capabilities. This makes it very likely that your program will continue to run unmodified for several years.</p>
</div>
<div class="col-lg-4 col-md-6">
<h2>Expressive</h2>
<p>Being a meta language, Lisp approach to problem solving is to define idioms (small Domain Specific Languages) as close to the problem domain as possible. This results in very succint and declarative solutions, at a level which is difficult to achieve in other programming languages. CL flexibility also facilitates a bottom-up programming approach.</p>
</div>
<div class="col-lg-4 col-md-6">
<h2>Fast</h2>
<p>Most Common Lisp compilers produce fast code. Programs can be type annotated and the compilers can apply optimizations based on them. CL also supports different levels of debugging, safety and speed. Performance is usually better than interpreted languages like Python and Ruby, and close to C in some cases.</p>
</div>
<div class="col-lg-4 col-md-6">
<h2>Uniform</h2>
<p>Uniformity is present in both syntax and data structures. Everything being an S-expression, there are not many syntax oddities to think about. And Lisp main data structure is the list.</p>
</div>
<div class="col-lg-4 col-md-6">
<h2>Multiparadigm</h2>
<p>Lisp implements and can adapt to several programming paradigms. It supports first class functions, closures and destructuring (among other things), commonly present in functional languages. And comes with CLOS, one of the most powerful object systems in existence. Support for other paradigms can often be implemented as a library as has been done for the logic paradigm.</p>
</div>
<div class="col-lg-4 col-md-6">
<h2>Innovative / Advanced </h2>
Method combinations. Multiple dispatch. Multiple-values. Meta Object protocol.
</div>
</div>
<div style="padding-top: 30px;">
<p>See <a href="http://random-state.net/features-of-common-lisp.html">Features of Common Lisp</a> by Abhishek Reddy for a more detailed overview of the language features.</p>
</div>
---
title: Migration to GitLab for Common-Lisp.net
---
<!-- <div class="sideBox LHS">
<div>This Page</div>
<a href="#introduction">Introduction</a>
<a href="#news">News</a>
<a href="#description">What is it</a>
<a href="#services">Services</a>
<a href="#about">About this site</a>
</div> -->
<main>
<article>
<h2>Common-Lisp.net migration to GitLab: status</h2>
<summary>
<p>
As announced in <a href="https://mailman.common-lisp.net/pipermail/clo-devel/2015-February/000161.html">this e-mail</a>,
common-lisp.net services will be restructured - to the benefit
of (most) users as well as the admins.
</p>
<p>In this <a href="https://mailman.common-lisp.net/pipermail/clo-devel/2015-February/000168.html">follow-up e-mail</a>,
a roadmap was proposed on how to get services restructured.
Said roadmap is the basis for the table below showing the
status of each step and if completed - when the step was completed.
</p>
</summary>
<!--
<div class="sideBox RHS">
<div>Recent projects
</div>
<table><tbody>
<table class="cltable">
<thead>
<tr>
<th>#</th><th>Step</th><th>Status</th><th>Date</th>
</tr>
</thead>
<tr><td colspan="2">
<a href="projects.shtml">More projects...</a>
</td></tr>
<tr><td colspan="2">
<a href="recent-projects.xml" class='rss-icon'>RSS</a>
</td></tr>
</tbody></table>
</div>
-->
<tbody>
<tr><td>0.</td><td>Install a Code Commenting plugin on Trac to
make it match the GitLab code commenting capabilities</td>
<td>Pending</td><td>&nbsp;</td></tr>
<tr><td>1.</td><td>Finish my experiments regarding the GitLab
setup / installation <br />
see <a href="https://mailman.common-lisp.net/pipermail/announcements/2015-March/000003.html">feedback solicited</a>
and <a href="gitlab-migration-repository-mapping/">mapping of repositories</a></td><td>Done</td><td>March 20, 2015</td></tr>
<tr><td>2.</td><td>Install GitLab on common-lisp.net (under the
gitlab.common-lisp.net domain? or should we prefer
git.common-lisp.net?)</td><td>Done</td><td>March 20, 2015</td></tr>
<tr><td>3.</td><td>Run the migration to create all users and
groups in GitLab</td><td>Done</td><td>March 20, 2015</td></tr>
<tr><td>4.</td><td>Import the CMUCL git repositories (using the
script to be used for all projects)</td><td>skipped</td><td>&nbsp;</td></tr>
<tr><td>5.</td><td>Run a trial period of 2 months with Raymond Toy
and CMUCL to iron out any unnoticed issues</td><td>skipped</td><td>&nbsp;</td></tr>
<tr><td>6.</td><td>Import the user's git repositories</td><td>Done</td><td>March 20, 2015</td></tr>
<tr><td>7.</td><td>Import all projects with Git
repositories</td><td>Done</td><td>March 20, 2015</td></tr>
<tr><td>8.</td><td>Turn off gitweb --&gt; introduce rewrite rules
to point to gitlab</td><td>Done</td><td>March 20, 2015</td></tr>
<tr><td>9.</td><td>Turn off git plugin for Trac --&gt; introduce
rewrite rules to point to gitlab</td><td>Done</td><td>March 20, 2015</td></tr>
<tr><td>10.</td><td>Turn off git-daemon (fully depend on https
checkouts)</td><td>Done</td><td>March 20, 2015</td></tr>
<tr><td>11.</td><td>Convert all project darcs repositories to git
--&gt; Notify all darcs project owners before we do about a
planning/timing</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>12.</td><td>Import the converted darcs repositories</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>13.</td><td>Convert users' darcs repositories<br />
--&gt; Notify all darcs users before we do about a
planning/timing</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>14.</td><td>Import converted users' darcs
repositories</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>15.</td><td>Turn off darcsweb webbrowsing --&gt; introduce
rewrite rules to point to gitlab</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>16.</td><td>Contact CVS repository owners to ask if they
want to migrate to Git (the default) or Subversion</td><td>In progress</td><td>April 19, 2015</td></tr>
<tr><td>17.</td><td>Convert CVS repositories to Subversion (where
requested / defaulted)</td><td>none requested</td><td>&nbsp;</td></tr>
<tr><td>18.</td><td>Convert CVS repositories to Git (where
requested / defaulted)</td><td>In progress</td><td>April 19, 2015</td></tr>
<tr><td>19.</td><td>Import git-converted CVS repositories</td><td>In progress</td><td>April 19, 2015</td></tr>
<tr><td>20.</td><td>Turn off ViewVC (Subversion & CVS) web-browsing<br />
--&gt; introduce rewrite rules to point to gitlab/Trac</td><td>In progress</td><td>April 19, 2015</td></tr>
<tr><td>21.</td><td>Turn off cvsd and related cron jobs</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>22.</td><td>Turn off svnserve (fully depend on https
checkouts)</td><td>&nbsp;</td><td>&nbsp;</td></tr>
</tbody>
</table>
</article>
<main>
<article>
<h2>Common-Lisp.net migration to GitLab: status</h2>
<summary>
<p>
As announced in <a href="https://mailman.common-lisp.net/pipermail/clo-devel/2015-February/000161.html">this e-mail</a>,
common-lisp.net services will be restructured - to the benefit
of (most) users as well as the admins.
</p>
<p>In this <a href="https://mailman.common-lisp.net/pipermail/clo-devel/2015-February/000168.html">follow-up e-mail</a>,
a roadmap was proposed on how to get services restructured.
Said roadmap is the basis for the table below showing the
status of each step and if completed - when the step was completed.
</p>
</summary>
<table class="cltable">
<thead>
<tr>
<th>#</th><th>Step</th><th>Status</th><th>Date</th>
</tr>
</thead>
<tbody>
<tr><td>0.</td><td>Install a Code Commenting plugin on Trac to
make it match the GitLab code commenting capabilities</td>
<td>Pending</td><td>&nbsp;</td></tr>
<tr><td>1.</td><td>Finish my experiments regarding the GitLab
setup / installation <br />
see <a href="https://mailman.common-lisp.net/pipermail/announcements/2015-March/000003.html">feedback solicited</a>
and <a href="gitlab-migration-repository-mapping/">mapping of repositories</a></td><td>Done</td><td>March 20, 2015</td></tr>
<tr><td>2.</td><td>Install GitLab on common-lisp.net (under the
gitlab.common-lisp.net domain? or should we prefer
git.common-lisp.net?)</td><td>Done</td><td>March 20, 2015</td></tr>
<tr><td>3.</td><td>Run the migration to create all users and
groups in GitLab</td><td>Done</td><td>March 20, 2015</td></tr>
<tr><td>4.</td><td>Import the CMUCL git repositories (using the
script to be used for all projects)</td><td>skipped</td><td>&nbsp;</td></tr>
<tr><td>5.</td><td>Run a trial period of 2 months with Raymond Toy
and CMUCL to iron out any unnoticed issues</td><td>skipped</td><td>&nbsp;</td></tr>
<tr><td>6.</td><td>Import the user's git repositories</td><td>Done</td><td>March 20, 2015</td></tr>
<tr><td>7.</td><td>Import all projects with Git
repositories</td><td>Done</td><td>March 20, 2015</td></tr>
<tr><td>8.</td><td>Turn off gitweb --&gt; introduce rewrite rules
to point to gitlab</td><td>Done</td><td>March 20, 2015</td></tr>
<tr><td>9.</td><td>Turn off git plugin for Trac --&gt; introduce
rewrite rules to point to gitlab</td><td>Done</td><td>March 20, 2015</td></tr>
<tr><td>10.</td><td>Turn off git-daemon (fully depend on https
checkouts)</td><td>Done</td><td>March 20, 2015</td></tr>
<tr><td>11.</td><td>Convert all project darcs repositories to git
--&gt; Notify all darcs project owners before we do about a
planning/timing</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>12.</td><td>Import the converted darcs repositories</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>13.</td><td>Convert users' darcs repositories<br />
--&gt; Notify all darcs users before we do about a
planning/timing</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>14.</td><td>Import converted users' darcs
repositories</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>15.</td><td>Turn off darcsweb webbrowsing --&gt; introduce
rewrite rules to point to gitlab</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>16.</td><td>Contact CVS repository owners to ask if they
want to migrate to Git (the default) or Subversion</td><td>In progress</td><td>April 19, 2015</td></tr>
<tr><td>17.</td><td>Convert CVS repositories to Subversion (where
requested / defaulted)</td><td>none requested</td><td>&nbsp;</td></tr>
<tr><td>18.</td><td>Convert CVS repositories to Git (where
requested / defaulted)</td><td>In progress</td><td>April 19, 2015</td></tr>
<tr><td>19.</td><td>Import git-converted CVS repositories</td><td>In progress</td><td>April 19, 2015</td></tr>
<tr><td>20.</td><td>Turn off ViewVC (Subversion & CVS) web-browsing<br />
--&gt; introduce rewrite rules to point to gitlab/Trac</td><td>In progress</td><td>April 19, 2015</td></tr>
<tr><td>21.</td><td>Turn off cvsd and related cron jobs</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>22.</td><td>Turn off svnserve (fully depend on https
checkouts)</td><td>&nbsp;</td><td>&nbsp;</td></tr>
</tbody>
</table>
</article>
</main>
</main>
<h1>Common Lisp Implementations</h1>
<div class="row">
<div class="col-lg-4 col-md-6">
<h2>SBCL</h2>
<p>
<a href="http://www.sbcl.org">Steel Bank Common Lisp (SBCL)</a> is a high performance Common Lisp compiler. It is open source / free software, with a permissive license. In addition to the compiler and runtime system for ANSI Common Lisp, it provides an interactive environment including a debugger, a statistical profiler, a code coverage tool, and many other extensions. SBCL runs on a number of POSIX platforms, and experimentally on Windows.
</p>
</div>
<div class="col-lg-4 col-md-6">
<h2>Clozure CL</h2>
<p><a href="https://ccl.clozure.com/">Clozure CL</a> (often called CCL for short) is a free Common Lisp implementation with a long history. Some distinguishing features of the implementation include fast compilation speed, native threads, a precise, generational, compacting garbage collector, and a convenient foreign-function interface.</p>
<p>
Clozure CL is distributed under the terms of the Apache License, version 2.0.
</p>
</div>
<div class="col-lg-4 col-md-6">
<h2>Embeddable CL</h2>
<p><a href="https://common-lisp.net/project/ecl/main.html">ECL (Embeddable Common-Lisp)</a> is an interpreter of the Common-Lisp language as described in the X3J13 Ansi specification, featuring CLOS (Common-Lisp Object System), conditions, loops, etc, plus a translator to C, which can produce standalone executables.</p>
<p>ECL supports the operating systems Linux, FreeBSD, NetBSD, OpenBSD, OS X, Solaris and Windows, running on top of the Intel, Sparc, Alpha, PowerPC and ARM processors.</p>
</div>
<div class="col-lg-4 col-md-6">
<h2>ABCL</h2>
<p><a href="https://common-lisp.net/project/armedbear/">Armed Bear Common Lisp (ABCL)</a> is a full implementation of the Common Lisp language featuring both an interpreter and a compiler, running in the JVM. Originally started to be a scripting language for the J editor, it now supports JSR-223 (Java scripting API): it can be a scripting engine in any Java application. Additionally, it can be used to implement (parts of) the application using Java to Lisp integration APIs.</p>
</div>
<div class="col-lg-4 col-md-6">
<h2>Clasp</h2>
<p><a href="https://github.com/clasp-developers/clasp">Clasp</a> is a new Common Lisp implementation that seamlessly interoperates with C++ libraries and programs using LLVM for compilation to native code. This allows Clasp to take advantage of a vast array of preexisting libraries and programs, such as out of the scientific computing ecosystem. Embedding them in a Common Lisp environment allows you to make use of rapid prototyping, incremental development, and other capabilities that make it a powerful language.</p>
</div>
</div>
<p>
For a complete list, see <a href="http://en.wikipedia.org/wiki/Common_Lisp#List_of_implementations">Wikipedia's big list of CL implementations</a>
</p>
---
title: Independent Mailing Lists
---
<div id="bodyText">
<h2 id="apply">How to apply</h2>
<p>You may apply for a mailinglist if it's Common Lisp-related
but doesn't really need an entire project. Please email admin
(at) common-lisp (dot) net. with the ideal name for your
mailinglist and a brief description.</p>
<div id="bodyText">
<h1>Independent Mailing Lists</h1>
<h2 id="apply">How to apply</h2>
<p>You may apply for a mailinglist if it's Common Lisp-related
but doesn't really need an entire project. Please email admin
(at) common-lisp (dot) net. with the ideal name for your
mailinglist and a brief description.</p>
</div>
<div id="bodyText">
<h2 id="lists">Lists</h2>
<table><tbody>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/blis">BLIS</a> by Pascal Constanza</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/boston-lisp">boston-lisp</a> by Dan Stranger</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/cl-debian">cl-debian</a> by Peter Van Eynde</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/cl-user">cl-user</a> by Arthur Lemmens</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/chicago-lisp">chicago-lisp</a> by Paul F. Dietz</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/eurolisp">eurolisp</a> by Tayssir John Gabbour and Arthur Lemmens</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/fm-lisp">fm-lisp</a> by Edi Weitz</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/hungarian-lispers">hungarian-lispers</a> by Attila Lendvai</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/l4-lisp">l4-lisp</a> by Julian Stecklina</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/lisp-game-dev">lisp-game-dev</a> by Brandon Edens</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/lisp-hh">lisp-hh</a> by Edi Weitz</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/lisppaste-requests">lisppaste-requests</a> by Brian Mastenbrook</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/ltk-user">ltk-user</a> by Peter Herth</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/mac-lisp-ide">mac-lisp-ide</a> by Brian Mastenbrook</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/mop-standard-discuss">mop-standard-discuss</a> by Daniel Barlow</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/munich-lisp">munich-lisp</a> by Jim Newton</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/regex-coach">regex-coach</a> by Edi Weitz</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/seattle">seattle</a> by Daniel Pezely</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/streams-standard-discuss">streams-standard-discuss</a> by Daniel Barlow</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/small-cl-src">small-cl-src</a> by Ingvar Mattsson and Mario Mommer</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/small-cl-src-discuss">small-cl-src-discuss</a> by Ingvar Mattsson and Mario Mommer</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/threads-standard-discuss">threads-standard-discuss</a> by Daniel Barlow</td></tr>
</tbody></table>
</div>
<div id="bodyText">
<h2 id="lists">Lists</h2>
<table><tbody>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/blis">BLIS</a> by Pascal Constanza</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/boston-lisp">boston-lisp</a> by Dan Stranger</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/cl-debian">cl-debian</a> by Peter Van Eynde</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/cl-user">cl-user</a> by Arthur Lemmens</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/chicago-lisp">chicago-lisp</a> by Paul F. Dietz</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/eurolisp">eurolisp</a> by Tayssir John Gabbour and Arthur Lemmens</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/fm-lisp">fm-lisp</a> by Edi Weitz</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/hungarian-lispers">hungarian-lispers</a> by Attila Lendvai</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/l4-lisp">l4-lisp</a> by Julian Stecklina</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/lisp-game-dev">lisp-game-dev</a> by Brandon Edens</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/lisp-hh">lisp-hh</a> by Edi Weitz</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/lisppaste-requests">lisppaste-requests</a> by Brian Mastenbrook</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/ltk-user">ltk-user</a> by Peter Herth</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/mac-lisp-ide">mac-lisp-ide</a> by Brian Mastenbrook</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/mop-standard-discuss">mop-standard-discuss</a> by Daniel Barlow</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/munich-lisp">munich-lisp</a> by Jim Newton</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/regex-coach">regex-coach</a> by Edi Weitz</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/seattle">seattle</a> by Daniel Pezely</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/streams-standard-discuss">streams-standard-discuss</a> by Daniel Barlow</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/small-cl-src">small-cl-src</a> by Ingvar Mattsson and Mario Mommer</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/small-cl-src-discuss">small-cl-src-discuss</a> by Ingvar Mattsson and Mario Mommer</td></tr>
<tr><td><a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/threads-standard-discuss">threads-standard-discuss</a> by Daniel Barlow</td></tr>
</tbody></table>
</div>
</div>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -5,6 +5,12 @@ $(document).ready(function(){
console.log(nextMenu.siblings(".menu").slideUp());
nextMenu.siblings(".menu").slideUp();
nextMenu.slideToggle();
})
});
/* Random Lisp quote in footer */
var $quotes = $('#quotes > div');
var $quote = $($quotes[Math.floor(Math.random() * $quotes.length)]);
});
\ No newline at end of file
$('#lisp-quote').html($quote.html());
});
<h1>Common Lisp Success Stories</h1>
---
title: Tools
---
<h1><i class="fa fa-wrench"></i> Common-Lisp.net Tools</h1>
<h2 id="trac">Trac</h2>
<!--
<p><a href="http://trac.common-lisp.net/">Click here to access Trac.</a>
<div class="tocbox">
<p>We are running Trac for projects who request it. It's a
fairly vanilla installation which resides in
<code>/project/&lt;project&gt;/trac</code> (on the filesystem)
and is writeable by the project administrator only. He/she may
choose to use <code>trac-admin</code> as per the documentation
to add milestones, components, etc. It's accessible through the web
as http://trac.common-lisp.net/&lt;project&gt;
<h4>Contents:</h4>
<ul>
<li><a href="#trac">Trac</a></li>
<li><a href="#rsync">Rsync service</a></li>
<li><a href="#viewcvs">Repository access</a></li>
</ul>
</div> -->
<h2 id="trac">Trac</h2>
<p><a href="http://trac.common-lisp.net/">Click here to access Trac.</a>
<p>We are running Trac for projects who request it. It's a
fairly vanilla installation which resides in
<code>/project/&lt;project&gt;/trac</code> (on the filesystem)
and is writeable by the project administrator only. He/she may
choose to use <code>trac-admin</code> as per the documentation
to add milestones, components, etc. It's accessible through the web
as http://trac.common-lisp.net/&lt;project&gt;
<p>The first thing you'll want to do after having logged in to your Trac
instance is to go to <em>Settings</em> and add your email address and
name. This will make your username show up in the Assign-To dropdown
list for tickets.
<p>The first thing you'll want to do after having logged in to your Trac
instance is to go to <em>Settings</em> and add your email address and
name. This will make your username show up in the Assign-To dropdown
list for tickets.
<h3 id="permissions">Permissions</h3>
<p>Everyone with a common-lisp.net account has a Trac user and password,
it is stored in $HOME/trac-info.txt. Please see it for your username
and password.
it is stored in $HOME/trac-info.txt. Please see it for your username
and password.
<p>Trac is configured such that anonymous users may not create or modify
the wiki (but may submit tickets) and authenticated users (ie. all
common-lisp.net users) can create or modify the wiki and submit tickets.
If you need to restrict this you can argue your case at <a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/clo-devel">
the clo-devel mailinglist</a> or use <code>trac-admin</code> to change
it for your project.
<h3 id="notifications">Notifications</h3>
<p>Notifications are automatically sent to the &lt;project&gt;-ticket@common-lisp.net
mailinglist and Reply-To is set to the &lt;project&gt;-devel@common-lisp.net list.
If you want to change this you may change <code>/project/&lt;project&gt;/trac/conf/trac.ini</code>
to suit your needs.
<!--
<h2 id="rsync">rsync service</h2>
<p>
All common-lisp.net projects are available through rsync. This makes syncing
webpages, source code or binaries to mirrors easy to manage for project members.
To see all projects available use <code>rsync common-lisp.net::</code>.
</p>
-->
<!-- <h2 id="viewcvs">Repository access</h2>
<p>Here at common-lisp.net we offer git, Subversion, darcs and CVS to our
projects. To view their repositories, use the following links:</p>
<ul>
<li><a href="/viewvc">ViewVC</a> [CVS and Subversion]</li>
<li><a href="/darcsweb.cgi">darcsweb</a></li>
<li><a href="/gitweb">GitWeb</a></li>
</ul>
-->
the wiki (but may submit tickets) and authenticated users (ie. all
common-lisp.net users) can create or modify the wiki and submit tickets.
If you need to restrict this you can argue your case at <a href="http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/clo-devel">
the clo-devel mailinglist</a> or use <code>trac-admin</code> to change
it for your project.
<h3 id="notifications">Notifications</h3>
<p>Notifications are automatically sent to the &lt;project&gt;-ticket@common-lisp.net
mailinglist and Reply-To is set to the &lt;project&gt;-devel@common-lisp.net list.
If you want to change this you may change <code>/project/&lt;project&gt;/trac/conf/trac.ini</code>
to suit your needs.
<!--
<h2 id="rsync">rsync service</h2>
<p>
All common-lisp.net projects are available through rsync. This makes syncing
webpages, source code or binaries to mirrors easy to manage for project members.
To see all projects available use <code>rsync common-lisp.net::</code>.
</p>
-->
<!-- <h2 id="viewcvs">Repository access</h2>
<p>Here at common-lisp.net we offer git, Subversion, darcs and CVS to our
projects. To view their repositories, use the following links:</p>
<ul>
<li><a href="/viewvc">ViewVC</a> [CVS and Subversion]</li>
<li><a href="/darcsweb.cgi">darcsweb</a></li>
<li><a href="/gitweb">GitWeb</a></li>
</ul>
-->
This diff is collapsed.
<h2>Why Common Lisp?</h2>
<ul>
<li><a href="http://www.gigamonkeys.com/book/introduction-why-lisp.html">Practical Common Lisp</a></li>
<li><a href="http://www.lispworks.com/products/myths_and_legends.html">Myths and Legends</a></li>
</ul>
This diff is collapsed.
......@@ -14,4 +14,4 @@
(with-open-file (stream filepath)
(let ((data (make-string (file-length stream))))
(read-sequence data stream)
data)))
data)))
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
$(document).ready(function(){
$('.dropdown').on('show.bs.dropdown', function(e){
$(this).find('.dropdown-menu').first().stop(true,true).slideDown(300);
});
$('.dropdown').on('hide.bs.dropdown', function(e){
$(this).find('.dropdown-menu').first().stop(true,true).slideUp(200);
});
});
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.