4:28:20madrikIt seems to me that Racket and the group behind it may be somewhat what amerlyq is looking for
4:30:39madrikpjb: And those links are indeed great reading.
4:34:31aethIt's hard to find a good example of type system usage because the syntax is a bit awkward in vanilla Lisp, so pretty much anyone who heavily relies on types will use a macro, probably their own.
4:36:08aethAnd e.g. (unsigned-byte 32) is pretty verbose, even though it's the most general purpose way to do it, so if you have a bunch of integer sizes in your code, you're probably using shorthand names (and the only conventional one is octet for ub 8)
4:36:39aethSo that's probably why it becomes hard to see through
5:06:05pjbaeth: the CL type system is a good example of a type system: (+ 1 "42") #| ERROR: The value "42" is not of the expected type number. |#
5:28:24aethpjb: CL is one of the most typed dynamically typed languages because (1) it's not a coercive language like you said and (2) it's not particularly duck typed either
5:28:47aethplus, it's effectively 'gradually typed' about 15-20 years before it was cool
5:32:19aeth(by #2 I mean, most things are for a given type or an error)
5:41:27LdBethPlus, type systems that are not capable of expressing abstract algebra suck
11:27:55Odin-From the documentation, it looks like CMUCL/SBCL put a lot more emphasis on working with the type system than most (all?) other implementations.
11:46:07p_lOdin-: CMU originally did big push in type system for purposes of optimalization
12:52:47amerlyqOdin-: did you found any nice looking example of using typesystem by CMUCL/SBCL ?