freenode/lisp - IRC Chatlog
Search
13:29:24
no-defun-allowed
Does it run in Wine? Then can I debug that combination from a lispm on EINE?
13:32:16
phoe
https://github.com/joaotavora/sly/blob/master/CONTRIBUTING.md#swank-is-now-called-slynk
14:26:47
attila_lendvai
any ASDF experts? i'd like to avoid perform'ing an operation if the output file exists (i.e. regardless of the modification time). any hints? overriding operation-done-p seems to be not enough.
14:33:04
flip214
sorry, I can only offer an opposite hint - if you want to rebuild always, (on linux) you can use a dependency like /proc/stat which is always "current"
14:34:25
attila_lendvai
flip214, my issue is that i don't know what part of ASDF i should hook into. op-done-p is not even called if the input file's mod time is earlier
15:22:31
phoe
Xach: nikodemus replied! I'll make a private fork first, submit some PRs, and then request him to transfer the repository over to sharplispers
15:23:49
phoe
I assume that LOOP APPEND is smart enough to do :from-end t automatically for optimization
15:24:35
phoe
_death: I see you have some screamer changes that have not been mainstreamed, should I take a look at them?
15:31:47
phoe
note that if your lists are fresh and mutable rather than literal/quoted/immutable, you can NCONC them instead of APPENDing, and you'll cons nothing
15:32:27
beach
phoe: yes, but without :from-end t, you still have to traverse a quadratic number of times.
15:33:05
phoe
or rather, the latter will be reclaimable by the GC because the intermediate conses will be collectable
15:34:58
beach
So APPEND without :FROM-END T is quadratic in consing and traversal. NCONC without :FROM-END T is quadratic in traversal only.
15:48:33
phoe
I see that nikodemus just reverted the SBCL change because it broke on clisp for whatever reason
15:49:01
phoe
wouldn't it make more sense to prevent duplicate definitions from being generated in the first place?
15:54:06
phoe
we depend on implementation-defined behavior if we actually do generate multiple definitions
15:56:16
_death
screamer has a good reason for redefining them (when it realizes they are nondeterministic as they call nondeterministic functions that are defined later)
15:58:45
phoe
and that implementations are permitted to specify the consequences, and that portable code must not depend on the results or effects of that situation
15:59:00
phoe
"The consequences are unspecified if functions are redefined individually at run time or multiply defined in the same file."
16:00:45
phoe
since they are also "unpredictable", so in theory two DEFUN FOO in one file can cause... yes, what exactly is permitted?
16:02:25
phoe
sure it is, because when we have two DEFUN FOOs in a row then what exactly does it mean that it's "unpredictable" to have stuff like that
16:03:00
phoe
because unpredictability itself in such a case is anything but harmless if e.g. we completely skip the second DEFUN FOO
16:05:22
MetaYan_
jackdaniel: I just noticed that you were asking for my opinion about something earlier today, but even after reading the backlog, I still can't figure out what about...
16:16:33
_death
not sure the tests cover that code.. I have some screamer code, but may or may not load on clisp without effort
16:18:23
_death
eh, clisp backtraces look crappy with slime.. and no frame-source-location implementation
16:31:22
_death
ok, some of my aoc2020 code that uses screamer fails on clisp, because screamer's walker does not support MACROLET
16:34:34
_death
and clisp's LOOP expands to that.. so I'm not sure screamer is very useful on clisp :)
16:39:06
phoe
a little bit; I plan on giving it some maintenance in order to get the official blessing to move the repo to sharplispers
16:39:24
phoe
and I've been curious about it for a long time, so that's also a chance to get to know it in depth
16:40:29
Shinmera
There's also https://shinmera.github.io/classowary for a linear constraint solver alternative. :)
16:42:13
Shinmera
At least I can guarantee Classowary works well, since I use it quite a bit in my Alloy layouts.
16:58:30
_death
phoe: another thing about screamer, I remember they warn about using stuff like DOLIST/DOTIMES in nondeterministic functions, because it may not establish a new binding on each iteration (it's implementation-defined).. but since they shadow CL symbols like DEFUN, why not also shadow DOLIST and friends to provide just that?.. I've not tried it
16:59:57
_death
phoe: I don't like posting issues :).. to me an issue is a call for action on the maintainer, and I prefer my calls for action to be in the form of pull requests
17:01:05
phoe
(and you can explicitly mention that in the issue text if that makes you feel a little bit better)
17:02:49
phoe
http://nikodemus.github.io/screamer/ does not mention dolist or dotimes or the term "binding"
17:03:20
_death
phoe: that's just what nikodemus wrote.. the original docs are in the papers directory
17:07:01
phoe
and transforming DO macros is going to be simple but I don't think I'll want to make a LOOP wrapper
17:56:14
mfiano
Wasn't there a screamer extensions repository with a questionable license, perhaps not by the same author?
17:58:28
_death
yeah, it has a "You may not distribute the code without prior consent from me.".. I'm guessing 20 years later, someone could ask the author to relicense
18:35:31
phoe
fe[nl]ix: I got a mail from Nikodemus - he'll gladly move it himself once some fixes with PRs are submitted to the original repo
19:03:32
attila_lendvai
luis, ping. would you mind if we made cffi get captured by quicklisp by a moving tag instead of the tarball from cl.net? i.e. tagged-git https://github.com/cffi/cffi.git stable
19:04:11
attila_lendvai
luis, that would make it more flexible for us to designate which state ql should capture... just move a tag, instead of releasing...
19:26:08
attila_lendvai
fe[nl]ix, anyone who has the git commit bit can designate what should go into ql. moving a tag is much less work than releasing, and maybe you don't want to release, yet you want ql to get some patches.
19:27:09
attila_lendvai
another benefit is that ql can capture the sources even if cl.net is down (assuming that github.com will better survive any upcoming internet split)
19:28:18
Odin-
attila_lendvai: I'd guess that depends on whether you end up on the Apple or Facebook side.
19:30:13
attila_lendvai
Odin-, i'm more worried about politicians screwing us up with their geopolitical nonsense...
19:31:10
attila_lendvai
bonus reason: git is a much better versioning tool than named tarballs on random servers...
19:32:10
Odin-
attila_lendvai: Those are all 'soft' splits, and most of the ones that are likely to happen based on the geopolitics are already in place.
20:13:39
copec
Is there a standard name for an initialization function that people like to group everything under for some package?
20:26:58
copec
I read in S-exp from a config file into clos objects, and have a function that does it
20:28:26
copec
I could just (function-name) under a commented init section, but I was wondering if there was a defacto standard, like to make an (init) function or something
20:36:02
Bike
it might mean a closure with state that returns a new value from an iteration every time you call it
20:44:12
Bike
i don't know? the documentation of whatever system you're getting this thing from, probably?
22:43:04
fiddlerwoaroof
flip214: maybe I should contact him directly, I'd like to pull things like author/title/etc.
22:43:39
fiddlerwoaroof
The last time I tried, I also ran into issues with PDF spec versions, I think