From: Emanuel Berg <embe8573@student.uu.se>
To: help-gnu-emacs@gnu.org
Subject: Re: Byte-compiler warnings
Date: Thu, 25 Jun 2015 03:52:20 +0200 [thread overview]
Message-ID: <87bng4imgb.fsf@nl106-137-147.student.uu.se> (raw)
In-Reply-To: 87bng5qrcp.fsf@kuiper.lan.informatimago.com
"Pascal J. Bourguignon" <pjb@informatimago.com>
writes:
>> Are there other tools that assist in writing good
>> Elisp code? I know about checkdoc, is there
>> anything else?
>
> Once upon a time, there was a lot of such tools to
> help writing lisp code, including code pattern
> matcher, expert systems, AI user models, etc.
Expert system = a state machine where states are
questions to the user and edges are the the answers
supplied. E.g.: Where does it hurt? "The leg" What
part of the leg? "The knee" and so on until it reaches
an endpoint where the expert sub presents the problem
in no uncertain terms, as well as the corresponding
solution(s).
This can be combined with probability theory in order
to make a computer do very well in games like
"20 questions".
Expert systems was a pet subject during the AI bubble
and even textbooks on AI often proudly come with
"expert system" in their titles.
The inherent drawback is most real-world problems are
either complicated (like repairing a bike) however not
complicated enough for an expert system to be helpful
continuously, *or* the problems are very complicated
indeed (how to make a girl fall in love with you) BUT
those problems are impossible to formalize so they
can't be computed anyway!
So, yet another AI bummer.
> So no, we don't abound in such tools, be it for
> Common Lisp or for emacs lisp. There's a CL lint
> around, perhaps it could be adapted for emacs lisp.
Not in the Debian repos it isn't what I can hit.
But: 'aptitude search lint | grep -i perl' (five
hits), three hits on html, and so on.
By the way: in the Wiki article "List of tools for
static code analysis" [1] there isn't a single mention
of Lisp!
> In any case, the point of lisp is that it is easy to
> write such tools
In at least one efficient and basic case there
shouldn't even be a need for a language-specific tool,
and that is the search for code duplication - to
identify blocks of code that reoccurs and thus should
be factored out. But I'm not able to find that kind of
tool either! I've heard of CPD (copy paste duplicate)
but can't find it anywhere except for a PHP version in
the repos. Someone do "KYD" (kill yank duplicate) for
Elisp... :) But again I don't see why this is
language-specific other than not considering comments
or indentation!
[1] https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis
--
underground experts united
http://user.it.uu.se/~embe8573
next prev parent reply other threads:[~2015-06-25 1:52 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <mailman.5561.1435138202.904.help-gnu-emacs@gnu.org>
2015-06-24 11:27 ` Byte-compiler warnings Pascal J. Bourguignon
2015-06-25 1:52 ` Emanuel Berg [this message]
2015-06-25 2:30 ` Emanuel Berg
2015-06-25 3:19 ` Stefan Monnier
2015-06-25 3:42 ` Emanuel Berg
2015-06-24 9:29 Marcin Borkowski
2015-06-24 23:50 ` Emanuel Berg
2015-06-25 12:56 ` Nicolas Richard
[not found] ` <mailman.5606.1435189903.904.help-gnu-emacs@gnu.org>
2015-06-25 3:06 ` Stefan Monnier
-- strict thread matches above, loose matches on Subject: below --
2010-09-12 18:12 byte-compiler warnings Joost Kremers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87bng4imgb.fsf@nl106-137-147.student.uu.se \
--to=embe8573@student.uu.se \
--cc=help-gnu-emacs@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.