A question for the #lisp folx:
What, if anything, is the difference between #'(lambda ...) and just plain (lambda ...)?
They seem functionally equivalent to me.
I've been taking a bunch of tests to qualify for a transcription job. They're not easy and I need a perfect score to pass. I finally failed one of the tests but managed to pass it on the retry.
They're really picky about their style guide. Fortunately, it basically amounts to syntax rules and I've been dealing with compilers that are equally picky about syntax for decades.
It also helps that all throughout my schooling my mother worked at the local university proofreading research scientists' papers and she insisted on proofreafing all my essays too.
I never thought I'd end up being happy about that.
Judy Anderson reshared this.
#LambdaMOO
like this
Digital Mark λ ☕️ 🕹 👽 reshared this.
Got my hands on a #shortwave radio, but the fact that I live in a giant concrete box doesn't seem to be helping my reception. Seeing what I can do about that.
Are there any broadcasts that are worth catching that I'd be able to get in Southern Ontario?
Kevin Davy reshared this.
(defun lambdamoo-tab-complete ()
"Complete user input using text from the buffer"
(interactive)
(when (memq (char-before) '(? ?\r ?\n ?\t ?\v))
(user-error "Point must follow non-whitespace character"))
(let (replace-start
(replace-end (point))
replace-text found-pos found-text)
(save-excursion
(backward-word)
(setq replace-start (point)
replace-text (buffer-substring replace-start replace-end))
(when (or (null lambdamoo--search-text)
(not (string-prefix-p lambdamoo--search-text replace-text t)))
(setq-local lambdamoo--search-text replace-text)
(set-marker lambdamoo--found-point (point)))
(goto-char lambdamoo--found-point)
(unless
(setq found-pos
(re-search-backward
(concat "\\b" (regexp-quote lambdamoo--search-text))
(point-min) t))
(setq-local lambdamoo--found-point (make-marker))
(user-error "No match found"))
(set-marker lambdamoo--found-point found-pos)
(forward-word)
(setq found-text (buffer-substring found-pos (point))))
(delete-region replace-start replace-end)
(insert found-text)))#emacs #lisp #moo #mud #LambdaMOO
reshared this
@Omar Antolín Actually, looking more closely at it, it might just do the trick.
I love it when I spend hours re-writing code that essentially already exists. ;)
In the end, I wound up just binding tab to dabbrev-expand. 🙃
It might seem like I wasted a bunch of time writing that, but at least I learned a bunch along the way.
royae
in reply to Jonathan Lamothe • • •(lambda ...) is just a macro call that expand in the other form.
From the common lisp spec :
Dave Tenny
in reply to Jonathan Lamothe • • •Holger
in reply to Jonathan Lamothe • • •Pascal Costanza
in reply to Jonathan Lamothe • • •Svante
in reply to Jonathan Lamothe • • •Seemingly plain (lambda () ...) is a macro that expands to (function (lambda () ...)). #'(lambda () ...) uses a reader macro to expand to the same (function (lambda () ...)).
clhs.lisp.se/Body/m_lambda.htm
Function is a special operator that returns a function. It takes either a function name or a lambda expression. The second case is what is happening here.
clhs.lisp.se/Body/s_fn.htm#fun…
A lambda expression is a list of the symbol lambda, a lambda list, and a body.
clhs.lisp.se/Body/26_glo_l.htm…
CLHS: Macro LAMBDA
clhs.lisp.se