Re: How do nim users who have some proficiency in Lisp compare the two?
> How do nim users who have some proficiency in Lisp compare the two? As @Libman said, they are quite different. But you do see hints of Lisp in Nim here and there. Some examples: the way the AST parsing of Nim happens, and that it can be represented as a Lisp expression (See [lispRepr](https://nim-lang.github.io/Nim/macros#lispRepr%2CNimNode)), Nim templates can be redefined as you can do lisp expressions, you can easily introspect the types of variables and procs, as you can do in lisp. I even started this fun project [elnim](https://github.com/kaushalmodi/elnim). > Are there any Lisp developers here who have used both in earnest? I got exposed to lisp as I use Emacs and I loove hacking in Emacs-Lisp to make Emacs do whatever I want. And I have used Nim to replace bash and Python for me. More importantly, it has found a unique spot at my work where I use Nim as an interfacing language between C/C++ and SystemVerilog. \--- Hey @rayman22201, thanks for the mention :) Yep, my website source is in Org mode.
Re: How do nim users who have some proficiency in Lisp compare the two?
There are a few lispers around. One of the biggest is @kaushalmodi. He is often on irc. I would ask him there. He has a great Nim notes page here: [https://scripter.co/notes/nim](https://scripter.co/notes/nim)/ (His entire website is generated from an org-mode file I believe) I am a novice at lisp but I have played with a few flavors. Nim macros have a similar feel in some ways, but very different in others. Just like lisp, macros essentially act as functions over the AST. But, Nim is a strongly typed imperative language, and as such, the AST nodes that you are operating on are much more "rich" to accommodate this. It's not just lists all the way down. It feels more like building a small plugin to a traditional compiler. Personally, I find writing macros in Nim to be more similar to building a DSL in Haskell, or ML.
Re: How do nim users who have some proficiency in Lisp compare the two?
Really the only thing that Nim and Lisp have in common is very powerful metaprogramming. Aside from that - it's a very strange comparison... Lisp is a family of programming languages, almost all of which are scripting languages without static typing. Most common Lisp implementations (ex. SBCL, and some might count Clojure) cannot produce lean high-performance executables, which is a big strength for Nim. [Kostya's benchmarks](https://github.com/kostya/benchmarks) show Nim being much more efficient than Lisp variants Racket and Chez Scheme. Lisp is especially known for its peculiar [S-expression]([https://en.wikipedia.org/wiki/S-expression](https://en.wikipedia.org/wiki/S-expression)) syntax, which now (adding up all Lisp and Scheme flavors) has less than 1% [market share](https://www.tiobe.com/tiobe-index/). A small minority of programmers like it, but the vast majority don't, and would probably find it difficult to read your code or contribute to your project. Nim's syntax philosophy is shared with Python (soon to become undisputed as the most popular scripting language), and so it's less peculiar than Lisp to people coming from other top programming languages. Related: [Make a Lisp in Nim](https://hookrace.net/blog/make-a-lisp-in-nim/) (2015)