Home

Previous 25

Jun. 16th, 2009

eyes black and white

Boston Lisp Meeting: Monday 2009-06-29 - Eli Barzilay

A Boston Lisp Meeting will take place on Monday, June 29th 2009 at 1800 at MIT 34-401B, where Eli Barzilay will speak about Implementing Domain Specific Languages with PLT Scheme.

Additionally, we are still accepting proposals for up to two volunteers to each give of a 5-minute Lightning Talk (followed by 2-minute Q&A).

Also, there will be a buffet offered by ITA Software. Registration is not necessary but appreciated. See details below.

More about Eli Barzilay and his talk... )

The Lisp Meeting will take place on Monday June 29th 2009 at 1800 (6pm) at MIT, Room 34-401B.

More about the meeting date and location... ) More about the Boston Lisp Meeting... )

May. 14th, 2009

eyes black and white

Boston Lisp Meeting: TUESDAY 2009-05-26 - Norman Ramsey

A Boston Lisp Meeting will take place on Tuesday, May 26th 2009 at 1800 at MIT 34-401B, where Norman Ramsey will speak about Using Higher-Order Functions and Continuation-Passing Style to Make Dataflow Optimization Simple.

Additionally, we are still accepting proposals for up to two volunteers to each give of a 5-minute Lightning Talk (followed by 2-minute Q&A).

Also, there will be a buffet offered by ITA Software. Registration is not necessary but appreciated. See details below.

More about Norman Ramsey and his talk... )

The Lisp Meeting will take place on Tuesday May 26th 2009 at 1800 (6pm) at MIT, Room 34-401B.

More about the meeting date and location... ) More about the Boston Lisp Meeting... )

May. 4th, 2009

eyes black and white

Lightning Talks

Lightning Talks are series of short strictly timed five minute talks each followed by two minutes for questions and answers during which the next speaker gets prepared (by e.g. disconnecting the previous speaker's laptop from the projector and connecting his own instead). The formula was used at ILC'2009 in sessions of 4 to 8 talks, and was a tremendous success.

Indeed you don't need to have that much to say to give a Lightning Talk, and so the formula lowers the barrier to entry and allows for a wider diversity of ideas to be presented at such events. At the same time, the strict constraint forces the speaker to be more concise, maybe even poetic, in conveying his ideas. Several participants remarked that since Lightning Talks were both so short and precisely timed, you could rehearse them many times before you gave them, making delivery more powerful. Additionally, some argued that the short duration limits the potential for either speaker humiliation or listener boredom, once again giving incentive for people to participate on both ends of the communication, promoting the exchange of ideas.

And so, I instituted such Lightning Talks at the Boston Lisp Meeting; so far, they have been well-received, and many people have subsequently volunteered to give one -- which makes me hopeful about their positive impact on the exchange of ideas within the community.

Apr. 27th, 2009

eyes black and white

Confusing constants and variables in Computer Programming

I am always amazed when people fail to distinguish between constants and variables. I am all the more amazed when the victims of such confusion are the otherwise brilliant implementers of programming languages. You'd think that if anyone knows the difference between a variable and a constant, it would be a programming language implementer.

Read more... )

Apr. 26th, 2009

eyes black and white

On a Proposed Scheme for a Programmers' Guild

Arguing that the current average experience and proficiency of programmers is pretty low, and that programming malpractice incurs huge costs including the risk of occasional death of end-users, MIT Professor and Scheme co-inventor Gerald J. Sussman has proposed at ILC'2009 and on several other occasions [Update: as a joke] that programmers should be certified before their are allowed to practice. I heartily agree, but for the small prevention that follows.

Read more... )

Apr. 23rd, 2009

eyes black and white

Boston Lisp Meeting: Monday 2009-04-27 - Noah Goodman on Lambda the Ultimate Gamble

A Boston Lisp Meeting will take place on Next Monday, April 27th 2009 at 1800 at MIT 34-401B, where Noah Goodman will speak about MIT-Church, a non-deterministic Scheme.

Additionally, we are still accepting proposals for up to two volunteers to each give of a 5-minute Lightning Talk (followed by 2-minute Q&A).

