freenode/#lisp - IRC Chatlog
Search
22:17:41
pve
phoe: neat, are you able to get compile-time warnings with that? (it's late, so I can't reason about that myself now)
23:15:16
phoe
so if we bend the rules and use its output as a boolean, then this code will magically work
23:15:36
phoe
I'll go to sleep now and will use the insight from ym to make a better version tomorrow morning
23:16:14
Bike
i mean, for example, you could have a (list-of cons) and then type-of would return a (cons x y) type depending on what's in the cons
23:16:48
Bike
or one you could actually run into, if you have (list-of simple-vector), but on sbcl (type-of #(1 2 3)) => (simple-vector 3)
23:17:30
Bike
i guess, but that doesn't help if type-of returns something unfavorable for the first element.
5:21:56
aeth
Well, you can always write your own. The closer your syntax is to CL's, the easier it is to write it in CL.
5:25:58
beach
vegai: So is the plan to learn enough Common Lisp to tell whether you can stop searching?
5:33:11
aeth
People have done everything from webdev to gamedev so there's quite the range of projects
6:02:07
vegai
strong repl/dynamic programming; static types (optional or not); performance; stability; non-ambiguous syntax; standard with more than 1 implementation
6:17:49
seok
this isn't lisp related, but how would I scan my local ports to see which ports are being used by applications?
6:20:18
flip214_
seok: but if you use 0 as port number, the kernel will allocate an available one for you
6:20:44
beach
vegai: The Common Lisp language exposes the structure of the internal representation of code. In most languages, that structure would be internal to the compiler, and different for each compiler. As a consequence, the Common Lisp special operators (corresponding to fixed syntactic constructs in other languages, like loops, assignments, conditionals, etc.) is defined in terms of what goes where in the list that represent the
6:51:44
praiseallah88
sun is not doing Allah is doing to accept Islam say that i bear witness that there is no deity worthy of worship except Allah and Muhammad peace be upon him is his slave and messenger
7:26:51
Harag
am I right in assuming that when *print-readably* = t that the object written is not necessarily readble by a different "implementation"
8:04:13
Harag
is it acceptable to add something to *features* for your own packages? It looks like it because I can see stuff like ALEXANDRIA::SEQUENCE-EMPTYP in there.
8:09:32
phoe
normally *FEATURES* are full of keywords, but there's only this many keywords available; this, and you might want to not export that feature symbol for whatever reason
9:27:27
clintm
If I have two structs both with a slot of the same name, and I call the slot accessor function from one on an instance of the other, that's supposed to be a type error, right? If so, does allegro really just return nil?
9:28:47
clintm
I tested it in a bare alisp repl, but I'd like cofirmation before I plant a proverbial flag in the sand and say "this is bad and we shouldn't do it" at work.
9:29:56
flip214
clintm: for classes there's the generic function and methods framework. for structures the structure name is prepended for accessor names to avoid such conflicts.
9:32:57
clintm
beach: because it's two different types, at least that's what I assumed. (defstruct a id) (defstruct b id) (a-id (make-b)) -> nil. Should that really be nil? On LW it's a type error.
9:34:01
beach
Structs are designed to be fast. It wouldn't surprise me if the accessor does nothing other than access an element with a particular index.
9:39:08
clintm
Hrm, maybe if I scour the allegro docs I can find a way to turn it on even if just during testing and development. Thanks for the info, everyone!
10:00:30
Harag
is there a "prefered" "portable" pretty printing library out there that deals with writing the likes of clos objects and hashtables as readable, even if it is just readable by itself
10:02:26
phoe
and also possibly phoe-toolbox:print-instance-readably that tries to be DWIMmy in what it does
10:05:05
flip214
Harag: alexandria has (hash-table-alist) and -plist and the reverse functions... but you loose the :test that way.