libera/#commonlisp - IRC Chatlog
Search
22:01:43
phantomics
April is designed to produce relatively readable compiled code for the purpose of debugging
22:02:45
phantomics
APL converted into Lisp designed for readability, I've built a lot of stuff including some reader macros just to make the output more readable
22:03:06
pjb
note: lexical variables are not accessible from "outside" the function, while global variables are accessible from anywhere.
22:03:44
pjb
therefore I would use a package such as "APL-VARIABLES" to intern the names of the global dynamic variables, and another package "APL-INTERNALS" to intern the name of the lexical variables.
22:03:48
phantomics
The concept of "global lexical variables" is interesting though, I may check into those tools you mentioned in case they're useful
22:04:36
pjb
Well, you'd have APL-VARIABLES:FOO and APL-INTERNALS::FOO. You wouldn't have to export symbols from APL-INTERNALS.
22:04:51
phantomics
April already supports multiple workspaces, each of which is implemented as a package, so that means I would have to have two of those packages for each workspace
22:06:09
pjb
having APL code generate packages with exported symbols only for the "public" stuff and other packages for the internals would be clean.
22:06:31
phantomics
April is intended to be highly interactive with Lisp; each workspace is a package, all variables you create can be accessed from the Lisp instance.
22:06:58
phantomics
If all the lexical vars are interned in a "sub-package" that could be fairly clean, no one would need to do much with the lexical package
22:42:17
char
Is there any good forward+reverse proxy for common lisp? I couldn't find how to forward http tcp sockets with hunchentoot
4:29:27
kakuhen
pjb: regarding the macro from yesterday, it seems that restart-case does not place forms on the top level, and the cl spec only guarantees types exist when you defclass on the top level; it seems you can have implementation-specific behavior when you defclass below the top level
7:30:25
pjb
kakuhen: note that restart case in foo could have only been invoked by the compiler, since it wraps only defclass and defmethod.
9:02:20
lotuseater
Hey does anyone know this Automated Mathematician system by Douglas Lenat? (from which Cycorp more or less evolved)
9:10:56
edgar-rft
lotuseater: wasn't that one of the predecessor ideas that later became known under the term "genetic programming" (automatically generating, modifying and testing computer source code)?
9:12:15
lotuseater
and first read about this system indirectly in Gödel Escher Bach by Douglas Hofstadter some time ago. to me personally very interesting as it also touches experimental mathematics
9:14:28
lotuseater
the great mathematicians like Euler, Gauss, etc were all experimental mathematicians in the first part of their work pipeline
9:15:19
lotuseater
so I found an archived repo of AM translated from Lisp to Prolog but the file organization seems messy
9:29:42
hayley
Anyways, AM looks like an interesting project. In the context of CL programs, I considered a program which would just nudge things around to find dumb mistakes that I fail to find because I'm not thinking about them.
9:31:24
hayley
Well, his shtick is that abstraction is a net loss would you flip through lots of codebases, or would you be a new programmer. But as Dijkstra said (paraphrasing) "the aim of abstraction is to make a layer that one can be totally precise about."
9:32:41
hayley
Without such a mechanism, one achieves a vulgar kind of simplicity where they can't do very much, even if the components are blatantly obvious in what they do. It's like less-is-less rather than less-is-more.
9:34:23
hayley
Should I shut up now? I could go on for a long time about how annoying it is that such a bad idea of "simplicity" permeates the minds of a lot of hackers.