Hacker News new | past | comments | ask | show | jobs | submit login

I have to say these type of articles make me want to get into Common Lisp again. Good stuff, thanks! :)



I ended up looking around Racket because it seems to have better libraries.

My problems so far are:

- lack of (loop), (dotimes), etc.

- lack of (restart-case), (invoke-restart), etc.

- REPL feels extremely different from SBCL's one (or emacs + SLIME + SBCL), it is definitely non-Lispy

- inconsistent naming (e.g. see (path-get-extension) and (file-name-from-path) where in other libraries it is "filename" not "file-name" hence the inconsistency, and the "get" in (path-get-extension) seems odd. There is a deprecated (filename-extension), I think sticking to that would be better. I know that backwards-compatibility is the issue but cannot we just issue a warning for a few releases instead?)

- (time) is much less informative than SBCL's (time)

- this is really subjective, but I prefer (progn) over (begin)

In my opinion Racket is better in some regards than Common Lisp, but it still has its warts. Common Lisp has its own warts. I really wish that these issues were to be resolved somehow in Racket so I could have my "perfect" language. :(


FWIW the `control` packages contains versions of `dotimes` and `tagbody`.

https://docs.racket-lang.org/control-manual/index.html

Make an issue with regards to the filename inconsistency. I hadn't noticed before - and had to look it up. The confusion stems in the fact that both "file name" and "filename" count as correct spelling (sigh).

Wrt to `time` take a look at the `benchmark` package: https://docs.racket-lang.org/benchmark/index.html


Just found this version of `loop`: https://planet.racket-lang.org/package-source/jphelps/loop.p...

I don't know how its features compares to the real thing.


Apparently there is no (disassemble) either. :/

I am using https://github.com/samth/disassemble for now.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: