unofficial mirror of emacs-tangents@gnu.org
 help / color / mirror / Atom feed
* Re: guile-pg fatal error
       [not found] ` <873629rp97.fsf@gnuvola.org>
@ 2020-10-21  9:15   ` Jean Louis
  2020-10-21 20:51     ` Thien-Thi Nguyen
  0 siblings, 1 reply; 5+ messages in thread
From: Jean Louis @ 2020-10-21  9:15 UTC (permalink / raw)
  To: Thien-Thi Nguyen; +Cc: emacs-tangents

Hello Thien-Thi,

Nice to hear from you.

It is only 4 years, 7 months and 14 days since I contacted you last
time.

To calculate I use PostgreSQL and bash function:

function age () {
    NAME="$1";
    DATE="$2";
    if [[ $1 && $2 ]]; then
	AGE=$(psql -Stc "SELECT age(date('${DATE}'));");
	echo $NAME: $AGE, was born on $DATE | sed 's/ mon / month /' | sed 's/ mons \| mons,/ months /';
    else
	echo "No name or date supplied";
    fi
}

* Thien-Thi Nguyen <ttn AT gnuvola.org> [2020-10-20 16:41]:
> () support1 AT rcdrun.com
> () Sun, 6 Mar 2016 19:08:32 +0100
> 
>    Thank you for guile-pg. I am learning guile, and want to
>    convert existing website revision system and business
>    management to guile, as much as possible. I want to
>    contribute software for GNU.
> 
>    First thing is to use the PostgreSQL. 
> 
>    This worked:
> 
>    (define pg (pg-connectdb "dbname=admin user=admin password=admin host=localhost")
>    pg
>    $7 = #<PG-CONN:admin:localhost:5432:>
>    (pg-exec pg "SELECT * FROM data")
>    $8 = #<PG-RESULT:FATAL_ERROR>
> 
>    so I get FATAL_ERROR, and cannot move forward.
> 
>    While same thing in psql:
> 
>    select * from data;
> 
>     data_id |           data_date           
>     ---------+-------------------------------
>            1 | 2016-02-16 18:29:55.895082+00
>                    (1 row)
> 
>    Do you know what can it be possibly wrong, that I don't get
>    the output, but fatal error?
> 
> I think you need to include the trailing semicolon in all valid
> commands.  Note that you did include it w/ psql but did not
> include it w/ Guile-PG.
> 
> -- 
> Thien-Thi Nguyen -----------------------------------------------
>  (defun responsep (query)               ; (2020) Software Libero
>    (pcase (context query)               ;       = Dissenso Etico
>      (`(technical ,ml) (correctp ml))
>      ...))                              748E A0E8 1CB8 A748 9BFA
> --------------------------------------- 6CE4 6703 2224 4C80 7502


At that time I needed PostgreSQL in Guile, but I could not get it
working. Maybe that is why I have decided to look into Common Lisp
implementation CLISP as they had the built-in PostgreSQL module, it
worked well and still does.

There is however hell with Common Lisp modules, sometimes it works,
sometimes not, too many complexities.

Then some years later I have found that my database backed business
management could work well under GNU Emacs and written in Emacs
Lisp. I have used development version and basic PostgreSQL package
stopped working in Emacs, then I have included the emacs-libpq module
which is fast, and so I have got quite a good interface and now handle
all my database needs within Emacs.

Who know, if I would find out back in time in 2017 how to use it in
Guile, maybe all the programs would be made with Guile, now it is all
based on Emacs Lisp and I am still to re-write many from Common Lisp.

Jean

P.S. I find this funny, and will send copy to emacs-tangents@gnu.org
mailing list.



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: guile-pg fatal error
  2020-10-21  9:15   ` guile-pg fatal error Jean Louis
@ 2020-10-21 20:51     ` Thien-Thi Nguyen
  2020-10-21 21:52       ` Jean Louis
  0 siblings, 1 reply; 5+ messages in thread
From: Thien-Thi Nguyen @ 2020-10-21 20:51 UTC (permalink / raw)
  To: Jean Louis; +Cc: emacs-tangents

[-- Attachment #1: Type: text/plain, Size: 778 bytes --]

() Jean Louis <bugs@gnu.support>
() Wed, 21 Oct 2020 12:15:36 +0300

   [PostgreSQL: Guile -> Common Lisp -> Emacs Lisp]

Perhaps someday, Emacs will be rebased on Guile and all these
interfaces will merge, one can SELECT ('HOPE');, right?  :-D

   P.S. I find this funny, and will send copy to
   emacs-tangents@gnu.org mailing list.

Thanks for mentioning this, i had no idea it existed.

-- 
Thien-Thi Nguyen -----------------------------------------------
 (defun responsep (query)               ; (2020) Software Libero
   (pcase (context query)               ;       = Dissenso Etico
     (`(technical ,ml) (correctp ml))
     ...))                              748E A0E8 1CB8 A748 9BFA
