User loginNavigation |
Have I Missed Something ?Hi, I have been learning Lisp (SBCL 1.0.1 for intel Mac) for a couple of months as time permits. I have installed and tweaked cl-opengl nnd I am now starting a 'project' as a learning experience, a simple Lisp editor using OpenGL. I have a package for it and all is well on the general code creating front. However, in the course of my fiddlings, I have created a structure called 'editor-env': (defstruct editor-env buf ; buffer for the loaded file top ; the top-edge [y] coordinate of the window left ; the left-edge [x] coordinate of the window row ; cursor row value col ; cursor column value row-max ; maximum height of full columns plus one col-max ; maximum width of full columns plus one csr-char ; character for the cursor position paper ; background color ink ; text foreground color font font-dx font-dy ; font face and cell size ) As my code is growing, I am finding that I am typing things like this: (defun rowcol->screen (row col) (let (x y) (setq x (+ (editor-env-left *env*) (* col (editor-env-font-dx *env*)))) (setq y (+ (editor-env-top *env*) (* row (editor-env-font-dy *env*)))) (return-from rowcol->screen (values x y)))) (Any suggested style / Lisp idiomatic improvements always welcome.) I mean of course the (editor-env-FFFF *env*) idiom for setf/getf usage, over and over and over again. Dare I say that I almost miss the ability of the Java/C++ '.' operator (or -> etc). I have used Smalltalk for eight years and that even seems better than the above! So, my question is this...have I missed something fundamental in the way that I could be acessing fields in my structure. I know that I could declare a macro but
If it is a case of (1) using macros then I guess I am still climbing the learning curve. After 21 years in software, you still have to climb. Daily.... otherwise you slide back down. What I really want to know is, how does everybody else do it / deal with a high volume of field access. Is it with multiple-value-bind type things, is there a PASCAL 'with' or something that I have yet to find. The HyperSpec is truly huge and I think that the Hitch-Hikers Guide pales in comparison. Many thanks, By seancharles at 2007-01-20 14:40 | LtU Forum | previous forum topic | next forum topic | other blogs | 7993 reads
|
Browse archives
Active forum topics |
Recent comments
22 weeks 6 days ago
22 weeks 6 days ago
22 weeks 6 days ago
45 weeks 19 hours ago
49 weeks 2 days ago
50 weeks 6 days ago
50 weeks 6 days ago
1 year 1 week ago
1 year 6 weeks ago
1 year 6 weeks ago