openbiblio.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
Der Einstieg in das Fediverse für Bibliotheksmenschen

Administered by:

Server stats:

619
active users

#clisp

0 posts0 participants0 posts today
Replied in thread

@sigue @scream

Oh-kay. I have been foollowing the code down the rabbit hole, and I am a bit out of my depth here, but what I see are two things:

1) (ext:default-directory) calls another function CD, which can change the directory. If without an argument, the argument is created by merging (the non-argument) with defaults and doing logical path translation, then it actually changes the directory and returns the pathname calculated before (the new path to which it changed the working directory).

So querying the default directory comes about as a side effect, sort of.

2) I am not sure about what actually happens in this default thing, but what seems certain, we're doing a call to chdir(2) every time (which has no effect when the argument is the working directory already except when the dir is unlinked (**)). We would have to call 1 system call anywhere here, but this ... and then I don't know if it doesn't call getcwd anyway in this default/normalizing stuff.

And the version comes in from the place where the "empty argument" is expanded into a pathname.

I think I'll really be circumventing this all. Instead of UIOP:GETCWD (which calls EXT:DEFAULT-DIRECTORY) I'll just redirect my GETCWD wrappe to (osicat:current-directory). Which, BTW, does the right thing.

But really, I am not sure if I shouldn't try to raise a bug here (not for the implementation, I am understanding it not good enough to judge it, but rather for the spurious :VERSION which also cannot be deleted). Any advise?

Replied in thread

@sigue

Now, how do I remove the version from a pathname. In CLISP:

[1]> (defvar p (make-pathname :directory '(:absolute "tmp") :version :newest))
P
[2]> (describe p)

#P"/tmp/" is a pathname, with the following components:
DIRECTORY = (:ABSOLUTE "tmp")
VERSION = :NEWEST

[3]> (describe (make-pathname :defaults p :version nil))

#P"/tmp/" is a pathname, with the following components:
DIRECTORY = (:ABSOLUTE "tmp")
VERSION = :NEWEST

Is that even legal?

#common-lisp #clisp

True Story, bruh:

Back in the 90's people would go on about how superior emacs is as an editor. And some cheerleaders would hound me about why I "still" used (and still do today) vi... vim actually. Even for doing things like Usenet news, and the email client. Joe was in a lot of email readers, which is pretty much slobberproof, BUT...

My answer was and still is simple. I hack and break things for a living. I've never seen emacs installed on a bridge, router, or frankly any other network device. Hell, when the web came around, emacs was only rarely on those servers, either. But ed and vi is (was?) on pretty much all of them.

So that's what I learned. And my personal ecosystem and workflow is all about vi(m) and nothing about emacs.

Even though I'm a Lisp cheerleader, lol.

Do I hate emacs? No, but I do very much dislike the overpowering smell of religion that seems permeate it's very existence, like those dirty air lines fuming from the Peanuts character Pigpen.

Some call me a space cowboy. Some call me a gangsta of #Lisp :ablobdj:

CL packages are the wrong way to implement packages in Lisp. As I explained in a discussion two years ago, packages implemented using obarrays (or equivalent) don’t work reliably.

We have a much better basis for Lisp packages in the shorthands mechanism. It only needs to be completed.

Richard Stallman on CL packages landed
#clisp #emacs
andreyor.st/posts/2022-11-01-e

> The reason namespaces systems do not fit well into #Lisp is that they have to operate in ‘read’, in the choice of which symbol object you get.

Richard Stallman on Emacs Lisp's future

andreyor.st · Emacs Lisp shorthands as namespacing systemIn Emacs version 28 Emacs developers introduced so-called read symbol shorthands. If you’re interested in the rationale, feel free to search the Emacs developer mailing list for the discussion. However, it does seem that not everyone likes the idea of shorthands as a substitution for namespaces (or packages, if you’re coming from Common Lisp).