libera/#sicl - IRC Chatlog
Search
22:30:11
Mondenkind
beach: I think COMPUTE-POINTER does not handle cycles. And it only returns one value for negative integers
2:17:15
edgar-rft
"Ersatz" just simply means "replacement fore the original" but with a neutral meaning. An everyday-word still used a lot in germany is "Ersatzteil" = spare part. In war times it often was used for cheap substitutes ("Ersatzkaffe" for example was coffe made from malt or acorns), but that is not the everyday meaning.
3:03:09
beach
Mondenkind: Thanks. COMPUTE-POINTER "handles" cycles by returning additional items in the second value, so that POINTER can process them in a loop. But yes, it should return an explicit second value.
3:36:59
Mondenkind
beach: if you have a circular list, it will continue adding items to the worklist indefinitely, I think. It should first check whether the given object is already in *ERSATZ-OBJECT-TABLE*
4:41:40
mfiano
beach: It might be me, but I noticed something odd with CLHS, that may or may not be good for WSCL to clarify.
4:46:46
mfiano
Does this have to do with how SICL doesn't store things in the symbol object directly?
4:48:41
beach
Somewhat. It has to do with the fact that the term suggests a particular implementation technique that used to be the only one in the past. But nowadays, it is not even a viable implementation, given threads and such.
4:50:43
mfiano
Well it may be hard to delete such a thing from the standard for WSCL. Clarification on the original intent is another story.
4:52:16
beach
The goal is mainly to specify things that, for no good reason, are unspecified in the standard.
4:53:07
beach
Especially "things" where all major implementations do specify them, roughly in the same way.
4:56:28
mfiano
The page on CASE says it matches keys based on their "identity". This can be misleading, and only "identical" is a glossary term.
4:59:09
mfiano
It's quite amazing how well the standard held up over time considering all these goofs
5:00:52
mfiano
That's the confusing part. All implementations (that I know of) do, but afaik, it is unspecified.
5:02:31
mfiano
That's the part I was forgetting. I knew that when I first discovered this years ago.
5:04:31
Mondenkind
even if it didn't mention that, ccase and ecase mention an expected type of (member key1 key2 key3), which is strong evidence for EQL
5:08:53
mfiano
Yeah, one cannot just read the summary to get an idea of how CASE behaves; if you do you may mistake that word for a similar one in the language lexicon, rather than its intended English definition. So, you are expected to catch this, and read past the summary.
5:12:30
mfiano
Why it bothers me so much is because this was actually the first thing I read when I came to Common Lisp many years ago, and right then, knew how careful you had to read it as an average user of the language (because we don't have good user documentation yet)
5:12:35
hayley
Would it be difficult to write "identical under EQL" or "identical under EQ", rather than specifying that "same" without qualification refers to EQL, and "identical" to EQ? The glossary definition for "same" mentions qualifying with "under <an equality predicate>", as well as just "same" with EQL.
5:14:49
beach
Well, "identical under EQL" would be a contradiction, but "same under EQL" would be good. And yes, repeating that information rather than assuming the reader will go to the glossary would be a good thing.
5:15:33
mfiano
My thoughts on the matter are deeper than that. I think the glossary is over-used, and things should be "spelled out" more (at the expense of duplication).
5:16:10
hayley
Such a reform would remove the definition of "identical" to mean "same under EQ", but that change could be pushing it too far.
5:20:26
Mondenkind
I think one should be careful about assigning specific technical meanings to words which also have common english meanings
5:22:58
mfiano
We can just choose names like ersatz, that apparently many people have not heard of before :)
5:23:45
hayley
The two hardest problems in Netfarm: 1. what to call a "system" (most of a server, notably excluding networking code) and 2. how to shorten the name UPDATE-SYSTEM-FOR-NEW-INTERESTING-OBJECT-PREDICATE
5:25:56
hayley
Somehow choosing uncommon names seems harder than choosing names, but that is why we have thesauruses.
5:27:16
beach
Mondenkind: I think that, as long as the use of the word is unique to the domain in question, it is fine to use ordinary words.
5:30:51
hayley
Well, that is what I learnt in primary school, where they really didn't want you to write "said" too often, e.g. "beach said 'How is SB-SIMD going?' heisig said 'I found the instruction that made my processor catch fire.' hayley said 'Does it work on 16-bit integers?'"
5:31:31
hayley
Mondenkind: I guess coming up with less common synonyms is something you can do with a thesaurus, but not with a dictionary. You could look through a dictionary to find words (assuming you know a prefix of the word).
5:32:44
Mondenkind
hayley: 'coming up with less common synonyms' is bullshit. Words have meanings. If my meaning is closest to the meaning of one word, but I choose another word instead, then I have not communicated effectively
5:33:52
hayley
Mondenkind: I agree, but we're playing the stupid game of "picking names that many people have not heard of before", and that's the stupid prize.
7:22:01
heisig
hayley: I wouldn't be surprised at all if x86 had an instruction for setting the processor on fire :)
7:22:56
heisig
And given how sensible the instruction set is laid out, it would differ only in a single prefix bit from some commonly used MOV instruction :)
7:24:27
hayley
Though I recall people do fuzz x86-64 processors, and I don't think there have been HCF instructions yet.
7:27:08
heisig
ACTION thinks of how he could implement HCF in sb-simd - and about a proper German name for it.
7:29:28
jackdaniel
its funny how they lump "LISP variants" with scheme and say that list is the only data type (https://users.monash.edu/~damian/papers/PDF/SevenDeadlySins.pdf)
7:30:52
hayley
No, they're not cache friendly, pointers are bad (but let me tell you about b-trees). You only have vectors.
7:34:34
hayley
If you want a language where lists are the only data type, then you probably want NILP <https://gist.github.com/Goheeca/b4ce549203e52d8d33dc3eaecc173ee5>
7:36:41
heisig
Except the part where they complain about the 'paradigmatic purity' of Lisp. That made me giggle.
7:37:04
hayley
I didn't mind the Eno song Seven Deadly Finns, though it doesn't sound like the art rock stuff or the ambient stuff.
7:39:26
jackdaniel
words shape the reality, in accordance with that we could say that there is a lot of offtopic -- still bad but smells better ,p /me gets back to typing code
7:39:42
hayley
heisig: It's fun seeing people try to categorise Lisp in general. Never seems to go well.
7:45:52
Mondenkind
hayley: https://www.youtube.com/watch?v=jmTwlEh8L7g mentions a halt and catch fire instruction :)