I am writing a PhD thesis comparing computer languages, and Python and Ruby is 
among the languages I am working with. I am using the Rasch Model to measure 
latent traits and  like productivity, expressivity, referential transparency 
and efficiency. If a member of this list wants to read a short tutorial about 
the Rasch Model, here is the address: 

http://strues.org/languages

To keep with my work, I need an Internet Data Base from where a person writing 
a program in Python could fetch libraries, applications, compilers, etc. One of 
the things I need to measure is how complete and easy to use is such a data 
base. I will give a concrete example.

Suppose that a person is writing programs in sbcl, an implementation of Common 
Lisp. That person needs a compiler for Python. All he needs to do is add the 
following line to the REPL (Read Eval Print Loop) line:

(ql:quickload :cl-python)

 In a few seconds, Lisp will access a Internet Data Base and will download and 
install a Python compiler written in Common Lisp. This Python compiler will be 
completely integrated with Common Lisp, in the sense that one can mix Python 
and Common Lisp programs.  The Common Lisp compiler will pass the Pystone, etc. 
Suppose now that this same Common Lisp programmer needs to add a few routines 
written in Fortran. He can fetch a Fortran compiler written in Common Lisp as 
easily as he did with CL-Python: (ql:quick load :f2cl) will do the magic. If he 
needs to generate beautiful pdf, he can download cl-pdf. If he needs an 
efficient Internet server, he can use Hunchentoot. Everything can be fetched by 
the ql:quickload command.

Of course Common Lisp is not the only language with this kind of facility. 
Racket has its own database: PLaneT. Again, one can get many applications and 
libraries from PLantet repository. I wonder if Python has a similar repository. 
Suppose I want a Fortran to Python converter; then I would type: > sys f2py  If 
I want an emacs like editor, I would type > sys pyemacs, and so on. By the way, 
although emacs itself is largely written in elisp, there are many emacs clones 
that one can find in Lisp repositories; for instance, hemlock is the most 
famous of these clones. Racket has its own environment, that is drracket, that 
accept even images mixed to the text.

I made a list of 9 things that I would like to see in such a repository.  By 
the way, I heard that Ruby has an Internet repository too. If people from this 
list know about the Ruby repository, I would appreciate information on how to 
use it. In any case, information about the Python repository will be very 
useful.

People who are funding my thesis would like to check for the following 
applications. I mean, I will check whether the repository offers the 
applications and libraries listed below.

1 - Internet servers. In Lisp, one has hunchentoot. In Racket, one has the 
Racket Web Framework. Bigloo has hiphop.

2 - Jit compiler for using from a web server. I mean, one has a web server 
running under Apache in a hosting service like Hostgator, Daddy Host or another 
inexpensive service. I decide to run a few applications in Racket, but the 
application  requires number crunching. I install the Jit Racket in the hosting 
service, and call it from my dynamic generated page. My programs will run 
almost at the speed of optimised C.

3 - Music generation. I would like generation of musical scores and midi files.

4 - Text editor that mimics emacs. In Common Lisp, one has hemlock. I would 
like something in the lines of hemlock.

5 - CAD and electronic CAD. Something in the lines of PTC.

6 - The repository service is the other thing that I want to check. I mean, I 
want the address of the Python equivalent of quicklisp and PLaneT.

7 - Image generation. pdf generation. Something in the lines of cl-pdf and 
cl-png, fl-vector, etc. Of course, I need programs written in Python itself, 
not call to C libraries.

8 - Usable compilers for other languages. For example, a JIT compiler for 
Python itself written in Python. Compilers for Fortran, compilers for Common 
Lisp, for Javascript, etc. BTW, the compiler generator of Common Lisp has the 
same name as the Python language. In other words, the language in which the 
Common Lisp compiler is written is called Python too. Therefore, when I ask for 
a compiler generator in Python, many people send me a link to this Common Lisp 
Python compiler generator. What I want is a compiler generator in Python, the 
scripting language.

9 - Computer algebra. Something in the lines of Maxima will do.

I don't hope to find all these nine things in a single repository. Even if you 
tell me that there is nothing in Python similar to Maxima or to the Common Lisp 
Python compiler generator or even to hemlock, your information will be very 
useful. The list is tough, so that no language is able to offer all items. 

-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to