Skip to main content


Just spent a good half hour pulling my hair out trying to figure out why one of the #elisp functions I had just written was always returning nil when I tested it. Turns out, my test was mistakenly passing its inputs to the wrong (but similarly named) function (pivot-table-get-columns instead of pivot-table-get-body).

#Haskell's type system would've caught this. 🙃

#emacs #lisp

in reply to Jonathan Lamothe

C's type system would also have caught it, and it isn't worth a hill of beans.

By caught it what do we mean? This is not a case of some undetected error escaping your attention due to dynamic typing. You know you got a nil which is unexpected and wrong. It's in a test case which catches it.

The only thing a type system would change is that you would instead waste a half hour not understanding how your obviously correct function call can possibly have the wrong return type.

in reply to Kazinator

@Kazinator I feel that that would have been much more useful information. nil is about the least useful failure state there is.


For all the criticism I have of dynamically typed languages, I have to admit that the way #elisp (and presumably #lisp in general) does in-line documentation is pretty nice.


I am in urgent job search mode, so I'm gonna throw this out here and see if anything comes of it.

I am a #Canadian, fluent in both #English and #French. I have experience with several programming languages. My strongest proficiency is with #Haskell and #C. I also have a reasonable grasp of #HTML, #JavaScript, #SQL, #Python, #Lua, #Linux system administration, #bash scripting, #Perl, #AWK, some #Lisp (common, scheme, and emacs), and probably several others I've forgotten to mention.

I am not necessarily looking for something in tech. I just need something stable. I have done everything from software development, to customer support, to factory work, though my current circumstances make in-person work more difficult than remote work. I have been regarded as a hard worker in every job I have ever held.

#GetFediHired

in reply to Jonathan Lamothe

have a try here ? careers.ovhcloud.com/ and search for Beauharnois. HTH
in reply to Jonathan Lamothe

hey! I'm a founder with myascend.ai. We're an early stage startup working on making professional networking suck less with AI Agents. We could use some hard engineering expertise to ground our engineering team. We have a really solid go to market plan and are getting good traction. Thought I'd say hi and see if you're interested in chatting.


I've been an #Emacs user for like 20 years because there was one thing I needed to do back then that was made easier by elisp, and I just got used to using it. In all that time, I hardly ever tinkered much with the config, save a few minor tweaks it was pretty much stock. I had no strong feelings about Emacs in general, it was just the text editor I'd grown comfortable with.

I've recently been diving into #Lisp and poking around with my Emacs config, and after all these years, I think I'm starting to get the appeal. I am still a proponent of "use the tool that works for you", but I'm personally firmly on team Emacs now.

Julio Jimenez reshared this.

in reply to Jonathan Lamothe

I'd been told that there were add-ons that could do things like making vim more Emacs-like, but I never saw the point in spending energy to make some arbitrary tool more like the one I was already using for no particular reason.


So, I've been taking another run at learning #CommonLisp. The last time I tried, I simply could not wrap my brain around macros. I'm reading the same book again, but this time am a more experienced programmer, and it all just clicked in my head.

I might actually end up enjoying #Lisp after all. I don't know if it'll dethrone #Haskell, but I'm starting to get why people like it.

reshared this

Unknown parent

friendica (DFRN) - Link to source
Jonathan Lamothe

@Karsten Johansson Tell that to the author of Practical Common Lisp.

That said, I get it now. It's so stupidly simple when it finally makes sense.

Also, yeah, learning Haskell in the interim helped a lot.

This website uses cookies. If you continue browsing this website, you agree to the usage of cookies.