unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
* [announce] GEE/Email version 0.4b0
@ 2007-12-08 17:08 Marco Maggi
  2007-12-09 17:19 ` Ludovic Courtès
  0 siblings, 1 reply; 2+ messages in thread
From: Marco Maggi @ 2007-12-08 17:08 UTC (permalink / raw)
  To: guile-user

GEE/Email version 0.4b0 is available.

<http://gna.org/projects/gee>
<http://marcomaggi.jottit.com/gee-email/gee-email.html>

This version is tested with Guile 1.8.3.

GEE/Email is  a C language library extension  for Guile, the
GNU's  Ubiquitous Intelligent  Language for  Extensions.  It
implements functions for email processing

The  lexer and  parser for  email addresses  are  a C/Scheme
rewriting of  the C++ code  in librfc822 1.0,  Copyright (c)
1998-2002 by Peter Simons <simons/computer.org>, distributed
under the terms of the GNU General Public License 2.

You can  use GEE/Email  under the terms  of the  GNU General
Public  License version  2, or  (at your  option)  any later
version.

The module is based on GOOPS.

Examples.   To avoid  spam abuse:  in the  following  '@' is
replaced with 'Q'. This script:

| (define-module (this-one)
|   #:use-module (ice-9 pretty-print)
|   #:use-module (oop goops)
|   #:use-module (gee misc email-1)
|   #:duplicates merge-generics)
|
| (pretty-print
|   (email-address-lexer
|     "\"Peter Simons\" <simonsQrhein.de>"))

outputs:

((quoted-string . "\"Peter Simons\"")
 (character . #\<)
 (atom . "simons")
 (character . #\Q)
 (atom . "rhein")
 (character . #\.)
 (atom . "de")
 (character . #\>))

while this script:

| (define-module (this-one)
|   #:use-module (ice-9 receive)
|   #:use-module (oop goops)
|   #:use-module (gee misc email-1)
|   #:duplicates merge-generics)
|
| (receive (the-address rest)
|     (email-address-parse-address
|      (email-address-lexer ": simonsQrhein.de,
marcoQlocalhost ;,
|        Dylan Dog Mailing List : <marcoQthere>, Deep
Address <Qalpha.de,Qbeta.de:marcoQqui>,
|                 \"Marco Si\" <marcoQsi>;"))
|   (let* ((second-group (cadr (elements the-address)))
|          (group's-phrase (car (elements second-group)))
|          (second-mailbox (caddr (elements second-group)))
|          (second's-phrase (phrase second-mailbox))
|          (route-addresses (route-address second-mailbox))
|          (the-route (route route-addresses))
|          (the-first-in-route (car (elements the-route)))
|          (the-addr-spec (addr-spec route-addresses)))
|     (format #t "Second group:~/~/'~A'~%" second-group)
|     (format #t "Group's phrase:~/~/'~A'~%" group's-phrase)
|     (format #t "Second mailbox:~/~/'~A'~%" second-mailbox)
|     (format #t "Second's phrase:~/'~A'~%" second's-phrase)
|     (format #t "Route address:~/~/'~A'~%" route-addresses)
|     (format #t "The route:~/~/'~A'~%" the-route)
|     (format #t "The first in route:~/'~A'~%"
the-first-in-route)
|     (format #t "The address spec:~/'~A'~%" the-addr-spec)))

outputs:

Second group:           'Dylan Dog Mailing List
:<marcoQthere>, Deep Address <Qalpha.de,Qbeta.de:marcoQqui>,
"Marco Si" <marcoQsi>;'
Group's phrase:         'Dylan Dog Mailing List'
Second mailbox:         'Deep Address
<Qalpha.de,Qbeta.de:marcoQqui>'
Second's phrase:        'Deep Address'
Route address:          '<Qalpha.de,Qbeta.de:marcoQqui>'
The route:              'Qalpha.de,Qbeta.de:'
The first in route:     'alpha.de'
The address spec:       'marcoQqui'


I dunno. Maybe  a full Email section is worth  it if we list
the GNU Mailtools bindings, too.

  <DT><B><A HREF="http://gna.org/projects/gee">GEE/Email</A></B>
  <DD><TABLE>
  <TR><TD><I>description</I></TD>
  <TD>Email processing functions</TD></TR>
  <TR><TD><I>license</I></TD>
  <TD>GNU General Public License version 2, or (at your
      option) any later version.</TD></TR>
  <TR><TD><I>requires</I></TD>
  <TD>Guile 1.8</TD></TR>
  </TABLE><P>

--
Marco Maggi

"Now feel the funk blast!"
Rage Against the Machine - "Calm like a bomb"




_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


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

* Re: [announce] GEE/Email version 0.4b0
  2007-12-08 17:08 [announce] GEE/Email version 0.4b0 Marco Maggi
@ 2007-12-09 17:19 ` Ludovic Courtès
  0 siblings, 0 replies; 2+ messages in thread
From: Ludovic Courtès @ 2007-12-09 17:19 UTC (permalink / raw)
  To: guile-user

Hi,

"Marco Maggi" <marco.maggi-ipsu@poste.it> writes:

> I dunno. Maybe  a full Email section is worth  it if we list
> the GNU Mailtools bindings, too.

I'm not sure whether the Guile bindings in GNU Mailutils work with 1.8
as well (they do work with 1.6).  It'd be great if someone could try and
report.

>   <TR><TD><I>description</I></TD>
>   <TD>Email processing functions</TD></TR>

I added this one and the others, but please try to provide slightly less
terse descriptions.  ;-)

Thanks,
Ludovic.



_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


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

end of thread, other threads:[~2007-12-09 17:19 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-08 17:08 [announce] GEE/Email version 0.4b0 Marco Maggi
2007-12-09 17:19 ` Ludovic Courtès

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).