LtU Forum

Recursive Algorithms that cannot be expresses with Tail-Recursion?

Are there 'useful' or 'interesting' recursive algorithms that cannot be expresses with Tail-Recursion, and do you know of any examples?

P.S. Feel free to define the words in quotes as you see fit. That's why they're in quotes.

Java the language vs. Java the ecosystem

I don't really like Java (probably even more so because it is my day job), but I can't deny that the tooling around it is pretty fascinating. Recently I've stumbled across some pretty exciting things with respect to concurrency bugs:

Stanford's Chord race condition static detector. (Which even uses Datalog.)

and

EPFL's deadlock avoider.

How much can a language's shortcomings be made up for with tooling?

MACLISP Manual Comes To The Web

Internet, December 16, 2007—The Revised Maclisp Manual, originally published in hardcopy at MIT in 1983 as the Saturday Evening Edition, is now available on the web as the Sunday Morning Edition.

Nicknamed The Pitmanual, The Revised Maclisp Manual describes the programming language MACLISP, which ran on the DEC PDP-10 and Honeywell 6180/6880. This newly-updated Sunday Morning Edition features many editorial corrections, an enhanced hypertext index, and a Common Lisp Conversion guide that offers advice on upgrading old MACLISP programs to run in Common Lisp.

By Kent Pitman, who also brought us the Common Lisp HyperSpec, the very definition of class.

Sake = Rake for Smalltalk

Have you ever used Smalltalk to implement DSLs? Do you have any pointers to articles on that?

See also this blog post for my own experience in designing a Smalltalk-based DSL.

Lisaac: The power of simplicity at work for operating systems

A new compiled, protoype-based programming language called Lisaac is making some small waves on reddit due to its strong showing on microbenchmarks. Lisaac is inspired by Self, Smalltalk, and Eiffel. Sample code does look a bit verbose. Here's the grammar. Stated goal of Lisaac is to build an operating system.

Qis of the Future

The functional language Qi has been discussed previously on LtU, and the new Qi II is apparently less code with more features (how often does that happen?). I am not affiliated and frankly haven't done more than noodle around with it for a handful of minutes, but I'm glad that such projects are alive and kicking; perhaps one of the benefits of an increasing reliance on computers is that there is more interest in programming languages?

10 Years of Purely Functional Data Structures

I'm usually a lurker here, but I thought LtU readers might be interested in a post on my blog, looking back on 10 years of my book Purely Functional Data Structures (published in 1998).

Lanugages with built-in rules/tests?

So if you can define type classes in Haskell, what if you could then attach requirements to them in the way of tests? You could then enforce whatever e.g. algebraic rules you want on equality or partial ordering. Have it really become part of the original type class definition, and somehow enforce that things pass that test before they can be marked as belonging to that class. A key think is to have it be part of the base language, not some optional addition. (Sure, there would be usability issues to iron out :-)

Leaning how to judge the right tool for the job?

I believe that there are times when OO fits just right and can even be somewhat transcendent (if done well) and other times when FP fits just right and can be really transcendent (if done well), etc. But I'm not well versed enough to claim to know the nuances. Are there recommended texts which do a good job of boiling down this kind of experience and wisdom? I did just get CTM and started in on it! Could it be done with something smaller than CTM? :-)

FringeDC informal meeting Saturday Feb 9th

FringeDC is a group for people interested in Lisp, Haskell, FP, and fringe languages in the DC area.
details:

www.lisperati.com/fringedc.html
www.lisperati.com/feb9th.html

Hope to meet you there!

-Conrad Barski

XML feed