Arc Forumnew | comments | leaders | submitlogin
picoLisp - arc before arc
12 points by kjk 6171 days ago | 9 comments
There is a little known small lisp language that has similar goals to arc (succinct code) that has been around for many years. See: http://www.software-lab.de/down.html, http://www.software-lab.de/succ.html, http://www.software-lab.de/

It's small, has built-in support for web programming, object-oriented database integrated into program (e.g. database is garbage collected) and it can be used today for writing real software.

Probably worth looking at for ideas.



3 points by cooldude127 6171 days ago | link

picolisp has some cool ideas, but the sole use of dynamic binding seems like something to worry about.

i haven't read much, but i'm still confused about how they manage to control the evaluation of arguments, which allows if to be a function.

-----

1 point by bayareaguy 6171 days ago | link

The database abstractions described on the "Pico Lisp Application Development" page

http://www.software-lab.de/ref.html#dbase

are interesting but seem to preclude the use of an alternate persistence layer (e.g. a sql dbms or some other scheme).

-----

2 points by kjk 6170 days ago | link

I don't see why. Using built-in database is optional. picoLisp can read/write files so there's nothing stopping you from serializing the structures to file (like Python's picle) or adding a module to query a database.

Although I think that for many cases where you would use serialization to a file or store small amounts of data in sqlite, using built-in object database integrated with the language would be a better solution.

-----

1 point by bayareaguy 6170 days ago | link

My point wasn't that picoLisp was in any way stopping you from using a separate database, it was that if you go the route of using the built-in abstractions listed on that page you won't find any out-of-the-box interoperability with any existing SQL database. You'll have to roll your own.

That's too bad because I think using the picoLisp database as a cache backed by a SQL database makes a lot of sense.

-----

2 points by rhd 6148 days ago | link

I've used this for some time now. It is real, the database is very fast. After programming Python for about 7 years, I find picolisp to be about 10 times faster than Python.

-----

4 points by hkBst 6170 days ago | link

Wasn't arc to have first-class macros too? Does it?

-----

2 points by yelarc 6171 days ago | link

A neat thing about picolisp is that its "macros" are first class objects: "defmacro" is spelt "quote"...

-----

2 points by viergroupie 6170 days ago | link

The price there is run-time macro expansion/evaluation. I would be more hesitant to redefine syntax if it came with a performance cost.

-----

1 point by ryantmulligan 6171 days ago | link

I don't get it..

-----