freenode/#lisp - IRC Chatlog
Search
13:35:30
jmercouris
I'm getting the following return value from a funciton in a library I'm using @2019-03-08T15:33:13.000000+01:00
13:40:28
jmercouris
ok, so I'm getting these timestamps from SXQL, I am wondering if instead there is a way to just query by time instead of checking the timestamp
13:46:01
jmercouris
local-time seems pretty handy: (local-time:adjust-timestamp (local-time:today) (offset :day -1))
13:56:40
jmercouris
in case anyone is wondering in the future, you can use local-time objects in SXQL to do date comparisons
14:11:31
jdz
jmercouris: You might be able to do something like (... :created_at < "now() - interval '24 hours'")
14:18:50
aeth
The lack of updates in 25-30 years and the limitations of 16-bit will be painful to work with. Shouldn't be hard to run in DOSBox, though
14:22:09
aeth
The way a Lisp usually works (although 16-bit ones might be different because of necessity) is that they have tag bits on everything, which means that anything that cannot fit in a word *with* the tag bit has to be heap allocated except in niche circumstances.
14:22:13
aeth
e.g. single-floats fit in a 64-bit Lisp's word size, but not double-floats, since 64-bit floats need some tag bits. But in 32-bit Lisps, even single-floats will be heap allocated if they're 32-bit IEEE single-precision floating point
14:23:56
aeth
And a fixnum is basically the largest signed integer that isn't heap allocated on an implementation. So e.g. for 64-bit SBCL that's a 63-bit unsigned integer because it uses one bit as a tag. Unsigned fixnums are used for most minimum sizes, which means at most you get 2 less than the word size in bits, or 62-bit for SBCL.
14:25:42
aeth
So if I'm doing this correctly, then for a 16-bit implementation that uses the absolute largest fixnum like 64-bit SBCL does for 64-bit you get this as your largest non-bignum integer (= (- (expt 2 14) 1) 16383)
14:26:01
aeth
At most 16383. Some implementations might be less, and that doesn't mean that your largest array has 16383 elements because it depends on e.g. how its tagging works.
14:27:02
aeth
The minimum value for array-total-size-limit is 1024. It's definitely possible that the DOS Common Lisp you find does actually have this value. That means some docstrings are too large.
14:32:05
aeth
If you use a 64-bit CL you basically never have to think about limits and this is esoteric knowledge. If you use a 32-bit CL, you might hit certain limits if you're working with e.g. images or video. If you use a 16-bit made-for-DOS CL, you have to change how you write programs to work around certain limits. It doesn't sound like it would give people a good impression of the language at least imo.
15:18:09
edgar-rft
lionrouge: there's an XLISP-PLUS interpreter from 2016 that still runs on MS-DOS at the bottom of the page -> http://www.almy.us/xlisp.html
15:53:49
jackdaniel
do you have opinions about data-frame concept in general? is there some good CL library implementing the abstraction? if not, would people find it useful?
15:55:24
jackdaniel
(data frames are basically arrays with named columns and rows where you may select particular columns and/or rows depending on what you need, used i.e in statistics or in ggplot2)
16:55:57
dlowe
I've made ad-hoc data frames and associated functions, but I never put it all into a library
16:59:24
grewal
I've never used a data frame, but if I needed that sort of abstraction, I'd probably just use an array of structs
17:01:44
dlowe
datasets too large to mess with by hand but still fitting comfortably in a corner of memory
17:08:42
[6502]
Hello... in a toy lisp interpreter I'm playing with I "mark" environments that are captured in lambdas (and I follow up the environment parent chain until the global environment or a marked one is found)...
17:09:00
[6502]
...When executing a function call I check if after the body evaluation the environment has been made reachable by a lambda capture and when this is not the case I recycle it immediately instead of leaving the job to the gc...
17:09:21
[6502]
...Are there reason for which this trick shouldn't work? it saves me a LOT of consing.
17:09:46
dlowe
[6502]: this is a forum for Common Lisp. I think you want ##lisp which focuses on the lisp family
17:15:13
Bike
there's no reason for it not to work. most of the time you don't even need to allocate an environment.