libera/#commonlisp - IRC Chatlog
Search
16:30:12
jcowan
e.g. IL: is case-sensitive but all standard symbols are uppercase (you need your CAPS LOCK key)
16:31:17
jcowan
Medley will boot and run file, and you can start either a CL or IL REPL. The main problem with CL is that it is basically CLtL1. Some work (nobody yet knows how much) was done to add CLtL2 facilities.
16:33:27
jcowan
CL has NLAMBDA (elsewhere known as FEXPR) pseudo-functions, which look like macros to CL; I'm not sure if the reverse is true. But IL isn't that big a language: the Interlisp teams in the past worked on tooling, not on embiggening the library.
16:34:25
beach
I see, so getting full ANSI Common Lisp is a bigger problem than getting the Interlisp environment to work.
16:53:11
cheers
beach: How close is SICL to being completed? totally fine if you don’t have an exact estimate
17:22:17
jcowan
_death: Yes, in the CL Exec (REPL) you are using the CL readtable instead of the IL readtable. If you start an IL Exec then nil should not work but NIL will.
19:03:29
Posterdati
please help, how is it possible to simulate a button click on a webpage using drakma?
19:46:00
shka
if by "using" you mean using getf, it is reasonably common if you have function with &rest argument
19:47:11
jcowan
Agreed, but isn't that what &key is all about? When do you need to process them yourself?
19:50:59
shka
it is from what i noticed used less often for actually long term storing of dictionaries
19:52:50
jcowan
"Dicts" in Scheme-to-be are a generic interface to key-value stores, including HAMTs, alist, and hashtables.
19:53:41
jcowan
Allowing plists as a kind of dict means that () can be either an empty alist or an empty plist, you don't know which.
20:13:51
AnimalClatter
If I recall correctly, Common Lisp Recipes makes the point that plists have a simplicity and readability that would lend themselves to, e.g., a config file
20:35:36
mfiano
In combination with #'APPLY for example, especially if you want to override just a single key/value (earlier ones take precedence)
22:15:54
NotThatRPG
Is there a CL library that has an equivalent of the Unix "find" utility? Or something like the (admittedly kind of scary) perl find library?
22:17:12
NotThatRPG
@xach: Given the mismatches in the various CL interfaces to the file system, that isn't entirely surprising, but it is kind of disappointing.
22:18:48
lotuseater
ha yes I could try when it comes to that. there's no #'(setf array-element-type) in default
22:19:14
Bike
there is no way to do that. adjust-array is how you change arrays, but there's no defined behavior for changing element type
22:21:28
xach
NotThatRPG: i've been using wild-inferiors to look through file trees but not in very complicated ways
22:22:27
lotuseater
so expanding at compiletime and throw an error if it won't be specialized by pushing some value
22:23:00
NotThatRPG
lotuseater: You mean for CHANGE-CLASS. I did once upon a time have a real use for CHANGE-CLASS, but I can't for the life of me remember what it was.
22:24:52
NotThatRPG
@xach: Not tasty, but it works: (uiop:run-program (format nil "find ~a -type f -name \"*run-all.lisp\" -print" (namestring (asdf:system-relative-pathname "shop3" "examples/"))) :output :lines)
22:25:51
xach
NotThatRPG: (directory (system-relative-pathname "shop3" "examples/**/*run-all.lisp")) is what I'd use
22:26:44
lotuseater
xach: I once asked friends "so can your Java (or another blub) change classes in such a way at runtime?" :D
22:29:56
NotThatRPG
pve: Would that work? I have stopped using CL-FAD because it isn't able to identify when a directory entry is a file or a subdirectory (because it is too trusting of the form of CL pathnames).
22:30:49
pjb
Bike: I beg to differ. adjust-array lets you change the element-type, with the constraint that: If element-type is supplied, the consequences are unspecified if the upgraded array element type of element-type is not the same as the actual array
22:31:57
pjb
So (let ((a (make-array 3 :element-type '(integer 3 10) :initial-element 10))) (adjust-array a (array-dimensions a) :element-type '(integer 10 100))) #| --> #(10 10 10) |# is perfectly conforming AFAICS.
22:32:39
pjb
(let ((a (make-array 3 :element-type '(integer 3 10) :initial-element 10))) (adjust-array a (array-dimensions a) :element-type '(integer 100 200))) #| --> #(10 10 10) |# might also be, until the printer tries to read the elements.
22:34:17
pve
NotThatRPG: i guess you could double check in the function given to walk-directory with better definition of what a directory is, and then call walk-directory recursively
22:34:45
pjb
lotuseater: so (let ((a (make-array 3 :element-type '(integer 3 10) :initial-element 10))) (adjust-array a (array-dimensions a) :element-type '(integer 10 100)))
22:35:13
NotThatRPG
pve: I will have a look, thanks. I should probably double-check UIOP and make sure it does not have such a beast in it.
22:36:31
pve
NotThatRPG: uiop at least has a definition for how to identify directories, it's what I use in my own walk-directory
22:37:03
NotThatRPG
pve: Yes, that's right, because it can't be done in pure CL, and i think CL-FAD is pure CL.
22:37:48
NotThatRPG
pve: Even the superhuman Fare could not make symlinks work consistently across lisps, though!
22:40:02
NotThatRPG
pve: Alas, no: "Note that this does _not_ check to see that pathname points to an actually-existing directory. "
22:41:52
NotThatRPG
There's a longstanding ASDF bug related to this, that I don't believe we can fix.
22:48:11
pve
NotThatRPG: can you help me understand what exactly causes the problem (it's a bit late here)? If I symlink a directory into another directory foo and then walk-directory foo, it walks into the symlinked directory and finds its files like I would expect
22:48:55
NotThatRPG
If I recall correctly (and I could be wrong), there is no way to tell CCL *not* to follow the symlinks.
22:50:44
NotThatRPG
Yes, and I think there are ways that aggressively following symlinks can cause a mess in some ASDF link farms.
22:53:11
pve
ok, I see now.. well if it makes a difference, cl:directory in my ccl version does have a :follow-symlinks keyword parameter
1:44:59
NotThatRPG
jeosol: I have looked at a lot of Fare's code and it is superhuman. His ability to keep track of the idiosyncrasies of all the different implementations is astounding.
1:46:37
jeosol
@NotThatRPG: I agree with you. I started asking him questions many years ago, and even now that he moved to Gerbil scheme, he is still able to give me good pointers regarding asdf and poiu. His advice and pointers have been helpful
3:21:05
beach
cheers: With respect to SICL, I don't like to give estimates. You should definitely not try it yet. Most of the code is written. Register allocation is done. Code generation is next. And there are some parts of bootstrapping that still need to be designed.