charje

@charje@lemmy.ml

This profile is from a federated server and may be incomplete. Browse more on the original instance.

charje,

I wonder what happens when an elevator panic!s.

charje,

I have never received a spam email on the email that I use for guix patches.

Appreciation for Common Lisp Packages

There are many things to like about Common Lisp packages. In everyday programming, I really like being able to define one or more packages in one file then just have a (in-package package-name) at the top of other files opposed to having sometimes hundreds of lines of imports. Some programming languages are worse than others,...

charje,

Isn’t this (in-package …) form just a namespace feature?

It is not only a namespace feature; it is first class. You can use find-package to fetch a package object and pass it around and manipulate. It looks like this can be done to some extent in C# as well.

For C# namespaces, exports carry over to different uses of the same namespace, but using statements go out of scope at the end of the current namespace use. That signals to me that imports are not related at all to namespaces. It seems that C++ acts similarly. From what I can tell Both C# and C++ allow for fully qualified names without any sort of import.

I have to agree with you about Rust: they goofed it up my trying to make too many rules about which libraries and symbols can be used in which places.

charje,

The final strawberry for me was forcing people to have 2fa.

charje,

Does anyone have experience with the pine buds pro? I’m especially curious about the microphone.

If there is one Lisp function/macro/feature that you would like to see in a non-Lisp language, which one would it be?

This is another Friday social topic. You are aimlessly wandering around a beautiful hilltop by a sea when an angel approaches you from the opposite direction. She is no ordinary angel. She is a Lisp angel! She will grant one Lisp wish to you. Before she can fulfill your wish, she needs this information from you:...

charje,
  1. Common Lisp
  2. Haskell I guess
  3. defmacro. This would probably involve changing the syntax to list form like axel does.
charje,

True. They are not near as nicely integrated as lisp macros though.

charje,

Many farmers growing plants for animal feed. Also there are Deer farms that raise deer specifically for the hunting industry.

charje,

Instead of storing intersect-p as a variable and keeping it until the end of the loop, you can return early as soon as you find the first intersection.

Even though a hash table has better symtotic run time, you might find after benchmarking that the O(n^2) is faster for your use case. If you are set on using a hash table, you might consider setting the initial size to something a bit larger (relative to the input lists) to avoid having to dynamically grow the hash table.

I think also the return value of the inner loop is never used…

I personally like to keep my tests assertions top level so I can interactively run each one by itself.

charje,

This version is definitely a bit harder to follow what is going on.

charje,

I’m pretty sure they operate on tokens not AST.

charje,

I think the bigger problem is that they are hard to write and sometimes break tooling.

charje,

Copyleft licences are the only true free software licences. All other open source licenses are just proprietariable.

charje,

You still own the code you release under GPL. the restriction you are describing is actually caused by the non-copyleft licences you claim to prefer. If you choose to use MIT, you are limiting which libraries you can use. If you had picked GPL to begin with, you can use any library.

charje,

You can sell GPL licensed software. You don’t have to publish the source code publicly online.

charje,

proprietariable just means the code can be taken and rerelased as proprietary (no freedoms all rights reserved).

charje,
  • Common Lisp. I basically only use SBCL. It has good introspection, restarts, and source analysis for debugging. I mainly write theoretical research code that doesn’t depend on calling into the JVM or C++ code. I do try to keep my code portable, so I will check with other implementations from time to time.
  • I use GNU Emacs and Sly (though I am thinking of trying Lem). I don’t use any structural editing outside of Emacs’ built in electric-pair-mode, show-paren-mode, and expand-region (not built in). I don’t even use rainbow delimiters anymore. I get all my Common Lisp dependencies from GNU Guix. It is very pleasant to use and is rolling release. In addition to Guix, I use cl-guix-utils, which adds live loading of dependencies quicklisp style.
  • I first learned Racket then Emacs Lisp (both in college). Emacs lisp was more pleasant due to its interactive and self documenting nature. I wanted to write real programs; Common Lisp looked and felt more like Emacs Lisp (but better). I started learning Common Lisp primarily with the “Lisp for the web” series. I was hooked. I learned more mainly through reading the hyperspec, studying other people source code and reading articles. I didn’t read any of the famous books until I recently read “Practical Common Lisp”. I already knew pretty much everything it had to offer. I wish I had read it sooner.

GNU Guix: guix.gnu.org

cl-guix-utils: git.sr.ht/~charje/cl-guix-utils

“Lisp for the web”: adamtornhill.com/articles/lispweb.htm

“Practical Common Lisp”: gigamonkeys.com/book/

charje,

I would love to hear your answers too cadar@lemmy.ml.

charje,

Before cars, people would rice their rice carts.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • tacticalgear
  • magazineikmin
  • thenastyranch
  • Youngstown
  • mdbf
  • rosin
  • slotface
  • InstantRegret
  • khanakhh
  • Durango
  • kavyap
  • osvaldo12
  • DreamBathrooms
  • JUstTest
  • GTA5RPClips
  • ngwrru68w68
  • everett
  • tester
  • ethstaker
  • cisconetworking
  • cubers
  • modclub
  • provamag3
  • anitta
  • normalnudes
  • Leos
  • lostlight
  • All magazines