freenode/#lisp - IRC Chatlog
Search
4:44:38
jeosol
no-defun-allowed: just saw your pull request on implement a linear-probing hash-table into SICL. Good work
4:50:01
beach
But thanks to the way bootstrapping works, most of the code exists, has been executed, and seems to work.
4:51:13
beach
I recently finished revamping the way high-level IR was generated in order to take into account the ideas in my draft paper on call-site optimization.
4:55:25
thmprover
Cool, I was just thinking about this topic earlier today. (Not that I have anything new to contribute, but just pondering function calls and their optimization in functional languages.)
4:56:13
beach
The technique in that paper will make Common Lisp function calls faster than a typical C function call in a shared library.
4:56:21
azrazalea
beach: You've been `beach` for yeeearrss though right? I've gone on a couple hiatuses and you're still here lol (thank goddess <3)
4:57:01
beach
azrazalea: Yes, I am not going anywhere. Unless the virus hits or something, of course.
5:00:40
thmprover
Oh, beach, David Gudeman's "Representing Type Information in Dynamically Typed Languages" (1993) is the earliest paper on NaN-boxing (if you still need a citation for footnote 1).
11:53:13
leo_song
as vector and array is harder to use, what is the common way to write a deftype which means a list can only consisted with a certain type of elements? use satisfies?
13:13:16
beach
leo_song: Jim Newton and Didier Verna created some abstractions on top of that though. They call it "regular type expressions".
14:17:28
leo_song
beach: thanks. I was thinking that there would be something like the the array's (array type), so the compilers can have the information to optimise.
14:37:24
beach
leo_song: The array types are determined by the fact that arrays are specialized. A specialized array can hold only objects of a particular type because of the very way the array is represented in memory. But CONS cells can not be specialized that way, so there is no way to guarantee that such a type constraint will remain true.