Lisp as procedural language

Started by Vladimir V. Zolotychover 24 years ago10 messages
#1Vladimir V. Zolotych
gsmith@eurocom.od.ua

Hello

I see the following

proba=> select * from pg_language;
lanname |lanispl|lanpltrusted|lanplcallfoid|lancompiler
--------+-------+------------+-------------+--------------
internal|f |f | 0|n/a
lisp |f |f | 0|/usr/ucb/liszt
C |f |f | 0|/bin/cc
sql |f |f | 0|postgres
plpgsql |t |t | 56702850|PL/pgSQL

Would you mind to tell me is it possible to use Lisp
as procedural language ? Which Lisp (e.g Emacs-list,
Common Lisp, etc.). If it is possible could you give
me hints how I can do that ?

I'm using PosgtreSQL 7.0, Slackware 7.0, also I have
Common Lisp (CMUCL 18c) installed.

--
Vladimir Zolotych gsmith@eurocom.od.ua

#2Marko Kreen
marko@l-t.ee
In reply to: Vladimir V. Zolotych (#1)
Re: Lisp as procedural language

On Sat, May 05, 2001 at 04:54:07PM +0300, Vladimir V. Zolotych wrote:

I see the following

proba=> select * from pg_language;

lisp |f |f | 0|/usr/ucb/liszt

Would you mind to tell me is it possible to use Lisp
as procedural language ? Which Lisp (e.g Emacs-list,
Common Lisp, etc.). If it is possible could you give
me hints how I can do that ?

Huh? Seems like you already have using lisp? Ask your
sysadmin where did he got it? And meybe you/he could
post it to PostgreSQL lists too?

Or did you simply inserted a new row into pg_language?
Well, that's not the way it works. There needs to be a glue
layer between PostgreSQL and a language. You should study
code in pgsql/src/pl/{plperl,tcl} for how it is
implementer for Perl and Tcl. There is also plpgsql which
is stand-alone module.

I'm using PosgtreSQL 7.0, Slackware 7.0, also I have
Common Lisp (CMUCL 18c) installed.

Ok, but you need a little bit more for that...

--
marko

#3Peter Eisentraut
peter_e@gmx.net
In reply to: Vladimir V. Zolotych (#1)
Re: Lisp as procedural language

Vladimir V. Zolotych writes:

I see the following

proba=> select * from pg_language;
lanname |lanispl|lanpltrusted|lanplcallfoid|lancompiler
--------+-------+------------+-------------+--------------
internal|f |f | 0|n/a
lisp |f |f | 0|/usr/ucb/liszt

[...]

This must have been an artifact from the time when part of the Postgres
system was written in Lisp. A Lisp procedural language never actually
existed in PostgreSQL.

--
Peter Eisentraut peter_e@gmx.net http://funkturm.homeip.net/~peter

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: Peter Eisentraut (#3)
Re: Lisp as procedural language

Peter Eisentraut <peter_e@gmx.net> writes:

This must have been an artifact from the time when part of the Postgres
system was written in Lisp. A Lisp procedural language never actually
existed in PostgreSQL.

[ Digs in archives... ] The pg_language entry that Vladimir refers to
was still present as late as Postgres 6.5 --- but I agree that it must
have been vestigial long before that. Certainly, at one time large
chunks of Postgres *were* written in Lisp, and I imagine that the
pg_language entry did something useful when that was true. But it was
dead code in Postgres 4.2 (1994), which is the oldest source I have;
there is no Lisp code remaining in 4.2.

It'd theoretically be possible to support Lisp in the same way as we
currently support Tcl, Perl, etc. The hard part is to find a suitable
interpreter that is designed to be dynamically linked into other
applications. Perl still hasn't got that quite right, and I imagine
it's an even more foreign idea for most Lisp systems...

regards, tom lane

#5Marko Kreen
marko@l-t.ee
In reply to: Tom Lane (#4)
Re: Lisp as procedural language

On Sun, May 06, 2001 at 01:12:45AM -0400, Tom Lane wrote:

It'd theoretically be possible to support Lisp in the same way as we
currently support Tcl, Perl, etc. The hard part is to find a suitable
interpreter that is designed to be dynamically linked into other
applications. Perl still hasn't got that quite right, and I imagine
it's an even more foreign idea for most Lisp systems...

librep for emacs-like-lisp and I remember seeing couple of
Scheme libs too (guile, cant remember more ATM) Not that I
have looked them closely.

--
marko

#6Bruce Momjian
pgman@candle.pha.pa.us
In reply to: Tom Lane (#4)
Re: Lisp as procedural language

Can someone explain why we have a lisp.sgml file in our docs? Seems it
descripes a 3rd party Emacs interface. I don't think we should start
distributing docs for software we don't distribute. Can I remove it?

Peter Eisentraut <peter_e@gmx.net> writes:

This must have been an artifact from the time when part of the Postgres
system was written in Lisp. A Lisp procedural language never actually
existed in PostgreSQL.

[ Digs in archives... ] The pg_language entry that Vladimir refers to
was still present as late as Postgres 6.5 --- but I agree that it must
have been vestigial long before that. Certainly, at one time large
chunks of Postgres *were* written in Lisp, and I imagine that the
pg_language entry did something useful when that was true. But it was
dead code in Postgres 4.2 (1994), which is the oldest source I have;
there is no Lisp code remaining in 4.2.

It'd theoretically be possible to support Lisp in the same way as we
currently support Tcl, Perl, etc. The hard part is to find a suitable
interpreter that is designed to be dynamically linked into other
applications. Perl still hasn't got that quite right, and I imagine
it's an even more foreign idea for most Lisp systems...

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
#7Tom Lane
tgl@sss.pgh.pa.us
In reply to: Bruce Momjian (#6)
Re: Lisp as procedural language

Bruce Momjian <pgman@candle.pha.pa.us> writes:

Can someone explain why we have a lisp.sgml file in our docs? Seems it
descripes a 3rd party Emacs interface. I don't think we should start
distributing docs for software we don't distribute. Can I remove it?

Only if you move the pointer to someplace more appropriate (don't we
have somewhere on the website with links to outside software?)

regards, tom lane

#8Bruce Momjian
pgman@candle.pha.pa.us
In reply to: Tom Lane (#7)
Re: Lisp as procedural language

Bruce Momjian <pgman@candle.pha.pa.us> writes:

Can someone explain why we have a lisp.sgml file in our docs? Seems it
descripes a 3rd party Emacs interface. I don't think we should start
distributing docs for software we don't distribute. Can I remove it?

Only if you move the pointer to someplace more appropriate (don't we
have somewhere on the website with links to outside software?)

We sure do:

http://postgresql.readysetnet.com/interfaces.html

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
#9Peter Eisentraut
peter_e@gmx.net
In reply to: Bruce Momjian (#8)
Re: Lisp as procedural language

Bruce Momjian writes:

Bruce Momjian <pgman@candle.pha.pa.us> writes:

Can someone explain why we have a lisp.sgml file in our docs? Seems it
descripes a 3rd party Emacs interface. I don't think we should start
distributing docs for software we don't distribute. Can I remove it?

Only if you move the pointer to someplace more appropriate (don't we
have somewhere on the website with links to outside software?)

We sure do:

http://postgresql.readysetnet.com/interfaces.html

Might as well move pgadmin.sgml there too.

--
Peter Eisentraut peter_e@gmx.net http://funkturm.homeip.net/~peter

#10Bruce Momjian
pgman@candle.pha.pa.us
In reply to: Peter Eisentraut (#9)
Re: Lisp as procedural language

Bruce Momjian writes:

Bruce Momjian <pgman@candle.pha.pa.us> writes:

Can someone explain why we have a lisp.sgml file in our docs? Seems it
descripes a 3rd party Emacs interface. I don't think we should start
distributing docs for software we don't distribute. Can I remove it?

Only if you move the pointer to someplace more appropriate (don't we
have somewhere on the website with links to outside software?)

We sure do:

http://postgresql.readysetnet.com/interfaces.html

Might as well move pgadmin.sgml there too.

Agreed. Removed.

However, I see no mention of pgadmin in our Interfaces or Enhancements
page. Do we want to add it? There is lots of stuff on greatbridge.org
now, (including my pgmonitor :-). Is there stuff on pgsql.com too? Not
sure how to get those listed.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026