Nicolas Martyanoff on Nostr: Let us add DEFAPARAMETER to the long list of features #Emacs Lisp is missing compared ...
Let us add DEFAPARAMETER to the long list of features #Emacs Lisp is missing compared to #CommonLisp. ELisp only has DEFVAR, which does not modify the binding if it already exists. Perfect to keep a state. But for a lot of top-level values, you want DEFPARAMETER, which creates or updates a binding.
Module development with DEFVAR only is really frustrating, forced to manually call SETQ each time you want to change a value.
Published at
2025-03-15 17:28:47Event JSON
{
"id": "98a82dd763eb2304998ee156f01e29553eabdf6840e98eaa5bac98d27262d6a6",
"pubkey": "6d91e7b056ab18986298e04a8b278a5e070a726487fd30a599427c79db9070e9",
"created_at": 1742059727,
"kind": 1,
"tags": [
[
"t",
"emacs"
],
[
"t",
"commonlisp"
],
[
"proxy",
"https://fosstodon.org/users/galdor/statuses/114167626313499016",
"activitypub"
]
],
"content": "Let us add DEFAPARAMETER to the long list of features #Emacs Lisp is missing compared to #CommonLisp. ELisp only has DEFVAR, which does not modify the binding if it already exists. Perfect to keep a state. But for a lot of top-level values, you want DEFPARAMETER, which creates or updates a binding.\n\nModule development with DEFVAR only is really frustrating, forced to manually call SETQ each time you want to change a value.",
"sig": "f2364ce4a2f45597f150b6ff828a08a81c2f2fa98c4949a30da21cc32e03d07330ef7dffbf87d65711079b223b4e10155b8d2f18015c382aeaef9dc4ed772e97"
}