9:00:02jackdanielmfiano: 1am is made by lmj, not me
9:01:19jackdanielI've hacked 2am for ecl, but I take my pride in not publishing it in ql - we have too many testing frameworks so it'd be more loke littering
9:02:39hayleyYes, you want to be sure you don't leave lokes lying around.
9:03:07mfianojackdaniel: That's why I said one hour later :)
9:06:17mfianoBut not a big deal. I didn't have much interest in the few added features. The minimalism of 1am is just the right opinionated selection of features I need, most of the time.
9:51:59mfianoI've pretty much tried them all over the years, and none of them are what I want in all circumstances. I have been tempted to write my own for my own use-cases, but I'm lazy and don't really enjoy that type of meta-programming.
9:52:22mfianoIn this particular case, 1am fits perfectly though.
14:37:05nij-Any de facto memoizing library? I may use it on local functions (those defined with flet, say), so I don't want the table be stored globally.
14:37:57nij-Hopefully, GC is automatic when the original function is GC'd.
14:57:10kakuhenyou can just make your own memoize function that returns a closure checking inputs against a hash table... it becomes a bit complicated once you deal with functions taking more than one argument
14:57:28kakuhenbut it does not require a global hash table
14:58:00kakuhenuse the so-called "let over lambda" pattern when writing your memoize function
14:59:14jackdaniel(let ((foo (load-time-value …)))))) is another way to have a local static value