freenode/#lisp - IRC Chatlog
Search
22:46:04
mercourisj
theoretically lisp is one of the few programming languaes that could generate truly random applications
22:46:17
mercourisj
you could use random to random select symbols and combine them until you have a full program
22:46:44
aeth
If you wanted random #'random, afaik, you'd have to use an implementation-specific way to provide a seed to the random state.
22:47:02
mercourisj
I just mean in the sense that one can use macros to generate random code on the fly
22:47:08
Petit_Dejeuner
I always thought it would be fun to make a library add advertisement blurbs and links to all the public identifiers at compile time.
22:50:25
scymtym
aeth: no, SBCL initializes the random state to a fixed constant. without the call Bike mentioned, subsequent (non-threaded) runs will produce identical sequences of "random" values
22:51:42
aeth
scymtym: Yes, but there are two ways to actually set up a random state, including on SBCL, afaik. The portable way and the provide-a-seed way
22:54:02
aeth
scymtym: Yes, I was just wondering how SBCL gets a random state in make-random-state because obviously if it used #'random it would cycle through the same random states!
22:57:31
scymtym
aeth: sure. on linux, it reads from /dev/urandom and uses a weaker fallback based on time and PID if that fails
23:01:53
mercourisj
I believe the accepted way of getting a random seed is by downloading random++ from npm
23:02:25
mercourisj
the reason why it will always be something new is because you'll be fulfilling the dependency via NPM, and who knows what it will be
23:02:36
scymtym
ACTION loves how the urandom(4) man page claims that getrandom(2) is the safer alternative and then 50% of that man page is a super-complicated section called "Interruption by a signal handler"
23:02:42
rme
the /dev/urandom way is nice because it works on a lot of systems (at least linux/freebsd/osx/solaris-ish)
23:03:41
aeth
Well I can understand why switching to getrandom() right way was probably not a good idea because it was introduced fairly recently. The manpage says kernel 3.17
23:03:59
aeth
kernel.org even shows 2 longterm kernels still supported that have a lower version number!
23:16:06
ealfonso
why is hunchentoot insisnting on using html error templates when I set hunchentoot:acceptor-error-template-directory to nil?
23:21:21
ealfonso
"If an ERROR-TEMPLATE-DIRECTORY is set in the current acceptor and the directory contains a file corresponding to HTTP-STATUS-CODE named <code>.html, that file is sent to the client after variable substitution"
1:30:49
ealfonso
the hunchentoot problem I was having earlier was not a hunchentoot problem. I forgot to use (return ...) in a loop finally clause
2:49:55
aeth
first cl-foo, then cl-foo42 because cl-foo is stuck on version 35 and then if you need a different foo 42.x binding you're in trouble
8:16:47
ealfonso
what is the difference between (SYMBOL-VALUE (FIND-SYMBOL (SYMBOL-NAME 'MY-SYM))) and MY-SYM?
8:25:40
phoe
the lexical bindings disappear after the code is compiled, so a string would have nothing to refer to.
10:30:44
_death
Xach: since you mentioned tic-80, check out my fork https://github.com/death/TIC-80 ;)