I just downloaded ACL 4.3 For Linux from www.franz.com. I haven't unpacked and installed it yet. I have some concerns about the license that bother me. I was wondering if someone from Franz could clear them up for me.
My first concern is with the expiration of the license. It expires on 1, Jan 1999. That doesn't give me much time to try it out. I suppose I should have read the license before downloading the software instead of after, but there was no indication of an expiration before getting to the download page.
My second concern is with this part:
> 2. LIMITATIONS ON LICENSE. The license granted in Section 1 is > subjectto the following restrictions:
> a. The Software is to be used only for non-commercial purposes > unless you obtain Franz's prior written consent otherwise. Prohibited > commercial purposes include, but are not limited to:
> (iv) using the Software to develop an application which is ported to > other platforms for commercial distribution;
Suppose I develope code which compiles under both ACL 4.3 For Linux and CMUCL. I then decide that the software I have written has some commercial value, so I decide I want to sell it. I build it with CMUCL or some derived CL environment and create a commercial distribution. Is this a violation of the quoted portion of the license? I would probably have tested the source code under ACL.
My second concern may be a moot point, unless Franz extends the license. There is no way I can write anything significant before the end of the year. Or the millenium probably.
>My first concern is with the expiration of the license. It expires on >1, Jan 1999. That doesn't give me much time to try it out.
ACL 5 is out already so I guess the other option is to use that. ACL 5.0 under windows is very nice if you are used to the Delphi/Visual Basic type of interface for building applications. I'm not sure if the Linux version has this as well.
* David Steuber <trash...@david-steuber.com> | My first concern is with the expiration of the license. It expires on | 1, Jan 1999. That doesn't give me much time to try it out.
so go get 5.0, then. what _is_ it that is so hard about this?
* "Chris Double" <ch...@cnd.co.nz> | ACL 5.0 under windows is very nice if you are used to the Delphi/Visual | Basic type of interface for building applications. I'm not sure if the | Linux version has this as well.
no, the IDE has not been ported to any Unix version.
"Chris Double" <ch...@cnd.co.nz> writes: > David Steuber wrote in message ...
> >My first concern is with the expiration of the license. It expires on > >1, Jan 1999. That doesn't give me much time to try it out.
> ACL 5 is out already so I guess the other option is to use that. ACL 5.0 > under windows is very nice if you are used to the Delphi/Visual Basic type > of interface for building applications. I'm not sure if the Linux version > has this as well.
My impression of VB was hate on first site. I really hope I wouldn't be locked into that model under Linux.
Maybe I should just wait for 5.0. Will 4.3 stop working when the license expires, or am I bound by honor to remove it? In any case, I am not interested in pirate ware.
David Steuber <trash...@david-steuber.com> writes: > "Chris Double" <ch...@cnd.co.nz> writes:
> > David Steuber wrote in message ...
> > >My first concern is with the expiration of the license. It expires on > > >1, Jan 1999. That doesn't give me much time to try it out.
> > ACL 5 is out already so I guess the other option is to use that. ACL 5.0 > > under windows is very nice if you are used to the Delphi/Visual Basic type > > of interface for building applications. I'm not sure if the Linux version > > has this as well.
> My impression of VB was hate on first site. I really hope I wouldn't > be locked into that model under Linux.
i agree.
> Maybe I should just wait for 5.0. Will 4.3 stop working when the > license expires, or am I bound by honor to remove it? In any case, I > am not interested in pirate ware.
why not try 5.0? it is out of beta. ignore the silly webpage, go straight for the ftp site.
ftp.franz.com:/pub/linux/acl50/redhat[45].tar
redhat 4 is libc5 and redhat 5 is libc6 (aka glibc2). they really don't have much to do with redhat other than the name. the tars will unpack and can be installed on any linux system.
i am using eli with emacs. i am still lost as to how to work with lisp/emacs/eli in the sense of how do i edit files? how do i compile them? how do i best run my resulting code &c. but i am reading the readme.htm that came with eli and moving along slowly.
-- Johan Kullstam [joha...@idt.net] Don't Fear the Penguin!
* David Steuber <trash...@david-steuber.com> | Do I need both tar files? Or is there a tar.gz now?
you need only one, unless you have both libc5 and libc6 systems.
ftp.franz.com can give you a .tar or a .tar.gz if you just tack the suffix onto any file or directory name, and does .gz for any file. just ask for it, you'll get it. most modern FTP servers do this, which is a boon for people who use _real_ FTP clients, compared to the losers who use "browsers" and can only get what they see.¹
not that it will help a lot in this case, since the .tar file contains a .zip file that has be unzipped with a password you get after following the instructions in the README file. (maybe I shouldn't have said that -- people who can't read README files maybe shouldn't be allowed to play with power languages.)
#:Erik ------- ¹ semi-involved pun puzzle -- if people came with documentation, could men get the womanual?
-> why not try 5.0? it is out of beta. ignore the silly webpage, go -> straight for the ftp site. -> -> ftp.franz.com:/pub/linux/acl50/redhat[45].tar -> -> redhat 4 is libc5 and redhat 5 is libc6 (aka glibc2). they really -> don't have much to do with redhat other than the name. the tars will -> unpack and can be installed on any linux system.
I'm pulling in the files now. I mean as I type this, not as you read this ;-)
-> i am using eli with emacs. i am still lost as to how to work with -> lisp/emacs/eli in the sense of how do i edit files? how do i compile -> them? how do i best run my resulting code &c. but i am reading the -> readme.htm that came with eli and moving along slowly.
I've been using ILISP with CMUCL. It is a pretty cool package. With luck, I can use it with ACL.
"Hackers penetrate and ravage delicate, private, and publicly owned computer systems, infecting them with viruses and stealing materials for their own ends. These people, they're, they're terrorists."
David Steuber <trash...@david-steuber.com> writes: > Johan Kullstam <joha...@idt.net> writes: > -> i am using eli with emacs. i am still lost as to how to work with > -> lisp/emacs/eli in the sense of how do i edit files? how do i compile > -> them? how do i best run my resulting code &c. but i am reading the > -> readme.htm that came with eli and moving along slowly.
> I've been using ILISP with CMUCL. It is a pretty cool package. With > luck, I can use it with ACL.
what is the story with ilisp? does it come with emacs or not? there is an inferior-lisp package already with my emacs. i downloaded ilisp and installed that and didn't get much further than a 5 minute session with C-h m.
anyhow, i've dumped emacs' own inferior-lisp and ilisp in favor of eli. eli afaik is fairly tied to ACL but that's ok assuming ACL is half as good as its reputation around here.
i got the updated eli (look at the franz site for an emacs directory) and went to make. the build barfed since i'm running emacs 20.3 and i took out the emacs-18 compatibility flag in the config. then it compiled smoothly.
well i followed the eli instructions and put a `load eli' into my .emacs file.
i now get franz-lisp-mode when i visit a file with a .l (for *l*isp) ending. first it cursed about me not having rsh. i installed rsh and it made eli happy to fire off a slave lisp process. (i don't use rsh for anything else, can i remove the dependency on it?)
i have lost most of the party colors of emacs lisp-mode with font-lock-mode. (is it worth it to try to restore the colors or is common-lisp better without a syntax guesser?)
i can pop between source editor and slaved lisp process with C-c l. C-c C-b compiles. so far so good. i can type in the little function examples from grahams books and try them out in the lisp slave. is this how you do it in general?
i am still a bit stumped about how the process is supposed to work. my books are a bit sketchy on the particulars of the environment (not their fault since there are lot of implementations and such but it is still hard to know how to proceed). using make and command line compile commands and getting a normal unix executable as with C or fortran doesn't seem to be the right thing with lisp.
someone let me know if i am going down a wrong path and i'd be grateful for a hint or two on my way forward.
-- Johan Kullstam [joha...@idt.net] Don't Fear the Penguin!
-> * David Steuber <trash...@david-steuber.com> -> | Do I need both tar files? Or is there a tar.gz now? -> -> you need only one, unless you have both libc5 and libc6 systems. -> -> ftp.franz.com can give you a .tar or a .tar.gz if you just tack the -> suffix onto any file or directory name, and does .gz for any file. just -> ask for it, you'll get it. most modern FTP servers do this, which is a -> boon for people who use _real_ FTP clients, compared to the losers who -> use "browsers" and can only get what they see.¹
Another useful feature of a 'real' ftp client (I used the command line version that comes with SuSE 5.3) is reget works. Very useful when the server pauses long enough for the ISDN connection to think it is finished and hang up.
-> not that it will help a lot in this case, since the .tar file contains a -> .zip file that has be unzipped with a password you get after following -> the instructions in the README file. (maybe I shouldn't have said that -> -- people who can't read README files maybe shouldn't be allowed to play -> with power languages.)
I've always wondered what those README files were for. I wonder if emacs can open one?
-> #:Erik -> ------- -> ¹ semi-involved pun puzzle -> -- -> if people came with documentation, could men get the womanual?
Available in stores everywhere: "Take out the garbage, lard ass!: A simple man's guide to women" By Glory Steinbrenner.
"Hackers penetrate and ravage delicate, private, and publicly owned computer systems, infecting them with viruses and stealing materials for their own ends. These people, they're, they're terrorists."
-> David Steuber <trash...@david-steuber.com> writes: -> -> > I've been using ILISP with CMUCL. It is a pretty cool package. With -> > luck, I can use it with ACL. -> -> what is the story with ilisp? does it come with emacs or not? there -> is an inferior-lisp package already with my emacs. i downloaded ilisp -> and installed that and didn't get much further than a 5 minute session -> with C-h m.
I'm not sure. I'm using XEmacs. islisp.el(c) is in the XEmacs source tree, but not the Emacs source tree.
-> i got the updated eli (look at the franz site for an -> emacs directory) and went to make. the build barfed since i'm running -> emacs 20.3 and i took out the emacs-18 compatibility flag in the -> config. then it compiled smoothly. -> -> well i followed the eli instructions and put a `load eli' into my -> ..emacs file.
It looks like I will need to fetch eli. You use it. Erik uses it. It seems to be the tool for using with Franz ACL. No point in using the wrong tool for the job.
For switching back and forth, I'll have to see if I can set up the key bindings to be as similar as possible.
-> i now get franz-lisp-mode when i visit a file with a .l (for *l*isp) -> ending. first it cursed about me not having rsh. i installed rsh and -> it made eli happy to fire off a slave lisp process. (i don't use rsh -> for anything else, can i remove the dependency on it?)
I use rsh for loging on to my other machine. Over the course of next year, I hope to get a few others. You may set up a LAN at some point. So no point in blowing away a fundimental Un*x utility.
-> i have lost most of the party colors of emacs lisp-mode with -> font-lock-mode. (is it worth it to try to restore the colors or is -> common-lisp better without a syntax guesser?)
This is a personal preference issue. I have found syntax highlighting to be very useful in C++. I like the colors when they can recognize key words, defined functions and variables.
-> i can pop between source editor and slaved lisp process with C-c l. -> C-c C-b compiles. so far so good. i can type in the little function -> examples from grahams books and try them out in the lisp slave. is -> this how you do it in general?
More or less. One feature that has a coolness factor for me is that I can put the insertion point on a function and compile just that function. I expect eli can do that as well?
-> i am still a bit stumped about how the process is supposed to work. -> my books are a bit sketchy on the particulars of the environment (not -> their fault since there are lot of implementations and such but it is -> still hard to know how to proceed). using make and command line -> compile commands and getting a normal unix executable as with C or -> fortran doesn't seem to be the right thing with lisp.
The people in this group have been more helpful to me than people in any other news group. I don't know what, if anything this says about the class of people who do the Lisp, but I would still be stuck in Gates' Hell without the advice of this group.
"Hackers penetrate and ravage delicate, private, and publicly owned computer systems, infecting them with viruses and stealing materials for their own ends. These people, they're, they're terrorists."
< i have lost most of the party colors of emacs lisp-mode with < font-lock-mode. (is it worth it to try to restore the colors or is < common-lisp better without a syntax guesser?)
I always thought the font-locking for lisp-modes under emacs was pretty good. Do you have the variable lisp-font-lock-keywords set to lisp-font-lock-keywords-2? I don't know too much about font-lock beyond this though...
You could always get nasty with (such as replacing some entries in) `font-lock-defaults-alist', but this shouldn't be necessary.
Maybe M-x font-lock-mode (two times) will work?
< i can pop between source editor and slaved lisp process with C-c l. < C-c C-b compiles. so far so good. i can type in the little function < examples from grahams books and try them out in the lisp slave. is < this how you do it in general?
You don't have to switch to the listener to eval expressions. What I do is bind C-x C-e (eval-last-sexp) in common-lisp files to a function I wrote that emulates eval-last-sexp except uses the common-lisp to eval the expression rather than emacs lisp. I have F-12 switch the binding for C-x C-e back and forth as needed.
(global-set-key [Control-x (Control ?\e)] 'my-lisp-eval-last-sexp) ;; That won't work in emacs; [?\C-x ?\C-e] will though.
you can eval common-lisp expressions just as you would emacs-lisp expressions.
If no prefix arg (C-u universal-argument) then the result will be echoed in the minibuffer (or a popup-buffer if it's too big - you can press C-space to get rid of the window). If there is a prefix arg, then the result is inserted into the current buffer (can be useful).
You can get an arg-list with C-a (very useful), describe-symbol with C-d, apropos with C-?, and also very useful is C-c . which will find a definition.
< i am still a bit stumped about how the process is supposed to work. < my books are a bit sketchy on the particulars of the environment < (not their fault since there are lot of implementations and such but < it is still hard to know how to proceed). using make and command < line compile commands and getting a normal unix executable as with C < or fortran doesn't seem to be the right thing with lisp.
Lisp can be more of an environment or a `shell' of sorts. When your application is done you can dump it and even replace the interactive `top-level' with whatever suits you.
< someone let me know if i am going down a wrong path and i'd be < grateful for a hint or two on my way forward.
Here's some stuff I use that I find useful. The following are `top-level' aliases. This is so that you can type in stuff like
`:ls ~/lib/src/*.*.[0-9]+' or `:del arg.*' to the lisp-listener.
I put these in my dot-clinit file (~/.clinit.cl).
(top-level:alias ("ls" 0 :string) (&optional options) "List files using the `ls' command according to OPTIONS" (excl:run-shell-command (if options (concatenate 'string "ls -FCT0 " options) #("ls" "-F" "-C" "-T" "0"))))
(top-level:alias ("erase" 2) () "Erase the contents of current buffer" (lep::eval-in-emacs "(erase-buffer)"))
(top-level:alias ("pprint" 1) (form) "Pretty print function or macro's lambda expression if possible" (cond ((consp form) (pprint form)) ((macro-function form) (pprint (function-lambda-expression (macro-function form)))) (t (pprint (function-lambda-expression (fdefinition form))))))
(top-level:alias ("delete" 2 :string) (files) "Delete the files named in FILES" (flet ((remove-file (file) (fresh-line) (write-string ";; Deleted ") (princ file) (delete-file file))) (loop for start = 0 then (1+ end) for end = (position-if #'excl::whitespace-char-p files :start start) unless (eq start end) do (let ((filename (subseq files start end))) (cond ((null filename)) ((probe-file filename) (remove-file filename)) ((and filename (find #\* filename)) (dolist (file (directory filename)) (let ((file (probe-file file))) (when file (remove-file file))))) (filename (when (probe-file filename) (remove-file filename))))) until (null end))))
The `:ls' will do the obvious. If there are no options I used a vector so that the lisp will do a straight execve rather than call a subshell.
The `:erase' will erase the buffer - very useful for when your buffer is getting full. There is no shortcut because it would interfear with the existing `:err' wich is short for `:error' (lists the current error message).
The `:pprint' or `:pp' will print a symbol's function. For example:
USER(1): (defun this (x y) (* x y)) THIS USER(2): :pp this
(LAMBDA (X Y) (BLOCK THIS (* X Y))) USER(3): . Won't work when the function is compiled (the code is ditched, but this has been _very_ useful for me at times).
The `:delete' should be obvious. It removes some files. You should probably look it over or re-write it (don't know how safe it is - works for me though).
The `:shell' or `:sh' will run a shell command.
The `^O' will print #\^o instead of signalling an error. This happens when I get real tired (like now) and accidentally hit C-c C-o instead of C-c C-p (fi:pop-input).
And finally, the `indent-rule' can be used in your source files to correct the indentation of certain forms. For instance, (pretend this a source file which will be loaded into the lisp before editing):
;;; Virtual-file begins
;;; The final tip I have before I go to bed. This is a macro that will ;;; automatically create necessary gensyms to prevent ;;; double-evaluation in some macros for some things. Just included it ;;; because it's useful and I am very happy I got it to (seemingly) ;;; work. It also shows what I think are some of the neatest things in ;;; cl. The macro is pretty tricky, it took me quite a time to get it ;;; this far; I don't mean it to turn you off of cl. Just want to ;;; demonstrate some of the more powerful features I have found the ;;; language to offer.
;; (the `cl>' is supposed to be the listener prompt) ;; ;; The problem is like this:
;; Like `gensym' but works with symbols ;; (generate-symbol "SYM") => #:SYM258 ;; (generate-symbol 'one) => #:ONE257
;; This will adjust the indentation for the function `once-only' ;; First expansion: ;; (AND (LEP:LEP-IS-RUNNING) ;; (LEP::EVAL-IN-EMACS ;; "(put (quote once-only) 'fi:lisp-indent-hook (quote 1))")) (indent-rule once-only 1)
;; return X wrapped in a (') (defun quote-form (x) (list 'quote x))
Tada! Sorry if it's a little unclear - I am exhausted right now. Especially sorry if you're not familiar with macros (you said grahms book - one of his books is just full of macro maddness like
Steve Gonedes <jgone...@worldnet.att.net> writes: > Johan Kullstam <joha...@idt.net> writes:
> < i have lost most of the party colors of emacs lisp-mode with > < font-lock-mode. (is it worth it to try to restore the colors or is > < common-lisp better without a syntax guesser?)
> I always thought the font-locking for lisp-modes under emacs was > pretty good. Do you have the variable lisp-font-lock-keywords set to > lisp-font-lock-keywords-2? I don't know too much about font-lock > beyond this though...
> You could always get nasty with (such as replacing some entries in) > `font-lock-defaults-alist', but this shouldn't be necessary.
the difficulty is that franz-lisp-mode is not lisp-mode and font-lock has very few default colors to work with. basically only strings are recognized (and painted brown) and everything else is in black-and-white.
copying/redifing the lisp-mode font-lock stuff to do the same in franz-lisp-mode shouldn't be terribly hard. i am just wondering if commonlisp is a weird enough beast with new keywords that ought to be lit but are not. more annoying, when i make new functions and macros which have syntactic meaning similar to keywords, these are not lit up. for example `defun' is purple. `my-defun' would be plain. enough of these and font-lock loses its purpose.
i have this same problem in C++. i define my own type, and it is always black and white while C built-in types like int are made green. i don't know if it's possible to make my types come out green in C++ without a lot of work.
[ snip of lots of elisp keybinding &c ]
thanks for the keybindings and commonlisp hacks for ls and delete. those look very useful. i shall try them out tonight.
> ;;; Virtual-file begins
> ;;; The final tip I have before I go to bed. This is a macro that will > ;;; automatically create necessary gensyms to prevent > ;;; double-evaluation in some macros for some things. Just included it > ;;; because it's useful and I am very happy I got it to (seemingly) > ;;; work. It also shows what I think are some of the neatest things in > ;;; cl. The macro is pretty tricky, it took me quite a time to get it > ;;; this far; I don't mean it to turn you off of cl. Just want to > ;;; demonstrate some of the more powerful features I have found the > ;;; language to offer.
nod. paul graham's _on lisp_ talks about things like this. borrowing from my C++ experience, i suppose inline functions could help. but lisps powerful macro utility allows some pretty fancy stuff too. this is exactly why i am trying to learn lisp. i want a language i can use.
> Could probably explain it better tomorrow if you're curious about > something (or if it doesn't work for some reason <shutter>). Hope this > gives you some stuff to toy with though. Have fun...
In article <u67atvgsu....@res.raytheon.com>, Johan Kullstam <joha...@idt.net> wrote:
(...)
> i have this same problem in C++. i define my own type, and it is > always black and white while C built-in types like int are made > green. i don't know if it's possible to make my types come out green > in C++ without a lot of work.
int is not just a built-in (if built-in is the word I want) type like e.g. size_t but also a reserved word.
In article <m34sqee5p7....@solo.david-steuber.com>, David Steuber <trash...@david-steuber.com> wrote: (...)
> I use rsh for loging on to my other machine. Over the course of next > year, I hope to get a few others. You may set up a LAN at some > point. So no point in blowing away a fundimental Un*x utility.
Don't forget that rsh is a (potential) security hole. Some people care, others don't. Make sure you know to which category you belong.
< copying/redifing the lisp-mode font-lock stuff to do the same in < franz-lisp-mode shouldn't be terribly hard. i am just wondering if < commonlisp is a weird enough beast with new keywords that ought to be < lit but are not. more annoying, when i make new functions and macros < which have syntactic meaning similar to keywords, these are not lit < up. for example `defun' is purple. `my-defun' would be plain. < enough of these and font-lock loses its purpose. < < i have this same problem in C++. i define my own type, and it is < always black and white while C built-in types like int are made < green. i don't know if it's possible to make my types come out green < in C++ without a lot of work.
I had font-lock work like this for TeX mode once. It would add new keywords after seeing \newbox\mybox=0. This really slowed down font-lock and the code was a royal pain in the butt.
Maybe you could define a macro like the `indent-rule' that would add new entries to the font-lock keywords? Another alternative is to start the word with `def' instead of `my-def'. You could use define or such (this won't work for everything though). Can get annoying though...
< nod. paul graham's _on lisp_ talks about things like this. borrowing < from my C++ experience, i suppose inline functions could help. but < lisps powerful macro utility allows some pretty fancy stuff too. this < is exactly why i am trying to learn lisp. i want a language i can < use.
Inline functions will work as well - but sometimes macros are the right choice. I wouldn't suggest using macros for speed hacks - this usually is a bad idea (you can `(declaim (inline function-name))'...
> < copying/redifing the lisp-mode font-lock stuff to do the same in > < franz-lisp-mode shouldn't be terribly hard. i am just wondering if > < commonlisp is a weird enough beast with new keywords that ought to be > < lit but are not. more annoying, when i make new functions and macros > < which have syntactic meaning similar to keywords, these are not lit > < up. for example `defun' is purple. `my-defun' would be plain. > < enough of these and font-lock loses its purpose.
> Inline functions will work as well - but sometimes macros are the > right choice. I wouldn't suggest using macros for speed hacks - this > usually is a bad idea (you can `(declaim (inline function-name))'...
But the compiler is not required to inline the function, so if you really want it inline, you may have no choice but to use a macro....
Ray
-- --------------------------------------------------------------------------- ----> Raymond Toy r...@mindspring.com http://www.mindspring.com/~rtoy
-> Don't forget that rsh is a (potential) security hole. Some -> people care, others don't. Make sure you know to which category -> you belong.
My LAN uses the 10.*.*.* ip addresses. I connect to the Internet through a router that provides NAT. All the doors in my castle can be opened with the right key. Getting into the castle should be impossible.
If I ever switch from ISDN to a cable modem, then I will have to reinforce my security somewhat.
At work, I can rsh to some machines without typing in my password. Other's prompt me. At home, I get prompted.
"Hackers penetrate and ravage delicate, private, and publicly owned computer systems, infecting them with viruses and stealing materials for their own ends. These people, they're, they're terrorists."
vniko...@poboxes.com writes: > In article <u67atvgsu....@res.raytheon.com>, > Johan Kullstam <joha...@idt.net> wrote:
> (...) > > i have this same problem in C++. i define my own type, and it is > > always black and white while C built-in types like int are made > > green. i don't know if it's possible to make my types come out green > > in C++ without a lot of work.
> int is not just a built-in (if built-in is the word I want) type > like e.g. size_t but also a reserved word.
the *_t stuff seems to get picked up as a type (in C mode, but not C++ mode of my emacs). however, i don't like naming all my types something_t just to get font-lock to put pretty colors on them.
> This does *not* belong in this newsgroup...
i was just trying to relate to a language which i actually understand somewhat. my lisp knowledge is rudimentary.
let me try to rephrase my question and give it a little context.
say that `if' is identified as a special word in lisp and font-lock highlights it with a purple color (like in emacs-lisp-mode). then i go and make an anaphoric if a la paul graham in _on lisp_ p 191.
now, if lisp does this extension business all over the place, then the font-lock is more of a distraction than a help. so my question is to those who have lisp experience, is syntax-highlighting a worthwhile feature and if so, what things are worth highlighting?
David Steuber <trash...@david-steuber.com> writes: > vniko...@poboxes.com writes:
> -> Don't forget that rsh is a (potential) security hole. Some > -> people care, others don't. Make sure you know to which category > -> you belong.
> If I ever switch from ISDN to a cable modem, then I will have to > reinforce my security somewhat.
exactly. i have a cablemodem and do not have a lan. therefore, i am rather exposed. having rshd listening when i do not need or want outside connexions is just one more weakness i do not need. i'd rather not be forced to have things i do not want.
In article <368AE671.2A60B...@mindspring.com>, "R. Toy" <r...@mindspring.com> wrote:
> Steve Gonedes wrote: > > Inline functions will work as well - but sometimes macros are the > > right choice. I wouldn't suggest using macros for speed hacks - this > > usually is a bad idea (you can `(declaim (inline function-name))'...
> But the compiler is not required to inline the function, so if you > really want it inline, you may have no choice but to use a macro....
If macros are to be used as surrogate inline functions, it would be nice if the programmer defines a defining macro for these called DEFINLINE or some such. It would hide to some extent the fact that inline functions are defined as macros and could conditionally expand into DEFUN + inline declamation for implementations that do do inlining and into DEFMACRO for those that don't. Such a defining form could also take care that the arguments are evaluated exactly once in the right order.
Besides, DEFINLINE or another variant of it could define automatically a setf expander or a setf function (couldn't we now use the term `setf method' to mean one or the other?). In the absence of such a defining form, the programmer is very tempted to write (even if the implementation does inlining)
In article <uww38s4qs....@res.raytheon.com>, Johan Kullstam <joha...@idt.net> wrote:
> vniko...@poboxes.com writes: (...) > > This does *not* belong in this newsgroup...
+---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | > | > i was just trying to relate to a language which i actually understand | > somewhat. my lisp knowledge is rudimentary. | +--> The above was a complaint against myself going off-topic, not about anybody else.
(...)
> now, if lisp does this extension business all over the place, then the > font-lock is more of a distraction than a help. so my question is to > those who have lisp experience, is syntax-highlighting a worthwhile > feature and if so, what things are worth highlighting?
Personally, I am not sure at all if it is worthwhile; assuming it is, I am not sure if it should be done by colours---using different fonts, bold, italic, etc. might be better. (The AppleScript editor on the Macintosh, which does it in this latter way, seems to be doing it well, though I have not used it quite a lot.)
Second, if syntax highlighting is assumed worthwhile, I would say that the _syntactic_ features to be highlighted would include special forms and macros, possibly special variables and such, but semantic features (such as type names) should not be highlighted.
Besides, with Lisp we have pretty printing, which in my view reduces the need for syntax highlighting.
< In article <368AE671.2A60B...@mindspring.com>, < "R. Toy" <r...@mindspring.com> wrote: < > Steve Gonedes wrote: < > > Inline functions will work as well - but sometimes macros are the < > > right choice. I wouldn't suggest using macros for speed hacks - this < > > usually is a bad idea (you can `(declaim (inline function-name))'... < > < > But the compiler is not required to inline the function, so if you < > really want it inline, you may have no choice but to use a macro.... < < If macros are to be used as surrogate inline functions, it < would be nice if the programmer defines a defining macro < for these called DEFINLINE or some such. It would hide to < some extent the fact that inline functions are defined as < macros and could conditionally expand into DEFUN + inline < declamation for implementations that do do inlining and < into DEFMACRO for those that don't. Such a defining form < could also take care that the arguments are evaluated < exactly once in the right order.
Thanks _so_ much for pointing this out. I had been taking the order of evaluation for granted and forgot all about it.
< As an aside, are there many implementations where < < (foo bar baz) < < and < < ((lambda (x y) (foo x y)) bar baz) < < do not compile to identical code?
I was really trying to eliminate the excessive gensyms for clarity - bad idea. Thanks again!
vniko...@poboxes.com writes: > Personally, I am not sure at all if it is worthwhile; assuming it is, > I am not sure if it should be done by colours---using different fonts, > bold, italic, etc. might be better. (The AppleScript editor on the > Macintosh, which does it in this latter way, seems to be doing it well, > though I have not used it quite a lot.)
> Second, if syntax highlighting is assumed worthwhile, I would say that > the _syntactic_ features to be highlighted would include special forms > and macros, possibly special variables and such, but semantic features > (such as type names) should not be highlighted.
> Besides, with Lisp we have pretty printing, which in my view reduces > the need for syntax highlighting.
One of my friends in usability pointed out that in some study, about the only visual tool that turned out to be generally accepted as useful was syntax highlighting. I personally have become so used to it that being without it would make me far less productive. At least until I readapt. I have practically given up on editing lisp programs over a vt100 terminal, and find MCL inconvenient because I can't find a facility that does syntax highlighting. (I did find one, but it inserted font codes into the text document, which was not acceptable.)
Yes, having a tool figure out new forms to highlight would be nice. What is already available however is in itself indispensable. I think a better long term solution might be something that ties in with source code and project management. Some way of defining a project in some ilisp like environment, where parameters to font highlighting, among other things, can be specified for the project as a whole, to be loaded into emacs.