From: "Andreas Röhler" <andreas.roehler@easy-emacs.de>
To: help-gnu-emacs@gnu.org
Subject: Re: Defining functions on the fly
Date: Tue, 16 Jun 2015 07:47:13 +0200 [thread overview]
Message-ID: <557FB861.3070008@easy-emacs.de> (raw)
In-Reply-To: <76f991fc-d00f-498f-b586-d8bb9ea96c20@googlegroups.com>
Am 16.06.2015 um 01:51 schrieb Gene:
> On Monday, June 15, 2015 at 5:24:40 AM UTC-4, Andreas Röhler wrote:
>> Hi,
>>
>> have a bunch of subroutines which are useful in several modes -
>> beginning/end of expressions, string positions, comments etc.
>>
>> Now every mode should get its own prefix.
>> Can't write
>>
>> (defun (concat "current-prefix-" foo) ())
>>
>> as defun expects a symbol.
>>
>> Exists "fset" - is there a recommended way to go?
> I recommend using lambda to experimentally develop what you think of as a function of the sort defun is typically used typically used to define.
>
> Once the function's actual definition is done via lambda it can be bound to a symbol via fset
>
> (fset (function name-of-function)
> (lambda (arg)
> "docstring"
> ; Body goes here
> )
> )
>
> Of course the anonymous version of the function can be used via higher order functions such as `apply' and `mapcar' so function development and testing can be furthered before one gets around to deciding to keep it around and name it for convenient future use.
>
> This strategy is pretty much applicable in Scheme as well
>
> (define name-of-function
> (lambda (arg)
> ;body
> )
> )
>
> I hope this helps.
>
> Gene
>
It does, thanks!
next prev parent reply other threads:[~2015-06-16 5:47 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <mailman.5020.1434360277.904.help-gnu-emacs@gnu.org>
2015-06-15 9:57 ` Defining functions on the fly Pascal J. Bourguignon
2015-06-15 11:21 ` Andreas Röhler
2015-06-15 11:52 ` Tassilo Horn
2015-06-15 12:06 ` Andreas Röhler
2015-06-15 12:43 ` Andreas Röhler
2015-06-15 23:51 ` Gene
2015-06-16 1:14 ` Stefan Monnier
2015-06-17 0:24 ` Gene
2015-06-17 1:12 ` Stefan Monnier
2015-06-16 5:47 ` Andreas Röhler [this message]
2015-06-15 9:24 Andreas Röhler
2015-06-15 9:32 ` Dmitry Gutov
2015-06-15 9:47 ` Alexis
2015-06-15 10:20 ` Andreas Röhler
2015-06-15 10:37 ` Alexis
2015-06-15 10:41 ` Michael Heerdegen
2015-06-15 10:42 ` Tassilo Horn
2015-06-15 11:01 ` Alexis
2015-06-15 11:19 ` Michael Heerdegen
2015-06-15 11:24 ` Tassilo Horn
2015-06-15 11:31 ` Michael Heerdegen
2015-06-15 10:00 ` Tassilo Horn
2015-06-15 10:33 ` Andreas Röhler
[not found] ` <mailman.5022.1434361680.904.help-gnu-emacs@gnu.org>
2015-06-15 12:52 ` Stefan Monnier
2015-06-16 5:59 ` Andreas Röhler
2015-06-16 7:01 ` Tassilo Horn
2015-06-16 9:22 ` Andreas Röhler
2015-06-16 11:12 ` Tassilo Horn
2015-06-16 11:40 ` Andreas Röhler
2015-06-16 13:10 ` Tassilo Horn
2015-06-16 15:46 ` Andreas Röhler
[not found] ` <mailman.5109.1434469628.904.help-gnu-emacs@gnu.org>
2015-06-16 22:34 ` Stefan Monnier
[not found] ` <mailman.5090.1434454815.904.help-gnu-emacs@gnu.org>
2015-06-16 16:13 ` Pascal J. Bourguignon
2015-06-16 18:30 ` Andreas Röhler
2015-06-16 9:42 ` Andreas Röhler
[not found] ` <mailman.5084.1434446560.904.help-gnu-emacs@gnu.org>
2015-06-16 9:50 ` Pascal J. Bourguignon
2015-06-16 10:26 ` Andreas Röhler
[not found] ` <mailman.5087.1434450412.904.help-gnu-emacs@gnu.org>
2015-06-16 11:35 ` Pascal J. Bourguignon
[not found] ` <mailman.5085.1434447782.904.help-gnu-emacs@gnu.org>
2015-06-16 22:32 ` Stefan Monnier
[not found] ` <mailman.5075.1434434385.904.help-gnu-emacs@gnu.org>
2015-06-16 22:23 ` Stefan Monnier
2015-06-17 6:13 ` Andreas Röhler
[not found] ` <mailman.5137.1434522533.904.help-gnu-emacs@gnu.org>
2015-06-17 14:30 ` Stefan Monnier
2015-06-17 16:40 ` Andreas Röhler
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=557FB861.3070008@easy-emacs.de \
--to=andreas.roehler@easy-emacs.de \
--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.