HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

2018 LLVM Developers’ Meeting: C. Schafmeister “Lessons Learned Implementing Common Lisp with LLVM”

LLVM1 HN recommender · recommended in 1 month, 2018-2023
YouTube
61K views · 7 years ago · talk · dated

Christian Schafmeister presents lessons from six years of implementing Clasp, a Common Lisp compiler using LLVM as its backend that interoperates with C++. He explains handling a dynamic, memory-managed language on LLVM.

Mostly cited by the author himself as the introduction to Clasp and Cando, and recommended to those wanting Lisp with C++ library interop.

Compilers, interpreters & program analysisFunctional programming#clasp#commonlisp#llvm#compilers#cando

8 comments from Hacker News

@nomilk2023 · in “Why Lisp Syntax Works”

> then we'd both go back to whatever language we were actually using at the time. Which well known projects do use lisp? I think Google Flights uses lisp [1]; there must be more? [1] ▶ this video

CitesView on HN
@jakeogh2022 · in “Christian Schafmeister – Atomically Precise Catalysts”

More presentations! I think two are almost the same presentation: link (July 2010) 10S6P4 Christian Schafmeister 2010 UNTT 3rd Annual Conference Session 6 Presentation 4 link (July 2015) Clasp: Common Lisp using LLVM and C++ for Molecular Metaprogramming link (Aug 2015) Clasp: Common Lisp using LLVM and C++ for Designing Molecules link (Oct 2018) Modular Polymer Catalysts - Chris Schafmeister ▶ this video (Nov 2018) LLVM Developers Meeting: C. Schafmeister lessons Learned Implementing Common Lisp with LLVM

CitesView on HN
@jakeogh2021 · in “SICL: A New Common Lisp Implementation”

Ah, related to #clasp: link Clasp: Common Lisp using LLVM and C++ for Molecular Metaprogramming ▶ this video 2018 LLVM Developers Meeting: C. Schafmeister lessons Learned Implementing Common Lisp with LLVM link Clasp: Common Lisp using LLVM and C++ for Designing Molecules link Modular Polymer Catalysts - Chris Schafmeister link 10S6P4 Christian Schafmeister 2010 UNTT 3rd Annual Conference Session 6 Presentation 4

CitesView on HN
@drmeister2020 · in “Energy Efficiency across Programming Languages [pdf]”

I do have a couple of talks on YouTube and thank you (the most recent one: ▶ this video ). Yes - we are building molecules using our code. I have started a company and we are several months in to developing a new technology for warding off future pandemics (maybe even doing something about the current one). We literally started compiling the first molecules using an application I implemented in Cando (Clasp + computational chemistry) yesterday.

CitesView on HN
@0xcde4c3db2019 · in “Racket Is an Acceptable Python”

While it's nowhere near as mature as Racket, those interested in this use case might also be interested in Clasp, a Common Lisp implementation built on LLVM specifically to enable the combination of Lisp-style dynamic development approaches with C++ libraries. link ▶ this video

RecommendsView on HN
@drmeister2019 · in “LispOS: Specification of a Lisp operating system (2013) [pdf]”

A growing group of us are implementing Clasp ( link ) - a new Common Lisp that uses Robert Strandh's Cleavir compiler, interoperates with C++ and uses LLVM as the backend. Clasp is the foundation of Cando - a programming environment for the development of molecular devices ( ▶ this video ). Robert Strandh is an exceptionally clear thinker and a fantastic programmer. I can't count the times that Robert has implemented changes to the Cleavir compiler source code and without him being able to test it (long story) passed it to me and it ran flawlessly in Clasp. I implemented his fast generic function solution within Clasp based on another of his papers ( link ). Edit: Basically - if Robert writes it up in a paper - I want to have the implementation. Once we develop molecular robots - they are going to implement LispOS. :-)

CitesView on HN
@drmeister2018 · in “Creating a Non-Trivial Lisp Game in 2018”

My group is developing Clasp (github.com/clasp-developers/clasp.git). It's a Common Lisp implementation that interoperates with C++ and uses llvm as the backend. It's something you might want to look at because it could change your options in the following ways: (1) Clasp interoperates with C++ - C++ libraries like graphics and physics engines can be easily exposed within Clasp Common Lisp. (See link ) (2) Clasp uses llvm as the backend - it generates llvm-ir from Common Lisp code and uses link time optimization to link C++ and Common Lisp generated llvm-ir. (3) Clasp uses the Memory Pool System garbage collector, which can be configured to minimize GC pause times to a programmer-defined level. (4) Clasp generates debug info and can be profiled with standard tools like dtrace and C++ functions, Common Lisp functions and GC functions are all profiled against each other. I'm a professor of Chemistry at Temple University - I'm developing Clasp to design molecules and materials - but it could be applied to a lot of other problems. Caveat: Clasp is not yet as performant as Steel Bank Common Lisp, but it uses the open source and highly configurable Cleavir compiler developed by Robert Strandh and we have incorporated inlining and are currently incorporating type inference. If you want to see a little bit more - I have a 25 min talk up on youtube that I presented a couple of weeks ago at the 2018 llvm developers meeting ( ▶ this video )

