libera/#commonlisp - IRC Chatlog
Search
15:17:34
lisp123
Any good resources on the theory of testing in interactive languages like Common Lisp?
15:18:02
lisp123
(not testing frameworks, but reasoning / thoughts /etc as it applies to interactive development)
15:27:22
beach
lisp123: It seems to me you always want to start with a fresh image so that everything is in a well defined state that can be repeated.
15:28:14
beach
lisp123: If this were SICL, I would say "fresh global environment" instead, but the only option you have in current Common Lisp implementations to get a fresh global environment is to start a fresh image.
15:34:21
beach
Indeed. And lately I have been thinking that they are a necessity for a single-image IDE.
15:35:09
mariari
beach: there could be a lot of refactoring improvements with first class environments, at least I envision having tools akin to what unison has in regards to refactoring images
15:35:27
beach
With current Common Lisp implementations, it is just too easy to destroy the (single) global environment, and thereby the IDE too.
15:36:01
beach
mariari: You mean using first-class global environments to help with refactoring? How would that work?
15:36:21
lisp123
Yes (at least for me, I do M-x slime-restart-inferior-lisp a lot, which I think is a fair precaution)
15:36:51
beach
lisp123: It is an "unfortunate necessity" rather than "a fair precaution" in my opinion.
15:37:24
mariari
yeah! From what I've seen on Unison they do this at a type level so when types change and changes cascade, you can commit back the changes after everything fits together. For CL in particular we could recompile parts that we know has to play together in a new environment, and then merge the changes when we are more confident the whole system works together, maybe a swap replacement of the old
15:40:46
mariari
I think there is a lot of very cool ideas that can be had once first class environments become more common
15:40:54
lisp123
rotateq: I don't have a list on me, sometimes its running a computation that exceeds the stack, sometimes its clashing symbols after recompiling certain parts of code (the latter I could probably solve without restarting - but I have an easy workflow - restart lisp -> asdf:load-system)
15:42:03
etimmons
I would love to have first class environments. The lack of them is largely what drove me to implement my dependency manager as a second process
15:42:52
lisp123
rotateq: Sorry, I'm not 100% clear on terminology, just when my computation is too big (since I work a lot with permutations and factorials can get big fast)
15:43:52
lisp123
beach: Maybe you read it, maybe its too old, but this seemed interesting http://www.softwarepreservation.org/projects/interactive_c/bib/Sandewall-1978.pdf
15:44:21
beach
rotateq: I restart often when I run SICL bootstrapping with SBCL as a host, simply because each execution of the bootstrapping procedure adds methods to some Common Lisp generic functions, and that results in a gradual slowdown of the entire computation. It is much easier to restart than to remove those methods.
15:45:46
beach
lisp123: Erik Sandewall was THE professor of computer science where I went to university. He was in fact the first such professor in Sweden. I was very lucky to have him (and his other group members) as a teacher.
15:46:39
lisp123
beach: Small World! That must have been a great experience. Well I will definitely read it in depth now
15:52:34
beach
rotateq: After my death, every second you spend still being alive, you will catch up.
15:58:24
jeosol
lisp123: Thanks for linking that paper about, should be a good read. Will definitely be reading it sometime
16:07:09
rotateq
beach: There is a myth that Donald Knuth will die in the moment he finishes book 7 (Compilers) of The Art of Computer Programming.
17:19:35
lisp123
jeosol: You are welcome :) P.S. I subscribed to ACM to read some of their papers, if anybody wants an article from there, ping me and hopefully I will have access
0:27:26
Psybur
char, i dont know if a highschooler with little or no programming is going to enjoy the beauty of sexp
0:29:01
char
Psybur: perhaps not. I was thinking more from a practical prespective under the premise "people with program software in the langauge that they know".
0:36:22
phantomics
CL can get you fast results in many areas, if they're learning web dev it could be good, start by giving them a set of very simple macros to build a web page that expand to cl-who invocations, then move from those simple macros to more customizable ones, revealing how the simple macros expand