Категория: Windows: Средства разработки
LispWorks Personal Edition 6.0.1 представляет собой качественную интегрированную среду разработки, которая предназначена для работы с таким языком программирования, как Common Lisp. Приложение LispWorks Personal Edition также возможно встроить в прямо в IDE или использовать устанавливаемые тулбары для удобного и очень быстрого доступа ко всем функиям.
Возможности LispWorks Personal Edition:
Смотрите также программы:
An implementation of ANSI Common Lisp running on Windows, Linux, Mac OS X, FreeBSD and UNIX
LispWorks Personal Edition is an implementation of ANSI Common Lisp running on Windows, Linux, Mac OS X, FreeBSD and UNIX.
Moreover, LispWorks Personal Edition is a tool that is source code compatible across all supported platforms.
Furthermore, LispWorks Personal Edition offers many features including an advanced Common Lisp compiler, interpreter, runtime system, language extensions and the Common LispWorks IDE.CURRENT VERSION: 6.1.1 FILE SIZE: 51 MB DEVELOPER: LispWorks Ltd HOMEPAGE: www.lispworks.com RUNS ON: Mac OS X 10.3 or later (Universal Binary) CATEGORY: Home \ Developer Tools LAST UPDATED ON: May 7th, 2015
LispWorks is a commercial implementation and IDE for the Common Lisp programming language.
The Personal Edition is intended for personal and educational Lisp programming. As a contribution to the Common Lisp community, we make LispWorks Personal Edition available free of charge. While the Personal Edition includes the full Common Lisp compiler and the LispWorks integrated development environment, it does limit program size and duration and it does not support delivery of runtimes. More Info »
The Professional Edition includes everything you need for commercial Common Lisp software development and application delivery. CLIM 2.0 is included to allow support of legacy applications on Windows and Motif.
LispWorks Enterprise Edition includes all the features of the Professional Edition, and provides further support for software needs of the modern enterprise, including:
Database access via ODBC or native Oracle, PostgreSQL and MySQL interfaces through Common SQL.
Industry standard distributed computing through LispWorks ORB.
Expert system programming through KnowledgeWorks® which has an embedded Prolog compiler.
Applications developed with the Enterprise Edition in version 4.2 and later can be distributed free of charge.
This is something I started in 2006 and at that time it seemed to make sense. Now (2011), you should try Zach Beane's Quicklisp instead. I'm not planning to maintain the starter pack anymore.
This is an attempt to help Common Lisp newcomers getting started. The aim is to quickly set up a comfortable working environment which includes a couple of useful and/or popular open source libraries. It is targeted at the Microsoft Windows platform (but see below ) and obviously heavily influenced by the author's personal preferences.
If you're using this document and the accompanying application. I'd like to hear from you. Whether you like it or not, feedback is always appreciated. See my homepage for my email address.
[The current version is 0.6.2. Ignore the screen shot if it shows another number.]Introduction
It has happened to me a couple of times that people who wanted to learn Common Lisp asked me for help or advice because they struggled with the basics, or rather with seemingly peripheral problems that prevented them from doing the "real stuff." These problems are usually related to setting up a working environment and to using open source libraries. I faced very similar issues when I started learning Lisp in 2000, and although the situation has improved since (you'll find much more introductory material on the web, and the library situation is significantly better), to many it still seems hard to reach a state where you can concentrate on learning the language and write a simple program.
I usually tried to help by setting up a little "starter pack" which (I think) was easy to use and included the libraries the person wanted to deploy in a state ready for immediate usage. My experience with this "starter pack" has been quite good, and so I decided to polish it a bit, make it customizable, and publish it, so I can point people to this website the next time I'm asked.
Feel free to use this document and the accompanying little application as you see fit, but be aware that all of this will only really work if you're willing to follow my lead, specifically if you're using the same Lisp implementation I do - see FAQ for more about this topic.Prerequisites
I assume that you are interested in Common Lisp and want to learn it. This document is not intended to convince you that Lisp is a great programming language. If you need some encouragement first, start with Pascal Costanza's very good guide.
I also take for granted that you've found good introductory material which explains the syntax and semantics of Common Lisp. If you haven't done so already, you should definitely take a look at Peter Seibel's great tutorial Practical Common Lisp . I'd recommend buying the dead-tree version. but note that it's also available as a free download from Peter's website and (as a PDF) from the Apress website.
Finally, if for religious or political reasons you only want to use "free" software and Windows and/or LispWorks don't fit with your definition of free. then this text isn't for you.
As for technical requirements, you should use Windows 2000, XP, or Vista with all updates and service packs installed. What I describe here most likely won't work with older Windows versions - you have been warned.Installation Here's a step-by-step explanation of how to set up your environment:
Now start LispWorks and, as your very first step, use the File menu to Load. (and not only Open. ) the file start.lisp that got installed in a directory called "Lisp Libraries" within your "My Documents" folder. (Of course, depending on your language settings, "My Documents" might have another name, for example "Eigene Dateien" in German.) LispWorks will now start to work frantically to compile some libraries. Just wait until it's finished. (Don't worry - this lengthy compilation only happens the first time after you've installed the libraries.)
It is assumed that you don't use LispWorks' Windows editor emulation. by the way. If you do, many of the key bindings described below won't work.
Unfortunately, you will have to load start.lisp every time you start LispWorks. LispWorks knows the concept of an initialization file which is read on startup and you could use start.lisp as your initialization file - but one of the deliberate limitations of the Personal Edition is that it doesn't read initialization files. If this annoys you very much, you should consider to use the Windows Scripting Host to automate this task - see Bill Clementson's blog for hints.It is generally a good idea to familiarize yourself with new tools you plan to use extensively. In this case, this means that you will have to learn how to use LispWorks. Spend a couple of days (yes, I said days !) playing with the editor and the various other tools the IDE has to offer. I'd suggest to read at least the following parts of the LispWorks documentation.
Try to navigate this file not only with the cursor keys you know from other Windows apps but with the special commands to navigate Lisp expressions - for example Forward Form ( Alt+Ctrl+F ), Backward Form ( Alt+Ctrl+B ), Backward Up List ( Alt+Ctrl+U ), Transpose Forms ( Alt+Ctrl+T ), Forward Kill Form ( Alt+Ctrl+K ), Indent Form ( Alt+Ctrl+Q ) and so on. (These are all explained in the Editor User Guide. of course).Use these and similar commands until they become second nature.
If you then press the Space key, you'll see at the bottom of the listener (in the so-called "echo area") the argument list of the MULTIPLE-VALUE-BIND macro.Now press F5 - your browser will open up the corresponding entry of the Common Lisp HyperSpec. This will work with all symbols from the ANSI standard as well as with all LispWorks-specific functionality and also with a couple of libraries like for example CL-PPCRE. (See the LW-ADD-ONS documentation for more details.)
In the listener, if you're at the very beginning of a new line (i.e. behind the > prompt), type a comma. In the echo area, you will now be prompted for a shortcut.
Type an L (the abbreviation for " L oad ASDF System") and the Return key. The echo area now prompts for the name of the system to load. Type hun then press the Tab key. The name of the system will automatically be completed to hunchentoot. Press Return to compile and load the library.
Now do the same to load the hunchentoot-test library. (Note that you can type hun and hit Tab and you will get hunchentoot as a partial completion. Now type - (a hyphen) and Tab and you'll get hunchentoot-test .)
(Note: We loaded the two libraries individually for educational purposes. It would have been enough to just load hunchentoot-test because ASDF would've taken care of loading hunchentoot as well.)
Evaluate the form in the listener (don't forget to use completion with the Tab key to save some typing) and then enter the address http://localhost:9999/hunchentoot/test into your favorite web browser. Your Lisp now acts as a web server.
(Note: If you have a firewall or other security software installed, it will probably ask you whether it is OK that LispWorks uses port 9999. You should obviously answer with "yes" to reproduce what is described here.)See the documentation for Hunchentoot for more info.
Load the library clsql-sqlite3 (not clsql-sqlite !) as described above. You can now interact with an SQLite3 database of your choice. Here's an example session: You can of course replace "c:/tmp/example.db" with some other filename. For this example you should choose a file which doesn't exist yet.See the CLSQL documentation for more details.
Load the libraries drakma and cl-fad as described above. Here's an example that grabs an image from the Internet and displays it in LispWorks: Remember: If there are any commands in the code above that you don't understand, click on them and press F5.
See the documentation for Drakma and CL-FAD for more info.
A major goal of this "starter pack" is to initially shield you from the complexities of ASDF. But sooner or later you will have to learn what it is and how to use it. So, here we go:
ASDF is a system definition facility. It can be used, amongst other things, to define which source files belong to a library and in which order they have to be compiled and loaded. In this respect it is pretty similar to make. There are other, similar systems like MK:DEFSYSTEM or LispWorks' Common Defsystem. but the dominant system for open source libraries nowadays is ASDF.
An ASDF system is described by a file with the .asd suffix. If you instruct ASDF to load a system called "foo", it will try to find the foo.asd file and proceed from there. If you plan to only use ASDF to load libraries others have written, you only need to know how to tell ASDF where to look for these "system definitions." This is done via the special variable ASDF:*CENTRAL-REGISTRY* which is a list of pathname designators denoting directories. (I'm simplifying a bit. See the ASDF manual for all the gory details.)
On a Unix-y platform, most ASDF users really have one central registry which is a directory to which they symlink all the system definitions they have on their hard disk. Since Windows doesn't have symbolic links (yeah, yeah, I know about "reparse points" aka "junction points"), you have to use another approach. The approach the "starter pack" uses is to put all libraries into one directory, parse this directory for sub-directories which contain system definitions, and add these sub-directories to ASDF:*CENTRAL-REGISTRY*. This happens when start.lisp is executed.
So, in order to add new Lisp libraries you've downloaded manually, just unpack them into the "Lisp Libraries" folder mentioned above. ASDF will know about this library after you've restarted LispWorks and executed start.lisp again. As an alternative, you can evaluate in the current session.
This works fine unless you have different versions of the same library in the "Lisp Libraries" folder. So, don't do that.
For a slightly different approach to using ASDF on Windows see the Windows note here.Your own code For the reasons explained above. it is recommendable that you also use ASDF for your own stuff. Here's a very simple recipe which you can use to organize your own code until you feel ready for more complex setups. In this example, we're creating a system called "foo":
The file packages.lisp should always be there and it should always be the first one (see next point). file1.lisp through file3.lisp are supposed to be the files containing your source code and of course there can be more (or less) than three and they can have different names.The :SERIAL option means that your files will be compiled and loaded in the order they are specified. The list after :DEPENDS-ON lists the libraries the presence of which your code will require in order to work. Replace :CL-PPCRE and :CLSQL with what your code really needs.
If you edit code, don't (re)define functions in the listener. Instead, edit directly within the source files and use the editor's compilation commands.
For a more detailed explanation of ASDF see Mario Mommer's howto.What does the starter pack do?
Once you've understood how ASDF works, it is pretty easy to understand what LispStarterPack.exe does: It downloads the libraries you've specified and unpacks them into the "Lisp Libraries" folder. It also puts ASDF itself there as well as the file start.lisp which is pulled from my my website. start.lisp. which is supposed to be loaded after you've started LispWorks, tells ASDF where to look for system definitions and sets up some stuff for LW-ADD-ONS.
If you've selected CLSQL amongst the libraries you want to download, the DLL for SQLite will also be downloaded and start.lisp will modify the PATH environment variable so Windows will find this DLL while LispWorks is running. (If you want to play with CLSQL, you can also connect to an ODBC source or to a PostgreSQL database using the socket back-end. For other types of SQL databases, like Oracle or MySQL. you will have to install the corresponding DLLs yourself.)
The source code for LispStarterPack.exe including this website is available from http://weitz.de/files/starter-pack.tar.gz and the program can download and install its own source code in case you want to inspect it. (Load the starter-pack system and call the function STARTER-PACK:MAIN .)
Note: Currently (as of August 16, 2006) the program has to use an unreleased version of ZIP which I keep at http://weitz.de/files/zip-cvs-2006-08-16.tar.gz on my website. The latest release version doesn't work with Windows and/or LispWorks. This will be changed as soon as a new release is out. See also next section.Potential problems
Due to the approach I've chosen, several things can potentially go wrong:
The URLs for the libraries are hard-coded into the application. So, if the author decides to change the URL, you won't be able to download this library anymore. If you see this happen, please contact me so I can release a corrected version of LispStarterPack.exe.
For a better, albeit not perfect approach to deal with this problem, see ASDF-INSTALL.
The same applies to library dependencies which might change without me noticing. If something goes wrong, you should always check first if you're using the newest version of this starter pack, though.
Most of the URLs are chosen to automatically pick up the newest version of the corresponding library. Of course, it can happen that a newer version breaks or simply doesn't work with Windows and/or LispWorks anymore. You can email me if this happens to you, but I probably can't do anything about it.
If you are using a proxy to connect to the Internet, then LispStarterPack.exe probably can't download anything. It will query the Windows registry for the static proxy settings and adhere to them, but it won't be able to cope with per-connection proxy settings or with proxies which require authentication.Customization
If you have a file called .lw-init.lisp (note the initial dot) in your home directory, this will be automatically loaded after start-lisp. so you can put arbitrary initialization code her.
You can also add libraries to the ones that are hard-coded into the application if you want. Likewise, you can overwrite the default download URLs. This is done by creating a file called config.lisp in the same directory where the application resides. The application will read this file when it starts up and it will add library definitions found therein to the ones it already knows. A library definition in this case is a Lisp list with three or more elements where the second and third elements are strings and all other elements are keywords. The first element is the name of the library which will be shown in the graphical user interface next to the checkbox and which is used to uniquely identify the library. The second element is a textual description which will be used for the tooltip. The third element is the download URL. And the following elements (if any) denote other libraries this one depends on. These libraries must also be known to the application or it will refuse to start.
An example config file could look like this: The first expression adds the CL-WBXML library to the ones which should be downloaded, and the second one replaces the default download URL for the UFFI library with one that always loads version 1.5.15. The second expression replaces the original UFFI definition because the keyword :UFFI uniquely identifies this library.
Download URLs must always be HTTP or HTTPS (see this remark about SSL) URLs, and the types of the archives that are downloaded must be .zip. tar. tar.gz. or .tar. Libraries added this way must obviously have an ASDF system definition in order to be useful. Most code you will find at (for example) the Common Lisp Directory. CLiki. and Common-Lisp.net will have one.
For another example for a config file see the lispbuilder project.
No, these aren't really frequently asked questions - nobody has asked any questions yet. But you probably want to ask some of these questions once you've read the website, so why not give an answer in advance. )
If you don't know what I'm talking about below, just skip this section.
The original "starter pack" this document is based on was created for Windows users so I simply decided to leave it like that. There are actually two reasons for this decision: First of all, it involves much more work to prepare something that works equally well on a variety of operating systems. I don't have the time to do that. Secondly, I think that the situation for Lisp newbies who are on Linux or OS X is significantly better than for Windows users: Lisp open source hackers seem to favor these platforms and thus support for them is better, Emacs (and thus SLIME ) works better than on Windows, and you can even expect "native" packaging systems like Debian's apt. Gentoo's emerge or OS X's Fink to help with Lisp installations.
LispWorks for Macintosh [http://www.lispworks.com/products/lwm.html] is a commercial implementation of ANSI Common Lisp [http://www.lisp.org/]. A Free Personal Edition is available [http://www.lispworks.com/downloads/].
LispWorks has a greater than 15 year tradition on the Unix and Windows platforms. Since July 2003 a port of LispWorks to Mac OS X is available.
One of the outstanding features of LispWorks is its cross-platform GUI lib. It makes it possible that LispWorks has the same extensive integrated development environment on Windows, GTK+, X11/Motif and Mac OS X / Cocoa.
Lispworks screenshot gallery: http://lemonodor.com/lwm-4.3-os-x/1.shtml
On the Mac, the whole development environment has been ported to Cocoa - which is pretty cool:
On the Mac, the X11/Motif version is also included: http://lemonodor.com/lwm-4.3-os-x/thumb/lwm1.jpg.
LispWorks has a fast incremental compiler and compiles directly to native machine code.
Like any implementation of ANSI Common Lisp, LispWorks supports CLOS, the Common Lisp Object System. CLOS provides the Lisp developer with a rich facility for object-oriented programming (objects, classes, slots, generic functions, methods, meta classes, multiple inheritance, multi-dispatch. ).
LispWorks has a lot of additional features like threads, meta-object protocol, database access, Prolog, Corba support, etc.
With the Professional and Enterprise editions of LispWorks one can write and deliver royalty-free Common Lisp applications.
LispWorks has a documented Cocoa interface ([http://www.lispworks.com/documentation/lw60/OBJC/html/objc.htm]).
CocoaDev Un-Wiki — CocoaDev — Powered by Markdoc ; Content repository hosted by Github ; Site hosted and curated by Joshua Nozzi ; All content is public domain.
From: gnubeard on 25 Sep 2009 07:48 For those annoyed with the 5-hour timeout in LispWorks Personal
You can disable the time-out by using the library interposition
After N seconds have passed, the bogus gettimeofday() function should
This will prevent LispWorks from prompting you about the impending
timeout, and will allow
Lisp code to continue running past the 5-hour mark. Code running in
Lisp will, however, always get the bogus time - so code dependent on
proper clock values won't work right.
Depending on your application, you may be able to get around this by
avoiding LispWork's internal time functions and getting the time
through some other fashion.
Alternatively, you can constrain the time to some interval (with some
modulo arithmetic, for example), but when the clock first rolls back
LispWorks will prompt. Click continue, and you're all set. It won't
time out, and it doesn't appear to prompt again.
For those offended by the mildly unethical nature of this post, I
apologize. For those whom this helps in some small way, you're
For those that can't write the small amount of C code needed to make
A better way would be to slow down the clock. If you make 1 s from
gettimeofday = 4 s real time, you get 20 hours of work, and everything
should still work well (as if the processor was four times faster,
From: Espen Vestre on 25 Sep 2009 09:34 pjb(a) informatimago.com (Pascal J. Bourguignon) writes:
Or, you could simply appreciate the good work the LispWorks guys do and
buy one Professional Edition License!
From: kodifik on 25 Sep 2009 10:15 On Sep 25, 1:48 pm, gnubeard <gnubeard(a) gmail.com> wrote:
with no possible internet connection: One just had to twiddle the
^______ tails ______^
Отправлено 10 Январь 2013 - 06:29
LispWorks Ltd с радостью сообщает о выходе версии LispWorks 6.1.1 PersonalEdition для Windows, Macintosh, Linux, FreeBSD и x86/x64 Solaris.
LispWorks Personal Edition доступна для загрузки бесплатно.
Ядро этой версии LispWorks Personal Edition обновлено до версий Professional иEnterprise Editions.
Полный список изменений доступен по адресу:
Загрузить LispWorks Personal Edition можно по адресу:
common lisp, lisp, lispworks, программирование
Email: firstname.lastname@example.orgСколько оперативной памяти использует Adguard? Чат для общения городская легенда http:/. 0 dengislots.com - Игровые автоматы онлайн. 0 Intel Xeon E7 v4 0
Компьютерная техника - Процессоры IPSERVER.SU - выделенные серверы, виртуа. 0 Интернет-магазин Цитрус — гаджеты и аксе. 0
Сайты - Интернет-магазины Microsoft Surface Pro 4 0 Nexus 6P 0
Компьютерная техника - Смартфоны Nexus 5X 0
Компьютерная техника - Смартфоны
Какой марке компьютерной техники вы доверяете?