Hi!
We tried lisp (Linux) at school and I liked it very much, so I
downloaded the allegro-version for winXP. Works nice, but now I'm
having problems with install-asdf.
I have read the tutorial and some articles in the documentation but
couldn't understand what to do.
My .clinit.cl-file contains
(require :asdf)
(pushnew "D:/Lisp/acl81-express/" asdf:*central-registry* :test
#'equal)
and seems to work fine.
Now it's said that one should
"create a symlink to your .asd file from your registry folder:
cd /path/to/your/registry/
ln -s /path/where/you/put/asdf-install/asdf-install.asd ."
but I don't know where to put these lines. (computer-newbie!)
So helpless,
Carola
On Wed, 21 Nov 2007 07:56:56 -0800 (PST), Carola <·······@gmx.de> wrote:
> We tried lisp (Linux) at school
Nice! Which school was that?
> but I don't know where to put these lines. (computer-newbie!)
Maybe this one is easier for you:
http://weitz.de/starter-pack/
Edi.
--
Lisp is not dead, it just smells funny.
Real email: (replace (subseq ·········@agharta.de" 5) "edi")
Den Wed, 21 Nov 2007 07:56:56 -0800 skrev Carola:
> We tried lisp (Linux) at school and I liked it very much,
[...]
> but I don't know where to put these lines. (computer-newbie!)
How does the saying go? A newbie groks Lisp in a day, an experienced
programmer needs a week?
Cheers,
Maciej
On Nov 21, 7:56 am, Carola <·······@gmx.de> wrote:
> Hi!
>
> We tried lisp (Linux) at school and I liked it very much, so I
> downloaded the allegro-version for winXP. Works nice, but now I'm
> having problems with install-asdf.
>
> I have read the tutorial and some articles in the documentation but
> couldn't understand what to do.
>
> My .clinit.cl-file contains
>
> (require :asdf)
>
> (pushnew "D:/Lisp/acl81-express/" asdf:*central-registry* :test
> #'equal)
>
> and seems to work fine.
>
> Now it's said that one should
> "create a symlink to your .asd file from your registry folder:
>
> cd /path/to/your/registry/
> ln -s /path/where/you/put/asdf-install/asdf-install.asd ."
>
> but I don't know where to put these lines. (computer-newbie!)
>
> So helpless,
>
> Carola
Those a shell commands for unices (linux , freebsd, macintosh...) you
have to install cygwin to pretend that you are on unix http://www.cygwin.com/
. I don't use cygwin so I can't say anything more about this.
Quick fix is to download libraries manually and unpack them into you
libraries folder. For a quick start first download starter pack and
download all the libraries wuth it. I believe that's plenty for
start. Then modify your allegro initialization file clinit.cl, create
it if it doesn't exist in the directory where allegro is installed.
The code that should be added is described in here http://bc.tech.coop/blog/051004.html
If you have problems to download some asdf-system with a lot of
dependencies drop me a mail and I will mail it to you .
Why do you need libraries now? You need some time learning lisp , or
you have some specific interest area where you plan to use lisp.
Here's some thread with some lisp resources , books tutorials ,
videos ...
http://groups.google.com/group/comp.lang.lisp/browse_thread/thread/9d0080bd3be9ddea/9e0ab129d28fb21b?lnk=gst&q=slobodan+shameless+selfquoting#9e0ab129d28fb21b
cheers
Slobodan
C> Now it's said that one should
C> "create a symlink to your .asd file from your registry folder:
C> cd /path/to/your/registry/
C> ln -s /path/where/you/put/asdf-install/asdf-install.asd ."
C> but I don't know where to put these lines. (computer-newbie!)
unfortunately that won't work anyway because winxp doesn't have file
symlinks.
i'm not sure if there's some workaround for this, but what should definitely
work is:
(pushnew "D:/somewhere/asdf-install" asdf:*central-registry* :test #'equal)
here D:/somewhere/asdf-install is a folder where you've unpacked
asdf-install, it should contain file asdf-install.asd.
and you push this to asdf:*central-registry* list, so asdf will be able to
fint it.
you can do this with any asdf-loadable library, so you don't really need
asdf-install -- certainly it's nice when it's automatic, but often it's just
ok to unpack library and put it's directory into central registry.
i won't bet on asdf-install working correctly on ACL8.1 on vanilla XP, so
it's better use starter-pack as Edi suggests.
On Thu, 22 Nov 2007 12:38:49 +0200, "Alex Mizrahi" <········@users.sourceforge.net> wrote:
> unfortunately that won't work anyway because winxp doesn't have file
> symlinks.
It does, at least on NTFS:
http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
Also, this patched version of asdf (by David Lichteblau) has support
for Explorer shortcuts:
http://www.lichteblau.com/blubba/shortcut/asdf.lisp
AFAIK, this isn't part of the official distribution, though.
Edi.
--
Lisp is not dead, it just smells funny.
Real email: (replace (subseq ·········@agharta.de" 5) "edi")
??>> unfortunately that won't work anyway because winxp doesn't have file
??>> symlinks.
EW> It does, at least on NTFS:
EW> http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
those are HARD links. afaik you cannot deduce original directory from
hardlink you have, hence it's unusable for asdf purposes.
there are also symlink-like functionality for directories (called
junctions). as i understand they cannot be used by ASDF directly. however it
might be possible patch ASDF to use directory links instead of file links
for search.
Vista has symlinks, but i don't know if they work with ASDF.
EW> Also, this patched version of asdf (by David Lichteblau) has support
EW> for Explorer shortcuts:
that's why i wrote "i'm not sure if there's some workaround for this" -- i
remember some discussion on this issue several years ago.
also iirc clisp has built-in support to treat windows lnks as symlinks.
On Thu, 22 Nov 2007 16:23:57 +0200, "Alex Mizrahi" <········@users.sourceforge.net> wrote:
> EW> http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
>
> those are HARD links.
Right. I missed the part on that page where it says that the symbolic
links for files are only available on Vista.
Edi.
--
Lisp is not dead, it just smells funny.
Real email: (replace (subseq ·········@agharta.de" 5) "edi")
På Thu, 22 Nov 2007 15:35:16 +0100, skrev Edi Weitz <········@agharta.de>:
> On Thu, 22 Nov 2007 16:23:57 +0200, "Alex Mizrahi"
> <········@users.sourceforge.net> wrote:
>
>> EW> http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
>>
>> those are HARD links.
>
> Right. I missed the part on that page where it says that the symbolic
> links for files are only available on Vista.
>
> Edi.
>
There is a programmers interface for XP. NTFS hasn't changed. (I am readin
Microsoft Windows Internals and covered that last week.)
Here is an exerpt. (junction is also called soft link)
NOTE IN PARTICULAR
Windows doesn't include any tools for creating junctions, but you can
create a junction with either the Junction tool from
http://www.sysinternals.com (which includes source code) or the Windows
resource kits tool Linkd.
-------------------------------------------------
Hard Links and Junctions
A hard link allows multiple paths to refer to the same file. (Hard links
are not supported on directories.) If you create a hard link named
C:\Users\Documents\Spec.doc that refers to the existing file C:\My
Documents\Spec.doc, the two paths link to the same on-disk file and you
can make changes to the file using either path. Processes can create hard
links with the Windows CreateHardLink function or the ln POSIX function.
In addition to hard links, NTFS supports another type of redirection
called junctions. Junctions, also called symbolic links, allow a directory
to redirect file or directory pathname translation to an alternate
directory. For example, if the path C:\Drivers is a junction that
redirects to C:\Windows\System32\Drivers, an application reading
C:\Drivers\Ntfs.sys actually reads C:\Windows\System\Drivers\Ntfs.sys.
Junctions are a useful way to lift directories that are deep in a
directory tree to a more convenient depth without disturbing the original
tree's structure or contents. The example just cited lifts the drivers
directory to the volume's root directory, reducing the directory depth of
Ntfs.sys from three levels to one when Ntfs.sys is accessed through the
junction. You can't use junctions to link to remote directories—only to
directories on local volumes.
Junctions are based on an NTFS mechanism called reparse points. (Reparse
points are discussed further in the section "Reparse Points" later in this
chapter.) A reparse point is a file or directory that has a block of data
called reparse data associated with it. Reparse data is userdefined data
about the file or directory, such as its state or location, that can be
read from the reparse point by the application that created the data, a
file system filter driver, or the I/O manager. When NTFS encounters a
reparse point during a file or directory lookup, it returns a reparse
status code, which signals file system filter drivers that are attached to
the volume, and the I/O manager, to examine the reparse data. Each reparse
point type has a unique reparse tag. The reparse tag allows the component
responsible for interpreting the reparse point's reparse data to recognize
the reparse point without having to check the reparse data. A reparse tag
owner, either a file system filter driver or the I/O manager, can choose
one of the following options when it recognizes reparse data:
The reparse tag owner can manipulate the pathname specified in the file
I/O operation that crosses the reparse point and let the I/O operation
reissue with the altered pathname. Junctions take this approach to
redirect a directory lookup, for example.
The reparse tag owner can remove the reparse point from the file, alter
the file in some way, and then reissue the file I/O operation. The Windows
Hierarchical Storage Management (HSM) system uses reparse points in this
way. HSM archives files by moving their contents to tape, leaving reparse
points in their place. When a process accesses a file that has been
archived, the HSM filter driver (\Windows\System32\Drivers\Rsfilter.sys)
removes the reparse point from the file, reads the file's data from the
archival media, and reissues the access. Thus, the retrieval of the
offline data is transparent to a process accessing an archived file.
There are no Windows functions for creating reparse points. Instead,
processes must use the FSCTL_SET_REPARSE_POINT file system control code
with the Windows DeviceIoControl function. A process can query a reparse
point's contents with the FSCTL_GET_REPARSE_ POINT file system control
code. The FILE_ATTRIBUTE_REPARSE_POINT flag is set in a reparse point's
file attributes, so applications can check for reparse points by using the
Windows GetFileAttributes function.
EXPERIMENT: Creating a Junction
Windows doesn't include any tools for creating junctions, but you can
create a junction with either the Junction tool from
http://www.sysinternals.com (which includes source code) or the Windows
resource kits tool Linkd. The Linkd tool also lets you view the definition
of existing junctions, and Junction lets you view information about
junctions and other reparse point tags.
--------------
John Thingstad
On Thu, 22 Nov 2007 17:15:01 +0100, "John Thingstad" <·······@online.no> wrote:
>>> EW> http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
>>>
>>> those are HARD links.
>>
>> Right. I missed the part on that page where it says that the
>> symbolic links for files are only available on Vista.
>
> There is a programmers interface for XP. NTFS hasn't changed. (I am
> readin Microsoft Windows Internals and covered that last week.)
Please read again what I wrote. I was talking about symbolic links
for FILES. What you posted was about HARD links for FILES and
junctions ("symbolic links") for DIRECTORIES.
http://en.wikipedia.org/wiki/NTFS_junction_point
http://en.wikipedia.org/wiki/NTFS_symbolic_link
Edi.
--
Lisp is not dead, it just smells funny.
Real email: (replace (subseq ·········@agharta.de" 5) "edi")
P� Thu, 22 Nov 2007 11:38:49 +0100, skrev Alex Mizrahi
<········@users.sourceforge.net>:
> C> Now it's said that one should
> C> "create a symlink to your .asd file from your registry folder:
>
> C> cd /path/to/your/registry/
> C> ln -s /path/where/you/put/asdf-install/asdf-install.asd ."
>
> C> but I don't know where to put these lines. (computer-newbie!)
>
> unfortunately that won't work anyway because winxp doesn't have file
> symlinks.
> i'm not sure if there's some workaround for this, but what should
> definitely
> work is:
>
It does. Both hard and softlinks are a part of NTFS.
A shortcut is a softlink.
I have cygwin so I just use ln -s..
--------------
John Thingstad
On Thu, 22 Nov 2007 15:17:14 +0100, "John Thingstad" <·······@online.no> wrote:
> It does. Both hard and softlinks are a part of NTFS. A shortcut is
> a softlink.
No, a shortcut is not a softlink, it's a mechanism the "shell" is
supposed to understand and it also works with FAT32.
http://hyper.sunjapan.com.cn/~hz/win32/shellnk2.htm
Edi.
--
Lisp is not dead, it just smells funny.
Real email: (replace (subseq ·········@agharta.de" 5) "edi")
Thanks for all that help. I decided to use
"you can do this with any asdf-loadable library, so you don't really
need
asdf-install -- certainly it's nice when it's automatic, but often
it's just
ok to unpack library and put it's directory into central registry."
and it works like a charm. I'll try the other tips when I'm not that
green anymore.
"Nice! Which school was that? "
Maybe I'm missunderstood, we really learned Delphi (really easy-going
compared to Lisp), but our teacher just wanted to show that there are
completely different languages, so he gave some examples.
Happy greetings
Carola
JT> It does. Both hard and softlinks are a part of NTFS.
JT> A shortcut is a softlink.
JT> I have cygwin so I just use ln -s..
shortcuts do not work on FS or File API level (so it's not a feature of
NTFS, it works just on any FS Windows supports), each application should
explicitly add support for them, if it wants to.
if cygwin API emulates symlinks with shortcuts that's great, but how would
that help to Allegro CL which uses native APIs (as far as i know)?
P� Thu, 22 Nov 2007 16:55:52 +0100, skrev Alex Mizrahi
<········@users.sourceforge.net>:
>
> if cygwin API emulates symlinks with shortcuts that's great, but how
> would
> that help to Allegro CL which uses native APIs (as far as i know)?
>
>
Soft links are not shortcuts (My bad) they are called junctions in NTFS
and they have a programming API.
There is no user interface for it prior to Vista. One of the requirements
for NTFS was that I would be POSIX compliant. I belive Cygwin uses this
API.
sysinternals has a tool that allows you to create junctions and works with
Win 2K on up.
You can also get the source for this if you are interested in figuring it
out.
http://www.microsoft.com/technet/sysinternals/FileAndDisk/Junction.mspx
--------------
John Thingstad
??>> if cygwin API emulates symlinks with shortcuts that's great, but how
??>> would
??>> that help to Allegro CL which uses native APIs (as far as i know)?
??>>
JT> Soft links are not shortcuts (My bad) they are called junctions in NTFS
JT> and they have a programming API.
oh man, don't teach my about windows, i'm kinda expert in this area.
i've said: "winxp doesn't have _file_ symlinks".
and it's 100% true.
junctions are DIRECTORY symlinks, not FILE symlinks, and are thus unusable
for ASDF purposes directly.
JT> There is no user interface for it prior to Vista.
i'm using FAR Manager, there making a link is as easy as copying files.
JT> One of the requirements for NTFS was that I would be POSIX compliant.
JT> I belive Cygwin uses this API.
i believe it doesn't.
JT> sysinternals has a tool that allows you to create junctions and works
JT> with Win 2K on up.
i'm using them for quite a long time already
Alex Mizrahi wrote:
> ??>> if cygwin API emulates symlinks with shortcuts that's great, but how
> ??>> would
> ??>> that help to Allegro CL which uses native APIs (as far as i know)?
> ??>>
> JT> Soft links are not shortcuts (My bad) they are called junctions in NTFS
> JT> and they have a programming API.
>
> oh man, don't teach my about windows, i'm kinda expert in this area.
> i've said: "winxp doesn't have _file_ symlinks".
> and it's 100% true.
> junctions are DIRECTORY symlinks, not FILE symlinks, and are thus unusable
> for ASDF purposes directly.
>
> JT> There is no user interface for it prior to Vista.
>
> i'm using FAR Manager, there making a link is as easy as copying files.
Another lisper using the FAR Manager :)
By any chance, do you know of any good FAR syntax colorizer plugin
(lisp, or other languages) - or any other that might be good for lisp
development.
Cheers!
DmS> Another lisper using the FAR Manager :)
DmS> By any chance, do you know of any good FAR syntax colorizer plugin
DmS> (lisp, or other languages) -
well, i think there's only one colorizer plugin for FAR: colorer
http://colorer.sourceforge.net/
current version (5) got major improvement in lisp coloring support comparing
to , which was confused by quotes.
colorer has flexible configuration, so you can improve coloring if you don't
like it -- see colorer/hrc/common.jar/rare/lisp.hrc
DmS> or any other that might be good for lisp
DmS> development.
i was going to make a plugin once, but it didn't go farther than going, and
soon SLIME appeared, which was made development in Emacs quite usable, so
i've abandoned plugin idea. i'm still using FAR to find stuff in files, look
them through and doing small changes, but for development itself i'm using
XEmacs.