Also, there will be a buffet offered by ITA Software. Registration is not necessary but appreciated. See details below.

More about Noah Goodman and his talk... )

The Lisp Meeting will take place on Monday April 27th 2009 at 1800 (6pm) at MIT, Room 34-401B.

More about the meeting location... ) More about the Boston Lisp Meeting... )

Mar. 25th, 2009

eyes black and white

Boston Lisp Meeting 2009-03-30 update: Lightning talks, etc.

As previously announced, there will be a Boston Lisp Meeting taking place Next Monday, March 30th 2009 at 1800 at MIT 34-401B, where Carl Eastlund will speak about Modular ACL2. http://fare.livejournal.com/140695.html

Additionally, having observed the success of the formula at ILC'2009, I'm instituting Lightning Talks at the Boston Lisp Meeting. At every meeting, before the main talk, there will be two slots for strictly timed 5-minute talks followed by 2 minutes for questions.

Our first Lightning Talks will be given by Matt Knox and François-René Rideau. http://fare.livejournal.com/140960.html

Matt Knox has been hacking on Ruby and Scheme for the last 3-4 years. Looking at Rails, and how to fundamentally improve it, he came up with GoaloC (Generate on a Lot of Crack).

I, François-René Rideau, am a story-teller who dream of myself as a software author. I will address designers of computer languages and systems about Better Stories, Better Languages.

Dinner: ITA Software, is kindly purchasing a buffet to accompany our monthly Boston Lisp meeting. Anyone who attends is welcome to partake. However, we appreciate it if you let us know in advance you're coming, and what food taboos you have. Tell us by sending email to boston-lisp-meeting-register at common-lisp.net (you remain anonymous, no spam, no ack unless requested).

Finally, our next next meeting will happen on Monday 2009-04-27, and will feature Noah Goodman on MIT-Church, a non-deterministic Scheme. The previously announced speaker, Norman Ramsey, will hopefully be speaking in May, on purely functional dataflow optimization (in Haskell).

Mar. 4th, 2009

eyes black and white

Next Boston Lisp Meeting: 2009-03-30 1800 at MIT 34-401B - Carl Eastlund on Modular ACL2

Carl Eastlund will give a talk about Modular ACL2.

More about Carl Eastlund and his talk... )

The Lisp Meeting will take place on Monday March 30th 2009 at 1800 (6pm) at MIT, Room 34-401B.

More about the meeting location... ) More about the Boston Lisp Meeting... )

Feb. 19th, 2009

eyes black and white

Creationist programming vs Evolutionary programming - Epilogue

Read more... )

You can now find on my web site my essay From Creationism to Evolutionism in Computer Programming, subtitled The Programmer's Story: From Über-God to Underdog. As compared to the previous MSLUG conference (see slides), the essay contains a vastly expanded second part on the prospective future of the evolution of programming, and my vision for TUNES. Enjoy!

Abstract: Programming tools imply a story about who the programmer is; the stories we tell inspire a corresponding set of tools. Past progress can be told in terms of such stories; Future progress can be imagined likewise. Making the stories explicit is a great meta-tool... and it's fun!

Feb. 11th, 2009

eyes black and white

Next Boston Lisp Meeting: Monday February 23th 2009 at 1800 at MIT 34-401B

Dimitris Vyzovitis will give a talk about Programming gerbils: Distributed programming with PLT-Scheme.

More about Dimitris Vyzovitis his talk... )

The Lisp Meeting will take place on Monday February 23th 2009 at 1800 (6pm) at MIT, Room 34-401B.

More about the meeting location... ) More about the Boston Lisp Meeting... )

Feb. 10th, 2009

eyes black and white

Who's responsible for that moving part?

Common Lisp pathnames have long been a source of frustration for users and implementers alike. I'll argue that the deep reason for this frustration is that the Common Lisp standardization process resulted in declaring as fixed an interface to a moving functionality, preventing users' needs to be addressed with no one in charge of addressing the discrepancy.

Read an overlong rant on the pitfalls of programming language standardization... )

