freenode/#lisp - IRC Chatlog
Search
21:23:36
Nilby
Yes, but I'm pretty sure one might get different results loading it in it's recommended way, vs. just asdf loading it.
21:46:56
monaliza
Heyo! I've recently learned common lisp and i've read a book about it, I've been kind of indecisive for which other vlafor of lisp i should start using next, because of how many flavours there are. I'm mostly really interested in functional programming, and I'm a real fan of haskell-ish syntax, where it's short, makes sense, and works rather well. I've heard about Racket lisp, Arc lisp, and Scheme,
21:46:59
monaliza
and I'm getting mixed signals on which one I should try to extensively dive into first
21:49:16
moon-child
monaliza: you are unlikely to get very many responses here, because this channel is specifically about common lisp. That being said: I would avoid arc. Racket and scheme are both nice enough, and you may also want to look at coalton
21:51:05
monaliza
My fault for not reading the first word of the topic, I'm very sorry! And, thank you very much!
21:57:40
kagevf
use CL so you have the flexibility to take advantage of other styles when FP isn't a good fit
21:59:00
kagevf
also, if you want FP only no matter what, maybe consider clojure ... with the caveat that it's on the jvm
22:35:15
no-defun-allowed
m00natic: IIRC {} and [] in Scheme produce equivalent syntax to (), so you could write (let ([x 1]) x) in Scheme or even [let [[x 1]] x]
22:38:06
moon-child
seems chicken does exactly as you say, guile doesn'tlike {}, and s7 doesn't like either
23:01:14
edgar-rft
the beatiful thing with Scheme is that there are so many *different* syntax schemes you can choose from
23:35:47
kagevf
in CL could you write a reader macro to do the same thing? to make [] and {} act like ()?
23:36:40
kagevf
ok, that's what I thought ... do they exist as part of the standard, or in a library?
23:37:28
fiddlerwoaroof
There's also things like this that port the good bits of Clojure's syntax: https://github.com/joinr/clclojure/blob/master/reader.lisp
23:38:11
fiddlerwoaroof
So, technically, libraries aren't supposed to use these characters in the standard readtable
23:38:38
fiddlerwoaroof
However, libraries are free to provide their own readtables, and named-readtables exists to make that process nicer
23:39:06
fiddlerwoaroof
Also, personally, I tend to think "whatever a library can do should be left out of the standard as much as possible"
0:53:42
Bike
{} and [] are reserved in the sense that the implementation can't use them. there's no restrictions on programmer users, library writers or not. named readtables is probably still a good idea tho.
1:24:33
aeth
You'd probably want #[...] and #{...} instead of just [...] and {...} to make it really clear that it's a reader macro
5:45:33
fiddlerwoaroof
Bike, I'm confusing two things, it's interesting that #{} and #[] aredescribed this way: "The combinations marked by an asterisk (*) are explicitly reserved to the user"
5:46:32
fiddlerwoaroof
While [] and {} are defined this way: "The characters marked with an asterisk (*) are initially constituents, but they are not used in any standard Common Lisp notations. These characters are explicitly reserved to the programmer."
5:47:47
fiddlerwoaroof
It seems to me that there's an attempt here to distinguish characters that end-users might define reader macros on from characters that non-end-user programmers might define reader macros on
5:48:19
fiddlerwoaroof
Of course, in retrospect, it seems to me that NAMED-READTABLES is the right solution to this sort of problems