freenode/#clim - IRC Chatlog
Search
11:20:37
jackdaniel
alright, published: https://www.youtube.com/watch?v=RBOrllTA-yc . Time to chop some wood (literally :-) \o
15:20:26
jackdaniel
as I said: wip library. you may put any object having list-children function (and having data in it)
15:28:19
oleo
jackdaniel, did you ever thought of starting from scratch and implement your own clim on-top of clx first and then the rest ?
15:32:54
scymtym
jackdaniel: in your video (which i liked, btw.), you did something like (setf (max-y thing) (max (max-y thing) current-y)), ALEXANDRIA:MAXF is nice for such situations
15:33:51
jackdaniel
I also did something like (setf (gethash …) (not (gethash …))) ; clim has setf macro expander for that too
15:40:02
scymtym
i liked the parts about space requirements and how to hook their computation into the event systems. i think that will help a lot since the interactions of multiple things like that are hard to figure out by other means
15:42:24
scymtym
one thing i wouldn't say i disliked, but i was wandering about was whether something like a model-view-controller structure would make sense for a tree widget
15:47:47
oleo
welp, the space requirements together with event stuff is a subclassing issue but i suppose it's hard to get the idea when you have not seen it done at least once
15:49:08
oleo
at least someone who is thru with clim stuff and knows it good exploring it before your eyes is always a good thing
15:50:01
oleo
i came across many examples of some kind but most are either writ for older mcclim versions or won't work, crippled or whatever.... so completion of the tutorials is a mess
15:52:14
oleo
for example grokking the clim-examples source code is also not easy, one misses easily the unfolding part, (what is basic, what is supplemented)
15:54:03
jackdaniel
I try to show how to get things done in McCLIM and where to look when you are stuck
15:57:12
jackdaniel
so the next step would be adding protocol for the tree gadget (which would be implemented on abstract-tree-gadget)
15:57:22
scymtym
jackdaniel: i think the scope is well suited for an introductory video. that's why i said "wondering" as in "a question beyond the scope of the video"
15:58:25
jackdaniel
I had a try to subclass a valuge-gadget and work from there, but I've managed to confuse myself in the process, so I didn't retry it
15:59:04
jackdaniel
so I had to abandon 30m part, where 20m is me scratching my head why things doesn't work I would want them to :-)
16:13:22
oleo
is there something that reads the classes and all the methods/generic functions and can layout the class inheritance structure and the method-framework structure in an image or so ?
16:16:33
jackdaniel
I think it could use some ux improvements though, it's hard for me to use clouseau
17:55:49
oleo
jackdaniel: what's the easiest way to get class-names to be highlighted by another color in climacs or in the listener ?
18:08:39
slyrus_
first question that arises as I'm watching the video. Why isn't define-application-frame just e.g. (defclass nicloas-recap (application-frame) ...) with the appropriate mop magic to do what d-a-f does?
18:09:11
slyrus_
and, second, similarly, why can't make-application-frame just be (make-instance 'nicolas-recap)?
18:11:32
jackdaniel
define-application-frame expands also to some method definitions and defines macro
18:12:36
jackdaniel
as of make-application-frame I'd have to check, but it also does some adjustements after make-instance is called
18:14:14
jackdaniel
and as a side note: having some clever mop implementatino would make it harder to debug
18:14:44
jackdaniel
imo we depend too much on clever things (in implementation), where half of the mechanisms are buried and forgotten
18:55:04
slyrus_
hmm... I guess so, but it would seem to me that CLOS/MOP give us all the infrastructure to deliver a clean API (defclass/make-instance). Instead we end up with some hand-rolled set of macros. I agree that some of the cleverness is half-baked. Would be nice to see it removed or fully-baked.
19:01:13
jackdaniel
also I would be puzzled, if I've seen (defclass foo () () (:panes …) (:layouts …))
19:02:01
jackdaniel
moreover :panes and :layouts section are both evaluated in a dynamic envifonment, where the instance is already present
19:03:00
jackdaniel
(I don't like clever abstractions, they are hard to grasp and even harder to debug)