TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: Who is using Common Lisp?

71 点作者 endswapper将近 7 年前
What/why?

20 条评论

jonjacky将近 7 年前
At the University of Washington Medical Center (UWMC) we are using a DICOM server written in Common Lisp [1]. DICOM is a network protocol used for medical images and other medical data. This was originally developed as part of the Prism radiation therapy treatment planning system [2][3], which was completely written in Common Lisp, and was used as the sole planning system at UWMC for many years.<p>1. <a href="https:&#x2F;&#x2F;dl.acm.org&#x2F;citation.cfm?id=963921" rel="nofollow">https:&#x2F;&#x2F;dl.acm.org&#x2F;citation.cfm?id=963921</a><p>2. <a href="https:&#x2F;&#x2F;www.ischool.utexas.edu&#x2F;~ml&#x2F;papers&#x2F;lisp40yrs.pdf" rel="nofollow">https:&#x2F;&#x2F;www.ischool.utexas.edu&#x2F;~ml&#x2F;papers&#x2F;lisp40yrs.pdf</a><p>3. <a href="https:&#x2F;&#x2F;www.redjournal.org&#x2F;article&#x2F;S0360-3016(96)00322-7&#x2F;abstract" rel="nofollow">https:&#x2F;&#x2F;www.redjournal.org&#x2F;article&#x2F;S0360-3016(96)00322-7&#x2F;abs...</a>
reikonomusha将近 7 年前
Rigetti Computing [1] uses it for a variety of their projects, including their high-performance quantum computer simulator called the QVM [2], and their quantum compiler.<p>Some of their use of Lisp has been presented in more detail at the European Lisp Symposium. You can see it in the Cutting Edge section of the proceedings [3].<p>[1] <a href="https:&#x2F;&#x2F;www.rigetti.com" rel="nofollow">https:&#x2F;&#x2F;www.rigetti.com</a><p>[2] <a href="https:&#x2F;&#x2F;youtu.be&#x2F;f9vRcSAneiw" rel="nofollow">https:&#x2F;&#x2F;youtu.be&#x2F;f9vRcSAneiw</a><p>[3] <a href="https:&#x2F;&#x2F;www.european-lisp-symposium.org&#x2F;static&#x2F;proceedings&#x2F;2018.pdf" rel="nofollow">https:&#x2F;&#x2F;www.european-lisp-symposium.org&#x2F;static&#x2F;proceedings&#x2F;2...</a>
评论 #17624000 未加载
abrax3141将近 7 年前
A month ago I built an entire working MVP for a cloud-based biomedical knowledge management, discussion, and decision-making system, entirely in CL (ccl), using raw HTML, down to the metal, in a week. And we went from MVP to mid-VP (near beta) in another three days, and were running live user experiments at the end of that week. ~2000 lines of CL. One.5 weeks&#x27; work. MVP NLP and ontology management, discussion management, role management.<p>Yes, I&#x27;m for hire! :-)<p>ps. That was a month ago. What I&#x27;ve done in the meantime, aside from wind surf, is build the AI underneath that -- another 2000 lines of working CL. Lisp Rules!
评论 #17635573 未加载
评论 #17628754 未加载
brunjact将近 7 年前
SISCOG [1] uses on all their products. Actually they use Allegro CL from Franz. [2]<p>The main reason (for still using it) being that it all started out as an end of college project, by the two CEOs, around Artificial Intelligence proof-of-concept-general-tools (so to say) until the big breakthrough for danish railway company, NS, which was impressed with their fleet scheduling project. This adventure began in the late 80&#x27;s and they were using Lisp Machines!<p>I suppose the reason for still using Lisp to be a mix of i. there is no technological necessity to change; ii. the codebase of existing products is too big to translate; iii. CTOs don&#x27;t have enough knowledge on other technologies to evaluate the feasibility of a change; iv. many of the developers actually love Lisp :-).<p>Most of the support technology is also done in-house and they don&#x27;t tend to use many external libraries.<p>1. <a href="http:&#x2F;&#x2F;siscog.eu&#x2F;" rel="nofollow">http:&#x2F;&#x2F;siscog.eu&#x2F;</a><p>2. <a href="https:&#x2F;&#x2F;franz.com&#x2F;products&#x2F;allegro-common-lisp&#x2F;" rel="nofollow">https:&#x2F;&#x2F;franz.com&#x2F;products&#x2F;allegro-common-lisp&#x2F;</a>
评论 #17627877 未加载
aidenn0将近 7 年前
I want to echo Grue3[1] that the tooling around common lisp is amazing; some tools I&#x27;ve used are better at one level of abstraction, but none are as good all up and down the levels of abstraction. Very few languages (smalltalk comes to mind) have the culture of caring about tools.<p>A lot of other features that are great about lisp have become mainstream in the 15 years since I learned lisp.<p>Or to put it another way, python feels like a slow lisp implementation with a friendlier syntax[2], a large standard library, and poor metaprogramming support[3].<p>1: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=17617889" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=17617889</a><p>2: Some lispers will be annoyed by me calling python&#x27;s syntax &quot;friendlier&quot; than lisps, but it seems to me to be true, inasmuch as this can be objective.<p>3: One major reason for lisp&#x27;s syntax has persisted is how easy it makes metaprogramming. Once you&#x27;ve learned the basics of lisp, I can explain to you how Common Lisp&#x27;s macro system works in under 5 minutes. The ratio of power&#x2F;simplicity of it is really astounding.
评论 #17628932 未加载
andyhd将近 7 年前
I&#x27;m planning to write a game for Ludum Dare 42 using SBCL and clopengl. I wrote a simple Asteroids game way back with SDL (<a href="https:&#x2F;&#x2F;github.com&#x2F;andyhd&#x2F;asteroids" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;andyhd&#x2F;asteroids</a>), but I haven&#x27;t had much opportunity to use CL since then. I find Lisp is the most enjoyable language to write in, because it has such minimal syntax, but is incredibly flexible.
Grue3将近 7 年前
I&#x27;m using Common Lisp for all my personal projects (<a href="https:&#x2F;&#x2F;ichi.moe" rel="nofollow">https:&#x2F;&#x2F;ichi.moe</a> is the biggest one). I find it the easiest language to develop in, because of the tooling (SLIME), language features (CLOS, macros), and it fits my mental model the best. Granted I&#x27;ve been using it for a very long time, so maybe I&#x27;m just more familiar with it.
评论 #17623053 未加载
评论 #17617982 未加载
aryamaan将近 7 年前
Slightly off the topic: if I have to start using Lisp now, how do I start? I tried curating things on my own but felt overwhelmed with the alternatives and resources.<p>Will appreciate your take on this.
评论 #17626277 未加载
评论 #17626822 未加载
评论 #17631037 未加载
评论 #17625627 未加载
评论 #17626897 未加载
spacemanmatt将近 7 年前
The venerable pgloader (<a href="https:&#x2F;&#x2F;pgloader.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;pgloader.io&#x2F;</a>) is written&#x2F;maintained in CL. It&#x27;s pretty cool.
kingherring将近 7 年前
I&#x27;m using Common Lisp for a program I wrote called simple-content-host. I&#x27;m connecting Common Lisp and C++17 to create a tiny CDN! Not only that, but I stream my programming live on Twitch and youtube, check it out: <a href="https:&#x2F;&#x2F;youtu.be&#x2F;hWmrSyWZS5A" rel="nofollow">https:&#x2F;&#x2F;youtu.be&#x2F;hWmrSyWZS5A</a> <a href="https:&#x2F;&#x2F;www.twitch.tv&#x2F;kingherring" rel="nofollow">https:&#x2F;&#x2F;www.twitch.tv&#x2F;kingherring</a><p>P.S. here&#x27;s the code <a href="https:&#x2F;&#x2F;github.com&#x2F;kennymalac&#x2F;simple-content-host&#x2F;tree&#x2F;master&#x2F;src&#x2F;program" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;kennymalac&#x2F;simple-content-host&#x2F;tree&#x2F;maste...</a> ;)
borodust将近 7 年前
A lot of us at #lispgames[1][2] community using it to make games and related tools. We have a bunch of awesome libraries and wrappers, few game engines&#x2F;frameworks (3D&#x2F;2D alike) in development, games too!<p>Reasons we all chose Common Lisp are often personal, but almost all agree it is the superior interactivity, high language and runtime customizability, performance.<p>[1]: <a href="https:&#x2F;&#x2F;github.com&#x2F;lispgames&#x2F;lispgames.github.io&#x2F;wiki" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;lispgames&#x2F;lispgames.github.io&#x2F;wiki</a> (lispgames.org)<p>[2]: #lispgames channel at freenode.net
pjmlp将近 7 年前
SISCOG, a Portuguese company, uses Common Lisp on their planning software.<p><a href="http:&#x2F;&#x2F;www.siscog.eu&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.siscog.eu&#x2F;</a><p><a href="http:&#x2F;&#x2F;www.siscog.eu&#x2F;upload&#x2F;GESTAO-DE-LISTAS&#x2F;News&#x2F;PDF&#x2F;eclm-2013-siscog-a-story-written-in-lisp-20130602.pdf" rel="nofollow">http:&#x2F;&#x2F;www.siscog.eu&#x2F;upload&#x2F;GESTAO-DE-LISTAS&#x2F;News&#x2F;PDF&#x2F;eclm-2...</a><p>If you feel like enjoying Lisbon or Porto&#x27;s weather, they are hiring.
Sodaware将近 7 年前
It&#x27;s nothing major, but I built a simple web scraper for collecting screenshots from various forums and then creating a static site from it.<p>I&#x27;ve also used it to build small tools like generating project documentation or collating data from online api&#x27;s.<p>Emacs was my gateway (via org mode) and I messed around with Emacs lisp for a while before learning Common Lisp. Developing in Emacs + SLIME is a lot of fun once I get in the rhythm.
wglb将近 7 年前
As part of a startup, I wrote an automated trading platform in SBCL Common Lisp. It is about 70,000 lines.<p>I use lisp these days when hacking some automation around common tasks like scraping web sites, extracting info from xlsx or rtf files, and producing LaTeX documentation.
dpezely将近 7 年前
FYI: there&#x27;s currently a DNS problem for &quot;sbcl.org&quot;, so instead, please use what it ordinarily points to:<p><a href="https:&#x2F;&#x2F;sbcl.sourceforge.net&#x2F;" rel="nofollow">https:&#x2F;&#x2F;sbcl.sourceforge.net&#x2F;</a>
limeblack将近 7 年前
I use clisp mainly with quicklisp. Lisp isn&#x27;t rather unique and simple so I have used it for an occasionally algorithm that is annoying any other way. Not for the entire system typically.
评论 #17625945 未加载
yellowapple将近 7 年前
Does using StumpWM count?
评论 #17626600 未加载
dpezely将近 7 年前
I&#x27;ve brought or used CL in a few companies.<p>2005: At a bank dealing with mortgage secondary markets, we snuck it into the Research group (where &quot;research&quot; isn&#x27;t R&amp;D but feeding information to the trading floor) for plowing through dirty data from multiple databases before our DBAs could make it available via Oracle. This hack helped keep the math &amp; stats PhDs’ pipelines full.<p>Rationale for using CL: because values have type rather than variables (but may be asserted with CHECK-TYPE; see Google CL style guide), this essentially gave us late-binding of schema.<p>2006: at Zillow, we were building autonomous server farm control at a time when AWS still emerging. Unfortunately, two things happened at the same time. 1) There was a re-org in Ops leading to discontinuing contractors, so both of us had a 2 weeks to finish it and finish early. 2) SBCL had just reached 1.0 after years in 0.x land. One modification in the run up to SBCL v1.0 that I overlooked in the changelog was how bindings for special vars were handled across threads. It required a trivial fix, but we didn&#x27;t track that down before time ran out-- oops!<p>Rationale for using CL: 2 guys still learning the language (one also working on Masters) got lots of traction quickly.<p>2007: at an education administration start-up, same colleague as from Zillow and I began working on a conceptual sibling to Amazon Dynamo, roughly when their original white paper came out. In 5 weeks, we had an MVP; Kevin wrote all the code, I helped with design and code reviews; it handled arbitrary data payloads and migration of data &quot;ownership&quot; by node. We were about to begin multi-node load &amp; capacity measurements when the business joined a Microsoft incubator and removed all Unix-only folks.<p>Rationale for using CL: 2 guys, lots of traction quickly... plus, late binding of schema via MOP tricks.<p>I would like to believe that parts of this continue as Kevin’s vivace-graph despite being a very different animal.<p>2008: at a Seattle-based ad network (I still bear the shame...), the geek-macho angle was that this is one of the few types of businesses likely to see billions of requests per day. In 4 months, we were deployed at RackSpace and completed baseline load &amp; capacity measurements.<p>There was an issue with garbage-collection after Hunchentoot would release a HTTP connection, because by the time FreeBSD would release the underlying TCP&#x2F;IP structs, several minutes would elapse before gc could reclaim everything. Not ideal, but it was manageable!<p>Rationale for using CL: 1 guy, lots of traction, successful hand-off to new hire (the guy who later brought Clojure to Amazon’s retail side of the house).<p>Bonus: local Angels and VC (Madrona) came to us but then came the economic crash of 2008...<p>2009: recruited into Memetrics, a former startup that had been acquired by big consulting firm, and the core software was already written in CL from nearly a decade earlier. I was only in the core group briefly, but subsequent work using CL was my default choice and already approved. (Then again, I didn’t ask permission or beg forgiveness.) There were more dirty data cleaning tools and a Recommender system from which China’s answer to Amazon became a client. Mind you, they didn’t use this code, as they had their own, but it demonstrated that our group understood the principles. I still count this as a win.<p>Rationale for selecting CL: was decided by folks in Sydney before I arrived. Their head-hunter found me after their acquisition.<p>2013: Splunk acquired BugSense. BugSense used &quot;Erlang, Lisp and C&quot; (Scheme R4) for handling billions of inbound requests per day non-stop from all time zones into our cluster. While not CL, having previously gone sufficiently deep into CL allowed me getting from zero to presenting at Erlang Factory conference in exactly one year while reaching more than 25x performance increase with the pure-Erlang rewrite.<p>Rationale for selecting Lisp by their founder: made for malleable query language.<p>2015: wife wanted to move back to Canada after several years in Silicon Valley. Resurrected a pet project circa 2007, snagz.net, and I attempted founding a company. Back-end is CL for Natural Language Processing work-flow. Core NLP things now use spaCy.io, because their NLP-fu is far better than my self-taught version. Some intermediate working data sets were pushed into a slightly modified Anarki fork of HN, partly to see what the Arc language was about, and partly because that tool fit the (internal) need.<p>Rationale for selecting CL: Lisp is a beautiful language within which to work.<p>Others in and around Vancouver using CL: Routific mentions Rust and Common Lisp in their job postings; D-Wave previously mentioned Lisp in job postings but unable to see it today; there was at least one other, but I can’t recall.<p>In my early experience with Common Lisp, I would have said MACROS were key.<p>Then, pre-populating memory followed by #’sb-ext:save-lisp-and-die was a handy trick for improving cold-start times. (Alternative to using POSIX mmap().)<p>Now, it’s simply the joy of writing code in the language.<p>First milestone: parens disappear, because using the right editor config means never typing a single paren, and editing involves manipulating whole expressions with fluid motion.<p>Second: thinking how a function <i>should</i> be or <i>might</i> be named, points to something either in the HyperSpec or be the name of a package, thus easy internet search. Today, there’s Quicklisp.org and Quickdocs.org, making this even easier.<p>That said, I’m currently learning Rust and React-Native for a tiny mobile app, as each language can teach you something new.<p>But something in the Lisp family will be with me for the rest of my days. I might go with Racket next just to expand my knowledge there.<p>So I recommend: use Common Lisp for a real project-- just because you can!
kazinator将近 7 年前
Tankan is a browser-based program for Windows for memorizing Japanese characters.<p><a href="http:&#x2F;&#x2F;www.kylheku.com&#x2F;tankan&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.kylheku.com&#x2F;tankan&#x2F;</a><p>It&#x27;s written in Common Lisp, except for the little tray icon control program that is in Visual C++.
jacobwilliamroy将近 7 年前
I don&#x27;t know what the relation is between common lisp and scheme but I use R5RS (the S is for &quot;scheme&quot;) mainly to program the GIMP to make it do batch image-processing. Gimp also has a Python api, but I just find scheme to be more accessible and user-friendly.