Once you understand programming language documents not as mere technical documents, but as social tools to coordinate people, you can critique them from a new perspective. Who promises to whom to take responsibility for what in exchange for what? What about the contract brings value to both parties, and what doesn't? These are questions you should be asking when working on programming language design. Contracts are useful when they promote an efficient division of labor, whereby the more competent in a specialized field easily take responsibility for work in said field at the benefit of others, at low cost. Contracts are harmful when they create unnecessary work, when they assign responsibilities to the wrong people, when they impede future improvement in division of labor. Design your contracts carefully; include what works, exclude what doesn't.

Jan. 28th, 2009

eyes black and white

Why Language Extensibility Matters

If you neglect some aspect of computation in designing your programming language, then the people who actually need that aspect will have to spend a lot of time dealing with it by themselves; and if you don't let them do it by extending your language, they'll have to do it with inarticulate barkings rather than civilized sentences.

Read more... )

Jan. 8th, 2009

eyes black and white

Next Boston Lisp Meeting: Monday January 26th 2009 at 1800 at MIT 34-401B

David O'Toole will give a talk about Common Lisp and Rogue-like Games.

More about David O'Toole and his talk... )

The Lisp Meeting will take place on Monday January 26th 2009 at 1800 (6pm) at MIT, Room 34-401B.

More about the meeting location... ) More about the Boston Lisp Meeting... )

Dec. 19th, 2008

eyes black and white

XCVB, growth hormone for Lisp?

I'm glad to announce the first public release of XCVB, the eXtensible Component Verifier and Builder for Common-Lisp, a shift from ASDF. While the software is still very primitive and under-documented, it comes with a simple example of how I automatically converted Exscribe to be compiled with it. XCVB currently depends on cl-launch and asdf-dependency-grovel.

The documentation I wrote already has everything there is to say about the little that XCVB is and what it isn't yet, so I won't repeat it here. Instead, I will discuss the deeper rationale for XCVB.

Read more... )

Nov. 18th, 2008

eyes black and white

Next Boston Lisp Meeting: Monday November 24th 2008 at 1800 at MIT 34-401B

Gregory Marton will give a talk about the meanings of English words as programs.

More about Gregory Marton and his talk... )

The Lisp Meeting will take place on Monday November 24th 2008 at 1800 (6pm) at MIT, Room 34-401B.

More about the meeting location... ) More about the Boston Lisp Meeting... )

Oct. 30th, 2008

eyes black and white

cl-launch, now with standalone executables

I am glad to announce version 2.09 of my old piece of semi-useful software, CL-Launch, an infrastructure to easily make your Common Lisp software launchable from a Unix command line.

Read more... )

Oct. 24th, 2008

eyes black and white

Next Boston Lisp Meeting: Monday October 27th 2008, 6pm at MIT 32-124

Buffet sponsored by ITA Software... )

Tim McNerney will give a talk about Verifying the Correctness of Compiler Transformations on Basic Blocks using Abstract Interpretation.

More about Tim McNerney and his talk... )

The Lisp Meeting will take place on Monday October 27th at MIT, Room 32-124.

More about the meeting location... ) More about the Boston Lisp Meeting... )

Sep. 15th, 2008

eyes black and white

Metaprogramming from the ground up: avoid C

Long ago, assembly languages were endowed with expressive macroprocessing facilities. But it still sucked to write in non-portable languages with incompatible proprietary such metalanguages. And thus, I wanted to metaprogram in something reasonably portable, which at the time pretty much meant C. The first obvious choice was to look at what the standard C pre-processor, CPP offered.

So as to prevent people from shooting themselves in the foot, the language designers made sure the macro expansion algorithm would terminate, by disabling recursion on already-expanded tokens in expressions where the token was already processed. Some people, notably hbaker, thought of using #include as a recursion mechanism. Unhappily, this isn't enough, because you cannot store infinite state in a CPP program: there is a finite number of variable-setting clauses in a program, each to a fixed variable known at compile-time, which leads to a finite number of variables usable in tests. There is a finite number number of test statements, each combining into a boolean a finite number of variables, in a computation restricted to operators of modular arithmetics; variables being expanded as lexical text can actually expand to something that has more combinations than a fixed-precision integer, but up to the reduction to some arithmetic operations, there is still but a finite number of observable grammatical states that a variable can take.

