hebigo
slime
Our great sponsors
hebigo | slime | |
---|---|---|
21 | 14 | |
21 | 1,851 | |
- | 1.8% | |
1.9 | 8.2 | |
about 1 year ago | 1 day ago | |
Python | Common Lisp | |
Mozilla Public License 2.0 | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
hebigo
-
What is the point of the if __name__ == "__main__":, i.e. why use a file as both script and module?
The Lissp transpiler incrementally compiles and executes each top-level form to Python. It needs to do this in case there's a macro definition that might affect the compilation of a subsequent form. If it's only executing definitions, this is harmless, but if you want to precompile the main module, it needs the guard, or the side effects will happen too.
-
What's the most hilarious use of operator overloading you've seen?
If you want Python to be as customizable as Lissp, check out Hissp (and Hebigo).
-
Want cleaner code? Use the rule of six
Python's lambdas can have as many lines as you want. Just wrap parens around it. Hissp uses this form as a compilation target. Its REPL shows the Python compilation. Play around with it til you get it: https://github.com/gilch/hissp
- What would be your “perfect” programming language?
- Kamby – A programming language based on Lisp that doesn't seems like Lisp
- Wisp: Whitespace to Lisp
-
Is ECMAScript really a dialect of Lisp?
The original Lisp's S-expression syntax was just supposed to be an intermediate language used by the compiler when processing the real language based on M-expressions, which kind of never took off. Numerous alternatives to S-expressions have been proposed, and some retain homoiconicity, another feature diagnostic of a Lisp (and one that ECMAScript lacks). For example, see Hebigo's readme, which shows a direct correspondence between its Python-like syntax and that of Hissp's default reader (Lissp), which uses the S-expressions. Julia can also be written in S-expressions, but this usually only used in macro definitions.
- Why Hy?
-
Land of Lisp
I think LoL is too CL-specific. If you know both languages first, you can pretty much translate, but since they'd be trying to learn Lisp in the first place, this is a bad idea.
On the other hand, [Hissp][1] has a pretty good tutorial for anyone coming from a Python background.
[1]: https://github.com/gilch/hissp
-
Interesting or distinctive lisps?
Hebigo: a whitespaceLisp isomorphic to Hissp that looks like Python.
slime
- Emacs 28 can not run Slime
-
Anyone know why newlines get randomly inserted when printing a list with format on emacs + slime?
Try https://github.com/slime/slime/commit/e6a71c725c8e13d7d4c40e6a6fa7b696575a8d01
-
So i wanna learn Common Lisp
With emacs your two choices are either SLIME or SLY. Slime is a good place to start - it's rock solid. Once you get moving you can make a judgement call on whether or not SLY has features you'd like over what SLIME has available.
-
Common Lisp vs Racket
To provide a bit more context, most of SLIME is just Common Lisp code (https://github.com/slime/slime), with a bunch of Emacs Lisp code alongside to support interfacing with Emacs. But you don't need that Emacs Lisp code to take advantage of almost all of the functionality SLIME provides. For instance, if you want to know who-calls a function, there's some command in emacs to do it, but all that command is doing is just a bit of elisp code which sends a message to Swank (a server running inside Common Lisp) and Swank invokes some native CL code to figure that out and return the results, then finally a bit of elisp code presents the results in some way. Vim can do the same thing just fine with vimscript/python (what the Slimv plugin uses) or otherwise, the bulk of the work in figuring out the list of callers of some function is done by the CL code (and CL implementation itself).
-
What does your workflow look like on Linux?
SLIME or SLY for Common Lisp (if you want to work with it), Geiser for various Schemes
-
slime-pop-find-definition-stack not working
That's rather new, https://github.com/slime/slime/commit/789584a7acb15747678fa62a8fcfc8d1187be867 is probably about that.
- Offline Hyperspec? html, texinfo, org, something?
-
Slime
With that headline on HN, I was expecting this: https://common-lisp.net/project/slime/
-
Python REPL-driven development in Emacs
SLIME or Sly for Common Lisp, Geiser for most Scheme implementations, or racket-mode for Racket?
-
Is there a possibility to have a master stack in bspwm like in dwm?
For example, some people that are Common Lisp programmers, but don't use GNU Emacs, may decide to use GNU Emacs because of the slime-mode workflow.
What are some alternatives?
hy - A dialect of Lisp that's embedded in Python
sly - Sylvester the Cat's Common Lisp IDE
hy-lisp-python - examples for my book "A Lisp Programmer Living in Python-Land: The Hy Programming Language"
portacle - A portable common lisp development environment
smtfmt - An SMT-LIB formatter.
paip-lisp - Lisp code for the textbook "Paradigms of Artificial Intelligence Programming"
smart-imports - smart imports for Python
bsp-layout - Manage layouts in bspwm (tall and wide)
coalton - Coalton is an efficient, statically typed functional programming language that supercharges Common Lisp.
common-lisp-jupyter - A Common Lisp kernel for Jupyter along with a library for building Jupyter kernels.
awesome-functional-python - A curated list of awesome things related to functional programming in Python.
caveman - Lightweight web application framework for Common Lisp.