freenode/#clim - IRC Chatlog
Search
10:48:47
jackdaniel
OK, so your problem is that you want to accept something of type `person' from the stream `stream'
10:49:06
jackdaniel
but you don't have person presented on the interactor pane, and that's where the command is invoked
10:49:42
jackdaniel
if you modify your snippet to be: (setq person (accept `(member ,@persons))) , then it will be able to find your person
10:52:42
jackdaniel
I'm not sure if you do it the right way (that you recursively call accept), but I don't know
11:07:03
Kaz`
https://github.com/thibaultlanglois/Clim-Howtos/blob/master/Screenshotat2018-06-1312-00-03.png
11:10:51
Kaz`
I have uploaded e more minimalistic version with 3 persons. 2 of them have the same first name. The idea was to accept the first name and if several person match, make recursive (member) accept restricted to the matches.
11:39:48
jackdaniel
Kaz`: your "reduced" example has dangling undefined functions, is not properly indented etc
11:39:56
jackdaniel
either way, a sketch of the solution is here: http://hellsgate.pl/files/cfdbde6a
11:41:11
jackdaniel
more elegant solution would avoid using dynamic variable, so keep in mind this is just a sketch
11:44:25
Kaz`
ok thank you. I was thinking that maybe it would be better to have an accept method for a list-of-person type and the function that receive the result would do different things denpending on the nember of elements.
15:50:14
loke
I have started to understand more of the DREI stuff. At least how it works with input eidting.
16:21:48
loke
TO get something working for Climaxima, I had to rework that code a bit, and ended upw ith this:
16:31:32
loke
Specifically, look at the hack I had to come up with in order to detect when Shift-Return was pressed so that I can support multiline input
16:33:53
loke
It would be really nice if some of the stuff I do there could be done through official API's
16:34:30
loke
I had to dig quite deep into private API's, and I have no idea if my LOGAND with 256 is even going to work on all platforms :-)
16:35:45
beach
You would not be on your own. You could do what I do. I write things down, submit the suggestion for review, revise, iterate.
16:39:28
beach
What I am trying to say is that I am not accusing the authors of that code of bad design.
16:40:28
loke
But what has become very clear to me (as I mentioned earlier) the code suffers from two things:
16:41:17
loke
2) It's apparently written on very slow machines, because there is a lot of optimisations that might not be needed.
16:43:12
beach
People also have a tendency to optimize without having done the work, i.e. either tested it or having a back-of-envelope calculation.
16:44:53
beach
Athas modified it of course. It used to be part of (first) Climacs. The Athas extracted the Drei part.
18:09:43
ym
You mean the CLIM 2 User Guide PDF is not the right source of examples or when copy-pasting from PDF-file it's possibly adds some extra characters which may cause errors?
18:11:03
jackdaniel
I mean that when copy-pasting from PDF-file it is possible to add some extra characters
18:15:37
ym
This one for example gives: "The slot CLIM-INTERNALS::MAX-VALUE is unbound in the object"
18:21:49
jackdaniel
this decision is caused by the fact, that when you create a pane it must be associated with something it may be drawn on
18:22:05
jackdaniel
when you don't have a dynamic context of the application, then you have no windowing context
18:22:28
jackdaniel
you may make-instance of your hello-world-pane (though I'm not sure if this would be useful for anything)
18:23:33
jackdaniel
as of being lispy, I don't know what is and what is not lispy. for instance whole CLOS-ology seems unlispy to me, but I'm sure 90% of lispers would agree that I'm wrong on that ;-)
18:24:18
ym
It makes sense for experiencing and learning. I'd prefer it return any kind of lisp object and REPL print it.
18:27:34
jackdaniel
ym: bright side of it is that if you run make-pane in clim-listener (which features repl) it shall work
18:33:12
jackdaniel
I tend to believe, that "proper" lisp programs tend more to be like frameworks than libraries
18:33:40
jackdaniel
the difference is that framework is something you build your applicaiton "in", while library is something you use "from outside"