libera/#lisp - IRC Chatlog
Search
12:53:59
aindilis_
hey folks, I am always doing Knowledge Representation and Reasoning stuff, and I use Emacs as my primary interface. I was wanting to integrate Emacs and UTexas' KM (Knowledge Machine).
12:53:59
aindilis_
Can anyone recommend the best way to integrate these? I talked with Claude, and iterated towards some kind of bridge between ELisp and CL.
12:54:02
aindilis_
However, the only one I know of is not maintained presently. Can anyone recommend anything relevant?
14:05:32
aindilis_
varjag: oh, just saw your message. ty! yeah, I was told to use sly, and then Claude helped me get it. KM itself has compilation issues, pretty sure I have a more modern version lying around somewhere, and I'll release and post here and #emacs if/when it works.
14:16:32
aindilis_
bjorkintosh: I would also like a Text version of a KBS too, now that you mention it, which has all clauses in English and does inference inside the LLM.
14:17:26
aindilis_
but, you know, I am using it for just simple KRR, not anything too advanced. The basic relationship are still valid despite there being other, perhaps better subsymbolic approaches that treat things as gradients as opposed to binaries.
14:18:06
aindilis_
in fact, I think I owe causative an apology, because causative always argued in favor of NNs and I didn't think at the time that they were going to get as insanely capable as they have
14:20:43
aindilis_
delineating which keybindings were mnemonics: e.g.: \C-clmfao vs were transliterations, e.g. \C-comf for "open-main-file" or something like that
14:21:01
aindilis_
I mean, drove me this morning. I've wanted Emacs KB+ATP as long as I can remember, for quick deductive work
14:22:25
bjorkintosh
aindilis_: don't. they're the epitome of evil vampire squid capitalism. they destroyed Toys R US for the fun of it.
14:23:28
aindilis_
have they no decency! I loved Toys R Us! There is no curse in Elvish, Entish, or the tongues of Men for this treachery.
14:24:10
aindilis_
yeah I hate the firms that buy hospitals and part them out, leaving communities without healthcare too
14:24:43
aindilis_
well I set up interlisp using someone else's stuff for AM/Eurisko, and yeah I'm a long time Cyc user
14:25:20
aindilis_
but I don't really know interlisp. I value that it worked, and I understand that like Prolog and FOL don't change, they're still just as useful as ever, and I assume the same with interlisp
14:27:49
aindilis_
I'm sorry, I should properly credit the work of setting up AM/Eurisko here. I just have a bad memory these days due to meds. It was seveno4.
14:29:29
aindilis_
White_Flame and I came across Eurisko in the SAILDART repos. I also wrote cyc-mode-2, an Emacs major mode for Cyc using the Java API.
14:31:00
aindilis_
things were hard for a long time. Now if the same thing that happened to Toys R Us doesn't happen to the United States, then I will probably be fine for a while unless I have some health issue crop up.
14:32:10
aindilis_
do you still do much Prolog and/or chat with dmiles? I haven't heard directly from him in ages
14:47:29
efti
and then I have a method to transform this into an actual representation, so in this case it will be 5*3 = 15 char long list ( ... ) based on the two parameter values and how it should be represented in the base case which is length = 1 ( . )
14:50:58
efti
question 2, I have a method with formal parameters (arguments) dst for destination and src for src, it writes src onto dst, if and what was there before that is lost. so if dst is 'xxx' and src is 'yy', the result on dst will be 'yyx' - what do you call that? I called it 'write-over' but they again didn't like it
14:55:44
efti
first case is some change in representation, like gold coins: 5 -> { ***** } where * is one coin, ha
15:07:12
efti
paulapatience, yeah, CL is good in this case as the code is eieio.el which is Elisp's implementation of CLOS
15:40:20
x8dcc
If (car '(abc xyz)) returns the symbol "abc", why does (car '(nil nil nil)) return the empty list instead of the symbol "nil"?
15:41:30
x8dcc
I have spent a lot of time trying to figure out why (null? (car '(nil nil))) is false in my Lisp, and it's because it was checking the symbol "nil". It kind of makes sense.
15:44:00
x8dcc
Oh, wait... in Emacs Lisp (type-of (car '(nil nil))) is symbol. Then `null' accepts the "nil" symbol?
15:49:02
x8dcc
paulapatience: But even if they evaluate to themselves, why are evaluated in the first place? If I quote them
15:54:10
x8dcc
Now I am not sure if I should add this exception to my Lisp as well. Doesn't make much sense
15:54:45
dutchie
there are two exceptional things about nil: 1) it's both a list and a symbol 2) it's self-evaluating
15:55:26
dutchie
(there are probably others as well, but those are the ones relevant to this conversation)
15:55:33
x8dcc
The symbol "t" is also self-evaluation, but that's logical. Having 'nil evaluate to a list when explicitly quoting doesn't make much sense to me
15:57:38
x8dcc
Right now I was treating "nil" like a normal variable, defined to the empty list. And empty lists evaluate to themselves in my lisp.
15:58:31
dutchie
so the main difference there is that you distinguish the symbol nil and the empty list, whereas in CL
15:58:33
x8dcc
I might do it "half-way". Keep "nil" as a normal symbol, but use both the "nil" symbol and the emtpy list as false.
16:00:30
paulapatience
x8dcc: You might be interested in reading this: https://www.tfeb.org/fragments/2022/12/16/the-empty-list/
16:04:57
x8dcc
It's just that this whole "nil is both a list and a symbol" thing doesn't sound right to me
16:06:36
Bubblegumdrop
actually that's kind of a funny punny. list traversal subroutines going "are we there yet? Nope"
16:06:52
x8dcc
Not at all. Yesterday I tried adding something to the standard library and I thought I broke something because my symbol "nil" is not false. But that was actually expected. I guess.
16:25:33
Bubblegumdrop
I think in other implementations they use something called "tagged pointers" for this kind of thing...
16:26:27
Bubblegumdrop
like storing your data in a pointer then setting some bit of the pointer to indicate the type or nil
16:35:37
x8dcc
Yeah, that might make sense when implementing lists as cons pairs. In my case nil is an empty list, so an EXPR_PARENT with NULL children.
16:36:36
x8dcc
In any case, the "symbol exception" is not related to this. I had a hard time understanding why the *symbol* "nil" was equal to the empty list in Emacs Lisp, even before evaluating the symbol
16:42:10
x8dcc
Yes, but there is only one equal? in my Lisp, since I don't have garbage collection by now and no pointers are re-used
16:43:41
Bubblegumdrop
Yes I was mistaken the first time. in the order I listed they become more general with eq being the most specific.
16:46:36
Bubblegumdrop
I'm not sure if you can see at the top of that page I linked, " Common Lisp the Language, 2nd Edition "
17:15:43
efti
anyone knows eieio.el or CLOS assuming it is the same how do I arrange so that a method is called for an object immediately and always after instantiation? now I call them manually every time which is ugly and error-prone compared to automation, of course
17:23:47
Bubblegumdrop
well for clos I think you'd do something like (defmethod initialize-instance :after ((obj your-class) &rest initargs &key &allow-other-keys) ...)
17:25:00
Bubblegumdrop
most specific first, least specific first, nconc (in order of creation I believe)
17:41:26
x8dcc
Normally, when tracing Lisp functions, the interpreter traces the actual function, right? Not the symbol
17:42:48
x8dcc
So I can define `my-func' to be `list', and if I trace `my-func' then all calls to `list' are traced as well. Right?
21:59:45
Bubblegumdrop
Invoking trace with one or more function-names causes the denoted functions to be ``traced.''
22:06:40
Bubblegumdrop
Neat, I just learned about STEP https://www.lispworks.com/documentation/HyperSpec/Body/m_step.htm#step
22:18:13
x8dcc
But I still don't get the point. I don't think IRC rules have anything to do with creativity
22:25:13
ieure
I see that my immediate reaction of "by 'channels that suck,' they probably mean 'ones where they get sick of my bullshit'" is turning out to be prescient.
22:27:01
keeliro
never mind...I just made a comment... I do not want to explain what is just rejected
22:29:40
bjorkintosh
keeliro: well that's no way to gather followers, you have to convince them! unless you don't want followers.
22:30:21
Bubblegumdrop
keeliro is this what you were talking about in #emacs? It seems a bit off topic to me. I can understand why the ops might feel "bossy" towards you.