--NoDr - YGO--

9/17/2006

Dr Scheme

Classé dans: — @ 3:58 pm


Still coming-back to Lisp, I am now trying the PLT Scheme collections and here is my point of view.

My first impress is it is well finished and comes ready to run with full
battery included. This is important because too many times, for others
tools I have to struggle and spend a lot of time to get a complete
ready environment.

DrScheme

This is a very good IDE and not for tutorial only ;-).
One of the things that could be better would be the capacity to reload a
function without restarting the running soft while debugging. Something
like select a block of code and with right mouse button saying ‘RELOAD
this funtion in current running environment’.
I have also read some rumor on the Internet for an up coming macro
debugger :) hope it will be soon integrated to DrScheme.

MzScheme

I had a look at it few years ago finding it slow, but nowaday with it’s
new 3m GC and JIT it leave a very good feeling.
Even if not as fast as C or SBCL, MzScheme is now very close to Erlang
Hipe performances. Of course faster will be better ;-) permitting not to
use C code.
Fortunately, with the FFI integrate external C code seem now really easy to link with fast C lib. (don’t know about CALLBACK ?)

I really like most of the Erlang concept but find Erlang language a
little bit too restritive. In their want to restrict developpeur in
their mistakes, the Erlang compiler act as a real dictator not
permiting other mode of code than non-mutable funtional program.

I far prefer CommonLisp or Scheme leaving the developpeur doing what he
want to do even if it is dangerous. Everybody should have the choice
to do what he want to do (software only;-). Erlang is really great for
network back-office, safe, applications but not well suited for heavy
graphical or multimedia coding.

I am pretty sure that, with its green thread,network capacity
and really very great custodians, MzScheme is not so far to be able to
propose some Erlang like functions. May be, nowaday, the main lack is a
general serialisation system.

MrEd

Even if its look and feel seems a bit old, it is really a good library.
Based on wxWindows it offers all the things you may need to build a real
application including a real PRINTING multi platform. This may seem
stupid, but, to me, PRINTING is an important part for software building
that most modern GUI library should provide.

For the old look I am pretty sure that with a few trivial additions we can
get a not too bad GUI. Among lack:

  • change forecolor for all widgets
  • change background color (even better with predefine radial/linear gradian) for all widget
  • borderless ‘button’ with 2 state graphical images (normal and clicked)
  • Probably less trivial but very useful for WEB applications: streaming out for
    images

WEB

HTTP Server:
interesting but some lack like Virtual Aliases for virtual Server or
support for HTTPS

WEB with continuation is certainly interresting for reseach but
problematic for real word. They exclude all kind of LOAD BALANCER or
the ADD/REMOVE serveur on the fly without lost of session (except is
somebody invent a Distributed/Replicated continuation system ;-) ). However DrScheme add a very, very interesting SERVLET API.

XML

DrScheme should integrate the Lizorkin XML lib. in place of actual one wich is a little bit limitative.
(http://modis.ispras.ru/Lizorkin/index.html)

Database

Except StrPersist there is the lack for something as powerfull as CLSQL (http://clsql.b9.com/)

(I am investigating in SEDNA XML database (http://modis.ispras.ru/sedna/quickstart/QuickStart.html) witch provide
an API for PLT must I am net yet convinced

PlaneT

Very great tool and could be even better if it could provide, in near future, a
graphical front end to install/show planet available or already
installed software.

Cherry on cake

for Windows users:

  • MysterX and MzCOM for COM/DCOM/ActiveX interface>
  • SrPersist for ODBC

for all platform

  • openSSL
  • openGL
  • Slideshow
  • and a lot of other one …

To conclude, PLT Scheme collection is one of the best, complete , open source, ready to run and free development tool I have seen for a long time.

However I am not a layer and wonder if the LGPL really permit to use PLT soft in a pure non-open/commercial application. I also wonder if the LLGP shouldn’t be better there.

Réalisé avec WordPress  visitors