freenode/#lisp - IRC Chatlog
Search
18:11:02
minion
CL-ASHOK`: SICL: SICL is a (perhaps futile) attempt to re-implement Common Lisp from scratch, hopefully using improved programming and bootstrapping techniques. See https://github.com/robert-strandh/SICL
18:15:10
beach
CL-ASHOK`: phoe was the one who came up with the interpretation of SICL as an acronym: "SICL Implements Common Lisp".
18:16:08
phoe
beach: no, I actually came with the interpretation of Strandh's Invalidation of the C Language
18:44:04
White_Flame
hmm, is there a function that takes absolute #p"/foo/bar/" and relative #p"baz/blort/" and returns #p"/foo/bar/baz/blort"?
18:48:03
White_Flame
for what exactly? If I were to do this manually, it would be appending the 2 directory pathname lists together and creating a new pathname
18:48:45
contrapunctus
White_Flame: for some reason I'm unable to connect to https://common-lisp.net/project/asdf/uiop.html#UIOP_002fPATHNAME but I'm pretty sure I saw something for this in UIOP
18:49:55
White_Flame
CL-ASHOK`: well, that would take further conversion from pathname to string. Any manual use of this is large enough to be contained in a library function, and applying relative paths to an existing one _seems_ like it should exist already
18:50:50
CL-ASHOK`
White_Flame: Ah okay, now I understand. I'm currently doing via strings but I'm not one for efficiency
18:54:31
White_Flame
yeah, I tried merge-pathnames* again with different orderings and it seems to do what I want. However, the docs do not describe this behavior
18:55:17
White_Flame
hmm, yeah, I think the proper conclusion here is that yes, I was being quite dense
19:08:38
pjb
Note that a directory pathname could contain a version! If you use it as :defaults to make-pathname or with merge-pathnames with a file pathname, you could get a file pathname with a version…
19:16:09
CL-ASHOK`
I have 8 lisp files, and things are starting to get unwieldy, I forget parts of the code I wrote before
19:40:18
CL-ASHOK`
pjb: :-) I know....but for beginners its hard because I have some bad habits ;) Like storing functions in the wrong files cause I'm lazy to think which is the best place to put them :D
19:40:27
pjb
CL-ASHOK`: even 323 files, 152529 LOC is not really large, it's just a normal-sized application.
19:41:16
White_Flame
it's easier to have multiple files open than the same file in different places, htough
19:41:16
pjb
CL-ASHOK`: our computers have large RAM, and fast SSD, so you can have a small number of large files.
19:42:00
pjb
CL-ASHOK`: the only thing is that in lisp, some definitions need to happen at compilation-time, so it is easier to have them in separate files, to be compiled and loaded, before we compile the rest. eg. defpackage, defmacro, defconstant.
19:42:15
CL-ASHOK`
White_Flame: How to use? Looks really interesting. I tried it and then typed psql::function-name (stored in package psql), but it didn't give me the doc string
19:43:16
pjb
now the grouping of definitions in logical units should be helped by tools such as emacs. We can use ^L in emacs buffers. But it would be nice to have something better. Like the Smalltalk Browser (systems|classes|categories|methods) and stuff like that.
19:43:58
pjb
In emacs, we could tag toplevel forms (this would be mostsly done automatically from the context, but we could add or change tags explicitely) and then emacs would provide a tag browser.
19:45:04
White_Flame
CL-ASHOK`: http://pchristensen.com/wp-content/uploads/2008/02/slimecommands.pdf
19:45:23
pjb
CL-ASHOK`: point-to-register C-x r SPC to store the point in a named register (one letter) and later, jump-to-register C-x r j <the-letter>
19:45:54
White_Flame
(there are probably newer cheatsheets around,but that's the one I happen to have bookmarked)
19:46:26
pjb
CL-ASHOK`: note that M-. M-, is a stack. You can M-. several times, and use several times M-, to pop back.