All in all, it is impossible to write a useful non-trivial metaprogram in CPP. But that doesn't mean it is impossible to write trivial harmful metaprograms in CPP, as is easily demonstrated in my counter-example die_die_stupid_c_compiler.c. So CPP is but one more example of a fascist bondage and discipline meta-language. At the same time, the C++ language was slowly extending itself with a meta-programming system, its template language, that soon enough became weakly "Turing equivalent", and allowed wizards to write metaprograms to do all kind of wonderful things. Except that this metalanguage was a pure functional language completely disconnected from C++ itself, extremely hard to debug -- you pretty much have re-develop all meta-level libraries from scratch in a completely new language to do non-trivial metaprograms, and cannot reuse libraries across language levels to bootstrap new functionality. Yet another misguided design.

The correct approach was OpenC++, that provides metaprogramming in the same recursively-bootstrappable meta-language as C++. But by the time you get there, you understand that C++ is not a language you want to use for metaprogramming anyway. Like Perl, C++ is a swiss army chainsaw of a programming language. Unlike Perl, it's got all the blades simultaneously and permanently cast in a fixed half-open position. Don't turn it on. If you want to metaprogram a language in itself, you'll do yourself a favor by instead choosing Lisp, OCaml, Oz, Haskell, Erlang, or any other HOT language.

As for C, it's rather bad as a portable assembly language, as it doesn't handle continuations, multiple-value returns, doesn't allow you precise access to the memory model and temporary variables as required for precise garbage collection, etc. I will spare you my pitiful attempts at metaprogramming it with m4 (don't try it -- m4 really sucks, being better than CPP is a very low bar; however you may look at ThisForth for a relative success at using it). Tom Lord did interesting things with the hard part of metaprogramming: not just generative but analytic, too. He achieved the automatic verification of some GC invariants in the C layer of his Scheme implementation -- and that convinced me that even when done the best possible way, metaprogramming C still sucks: the CPP layer makes it hard to reason about actual source, and the language has lots of arbitrary semantics that make it hard to reason about where side effects happen unless you have intimate knowledge of the compiler, but there is no way to access this knowledge unless you re-write your own compiler at which point, why choose C?

These days, LLVM seems to be the main thing as far as a portable low-level language target for metaprogramming goes (unless you join the dark side and drink the .NET kool-aid). And if you don't care as much for mainstream and portability, you could try to go the way of Factor or your own COLA and build a system from the ground up around sound metaprogramming principles.

Sep. 6th, 2008

eyes black and white

Next Boston Lisp Meeting: Monday September 29th 2008, 6pm at MIT 34-401B

Buffet sponsored by ITA Software... )

Rich Hickey will give a 90' talk about Clojure.

More about Rich Hickey and his talk... )

The Lisp Meeting will take place on Monday September 29th at MIT, Room 34-401B.

More about the meeting location... ) More about the Boston Lisp Meeting... )

Aug. 24th, 2008

eyes black and white

GHARF

As previously announced, I've started my own business. If you're looking for a software company that develops distributed reflective systems, look no further.

Our purpose will be to develop the ideas from the TUNES project, starting with the low-hanging fruits in the hope to fund our longer-term goals.

Our long-term goal is to use reflection (internalization of the knowledge and expertise of computing semantics) to improve semantics-based unification between programming languages, and otherwise push ever higher the level of abstraction at which programming may happen.

The low-hanging fruits, we think, still lie in better automation in the development and management of distributed computing systems, particularly so as regard the building of systems consistently manipulating large bodies of evolving persistent data.

We hope to build as our flagship product a database system that scales semi-automatically. Declarativeness, syntactic and semantic abstraction, will allow for faster development as well as easier management. Unlike existing "relational" or "object" databases, we will decouple the data model from the transaction model, allowing for enhanced robustness as well as unequalled flexibility in adapting the database to various application domains. Based on a relatively efficient dynamic higher-order typed language, and maintaining an explicit decoupling between monotonic (purely functional) and linear (stateful) fragments of our computational logic, we'll build a distributed system, a reliable multicast facility on top of which we can journal distributed transactions, that can be used to construct various queryable views of the data.