CitesView on HN
@drmeister2018 · in “The LLVM Compiler Infrastructure”

Counterpoint - I implemented a Common Lisp compiler that uses llvm as the back end ( link ). I've kept up with the versions from 3.6 to 6.0 and I'm about to upgrade to 7.0. I'm not sure why other projects find this difficult but I have noticed that if I get too far behind it does get a bit more difficult. I exposed the C++ API to Common Lisp and write all of the compiler in Common Lisp. The Clang C++ compiler tells me what is broken when I upgrade to a new version of llvm and then I fix it. I talk about it here ▶ this video at about 13:30

CitesView on HN
Clasp: Common Lisp using LLVM and C++ for Molecular Metaprogramming57:38

Clasp: Common Lisp using LLVM and C++ for Molecular Metaprogramming

Google TechTalks
52K views • 11 years ago
Clasp: Common Lisp using LLVM and C++ for Designing Molecules1:00:16

Clasp: Common Lisp using LLVM and C++ for Designing Molecules

Google TechTalks
9K views • 11 years ago
CANDO: A Compiled Programming Language for Computer-Aided Nanomaterial Design and Optimization28:10

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

European Lisp Symposium
3K views • 10 years ago
Escape from the Heap: Low-Level Programming in Common Lisp56:49

Escape from the Heap: Low-Level Programming in Common Lisp

Arthur Gleckler
17K views • 10 years ago
2017 LLVM Developers’ Meeting: “Implementing Swift Generics ”44:38

2017 LLVM Developers’ Meeting: “Implementing Swift Generics ”

LLVM
21K views • 9 years ago
Web Development in Emacs, Common Lisp and Clojurescript - Emacs SG1:18:42

Web Development in Emacs, Common Lisp and Clojurescript - Emacs SG

Engineers.SG
14K views • 10 years ago
Practical Common Lisp1:12:10

Practical Common Lisp

Google TechTalks
98K views • 19 years ago
William Byrd on "The Most Beautiful Program Ever Written" [PWL NYC]1:31:06

William Byrd on "The Most Beautiful Program Ever Written" [PWL NYC]

PapersWeLove
367K views • 9 years ago
Debugging Lisp: fix and resume a program from any point in the stack - how Common Lisp stands out.4:46

Debugging Lisp: fix and resume a program from any point in the stack - how Common Lisp stands out.

vindarel
5K views • 3 years ago
Saša Jurić - Parsing from first principles - WebCamp Zagreb 20191:10:16

Saša Jurić - Parsing from first principles - WebCamp Zagreb 2019

WebCamp Zagreb
6K views • 6 years ago
Analyzing Programs with Z343:31

Analyzing Programs with Z3

Compose Conference
24K views • 10 years ago
CUFP 2011 Keynote: Pragmatic Haskell (Lennart Augustsson Standard Chartered Bank)1:07:28

CUFP 2011 Keynote: Pragmatic Haskell (Lennart Augustsson Standard Chartered Bank)

anilmvs
7K views • 14 years ago
Clojure for Lisp Programmers Part 1 - Rich Hickey1:28:59

Clojure for Lisp Programmers Part 1 - Rich Hickey

ClojureTV
25K views • 13 years ago
Parsing with Derivatives1:13:10

Parsing with Derivatives

Stanford
13K views • 15 years ago
"Shen: A Sufficiently Advanced Lisp" by Aditya Siram40:20

"Shen: A Sufficiently Advanced Lisp" by Aditya Siram

Strange Loop Conference
26K views • 12 years ago
2016 LLVM Developers’ Meeting: D. Dunbar “A New Architecture for Building Software”40:33

2016 LLVM Developers’ Meeting: D. Dunbar “A New Architecture for Building Software”

LLVM
7K views • 9 years ago
Lecture 1B | MIT 6.001 Structure and Interpretation, 198658:22

Lecture 1B | MIT 6.001 Structure and Interpretation, 1986

MIT OpenCourseWare
116K views • 17 years ago
Lecture 1A: Overview and Introduction to Lisp1:12:56

Lecture 1A: Overview and Introduction to Lisp

MIT OpenCourseWare
420K views • 7 years ago
ClojureScript for Skeptics - Derek Slager41:09

ClojureScript for Skeptics - Derek Slager

ClojureTV
72K views • 10 years ago
"Agility & Robustness: Clojure spec" by Stuart Halloway40:00

"Agility & Robustness: Clojure spec" by Stuart Halloway

Strange Loop Conference
25K views • 10 years ago