libera/#sicl - IRC Chatlog
Search
7:26:58
pjb
(code-char #x10000000000d800) #| ERROR: The value 72057594037983232 is not of the expected type (mod 1114112). |#
7:37:07
beach
Mondenkind: Returning NIL seems to be the most appropriate solution. But my feeling is that the entire Unicode thing is going to be slightly incompatible with the Common Lisp standard in several respects.
7:38:29
Mondenkind
pjb: yes, I understand what the difference is; what I am asking is what _should_ be done
7:40:09
Mondenkind
I think returning nil is correct, but only because user code _has no way_ of checking whether a number is a valid character code other than (and (<= 0 x (1- char-code-limit)) (not (null (code-char x))))
7:40:29
beach
Today, my favorite coauthor is coming over for lunch, so I won't get much done today in terms of programming.
7:40:32
Mondenkind
which being the case I think that code-char should return nil for _all_ non-negative integers
7:51:36
pjb
(defun valid-char-code-p (x) (and (integerp x) (< -1 x char-code-limit) (code-char x))) (mapcar 'valid-char-code-p '(65 #xd800 100000000000)) #| --> (#\A nil nil) |#
7:54:11
Mondenkind
pjb: right, and only if the holes are guaranteed to turn into nil; which is why I suggested that they do that instead of signalling an error
7:54:27
Mondenkind
(I suppose you could also catch the error if it were guaranteed, but that would be even worse)
9:01:54
pjb
Mondenkind: returning nil for non-character codes. I would argue that ascii control codes should have a code-char nil. (apart of course #\newline).
9:03:45
pjb
Mondenkind: then for #xd800 it's a matter of interpretation of unicode, the cl character specification cannot take into account all the complexity of unicode, so some interpretation and extensions are required. I'd argue for the specification of a UNICODE package with all the operators needed to deal sanely with unicode. This could be integrated in implementations supporting unicode like gray streams or the mop.
9:48:53
hayley
Once someone offered to add a feature they wanted to a library I wrote, but I thought it needed some adjustments, so I made a local branch with their commits, made my adjustments, then merged that branch.
9:49:57
Mondenkind
switched. I thought somebody might say something like that. However, to fight pedantry with pedantry, I will also note that the test should be switched; the expected case comes first
9:50:09
Mondenkind
beach: check-type signals the error if it has to. It's also shorter, and provides a restart
9:51:57
beach
OK, I'm confused, and I need to prepare lunch for my favorite coauthor, so I'll catch up later.
9:51:58
hayley
Line 4 of https://github.com/robert-strandh/SICL/pull/217/files has a CHECK-TYPE form, no?
9:52:34
hayley
Mondenkind: Aha, now I realise why you and beach were talking about German yesterday.
9:53:59
beach
I would use the Vietnamese word for "beach" but it contains characters not allowed by IRC.
9:55:28
hayley
Whoever said that people only examine the small pull requests was unfortunately very right.
9:56:04
jackdaniel
re backquote, (check-type code #.(1- char-code-limit)) would be fine if you can guarantee, that this limit won't change between reading the file and calling the function
9:57:08
hayley
jackdaniel: Sort of, but someone made a point about this specific instance of bikeshedding once.
12:05:17
jackdaniel
Qwnavery: I think that beach licenses his libraries with bsd-2-clause to minimize noise from the vocal anti-gpl crowd ,)
12:09:44
jackdaniel
I think that if anything then contributors could be at problem because they've used the code without a license
13:58:01
mfiano
beach: The problem is there is no license specified in the repository currently, and you have contributors!
14:00:39
Bike
yeah but technically the people who wrote code still have copyright over what they wrote, so you can't decide on a license yourself
14:05:11
mfiano
8 for SecondClimacs https://github.com/robert-strandh/Second-Climacs/graphs/contributors
14:09:34
yitzi
beach: Success on indentation on fill/linear/miser newlines! https://plaster.tymoon.eu/view/2672#
14:09:36
mfiano
1 person changed git attributes file, 1 person changed asd file, 1 person changed TeX...so probably very few code authors and i bet most are typos
18:06:35
scymtym
i thought of another thing that is easier to achieve in the CLIM-based specification browser: https://techfak.de/~jmoringe/specification-browser-5.ogv