Skip to content
0:00 / 0:00

#clasp#commonlisp#cando

CANDO: A Compiled Programming Language for Computer-Aided Nanomaterial Design and Optimization

European Lisp Symposium

1.8K subscribers • 4 videos on Hallway

YouTube
  • Recommended by 2 people: 2 on Hacker News.
  • Presented by Christian E. Schafmeister, Chemistry Department, Temple University

Advanced. Deep dive for people who know the field.

3K views10 years ago2 recommendations

Programming languagesSystems programmingLanguage design and type systemsCompilers and interpretersFunctional programming

Christian Schafmeister presents CANDO, a compiled programming language built on Common Lisp designed for molecular and nanomaterial design.

ELS 2016, 9th European Lisp Symposium, 9-10 May 2016, Department of Computer Science, AGH University of Science and Technology, Kraków, Poland. Christian E. Schafmeister, Chemistry Department, Temple University, 1901 N. 13th Street Philadelphia, PA. CANDO is a compiled programming language designed for rapid prototyping and design of macromolecules and nano- meter-scale materials. CANDO provides functionality to write programs that assemble atoms and residues into new molecules and construct three-dimensional coordinates for them. CANDO also provides functionality for searching molecules for substructures, automatically assigning atom types, identifying rings, carrying out conformational search- ing, and automatically determining stereochemistry, among other things. CANDO extends the Clasp implementation of the dynamic language Common Lisp. CANDO provides classes for representing atoms, residues, molecules and ag- gregates (collections of molecules) as primitive objects that are implemented in C++ and subject to automatic memory management, like every other object within the language. CANDO inherits all of the capabilities of Clasp, including the easy incorporation of C++ libraries using a C++ tem- plate programming library. This automatically builds wrap- per code to expose the C++ functionality to the CANDO Common Lisp environment and the use of the LLVM li- brary[1] to generate fast native code. A version of CANDO can be built that incorporates the Open Message Passing Interface C++ library[2], which allows CANDO to be run on supercomputers, in order to automatically setup, start, and analyze molecular mechanics simulations on large par- allel computers. CANDO is currently available under the LGPL 2.0 license.

Why it's here

2 people recommend this

What people say. Recommended as an impressive demonstration of using Common Lisp and Clasp for complex scientific computing and molecular design.

krzychukulaon Hacker News • Recommends

On “European Lisp Symposium 2016”

Best talks in my opinion: * link to this video * link Notable mentions: * link * link * link I liked OpenGL lightning talk as well: * link

agumonkeyon Hacker News • Recommends

On “European Lisp Symposium 2016”

> link to this video no wonder CANDO is impressive, the scope and fields involved are pretty rare... I'm very eager to learn if C. Schafmeister work will bear 'disruptive fruits'. ps: a talk about clasp link

TeMPOraLon Hacker News • Mentions

On “AI and Robotics in Agriculture in Japan [video]”

link to this video Here's the video from last year's ELS. At the beginning of it he actually explains some of the reasoning - i.e. proteins are cool and powerful, but a) too hard to design, and b) too fragile.

e12eon Hacker News • Mentions

On “Back to the Future: Lisp as a Base for a Statistical Computing System [pdf]”

My initial thought was that this was about a project building atop of clasp, like CANDO: link to this video link link But this does seem a bit more like Julia? "Julia: to Lisp or not to Lisp?" link Then there's also the Axiom system, which I guess is primarily for symbolic computation, but I don't know if it might make sense to use it as a building block for statistical software? link

StreamBrighton Hacker News • Mentions

On “My Husband Became a Poster Child of the Post-Antibiotic Era”

I wish there were a nanotechnology startup that would address MRSA. In theory, you can develop nanobots that attack specific types of bacteria. Not sure if this would work: link to this video