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. 🙃
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.
nil is about the least useful failure state there is.
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.
like this
reshared this
Accueil | OVHcloud carrières
OVHcloud Recrute ! Retrouvez l'ensemble des offres d'emploi du groupe dans le monde et postulez directement en ligne.careers.ovhcloud.com
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.
like this
reshared this
@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.
(roll m3tti)
in reply to Jonathan Lamothe • • •CLHS: Function APROPOS, APROPOS-LIST
www.lispworks.comMarce Coll
in reply to (roll m3tti) • • •dziban
dziban.netBjörn Gohla
in reply to Jonathan Lamothe • • •well, there is hoogle for that.
Although I agree, it should be possible to search by signature in GHCi for all modules in scope, without building an index first.
Jonathan Lamothe
in reply to Björn Gohla • •Björn Gohla
in reply to Jonathan Lamothe • • •Jonathan Lamothe
in reply to Björn Gohla • •Dave Tenny
in reply to Jonathan Lamothe • • •FYI in case it's useful to you.
If you use generic functions (via `defgeneric` or `defmethod`) the resulting methods specialize on classes (and other things, but it isn't the same as all types). The slime inspector will show you all the method signatures for different methods, and you could no doubt write tools though I don't know if the method type signatures are available via standard API (it might be, I just haven't tried).
Jonathan Lamothe
in reply to Dave Tenny • •Digital Mark λ ☕️ 🕹 👽
in reply to Jonathan Lamothe • • •As a Schemer (and formerly/sometimes still Objective-C), everything is pretty verbose, and my own functions even more so, so I can search by function name knowing the type and parameters. (vector-index vec searchfunc), (draw-rect-with-edge-color rect edge-width color), etc.
There's no excuse for hardcore Lisp functions like (wadsf w q) "wander down stack frames for word query" (fictional but not unlikely).
#lisp
Jonathan Lamothe
in reply to Digital Mark λ ☕️ 🕹 👽 • •