| puchacz | I see what you mean. |
| Riastradh | Every time you write a macro, you are creating a new language. |
| puchacz | don't you think that defclass is a little verbose by default? |
| nikodemus | no |
| puchacz | ok, I give up :) |
| gigamonkey | puchacz: sometimes. |
| lichtblau | matter of taste |
| nikodemus | ;-) |
| Riastradh | Every time you write a macro, ask yourself this question: By requiring the reader of my code to understand a new language, am I making myself so much clearer that it is worth the extra space the reader must reserve in his mind for the new language? |
| luis | puchacz: compared with defstruct, maybe |
| gigamonkey | puchacz: but not so much that just living with it isn't better than the alternative. |
| mikezor | luis: So I take it that cl-opengl-thomas is the way of the future? |
| luis | mikezor: after thomas001 stops agonizing over performance non-issues and finishes the VA API, we will propose it for merge. :-) |
| _3b | heh, I need to get back to doing GL stuff so i can complain about performance non-issues too :p |
| mikezor | And cl-opengl-thomas also includes Bart Botta's work on extension-handling? |
| luis | mikezor: correct |
| mikezor | Nice. |
| kpreid | puchasz: small reason to like defclass: it makes you think about: does this slot need an initarg? does this slot need an accessor, rather than just a reader? what should the accessor/reader be named? |
| nikodemus | if you are writing a lots of isomorphic defclasses, then a macrolet or define-foo-class is ok, and _does_ make code easier to read |
| puchacz | well, honestly, I understand your point - macro makes a potential reader (a human) to check the macro definition, but still - I dare to opt for a macro as a shortcut here, sorry. imagine a class that represents unix like privileges, i.e. it has slots: owner group owner-writable? group-readable? group-writable? others-readable? others-writable? it is just a container, but defining it as a class gives me some benefits. |
| hefner | so far, I think I'd use an integer :) |
| puchacz | really? a bit mask? |
| luis | Heh, and some predicates, why not? :) |
| lichtblau | let's take CLIM and replace all lists of keywords with enums! |
| hefner | less consing! |
| lichtblau | no more :sansserif vs :sans-serif. |
| hefner | lichtblau: only second day newbies make errors like that. |
| lichtblau | hefner: and backend authors |
| puchacz | but easy, it is not *that* important to agree in everything |
| nikodemus | whee, lutz is on the roll |
| hefner | puchacz: the interface to your permissions (group-readable?, etc) is really the important thing. If these are generic functions, it doesn't matter whether you used a class, strcture, integer bitmask, or whatever to represent them. |
| puchacz | hefner: true I even have some inference, like (can-read? user group) |
| mxb | Anyone know whats wrong with common-lisp.net?? |
| puchacz | sorry, (can-read user group data-with-permissions) |
| kpreid | mxb: is there something wrong with it right now? |
| mxb | I'm getting mail bounced back. |