freenode/#lisp - IRC Chatlog
Search
10:06:00
jmarciano
hello, I am looking for one lisp programming language, little peculiar, scientific, with 3D and OpenGL, but I forgot the name. It is not common lisp implementation. It was available on GNU/Linux distributions before years, now stopped to appear in package lists. Can somebody help with clues?
11:21:36
p_l
hmm, did anyone clean up perma-mute list before dropping text about contacting OPs if you cannot speak?
12:36:09
borodust
Xach: oh, so we can now publish whole bunch of projects from a single git repository?
12:38:06
borodust
Xach: am i correctly assuming that if i request adding https://github.com/borodust/bodge-projects to quicklisp that would bring all of the projects in?
13:59:15
beach
Am I reading it correctly that for symbols, the value must be independent of if the image, so that the address (assuming the symbols doesn't move) can not be used as a value in this case?
14:00:44
beach
OK, so then I can see only two solutions. Either store a hash value with the symbol, or compute it from its name, and perhaps the name of its package too.
14:02:09
beach
EQ hash tables don't have that restriction, right, i.e., the hash value could be based on the address?
14:03:41
beach
In fact, the Common Lisp HyperSpec page for sxhash says that sxhash in intended for use where the pre-defined abstractions are insufficient.
14:04:39
Bike
yeah, sxhash doesn't have to be used by the hash table implementation, and i don't think the requirements match any of them anyway
14:05:58
beach
... since the hash functions of the host and those of SICL are very likely not the same.
14:07:33
shka__
if such problems would occur, given that you are working with just symbols, alternative solution can be engineered
15:07:22
Xach
The software I use to make it is on github. The meta-metadata is on github. the archives are on s3/cloudfront.
15:07:39
Xach
The process could be improved so anyone could do what I do more easily, but someone with determination could do it now.
15:26:40
sebboh
ebrasca: no, I think quicklisp has a busfactor of one. (Does anyone other than Xach even have commit access?)
16:44:41
jackdaniel
sebboh: you have to differentiate quicklisp.org and its dists and quicklisp as software you could use
16:45:03
jackdaniel
using quicklisp as a software and rolling your own release to use with the client is fairly easy
16:50:01
stacksmith
Is there a library that helps with the construction and introspection of deep lexical environments? (at compile time) I commonly run into a situation where macros are used at different levels and need to sometimes expand code that creates temporary objects, and other times are embedded deeply, with such objects already constructed by layers above...
16:53:54
stacksmith
I've been writing ad-hoc code each time, but it is clear that there is a pattern: a macro needs to, at expansion time, introspect on some object that has to do with some lexical bindings that will exist when the entire macroexpansion process is complete, and if some outer macro has taken care of creating some bindings already, not expand code that creates some bindings...
16:55:50
stacksmith
Also, keep track of sequencing: some binding-establishing code should not expand until some _other_ bindings are taken care of, with proper error messages when the sequence is violated...
16:59:47
stacksmith
I need some kind of a dynamic metalayer for describing lexical environments at macroexpansion time.
17:34:05
sebboh
jackdaniel: oh, so you can point quicklisp away from quicklisp.org? Well, that makes sense. I think it would also make sense to grow the dot org into a team of people. I mean, sorry, I mean if Xach goes that direction then I will say "of course they did, it makes sense" :)
17:35:11
Xach
sebboh: yes, you can create other sets of software. but you are also right about the bus factor of "core" quicklisp - things that are "official" in some sense.
17:35:34
jackdaniel
he does amazing and tedious work, I'm not sure if you'd find many capable people who would want to do it too
17:35:35
Xach
sebboh: there is a freedom to fork (or make independent releases) with a new name but only i can make changes to the thing called "quicklisp"
17:37:28
sebboh
I think you've done the work well enough that people probably don't reach out to you much. The busfactor will change when there is a clear need. Maybe that is not yet.
17:37:58
Xach
sebboh: A few people have reached out over time but it's not always clear how to help.
17:39:48
sebboh
like you report them to upstream? Do any projects accept automated such reports? I feel like GNU coreutils has automated reporting of build failures; or semi-automated.
17:40:26
Xach
sebboh: i do report them upstream. the reports are formulaic: "i tried to build X today on the latest SBCL and it failed with the error Y. Here's a link to the full build log."
17:40:36
sjl_
there's an RSS feed for each project, I think http://blog.quicklisp.org/2018/01/build-failure-rss-feeds.html
17:40:54
Xach
I have tools to automatically post to github, but not all projects use github (and I think that's good)
17:43:04
sebboh
the rss feed, the link to the build logs, the github thingy, all good stuff. And still reporting build failures takes the most bandwidth? Are you *out* of bandwidth? i.e. is there something else you'd do more of if you did less reporting build failures?
17:44:21
Xach
I've been plagued by server failures and resets this year, so my next low-hanging fruit is automatically building everything early every day so a failure report is ready for me each morning. That setup was working for a few years but has been out of commission for months.
17:47:45
Xach
sebboh: When I have free time I am more likely to play with a tractor than a computer right now. That slows progress also this summer.
17:49:57
borodust
(i'm using submodules for FFI project to fetch foreign code for generating wrappers)
17:50:14
borodust
(meaning it would fetch foreign codebase no one would need, if fetch is recursive)
17:51:14
Xach
the viewpoint of quicklisp re submodules is that a repo is the sum of the "main" module and all submodules recursively.
17:52:18
Xach
jackdaniel: how do they differ? (i can google this, but maybe you have a nice summary)
17:55:24
borodust
that's what i do, basically: https://github.com/borodust/bodge-nuklear/tree/master/lib
17:56:16
Xach
borodust: good to know. this was prompted by a specific project that pulled in some FFI code to build a minor part of its functionality, and the submodule inclusion was not very big. but i see that there are different models now too.
17:58:40
Xach
I have avoided submodules for a long time because they seemed a little wierd to use and involved shell scripting to really work. but i was able to write a lisp script instead that did what I needed.
18:01:27
jackdaniel
Xach: there was a nice tutorial on the web I've read but I can't seem to find it
18:02:24
jackdaniel
subtrees are more like all code is versioned in your repository with additional metadata assigned to directories so you can pull/push from different remotes as if said directories were separate repos
18:06:25
Xach
borodust: specifically the process that makes an archive tarball from the upstream repo
18:10:26
borodust
like if i want/need quicklisp to fetch submodules for the project to be loadable i would add certain marker