sly
cl-permutation
Our great sponsors
sly | cl-permutation | |
---|---|---|
14 | 4 | |
1,210 | 47 | |
- | - | |
4.8 | 3.5 | |
12 days ago | 10 months ago | |
Common Lisp | Common Lisp | |
- | BSD 3-clause "New" or "Revised" License |
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.
sly
-
I programmed a SLY completion backend, it works, but I could use some help fine tuning it.
please someone create a pull request (or issue) on SLY github, to make it available to other SLY users. (I do not wish to have a github account and don't care about the copyright)
-
Font Identification Request
Probably a silly question. I saw some Emacs gifs in sly’s README and found the font simple but comfortable. Would anyone using the same font mind sharing his/her setup?
-
Lisp and cybersecurity !
I think lisp languages have a culture of not caring about security, (total speculation here) with roots going back to stallman decrypting the passwords and restoring anonymous access in the MIT lab. For example, quicklisp the main package manager people are using with common lisp is pulling packages over http. Normal lisp development spawns a tcp socket that accepts arbitrary code to execute. Emacs recently pushed a release fixing a vuln not because they thought it was important, but because their users cared and they realize it's a bad look to not push timely fixes to known vulns. All those I can't really fault cause they're just people in their free time, but clojure has major industry use and the default html templater (hiccup) doesn't escape html by default (well it does in version 2 but that's still alpha so most are on version 1), leading to most web backends written in clojure having cross-site scripting (XSS) vulns.
-
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.
-
Are there plugins for Neovim that don't exist, that should exist, in your opinion?
A proper Neovim client for Slime or Sly. The closest is Vlime, but its UI is really janky.
- Sly: Sylvester the Cat's Common Lisp IDE
-
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
-
Basic dev environment setup
This may sound very threatening, but Emacs is the champion for lisp/scheme support out of the box in my opinion. If you are trying Common Lisp, check sly: https://github.com/joaotavora/sly It’s installable via melpa: https://melpa.org/#/getting-started
-
SLY with ListWorks
I have a Hobbyist version of LispWorks and would like to use it with SLY. However I get this weird behavior as expressed in: https://github.com/joaotavora/sly/discussions/513
-
Difficulty installing packages with quicklisp
I tried to quickload c-mera into sbcl (using Emacs and SLY on Linux (SLIME should work, too)) and succeeded. here is what I did: 1) git clone https://github.com/kiselgra/c-mera 2) git clone https://github.com/didierverna/clon 3. open a SLY-REPL and (ql:quickload "net.didierverna.clon"), be sure it succeeds, if not check asdf paths 4. change to c-mera directory and do a dos2unix file on all files in all (sub)directories. 5. run autoreconf -if 6. run ./configure --with-sbcl 7. run make this failed on my system, I didn't try to solve that 8. open the SLY-REPL and enter (ql:quickload "c-mera") 9. in SLY-REPL enter (ql:quickload "cmu-c") 10. in SLY-REPL enter (in-package :cmu-c) 11. in SLY-REPL enter (cm-reader) 12. in SLY-REPL run first example code from readme
cl-permutation
-
Permutation Iteration and Random Access
Here is Lisp code [1] that maps all sorts of combinatorial objects—permutations, bit sets, base-B integers, multi-set permutations, etc.—perfectly into the smallest set of integers [0, n-1] and back. (In a sense, it's a perfect hash.) This is used to efficiently solve combinatorial puzzles.
[1] https://github.com/stylewarning/cl-permutation/blob/master/s...
-
Can a Rubik's Cube be brute-forced?
Note that in the unlikely event anyone wants to run the code in the post, the algorithm presented is still in an open PR, APIs change until merged, etc.
- Favorite Lisp project? Shameless plugs welcome & encouraged!
-
Is Fisher-Yates Shuffle (aka Knuth Shuffle) implemented in some vetted CL library?
CL-PERMUTATION has random-perm to produce a random permutation of even, odd, or any parity.
What are some alternatives?
slime - The Superior Lisp Interaction Mode for Emacs
ultralisp - The software behind a Ultralisp.org Common Lisp repository
portacle - A portable common lisp development environment
shan - A declarative wrapper around your favourite system-wide package manager
land-of-lisp-using-hunchentoot - Convert code for "Dice of Doom" from Barski's "Land of Lisp" to use Hunchentoot web server.
phel-lang - Phel is a functional programming language that transpiles to PHP. A Lisp dialect inspired by Clojure and Janet.
fiveam-asdf - ASDF plug-in for defining test systems based on the FiveAM test library
doc - Flexible documentation generator for Common Lisp projects.
cl-warehouse - A sample Warehouse management app in Common Lisp
weblocks - This fork was created to experiment with some refactorings. They are collected in branch "reblocks".
Common-Lisp-Tangram-Solver - A Tangram Puzzle Solver in Common Lisp that is capable of solving arbitrary geometric tiling problems. CLIM (Common Lisp Interface Manager) is used for its GUI.
coalton - Coalton is an efficient, statically typed functional programming language that supercharges Common Lisp.