From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Marco Maggi" Newsgroups: gmane.lisp.guile.user Subject: [announce] GEE/Email version 0.4b0 Date: Sat, 8 Dec 2007 18:08:35 +0100 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1197133799 7628 80.91.229.12 (8 Dec 2007 17:09:59 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 8 Dec 2007 17:09:59 +0000 (UTC) To: "guile-user" Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Sat Dec 08 18:10:05 2007 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1J13Bk-0005Sy-JP for guile-user@m.gmane.org; Sat, 08 Dec 2007 18:10:04 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J13BT-0003pU-D9 for guile-user@m.gmane.org; Sat, 08 Dec 2007 12:09:47 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1J13AN-0002SA-Um for guile-user@gnu.org; Sat, 08 Dec 2007 12:08:40 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1J13AM-0002Qd-PR for guile-user@gnu.org; Sat, 08 Dec 2007 12:08:39 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J13AM-0002QN-C6 for guile-user@gnu.org; Sat, 08 Dec 2007 12:08:38 -0500 Original-Received: from relay-pt1.poste.it ([62.241.4.164]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1J13AL-00052T-N3 for guile-user@gnu.org; Sat, 08 Dec 2007 12:08:38 -0500 Original-Received: from poste.it (192.168.144.185) by relay-pt1.poste.it (7.3.122) (authenticated as marco.maggi-ipsu@poste.it) id 4759ECD600002928 for guile-user@gnu.org; Sat, 8 Dec 2007 18:08:35 +0100 X-Sensitivity: 3 X-XaM3-API-Version: 4.3 (R1) (B3pl19) X-SenderIP: 83.190.104.118 X-detected-kernel: by monty-python.gnu.org: Solaris 9 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:6361 Archived-At: GEE/Email version 0.4b0 is available. 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 , 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\" ")) 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 : , Deep Address , | \"Marco Si\" ;")) | (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 :, Deep Address , "Marco Si" ;' Group's phrase: 'Dylan Dog Mailing List' Second mailbox: 'Deep Address ' Second's phrase: 'Deep Address' Route address: '' 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.
GEE/Email
description Email processing functions
license GNU General Public License version 2, or (at your option) any later version.
requires Guile 1.8

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