freenode/lisp - IRC Chatlog
Search
23:58:29
Xach
facebook informs me that the inebriated late-night amsterdam chip-shop run that led to sharplispers was 9 years ago today
0:35:01
aeth
C compilers are (apparently; I don't speak from experience) easy to write. The hard part is optimizing. Challenge mode is supporting C++.
0:37:13
aeth
C's probably one of the easiest languages to write compilers for because people manage to write dozens of them *in C itself*. I'd hate to have to try to implement a better language in C itself. I wouldn't be surprised if you could write a non-optimizing one in CL in a few thousand lines.
0:43:21
aeth
My guess is that the hardest part would be the parser because the CL community tends to not care about parsers (at least comparatively speaking).
4:54:46
jedii
would it come down to something like postgresql SBCL postmordern hunchentoot vs postgresql+tcl+naviserver
4:56:36
jedii
Paul grahm talks of forking a lisp interpreter for each web client.......then using files on netapp and justlisp
4:56:49
no-defun-allowed
The most scalable thing would probably be to keep everything in memory, which is trivial.
4:57:14
no-defun-allowed
When that doesn't work, then you could use a SQL database or object persistence library like manardb, sure.
4:57:49
jedii
I talked to one friend one time and he simply kept clients 1-10 on box 1 and 11-20 on box 2
4:59:18
no-defun-allowed
Most Lisp web servers (well, Hunchentoot and Woo) will split up work between multiple threads.
4:59:42
no-defun-allowed
I would leave scaling between machines for later, and if you have many users or very demanding uses.
5:17:48
aeth
I don't think Paul Graham's 1999 CLISP web architecture is at all relevant for 2020 probably-SBCL-but-maybe-CCL web architecture
5:18:58
no-defun-allowed
Yeah, one does not need to fork when threads are supported by the operating system and Lisp implementation.
9:29:26
iissaacc
is there any way to quickly get the version of a symbol with the package prefix attached?
9:31:19
phoe
so you cannot always tell from outside which package the symbol + is from, unless you also know the current package
9:32:28
iissaacc
well the problem i have is i convert a symbol to its string representation. Then when it gets converted back into a symbol to be used in funcall it happens in another package, so i get an error saying the function is undefined
9:40:33
phoe
the KEYWORD package is very nice for this because keywords are always printed with the preceding colon (even in package KEYWORD) and because it uses no other package, hence all non-keyword symbols are printed with their package name
9:41:54
phoe
keywords are a singular namespace, and you don't usually want to collide with other people's functions