freenode/#lisp - IRC Chatlog
Search
12:40:19
alandipert
anyone know how to interpret this type specifier? https://github.com/s-expressionists/Eclector/blob/master/code/reader/quasiquote-macro.lisp#L35
12:41:42
jackdaniel
alandipert: cons where car is of anytype and cdr is either an atom or a cons which car is unquote
12:42:58
jackdaniel
i.e (42 . 52) ((1 2 3) . foobar) and ("bam" . (unquote foo)), but not (42 15) aka (42 . (15 . nil))
12:46:57
alandipert
jackdaniel actually does (not cons) really mean atom? wondering if could mea array too
12:51:20
Xach
chanl added an unconditional (warn ...) at compile-time and now it has busted a bunch of dependencies (and itself)
13:06:29
bumblingMonkey
Has anybody here used clx and the render extension to draw semi-transparent triangles? All I get are solids.
13:09:45
beach
bumblingMonkey: Check in #clim. More people there have used the render extension in CLX.
13:11:13
jackdaniel
bumblingMonkey: this code branch is currently disabled for unrelated reason, but please take a look at https://github.com/McCLIM/McCLIM/blob/master/Backends/CLX/medium-xrender.lisp#L71
13:13:46
bumblingMonkey
I check that, but there's nothing about triangles. Filled rects work fine alpha.
13:16:27
bumblingMonkey
tried triangle-strip with all ops, no go. I could try fan, but not sure if it would be different. Do you have any working code?
13:18:54
bumblingMonkey
which works differently since fill-rectangles takes a color array, while the triangle functions take pictures, which I think might be part of the problem. I can't even located C code using triangles.
13:20:09
bumblingMonkey
well, any code written in any language, using the triangle rendering functions. So I can't even tell if it is supposed to work.
14:04:41
jackdaniel
I suppose you can call fill-rectangle on a picture and pass that picture as a design for the triangle-fan
16:05:36
decent-username
I've asked a question a few hours ago. Unfortunatley I didn't have proper internet until now. Did anyone answer it?
16:13:44
decent-username
I have another question: How could I override the name of a classes :initarg and :accessor for a slot that was inherited?
16:13:48
decent-username
Inside #'make-sprite-sheet-sprite I'd like to initialize the `resource-keyword' slot from the `sprite' class.
16:13:54
decent-username
I actually don't want a new `sprite-sheet' slot for `sprite-sheet-sprite', just different names for the accessor and initarg of `resource-keyword'
16:14:40
Xach
decent-username: you do have to recap the slot name and add an :accessor and :initarg argument.
16:19:06
decent-username
I'll plan on writing lisp throughout this semester, so I don't get rusty. And because I'm a lazy bum, Im staying from 8AM to 8PM at the university.
16:21:04
Bike
the superclass accessor will still work on instances of the subclass, just so you know
16:23:26
Bike
you said "different names" instead of just a new name, so i figured i'd be expliict about it
16:24:14
decent-username
Maybe I've had too little sleep. My brain is spewing out random sentences with bad syntax.
16:24:53
decent-username
Bike: That's why I like the Lisp community. People are very accurate with their word choice. (in contrast to me)
16:26:45
decent-username
probably. I still don't really know how to use the words "condition" and "error" properly.
16:31:16
beach
decent-username: "throw" in this context is not good, because there is a function THROW that does something completely different.
16:32:32
beach
There is still some sloppiness in the vocabulary used here. There is no such thing as "a lambda" for instance. There is "a lambda expression" and there is an "anonymous function" (the result of evaluating the lambda expression).
16:33:20
beach
And many people say "a CLOS class" but that term is meaningless since all classes are part of CLOS. What they often mean is "a standard class".
19:25:39
flip214
beach: don't you think there could be classes outside of CLOS? not in ANSI CL, granted, but if someone implements them using CONS cells only (or structures, or arrays, etc.)
19:40:38
aeth
flip214: I think what beach is saying is that people say "a CLOS class" when they mean "a class defined by defclass", which is more accurately "a standard class". And that distinction is needed because there can be condition classes (or are they just conditions?) with define-condition and structure classes with defstruct.
19:41:41
aeth
flip214: And imo there are some classes that you yourself can write that aren't part of CLOS if you (ab)use macros enough, but that's kind of besides the point. They're not CL classes, you're basically embedding a new language.
19:42:02
aeth
(And beach would probably say that if you're avoiding CLOS there in the implementation, you're probably making things too hard.)
19:42:46
aeth
(Although depending on what you mean by "a part of CLOS", then everything in the language is a part of CLOS, so that's another possible reply.)
20:16:28
pjb
aeth: defclass can also define non-standard-classes, when :metaclass is not standard-class.
20:36:34
aeth
This makes me think of the tangential question: Is there any class system that can't be expressed by CLOS? I don't think so...
20:38:08
Shinmera
Anyway, beach's point is that every class is a class as part of CLOS, and as such saying "CLOS class" is redundant and ambiguous.
20:39:55
aeth
pjb: I am being intentionally general to allow for more room, but there still might be a counterexample. I mean, turing complete, yes, but sometimes you literally have to write an interpreter to run that equivalent program.
20:44:30
aeth
If you allow for macros, I think you can emulate static object systems (C++/Java/etc.) just by doing things at macro expansion time instead of run time. I think that would just require boxing everything and using type declarations with https://github.com/Bike/introspect-environment and would be very Java-ish, but being Java-ish there would be the point.