Our first version will probably extend and productize Erlang-in-Lisp, reuse Mnesia, and possibly combine these techniques with Elephant, BKNR or another such existing system to persist objects. Further versions may or may not be displace Common Lisp with Scheme, Factor, Javascript, or our own COLA, for total semantic control allowing for metaprograms that aid with code-data co-evolution.

All software will of course be Free Software, published under a dual license bugroff/MIT, and available on TUNES.org. You'll be welcome to use it, improve on it, and either give back to the community or stubbornly hoard your improvements. But if you need the world best specialists to tailor our software to your needs, build robust and usable applications, and provide exceptional service, then you know where to find us.

TUNES.org will continue to pursue its existence as an independent non-profit organization. Our company will be a separate for-profit entity that happens to contribute to the TUNES project. We are open to research and/or development contracts, with the understanding that our core software will be published as free software, although special-purpose customizations might remain an unpublished secret shared with our customers.

The current codename for our company is GHARF (rot13), though this name is neither marketable nor available in .COM. We have several ideas for an actual marketable name, but will refrain from announcing anything until we have secured the internet domain registration and setup an initial web site.

Aug. 12th, 2008

eyes black and white

No Boston Lisp Meeting for August - Next Meeting in September

Due to the organizer (me) doing too many other things this summer and lacking the foresight to delegate, no speaker was found for August. I don't feel like rushing things so late in the game, so unless a surprise speaker is found on short notice, there won't be a Boston Lisp Meeting this August.

But lo and behold, we have speakers for September and October. On Monday September 29th 2008, 1800, Rich Hickey will give a long talk on Clojure, his new Lisp dialect for the JVM, at the usual venue MIT 34-401B. Official announcement will follow later this month.

In October (Monday 27th?), Tim McNerney will hopefully talk about his past work on verification of correctness of a compiler transformation pass through abstract interpretation.

Jul. 13th, 2008

eyes black and white

Next Boston Lisp Meeting: Monday July 21st 2008, 6pm at MIT 34-401B

Buffet sponsored by ITA Software... )

Jay McCarthy will give a 25' talk about Cryptographic Protocol Explication and End-Point Projection.

More about Jay McCarthy and his talk... )

The Lisp Meeting will take place on Monday July 21st at MIT, Room 34-401B.

More about the meeting location... ) More about the Boston Lisp Meeting... )

Jun. 5th, 2008

eyes black and white

Next Boston Lisp Meeting: Wednesday June 25th 2008, 6pm at NEU Shillman Hall Room 135

Buffet sponsored by ITA Software... )

Danny Yoo will give a 25' talk about DivaScheme.

More about Danny Yoo and DivaScheme... )

Shriram Krishnamurthi will give a 50' talk about Relationally-Parametric Polymorphic Contracts

More about Shriram Krishnamurthi and Relationally-Parametric Polymorphic Contracts... )

The Lisp Meeting will take place on Wednesday June 25th at Northeastern University, Shillman Hall Room 135.

More about the meeting location... ) More about the Boston Lisp Meeting... )

Apr. 28th, 2008

eyes black and white

Next Boston Lisp Meeting: Tuesday May 27th 2008, 6pm at MIT 34-401B

ITA Software, a fine employer of Lisp hackers (full disclosure: I work there), has kindly offered to sponsor a dinner for our Monthly Boston Lisp Meeting. Please send mail to boston-lisp-meeting-register at common-lisp.net with a list of attendees so we may order the correct amount of food.

Ivan Krstić will give a 25' talk about Security and Programming Languages. Ivan Krstić http://radian.org/ is notably the prized author of Bitfrost, the security architecture for the OLPC XO laptop.

Greg Cooper will give a 50' talk about FrTime: A Dataflow Extension of DrScheme. Dataflow programming extends functional programming with time-varying values called signals. Signals provide a simple, declarative mechanism for expressing event-driven programs without callbacks or explicit side-effects. This talk will present FrTime, an extension of PLT Scheme with dataflow evaluation. The language's distinguishing features include an event-driven evaluation model, transparent reuse of Scheme code, support for reactive data structures, and integration with the DrScheme programming environment. The talk will include a demonstration of the language and programming environment, along with a discussion of the key design decisions and main ideas underlying the implementation strategy. Greg Cooper developed FrTime while he was a graduate student at Brown University, working with Shriram Krishnamurthi. He now works for ITA Software.

