freenode/#lisp - IRC Chatlog
Search
22:48:22
adlai
ACTION wonders whether anyone suggested to github that they parse dependency information from .asd files
22:49:29
adlai
whereas once their easy excuse not to, the absence of a package manager, is gone, they could now just blame the lack of standardization on any single one.
23:04:06
phoe
there's nothing even close to it in terms of popularity and use nowadays, and most of these other utilities parse .asd files anyway.
23:05:55
phoe
it handles the part where you declare dependencies and it ensures that they are loaded; that's the context that GitHub might want to care about in this context
23:08:44
adlai
ACTION used the word 'package', in 'package manager', with the connotation it has in the linux world, of locating and installing external libraries; as opposed to the parts that are entirely within ANSI CL
23:09:58
adlai
lol, at one point, wasn't asdf-install doing text searches of cliki to locate tarball urls?
23:31:52
lotuseater
adlai: i learned some time ago it was the first .com domain in 1985 :) and the ones after that also companies with relation to LISP (machines)
23:36:08
surabax
lotuseater: The first web site of the US White House was powered by CL-HTTP and Statice running on a Symbolics Lisp machine, iirc
23:40:23
cl-arthur
lotuseater: maybe you'll enjoy https://lisper.in/reader-macros, it's the tutorial someone recommended me when I first had a problem addressable by a reader macro.
23:42:45
lotuseater
i read up to now to that topic (not everything) in On Lisp, Let over Lambda and https://gist.github.com/chaitanyagupta/9324402
23:45:16
lotuseater
did you get my reference last week? https://en.wikipedia.org/wiki/Knights_of_the_Lambda_Calculus
23:46:28
cl-arthur
I didn't, so I ended up reading the wikipedia entry and some other website too :)
23:47:22
lotuseater
ok good. it came to my mind again because Arthur was one of the Knights from the legend
23:52:48
lotuseater
so to have a readmacro for writing lists (aka vectors) like in Haskell i alter the readtable after going into (set-macro-character #\[ ...) so i can have something like [2,5..100] ?
23:55:51
Bike
anyway, reader macros get a handle to the stream and can read whatever they want and interpret it however they want
23:56:37
lotuseater
listcomp would be something like [ x + y | x <- [1..100], y <- [1..100], x+y == 10]
0:00:40
moon-child
no-defun-allowed: true, but their strings are [Char], which has caused endless consternation
0:00:56
lotuseater
Bike: but what didn't fit in my head yet is when I do READ-CHAR but also want to jump back how to do it
0:01:54
lotuseater
moon-child: yes it is awful (but can for simple stuff also be useful) newer libs like RIO are better if you don't like that or the hole Prelude
0:03:21
cl-arthur
read-char -> peek-char -> unread-char. now you know the next two chars in the stream XD
0:04:34
lotuseater
yeah and you can give peek-char a char, but if it's not found it seems to throw me to the debugger
0:08:23
no-defun-allowed
(peek-char peek-type) accepts peek-type = NIL to peek the very next character, = T to peek at the next non-whitespace character, and a character to peek at the next character char= to that one.
0:21:45
no-defun-allowed
I think that is the generic function you can use with Gray streams to implement PEEK-CHAR.
3:09:05
no-defun-allowed
One way to implement it is to have a header object, which references a storage vector. Then when you resize the array, you copy the contents of the old storage vector to a new storage vector and swap the old one out.
3:12:20
moon-child
ldb: if you grow your allocation chunk size exponentially, then the number of times you have to copy goes O(lgn) in the number of items you add
3:12:47
ldb
Bike: https://www.researchgate.net/publication/2801681_Resizable_Arrays_in_Optimal_Time_and_Space
3:12:50
no-defun-allowed
SBCL extends a vector with vector-push-extend by 50% of its length, from memory.
3:15:34
ldb
This paper describles a improvement on the 50% expansion approch, reduces the extra memory usuage to minimal, and still has the same time complexity
3:17:27
no-defun-allowed
It looks like AREF would be slower, and I don't know of any Lisp systems that use buddy allocation.
3:20:18
ldb
I think the buddy system is for languages with manual memory management, the core data structure is sufficient to be used with GC
7:45:00
flip214
Does someone have a gist to fetch all the COPYING, LICENSE, etc. files from all the loaded QL systems?
7:45:36
flip214
The asdf only has a short license name (in different upper/lowercase versions etc.), and some licenses require the authors' names to be mentioned
8:24:47
adlai
ACTION wonders whether there is any legal precedent regarding the proper labelling of files containing that grade of toxic waste
8:25:17
phoe
legal, I think not; practical, they're called COPYING or LICENSE or sometimes the license text is spliced into the README
8:25:55
adlai
someone could claim that they only read licenses labelled "COPYING", because they only redistribute code without ever running it.
8:29:06
adlai
there were few enough installed systems that I "only" encountered a singlehandedly-digital number of (complement #'equal) names for identical licenses.
8:30:20
adlai
however, it was the kind of garbage-in-garbage-out that made me afk^hrepl for long enough to forget my paranoiae about intellectual property.
8:35:37
Nilby
About 750 of 4330 systems I have "loaded" have the liscense field blank. Some licenses have interesting names, such as "BSD or Bugroff" and "do whatever the fuck you want".
8:37:06
flip214
Nilby: asdf::primary-system-p could help you to remove all the -tests and similar systems.
8:38:15
flip214
and QL doesn't distribute a source link (incl. git hash) with the system list, right?
8:38:51
flip214
well, I guess I'll just make a heuristic that fetches the README.md, .asd, and one of LICENSE|COPYING|similar stuff
8:42:06
Nilby
Well, it's hackish and depends on my stuff, but https://plaster.tymoon.eu/view/2180#2180
8:46:02
Nilby
For this to work you need a checked out quicklisp-projects so it probably can't be in quicklisp proper and probably. I have done some work on a quicklisp tool of sorts.
8:50:35
Nilby
I think Xach has something planned, but if I ever get my thing done, we could have a project metadata extract.
8:57:08
flip214
it would also be great if everything that's needed for distributing would be available in a central QL place... so the license name, authors (if 4-clause bsd), link to license file (github or whereever), etc.
9:06:57
flip214
what is needed to get trivial-signal working on Windows? I'd like to catch ctrl-c, but the various GCC.EXE I can find just say "sorry, unimplemented: 64bit mode is not included"
9:11:50
flip214
Alfr_: mingw/cygwin already emulates so much, so I think it should be possible... it's just that grovelling fails, because I can't find a 64bit mingw gcc for windows