Search
Sunday, 20th of November 2022, 17:37:16 UTC
20:24:37
nij-
While evaluating this form, I got an error (https://github.com/pinterface/burgled-batteries/blob/master/grovel-guess.lisp#L5)
20:25:23
nij-
It seems like a bug, yeah? Or has CFFI updated its API?
20:46:06
nij-
Hmm I encounter this line: #+cffi-features:x86-64 (cffi:defctype ssize-t :int64)
20:46:27
nij-
How should I alter ssize-t to?
20:48:39
phoe
nij-: which version of CFFI?
20:53:59
phoe
nij-: (ql:where-is-system :cffi)
21:00:16
junkrunner
I came looking for scymtym, but he seems to be afk all the time or maybe I'm just in the wrong timezone to catch him
21:02:57
phoe
you can just leave a comment in here, he'll read it when he's able to
21:03:25
phoe
in the worst case you can leave a memo on minion but it's probably unnecessary, this channel is logged so history can always be read
21:16:10
junkrunner
I've sent him a msg though so hopefully he gets that
21:20:45
nij-
phoe ok.. but it doesn't seem to mention its version in asd.
21:21:00
phoe
nij-: what's the pathname?
21:38:58
nij-
It's under my local project dir: /Users/nij/.../qlot/local-projects/nyxt/_build/cffi/
21:48:57
phoe
nij-: you'll need to ask qlot which version of cffi it pulled then
21:51:53
phoe
oh wait, I can reproduce this error
21:52:51
phoe
nij-: you need to edit it to (cffi:defctype ssize-t #+cffi-features:x86 :int32 #+cffi-features:x86-64 :int64 #-(or cffi-features:x86 cffi-features:x86-64) (error "Unable to guess ssize-t."))
21:52:56
phoe
because OR is not a valid CFFI type
21:59:59
nij-
ok.. so it's a bug in that lisp system
22:00:09
nij-
which is pretty old.. so maybe back then it was fine
22:00:21
nij-
the problem now, phoe, is that i'm on macbook m2
22:00:35
nij-
so it's neither x86 32 nor 64
22:01:05
phoe
you gotta write your own support for that then!
22:01:12
phoe
most likely it'll be #+(or ...) for you
22:04:07
nij-
what's a good keyword to put there for darwin?
22:04:40
phoe
no, I think that either of these two keywords is going to stay; you'll want to put a different reader conditional in there I guess
22:16:31
NotThatRPG_away
Anyone know if 5AM test names must be globally unique? It has test suites, but it seems like one can look up a test by name, so maybe test names do have to be unique?
22:16:35
NotThatRPG_away
** NICK NotThatRPG
22:30:20
NotThatRPG
** NICK NotThatRPG_away
23:32:17
nij-
What are FASL files, and how are they produced? They are not mentioned in CLHS.
23:34:51
specbot
http://www.lispworks.com/reference/HyperSpec/Body/f_cmp_fi.htm
23:34:52
thuna`
nij-: I think they are the equivalent of compiled code for CL
23:35:01
phoe
"compile-file transforms the contents of the file specified by input-file into implementation-dependent binary data which are placed in the file specified by output-file."
23:35:10
phoe
FASLs are this implementation-dependent binary data that the CLHS mentions
23:35:34
thuna`
Does every implementation use FASL?
23:35:47
phoe
every implementation's FASLs is different
23:36:01
thuna`
No, I mean the extension
23:36:02
phoe
and each implementation's version's FASL is allowed to be different too
23:36:14
phoe
different implementations can have different extensions
23:36:56
nij-
thuna` ah good so depend on different implementations
23:37:10
nij-
e.g. for sbcl it's assembly?
23:37:20
nij-
iirc sbcl compiles cl to assembly
23:37:38
thuna`
Well, the contents can be anything, probably.
23:37:59
phoe
it's still more than assembly because you need tons of metadata to properly use the assembly code for compiled functions
23:39:24
thuna`
It would probably be conforming for an implementation to just do nothing with compile-file
23:40:29
phoe
thuna`: actually no, minimal compilation is required
23:40:40
phoe
but other than that, yeah, nothing else is mandatory
23:40:51
specbot
Minimal Compilation: http://www.lispworks.com/reference/HyperSpec/Body/03_bbb.htm
23:42:17
thuna`
Sigh. I need to wget the hyperspec again, but it pulls the entire lispworks site
23:43:39
nij-
phoe - Huh! So I've heard that sbcl compiles CL -> IR1 -> IR2 -> assembly
23:43:47
nij-
but apparently fasl is in yet another form?
23:44:34
phoe
thuna`: http://ftp.lispworks.com/pub/software_tools/reference/HyperSpec-7-0.tar.gz
23:44:39
phoe
nij-: no, fasl is a container format
23:44:53
phoe
it contains assembly for compiled functions, along with other data
23:47:33
thuna`
phoe: Thank you, that is a lifesaver
4:46:59
beach
phoe: Assembly? Really?
4:49:26
hayley
FASLs do contain machine code, by my reading.
4:49:51
beach
Yes, but assembly is not machine code. It is a source format for an assembler.
4:49:52
hayley
src/code/load.lisp, look for (define-fop 17 :not-host (fop-load-code ((:operands header n-code-bytes n-fixup-elts))) ...)
4:50:16
hayley
Right, the answer to "Assembly?" would be "No".
4:50:43
beach
That's what I thought. But I don't follow SBCL evolution, hence the question.
Monday, 21st of November 2022, 5:37:16 UTC