freenode/lisp - IRC Chatlog
Search
13:14:04
pjb
schweers: have a look at cl-stepper, so you may use ccl (or any other implementation) in development.
13:15:47
dlowe
I would expect, not having used it, that it simply uses the condition raised by the (break) form.
13:21:40
dlowe
but compilation in the normal lisp environment is so trivial that I'm not sure anyone considers it an inconvenience
13:23:52
dlowe
schweers: in sbcl, if you (TRACE FOO :break T) it will break on every invocation of FOO
13:25:48
dlowe
I mean, if you're *at* the position you want a link for, there's no convenient button
13:37:20
schweers
this is the chapter in question? http://www.gigamonkeys.com/book/practical-a-simple-database.html
13:37:32
dlowe
the standard academic model is to say what you're going to say, then say it, then say what you just said
13:38:07
butterthebuddha
Okay cool, ty. It's a little overwhelming because lisp is very different from everything else and he goes a little quickly
13:38:56
Shinmera
The first chapter is a bit hectic, but he tries to show off something "cool" to get you interested and slows down afterwards.
13:39:17
Shinmera
Which in my opinion is fine. It could've maybe used a disclaimer of some sort though.
14:21:27
oleo
i had some lib there which contained lisp-unit, and antik want's the real lisp-unit package...and even tho i removed the ~/common-lisp/systems/bla.asd links it finds them in the ~/common-lisp/system directory still....
14:24:06
oleo
and i have no (:tree....) in my systems-registry.conf in .config/common-lisp/source-registry.conf.d/ that points to ~/common-lisp again
14:37:47
oleo
i could only solve it thru moving those libs in the source there to another out-of-tree location....
14:38:44
oleo
only the systems dir of symliks to the real asdf files such that you know which you want to activate....
14:41:09
schweers
it’s searched recursively? I was annoyed that it’s not, but it seems that I misunderstood
15:20:59
oleo
everything (.asd files) which you link from the commonlisp/source to the common-lisp/systems directory is meant to activate that
15:21:02
jackdaniel
oleo: if you have directory structure foo/foo.asd foo/tests/foo-tests.asd and you don't search recursively, you don't have tests
15:21:56
oleo
you can cd to common-lisp/systems and do a find ../source -name "*.asd" -exec ln -s {} \;
15:22:39
jackdaniel
well, I can do a lot of things, but searching recursively is the most intuitive to me as well
15:23:39
Shinmera
Seems pretty reasonable to me that it would search recursively in a directory called "systems".
15:23:46
jackdaniel
asdf had problems with backward compatibility numerous times. one side of the coin is that it breaks stuff, the other one it isn't tied to design which maintainers consider broken
15:25:12
jackdaniel
oleo: if you link each asd system individually in common-lisp (without putting directories), it won't go recursively
15:26:56
oleo
anyway, you could divert asdf to detect if it is on such a system without symlinks....
15:27:53
Shinmera
anyway, if the default behaviour of ~/common-lisp bothers you so much you can just make your own and define its behaviour explicitly in ASDF's source registry language or whatever.
15:32:30
Fare
I used to try not to follow them in older versions, because that was the most predictable and also the way to avoid endless recursion.
15:33:09
Fare
rpg recently added a layer to avoid endless recursion, and enabled following them on implementations such as SBCL where we were previously not following them.
15:34:35
Fare
~/common-lisp/ WILL be recursively searched, but you can use to source-registry-cache to stop the search
20:05:40
butterthebuddha
Shinmera: yeah that's kind of my Q haha - why do I ever want to do '(+ 1 2)
20:06:03
butterthebuddha
dlowe: Yep, I'm aware of using '(...) for literal lists. I was wondering if quoting a form is ever useful though
20:06:05
Shinmera
butterthebuddha: I don't know. You might want to save forms for evaluation at a later point.
20:06:37
Shinmera
There are legitimate reasons to want to quote code and evaluate it at another time.
20:07:25
Shinmera
For example in a test framework you might want a macro that saves the original form-- both to display it when a failure occurs or when the test is run, and to possibly sidestep compilation errors until test evaluation.
20:08:51
Shinmera
You might also be implementing some special purpose language that happens to use s expressions as its code format, in which case '(+ 1 2) would be a natural way of writing a program in that language.
20:15:29
butterthebuddha
I'm actually kind of excited to get to macros; they sound like they're super powerful
20:18:40
pjb
(defmacro if* (test then &optional else) `(if-fun ,test (lambda () ,then) (lambda () ,else)))
20:19:31
pjb
(defun if-fun (test then else) (funcall (aref (vector else then) (get (not test) 'bit))))\
20:19:35
aeth
`(+ 1 2 ,foo) is used more in practice than '(+ 1 2) afaik... especially in CL macros.
20:26:34
pjb
If you implemented it in lambda-calculus, you could attach a selector function (car or cdr) to each lisp value. You'd just call: (funcall (selector test) (cons then else)). The macro is only useful to avoid evaluating the other branch.
21:16:18
phoe
it can't become any more dead than what it's been proclaimed for the past twenty years I think
21:16:51
jasom
I have now created 2685 nix expressions from the quicklisp repository; there's another ~1300 or so systems that ql2nix could not process. I plan to publish it later tonight.
22:41:34
axion
Whats a good way to get a CL array from a binary file on disk, bypassing all the streaming? only interested in the full array for a small file.
22:42:29
Bike
well, there will still be a stream, but you can just use with-open-file and read-sequence and it's only a few lines.
22:45:05
antoszka
Rosetta Code has a rather canonical take on this: https://rosettacode.org/wiki/Read_entire_file#Common_Lisp
22:48:16
Bike
yeah, that just means you don't need to worry about de/encoding. a blessing if there ever was one.
23:07:07
BitPuffin
does common lisp have a function like ormap in racket? By default in the standard (it can obviously be easily defined)
0:24:41
jasom
Xach: any chance of switching the quicklisp database from md5 to something newer? It doesn't appear to be used anywhere, and it would save me some small amount of work in ql2nix, since md5 is no longer allowed for verification of downloads in nix.
0:26:40
jasom
Xach: here's my current workaround; an awk script that calculates sha256 sums for each package: http://paste.lisp.org/+7L8Q
0:28:10
jasom
Xach: I then overwrite releases.txt and rebuild the cdb... nothing broke, and it met me use those sums in my script
0:47:54
slyrus
Fare: yeah, I know people _used_ to use it. But it seems like some things are broken now and I'm wondering if it's just me.
0:48:36
slyrus
I put closure-common up the sharplisper's github page. maybe we need to do the same for cxml and cxml-rng.
0:49:56
Fare
the following projects were unresponsive and had no github repo: bknr-web cl-blapack cxml-rng jwacs madeira-port org-sampler s-dot
0:52:21
Fare
if sharplispers take over some or all of these projects, I'll gladly send a PR. Or I can put the diffs in a repo of its own.
0:56:29
Fare
I decided to jump ship from CL. Too many things I missed from a modern Lisp. And those things I miss from CL (mainly, CLOS), I can reimplement on top of Gerbil when the time comes.