You are not logged in.

#26 2009-05-08 08:13:39

TPJ
Member
From: Gliwice, Poland
Registered: 2005-12-21
Posts: 33

Re: OCaml and Lisp hackers come hither [SOLVED]

pauldonnelly wrote:
TPJ wrote:

So, if anyone is considering using Lisp (not: Common Lisp, which is a different case), I recommend to take a look at Scheme.

Won't that make portability problems even worse?

Worse? Why on Earth using Scheme instead of CL could make portability problems worse?

I have to use Windows a lot (about 6 hours a day), and I have no problems with PLT Scheme (the famous DrScheme). The software I'm working on works the same on both Windows and Linux.

But perhaps I should make my opinion clearer. (Yesterday I had just a little time to write a post.)

For some time I was looking for a Common Lisp distribution (a compiler, or an interpreter, probably with some libraries) that would fit my needs:
* freely available on both Linux and Windows
* can be used to write closed-source, proprietary software
* possibly can be used to make native executables for Windows
* with easily installable additional libraries

I have found only three options:
a) CLISP, but due to licensing reasons (GPL) I'm not sure if it can be used to produce non-GPL software.
b) SBCL, but the Windows port is not official, and I wasn't able to install any library on Windows.
c) ECL, that translates CL to C. Perhaps it would be the best choice (I don't know, because I haven't tried it).

When I discovered ECL, I was to much into Scheme to switch back to CL. And what have I found in the Scheme world?

* Many freely available distributions, working on both Windows and Linux.
* Those distros can be used to make closed-source, proprietary software.
* Many of them are able to produce C sources, that can be later used to make native executables.
* Also many of them have some (quite simple to use) way to install external libraries. (In the case of PLT Scheme it works on both Windows and Linux. I think that in other Schemes the situation is similar.)

So, I decided to use PLT Scheme for my web apps, and R6RS for all the rest. In my opinion, R6RS (the latest Scheme standard) is as portable as Python or Java.

Offline

#27 2009-05-08 22:28:12

pauldonnelly
Member
Registered: 2006-06-19
Posts: 776

Re: OCaml and Lisp hackers come hither [SOLVED]

TPJ wrote:
pauldonnelly wrote:
TPJ wrote:

So, if anyone is considering using Lisp (not: Common Lisp, which is a different case), I recommend to take a look at Scheme.

Won't that make portability problems even worse?

Worse? Why on Earth using Scheme instead of CL could make portability problems worse?

Portability between implementations, I mean.

I have to use Windows a lot (about 6 hours a day), and I have no problems with PLT Scheme (the famous DrScheme). The software I'm working on works the same on both Windows and Linux.

But perhaps I should make my opinion clearer. (Yesterday I had just a little time to write a post.)

For some time I was looking for a Common Lisp distribution (a compiler, or an interpreter, probably with some libraries) that would fit my needs:
* freely available on both Linux and Windows
* can be used to write closed-source, proprietary software
* possibly can be used to make native executables for Windows
* with easily installable additional libraries

I have found only three options:
a) CLISP, but due to licensing reasons (GPL) I'm not sure if it can be used to produce non-GPL software.
b) SBCL, but the Windows port is not official, and I wasn't able to install any library on Windows.
c) ECL, that translates CL to C. Perhaps it would be the best choice (I don't know, because I haven't tried it).

I believe Clozure works on Windows as well.

Offline

#28 2009-05-09 17:37:20

skottish
Forum Fellow
From: Here
Registered: 2006-06-16
Posts: 7,942

Re: OCaml and Lisp hackers come hither [SOLVED]

Scheme was an interesting option too. I read a number of places that Bigloo converts to C code so it produces seemingly small binaries. Of course the initial small binary size is an illusion, but since every Linux user has C runtime libraries already installed, things seem lightweight.

I haven't actually started anything, so I'm still following this thread. Part of my decision making process was awash in supreme noobness: There's only one OCaml. It makes it very easy to choose which one to use.

Offline

#29 2009-05-11 09:36:26

TPJ
Member
From: Gliwice, Poland
Registered: 2005-12-21
Posts: 33

Re: OCaml and Lisp hackers come hither [SOLVED]

pauldonnelly wrote:

Portability between implementations, I mean.

Oh, now I get it!

Well, with my approach to Scheme this problem is not an issue. I decided to choose one (up to three) implementations and use standard solutions (like R6RS) in order to avoid portability problems. So far I'm happy with PLT, but I think I'll eventually try also Larceny.

Using standard solutions (like R6RS) and some C libraries (through FFI) shouldn't cause any portablility problems.

pauldonnelly wrote:

I believe Clozure works on Windows as well.

A point for Common Lisp (and for you!). I didn't know about it.

Right now I'm too much into Scheme to switch, but Clozure definitelly looks to be worth of giving it a try.


skottish wrote:

I read a number of places that Bigloo converts to C code so it produces seemingly small binaries. Of course the initial small binary size is an illusion, but since every Linux user has C runtime libraries already installed, things seem lightweight.

Well, I don't know, what your needs are... I was looking for tools (languages + compilers / interpretators / VMs, etc.) that I could use to write portable (between operating systems) software with. Scheme is an interesting language. It has a lot of implementations, which rises the problem pointed out by pauldonnelly: it's possible to write code that isn't portable between different Scheme implementations. Therefore I chose the Scheme implementation(s) to use very carefully. I decided to use Scheme *and R6RS*, because I wanted to avoid portability problems as much as I could.

Of course, I found out Bigloo. I even made an updated package (because the one in the Arch repository was outdated). Bigloo has an opinion of being very fast and integrate with C code very well. I haven't used it much, so I can't tell whether it's true or not. It's possible, since AFAIK it's being done by (more or less) the same group as OCaml (which is known to produce very fast code).

Unfortunatelly, there were two reasons why I finally gave up on Bigloo. One of them was support for R6RS. Such a support is not among the Bigloo targets. Well, it's possible that new features introduced into Bigloo will make it more R6RS compliant, but it's also possible, that it just won't happen. Bigloo seems to go its own way. I think it's easy to write code that will be compiled only by Bigloo... And this is not what I want.

But if you don't care about portability between different Scheme implementations (so much as I am), I think that Bigloo could be a good choice for you.

Oh, one more thing. I think that Bigloo has much, much smaller community than OCaml.

Offline

Board footer

Powered by FluxBB