User loginNavigation |
Lisp-Stat does not seem to be in good health lately.The Journal of Statistical Software http://www.jstatsoft.org/ has a Special Volume devoted to the topic: "Lisp-Stat, Past, Present and Future". In the world of statistics, it appears that XLISP-STAT http://www.stat.uiowa.edu/~luke/xls/xlsinfo/xlsinfo.html has lost out to the S family of languages: S / R / S-plus:
In fact, the S languages are not statistical per se; instead they provide an environment within which many classical and modern statistical techniques have been implemented. An article giving an excellent overview of the special volume is: "The Health of Lisp-Stat" http://www.jstatsoft.org/v13/i10/v13i10.pdf Some of the articles describe the declining user base of the language due to defections:
whilst other articles describe active projects using XLisp-Stat, often leveraging the power of the language, in particular for producing dynamic graphics. The S family of languages, originally developed at Bell Labs, has much to recommend it. S is an expression language with functional and class features. However, as the original creator and main developer of XLisp-Stat, (and now R developer) Luke Tierney explains in "Some Notes on the Past and Future of Lisp-Stat" http://www.jstatsoft.org/v13/i09/v13i09.pdf ,
Recovering resources in the pi-calculusRecovering resources in the pi-calculus
By Andris Birkmanis at 2005-04-03 07:48 | Parallel/Distributed | Theory | 6 comments | other blogs | 10394 reads
Games for Logic and Programming Languages: Etaps'05
In case you are in Edinburgh on April 2-3, here is the workshop program. Fold Must Fold!
This from the PLT Scheme mailing list. Clearly Guido's visionary thinking is having repercussions outside the world of Python. I, for one, welcome this change that can only benefit the Scheme language. StarlogStarlog is a pure-logic programming language designed to overcome some of the problems inherient in traditional approaches to logic programming. Starlog was designed as an alternative approach to programming in pure logic. Many of the failings of other logic programming languages can be overcome using the bottom-up evaluation technique. Bottom-up evaluation avoids problems associated with cyclic relations, and allows side-effects to be performed without compromising the declarative semantics of a program. Using Starlog we advocate a data structure free programming style. That is, predicates in Starlog programs do not contain compound terms for their arguments. This greatly simplifies logic programs and their implementations, lowers the learning curve for new programmers, and forces the programmer to think of all program constructs as relations. Python metaprogramming with decoratorsThis recipe for using decorators to load data structures caught my eye (thanks to the Daily Python URL) as an interesting metaprogramming technique. Decorators are function transformers that can be applied declaratively to normal Python methods and functions using the much-disputed decorator syntax (see this previous LtU thread). This recipe uses decorators that return the supplied function unmodified, but as a side-effect register it in a dictionary of handlers for various value conversion operations. The decorator code itself is called when the module is loaded, so the dictionary is populated "on demand" at run-time. This makes an interesting contrast with compile-time metaprogramming techniques such as C++ template metaprogramming and the use of code generators and preprocessors. I do not believe that C# attributes could easily be used in a similar way, as unlike Python decorators these receive no information about the entities they are attached to when they are instantiated. How to remove a dynamic prompt: static and dynamic delimited continuation operators are equally expressible
The report (by Oleg Kiselyov) shows that shift, control, shift0, etc. delimited
continuation operators are macro-expressible in terms of each
other. The report thus confirms the result first established by
Chung-chieh Shan in Shift to Control. The operators shift, control, control0, shift0 are the members of a single parameterized family, and the standard CPS is sufficient to express their denotational semantics.
The report uses a more uniform method and it formally proves that 'control' implemented via 'shift' indeed has its standard reduction semantics. It is common knowledge that first-class continuations are quite tricky -- and delimited continuations are trickier still. Therefore, a formal proof is a necessity. On the practical side, the report shows the simplest known Scheme implementations of control, shift0 and control0 (similar to `cupto'). The method in the report lets us design 700 more delimited control operators, which compose stack fragments in arbitrary ways. I love this sort of thing, and since section 4 includes Scheme code, you can try to skip the theory if you find it intimidating. I know this stuff can look a bit hairy. If there's interest, I hope Oleg would agree to help people new to this sort of material in understanding sections 2 and 3. But you have to ask nicely... Book: The Standard ML Basis LibrarySML is conservative by nature, erring on the side of rigor. The Basis Library has been a long time in the making, so I guess it's not surprising that it didn't raise much fanfare with the publication of The Standard ML Basis Library by Gansner & Reppy last year. In slowly plodding my way thru CTM in Alice-ML, figured it couldn't hurt to acquire the book. Other than about 100 pages, the book is a hard copy of the manual pages which are available online. (To put a positive spin on the matter, we should probably be happy that their arduous work is freely available). I do prefer a hard copy reference, especially for a subject that is not likely to be outdated anytime soon. The book provides some additional background info and example usage here and there, but it doesn't have a strong narrative - meandering thru what was probably a number of decision points along the way. Been helpful in spots - but then I'm still trying to grok the language as a whole. Python: Generator methodsThis recipe enables the use of the yield statement within a method by decorating that method with a wrapper for a generator object. Say what you will about Python, it does provide us with clever tricks such as this one. UCPy: Reverse Engineering PythonInteresting paper from PyCon 2003 (so yes, it's old news - but new on Lambda, as far as I can see): UCPy: Reverse-Engineering Python. The project partly entails replacing the "CISC-style" Python VM with a much smaller "RISC-style" VM. The authors' comments on this decision are worth considering in the light of recent discussions about the design of the Parrot VM. By Dominic Fox at 2005-03-22 16:23 | Implementation | Python | 23 comments | other blogs | 10763 reads
|
Browse archives
Active forum topics |
Recent comments
22 weeks 3 days ago
22 weeks 3 days ago
22 weeks 3 days ago
44 weeks 4 days ago
48 weeks 6 days ago
50 weeks 3 days ago
50 weeks 3 days ago
1 year 1 week ago
1 year 5 weeks ago
1 year 5 weeks ago