--------------------------------------- 6CE4 6703 2224 4C80 7502

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 219 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: guile-pg fatal error
  2020-10-21 20:51     ` Thien-Thi Nguyen
@ 2020-10-21 21:52       ` Jean Louis
  2020-10-22  3:25         ` Pankaj Jangid
  0 siblings, 1 reply; 5+ messages in thread
From: Jean Louis @ 2020-10-21 21:52 UTC (permalink / raw)
  To: Thien-Thi Nguyen; +Cc: emacs-tangents

[-- Attachment #1: Type: text/plain, Size: 542 bytes --]

* Thien-Thi Nguyen <ttn@gnuvola.org> [2020-10-21 23:54]:
> () Jean Louis <bugs@gnu.support>
> () Wed, 21 Oct 2020 12:15:36 +0300
> 
>    [PostgreSQL: Guile -> Common Lisp -> Emacs Lisp]
> 
> Perhaps someday, Emacs will be rebased on Guile and all these
> interfaces will merge, one can SELECT ('HOPE');, right?  :-D
> 
>    P.S. I find this funny, and will send copy to
>    emacs-tangents@gnu.org mailing list.
> 
> Thanks for mentioning this, i had no idea it existed.

I have tried Emacs on Guile, it worked, but very slow.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: guile-pg fatal error
  2020-10-21 21:52       ` Jean Louis
@ 2020-10-22  3:25         ` Pankaj Jangid
  2020-10-22  8:47           ` Jean Louis
  0 siblings, 1 reply; 5+ messages in thread
From: Pankaj Jangid @ 2020-10-22  3:25 UTC (permalink / raw)
  To: Jean Louis; +Cc: emacs-tangents, Thien-Thi Nguyen

Jean Louis <bugs@gnu.support> writes:

> I have tried Emacs on Guile, it worked, but very slow.

So much effort has gone into emacs-lisp. Probably we should converge the
two languages and make elisp available code available to guile users. I
am not sure how feasible is this.





^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: guile-pg fatal error
  2020-10-22  3:25         ` Pankaj Jangid
@ 2020-10-22  8:47           ` Jean Louis
  0 siblings, 0 replies; 5+ messages in thread
From: Jean Louis @ 2020-10-22  8:47 UTC (permalink / raw)
  To: Thien-Thi Nguyen; +Cc: emacs-tangents

* Pankaj Jangid <pankaj@codeisgreat.org> [2020-10-22 06:25]:
> Jean Louis <bugs@gnu.support> writes:
> 
> > I have tried Emacs on Guile, it worked, but very slow.
> 
> So much effort has gone into emacs-lisp. Probably we should converge the
> two languages and make elisp available code available to guile users. I
> am not sure how feasible is this.

Guile already has Emacs Lisp built in, but it does not have interface
built in.

If you think for Emacs on Guile, I do not know internals, like I do
not know if Guile is providing Emacs Lisp on which Emacs Guile is
built or Emacs is built maybe on Guile Scheme. I did run that Emacs on
Guile, it worked and looked same as standard one, just very slow.

There are many Emacs modules, some could be usable in Guile, people
are free to modify it.

My personal software is for business. It is customer relationship
management, something like bbdb for Emacs, but way more complex as it
is database backed. It can mail emails, like mailing list to users,
make follow up emails, it subscribes or unsubscribes people from
mailing lists in safe manner without having any online continuous
running database, only Lisp data structure in encrypted PGP files. It
can create invoices, make notes about users and similar.

First I used web or HTML interface, PostgreSQL backed, then later I
have switched many functionalities to terminal based or console based
specific scripts, with readline completion or simple menus, that
appeared so much more usable then web interface.

Later I have discovered that Emacs has many good completion networks,
so now I am using helm extensively for database management. Such
program cannot be converted to Guile, as how would then Helm be used?
There is no interface ready.

It also does not make sense to use it outside of the editing and
communication space (Emacs), as almost all database management is
related to emails, to SMS, communication, calls, letters, to handling
of tasks and transactions.

Within Emacs as interface, both graphical and console based interface,
many problems are solved for such application. With Guile I do not
know how I would be solving those problems of interface.

And I find that Emacs is quite capable of providing applications to
users, for example it can provide full accounting system that is fast,
efficient, friendly and database backed.

It could provide supermarket sales management software, it is very
easy to write that with some completion interfaces, few tables for
articles, pricing, stock and Emacs can already choose items for the
invoice, total amount is there, it could be printed on a small
printer and provide a receipt all blazing fast, if necessary it could
be showing pictures of specific articles for cashier to recognize
it. Interface is already there, it just needs work of integration.

It could as well provide hospital management system similar to GNU
Health, and it could use the same database together with GNU Health.




^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-10-22  8:47 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20160306180832.GA17572@protected.rcdrun.com>
     [not found] ` <873629rp97.fsf@gnuvola.org>
2020-10-21  9:15   ` guile-pg fatal error Jean Louis
2020-10-21 20:51     ` Thien-Thi Nguyen
2020-10-21 21:52       ` Jean Louis
2020-10-22  3:25         ` Pankaj Jangid
2020-10-22  8:47           ` Jean Louis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).