Please note that the meeting is taking place at an unusual date, to accommodate for the availability of our main speaker.

The Lisp Meeting with take place at MIT, room 34-401B. As the numbers indicate, this is in Building 34, on the 4th floor.

MIT map: http://whereis.mit.edu/bin/map?selection=34

Google map: http://maps.google.com/maps?q=50+Vassar+St,+Cambridge,+MA+02139,+USA

PS: The previous Boston Lisp Meeting on April 22nd was a success with 40 participants, despite a few organizational glitches for which I apologize. Thanks a lot to all those who came. I hope we'll meet again and have more of those interesting conversations.

PPS: We're still looking for speakers. We have a lot of potential speakers, but not enough confirmed speakers at scheduled dates. The call for speakers and all the other details are at http://fare.livejournal.com/120393.html

PPPS: Please forward this information to people who would be interested. Please accept my apologies for your receiving this message multiple times.

For more information, see our new web site boston-lisp.org. For posts related to the Boston Lisp meetings in general, follow this link: http://fare.livejournal.com/tag/boston-lisp-meeting or subscribe to our RSS feed: http://fare.livejournal.com/data/rss?tag=boston-lisp-meeting

Apr. 2nd, 2008

eyes black and white

Next Boston Lisp Meeting: Tuesday April 22nd 2008, 6pm at MIT 34-401B

ITA Software, a fine employer of Lisp hackers (full disclosure: I work there), has kindly offered to sponsor a dinner for our Monthly Boston Lisp Meeting. Please send mail to boston-lisp-meeting-register at common-lisp.net with a list of attendees so we may order the correct amount of food. No registration, no food.

Peter Dillinger will give a 25' talk about Theorem proving with ACL2s. ACL2, "A Computational Logic for Applicative Common Lisp", was recognized with the 2005 ACM Software System Award for its power and usefulness in verifying safety-critical applications. New users, however, found it difficult to use for a variety of reasons. ACL2s < http://acl2s.peterd.org/acl2s/ > is an Eclipse-based development environment we have made to make ACL2 easier to learn and use. Peter C. Dillinger is a Ph.D. Student at Northeastern University, Panagiotis Manolios, advisor.

Hans Hübner will give a 50' presentation of The BKNR Common Lisp web application development environment. BKNR < http://bknr.net/ > is a one-stop repository of open source Common Lisp modules used to develop and deploy web applications, featuring a pure Lisp transaction based persistence layer. Hans Hübner has been a hacker for over 20 years, and has discovered Common Lisp as his favourite programming language in 2001. He is a freelance consultant whose research interests include persistence systems and hardware to support dynamic programming.

Please note that the meeting is taking place at an unusual date, to accommodate for the availability of the main speaker, who is coming from Berlin (Germany) to talk to us.

The Lisp Meeting with take place at MIT, room 34-401B. As the numbers indicate, this is in Building 34, on the 4th floor.

MIT map: http://whereis.mit.edu/bin/map?selection=34

Google map: http://maps.google.com/maps?q=50+Vassar+St,+Cambridge,+MA+02139,+USA

PS: The previous Boston Lisp Meeting on March 31st was a big success, with about 70 participants. Thanks a lot to all those who came. I hope we'll meet again and have more of those interesting conversations.

PPS: We're still looking for speakers. We have a lot of potential speakers, but not enough confirmed speakers at scheduled dates. The call for speakers and all the other details are at < http://fare.livejournal.com/120393.html >.

PPPS: Please forward this information to people who would be interested. Please accept my apologies for your receiving this message multiple times.

For posts related to the Boston Lisp meetings in general, follow this link: http://fare.livejournal.com/tag/boston-lisp-meeting or check our RSS feed: http://fare.livejournal.com/data/rss?tag=boston-lisp-meeting

Previous 25

eyes black and white

June 2009

S M T W T F S
 123456
78910111213
14151617181920
21222324252627
282930    

Advertisement

Tags

Syndicate

RSS Atom
Powered by LiveJournal.com