freenode/#lisp - IRC Chatlog
Search
0:42:58
smokeink
what is this used for ? https://github.com/sbcl/sbcl/blob/master/src/code/target-package.lisp#L739
0:49:33
smokeink
ok I'll takke a look at that paper. ANy idea why does swank need to handler-bind it?
1:05:31
asarch
If I have this timestamp with time zone enabled in a PostgreSQL record which corresponds to 2020-01-17 12:24:44.809571-06 why (let ((fecha (make-instance 'simple-date:timestamp :days 3788274284 :ms 3788274284))) (simple-date:decode-timestamp fecha)) gives other results: 10373942 11 15 1052 17 54 284
1:12:56
npfaro
I can spawn processes fine with uiop:launch-program, but uiop:terminate-process just doesn't work
1:13:08
asarch
Ok, let's try another angle: how could I convert this 3788274284 (the value stored in the PostgreSQL cluster) into this 2020-01-17 12:24:44.809571-06 using Postmodern?
1:14:16
npfaro
Ok actually it seems like it's working with :urgent t now.... but why doesn't it without
1:39:18
npfaro
When i use uiop:process-alive-p it shows that the process is "not running" but it still is on my system
1:39:52
npfaro
Could it possibly be because the subprocess is also an sbcl process? i wouldn't think that would matter though
1:47:39
npfaro
what's the hotkey to go to the definition of a function? slime-edit-definition just takes me to a blank buffer
5:01:42
beach
harovali: I only use McCLIM for that purpose. That is why I was part of making it a reality in its early days.
6:42:26
no-defun-allowed
I wrote an implementation of the "worlds" model for scoping side effects: https://gitlab.com/Theemacsshibe/cl-worlds
6:43:21
no-defun-allowed
It's similar in purpose to using a transaction to group updates to a database, and the concept is described in http://www.vpri.org/pdf/tr2011001_final_worlds.pdf
7:25:20
no-defun-allowed
Indeed. I think it would make more sense if the environment(s) and other side effects like IO could be logged and committed like objects can now, but that would need work with much lower levels of implementation, and the (described) implementation of logging objects is already pretty inefficient compared to normal objects.
7:32:33
no-defun-allowed
The paper only describes worlds in terms of objects and their slots, so we would have to come up with semantics for anything else. (I already hacked in unbound slot support, since neither JavaScript or Smalltalk really have unbound slots; there's probably a bug there but I haven't come up with any programs to test it with.)
7:34:28
no-defun-allowed
My gut feeling says that lexical environments would also have to be subjects of worlds though.
7:38:34
no-defun-allowed
Oh, the second section titled "Approach" includes "global and local variables" in their description of "all the side effects".
7:39:14
no-defun-allowed
"The world is a new language construct that reifies the notion of program state. All computation takes place inside a world, which captures all of the side effects -- changes to global and local variables, arrays, objects’ instance variables, etc. —- that happen inside it."
7:56:19
no-defun-allowed
The paper only describes how worlds affect retrieving and updating slot values of objects however. That would probably require control over the environment model, like how we already need a meta-object protocol.
8:07:52
no-defun-allowed
I would guess it is at least possible to make some optimisations, like deducing what objects won't ever escape a with-world form and can use a more normal representation, but I wouldn't know what's possible with compilers.
9:35:25
no-defun-allowed
Hold up; didn't Interlisp have a global UNDO thing? The implementation details of that might be relevant to how to implement worlds.
9:42:46
LdBeth
however, where reversible effects really get useful is only doing backtracking, in such a way there's already screamer does the job.
9:51:09
flip214
when my CSV files only has a very limited number of values in a column, what's the most compact way to handle that via pgloader? convert via a lisp function to a single-byte integer, and (optionally) reference another table? Can pgloader insert into two or more tables in a single pass for such normalization?
9:59:44
beach
boeg: Simple arrays can be multidimensional. What does it mean to append or merge a 2x3 array with a 4x2 array? If you don't want to allow such arrays, you need to tell use more restrictions.
10:01:00
boeg
beach: right, in this situation I just deal with one-dimensional arrays. I think concatenate is usable
10:18:50
boeg
Say I have two sequences of type simply-array character (n) and I want to concatenate them. If I just pass 'simple-array to concate, i get "simple-array is a bad type specifier for sequences. How do I get this to work?
10:20:37
no-defun-allowed
(simple-array <type> 1) is a one-dimensional simple-array with element-type <type>
11:03:06
aeth
Oh, it's interesting that '(simple-array character 1) works. I've always just used '(simple-array character (*))
11:05:33
imherentlybad
So I am using portableaserve and I keep on getting errors with (net.aserve:publish) when I use the :funciton keyword. When I load the path I get an error saying that req and ent do not exist