Posts tagged lisp

Beautiful Racket

programming, language-design, racket, lisp, scheme, DSL, book, textbook

The idea of a pro­gram­ming lan­guage that can be molded by its users—I like the phrase lan­guage exten­si­bil­ity—is almost as old as our old­est pro­gram­ming lan­guages, given the his­tory of macros in Lisp. So why isn’t every­one already using macros to extend lan­guages? Like garbage col­lec­tion, macros may seem like a cool idea in prin­ci­ple, but with too much over­head to be prac­ti­cal (but with the over­head in pro­gram under­stand­ing, instead of pro­gram exe­cu­tion). Like first-class func­tions, macros add an extra dimen­sion to code that may seem too mind-twist­ing for an aver­age pro­gram­mer. And like a type sys­tem, the the­ory behind hygienic macros may seem too daunt­ing to be worth the extra guar­an­tees that hygiene pro­vides. Maybe so. But Beau­ti­ful Racket makes the case that the time for lan­guage exten­si­bil­ity has come. That’s why this book is impor­tant. It’s not an abstract argu­ment about the ben­e­fits of macros or a par­tic­u­lar style of macros. Instead, this book shows you, step by step, how to use Racket’s macro sys­tem on real prob­lems and, as a result, get a feel for its ben­e­fits.

via http://beautifulracket.com/foreword.html

The Extempore philosophy

programming, live coding, REPL, dynamic flexibility, lisp, scheme, xtlang

Extempore is a programming language and runtime environment designed with live programming in mind. It supports interactive programming in a REPL style, compiling and binding code just-in-time. Although Extempore has its roots in ‘live coding’ of audiovisual media art1, it is suitable for any task domain where dynamic run-time modifiability and good numerical performance are required. Extempore also has strong timing and concurrency semantics, which are helpful when working in problem spaces where timing is important (such as audio and video).

http://benswift.me/2012–08–07-extempore-philosophy.html

Edit Scheme on your iPad via the Parse Tree

touchscreen coding, programming, metaphor, scheme, app, lisp, ipad

Anyone who has tried to edit code on the iPad through a traditional textview knows that it doesn’t work well. Editing source code character by character is a concept wedded to the keyboard and it is inappropriate for the iPad, a device with no keyboard. Lisping abandons this model and allows you to edit your code via the parse tree. Rather than manipulating ranges of characters Lisping focusses on selecting, creating and moving syntax elements, a task ideally suited to the iPad’s touchscreen interface, and also - more than a little bit fun.

http://slidetocode.com/2012/04/05/lisping-released/