freenode/#sicl - IRC Chatlog
Search
8:04:56
no-defun-allowed
I think I'll have to take a "morning" back from makomo as I gave them two though (:
9:03:30
beach
There is no applicable for the generic function #<STANDARD-GENERIC-FUNCTION CLIM-BACKEND:FONT-GLYPH-DX (1)> when called with arguments (#<XLIB:FONT fixed :0 ....> 84).
10:50:43
scymtym
beach: thanks for trying. that's the kind of failure i feared. i believe it is a result of https://github.com/McCLIM/McCLIM/issues/705 . if you want to keep trying, doing apt install fonts-dejavu-extra (assuming ubuntu) might help. if that doesn't help, waiting for a bug fix in mcclim is probably more time-economical
10:57:02
scymtym
sorry for the trouble. i put in some effort to reduce friction (building in a container with an old libc, compressing the executable) but it is still fragile
10:58:53
scymtym
try a missing closing ) or " somewhere in the middle of multiple top-level forms. i hacked something for that yesterday evening
11:03:38
scymtym
it's a throwaway program. i'm using it to test eclector, my s-expression syntax library and some other pieces that will eventually be needed
11:04:30
scymtym
i'm thinking about extracting the pieces that read multiple top-level forms with error recovery, with a "read environment", without interning symbols, etc. into a library
11:06:00
scymtym
if you find bugs, i'm happy to address them, but the program itself is not something that i would like to polish and improve
11:07:40
scymtym
i promised pushing the in-progress version so people can look at it, but i would not yet recommend using it
11:09:05
scymtym
i have an approach for indentation that attaches operations of a wadler(i think was the name)-style pretty printer to defined syntactic constructs, but it is not very along
11:09:50
scymtym
i keep going back to eclector and improving so progress in the upper layers is slow
11:11:05
beach
A ;; comment inside a TAGBODY should be aligned with the following line and the indentation of the following line depends on whether it is a tag or a statement.
11:12:39
scymtym
the common case is aligning "parts" of a forms given the operator and the kind of part (e.g. operator = let, part = binding)
11:13:13
scymtym
but maybe there could be rules for the whole operator for these non-local decisions
11:13:51
no-defun-allowed
scymtym: So, are you making a pretty printer for all Lisp reader syntax, including comments and conditional reader macros?
11:14:35
scymtym
the pretty printing is basically the output format, it doesn't do the indention logic. the pretty printer can do indent, fill, branch based on available remaining columns
11:16:17
beach
I started contemplating some kind of declarative syntax for indentation information, but it quickly got complicated.
11:17:02
no-defun-allowed
I think a Lisp syntax-aware git clone is something that's been brought up in #lisp a few times, and that and some kind of unification for things like defsystem/defgeneric/defclass/&c information would be a good start IMHO.
11:18:18
beach
scymtym: Here is a remark already: It doesn't seem to distinguish between a non-existing package and a package with no symbols in it.
11:19:17
no-defun-allowed
scymtym: Today I had a nasty case of "you committed but you forgot to pull beforehand, and now you have to clean up git's chicken footprints in your code", and it was mostly different indentation and a couple of different symbols.
11:21:13
no-defun-allowed
So then if the version control stored syntax data instead of plain text, and gave pretty-printed expressions to the client, most of that wouldn't have been an issue.