7 ms·
What exactly do you develop with Common Lisp?
by pkaye 12y ago
What exactly do you develop with Common Lisp?
- mrottenkolber 12y agoI develop everything (typesetting software, compilers, web server, email client, a desktop environment just for me, a sound synthesizer, my invoice generator, IRC bots, full blown web apps, a wiki engine and tons of general purpose libraries) using Common Lisp. My love for the language comes especially from the fact that its so limitless by design. I have DISASSEMBLE and I have DEFUN. I have ETYPECASE and I have LOOP. Lacking a language feature? Add it with ease and incredible performance.
- pkaye 12y agoAre any of these software tools available as open source so I can see the advantage of using Lisp?
- malisper 12y agoNot the parent, but I recently wanted ssyntax[0] in Common Lisp, so I decided to write an implementation for it[1]. In doing so, I created a DSL for defining ssyntax (made up of defssyntax-test, defssyntax-macro, and defssyntax-sym-mac). Just note that my implementation uses a library of utilities I wrote[2] and is not pure Common Lisp. [0] http://arclanguage.github.io/ref/evaluation.html http://arclanguage.github.io/ref/evaluation.html [1] https://github.com/malisper/Clamp/blob/master/experimental/ssyntax.lisp https://github.com/malisper/Clamp/blob/master/experimental/s... [2] https://github.com/malisper/Clamp https://github.com/malisper/Clamp
- mrottenkolber 12y agoSome: http://mr.gy/ http://mr.gy/
- kourt 12y agoPlease tell us about your stack. Which implementation of Common Lisp do you use?
- mrottenkolber 12y agoSlackware, Clozure Common Lisp, Emacs, Slime. Actually its not very fancy. I basically live in a live CL image, have some emacs key bindings which invoke a simple CL job system (EVAL in a thread). I can shift-right-click things to get a menu of actions for that type of file and plain-right-click to run the VIEW action for that type of file (as a job in CL). http://i.imgur.com/2b47mII.png http://i.imgur.com/2b47mII.png I have a QUERY function which is hooked up to Recoll (full text search). I have the HTML ANSI CL draft under /usr/doc/ansi-common-lisp/ and HTML versions of all manpages under /usr/doc/man so finding documentation is quite nice. E.g. I (query "defun") or (query "gethostname") and get a sane list of results. I have a markdown like language in which I write all my documentation, its media independent and has backends for plaintext, html and LaTeX output. I want to release it soon but well... There is the SH DSL for executing UNIX commands, the PIPE macro for doing things like (pipe (sh hostname) (read)) (just a silly example). My web server is open source (telnet to mr.gy on port 80). Its mostly "cute", not something you'd run on a large site.
- eudox 12y agoI'd love a write up of your setup, and I think other people here would as well. Did you build this all from what you thought you'd rather use, or have you tried Lisp machines like Genera?
- mrottenkolber 12y agoNever used Genera or the likes (am a youngster). I have seen screencasts though. I have been mostly influenced by Acme of Plan 9 and the Oberon UI (also only through secondary sources). I am also stuck on UNIX so I had to deal with that in some way, also I know my way around UNIX so I felt it was easier to integrate UNIX with CL instead of learning a new OS. My time with UNIX also made me fond of text files so a lot of my "stack" is optimized for plain text interfaces (e.g. the email client started because I didn't like the directory structure of maildir). Also I wanted my mail in a git repository. > Did you build this all from what you thought you'd rather use Kind of, its a compromise between what I wanted (a CL OS, optimized for simple text interfaces and CL hacking) and what was in reach. At some point I decided to go the path of least resistance, move my CL stack closer to the UNIX/Slackware stack and reuse and integrate as much open source software as possible. The result is a very thin layer of CL and Elisp code and some CL apps which combine to a UI I feel comfortable with.
- mck- 12y agoI find it great for any general purpose coding on the backend. For instance, the algo of Routific is written in Common Lisp. But once you start building APIs or web apps, it falls extremely short for lack of community and open-source libraries/frameworks.
- eudox 12y ago> it falls extremely short for lack of community and open-source libraries/frameworks. This is one area I'm hoping to improve. I've already built the ORM, auth system and template engine. Now I'm doing the web framework, pretty soon the admin panel, then a couple of pretty project sites and i'll be on Hacker News.
- 616c 12y agoYou might have seen me follow up comments about your work. It is very interesting. I am just starting to get into Lisp and I want to make it the first language I really get it into (in college, as a non-major, I did coursework in C++, Perl, and Python). CL is the language I want to dive deep into and get expert it. Keep up your stuff. After stumling on your work on that strictly-typed LLVM lisp and your cmacro system, I find your work very inspiring and make me want to focus. You and Fukamachi (did I get his name right? the guy working on cl21 and the Caveman web framework) are doing really cool stuff for the CL FOSS community right now.
- eudox 12y agoThank you for the encouragement, and best of luck to you :)